|
|
@@ -21,6 +21,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
+import com.sun.org.apache.xpath.internal.operations.Bool;
|
|
|
+import com.zaxxer.hikari.util.FastList;
|
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
@@ -66,6 +68,8 @@ import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
+
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
/**
|
|
|
@@ -176,6 +180,308 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 统一赋值函数
|
|
|
+ * @param inttraSoDto
|
|
|
+ * @param details
|
|
|
+ * @param ediCodeName
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean fill(InttraSoDto inttraSoDto, Bills details, String ediCodeName, JsonNode ediParamCarrier, Boolean mixedCargo){
|
|
|
+ inttraSoDto.setTransportTermCode(details.getServiceTerms());
|
|
|
+ inttraSoDto.setLclType("2");
|
|
|
+ inttraSoDto.setLoadType(details.getLoadType());
|
|
|
+ inttraSoDto.setBookingRemarks(details.getBookingRemarks());
|
|
|
+ inttraSoDto.setSiRemarks(details.getSiRemarks());
|
|
|
+ inttraSoDto.setCarrySingleRemarks(details.getRemarks());
|
|
|
+ inttraSoDto.setWeightOfGoods(details.getGrossWeight().toString());
|
|
|
+ inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
+ inttraSoDto.setVolumeOfGoods(details.getMeasurement());
|
|
|
+
|
|
|
+ if (ObjectUtils.isNotNull(details.getMpayplace())) {
|
|
|
+ BPorts bPorts = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
+ .eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BPorts::getIsDeleted, 0)
|
|
|
+ .eq(BPorts::getEnName, details.getMpayplace()));
|
|
|
+ if (bPorts != null) {
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
+ inttraSoDto.setPaymentLocationCode(ediCode);
|
|
|
+ inttraSoDto.setPaymentLand(bPorts.getEnName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(details.getIssueAtId())) {
|
|
|
+ BPorts bPorts = bPortsService.getById(details.getIssueAtId());
|
|
|
+ if (bPorts != null) {
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bPorts.getExtendedData());
|
|
|
+ inttraSoDto.setIssuanceLandCode(ediCode);
|
|
|
+ inttraSoDto.setIssuanceLand(bPorts.getEnName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ SimpleDateFormat sdf2 = new SimpleDateFormat(readEdiParamStringValue(ediParamCarrier, "issueDate-format", "yyyyMMdd"));
|
|
|
+ if (ObjectUtils.isNotNull(details.getIssueDate())) {
|
|
|
+ inttraSoDto.setIssueDate(sdf2.format(details.getIssueDate()));
|
|
|
+ }
|
|
|
+ inttraSoDto.setBookingNo(details.getBookingNo());
|
|
|
+ inttraSoDto.setMblNo(details.getMblno());
|
|
|
+ inttraSoDto.setHblNo(details.getHblno());
|
|
|
+ inttraSoDto.setCorpArgreementNo(details.getCorpArgreementNo());
|
|
|
+ inttraSoDto.setMainPinyin("");
|
|
|
+ inttraSoDto.setOrderNo(details.getBookingNo());
|
|
|
+ inttraSoDto.setJobId(details.getBookingNo());
|
|
|
+ inttraSoDto.setPaymentType(details.getMpaymode());
|
|
|
+ inttraSoDto.setVesselId(details.getVesselId());
|
|
|
+ inttraSoDto.setVesselName(details.getVesselEnName());
|
|
|
+ inttraSoDto.setVesselCode("");
|
|
|
+ inttraSoDto.setVoyageNo(details.getVoyageNo());
|
|
|
+
|
|
|
+ if (ObjectUtils.isNotNull(details.getVesselId())) {
|
|
|
+ BVessels bVessels = bVesselsService.getById(details.getVesselId());
|
|
|
+ if (bVessels != null) {
|
|
|
+ // 要获取船名代码
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bVessels.getExtendedData());
|
|
|
+ inttraSoDto.setVesselCode(ediCode);
|
|
|
+
|
|
|
+ BCorps bCorps = bCorpsService.getById(bVessels.getCarrierId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ inttraSoDto.setVesselCarrierCode(bCorps.getInttraCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ SimpleDateFormat sdf3 = new SimpleDateFormat(readEdiParamStringValue(ediParamCarrier, "etd-format", "yyyyMMdd"));
|
|
|
+ if (ObjectUtils.isNotNull(details.getEtd())) {
|
|
|
+ inttraSoDto.setEtd(sdf3.format(details.getEtd()));
|
|
|
+ }
|
|
|
+
|
|
|
+ inttraSoDto.setPolName(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.setPlaceReceiptName(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.setPodName(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.setPlaceDeliveryName(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.setPlaceDestinationName(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.setHShipper(details.getHshipperDetails());
|
|
|
+ inttraSoDto.setHConsignee(details.getHconsigneeDetails());
|
|
|
+ inttraSoDto.setHNotify(details.getHnotifyDetails());
|
|
|
+ inttraSoDto.setHNotify2(details.getHnotify2Details());
|
|
|
+
|
|
|
+ inttraSoDto.setCyId(details.getCyId());
|
|
|
+ inttraSoDto.setCyCode(details.getCyCode());
|
|
|
+ inttraSoDto.setCyCnName(details.getCyCnName());
|
|
|
+ inttraSoDto.setCyEnName(details.getCyEnName());
|
|
|
+ // 场站代码就是3字码
|
|
|
+// if (ObjectUtils.isNotNull(details.getCyId())) {
|
|
|
+// BCorps bCorps = bCorpsService.getById(details.getCyId());
|
|
|
+// if (bCorps != null) {
|
|
|
+// inttraSoDto.setCyCode(bCorps.getInttraCode());
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+ inttraSoDto.setInttraToDoorName(details.getInttraToDoorCorpName());
|
|
|
+ inttraSoDto.setInttraToDoorAddr(details.getInttraToDoorCorpAddr());
|
|
|
+ inttraSoDto.setInttraToDoorContacts(details.getInttraToDoorCorpContacts());
|
|
|
+ inttraSoDto.setInttraToDoorTel(details.getInttraToDoorCorpTel());
|
|
|
+ inttraSoDto.setInttraDoorToName(details.getInttraDoorToCorpName());
|
|
|
+ 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 ("SEA WAY BILL".equals(details.getIssueType())) {
|
|
|
+ inttraSoDto.setBillLadingType("710");
|
|
|
+ } else {
|
|
|
+ inttraSoDto.setBillLadingType("706");
|
|
|
+ }
|
|
|
+ if (details.getStlCrStatus() >= 3 || details.getStlDrStatus() >= 3) {
|
|
|
+ inttraSoDto.setPaymentStatus("27");
|
|
|
+ } else {
|
|
|
+ inttraSoDto.setPaymentStatus("26");
|
|
|
+ }
|
|
|
+ inttraSoDto.setBillLadingNumber(RegularUtils.englishToNumber(details.getNumberOfObl()));
|
|
|
+ inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
+ if (ObjectUtils.isNotNull(details.getPackingUnit())) {
|
|
|
+ BPackages bPackages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
|
|
|
+ .eq(BPackages::getCode, details.getPackingUnit()));
|
|
|
+ if (bPackages != null) {
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bPackages.getExtendedData());
|
|
|
+ inttraSoDto.setPackagesCode(ediCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ inttraSoDto.setPackagesDescribe(details.getPackingUnit());//包装描述
|
|
|
+ inttraSoDto.setGoodsDesc(details.getCommodityDescr());
|
|
|
+ inttraSoDto.setGrossWeight(details.getGrossWeight());
|
|
|
+ inttraSoDto.setMeasurement(details.getMeasurement());
|
|
|
+ inttraSoDto.setMarks(details.getMarks());
|
|
|
+ inttraSoDto.setHsCode(details.getHscode());
|
|
|
+ inttraSoDto.setCargoType(details.getCargoType());
|
|
|
+ if ("danger".equals(details.getCargoType())) {
|
|
|
+ inttraSoDto.setDgImdgCode(details.getDgImdgCode());
|
|
|
+ inttraSoDto.setPageNumber("");
|
|
|
+ inttraSoDto.setDgUnCode(details.getDgUnCode());
|
|
|
+ inttraSoDto.setDgFlashPoint(details.getDgFlashPoint().toString());
|
|
|
+ inttraSoDto.setDgFlashPointUnit(details.getDgFlashPointUnit());
|
|
|
+ inttraSoDto.setPackingGroup(details.getDgPackingLevel());//包装组别
|
|
|
+ inttraSoDto.setEmergencyMeasureNo("");//应急措施号
|
|
|
+ inttraSoDto.setDgRemarks(details.getDgRemarks());
|
|
|
+ inttraSoDto.setDgContacts(details.getDgContacts());
|
|
|
+ inttraSoDto.setDgTel(details.getDgTel());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 预配箱
|
|
|
+ List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getPid, details.getId())
|
|
|
+ .eq(PreContainers::getIsDeleted, 0));
|
|
|
+ String boxType = preContainersList.stream().map(PreContainers::getCntrTypeCode).collect(Collectors.joining(","));
|
|
|
+ List<BCntrTypes> bPreCntrTypesList = bCntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
|
|
|
+ .apply("find_in_set(cntr_type,'" + boxType + "')")
|
|
|
+ .eq(BCntrTypes::getIsDeleted, 0));
|
|
|
+ List<Map<String, Object>> preCntrs = new ArrayList<>();
|
|
|
+ int totalPreCntrQty = 0;
|
|
|
+ for (PreContainers item : preContainersList) {
|
|
|
+ totalPreCntrQty+=item.getQuantity();
|
|
|
+ BCntrTypes bCntrTypes = bPreCntrTypesList.stream().filter(e -> e.getCntrType().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
+ if (bCntrTypes != null) {
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bCntrTypes.getExtendedData());
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("sizeType", ediCode);
|
|
|
+ map.put("cntrQty", item.getQuantity());
|
|
|
+ map.put("isSoc", item.getIsSoc());
|
|
|
+ map.put("temperature", RegularUtils.formatTempNumber(item.getTemperature(), 3));
|
|
|
+ map.put("temperatureUnit", item.getTemperatureUnit());
|
|
|
+ map.put("ventilation", RegularUtils.formatTempNumber(item.getVentilation(), 3));
|
|
|
+ map.put("humidity", RegularUtils.formatTempNumber(item.getHumidity(), 3));
|
|
|
+ preCntrs.add(map);
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("箱型数据错误");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ inttraSoDto.setTotalPreCntrQty(totalPreCntrQty);
|
|
|
+ inttraSoDto.setPreCntrs(preCntrs);
|
|
|
+
|
|
|
+ // 已配箱
|
|
|
+ // 配箱数据
|
|
|
+ List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
+ .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getIsDeleted, 0)
|
|
|
+ .eq(Containers::getPid, details.getId()));
|
|
|
+
|
|
|
+ boxType = containersList.stream().map(Containers::getCntrTypeCode).collect(Collectors.joining(","));
|
|
|
+ List<BCntrTypes> bCntrTypesList = bCntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
|
|
|
+ .apply("find_in_set(cntr_type,'" + boxType + "')")
|
|
|
+ .eq(BCntrTypes::getIsDeleted, 0));
|
|
|
+ List<Map<String, Object>> cntrs = new ArrayList<>();
|
|
|
+ for (Containers item : containersList) {
|
|
|
+ BCntrTypes bCntrTypes = bCntrTypesList.stream().filter(e -> e.getCntrType().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
+ if (bCntrTypes != null) {
|
|
|
+ // 赫伯罗特需要装箱货物
|
|
|
+ // if("HLCU".equals(carrierCode)) {
|
|
|
+ if(mixedCargo){
|
|
|
+ item.setContainersCommodityList(containersCommodityService.list(new LambdaQueryWrapper<ContainersCommodity>()
|
|
|
+ .eq(ContainersCommodity::getIsDeleted, 0)
|
|
|
+ .eq(ContainersCommodity::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(ContainersCommodity::getPid, item.getId())
|
|
|
+ .eq(ContainersCommodity::getPpId, item.getPid()))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ String ediCode = RegularUtils.getEdiCode(ediCodeName, bCntrTypes.getExtendedData());
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("quantity", item.getQuantity());
|
|
|
+ map.put("grossWeight", item.getGrossWeight());
|
|
|
+ map.put("volume", item.getMeasurement());
|
|
|
+ map.put("sizeType", ediCode);
|
|
|
+ map.put("cntrTypeName", bCntrTypes.getEnName());
|
|
|
+ map.put("cntrNo", item.getCntrNo());
|
|
|
+ map.put("sealNo", item.getSealNo());
|
|
|
+ map.put("sealUnit", "");
|
|
|
+ map.put("isSoc", item.getIsSoc());
|
|
|
+ PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
+ if (preContainers != null) {
|
|
|
+ map.put("temperature", RegularUtils.formatTempNumber(preContainers.getTemperature(), 3));
|
|
|
+ map.put("temperatureUnit", preContainers.getTemperatureUnit());
|
|
|
+ map.put("ventilation", RegularUtils.formatTempNumber(preContainers.getVentilation(), 3));
|
|
|
+ map.put("humidity", RegularUtils.formatTempNumber(preContainers.getHumidity(), 3));
|
|
|
+ }else{
|
|
|
+ map.put("temperature", "");
|
|
|
+ map.put("temperatureUnit", "");
|
|
|
+ map.put("ventilation", "");
|
|
|
+ map.put("humidity", "");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 货物信息
|
|
|
+ map.put("commodityList", item.getContainersCommodityList());
|
|
|
+
|
|
|
+ cntrs.add(map);
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("箱型数据错误");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ inttraSoDto.setLoadedCntrs(cntrs);
|
|
|
+
|
|
|
+ inttraSoDto.setRecordRows(new BigDecimal("10"));
|
|
|
+ inttraSoDto.setInformationNoEnd(inttraSoDto.getInformationNo());
|
|
|
+ inttraSoDto.setFileExchangeNumberEnd(inttraSoDto.getFileExchangeNumber());
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
@@ -201,12 +507,6 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
.apply("find_in_set(id,'" + ediTypes.getBillId() + "')"));
|
|
|
|
|
|
- // 配箱数据
|
|
|
- List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
- .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Containers::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(pid,'" + ediTypes.getBillId() + "')"));
|
|
|
-
|
|
|
Date date = new Date();
|
|
|
for (Bills details : billsList) {
|
|
|
// 统一设置数据,单独生成 EDI
|
|
|
@@ -234,6 +534,28 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
Boolean mixedCargo = readEdiParamBooleanValue(ediParamCarrier, "mixedCargo", false);
|
|
|
|
|
|
String EDI_CODE_NAME = readEdiParamStringValue(ediParamCarrier, "ediCode", "INTTRA");
|
|
|
+ Boolean INCLUDING_HBL = readEdiParamBooleanValue(ediParamCarrier, "includingHBL", false);
|
|
|
+
|
|
|
+ String billType = details.getBillType();
|
|
|
+ Boolean isMasterBill = "DD".equals(billType) || "MM".equals(billType);
|
|
|
+ // 检测是否允许发送分单
|
|
|
+ if(!isMasterBill && !readEdiParamBooleanValue(ediParamCarrier, "allowHBL", true)){
|
|
|
+ return R.fail("该 EDI 不允许发送分单,请发送主单!");
|
|
|
+ }
|
|
|
+
|
|
|
+ // List<Bills> allBillsList = Arrays.asList(details);
|
|
|
+ List<Bills> hblBillsList = new ArrayList<>();
|
|
|
+ if(INCLUDING_HBL && "MM".equals(billType)){
|
|
|
+ List<Bills> hblBills = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, details.getId()));
|
|
|
+ if(ObjectUtils.isNotNull(hblBills)){
|
|
|
+ hblBillsList.addAll(hblBills);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // inttraSoDto.setHblBillsList(hblBillsList);
|
|
|
|
|
|
// 默认发送方
|
|
|
String defaultSenderIdentifying = "JMSLOGQDSO";
|
|
|
@@ -260,323 +582,93 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
}
|
|
|
SimpleDateFormat sdf4 = new SimpleDateFormat(readEdiParamStringValue(ediParamCarrier, "fileDate-format", "yyyyMMddHHmm"));
|
|
|
inttraSoDto.setFileDate(sdf4.format(date));
|
|
|
- inttraSoDto.setTransportTermCode(details.getServiceTerms());
|
|
|
- inttraSoDto.setLclType("2");
|
|
|
- inttraSoDto.setLoadType(details.getLoadType());
|
|
|
- inttraSoDto.setBookingRemarks(details.getBookingRemarks());
|
|
|
- inttraSoDto.setSiRemarks(details.getSiRemarks());
|
|
|
- inttraSoDto.setCarrySingleRemarks(details.getRemarks());
|
|
|
- inttraSoDto.setWeightOfGoods(details.getGrossWeight().toString());
|
|
|
- inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
- inttraSoDto.setVolumeOfGoods(details.getMeasurement());
|
|
|
- if (ObjectUtils.isNotNull(details.getMpayplace())) {
|
|
|
- BPorts bPorts = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
- .eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(BPorts::getIsDeleted, 0)
|
|
|
- .eq(BPorts::getEnName, details.getMpayplace()));
|
|
|
- if (bPorts != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setPaymentLocationCode(ediCode);
|
|
|
- inttraSoDto.setPaymentLand(bPorts.getEnName());
|
|
|
- }
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(details.getIssueAtId())) {
|
|
|
- BPorts bPorts = bPortsService.getById(details.getIssueAtId());
|
|
|
- if (bPorts != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setIssuanceLandCode(ediCode);
|
|
|
- inttraSoDto.setIssuanceLand(bPorts.getEnName());
|
|
|
- }
|
|
|
- }
|
|
|
- SimpleDateFormat sdf2 = new SimpleDateFormat(readEdiParamStringValue(ediParamCarrier, "issueDate-format", "yyyyMMdd"));
|
|
|
- if (ObjectUtils.isNotNull(details.getIssueDate())) {
|
|
|
- inttraSoDto.setIssueDate(sdf2.format(details.getIssueDate()));
|
|
|
- }
|
|
|
- inttraSoDto.setBookingNo(details.getBookingNo());
|
|
|
- inttraSoDto.setMblNo(details.getMblno());
|
|
|
- inttraSoDto.setHblNo(details.getHblno());
|
|
|
- inttraSoDto.setCorpArgreementNo(details.getCorpArgreementNo());
|
|
|
- inttraSoDto.setMainPinyin("");
|
|
|
- inttraSoDto.setOrderNo(details.getBookingNo());
|
|
|
- inttraSoDto.setJobId(details.getBookingNo());
|
|
|
- inttraSoDto.setPaymentType(details.getMpaymode());
|
|
|
- inttraSoDto.setVesselId(details.getVesselId());
|
|
|
- inttraSoDto.setVesselName(details.getVesselEnName());
|
|
|
- inttraSoDto.setVesselCode("");
|
|
|
- inttraSoDto.setVoyageNo(details.getVoyageNo());
|
|
|
- if (ObjectUtils.isNotNull(details.getVesselId())) {
|
|
|
- BVessels bVessels = bVesselsService.getById(details.getVesselId());
|
|
|
- if (bVessels != null) {
|
|
|
- if("APL".equals(carrierCode)){
|
|
|
- // APL 要获取船名代码
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bVessels.getExtendedData());
|
|
|
- inttraSoDto.setVesselCode(ediCode);
|
|
|
- }
|
|
|
- BCorps bCorps = bCorpsService.getById(bVessels.getCarrierId());
|
|
|
- if (bCorps != null) {
|
|
|
- inttraSoDto.setVesselCarrierCode(bCorps.getInttraCode());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- SimpleDateFormat sdf3 = new SimpleDateFormat(readEdiParamStringValue(ediParamCarrier, "etd-format", "yyyyMMdd"));
|
|
|
- if (ObjectUtils.isNotNull(details.getEtd())) {
|
|
|
- inttraSoDto.setEtd(sdf3.format(details.getEtd()));
|
|
|
- }
|
|
|
|
|
|
- inttraSoDto.setPolName(details.getPolEnName());
|
|
|
- if (ObjectUtils.isNotNull(details.getPolId())) {
|
|
|
- BPorts bPorts = bPortsService.getById(details.getPolId());
|
|
|
- if (bPorts != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setPolCode(ediCode);
|
|
|
- if (ObjectUtils.isNull(inttraSoDto.getPolName())) {
|
|
|
- inttraSoDto.setPolName(bPorts.getEnName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ fill(inttraSoDto, details, EDI_CODE_NAME, ediParamCarrier, mixedCargo);
|
|
|
|
|
|
- inttraSoDto.setPlaceReceiptName(details.getPlaceReceiptName());
|
|
|
- if (ObjectUtils.isNotNull(details.getPlaceReceiptId())) {
|
|
|
- BPorts bPorts = bPortsService.getById(details.getPlaceReceiptId());
|
|
|
- if (bPorts != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setPlaceReceiptCode(ediCode);
|
|
|
- if (ObjectUtils.isNull(inttraSoDto.getPlaceReceiptName())) {
|
|
|
- inttraSoDto.setPlaceReceiptName(bPorts.getEnName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- inttraSoDto.setPodName(details.getPodEnName());
|
|
|
- if (ObjectUtils.isNotNull(details.getPodId())) {
|
|
|
- BPorts bPorts = bPortsService.getById(details.getPodId());
|
|
|
- if (bPorts != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setPodCode(ediCode);
|
|
|
- if (ObjectUtils.isNull(inttraSoDto.getPodName())) {
|
|
|
- inttraSoDto.setPodName(bPorts.getEnName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- inttraSoDto.setPlaceDeliveryName(details.getPlaceDeliveryName());
|
|
|
- if (ObjectUtils.isNotNull(details.getPlaceDeliveryId())) {
|
|
|
- BPorts bPorts = bPortsService.getById(details.getPlaceDeliveryId());
|
|
|
- if (bPorts != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setPlaceDeliveryCode(ediCode);
|
|
|
- if (ObjectUtils.isNull(inttraSoDto.getPlaceDeliveryName())) {
|
|
|
- inttraSoDto.setPlaceDeliveryName(bPorts.getEnName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- inttraSoDto.setPlaceDestinationName(details.getDestinationName());
|
|
|
- if (ObjectUtils.isNotNull(details.getDestinationId())) {
|
|
|
- BPorts bPorts = bPortsService.getById(details.getDestinationId());
|
|
|
- if (bPorts != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPorts.getExtendedData());
|
|
|
- inttraSoDto.setPlaceDestinationCode(ediCode);
|
|
|
- if (ObjectUtils.isNull(inttraSoDto.getPlaceDestinationName())) {
|
|
|
- inttraSoDto.setPlaceDestinationName(bPorts.getEnName());
|
|
|
- }
|
|
|
+ if(hblBillsList.size()>0) {
|
|
|
+ List<InttraSoDto> hbls = new ArrayList<>();
|
|
|
+ for (Bills bill : hblBillsList) {
|
|
|
+ InttraSoDto dto = new InttraSoDto();
|
|
|
+ fill(dto, bill, EDI_CODE_NAME, ediParamCarrier, mixedCargo);
|
|
|
+ hbls.add(dto);
|
|
|
}
|
|
|
+ inttraSoDto.setHblBillsList(hbls);
|
|
|
}
|
|
|
- inttraSoDto.setHShipper(details.getHshipperDetails());
|
|
|
- inttraSoDto.setHConsignee(details.getHconsigneeDetails());
|
|
|
- inttraSoDto.setHNotify(details.getHnotifyDetails());
|
|
|
- inttraSoDto.setHNotify2(details.getHnotify2Details());
|
|
|
-
|
|
|
- inttraSoDto.setCyId(details.getCyId());
|
|
|
- inttraSoDto.setCyCode(details.getCyCode());
|
|
|
- inttraSoDto.setCyCnName(details.getCyCnName());
|
|
|
- inttraSoDto.setCyEnName(details.getCyEnName());
|
|
|
- // 场站代码就是3字码
|
|
|
-// if (ObjectUtils.isNotNull(details.getCyId())) {
|
|
|
-// BCorps bCorps = bCorpsService.getById(details.getCyId());
|
|
|
-// if (bCorps != null) {
|
|
|
-// inttraSoDto.setCyCode(bCorps.getInttraCode());
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
- inttraSoDto.setInttraToDoorName(details.getInttraToDoorCorpName());
|
|
|
- inttraSoDto.setInttraToDoorAddr(details.getInttraToDoorCorpAddr());
|
|
|
- inttraSoDto.setInttraToDoorContacts(details.getInttraToDoorCorpContacts());
|
|
|
- inttraSoDto.setInttraToDoorTel(details.getInttraToDoorCorpTel());
|
|
|
- inttraSoDto.setInttraDoorToName(details.getInttraDoorToCorpName());
|
|
|
- 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"));
|
|
|
- if ("SEA WAY BILL".equals(details.getIssueType())) {
|
|
|
- inttraSoDto.setBillLadingType("710");
|
|
|
- } else {
|
|
|
- inttraSoDto.setBillLadingType("706");
|
|
|
- }
|
|
|
- if (details.getStlCrStatus() >= 3 || details.getStlDrStatus() >= 3) {
|
|
|
- inttraSoDto.setPaymentStatus("27");
|
|
|
- } else {
|
|
|
- inttraSoDto.setPaymentStatus("26");
|
|
|
- }
|
|
|
- inttraSoDto.setBillLadingNumber(RegularUtils.englishToNumber(details.getNumberOfObl()));
|
|
|
- inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
- if (ObjectUtils.isNotNull(details.getPackingUnit())) {
|
|
|
- BPackages bPackages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
|
|
|
- .eq(BPackages::getCode, details.getPackingUnit()));
|
|
|
- if (bPackages != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bPackages.getExtendedData());
|
|
|
- inttraSoDto.setPackagesCode(ediCode);
|
|
|
- }
|
|
|
- }
|
|
|
- inttraSoDto.setPackagesDescribe(details.getPackingUnit());//包装描述
|
|
|
- inttraSoDto.setGoodsDesc(details.getCommodityDescr());
|
|
|
- inttraSoDto.setGrossWeight(details.getGrossWeight());
|
|
|
- inttraSoDto.setMeasurement(details.getMeasurement());
|
|
|
- inttraSoDto.setMarks(details.getMarks());
|
|
|
- inttraSoDto.setHsCode(details.getHscode());
|
|
|
- inttraSoDto.setCargoType(details.getCargoType());
|
|
|
- if ("danger".equals(details.getCargoType())) {
|
|
|
- inttraSoDto.setDgImdgCode(details.getDgImdgCode());
|
|
|
- inttraSoDto.setPageNumber("");
|
|
|
- inttraSoDto.setDgUnCode(details.getDgUnCode());
|
|
|
- inttraSoDto.setDgFlashPoint(details.getDgFlashPoint().toString());
|
|
|
- inttraSoDto.setDgFlashPointUnit(details.getDgFlashPointUnit());
|
|
|
- inttraSoDto.setPackingGroup(details.getDgPackingLevel());//包装组别
|
|
|
- inttraSoDto.setEmergencyMeasureNo("");//应急措施号
|
|
|
- inttraSoDto.setDgRemarks(details.getDgRemarks());
|
|
|
- inttraSoDto.setDgContacts(details.getDgContacts());
|
|
|
- inttraSoDto.setDgTel(details.getDgTel());
|
|
|
- }
|
|
|
-
|
|
|
- // 预配箱
|
|
|
- List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
- .eq(PreContainers::getPid, details.getId())
|
|
|
- .eq(PreContainers::getIsDeleted, 0));
|
|
|
- String boxType = preContainersList.stream().map(PreContainers::getCntrTypeCode).collect(Collectors.joining(","));
|
|
|
- List<BCntrTypes> bPreCntrTypesList = bCntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
|
|
|
- .apply("find_in_set(cntr_type,'" + boxType + "')")
|
|
|
- .eq(BCntrTypes::getIsDeleted, 0));
|
|
|
- List<Map<String, Object>> preCntrs = new ArrayList<>();
|
|
|
- int totalPreCntrQty = 0;
|
|
|
- for (PreContainers item : preContainersList) {
|
|
|
- totalPreCntrQty+=item.getQuantity();
|
|
|
- BCntrTypes bCntrTypes = bPreCntrTypesList.stream().filter(e -> e.getCntrType().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
- if (bCntrTypes != null) {
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bCntrTypes.getExtendedData());
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("sizeType", ediCode);
|
|
|
- map.put("cntrQty", item.getQuantity());
|
|
|
- map.put("isSoc", item.getIsSoc());
|
|
|
- map.put("temperature", RegularUtils.formatTempNumber(item.getTemperature(), 3));
|
|
|
- map.put("temperatureUnit", item.getTemperatureUnit());
|
|
|
- map.put("ventilation", RegularUtils.formatTempNumber(item.getVentilation(), 3));
|
|
|
- map.put("humidity", RegularUtils.formatTempNumber(item.getHumidity(), 3));
|
|
|
- preCntrs.add(map);
|
|
|
- } else {
|
|
|
- throw new RuntimeException("箱型数据错误");
|
|
|
- }
|
|
|
- }
|
|
|
- inttraSoDto.setTotalPreCntrQty(totalPreCntrQty);
|
|
|
- inttraSoDto.setPreCntrs(preCntrs);
|
|
|
-
|
|
|
- // 已配箱
|
|
|
- boxType = containersList.stream().map(Containers::getCntrTypeCode).collect(Collectors.joining(","));
|
|
|
- List<BCntrTypes> bCntrTypesList = bCntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
|
|
|
- .apply("find_in_set(cntr_type,'" + boxType + "')")
|
|
|
- .eq(BCntrTypes::getIsDeleted, 0));
|
|
|
- List<Map<String, Object>> cntrs = new ArrayList<>();
|
|
|
- for (Containers item : containersList) {
|
|
|
- BCntrTypes bCntrTypes = bCntrTypesList.stream().filter(e -> e.getCntrType().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
- if (bCntrTypes != null) {
|
|
|
- // 赫伯罗特需要装箱货物
|
|
|
- // if("HLCU".equals(carrierCode)) {
|
|
|
- if(mixedCargo){
|
|
|
- item.setContainersCommodityList(containersCommodityService.list(new LambdaQueryWrapper<ContainersCommodity>()
|
|
|
- .eq(ContainersCommodity::getIsDeleted, 0)
|
|
|
- .eq(ContainersCommodity::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(ContainersCommodity::getPid, item.getId())
|
|
|
- .eq(ContainersCommodity::getPpId, item.getPid()))
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- String ediCode = RegularUtils.getEdiCode(EDI_CODE_NAME, bCntrTypes.getExtendedData());
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("quantity", item.getQuantity());
|
|
|
- map.put("grossWeight", item.getGrossWeight());
|
|
|
- map.put("volume", item.getMeasurement());
|
|
|
- map.put("sizeType", ediCode);
|
|
|
- map.put("cntrTypeName", bCntrTypes.getEnName());
|
|
|
- map.put("cntrNo", item.getCntrNo());
|
|
|
- map.put("sealNo", item.getSealNo());
|
|
|
- map.put("sealUnit", "");
|
|
|
- map.put("isSoc", item.getIsSoc());
|
|
|
- PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
- if (preContainers != null) {
|
|
|
- map.put("temperature", RegularUtils.formatTempNumber(preContainers.getTemperature(), 3));
|
|
|
- map.put("temperatureUnit", preContainers.getTemperatureUnit());
|
|
|
- map.put("ventilation", RegularUtils.formatTempNumber(preContainers.getVentilation(), 3));
|
|
|
- map.put("humidity", RegularUtils.formatTempNumber(preContainers.getHumidity(), 3));
|
|
|
- }else{
|
|
|
- map.put("temperature", "");
|
|
|
- map.put("temperatureUnit", "");
|
|
|
- map.put("ventilation", "");
|
|
|
- map.put("humidity", "");
|
|
|
- }
|
|
|
-
|
|
|
- // 货物信息
|
|
|
- map.put("commodityList", item.getContainersCommodityList());
|
|
|
-
|
|
|
- cntrs.add(map);
|
|
|
- } else {
|
|
|
- throw new RuntimeException("箱型数据错误");
|
|
|
- }
|
|
|
- }
|
|
|
- inttraSoDto.setLoadedCntrs(cntrs);
|
|
|
-
|
|
|
- inttraSoDto.setRecordRows(new BigDecimal("10"));
|
|
|
- inttraSoDto.setInformationNoEnd(inttraSoDto.getInformationNo());
|
|
|
- inttraSoDto.setFileExchangeNumberEnd(inttraSoDto.getFileExchangeNumber());
|
|
|
|
|
|
FilesCenter filesCenter = null;
|
|
|
- Map<String, Object> status = null;
|
|
|
- Integer notNullCode = 0;
|
|
|
+ Map<String, Object> status;
|
|
|
+
|
|
|
if(inttraSoDto.ediTypeIsHYCK_INTTRA_SO()) {
|
|
|
status = RegularUtils.notNullInttraSoDto(inttraSoDto, "SO");
|
|
|
- notNullCode = Integer.parseInt(status.get("code").toString());
|
|
|
- if (200 == notNullCode) {
|
|
|
- filesCenter = iediSenderService.sendingInttraSo(inttraSoDto, ediParamCarrier);
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ filesCenter = iediSenderService.sendingInttraSo(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
}else
|
|
|
if(inttraSoDto.ediTypeIsHYCK_INTTRA_SI()) {
|
|
|
status = RegularUtils.notNullInttraSiDto(inttraSoDto);
|
|
|
- notNullCode = Integer.parseInt(status.get("code").toString());
|
|
|
- if (200 == notNullCode) {
|
|
|
- filesCenter = iediSenderService.sendingInttraSI(inttraSoDto, ediParamCarrier);
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ filesCenter = iediSenderService.sendingInttraSI(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
}else
|
|
|
if(inttraSoDto.ediTypeIsHYCK_APL_SO()) {
|
|
|
status = RegularUtils.notNullAPLSoDto(inttraSoDto, "SO");
|
|
|
- notNullCode = Integer.parseInt(status.get("code").toString());
|
|
|
- if (200 == notNullCode) {
|
|
|
- filesCenter = iediSenderService.sendingAplSo(inttraSoDto, ediParamCarrier);
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ filesCenter = iediSenderService.sendingAplSo(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
}else
|
|
|
if(inttraSoDto.ediTypeIsHYCK_APL_SI()) {
|
|
|
status = RegularUtils.notNullAPLSiDto(inttraSoDto);
|
|
|
- notNullCode = Integer.parseInt(status.get("code").toString());
|
|
|
- if (200 == notNullCode) {
|
|
|
- filesCenter = iediSenderService.sendingAplSi(inttraSoDto, ediParamCarrier);
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ // filesCenter = iediSenderService.sendingAplSi(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.fail("EDI 未实现!");
|
|
|
+ }else
|
|
|
+ if(inttraSoDto.ediTypeIsHYCK_ONE_Booking()) {
|
|
|
+ status = RegularUtils.notNullOneBookingDto(inttraSoDto, "SO");
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ filesCenter = iediSenderService.sendingOneBooking(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else
|
|
|
+ if(inttraSoDto.ediTypeIsHYCK_ONE_SI()) {
|
|
|
+ status = RegularUtils.notNullOneSIDto(inttraSoDto);
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
+ try {
|
|
|
+ filesCenter = iediSenderService.sendingOneSI(inttraSoDto, ediParamCarrier);
|
|
|
+ }catch (Exception e){
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
+ return R.fail("EDI 未实现!");
|
|
|
}else{
|
|
|
return R.fail("EDI 未实现!");
|
|
|
}
|
|
|
|
|
|
- if (200 == notNullCode) {
|
|
|
+ if(ObjectUtils.isNull(filesCenter)){
|
|
|
+ status.replace("code", "500");
|
|
|
+ status.replace("data", "文件未生成!");
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("200".equals(status.get("code").toString())) {
|
|
|
//发送edi记录
|
|
|
EdiLog ediLog = new EdiLog();
|
|
|
ediLog.setBillId(details.getId());
|
|
|
@@ -623,897 +715,5 @@ public class EdiTypesServiceImpl extends ServiceImpl<EdiTypesMapper, EdiTypes> i
|
|
|
billsService.updateBatchById(billsList);
|
|
|
filesCenterService.saveOrUpdateBatch(filesCenterList);
|
|
|
return R.data("发送成功");
|
|
|
-
|
|
|
-// if ("HYCK".equals(ediTypes.getType()) && "INTTRA-SO".equals(ediTypes.getCode())) {
|
|
|
-// for (Bills details : billsList) {
|
|
|
-// InttraSoDto inttraSoDto = new InttraSoDto();
|
|
|
-// inttraSoDto.setIdentifying("JMSLOGQDSO");
|
|
|
-// SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd:hhmm");
|
|
|
-// inttraSoDto.setDate(sdf.format(date));
|
|
|
-// SimpleDateFormat sdf1 = new SimpleDateFormat("yyMMddhhmm");
|
|
|
-// 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());
|
|
|
-// }else{
|
|
|
-// inttraSoDto.setIdentificationCode(details.getBookingNo());
|
|
|
-// }
|
|
|
-// if (ObjectUtils.isNotNull(details.getEdiStatus()) && Integer.parseInt(details.getEdiStatus()) > 0) {
|
|
|
-// // 默认 9
|
|
|
-// inttraSoDto.setFilesFunction("9");
|
|
|
-// details.setEdiStatus(Integer.parseInt(details.getEdiStatus()) + 1 + "");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setFilesFunction("9");
|
|
|
-// details.setEdiStatus("1");
|
|
|
-// }
|
|
|
-// SimpleDateFormat sdf4 = new SimpleDateFormat("yyyyMMddhhmm");
|
|
|
-// inttraSoDto.setFilesDate(sdf4.format(date));
|
|
|
-// inttraSoDto.setTransportTermCode(details.getServiceTerms());
|
|
|
-// inttraSoDto.setLclType("2");
|
|
|
-// inttraSoDto.setBookingRemarks(details.getBookingRemarks());
|
|
|
-// inttraSoDto.setCarrySingleRemarks(details.getRemarks());
|
|
|
-// inttraSoDto.setWeightOfGoods(details.getGrossWeight().toString());
|
|
|
-// inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
-// inttraSoDto.setVolumeOfGoods(details.getMeasurement());
|
|
|
-// Integer sum = details.getQuantityV20() + details.getQuantityV40() + details.getQuantityV45()
|
|
|
-// + details.getQuantityV48() + details.getQuantityV40hc();
|
|
|
-// inttraSoDto.setTotalBoxNumber(sum);
|
|
|
-// if (ObjectUtils.isNotNull(details.getMpayplace())) {
|
|
|
-// BPorts bPorts = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
-// .eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
-// .eq(BPorts::getIsDeleted, 0)
|
|
|
-// .eq(BPorts::getEnName, details.getMpayplace()));
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPaymentLocationCode(ediCode);
|
|
|
-// inttraSoDto.setPaymentLand(bPorts.getEnName());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (ObjectUtils.isNotNull(details.getIssueAtId())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getIssueAtId());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setIssuanceLandCode(ediCode);
|
|
|
-// inttraSoDto.setIssuanceLand(bPorts.getEnName());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
|
|
|
-// if (ObjectUtils.isNotNull(details.getIssueDate())) {
|
|
|
-// inttraSoDto.setIssueDate(sdf2.format(details.getIssueDate()));
|
|
|
-// }
|
|
|
-// inttraSoDto.setBookingNo(details.getBookingNo());
|
|
|
-// inttraSoDto.setBillNo(details.getMblno());
|
|
|
-// inttraSoDto.setCorpArgreementNo(details.getCorpArgreementNo());
|
|
|
-// inttraSoDto.setMainPinyin("");
|
|
|
-// inttraSoDto.setOrderNo(details.getBookingNo());
|
|
|
-// inttraSoDto.setJobId(details.getBookingNo());
|
|
|
-// inttraSoDto.setPaymentType(details.getMpaymode());
|
|
|
-// inttraSoDto.setVoyageNo(details.getVoyageNo());
|
|
|
-// if (ObjectUtils.isNotNull(details.getVesselId())) {
|
|
|
-// BVessels bVessels = bVesselsService.getById(details.getVesselId());
|
|
|
-// if (bVessels != null) {
|
|
|
-// BCorps bCorps = bCorpsService.getById(bVessels.getCarrierId());
|
|
|
-// if (bCorps != null) {
|
|
|
-// inttraSoDto.setVesselCarrierCode(bCorps.getInttraCode());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setVesselName(details.getVesselEnName());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPolId())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPolId());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPolCode(ediCode);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setPolName(details.getPolEnName());
|
|
|
-// SimpleDateFormat sdf3 = new SimpleDateFormat("yyyyMMdd");
|
|
|
-// if (ObjectUtils.isNotNull(details.getEtd())) {
|
|
|
-// inttraSoDto.setEtd(sdf3.format(details.getEtd()));
|
|
|
-// }
|
|
|
-// if (ObjectUtils.isNotNull(details.getPlaceReceiptId())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPlaceReceiptId());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPlaceReceiptCode(ediCode);
|
|
|
-// inttraSoDto.setPlaceReceiptName(bPorts.getEnName());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (ObjectUtils.isNotNull(details.getPodId())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPodId());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPodCode(ediCode);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setPodName(details.getPodEnName());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPlaceDeliveryId())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPlaceDeliveryId());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPlaceDeliveryCode(ediCode);
|
|
|
-// inttraSoDto.setPlaceDeliveryName(bPorts.getEnName());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setHShipper(details.getHshipperDetails());
|
|
|
-// inttraSoDto.setHConsignee(details.getHconsigneeDetails());
|
|
|
-// inttraSoDto.setHNotify(details.getHnotifyDetails());
|
|
|
-// inttraSoDto.setCarrierName(details.getCarrierEnName());
|
|
|
-// if (ObjectUtils.isNotNull(details.getCarrierId())) {
|
|
|
-// BCorps bCorps = bCorpsService.getById(details.getCarrierId());
|
|
|
-// if (bCorps != null) {
|
|
|
-// inttraSoDto.setCarrierCode(bCorps.getInttraCode());
|
|
|
-// inttraSoDto.setContactInformation(bCorps.getInttraIcua());
|
|
|
-// inttraSoDto.setContacts(bCorps.getInttraIcuaAttn());
|
|
|
-// inttraSoDto.setAttnEmail(bCorps.getInttraIcuaEmail());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setInttraToDoorName(details.getInttraToDoorCorpName());
|
|
|
-// inttraSoDto.setInttraToDoorAddr(details.getInttraToDoorCorpAddr());
|
|
|
-// inttraSoDto.setInttraToDoorContacts(details.getInttraToDoorCorpContacts());
|
|
|
-// inttraSoDto.setInttraToDoorTel(details.getInttraToDoorCorpTel());
|
|
|
-// inttraSoDto.setInttraDoorToName(details.getInttraDoorToCorpName());
|
|
|
-// inttraSoDto.setInttraDoorToAddr(details.getInttraDoorToCorpAddr());
|
|
|
-// inttraSoDto.setInttraDoorToContacts(details.getInttraDoorToCorpContacts());
|
|
|
-// inttraSoDto.setInttraDoorToTel(details.getInttraDoorToCorpTel());
|
|
|
-// inttraSoDto.setFreightForwarderCode("JET MARINE");
|
|
|
-// inttraSoDto.setFreightForwarderName(details.getForwarding());
|
|
|
-// inttraSoDto.setSenderCodeS("JMSLOGQINGDAO");
|
|
|
-// inttraSoDto.setSenderName("JMS");
|
|
|
-// inttraSoDto.setSenderContacts("Yuki Cai");
|
|
|
-// inttraSoDto.setSenderTel("");
|
|
|
-// inttraSoDto.setSenderEmail("cma-seataocn@jms-logistics.com");
|
|
|
-// if ("SEA WAY BILL".equals(details.getIssueType())) {
|
|
|
-// inttraSoDto.setBillLadingType("710");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setBillLadingType("706");
|
|
|
-// }
|
|
|
-// if (details.getStlCrStatus() >= 3 || details.getStlDrStatus() >= 3) {
|
|
|
-// inttraSoDto.setPaymentStatus("27");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setPaymentStatus("26");
|
|
|
-// }
|
|
|
-// inttraSoDto.setBillLadingNumber(RegularUtils.englishToNumber(details.getNumberOfObl()));
|
|
|
-// inttraSoDto.setPackagesNumbers(details.getQuantity());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPackingUnit())) {
|
|
|
-// BPackages bPackages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
|
|
|
-// .eq(BPackages::getCode, details.getPackingUnit()));
|
|
|
-// if (bPackages != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPackages.getExtendedData());
|
|
|
-// inttraSoDto.setPackagesCode(ediCode);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setPackagesDescribe(details.getPackingUnit());//包装描述
|
|
|
-// inttraSoDto.setGoodsDesc(details.getCommodityDescr());
|
|
|
-// inttraSoDto.setGrossWeight(details.getGrossWeight());
|
|
|
-// inttraSoDto.setMeasurement(details.getMeasurement());
|
|
|
-// inttraSoDto.setMarks(details.getMarks());
|
|
|
-// inttraSoDto.setHsCode(details.getHscode());
|
|
|
-// inttraSoDto.setCargoType(details.getCargoType());
|
|
|
-// if ("danger".equals(details.getCargoType())) {
|
|
|
-// inttraSoDto.setDgImdgCode(details.getDgImdgCode());
|
|
|
-// inttraSoDto.setPageNumber("");
|
|
|
-// inttraSoDto.setDgUnCode(details.getDgUnCode());
|
|
|
-// inttraSoDto.setDgFlashPoint(details.getDgFlashPoint().toString());
|
|
|
-// inttraSoDto.setDgFlashPointUnit(details.getDgFlashPointUnit());
|
|
|
-// inttraSoDto.setPackingGroup(details.getDgPackingLevel());//包装组别
|
|
|
-// inttraSoDto.setEmergencyMeasureNo("");//应急措施号
|
|
|
-// inttraSoDto.setDgRemarks(details.getDgRemarks());
|
|
|
-// inttraSoDto.setDgContacts(details.getDgContacts());
|
|
|
-// inttraSoDto.setDgTel(details.getDgTel());
|
|
|
-// }
|
|
|
-// List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
-// .eq(PreContainers::getPid, details.getId())
|
|
|
-// .eq(PreContainers::getIsDeleted, 0));
|
|
|
-// String boxType = preContainersList.stream().map(PreContainers::getCntrTypeCode).collect(Collectors.joining(","));
|
|
|
-// List<BCntrTypes> bCntrTypesList = bCntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
|
|
|
-// .apply("find_in_set(cntr_type,'" + boxType + "')")
|
|
|
-// .eq(BCntrTypes::getIsDeleted, 0));
|
|
|
-// List<Map<String, Object>> box = new ArrayList<>();
|
|
|
-// int totalPreCntrQty = 0;
|
|
|
-// for (PreContainers item : preContainersList) {
|
|
|
-// totalPreCntrQty+=item.getQuantity();
|
|
|
-// BCntrTypes bCntrTypes = bCntrTypesList.stream().filter(e -> e.getCntrType().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
-// if (bCntrTypes != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bCntrTypes.getExtendedData());
|
|
|
-// Map<String, Object> map = new HashMap<>();
|
|
|
-// map.put("boxCode", ediCode);
|
|
|
-// map.put("boxNumber", item.getQuantity());
|
|
|
-// map.put("isSoc", item.getIsSoc());
|
|
|
-// map.put("temperature", RegularUtils.formatTempNumber(item.getTemperature(), 3));
|
|
|
-// map.put("ventilation", RegularUtils.formatTempNumber(item.getVentilation(), 3));
|
|
|
-// map.put("humidity", RegularUtils.formatTempNumber(item.getHumidity(), 3));
|
|
|
-// map.put("temperatureUnit", item.getTemperatureUnit());
|
|
|
-// box.add(map);
|
|
|
-// } else {
|
|
|
-// throw new RuntimeException("箱型数据错误");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setTotalBoxNumber(totalPreCntrQty);
|
|
|
-// inttraSoDto.setBox(box);
|
|
|
-// inttraSoDto.setRecordRows(new BigDecimal("10"));
|
|
|
-// inttraSoDto.setInformationNoEnd(inttraSoDto.getInformationNo());
|
|
|
-// inttraSoDto.setFileExchangeNumberEnd(inttraSoDto.getFileExchangeNumber());
|
|
|
-// inttraSoDto.setEdiTypes(ediTypes);
|
|
|
-// Map<String, Object> status = RegularUtils.notNullInttraSoDto(inttraSoDto);
|
|
|
-// if (200 == Integer.parseInt(status.get("code").toString())) {
|
|
|
-// FilesCenter filesCenter = iediSenderService.sendingInttraSo(inttraSoDto);
|
|
|
-// //发送edi记录
|
|
|
-// EdiLog ediLog = new EdiLog();
|
|
|
-// ediLog.setBillId(details.getId());
|
|
|
-// ediLog.setBillNo(details.getBillNo());
|
|
|
-// ediLog.setMblno(details.getMblno());
|
|
|
-// ediLog.setHblno(details.getHblno());
|
|
|
-// ediLog.setPid(ediTypes.getId());
|
|
|
-// ediLog.setSenderDate(new Date());
|
|
|
-// ediLog.setBranchId(details.getBranchId());
|
|
|
-// ediLog.setCreateDept(details.getCreateDept());
|
|
|
-// ediLog.setCreateTime(details.getCreateTime());
|
|
|
-// ediLog.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// ediLog.setCreateUser(details.getCreateUser());
|
|
|
-// ediLog.setCreateUserName(details.getCreateUserName());
|
|
|
-// ediLog.setRemarks("发送成功");
|
|
|
-// ediLog.setStatus(1);
|
|
|
-// 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());
|
|
|
-// filesCenter.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// filesCenter.setCreateUser(details.getCreateUser());
|
|
|
-// filesCenter.setCreateUserName(details.getCreateUserName());
|
|
|
-// filesCenter.setPid(details.getId());
|
|
|
-// filesCenter.setItemId(ediLog.getId());
|
|
|
-// filesCenter.setBusinessType(details.getBusinessType());
|
|
|
-// filesCenter.setClassifyCode("edi");
|
|
|
-// filesCenter.setGroupCode("INTTRA-SO");
|
|
|
-// filesCenter.setSerialNo(1);
|
|
|
-// filesCenter.setSort(1);
|
|
|
-// filesCenter.setReceivedData(new Date());
|
|
|
-// filesCenter.setIsImage(0);
|
|
|
-// filesCenter.setTenantId(AuthUtil.getTenantId());
|
|
|
-// filesCenterList.add(filesCenter);
|
|
|
-// } else {
|
|
|
-// return R.success(status.get("data").toString());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// billsService.updateBatchById(billsList);
|
|
|
-// } else if ("HYCK".equals(ediTypes.getType()) && "INTTRA-SI".equals(ediTypes.getCode())) {
|
|
|
-// for (Bills details : billsList) {
|
|
|
-// InttraSoDto inttraSoDto = new InttraSoDto();
|
|
|
-// inttraSoDto.setIdentifying("JMSLOGQDSO");
|
|
|
-// SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd:hhmm");
|
|
|
-// inttraSoDto.setDate(sdf.format(date));
|
|
|
-// SimpleDateFormat sdf1 = new SimpleDateFormat("yyMMddhhmm");
|
|
|
-// String corpId = details.getCorpId().toString();
|
|
|
-// inttraSoDto.setFileExchangeNumber(sdf1.format(date) + corpId.substring(corpId.length() - 4));
|
|
|
-// inttraSoDto.setInformationNo(inttraSoDto.getFileExchangeNumber());
|
|
|
-// inttraSoDto.setIdentificationCode(details.getMblno());
|
|
|
-// if (ObjectUtils.isNotNull(details.getEdiStatus()) && Integer.parseInt(details.getEdiStatus()) > 0) {
|
|
|
-// inttraSoDto.setFilesFunction("5");
|
|
|
-// details.setEdiStatus(Integer.parseInt(details.getEdiStatus()) + 1 + "");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setFilesFunction("9");
|
|
|
-// details.setEdiStatus("1");
|
|
|
-// }
|
|
|
-// inttraSoDto.setFilesDate(sdf1.format(date));
|
|
|
-// inttraSoDto.setTransportTermCode(details.getServiceTerms());
|
|
|
-// inttraSoDto.setLclType("2");
|
|
|
-// // inttraSoDto.setRemarks(details.getRemarks());
|
|
|
-// inttraSoDto.setCarrySingleRemarks(details.getBookingRemarks());
|
|
|
-// inttraSoDto.setWeightOfGoods(details.getGrossWeight().toString());
|
|
|
-// inttraSoDto.setPackagesNumber(details.getQuantity());
|
|
|
-// inttraSoDto.setVolumeOfGoods(details.getMeasurement());
|
|
|
-// Integer sum = details.getQuantityV20() + details.getQuantityV40() + details.getQuantityV45()
|
|
|
-// + details.getQuantityV48() + details.getQuantityV40hc();
|
|
|
-// // inttraSoDto.setTotalBoxNumber(new BigDecimal(sum + ""));
|
|
|
-// if (ObjectUtils.isNotNull(details.getMpayplace())) {
|
|
|
-// BPorts bPorts = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
-// .eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
-// .eq(BPorts::getIsDeleted, 0)
|
|
|
-// .eq(BPorts::getEnName, details.getMpayplace()));
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPaymentLocationCode(ediCode);
|
|
|
-// inttraSoDto.setPaymentLand(bPorts.getEnName());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (ObjectUtils.isNotNull(details.getIssueAtId())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getIssueAtId());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setIssuanceLandCode(ediCode);
|
|
|
-// inttraSoDto.setIssuanceLand(bPorts.getEnName());
|
|
|
-//
|
|
|
-// }
|
|
|
-// }
|
|
|
-// SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
|
|
|
-// if (ObjectUtils.isNotNull(details.getIssueDate())) {
|
|
|
-// inttraSoDto.setIssueDate(sdf2.format(details.getIssueDate()));
|
|
|
-// }
|
|
|
-// inttraSoDto.setBookingNo(details.getBookingNo());
|
|
|
-// inttraSoDto.setBillNo(details.getMblno());
|
|
|
-// // inttraSoDto.setFreightProtocolNumber(details.getCorpArgreementNo());
|
|
|
-// inttraSoDto.setMainPinyin("");
|
|
|
-// inttraSoDto.setOrderNo(details.getBookingNo());
|
|
|
-// inttraSoDto.setPaymentType(details.getMpaymode());
|
|
|
-// inttraSoDto.setVoyageNo(details.getVoyageNo());
|
|
|
-// if (ObjectUtils.isNotNull(details.getVesselId())) {
|
|
|
-// BVessels bVessels = bVesselsService.getById(details.getVesselId());
|
|
|
-// if (bVessels != null) {
|
|
|
-// BCorps bCorps = bCorpsService.getById(bVessels.getCarrierId());
|
|
|
-// if (bCorps != null) {
|
|
|
-// inttraSoDto.setVesselCarrierCode(bCorps.getInttraCode());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setVesselName(details.getVesselEnName());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPolCode())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPolCode());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPolName(ediCode);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setPolName(details.getPolCnName());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPlaceReceiptCode())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPlaceReceiptCode());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPlaceReceiptCode(ediCode);
|
|
|
-// inttraSoDto.setPlaceReceiptName(bPorts.getEnName());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (ObjectUtils.isNotNull(details.getPodCode())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPodCode());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPodCode(ediCode);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setPodName(details.getPodEnName());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPlaceDeliveryCode())) {
|
|
|
-// BPorts bPorts = bPortsService.getById(details.getPlaceDeliveryCode());
|
|
|
-// if (bPorts != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPorts.getExtendedData());
|
|
|
-// inttraSoDto.setPlaceDeliveryCode(ediCode);
|
|
|
-// inttraSoDto.setPlaceDeliveryName(bPorts.getEnName());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// // inttraSoDto.setHsHipperOne(details.getHshipperDetails());
|
|
|
-// // inttraSoDto.setHConsigneeOne(details.getHconsigneeDetails());
|
|
|
-// // inttraSoDto.setHNotifyOne(details.getHnotifyDetails());
|
|
|
-// inttraSoDto.setCarrierName(details.getCarrierEnName());
|
|
|
-// if (ObjectUtils.isNotNull(details.getCarrierId())) {
|
|
|
-// BCorps bCorps = bCorpsService.getById(details.getCarrierId());
|
|
|
-// if (bCorps != null) {
|
|
|
-// inttraSoDto.setCarrierCode(bCorps.getInttraCode());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setSenderCodeS("JMSLOGQINGDAO");
|
|
|
-// inttraSoDto.setSenderName("JMS");
|
|
|
-// inttraSoDto.setSenderContacts("JMS-contacts");
|
|
|
-// inttraSoDto.setSenderTel("JMS-tel");
|
|
|
-// inttraSoDto.setSenderEmail("JMS-email");
|
|
|
-// inttraSoDto.setBillLadingType(details.getBillType());
|
|
|
-// if (details.getStlCrStatus() >= 3 || details.getStlDrStatus() >= 3) {
|
|
|
-// inttraSoDto.setPaymentStatus("27");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setPaymentStatus("26");
|
|
|
-// }
|
|
|
-// // inttraSoDto.setBillLadingNumber(new BigDecimal("0"));
|
|
|
-// inttraSoDto.setPackagesNumbers(details.getQuantity());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPackingUnit())) {
|
|
|
-// BPackages bPackages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
|
|
|
-// .eq(BPackages::getCode, details.getPackingUnit()));
|
|
|
-// if (bPackages != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPackages.getExtendedData());
|
|
|
-// inttraSoDto.setPackagesCode(ediCode);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setPackagesDescribe(details.getPackingUnit());//包装描述
|
|
|
-// // inttraSoDto.setProductName(details.getCommodityDescr());
|
|
|
-// inttraSoDto.setGrossWeight(details.getGrossWeight());
|
|
|
-// inttraSoDto.setMeasurement(details.getMeasurement());
|
|
|
-// inttraSoDto.setMarks(details.getMarks());
|
|
|
-// List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
-// .eq(PreContainers::getPid, details.getId())
|
|
|
-// .eq(PreContainers::getIsDeleted, 0));
|
|
|
-// String boxType = containersList.stream().map(Containers::getCntrTypeCode).collect(Collectors.joining(","));
|
|
|
-// List<BCntrTypes> bCntrTypesList = bCntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
|
|
|
-// .apply("find_in_set(cntr_type,'" + boxType + "')")
|
|
|
-// .eq(BCntrTypes::getIsDeleted, 0));
|
|
|
-// List<Map<String, Object>> box = new ArrayList<>();
|
|
|
-// for (Containers item : containersList) {
|
|
|
-// BCntrTypes bCntrTypes = bCntrTypesList.stream().filter(e -> e.getCntrType().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
-// if (bCntrTypes != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bCntrTypes.getExtendedData());
|
|
|
-// Map<String, Object> map = new HashMap<>();
|
|
|
-// map.put("boxGoodNumber", item.getQuantity());
|
|
|
-// map.put("boxGoodWeight", item.getGrossWeight());
|
|
|
-// map.put("boxGoodMeasurement", item.getMeasurement());
|
|
|
-// map.put("boxCode", ediCode);
|
|
|
-// map.put("boxNo", item.getCntrNo());
|
|
|
-// map.put("sealNo", item.getSealNo());
|
|
|
-// map.put("sealUnit", item.getPackingUnit());
|
|
|
-// map.put("shipperBoxIdentification", item.getIsSoc());
|
|
|
-// PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
-// if (preContainers != null) {
|
|
|
-// map.put("temperature", preContainers.getTemperature());
|
|
|
-// map.put("temperatureUnit", preContainers.getTemperatureUnit());
|
|
|
-// }
|
|
|
-// box.add(map);
|
|
|
-// } else {
|
|
|
-// throw new RuntimeException("箱型数据错误");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setBox(box);
|
|
|
-// /*BigDecimal boxGoodNumber = new BigDecimal("0.00");
|
|
|
-// BigDecimal boxGoodWeight = new BigDecimal("0.00");
|
|
|
-// BigDecimal boxGoodMeasurement = new BigDecimal("0.00");
|
|
|
-// if (!containersList.isEmpty()) {
|
|
|
-// inttraSoDto.setBoxGoodNumber(containersList.get(0).getQuantity());
|
|
|
-// inttraSoDto.setBoxGoodWeight(containersList.get(0).getGrossWeight());
|
|
|
-// inttraSoDto.setBoxGoodMeasurement(containersList.get(0).getMeasurement());
|
|
|
-//
|
|
|
-// String boxNumber = containersList.stream().map(Containers::getCntrNo).filter(Objects::nonNull).distinct().collect(Collectors.joining("/"));
|
|
|
-// inttraSoDto.setBoxNo(boxNumber);
|
|
|
-// inttraSoDto.setShipperBoxIdentification("货主箱标识");
|
|
|
-//
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setBoxGoodNumber(boxGoodNumber);
|
|
|
-// inttraSoDto.setBoxGoodWeight(boxGoodWeight);
|
|
|
-// inttraSoDto.setBoxGoodMeasurement(boxGoodMeasurement);
|
|
|
-// }*/
|
|
|
-// if ("danger".equals(details.getCargoType())) {
|
|
|
-// inttraSoDto.setHsCode(details.getHscode());
|
|
|
-// inttraSoDto.setDgImdgCode(details.getDgImdgCode());
|
|
|
-// // inttraSoDto.setPageNumber(new BigDecimal("007"));
|
|
|
-// // inttraSoDto.setDgUnCode(1);
|
|
|
-// // inttraSoDto.setDgFlashPoint(1);
|
|
|
-// inttraSoDto.setDgFlashPointUnit(details.getDgFlashPointUnit());
|
|
|
-// inttraSoDto.setPackingGroup("");//包装组别
|
|
|
-// inttraSoDto.setEmergencyMeasureNo("");//应急措施号
|
|
|
-// inttraSoDto.setDgRemarks(""); // details.getDgRemarks() 不加
|
|
|
-// inttraSoDto.setDgContacts(details.getDgContacts());
|
|
|
-// inttraSoDto.setDgTel(details.getDgTel());
|
|
|
-// }
|
|
|
-// /*inttraSoDto.setBoxCode(details.getQuantityCntrDescr());
|
|
|
-// inttraSoDto.setTemperature(1);
|
|
|
-// inttraSoDto.setTemperatureUnit("温度单位");*/
|
|
|
-// inttraSoDto.setRecordRows(new BigDecimal("10"));
|
|
|
-// inttraSoDto.setInformationNoEnd(inttraSoDto.getInformationNo());
|
|
|
-// inttraSoDto.setFileExchangeNumberEnd(inttraSoDto.getFileExchangeNumber());
|
|
|
-// inttraSoDto.setEdiTypes(ediTypes);
|
|
|
-// Map<String, Object> status = RegularUtils.notNullInttraSiDto(inttraSoDto);
|
|
|
-// if (200 == Integer.parseInt(status.get("code").toString())) {
|
|
|
-// FilesCenter filesCenter = iediSenderService.sendingInttraSI(inttraSoDto);
|
|
|
-//
|
|
|
-// //发送edi记录
|
|
|
-// EdiLog ediLog = new EdiLog();
|
|
|
-// ediLog.setBillId(details.getId());
|
|
|
-// ediLog.setBillNo(details.getBillNo());
|
|
|
-// ediLog.setMblno(details.getMblno());
|
|
|
-// ediLog.setHblno(details.getHblno());
|
|
|
-// ediLog.setPid(ediTypes.getId());
|
|
|
-// ediLog.setSenderDate(new Date());
|
|
|
-// ediLog.setBranchId(details.getBranchId());
|
|
|
-// ediLog.setCreateDept(details.getCreateDept());
|
|
|
-// ediLog.setCreateTime(details.getCreateTime());
|
|
|
-// ediLog.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// ediLog.setCreateUser(details.getCreateUser());
|
|
|
-// ediLog.setCreateUserName(details.getCreateUserName());
|
|
|
-// ediLog.setRemarks("发送成功");
|
|
|
-// ediLog.setStatus(1);
|
|
|
-// 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());
|
|
|
-// filesCenter.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// filesCenter.setCreateUser(details.getCreateUser());
|
|
|
-// filesCenter.setCreateUserName(details.getCreateUserName());
|
|
|
-// filesCenter.setPid(details.getId());
|
|
|
-// filesCenter.setItemId(ediLog.getId());
|
|
|
-// filesCenter.setBusinessType(details.getBusinessType());
|
|
|
-// filesCenter.setClassifyCode("edi");
|
|
|
-// filesCenter.setGroupCode("INTTRA-SI");
|
|
|
-// filesCenter.setSerialNo(1);
|
|
|
-// filesCenter.setSort(1);
|
|
|
-// filesCenter.setReceivedData(new Date());
|
|
|
-// filesCenter.setIsImage(0);
|
|
|
-// filesCenter.setTenantId(AuthUtil.getTenantId());
|
|
|
-// filesCenterList.add(filesCenter);
|
|
|
-// } else {
|
|
|
-// return R.success(status.get("data").toString());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// billsService.updateBatchById(billsList);
|
|
|
-// } else if ("HYCK".equals(ediTypes.getType()) && "INTTRA-SI-bill".equals(ediTypes.getCode())) {
|
|
|
-// for (Bills details : billsList) {
|
|
|
-// InttraSiBillDto inttraSoDto = new InttraSiBillDto();
|
|
|
-// inttraSoDto.setIdentifying("JMSLOGQDSO");
|
|
|
-// SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd:hhmm");
|
|
|
-// inttraSoDto.setDate(sdf.format(date));
|
|
|
-// SimpleDateFormat sdf1 = new SimpleDateFormat("yyMMddhhmm");
|
|
|
-// String corpId = details.getCorpId().toString();
|
|
|
-// inttraSoDto.setFileExchangeNumber(sdf1.format(date) + corpId.substring(corpId.length() - 4));
|
|
|
-// inttraSoDto.setInformationNo(inttraSoDto.getFileExchangeNumber());
|
|
|
-// inttraSoDto.setIdentificationCode(details.getMblno());
|
|
|
-// if (ObjectUtils.isNotNull(details.getEdiStatus()) && Integer.parseInt(details.getEdiStatus()) > 0) {
|
|
|
-// inttraSoDto.setFilesFunction("5");
|
|
|
-// details.setEdiStatus(Integer.parseInt(details.getEdiStatus()) + 1 + "");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setFilesFunction("9");
|
|
|
-// details.setEdiStatus("1");
|
|
|
-// }
|
|
|
-// inttraSoDto.setFilesDate(sdf1.format(date));
|
|
|
-// inttraSoDto.setTransportTermCode(details.getServiceTerms());
|
|
|
-// inttraSoDto.setLclType("2");
|
|
|
-// inttraSoDto.setRemarks(details.getRemarks());
|
|
|
-// SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
|
|
|
-// if (ObjectUtils.isNotNull(details.getIssueDate())) {
|
|
|
-// inttraSoDto.setIssueDate(sdf2.format(details.getIssueDate()));
|
|
|
-// }
|
|
|
-// inttraSoDto.setBillNo(details.getMblno());
|
|
|
-// inttraSoDto.setPaymentType(details.getMpaymode());
|
|
|
-// inttraSoDto.setVoyageNo(details.getVoyageNo());
|
|
|
-// if (ObjectUtils.isNotNull(details.getVesselId())) {
|
|
|
-// BVessels bVessels = bVesselsService.getById(details.getVesselId());
|
|
|
-// if (bVessels != null) {
|
|
|
-// BCorps bCorps = bCorpsService.getById(bVessels.getCarrierId());
|
|
|
-// if (bCorps != null) {
|
|
|
-// inttraSoDto.setVesselCarrierCode(bCorps.getInttraCode());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setVesselName(details.getVesselEnName());
|
|
|
-// inttraSoDto.setBillLadingType("提单类型");
|
|
|
-// if (details.getStlCrStatus() >= 3 || details.getStlDrStatus() >= 3) {
|
|
|
-// inttraSoDto.setPaymentStatus("27");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setPaymentStatus("26");
|
|
|
-// }
|
|
|
-// inttraSoDto.setBillLadingNumber(new BigDecimal("0"));
|
|
|
-// inttraSoDto.setPackagesNumbers(details.getQuantity());
|
|
|
-// if (ObjectUtils.isNotNull(details.getPackingUnit())) {
|
|
|
-// BPackages bPackages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
|
|
|
-// .eq(BPackages::getCode, details.getPackingUnit()));
|
|
|
-// if (bPackages != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bPackages.getExtendedData());
|
|
|
-// inttraSoDto.setPackagesCode(ediCode);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setPackagesDescribe("");//包装描述
|
|
|
-// inttraSoDto.setMarks(details.getMarks());
|
|
|
-// List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
-// .eq(PreContainers::getPid, details.getId())
|
|
|
-// .eq(PreContainers::getIsDeleted, 0));
|
|
|
-// String boxType = containersList.stream().map(Containers::getCntrTypeCode).collect(Collectors.joining(","));
|
|
|
-// List<BCntrTypes> bCntrTypesList = bCntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
|
|
|
-// .apply("find_in_set(cntr_type,'" + boxType + "')")
|
|
|
-// .eq(BCntrTypes::getIsDeleted, 0));
|
|
|
-// List<Map<String, Object>> box = new ArrayList<>();
|
|
|
-// for (Containers item : containersList) {
|
|
|
-// BCntrTypes bCntrTypes = bCntrTypesList.stream().filter(e -> e.getCntrType().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
-// if (bCntrTypes != null) {
|
|
|
-// String ediCode = RegularUtils.getEdiCode("INTTRA", bCntrTypes.getExtendedData());
|
|
|
-// Map<String, Object> map = new HashMap<>();
|
|
|
-// map.put("boxGoodNumber", item.getQuantity());
|
|
|
-//// map.put("boxGoodWeight", item.getGrossWeight());
|
|
|
-//// map.put("boxGoodMeasurement", item.getMeasurement());
|
|
|
-// map.put("boxCode", ediCode);
|
|
|
-// map.put("boxNo", item.getCntrNo());
|
|
|
-// map.put("shipperBoxIdentification", item.getIsSoc());
|
|
|
-// PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
-// if (preContainers != null) {
|
|
|
-// map.put("temperature", preContainers.getTemperature());
|
|
|
-// map.put("ventilation", preContainers.getVentilation());
|
|
|
-// map.put("temperatureUnit", preContainers.getTemperatureUnit());
|
|
|
-// }
|
|
|
-// box.add(map);
|
|
|
-// } else {
|
|
|
-// throw new RuntimeException("箱型数据错误");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inttraSoDto.setBox(box);
|
|
|
-// /*BigDecimal boxGoodNumber = new BigDecimal("0.00");
|
|
|
-// if (!containersList.isEmpty()) {
|
|
|
-// inttraSoDto.setBoxGoodNumber(containersList.get(0).getQuantity());
|
|
|
-// String boxNumber = containersList.stream().map(Containers::getCntrNo).filter(Objects::nonNull).distinct().collect(Collectors.joining("/"));
|
|
|
-// inttraSoDto.setBoxNo(boxNumber);
|
|
|
-// inttraSoDto.setShipperBoxIdentification("货主箱标识");
|
|
|
-// } else {
|
|
|
-// inttraSoDto.setBoxGoodNumber(boxGoodNumber);
|
|
|
-// }*/
|
|
|
-// if ("danger".equals(details.getCargoType())) {
|
|
|
-// inttraSoDto.setHsCode(new BigDecimal(details.getHscode()));
|
|
|
-// inttraSoDto.setDgImdgCode(details.getDgImdgCode());
|
|
|
-// inttraSoDto.setPageNumber(new BigDecimal("007"));
|
|
|
-// inttraSoDto.setDgUnCode(1);
|
|
|
-// inttraSoDto.setDgFlashPoint(new BigDecimal("1"));
|
|
|
-// inttraSoDto.setDgFlashPointUnit(details.getDgFlashPointUnit());
|
|
|
-// inttraSoDto.setPackingGroup("");//包装组别
|
|
|
-// inttraSoDto.setEmergencyMeasureNo("");//应急措施号
|
|
|
-// inttraSoDto.setDgRemarks(details.getDgRemarks());
|
|
|
-// inttraSoDto.setDgContacts(details.getDgContacts());
|
|
|
-// inttraSoDto.setDgTel(details.getDgTel());
|
|
|
-// }
|
|
|
-// /*inttraSoDto.setBoxCode(details.getQuantityCntrDescr());
|
|
|
-// inttraSoDto.setTemperature(1);
|
|
|
-// inttraSoDto.setTemperatureUnit("温度单位");*/
|
|
|
-// inttraSoDto.setRecordRows(new BigDecimal("10"));
|
|
|
-// inttraSoDto.setInformationNoEnd(inttraSoDto.getInformationNo());
|
|
|
-// inttraSoDto.setFileExchangeNumberEnd(inttraSoDto.getFileExchangeNumber());
|
|
|
-// inttraSoDto.setEdiTypes(ediTypes);
|
|
|
-//
|
|
|
-// Map<String, Object> status = RegularUtils.notNullInttraSiBillDto(inttraSoDto);
|
|
|
-// if (200 == Integer.parseInt(status.get("code").toString())) {
|
|
|
-// FilesCenter filesCenter = iediSenderService.sendingInttraSiBill(inttraSoDto);
|
|
|
-//
|
|
|
-// //发送edi记录
|
|
|
-// EdiLog ediLog = new EdiLog();
|
|
|
-// ediLog.setBillId(details.getId());
|
|
|
-// ediLog.setBillNo(details.getBillNo());
|
|
|
-// ediLog.setMblno(details.getMblno());
|
|
|
-// ediLog.setHblno(details.getHblno());
|
|
|
-// ediLog.setPid(ediTypes.getId());
|
|
|
-// ediLog.setSenderDate(new Date());
|
|
|
-// ediLog.setBranchId(details.getBranchId());
|
|
|
-// ediLog.setCreateDept(details.getCreateDept());
|
|
|
-// ediLog.setCreateTime(details.getCreateTime());
|
|
|
-// ediLog.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// ediLog.setCreateUser(details.getCreateUser());
|
|
|
-// ediLog.setCreateUserName(details.getCreateUserName());
|
|
|
-// ediLog.setRemarks("发送成功");
|
|
|
-// ediLog.setStatus(1);
|
|
|
-// 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());
|
|
|
-// filesCenter.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// filesCenter.setCreateUser(details.getCreateUser());
|
|
|
-// filesCenter.setCreateUserName(details.getCreateUserName());
|
|
|
-// filesCenter.setPid(details.getId());
|
|
|
-// filesCenter.setItemId(ediLog.getId());
|
|
|
-// filesCenter.setBusinessType(details.getBusinessType());
|
|
|
-// filesCenter.setClassifyCode("edi");
|
|
|
-// filesCenter.setGroupCode("INTTRA-SI-bill");
|
|
|
-// filesCenter.setSerialNo(1);
|
|
|
-// filesCenter.setSort(1);
|
|
|
-// filesCenter.setReceivedData(new Date());
|
|
|
-// filesCenter.setIsImage(0);
|
|
|
-// filesCenter.setTenantId(AuthUtil.getTenantId());
|
|
|
-// filesCenterList.add(filesCenter);
|
|
|
-// } else {
|
|
|
-// return R.success(status.get("data").toString());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// billsService.updateBatchById(billsList);
|
|
|
-// } else if ("HYCK".equals(ediTypes.getType()) && "APL-SO".equals(ediTypes.getCode())) {
|
|
|
-// for (Bills details : billsList) {
|
|
|
-// APLSoDto aplSoDto = new APLSoDto();
|
|
|
-// aplSoDto.setMessageType("IFTMBF");
|
|
|
-// aplSoDto.setFileDescription("BOOKING");
|
|
|
-// aplSoDto.setFileFunction("9");
|
|
|
-// aplSoDto.setEdiTypes(ediTypes);
|
|
|
-// aplSoDto.setSenderCode("发送方代码");
|
|
|
-// aplSoDto.setReceiverCode("接收方代码");
|
|
|
-// SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd:hhmm");
|
|
|
-// aplSoDto.setFilesEstablishTime(sdf.format(date));
|
|
|
-// aplSoDto.setOperationNumber(details.getBillNo());
|
|
|
-// aplSoDto.setBillNo(details.getMblno());
|
|
|
-// aplSoDto.setDeliveryTerms("交货条款");
|
|
|
-// aplSoDto.setBookerExplain("订舱人说明");
|
|
|
-// aplSoDto.setSignerCode("签单人代码");
|
|
|
-// aplSoDto.setSignerExplain("签单人说明");
|
|
|
-// aplSoDto.setInquiryParty("询价单位");
|
|
|
-// aplSoDto.setAbroadBookingParty("国外订舱单位");
|
|
|
-// aplSoDto.setTransshipmentIdentification("转船标识");
|
|
|
-// aplSoDto.setInBatches("分批");
|
|
|
-// aplSoDto.setInstallationPeriod(null);
|
|
|
-// aplSoDto.setValidityPeriod(null);
|
|
|
-// aplSoDto.setFreightAgreementNumber("运费协议号");
|
|
|
-// aplSoDto.setRateBookCode("费率本代码");
|
|
|
-// aplSoDto.setServiceContractNumber("服务合同号");
|
|
|
-// aplSoDto.setBondNo("bondNo");
|
|
|
-// aplSoDto.setCabinInteroperabilityIdentification("舱位互用标识");
|
|
|
-// aplSoDto.setBillOfLadingType(details.getBillType());
|
|
|
-// aplSoDto.setBillOfLadingIssuingPlaceCode("提单签发地代码");
|
|
|
-// aplSoDto.setBillOfLadingIssuingPlace("提单签发地");
|
|
|
-// SimpleDateFormat sdf1 = new SimpleDateFormat("CCyyMMdd");
|
|
|
-// aplSoDto.setIssuanceDate(Integer.parseInt(sdf1.format(details.getIssueDate())));
|
|
|
-// aplSoDto.setNumberOfOriginalBillsOfLading(details.getNumberOfOblDigit());
|
|
|
-// aplSoDto.setPrepaidAt(details.getHpayplace());
|
|
|
-// aplSoDto.setPayableAt(details.getMpayplace());
|
|
|
-// aplSoDto.setVesselCallSign("船舶呼号");
|
|
|
-// aplSoDto.setVesselName(details.getVesselCnName());
|
|
|
-// aplSoDto.setVoyage(details.getVoyageNo());
|
|
|
-// aplSoDto.setVesselOperatorCode("船舶经营人代码");
|
|
|
-// aplSoDto.setVesselOperator("船舶经营人");
|
|
|
-// aplSoDto.setBillCarryCode("提单承运人代码");
|
|
|
-// aplSoDto.setBillCarry("提单承运人");
|
|
|
-// aplSoDto.setIssuanceDate(Integer.parseInt(sdf1.format(details.getEtd())));
|
|
|
-// aplSoDto.setTradeCode("航线代码");
|
|
|
-// aplSoDto.setTrade("航线");
|
|
|
-// aplSoDto.setPreVesselCode("前程运输船名代码");
|
|
|
-// aplSoDto.setPreVessel("前程运输船名");
|
|
|
-// aplSoDto.setPreVoyage("前程运输航次");
|
|
|
-// aplSoDto.setPlaceCodeOfReceipt(details.getPlaceReceiptCode());
|
|
|
-// aplSoDto.setPlaceOfReceipt(details.getPlaceReceiptName());
|
|
|
-// aplSoDto.setLoadPortCode(details.getPolCode());
|
|
|
-// aplSoDto.setLoadPort(details.getPolCnName());
|
|
|
-// aplSoDto.setDischargePortCode(details.getPodCode());
|
|
|
-// aplSoDto.setDischargePort(details.getPodCnName());
|
|
|
-// aplSoDto.setTransFerportCode(details.getPotCode());
|
|
|
-// aplSoDto.setTransFerport(details.getPotCnName());
|
|
|
-// aplSoDto.setPlaceoFdeliveryCode(details.getPlaceDeliveryCode());
|
|
|
-// aplSoDto.setPlaceoFdelivery(details.getPlaceDeliveryName());
|
|
|
-// aplSoDto.setFinalDestinationCode(details.getDestinationCode());
|
|
|
-// aplSoDto.setFinalDestination(details.getDestinationName());
|
|
|
-// aplSoDto.setDepotCode("堆场代码");
|
|
|
-// aplSoDto.setOptDischPortCode("可选卸货港代码");
|
|
|
-// aplSoDto.setOptDischPort("可选卸货港");
|
|
|
-// aplSoDto.setOptPlaceOfDeliveryCode("CODE可选交货地代码");
|
|
|
-// aplSoDto.setOptPlaceOfDelivery("可选交货地");
|
|
|
-// aplSoDto.setFrClauseCode("运费条款代码");
|
|
|
-// aplSoDto.setFrEightClause("运费条款");
|
|
|
-// aplSoDto.setFrChCode("运费及费用代码");
|
|
|
-// aplSoDto.setFrChRemark("运费及费用说明");
|
|
|
-// aplSoDto.setPrepaidOrCollect(details.getMpaymode());
|
|
|
-// aplSoDto.setPayableAtE("第三地付款地点代码");
|
|
|
-// aplSoDto.setPayeeCode("收款人代码");
|
|
|
-// aplSoDto.setQuantity("数量");
|
|
|
-// aplSoDto.setCurrency("币种");
|
|
|
-// aplSoDto.setRateOfFrCh("费率");
|
|
|
-// aplSoDto.setUnitOfQuantity("数量单位");
|
|
|
-// aplSoDto.setAmount("金额");
|
|
|
-// aplSoDto.setRemarks(details.getBookingRemarks());
|
|
|
-// aplSoDto.setCargoAmount("货物金额");
|
|
|
-// aplSoDto.setModeOfStuffing("装箱方式");
|
|
|
-// aplSoDto.setShipperCode(details.getHshipperCode());
|
|
|
-// aplSoDto.setShipper(details.getHshipperCnName());
|
|
|
-// aplSoDto.setConsigneeCode(details.getHconsigneeCode());
|
|
|
-// aplSoDto.setConsignee(details.getHconsigneeCnName());
|
|
|
-// aplSoDto.setNotifyCode(details.getHnotifyCode());
|
|
|
-// aplSoDto.setNotify(details.getHnotifyCnName());
|
|
|
-// aplSoDto.setAlsoNotifyCode(details.getHnotify2Code());
|
|
|
-// aplSoDto.setAlsoNotify(details.getHnotify2CnName());
|
|
|
-// aplSoDto.setCargoSequenceNo(1);//货物序号
|
|
|
-// aplSoDto.setCargoCode("货类代码");
|
|
|
-// aplSoDto.setCargoId("货物标识");
|
|
|
-// aplSoDto.setNumbersOfPkgs(1);//第一层包装件数
|
|
|
-// aplSoDto.setCodeOfPkgs("第一层包装类型");
|
|
|
-// aplSoDto.setPackagesDes("第一层包装说明");
|
|
|
-// aplSoDto.setCargoGrossWt(new BigDecimal("0.00"));//第一层包装皮重
|
|
|
-// aplSoDto.setCargoMeasurement(new BigDecimal("0.00"));//第一层包装尺码
|
|
|
-// aplSoDto.setNumbersOfPackages(new BigDecimal("0.00"));//第二层包装件数
|
|
|
-// aplSoDto.setCodeOfPkgs2("第二层包装类型");
|
|
|
-// aplSoDto.setPackagesDes2("第二层包装说明");
|
|
|
-// aplSoDto.setCargoGrossWt2(new BigDecimal("0.00"));//第二层包装皮重
|
|
|
-// aplSoDto.setCargoMeasurement2(new BigDecimal("0.00"));//第二层包装尺码
|
|
|
-// aplSoDto.setCargoGrossWeight(details.getGrossWeight());
|
|
|
-// aplSoDto.setCargoNetWeight(details.getNetWeight());
|
|
|
-// aplSoDto.setQuarantineCodingCode("检疫代码");
|
|
|
-// aplSoDto.setQuarantineCoding("检疫名称");
|
|
|
-// aplSoDto.setDgClass(details.getDgImdgCode());
|
|
|
-// aplSoDto.setPage("危险品页号");
|
|
|
-// aplSoDto.setUndgNo(1);
|
|
|
-// aplSoDto.setLabel("危险品标签");
|
|
|
-// aplSoDto.setFlashPoint(details.getDgFlashPointUnit());
|
|
|
-// aplSoDto.setEmsNo("船运危险品应急措施号");
|
|
|
-// aplSoDto.setMfagNo("医疗急救指南号");
|
|
|
-// aplSoDto.setMptMarinePollutant("海运污染");
|
|
|
-// aplSoDto.setEmergencyContact("应急联系");
|
|
|
-// aplSoDto.setReeferVentilationFlux("冷藏通风量");
|
|
|
-// aplSoDto.setTemperatureId("温度计量单位");
|
|
|
-// aplSoDto.setTemperatureSetting("设置温度");
|
|
|
-// aplSoDto.setMinTemperature("冷藏最低温度");
|
|
|
-// aplSoDto.setMaxTemperature("冷藏最高温度");
|
|
|
-// aplSoDto.setOverLengthFront(1);
|
|
|
-// aplSoDto.setOverLengthBack(1);
|
|
|
-// aplSoDto.setOverWidthLeft(1);
|
|
|
-// aplSoDto.setOverWidthRight(1);
|
|
|
-// aplSoDto.setOverHeight(1);
|
|
|
-// aplSoDto.setMarks(details.getMarks());
|
|
|
-// aplSoDto.setCargoDescription("货物描述");
|
|
|
-// aplSoDto.setCtnSizeType("集装箱尺寸类型");
|
|
|
-// aplSoDto.setCtnNumbers(1);
|
|
|
-// aplSoDto.setCtnStatus("集装箱状态");
|
|
|
-// aplSoDto.setMasterLclNo("主拼号");
|
|
|
-// aplSoDto.setCntModeOfStuffing("装箱方式");
|
|
|
-// aplSoDto.setVanningDepotCode("装箱地点代码");
|
|
|
-// aplSoDto.setVanningDepot("装箱地点说明");
|
|
|
-// aplSoDto.setContainerSoc("货主箱标志");
|
|
|
-// aplSoDto.setCtnNo("箱号");
|
|
|
-// aplSoDto.setCtnTypeSize("箱型尺寸");
|
|
|
-// aplSoDto.setSealNo("铅封号");
|
|
|
-// aplSoDto.setCtnNumbersOfPackages(details.getQuantity().intValue());
|
|
|
-// aplSoDto.setCtnCargoNetWeight(details.getGrossWeight());
|
|
|
-// aplSoDto.setCargoTareWeight(new BigDecimal("0.00"));
|
|
|
-// aplSoDto.setRecordTotalOfFile(1);
|
|
|
-// FilesCenter filesCenter = iediSenderService.sendingAplSo(aplSoDto);
|
|
|
-//
|
|
|
-// //发送edi记录
|
|
|
-// EdiLog ediLog = new EdiLog();
|
|
|
-// ediLog.setBillId(details.getId());
|
|
|
-// ediLog.setBillNo(details.getBillNo());
|
|
|
-// ediLog.setMblno(details.getMblno());
|
|
|
-// ediLog.setHblno(details.getHblno());
|
|
|
-// ediLog.setPid(ediTypes.getId());
|
|
|
-// ediLog.setSenderDate(new Date());
|
|
|
-// ediLog.setBranchId(details.getBranchId());
|
|
|
-// ediLog.setCreateDept(details.getCreateDept());
|
|
|
-// ediLog.setCreateTime(details.getCreateTime());
|
|
|
-// ediLog.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// ediLog.setCreateUser(details.getCreateUser());
|
|
|
-// ediLog.setCreateUserName(details.getCreateUserName());
|
|
|
-// ediLog.setRemarks("发送成功");
|
|
|
-// ediLog.setStatus(1);
|
|
|
-// 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());
|
|
|
-// filesCenter.setCreateDeptName(details.getCreateDeptName());
|
|
|
-// filesCenter.setCreateUser(details.getCreateUser());
|
|
|
-// filesCenter.setCreateUserName(details.getCreateUserName());
|
|
|
-// filesCenter.setPid(details.getId());
|
|
|
-// filesCenter.setItemId(ediLog.getId());
|
|
|
-// filesCenter.setBusinessType(details.getBusinessType());
|
|
|
-// filesCenter.setClassifyCode("edi");
|
|
|
-// filesCenter.setGroupCode("APL-SO");
|
|
|
-// filesCenter.setSerialNo(1);
|
|
|
-// filesCenter.setSort(1);
|
|
|
-// filesCenter.setReceivedData(new Date());
|
|
|
-// filesCenter.setIsImage(0);
|
|
|
-// filesCenter.setTenantId(AuthUtil.getTenantId());
|
|
|
-// filesCenterList.add(filesCenter);
|
|
|
-// }
|
|
|
-// billsService.updateBatchById(billsList);
|
|
|
-// } else if ("HYCK".equals(ediTypes.getType()) && "APL-SI".equals(ediTypes.getCode())) {
|
|
|
-// for (Bills details : billsList) {
|
|
|
-// //数据处理
|
|
|
-// }
|
|
|
-// billsService.updateBatchById(billsList);
|
|
|
-// }
|
|
|
-// filesCenterService.saveOrUpdateBatch(filesCenterList);
|
|
|
-// return R.data("发送成功");
|
|
|
- }
|
|
|
-
|
|
|
- private InttraSoDto buildEDI_InttraSO(EdiTypes ediTypes, List<Bills> billsList, List<Containers> containersList){
|
|
|
- return null;
|
|
|
-
|
|
|
- }
|
|
|
- private InttraSiDto buildEDI_InttraSI(){
|
|
|
- return null;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private APLSoDto buildEDI_APLSO(){
|
|
|
- return null;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private APLSoDto buildEDI_APLSI(){
|
|
|
- return null;
|
|
|
}
|
|
|
}
|