|
|
|
@ -682,12 +682,12 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
} |
|
|
|
// 过滤掉发票号不一致的数据 |
|
|
|
excelList.removeIf(data -> !inData.getCmcInvoice().equals(data.getCmcInvoice())); |
|
|
|
|
|
|
|
|
|
|
|
// 检查过滤后是否还有数据 |
|
|
|
if (excelList.isEmpty()) { |
|
|
|
throw new RuntimeException("导入失败:Excel中没有与发货通知单["+inData.getCmcInvoice()+"]一致的发票号数据"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<EcssCoDelNotifyHeaderData> notifyHeader = coDelMapper.checkIfHasHeader(excelList.get(0).getCmcInvoice()); |
|
|
|
EcssCoDelNotifyHeaderData headerData; |
|
|
|
if (notifyHeader.isEmpty()) { |
|
|
|
@ -1708,7 +1708,26 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
template.addVar("packageType", stringInput(ecHeader.getPackageType())); |
|
|
|
template.addVar("packageQty", data.getPackageUnit()!=null&&data.getPackageUnit().equals("箱")?ecHeader.getBoxQty():ecHeader.getPackageQty()); |
|
|
|
template.addVar("packageUnit", data.getPackageUnit()); |
|
|
|
template.addVar("grossWeight", ecHeader.getGrossWeight() != null ? ecHeader.getGrossWeight().setScale(2, RoundingMode.HALF_UP) : ""); |
|
|
|
// 托盘重量=根据每个pallet的重量*数量累加 |
|
|
|
EcssCoDelNotifyHeaderData notifyHeader = coDelMapper.getEcssCoDelNotifyHeader(data.getSite(), data.getDelNo()); |
|
|
|
List<EcssCoDelPalletHeaderData> palletHeaderDataList = coDelMapper.searchEcssCoDelPalletHeaderData(notifyHeader); |
|
|
|
BigDecimal palletWeight = BigDecimal.ZERO; |
|
|
|
for (EcssCoDelPalletHeaderData palletHeader : palletHeaderDataList) { |
|
|
|
if (palletHeader.getPallet() != null && !palletHeader.getPallet().isEmpty()) { |
|
|
|
// 根据pallet编号查询EcssPallet信息 |
|
|
|
List<EcssPalletData> palletDataList = coDelMapper.getPallet(notifyHeader.getSite(), notifyHeader.getBuNo(), palletHeader.getPallet()); |
|
|
|
if (!palletDataList.isEmpty()) { |
|
|
|
EcssPalletData palletData = palletDataList.get(0); |
|
|
|
if (palletData.getPalletWeight() != null && palletHeader.getPalletQty() != null) { |
|
|
|
// 栈板重量 = 单个栈板重量 * 数量 |
|
|
|
BigDecimal singlePalletWeight = palletData.getPalletWeight().multiply(BigDecimal.valueOf(palletHeader.getPalletQty())); |
|
|
|
palletWeight = palletWeight.add(singlePalletWeight); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
BigDecimal grossWeight = ecHeader.getGrossWeight() != null ? ecHeader.getGrossWeight() : BigDecimal.ZERO; |
|
|
|
template.addVar("grossWeight", (grossWeight.add(palletWeight)).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("netWeight", ecHeader.getNetWeight() != null ? ecHeader.getNetWeight().setScale(2, RoundingMode.HALF_UP) : ""); |
|
|
|
template.addVar("paymentType", stringInput(ecHeader.getPaymentType())); |
|
|
|
template.addVar("shipPrice", ecHeader.getShipPrice() != null ? ecHeader.getShipPrice().setScale(2, RoundingMode.HALF_UP) : ""); |
|
|
|
@ -2044,7 +2063,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
} |
|
|
|
} |
|
|
|
template.addVar("Total_Cartons", totalCartons.setScale(0, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("Gross_Weight", grossWeight.setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("Gross_Weight", (grossWeight.add(palletWeight)).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("Net_Weight", netWeight.setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_weight", (grossWeight.add(palletWeight)).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_netweight", netWeight.setScale(2, RoundingMode.HALF_UP)); |
|
|
|
@ -2526,7 +2545,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
public void copyEcssTemplate(EcssTemplate data) { |
|
|
|
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); |
|
|
|
String site = coDelMapper.getSiteByBu(data.getBuNo()); |
|
|
|
|
|
|
|
|
|
|
|
// 检查目标模板名称是否已存在 |
|
|
|
EcssTemplate checkData = new EcssTemplate(); |
|
|
|
checkData.setBuNo(data.getBuNo()); |
|
|
|
@ -2535,27 +2554,27 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
if(!existingTemplates.isEmpty()){ |
|
|
|
throw new RuntimeException("目标BU中模版["+data.getName()+"]已存在!"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 获取原模板数据 |
|
|
|
EcssTemplate sourceTemplate = coDelMapper.getEcssTemplateByBuAndName(data.getNameNative(), data.getSite()); |
|
|
|
if(sourceTemplate == null) { |
|
|
|
throw new RuntimeException("原模版不存在!"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 复制模板数据 |
|
|
|
sourceTemplate.setBuNo(data.getBuNo()); |
|
|
|
sourceTemplate.setName(data.getName()); |
|
|
|
sourceTemplate.setSite(site); |
|
|
|
sourceTemplate.setCreateBy(currentUser.getUsername()); |
|
|
|
sourceTemplate.setAddFlag(0); // 设置为新增标识 |
|
|
|
|
|
|
|
|
|
|
|
// 根据目标BU调整kgs参数 |
|
|
|
if("03-RFID".equals(data.getBuNo())) { |
|
|
|
sourceTemplate.setKgs(new BigDecimal("4.5")); |
|
|
|
} else if("01-Label".equals(data.getBuNo())) { |
|
|
|
sourceTemplate.setKgs(new BigDecimal("2.5")); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 插入新模板 |
|
|
|
coDelMapper.insertEcssTemplateData(sourceTemplate); |
|
|
|
} |
|
|
|
|