diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsTransPlan.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsTransPlan.java index a83ed80eb..3fb5e192c 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsTransPlan.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsTransPlan.java @@ -19,6 +19,8 @@ import com.xdadan.erp.common.core.domain.TreeEntity; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import lombok.Data; @@ -46,4 +48,8 @@ public class EmisTmsTransPlan extends BaseEntity /* 状态 1-启用 0-不启用 */ private String status; + // 非数据库字段 + + private List stepList; + } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index ad2174569..492cba0c7 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -320,11 +320,24 @@ public class EmisBaseService { */ public void updatePrintStatus(String billCode) { - EmisWaybill waybill = new EmisWaybill(); - waybill.setBillCode(billCode); - waybill.setPrintManCode(getCurrentUser().getEmpCode()); - emisWaybillMapper.updatePrintStatus(waybill); + boolean isSubBill=false; + // 判断是否是子单 + String queryBillCode = ""; + String subBillSuffix = ""; + if(queryBillCode.startsWith("T7080") && queryBillCode.length()>14 ){ + isSubBill = true; + queryBillCode=billCode.substring(0,14); + subBillSuffix=billCode.substring(14); + } + if(!isSubBill) { + EmisWaybill waybill = new EmisWaybill(); + waybill.setBillCode(billCode); + waybill.setPrintManCode(getCurrentUser().getEmpCode()); + emisWaybillMapper.updatePrintStatus(waybill); + } + + // 插入打单记录 } @@ -381,11 +394,34 @@ public class EmisBaseService { return null; } - EmisWaybill waybill = emisWaybillMapper.selectEmisWaybillByBillCode(billCode); + + boolean isSubBill=false; + // 判断是否是子单 + String queryBillCode = ""; + String subBillSuffix = ""; + if(queryBillCode.startsWith("T7080") && queryBillCode.length()>14 ){ + isSubBill = true; + queryBillCode=billCode.substring(0,14); + subBillSuffix=billCode.substring(14); + } + + EmisWaybill waybill = emisWaybillMapper.selectEmisWaybillByBillCode(queryBillCode); if (waybill == null) { return null; } + if(Integer.valueOf(subBillSuffix)>waybill.getParcelQty()){ + // 子单尾数超过总件数,查不到信息 + return null; + } + + + String parcelQty="0"; + if(waybill.getParcelQty()!=null){ + parcelQty=waybill.getParcelQty().toString(); + } + + Map order = new HashMap<>(); order.put("orderSn", waybill.getOrderSn()); order.put("ydSn", billCode); @@ -433,10 +469,23 @@ public class EmisBaseService { order.put("packageWJC", packageWJC); order.put("package3dm", package3dm); - order.put("address", waybill.getReceiveAddress()); - order.put("company", waybill.getReceiveCompany()); - order.put("mobile", waybill.getReceiveMobile()); - order.put("consignee", waybill.getReceiveName()); + // 如果是子单收件人信息需要加密 + String address=waybill.getReceiveAddress(); + String company=waybill.getReceiveCompany(); + String mobile=waybill.getReceiveMobile(); + String consignee=waybill.getReceiveName(); + + if(isSubBill){ + address=Convert.address(address); + mobile=Convert.mobile(mobile); + consignee=Convert.chineseNameFirst(consignee); + company=Convert.chineseNameFirst(company); + } + + order.put("address", address); + order.put("company", company); + order.put("mobile", mobile); + order.put("consignee", consignee); String custName=waybill.getReceiveCompany(); if ( "2".equals(waybill.getPaymentType()) || "4".equals(waybill.getPaymentType()) || "5".equals(waybill.getPaymentType()) ) { @@ -485,11 +534,7 @@ public class EmisBaseService { String billWeight="0.0"; String totalVolume="0.0"; - String parcelQty="0"; - if(waybill.getParcelQty()!=null){ - parcelQty=waybill.getParcelQty().toString(); - } if(waybill.getBillWeight()!=null){ billWeight=waybill.getBillWeight().stripTrailingZeros().toPlainString(); @@ -1014,9 +1059,17 @@ public class EmisBaseService { // System.out.println(packageWJC); // System.out.println(package3dm); - String mainBillCode="T7080300000379"; - String shortLogisticNo=mainBillCode.substring(mainBillCode.length() - 6); - System.out.println(shortLogisticNo); + String mainBillCode="T70803000003790001"; + + boolean isSubBill=false; + // 判断是否是子单 + String queryBillCode=mainBillCode; + if(queryBillCode.startsWith("T7080") && queryBillCode.length()>14 ){ + isSubBill = true; + queryBillCode=queryBillCode.substring(0,14); + String subBillSuffix=mainBillCode.substring(14); + System.out.println(Integer.valueOf(subBillSuffix)); + } } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsTransPlanServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsTransPlanServiceImpl.java index f6a38d1b4..510af6b6c 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsTransPlanServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsTransPlanServiceImpl.java @@ -11,6 +11,10 @@ package com.xdadan.erp.emis.service.impl; import java.util.List; + +import cn.hutool.core.collection.CollectionUtil; +import com.xdadan.erp.emis.domain.EmisTmsTransPlanDtl; +import com.xdadan.erp.emis.mapper.EmisTmsTransPlanDtlMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xdadan.erp.emis.domain.EmisTmsTransPlan; @@ -29,6 +33,10 @@ public class EmisTmsTransPlanServiceImpl implements IEmisTmsTransPlanService @Autowired private EmisTmsTransPlanMapper emisTmsTransPlanMapper; + @Autowired + private EmisTmsTransPlanDtlMapper emisTmsTransPlanDtlMapper; + + /** * 查询TMS承运线路计划 * @@ -62,7 +70,18 @@ public class EmisTmsTransPlanServiceImpl implements IEmisTmsTransPlanService @Override public int insertEmisTmsTransPlan(EmisTmsTransPlan emisTmsTransPlan) { - return emisTmsTransPlanMapper.insertEmisTmsTransPlan(emisTmsTransPlan); + // 插入主数据 + int rst=emisTmsTransPlanMapper.insertEmisTmsTransPlan(emisTmsTransPlan); + // 插入明细数据 + + if(!CollectionUtil.isEmpty(emisTmsTransPlan.getStepList())){ + for (EmisTmsTransPlanDtl step:emisTmsTransPlan.getStepList()) { + step.setPlanId(emisTmsTransPlan.getId()); + emisTmsTransPlanDtlMapper.insertEmisTmsTransPlanDtl(step); + } + } + + return 1; } /**