|
|
@@ -188,7 +188,13 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
* @return
|
|
|
*/
|
|
|
public Boolean fill(InttraSoDto inttraSoDto, Bills details, String ediCodeName, JsonNode ediParamCarrier, Boolean mixedCargo){
|
|
|
- inttraSoDto.setBillType(details.getBillType());
|
|
|
+ String bltype = details.getBillType();
|
|
|
+ inttraSoDto.setBillType(bltype);
|
|
|
+ List<Bills> hblBills = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, details.getId()));
|
|
|
+
|
|
|
inttraSoDto.setTransportTermCode(details.getServiceTerms());
|
|
|
inttraSoDto.setLclType("2");
|
|
|
inttraSoDto.setLoadType(details.getLoadType());
|
|
|
@@ -199,6 +205,18 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
inttraSoDto.setVolumeOfGoods(details.getMeasurement());
|
|
|
|
|
|
+ if (ObjectUtils.isNotNull(details.getHpayplace())) {
|
|
|
+ BPorts bPorts = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
+ .eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BPorts::getIsDeleted, 0)
|
|
|
+ .eq(BPorts::getEnName, details.getHpayplace()));
|
|
|
+ if (bPorts != null) {
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
+ inttraSoDto.setHPayPlaceCode(ediCode);
|
|
|
+ inttraSoDto.setHPayPlaceName(bPorts.getEnName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (ObjectUtils.isNotNull(details.getMpayplace())) {
|
|
|
BPorts bPorts = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
.eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -206,10 +224,11 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
.eq(BPorts::getEnName, details.getMpayplace()));
|
|
|
if (bPorts != null) {
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setPaymentLocationCode(ediCode);
|
|
|
- inttraSoDto.setPaymentLand(bPorts.getEnName());
|
|
|
+ inttraSoDto.setMPayPlaceCode(ediCode);
|
|
|
+ inttraSoDto.setMPayPlaceName(bPorts.getEnName());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
if (ObjectUtils.isNotNull(details.getIssueAtId())) {
|
|
|
BPorts bPorts = bPortsService.getById(details.getIssueAtId());
|
|
|
if (bPorts != null) {
|
|
|
@@ -225,16 +244,41 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
}
|
|
|
inttraSoDto.setBookingNo(details.getBookingNo());
|
|
|
inttraSoDto.setMblNo(details.getMblno());
|
|
|
+ if("DD".equals(bltype) || "MM".equals(bltype)){
|
|
|
+ inttraSoDto.setMasterMblNo(details.getMblno());
|
|
|
+ }else{
|
|
|
+ Bills masterBill = billsService.getOne(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getBusinessType, details.getBusinessType())
|
|
|
+ .eq(Bills::getId, details.getMasterId()));
|
|
|
+ if(masterBill != null){
|
|
|
+ inttraSoDto.setMasterMblNo(masterBill.getMblno());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
inttraSoDto.setHblNo(details.getHblno());
|
|
|
inttraSoDto.setCorpArgreementNo(details.getCorpArgreementNo());
|
|
|
inttraSoDto.setCarrierArgreementNo(details.getCarrierArgreementNo());
|
|
|
- inttraSoDto.setLineId(details.getLineId());
|
|
|
- inttraSoDto.setLineEnName(details.getLineEnName());
|
|
|
+ inttraSoDto.setLineId(0L);
|
|
|
+ inttraSoDto.setLineCode("");
|
|
|
+ inttraSoDto.setLineEnName("");
|
|
|
+ if(ObjectUtils.isNotNull(details.getLineId())) {
|
|
|
+ inttraSoDto.setLineId(details.getLineId());
|
|
|
+ BLines bLines = bLinesService.getOne(new LambdaQueryWrapper<BLines>()
|
|
|
+ .eq(BLines::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BLines::getIsDeleted, 0)
|
|
|
+ .eq(BLines::getId, details.getLineId()));
|
|
|
+ if (bLines != null) {
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bLines.getExtendedData());
|
|
|
+ inttraSoDto.setLineCode(ediCode.isEmpty() ? bLines.getCode() : ediCode);
|
|
|
+ inttraSoDto.setHPayPlaceName(bLines.getEnName());
|
|
|
+ }
|
|
|
+ }
|
|
|
inttraSoDto.setPilHBL(details.getPilHbl());
|
|
|
inttraSoDto.setMainPinyin("");
|
|
|
- inttraSoDto.setOrderNo(details.getBookingNo());
|
|
|
- inttraSoDto.setJobId(details.getBookingNo());
|
|
|
- inttraSoDto.setPaymentType(details.getMpaymode());
|
|
|
+ inttraSoDto.setHPayMode(details.getHpaymode());
|
|
|
+ inttraSoDto.setMPayMode(details.getMpaymode());
|
|
|
inttraSoDto.setVesselId(details.getVesselId());
|
|
|
inttraSoDto.setVesselName(details.getVesselEnName());
|
|
|
inttraSoDto.setVesselCode("");
|
|
|
@@ -261,70 +305,78 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
inttraSoDto.setEta(sdf3.format(details.getEta()));
|
|
|
}
|
|
|
|
|
|
- inttraSoDto.setPolName(details.getPolEnName());
|
|
|
+ inttraSoDto.setPolCode("");
|
|
|
+ inttraSoDto.setPolName(RegularUtils.forceEmpty(details.getPolEnName()));
|
|
|
if (ObjectUtils.isNotNull(details.getPolId())) {
|
|
|
BPorts bPorts = bPortsService.getById(details.getPolId());
|
|
|
if (bPorts != null) {
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
inttraSoDto.setPolCode(ediCode);
|
|
|
if (ObjectUtils.isNull(inttraSoDto.getPolName())) {
|
|
|
- inttraSoDto.setPolName(bPorts.getEnName());
|
|
|
+ inttraSoDto.setPolName(RegularUtils.forceEmpty(bPorts.getEnName()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- inttraSoDto.setPlaceReceiptName(details.getPlaceReceiptName());
|
|
|
+ inttraSoDto.setPlaceReceiptCode("");
|
|
|
+ inttraSoDto.setPlaceReceiptName(RegularUtils.forceEmpty(details.getPlaceReceiptName()));
|
|
|
if (ObjectUtils.isNotNull(details.getPlaceReceiptId())) {
|
|
|
BPorts bPorts = bPortsService.getById(details.getPlaceReceiptId());
|
|
|
if (bPorts != null) {
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
inttraSoDto.setPlaceReceiptCode(ediCode);
|
|
|
if (ObjectUtils.isNull(inttraSoDto.getPlaceReceiptName())) {
|
|
|
- inttraSoDto.setPlaceReceiptName(bPorts.getEnName());
|
|
|
+ inttraSoDto.setPlaceReceiptName(RegularUtils.forceEmpty(bPorts.getEnName()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- inttraSoDto.setPodName(details.getPodEnName());
|
|
|
+ inttraSoDto.setPodCode("");
|
|
|
+ inttraSoDto.setPodName(RegularUtils.forceEmpty(details.getPodEnName()));
|
|
|
if (ObjectUtils.isNotNull(details.getPodId())) {
|
|
|
BPorts bPorts = bPortsService.getById(details.getPodId());
|
|
|
if (bPorts != null) {
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
inttraSoDto.setPodCode(ediCode);
|
|
|
if (ObjectUtils.isNull(inttraSoDto.getPodName())) {
|
|
|
- inttraSoDto.setPodName(bPorts.getEnName());
|
|
|
+ inttraSoDto.setPodName(RegularUtils.forceEmpty(bPorts.getEnName()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- inttraSoDto.setPotName(details.getPotEnName());
|
|
|
+ inttraSoDto.setPotCode("");
|
|
|
+ inttraSoDto.setPotName(RegularUtils.forceEmpty(details.getPotEnName()));
|
|
|
if (ObjectUtils.isNotNull(details.getPotId())) {
|
|
|
BPorts bPorts = bPortsService.getById(details.getPotId());
|
|
|
if (bPorts != null) {
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
inttraSoDto.setPotCode(ediCode);
|
|
|
if (ObjectUtils.isNull(inttraSoDto.getPotName())) {
|
|
|
- inttraSoDto.setPotName(bPorts.getEnName());
|
|
|
+ inttraSoDto.setPotName(RegularUtils.forceEmpty(bPorts.getEnName()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- inttraSoDto.setPlaceDeliveryName(details.getPlaceDeliveryName());
|
|
|
+
|
|
|
+ inttraSoDto.setPlaceDeliveryCode("");
|
|
|
+ inttraSoDto.setPlaceDeliveryName(RegularUtils.forceEmpty(details.getPlaceDeliveryName()));
|
|
|
if (ObjectUtils.isNotNull(details.getPlaceDeliveryId())) {
|
|
|
BPorts bPorts = bPortsService.getById(details.getPlaceDeliveryId());
|
|
|
if (bPorts != null) {
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
inttraSoDto.setPlaceDeliveryCode(ediCode);
|
|
|
if (ObjectUtils.isNull(inttraSoDto.getPlaceDeliveryName())) {
|
|
|
- inttraSoDto.setPlaceDeliveryName(bPorts.getEnName());
|
|
|
+ inttraSoDto.setPlaceDeliveryName(RegularUtils.forceEmpty(bPorts.getEnName()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- inttraSoDto.setPlaceDestinationName(details.getDestinationName());
|
|
|
+
|
|
|
+ inttraSoDto.setPlaceDestinationCode("");
|
|
|
+ inttraSoDto.setPlaceDestinationName(RegularUtils.forceEmpty(details.getDestinationName()));
|
|
|
if (ObjectUtils.isNotNull(details.getDestinationId())) {
|
|
|
BPorts bPorts = bPortsService.getById(details.getDestinationId());
|
|
|
if (bPorts != null) {
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
inttraSoDto.setPlaceDestinationCode(ediCode);
|
|
|
if (ObjectUtils.isNull(inttraSoDto.getPlaceDestinationName())) {
|
|
|
- inttraSoDto.setPlaceDestinationName(bPorts.getEnName());
|
|
|
+ inttraSoDto.setPlaceDestinationName(RegularUtils.forceEmpty(bPorts.getEnName()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -366,15 +418,6 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
inttraSoDto.setInttraDoorToAddr(details.getInttraDoorToCorpAddr());
|
|
|
inttraSoDto.setInttraDoorToContacts(details.getInttraDoorToCorpContacts());
|
|
|
inttraSoDto.setInttraDoorToTel(details.getInttraDoorToCorpTel());
|
|
|
- String defaultForwardCode = "JET MARINE";
|
|
|
- inttraSoDto.setFreightForwarderCode(readEdiParamStringValue(ediParamCarrier, "forwarderCode", defaultForwardCode));
|
|
|
- inttraSoDto.setFreightForwarderName(details.getForwarding());
|
|
|
- String defaultSenderCode = "JMSLOGQINGDAO";
|
|
|
- inttraSoDto.setSenderCode(readEdiParamStringValue(ediParamCarrier, "senderCode", defaultSenderCode));
|
|
|
- inttraSoDto.setSenderName(readEdiParamStringValue(ediParamCarrier, "senderName", "JMS"));
|
|
|
- inttraSoDto.setSenderContacts(readEdiParamStringValue(ediParamCarrier, "senderContacts", "Yuki Cai"));
|
|
|
- inttraSoDto.setSenderTel(readEdiParamStringValue(ediParamCarrier, "senderTel", ""));
|
|
|
- inttraSoDto.setSenderEmail(readEdiParamStringValue(ediParamCarrier, "senderEmail", "cma-seataocn@jms-logistics.com"));
|
|
|
inttraSoDto.setIssueType(details.getIssueType());
|
|
|
if ("EXP".equals(details.getIssueType())) {
|
|
|
// SEA WAY BILL
|
|
|
@@ -384,11 +427,16 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
inttraSoDto.setBillLadingType("706");
|
|
|
}
|
|
|
if (details.getStlCrStatus() >= 3 || details.getStlDrStatus() >= 3) {
|
|
|
- inttraSoDto.setPaymentStatus("27");
|
|
|
+ // inttraSoDto.setPaymentStatus("27");
|
|
|
+ // 26 Document not freighted
|
|
|
+ // 27 Document freighted
|
|
|
+ // default 26
|
|
|
+ inttraSoDto.setPaymentStatus("26");
|
|
|
} else {
|
|
|
inttraSoDto.setPaymentStatus("26");
|
|
|
}
|
|
|
inttraSoDto.setBillLadingNumber(RegularUtils.englishToNumber(details.getNumberOfObl()));
|
|
|
+ inttraSoDto.setBillLadingNumberOfCopy(RegularUtils.englishToNumber(details.getNumberOfCopy()));
|
|
|
inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
if (ObjectUtils.isNotNull(details.getPackingUnit())) {
|
|
|
BPackages bPackages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
|
|
|
@@ -412,7 +460,7 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
inttraSoDto.setDgUnCode(details.getDgUnCode());
|
|
|
inttraSoDto.setDgFlashPoint(details.getDgFlashPoint().toString());
|
|
|
inttraSoDto.setDgFlashPointUnit(details.getDgFlashPointUnit());
|
|
|
- inttraSoDto.setPackingGroup(details.getDgPackingLevel());//包装组别
|
|
|
+ inttraSoDto.setDgPackingLevel(details.getDgPackingLevel());//包装组别
|
|
|
inttraSoDto.setEmergencyMeasureNo("");//应急措施号
|
|
|
inttraSoDto.setDgRemarks(details.getDgRemarks());
|
|
|
inttraSoDto.setDgContacts(details.getDgContacts());
|
|
|
@@ -466,9 +514,11 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
}
|
|
|
inttraSoDto.setTotalPreCntrQty(totalPreCntrQty);
|
|
|
inttraSoDto.setPreCntrs(preCntrs);
|
|
|
+ inttraSoDto.setMixedCargo(mixedCargo);
|
|
|
|
|
|
// 已配箱
|
|
|
// 配箱数据
|
|
|
+ int mixedCargoCount = 0;
|
|
|
List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
.eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(Containers::getIsDeleted, 0)
|
|
|
@@ -491,6 +541,7 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
.eq(ContainersCommodity::getPid, item.getId())
|
|
|
.eq(ContainersCommodity::getPpId, item.getPid()))
|
|
|
);
|
|
|
+ mixedCargoCount += ObjectUtils.isNotNull(item.getContainersCommodityList()) ? item.getContainersCommodityList().size() : 0;
|
|
|
}
|
|
|
|
|
|
String ediCode = RegularUtils.getEdiCode(ediCodeName, bCntrTypes.getExtendedData());
|
|
|
@@ -548,6 +599,7 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
}
|
|
|
}
|
|
|
inttraSoDto.setLoadedCntrs(cntrs);
|
|
|
+ inttraSoDto.setHasMixedCargo(mixedCargoCount>0);
|
|
|
|
|
|
inttraSoDto.setAMSProp("");
|
|
|
inttraSoDto.setACIProp("");
|
|
|
@@ -562,7 +614,6 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
|
|
|
inttraSoDto.setRecordRows(new BigDecimal("10"));
|
|
|
inttraSoDto.setInformationNoEnd(inttraSoDto.getInformationNo());
|
|
|
- inttraSoDto.setFileExchangeNumberEnd(inttraSoDto.getFileExchangeNumber());
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
@@ -597,6 +648,7 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
// 统一设置数据,单独生成 EDI
|
|
|
InttraSoDto inttraSoDto = new InttraSoDto();
|
|
|
inttraSoDto.setEdiTypes(ediTypes);
|
|
|
+ inttraSoDto.setAlreadySend(false);
|
|
|
|
|
|
String carrierCode = "";
|
|
|
|
|
|
@@ -606,8 +658,8 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
if (bCorps != null) {
|
|
|
inttraSoDto.setCarrierCode(bCorps.getInttraCode());
|
|
|
inttraSoDto.setContactInformation(bCorps.getInttraIcua());
|
|
|
- inttraSoDto.setContacts(bCorps.getInttraIcuaAttn());
|
|
|
- inttraSoDto.setAttnEmail(bCorps.getInttraIcuaEmail());
|
|
|
+ inttraSoDto.setInttraUCAContacts(bCorps.getInttraIcuaAttn());
|
|
|
+ inttraSoDto.setInttraUCAEmail(bCorps.getInttraIcuaEmail());
|
|
|
carrierCode = bCorps.getInttraCode();
|
|
|
}
|
|
|
}
|
|
|
@@ -626,12 +678,29 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
String EDI_CODE_NAME = readEdiParamStringValue(ediParamCarrier, "ediCode", "INTTRA");
|
|
|
Boolean INCLUDING_HBL = readEdiParamBooleanValue(ediParamCarrier, "includingHBL", false);
|
|
|
|
|
|
+ Boolean CHECK_ALREADY_SEND = readEdiParamBooleanValue(ediParamCarrier, "checkAlreadySend", false);
|
|
|
+
|
|
|
String billType = details.getBillType();
|
|
|
Boolean isMasterBill = "DD".equals(billType) || "MM".equals(billType);
|
|
|
// 检测是否允许发送分单
|
|
|
if(!isMasterBill && !readEdiParamBooleanValue(ediParamCarrier, "allowHBL", true)){
|
|
|
return R.fail("该 EDI 不允许发送分单,请发送主单!");
|
|
|
}
|
|
|
+ if(CHECK_ALREADY_SEND){
|
|
|
+ FilesCenter fc = filesCenterService.getOne(new LambdaQueryWrapper<FilesCenter>()
|
|
|
+ .eq(FilesCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FilesCenter::getBranchId, details.getBranchId())
|
|
|
+ .eq(FilesCenter::getPid, details.getId())
|
|
|
+ .eq(FilesCenter::getBusinessType, details.getBusinessType())
|
|
|
+ .eq(FilesCenter::getClassifyCode, "edi")
|
|
|
+ .eq(FilesCenter::getGroupCode, ediTypes.getCode())
|
|
|
+ .eq(FilesCenter::getSendStatus, 1)
|
|
|
+ .eq(FilesCenter::getIsDeleted, 0)
|
|
|
+ );
|
|
|
+ if(fc!=null){
|
|
|
+ inttraSoDto.setAlreadySend(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// List<Bills> allBillsList = Arrays.asList(details);
|
|
|
List<Bills> hblBillsList = new ArrayList<>();
|
|
|
@@ -646,8 +715,20 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
}
|
|
|
|
|
|
// 默认发送方
|
|
|
- String defaultSenderIdentifying = "JMSLOGQDSO";
|
|
|
- inttraSoDto.setSenderIdentifying(readEdiParamStringValue(ediParamCarrier, "senderId", defaultSenderIdentifying));
|
|
|
+ String defaultSenderId = "JMSLOGQDSO";
|
|
|
+ inttraSoDto.setSenderId(readEdiParamStringValue(ediParamCarrier, "senderId", defaultSenderId));
|
|
|
+
|
|
|
+ String defaultSenderCode = "JMSLOGQINGDAO";
|
|
|
+ inttraSoDto.setSenderCode(readEdiParamStringValue(ediParamCarrier, "senderCode", defaultSenderCode));
|
|
|
+ inttraSoDto.setSenderName(readEdiParamStringValue(ediParamCarrier, "senderName", "JMS"));
|
|
|
+ inttraSoDto.setSenderContacts(readEdiParamStringValue(ediParamCarrier, "senderContacts", "Yuki Cai"));
|
|
|
+ inttraSoDto.setSenderTel(readEdiParamStringValue(ediParamCarrier, "senderTel", ""));
|
|
|
+ inttraSoDto.setSenderEmail(readEdiParamStringValue(ediParamCarrier, "senderEmail", "cma-seataocn@jms-logistics.com"));
|
|
|
+
|
|
|
+ String defaultForwardCode = "JET MARINE";
|
|
|
+ inttraSoDto.setForwarderCode(readEdiParamStringValue(ediParamCarrier, "forwarderCode", defaultForwardCode));
|
|
|
+ inttraSoDto.setForwarderName(readEdiParamStringValue(ediParamCarrier, "forwarderName", "QINGDAO JET MERINE LOGISTICS CO.,+LTD."));
|
|
|
+ inttraSoDto.setHForwarderName(details.getForwarding());
|
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat(readEdiParamStringValue(ediParamCarrier, "messageDate-format", "yyMMdd:HHmm"));
|
|
|
inttraSoDto.setMessageDate(sdf.format(date));
|
|
|
@@ -655,11 +736,21 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
String corpId = details.getCorpId().toString();
|
|
|
inttraSoDto.setFileExchangeNumber(sdf1.format(date) + corpId.substring(corpId.length() - 4));
|
|
|
inttraSoDto.setInformationNo(inttraSoDto.getFileExchangeNumber());
|
|
|
- if (ObjectUtils.isNotNull(details.getMblno())){
|
|
|
- inttraSoDto.setIdentificationCode(details.getMblno());
|
|
|
+
|
|
|
+ String mblNo = ObjectUtils.isNotNull(details.getMblno()) ? details.getMblno() : "";
|
|
|
+ String bookingNo = ObjectUtils.isNotNull(details.getBookingNo()) ? details.getBookingNo() : "";
|
|
|
+ if("CMDU".equals(carrierCode)){
|
|
|
+ inttraSoDto.setIdentificationCode((mblNo.isEmpty() ? bookingNo : mblNo) + "FB");
|
|
|
+ }else
|
|
|
+ if("HLCU".equals(carrierCode)){
|
|
|
+ inttraSoDto.setIdentificationCode(bookingNo + "SO");
|
|
|
+ }else
|
|
|
+ if("MAEU".equals(carrierCode)){
|
|
|
+ inttraSoDto.setIdentificationCode(mblNo + "FB");
|
|
|
}else{
|
|
|
- inttraSoDto.setIdentificationCode(details.getBookingNo());
|
|
|
+ inttraSoDto.setIdentificationCode((mblNo.isEmpty() ? bookingNo : mblNo) + "FB");
|
|
|
}
|
|
|
+
|
|
|
if (ObjectUtils.isNotNull(details.getEdiStatus()) && Integer.parseInt(details.getEdiStatus()) > 0) {
|
|
|
// 默认 9
|
|
|
inttraSoDto.setFilesFunction("9");
|
|
|
@@ -678,6 +769,9 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
for (Bills bill : hblBillsList) {
|
|
|
InttraSoDto dto = new InttraSoDto();
|
|
|
fill(dto, bill, EDI_CODE_NAME, ediParamCarrier, mixedCargo);
|
|
|
+ if(!inttraSoDto.getHasMixedCargo()){
|
|
|
+ inttraSoDto.setHasMixedCargo(dto.getHasMixedCargo());
|
|
|
+ }
|
|
|
hbls.add(dto);
|
|
|
}
|
|
|
inttraSoDto.setHblBillsList(hbls);
|
|
|
@@ -835,6 +929,26 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
return R.fail(e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
+ }else
|
|
|
+ if(inttraSoDto.ediTypeIsHYCK_SML_BOOKING()) {
|
|
|
+ status = Regular_SML.notNullEDIData_Booking(inttraSoDto, "SO");
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ filesCenter = iediSenderService.sendingSmlBooking(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else
|
|
|
+ if(inttraSoDto.ediTypeIsHYCK_ESL_BOOKING()) {
|
|
|
+ status = Regular_ESL.notNullEDIData_Booking(inttraSoDto, "SO");
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ filesCenter = iediSenderService.sendingEslBooking(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
}else{
|
|
|
return R.fail("EDI 未实现!");
|
|
|
}
|
|
|
@@ -844,6 +958,7 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
status.replace("data", status.get("data") + "\r\n,文件未生成!");
|
|
|
}
|
|
|
|
|
|
+ // 200 or 400?
|
|
|
if ("200".equals(status.get("code").toString())) {
|
|
|
//发送edi记录
|
|
|
EdiLog ediLog = new EdiLog();
|
|
|
@@ -864,9 +979,6 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
ediLogService.save(ediLog);
|
|
|
|
|
|
//发送edi文件
|
|
|
- filesCenter.setMblno(details.getMblno());
|
|
|
- filesCenter.setHblno(details.getHblno());
|
|
|
- filesCenter.setBillNo(details.getBillNo());
|
|
|
filesCenter.setBranchId(details.getBranchId());
|
|
|
filesCenter.setCreateDept(details.getCreateDept());
|
|
|
filesCenter.setCreateTime(details.getCreateTime());
|
|
|
@@ -875,12 +987,23 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
filesCenter.setCreateUserName(details.getCreateUserName());
|
|
|
filesCenter.setPid(details.getId());
|
|
|
filesCenter.setItemId(ediLog.getId());
|
|
|
+ filesCenter.setMblno(details.getMblno());
|
|
|
+ filesCenter.setHblno(details.getHblno());
|
|
|
+ filesCenter.setBillNo(details.getBillNo());
|
|
|
filesCenter.setBusinessType(details.getBusinessType());
|
|
|
filesCenter.setClassifyCode("edi");
|
|
|
filesCenter.setGroupCode(ediTypes.getCode());
|
|
|
filesCenter.setSerialNo(1);
|
|
|
filesCenter.setSort(1);
|
|
|
filesCenter.setReceivedData(new Date());
|
|
|
+
|
|
|
+ filesCenter.setSendStatus(1);
|
|
|
+ filesCenter.setSendType(status.getOrDefault("sendType", "").toString());
|
|
|
+ filesCenter.setSendTime(new Date());
|
|
|
+ filesCenter.setSendCount(1);
|
|
|
+ filesCenter.setReceiverName(status.getOrDefault("receiverName", "").toString());
|
|
|
+ filesCenter.setReceiverAddress(status.getOrDefault("receiverAddress", "").toString());
|
|
|
+
|
|
|
filesCenter.setIsImage(0);
|
|
|
filesCenter.setTenantId(AuthUtil.getTenantId());
|
|
|
filesCenterList.add(filesCenter);
|