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 d02e1fe2d..48ca4551b 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 @@ -4140,19 +4140,29 @@ public class EmisBaseService { List toAdd = new ArrayList<>(); for (EmisTransPlanRule node : topLevelNodes) { - // 柯桥市场部 + //南京市场部 if ("25001".equals(node.getStartSiteCode())) { + List filterRules = allRules.stream().filter(i -> "25000".equals(i.getStartSiteCode())).collect(Collectors.toList()); EmisTransPlanRule copyRule = new EmisTransPlanRule(); BeanUtils.copyProperties(node, copyRule); copyRule.setStartSiteCode("25000"); + copyRule.setStartSiteName("南京分拨中心"); + if(CollectionUtil.isNotEmpty(filterRules)){ + copyRule.setManager(filterRules.get(0).getManager()); + } toAdd.add(copyRule); continue; } - // 南京市场部 + // 柯桥市场部 if ("57502".equals(node.getStartSiteCode())) { + List filterRules = allRules.stream().filter(i -> "57501".equals(i.getStartSiteCode())).collect(Collectors.toList()); EmisTransPlanRule copyRule = new EmisTransPlanRule(); BeanUtils.copyProperties(node, copyRule); copyRule.setStartSiteCode("57501"); + copyRule.setStartSiteName("柯桥分拨中心"); + if(CollectionUtil.isNotEmpty(filterRules)){ + copyRule.setManager(filterRules.get(0).getManager()); + } toAdd.add(copyRule); } } @@ -5119,6 +5129,9 @@ public class EmisBaseService { emisWaybill.setVirtualRemark(virtualRemark); emisWaybill.setId(masterWaybill.getId()); emisWaybillMapper.updateEmisWaybill(emisWaybill); + if(StringUtil.isNotBlank(emisWaybillOld.getMasterBillCode())){ + updateOldMasterBill(emisWaybillSave,emisWaybillOld.getMasterBillCode()); + } } public EmisWaybill checkVirtualParam(EmisWaybill emisWaybillSave, EmisWaybill emisWaybillOld) throws EmisBizError { @@ -5181,17 +5194,7 @@ public class EmisBaseService { String masterBillCode = emisWaybillOld.getMasterBillCode(); if (StringUtil.isNotBlank(masterBillCode)) { emisWaybillSave.setMasterBillCode(" "); - String virtualBillCode = emisWaybillSave.getBillCode(); - EmisWaybill masterWaybill = emisWaybillMapper - .selectEmisWaybillByBillCode(masterBillCode); - List filterVirtualRemark = Arrays.stream(masterWaybill.getVirtualRemark().split(",")) - .filter(i -> !i.equals(virtualBillCode)).collect(Collectors.toList()); - String virtualRemark = String.join(",", filterVirtualRemark); - if(StringUtil.isBlank(virtualRemark)) { - virtualRemark = " "; - } - masterWaybill.setVirtualRemark(virtualRemark); - emisWaybillMapper.updateEmisWaybill(masterWaybill); + updateOldMasterBill(emisWaybillSave, masterBillCode); if (!"078".equals(emisWaybillSave.getTransLineType())) { emisWaybillProblemInfoService.deleteEmisWaybillProblemInfoByBillCode(emisWaybillSave.getBillCode()); } @@ -5201,6 +5204,20 @@ public class EmisBaseService { } } + private void updateOldMasterBill(EmisWaybill emisWaybillSave, String masterBillCode) { + String virtualBillCode = emisWaybillSave.getBillCode(); + EmisWaybill masterWaybill = emisWaybillMapper + .selectEmisWaybillByBillCode(masterBillCode); + List filterVirtualRemark = Arrays.stream(masterWaybill.getVirtualRemark().split(",")) + .filter(i -> !i.equals(virtualBillCode)).collect(Collectors.toList()); + String virtualRemark = String.join(",", filterVirtualRemark); + if(StringUtil.isBlank(virtualRemark)) { + virtualRemark = " "; + } + masterWaybill.setVirtualRemark(virtualRemark); + emisWaybillMapper.updateEmisWaybill(masterWaybill); + } + public static void main(String[] args) throws ParseException { // Date startDate = new Date("202"); Date startDate= new SimpleDateFormat("yyyy-MM-dd").parse("2025-05-11"); diff --git a/emis-biz/src/main/resources/mapper/EmisQuotePriceMapper.xml b/emis-biz/src/main/resources/mapper/EmisQuotePriceMapper.xml index c9d65596a..2f70bce1a 100644 --- a/emis-biz/src/main/resources/mapper/EmisQuotePriceMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisQuotePriceMapper.xml @@ -183,8 +183,7 @@ and ( disp_area_id=#{dispAreaId} or disp_area_site_code='-1' ) and ( send_area_id=#{sendAreaId} or send_area_site_code='-1') and ( - ( start_date #{startDate} and #{startDate} end_date ) or ( start_date - #{endDate} and #{endDate} end_date ) + start_date <= #{endDate} and end_date >= #{startDate} )