From fb10e3cc39375ce54d56811068090c67299cb9e6 Mon Sep 17 00:00:00 2001 From: hyojin kim Date: Mon, 15 Dec 2025 17:45:00 +0900 Subject: [PATCH] =?UTF-8?q?:t-rex:=20=EC=84=A0=EB=B0=95=EC=A0=9C=EC=9B=90?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20core20=20>=20ship=5Fdetail=5Fdata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shipdetail/batch/dto/ShipDetailDto.java | 119 +++++ .../batch/entity/ShipDetailEntity.java | 64 +++ .../processor/ShipDetailDataProcessor.java | 64 +++ .../reader/ShipDetailUpdateDataReader.java | 2 +- .../repository/ShipDetailRepositoryImpl.java | 413 +++++++++++++++--- 5 files changed, 598 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/snp/batch/jobs/shipdetail/batch/dto/ShipDetailDto.java b/src/main/java/com/snp/batch/jobs/shipdetail/batch/dto/ShipDetailDto.java index 2682d7d..159bfa2 100644 --- a/src/main/java/com/snp/batch/jobs/shipdetail/batch/dto/ShipDetailDto.java +++ b/src/main/java/com/snp/batch/jobs/shipdetail/batch/dto/ShipDetailDto.java @@ -176,6 +176,125 @@ public class ShipDetailDto { @JsonProperty("FlagCode") private String flagCode; + + // 소유주 및 등록정보 + @JsonProperty("OfficialNumber") + private String officialnumber; + @JsonProperty("FishingNumber") + private String fishingnumber; + + // 안전 및 인증 + @JsonProperty("ClassNarrative") + private String classnarrative; + + // 선박 건조 + @JsonProperty("AlterationsDescriptiveNarrative") + private String alterationsdescriptivenarrative; + @JsonProperty("ShiptypeGroup") + private String shiptypegroup; + @JsonProperty("ShiptypeLevel3") + private String shiptypelevel3; + @JsonProperty("ShiptypeLevel4") + private String shiptypelevel4; + @JsonProperty("ShiptypeLevel5HullType") + private String shiptypelevel5hulltype; + @JsonProperty("ShiptypeLevel5SubGroup") + private String shiptypelevel5subgroup; + @JsonProperty("ConstructionDescriptiveNarrative") + private String constructiondescriptivenarrative; + @JsonProperty("DateOfBuild") + private String dateofbuild; + @JsonProperty("ShipbuilderFullStyle") + private String shipbuilderfullstyle; + @JsonProperty("YardNumber") + private String yardnumber; + @JsonProperty("ConsumptionSpeed1") + private String consumptionspeed1; // Double + @JsonProperty("ConsumptionValue1") + private String consumptionvalue1; // Double + @JsonProperty("ConsumptionSpeed2") + private String consumptionspeed2; // Double + @JsonProperty("ConsumptionValue2") + private String consumptionvalue2; // Double + @JsonProperty("TotalBunkerCapacity") + private String totalbunkercapacity; // Double + @JsonProperty("BoilerManufacturer") + private String boilermanufacturer; + @JsonProperty("PropellerManufacturer") + private String propellermanufacturer; + + // 치수 및 톤수 + @JsonProperty("LengthRegistered") + private String lengthregistered; // Double + @JsonProperty("BreadthExtreme") + private String breadthextreme; // Double + @JsonProperty("KeelToMastHeight") + private String keeltomastheight; // Double + @JsonProperty("Displacement") + private String displacement; // Double + @JsonProperty("LengthBetweenPerpendicularsLBP") + private String lengthbetweenperpendicularslbp; // Double + @JsonProperty("BulbousBow") + private String bulbousbow; + @JsonProperty("TonnesPerCentimetreImmersionTPCI") + private String tonnespercentimetreimmersiontpci; // Double + @JsonProperty("TonnageEffectiveDate") + private String tonnageeffectivedate; + @JsonProperty("FormulaDWT") + private String formuladwt; // Double + @JsonProperty("NetTonnage") + private String nettonnage; // Integer + @JsonProperty("CompensatedGrossTonnageCGT") + private String compensatedgrosstonnagecgt; // Integer + @JsonProperty("LightDisplacementTonnage") + private String lightdisplacementtonnage; // Integer + + // 화물 및 적재량 + @JsonProperty("GrainCapacity") + private String graincapacity; + @JsonProperty("BaleCapacity") + private String balecapacity; + @JsonProperty("LiquidCapacity") + private String liquidcapacity; + @JsonProperty("GasCapacity") + private String gascapacity; + @JsonProperty("TEUCapacity14THomogenous") + private String teucapacity14thomogenous; + @JsonProperty("InsulatedCapacity") + private String insulatedcapacity; + @JsonProperty("PassengerCapacity") + private String passengercapacity; + @JsonProperty("BollardPull") + private String bollardpull; + @JsonProperty("CargoCapacitiesNarrative") + private String cargocapacitiesnarrative; + @JsonProperty("GearDescriptiveNarrative") + private String geardescriptivenarrative; + @JsonProperty("HoldsDescriptiveNarrative") + private String holdsdescriptivenarrative; + @JsonProperty("HatchesDescriptiveNarrative") + private String hatchesdescriptivenarrative; + @JsonProperty("LanesDoorsRampsNarrative") + private String lanesdoorsrampsnarrative; + @JsonProperty("SpecialistTankerNarrative") + private String specialisttankernarrative; + @JsonProperty("TanksDescriptiveNarrative") + private String tanksdescriptivenarrative; + + // 선박 기관 + @JsonProperty("PrimeMoverDescriptiveNarrative") + private String primemoverdescriptivenarrative; + @JsonProperty("PrimeMoverDescriptiveOverviewNarrative") + private String primemoverdescriptiveoverviewnarrative; + @JsonProperty("AuxiliaryEnginesNarrative") + private String auxiliaryenginesnarrative; + @JsonProperty("AuxiliaryGeneratorsDescriptiveNarrative") + private String auxiliarygeneratorsdescriptivenarrative; + @JsonProperty("BunkersDescriptiveNarrative") + private String bunkersdescriptivenarrative; + + + /** * 소유주 이력 List * API: OwnerHistory diff --git a/src/main/java/com/snp/batch/jobs/shipdetail/batch/entity/ShipDetailEntity.java b/src/main/java/com/snp/batch/jobs/shipdetail/batch/entity/ShipDetailEntity.java index 3695d6b..297c886 100644 --- a/src/main/java/com/snp/batch/jobs/shipdetail/batch/entity/ShipDetailEntity.java +++ b/src/main/java/com/snp/batch/jobs/shipdetail/batch/entity/ShipDetailEntity.java @@ -205,4 +205,68 @@ public class ShipDetailEntity extends BaseEntity { private String operator; private String flagCode; + // 소유주 및 등록정보 + private String officialnumber; + private String fishingnumber; + + // 안전 및 인증 + private String classnarrative; + + // 선박 건조 + private String alterationsdescriptivenarrative; + private String shiptypegroup; + private String shiptypelevel3; + private String shiptypelevel4; + private String shiptypelevel5hulltype; + private String shiptypelevel5subgroup; + private String constructiondescriptivenarrative; + private String dateofbuild; + private String shipbuilderfullstyle; + private String yardnumber; + private String consumptionspeed1; + private String consumptionvalue1; + private String consumptionspeed2; + private String consumptionvalue2; + private String totalbunkercapacity; + private String boilermanufacturer; + private String propellermanufacturer; + + // 치수 및 톤수 + private String lengthregistered; + private String breadthextreme; + private String keeltomastheight; + private String displacement; + private String lengthbetweenperpendicularslbp; + private String bulbousbow; + private String tonnespercentimetreimmersiontpci; + private String tonnageeffectivedate; + private String formuladwt; + private String nettonnage; + private String compensatedgrosstonnagecgt; + private String lightdisplacementtonnage; + + // 화물 및 적재량 + private String graincapacity; + private String balecapacity; + private String liquidcapacity; + private String gascapacity; + private String teucapacity14thomogenous; + private String insulatedcapacity; + private String passengercapacity; + private String bollardpull; + private String cargocapacitiesnarrative; + private String geardescriptivenarrative; + private String holdsdescriptivenarrative; + private String hatchesdescriptivenarrative; + private String lanesdoorsrampsnarrative; + private String specialisttankernarrative; + private String tanksdescriptivenarrative; + + // 선박 기관 + private String primemoverdescriptivenarrative; + private String primemoverdescriptiveoverviewnarrative; + private String auxiliaryenginesnarrative; + private String auxiliarygeneratorsdescriptivenarrative; + private String bunkersdescriptivenarrative; + } diff --git a/src/main/java/com/snp/batch/jobs/shipdetail/batch/processor/ShipDetailDataProcessor.java b/src/main/java/com/snp/batch/jobs/shipdetail/batch/processor/ShipDetailDataProcessor.java index 5756ff4..339b4d2 100644 --- a/src/main/java/com/snp/batch/jobs/shipdetail/batch/processor/ShipDetailDataProcessor.java +++ b/src/main/java/com/snp/batch/jobs/shipdetail/batch/processor/ShipDetailDataProcessor.java @@ -130,6 +130,70 @@ public class ShipDetailDataProcessor extends BaseProcessor