diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 503f6f450..d6e4f94ed 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -443,7 +443,7 @@ public class EmisWaybillController extends EmisBaseController emisWaybillService.realSubmitOrder(emisWaybillSave); JSONObject jObjOut = new JSONObject(); - jObjOut.put("billCode", waybillOrder.getBillCode()); + jObjOut.put("billCode", emisWaybillSave.getBillCode()); // jObjOut.put("prodName", waybillOrder.getProductType()); return AjaxResult.success("下单成功", jObjOut); 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 b40ac351a..e40f385ce 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 @@ -4975,6 +4975,8 @@ public class EmisBaseService { miss.setCreateBy("system"); miss.setCreateTime(now); miss.setCreateSite("88888"); + miss.setStartSiteCode(waybill.getStartSiteCode()); + miss.setNextSiteCode(waybill.getDestinationCode()); return miss; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 30007022b..540c1d0d9 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -3169,6 +3169,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb */ private void addNewWaybill(EmisWaybill emisWaybillSave) throws EmisBizError { + // 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T + modifyBillCode(emisWaybillSave); + // 获取运单号,判断是不是子单已存在 boolean isExists = checkWaybillIsExists(emisWaybillSave.getBillCode()); if(isExists){ @@ -3354,6 +3357,32 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } } + private static void modifyBillCode(EmisWaybill emisWaybillSave) { + if ("0095".equals(emisWaybillSave.getSendCountry()) || "0855".equals(emisWaybillSave.getSendCountry())) { + // 处理主单号,去除第一个T + if (emisWaybillSave.getBillCode() != null && emisWaybillSave.getBillCode().startsWith("T")) { + emisWaybillSave.setBillCode(emisWaybillSave.getBillCode().substring(1)); + } + + // 处理子单号,对每个用逗号分隔的单号去除第一个T + if (emisWaybillSave.getBillCodeSub() != null && !emisWaybillSave.getBillCodeSub().isEmpty()) { + String[] subBillCodes = emisWaybillSave.getBillCodeSub().split(","); + StringBuilder processedSubBillCodes = new StringBuilder(); + for (int i = 0; i < subBillCodes.length; i++) { + String subBillCode = subBillCodes[i].trim(); + if (subBillCode.startsWith("T")) { + subBillCode = subBillCode.substring(1); + } + if (i > 0) { + processedSubBillCodes.append(","); + } + processedSubBillCodes.append(subBillCode); + } + emisWaybillSave.setBillCodeSub(processedSubBillCodes.toString()); + } + } + } + public void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError { EmisTransLine emisTransLine = new EmisTransLine(); emisTransLine.setLineCode(emisWaybillSave.getTransLineType()); @@ -3416,6 +3445,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb */ private void addNewWaybillByOms(EmisWaybill emisWaybillSave) throws EmisBizError { + // 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T + modifyBillCode(emisWaybillSave); + // 设定为客户下单,下单时间为当前时间 this.resetOmsWaybillData(emisWaybillSave);