|
|
|
@ -817,16 +817,35 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
for (int i = 0; i < excelList.size(); i++) { |
|
|
|
excelList.get(i).setDelNo(headerData.getDelNo()); |
|
|
|
excelList.get(i).setItemNo(i + 1); |
|
|
|
excelList.get(i).setModifyFlag(true); |
|
|
|
|
|
|
|
// 判断数量是否变化:按itemNo匹配原数据,比较同一行的数量是否变化 |
|
|
|
// 判断数据是否变化:按itemNo匹配原数据,对比PN和数量 |
|
|
|
Integer itemNo = i + 1; |
|
|
|
EcssCoDelNotifyDetailData originalDetail = originalDataMap.get(itemNo); |
|
|
|
|
|
|
|
// 如果原数据中不存在该itemNo(新增行),或者pn不同(换料),或者数量不同,则标记modifyQtyFlag=true |
|
|
|
if (originalDetail == null || |
|
|
|
!originalDetail.getPn().equals(excelList.get(i).getPn()) || |
|
|
|
!originalDetail.getQty().equals(excelList.get(i).getQty())) { |
|
|
|
// 判断是否有修改(包括新增、换料、数量变更) |
|
|
|
boolean isModified = false; |
|
|
|
boolean isQtyModified = false; |
|
|
|
|
|
|
|
if (originalDetail == null) { |
|
|
|
// 新增行:原数据中不存在该itemNo |
|
|
|
isModified = true; |
|
|
|
isQtyModified = true; |
|
|
|
} else if (!originalDetail.getPn().equals(excelList.get(i).getPn())) { |
|
|
|
// 换料:PN不同 |
|
|
|
isModified = true; |
|
|
|
isQtyModified = true; |
|
|
|
} else if (!originalDetail.getQty().equals(excelList.get(i).getQty())) { |
|
|
|
// 数量变更:PN相同但数量不同 |
|
|
|
isModified = true; |
|
|
|
isQtyModified = true; |
|
|
|
} |
|
|
|
// 其他情况:PN和数量都相同,无变化,isModified保持false |
|
|
|
|
|
|
|
// 只有真正有变化的才标记modifyFlag=true |
|
|
|
excelList.get(i).setModifyFlag(isModified); |
|
|
|
|
|
|
|
// 设置数量变化标记 |
|
|
|
if (isQtyModified) { |
|
|
|
excelList.get(i).setModifyQtyFlag(true); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -3997,7 +4016,12 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
// 将通知单状态更新为已下达 |
|
|
|
headerData.setNotifyStatus("已下达"); |
|
|
|
coDelMapper.changeEcssDelStatus(headerData); |
|
|
|
|
|
|
|
clearPalletData(headerData); |
|
|
|
EcssCoDelPalletHeaderData inData = new EcssCoDelPalletHeaderData(); |
|
|
|
inData.setSite(headerData.getSite()); |
|
|
|
inData.setBuNo(headerData.getBuNo()); |
|
|
|
inData.setDelNo(headerData.getDelNo()); |
|
|
|
coDelMapper.deletePalletHeader(inData); |
|
|
|
log.info("发货通知单{}状态已更新为已下达", headerData.getDelNo()); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|