Browse Source

当用户选择供应商生产日期时,失效日期需要按供应商生产日期+有效期重新同步到IFS

master
han\hanst 1 month ago
parent
commit
48ffd25eda
  1. 15
      src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java

15
src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java

@ -233,9 +233,10 @@ public class PoServiceImpl extends ServiceImpl<PoMapper, PurchaseOrder> implemen
} else { } else {
inData.setNeedHandlingUnit("Y"); inData.setNeedHandlingUnit("Y");
} }
// 创建Handling Unit相关数据
// 创建Handling Unit相关数据仅收集本次操作生成的HU
List<HandlingUnit> currentHandlingUnits = new ArrayList<>();
for (int i = 0; i < inData.getHandlingUnitList().size(); i++) { for (int i = 0; i < inData.getHandlingUnitList().size(); i++) {
handlingUnitPart(inData, i, transHeader, currentUser,shelfLife,receiptDetail);
currentHandlingUnits.addAll(handlingUnitPart(inData, i, transHeader, currentUser,shelfLife,receiptDetail));
} }
// 免检更新库存 待检验的出入库记录状态为待检验 // 免检更新库存 待检验的出入库记录状态为待检验
if ("N".equals(inData.getNeedCheck())) { if ("N".equals(inData.getNeedCheck())) {
@ -250,11 +251,6 @@ public class PoServiceImpl extends ServiceImpl<PoMapper, PurchaseOrder> implemen
Date supplierExpiryDate = calculateExpiryDate(inData.getSupplierManufactureDate(), shelfLife); Date supplierExpiryDate = calculateExpiryDate(inData.getSupplierManufactureDate(), shelfLife);
if (supplierExpiryDate != null) { if (supplierExpiryDate != null) {
inData.setExpiredDate(supplierExpiryDate); inData.setExpiredDate(supplierExpiryDate);
List<HandlingUnit> currentHandlingUnits = handlingUnitService.lambdaQuery()
.eq(HandlingUnit::getSite, inData.getSite())
.eq(HandlingUnit::getSourceType, "PO_RECEIVE")
.eq(HandlingUnit::getSourceRef, transHeader.getTransNo())
.list();
changeExpiryDate(currentHandlingUnits, inData); changeExpiryDate(currentHandlingUnits, inData);
} }
} }
@ -266,8 +262,9 @@ public class PoServiceImpl extends ServiceImpl<PoMapper, PurchaseOrder> implemen
} }
} }
private void handlingUnitPart(TransDetailDto inData, int i, TransHeader transHeader,
private List<HandlingUnit> handlingUnitPart(TransDetailDto inData, int i, TransHeader transHeader,
SysUserEntity currentUser, Integer shelfLife,PoReceiptDetail receiptDetail) { SysUserEntity currentUser, Integer shelfLife,PoReceiptDetail receiptDetail) {
List<HandlingUnit> createdHandlingUnits = new ArrayList<>();
TransDetailSubDto huInfo = inData.getHandlingUnitList().get(i); TransDetailSubDto huInfo = inData.getHandlingUnitList().get(i);
Date supplierManufactureDate = inData.getSupplierManufactureDate(); Date supplierManufactureDate = inData.getSupplierManufactureDate();
for (int j = 0; j < huInfo.getPackageQty(); j++) { for (int j = 0; j < huInfo.getPackageQty(); j++) {
@ -403,7 +400,9 @@ public class PoServiceImpl extends ServiceImpl<PoMapper, PurchaseOrder> implemen
huInfo.getPerQty(), currentUser.getUserDisplay(), huInfo.getPerQty(), currentUser.getUserDisplay(),
"Y", "保存成功" "Y", "保存成功"
); );
createdHandlingUnits.add(handlingUnit);
} }
return createdHandlingUnits;
} }
private void genInventoryStock(TransDetailDto inData, TransHeader transHeader, PoReceiptDetail receiptDetail) { private void genInventoryStock(TransDetailDto inData, TransHeader transHeader, PoReceiptDetail receiptDetail) {

Loading…
Cancel
Save