收货修改
This commit is contained in:
+6
-2
@@ -488,8 +488,12 @@ public class StockInOrderDomainService {
|
||||
// 复制特定字段:生产日期、过期日期、存货日期、批次参考号、单据参考号、箱号/卡板号、扩展属性1-4
|
||||
// 这些字段可能使用驼峰命名或下划线命名,使用反射获取和设置
|
||||
copySpecialFields(inMaterialDetailPO, receiptMaterialDetailDO);
|
||||
//收货计划数量赋值
|
||||
receiptMaterialDetailDO.setQuantity(inMaterialDetailPO.getInboundQuantity());
|
||||
// 收货计划数量:与入库明细「计划数量」quantity 一致;inbound_quantity 常为空(仅占位或后置填报),不能单用它否则会变成 0
|
||||
BigDecimal planQty = inMaterialDetailPO.getQuantity();
|
||||
if (planQty == null) {
|
||||
planQty = inMaterialDetailPO.getInboundQuantity();
|
||||
}
|
||||
receiptMaterialDetailDO.setQuantity(planQty);
|
||||
receiptMaterialDetailDOList.add(receiptMaterialDetailDO);
|
||||
});
|
||||
stockReceiptOrderDO.setMaterialDetailList(receiptMaterialDetailDOList);
|
||||
|
||||
+15
@@ -1191,6 +1191,7 @@ public class StockReceiptOrderDomainService {
|
||||
shelfMaterialDetailDO.setExtAttr4(sdf.parse(receiptMaterialDetailDO.getExtAttr4()));
|
||||
} catch (Exception e) { }
|
||||
}
|
||||
applyReceiptLotNoToShelfLotNumber(shelfMaterialDetailDO, receiptMaterialDetailDO.getLotNo());
|
||||
shelfMaterialDetailDOList.add(shelfMaterialDetailDO);
|
||||
}
|
||||
// 子项有收货数量时,每个子项生成一条上架明细(一明细两子项 → 两条上架明细)
|
||||
@@ -1230,6 +1231,7 @@ public class StockReceiptOrderDomainService {
|
||||
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailDOChildren.getExtAttr4()));
|
||||
} catch (Exception e) { }
|
||||
}
|
||||
applyReceiptLotNoToShelfLotNumber(shelfMaterialDetailDOChildren, receiptMaterialDetailDOChildren.getLotNo());
|
||||
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren);
|
||||
});
|
||||
}
|
||||
@@ -1329,6 +1331,7 @@ public class StockReceiptOrderDomainService {
|
||||
// 如果转换失败,不设置该字段
|
||||
}
|
||||
}
|
||||
applyReceiptLotNoToShelfLotNumber(shelfMaterialDetailDO, receiptMaterialDetailPO.getLotNo());
|
||||
shelfMaterialDetailDOList.add(shelfMaterialDetailDO);
|
||||
receiptQuantity = receiptQuantity.add(receiptMaterialDetailPO.getReceiptQuantity());
|
||||
}
|
||||
@@ -1370,6 +1373,7 @@ public class StockReceiptOrderDomainService {
|
||||
shelfMaterialDetailDOChildren.setExtAttr4(sdf.parse(receiptMaterialDetailPOChildren.getExtAttr4()));
|
||||
} catch (Exception e) { }
|
||||
}
|
||||
applyReceiptLotNoToShelfLotNumber(shelfMaterialDetailDOChildren, receiptMaterialDetailPOChildren.getLotNo());
|
||||
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren);
|
||||
receiptQuantity = receiptQuantity.add(receiptMaterialDetailPOChildren.getReceiptQuantity());
|
||||
}
|
||||
@@ -1450,6 +1454,7 @@ public class StockReceiptOrderDomainService {
|
||||
// 如果转换失败,不设置该字段
|
||||
}
|
||||
}
|
||||
applyReceiptLotNoToShelfLotNumber(shelfMaterialDetailDO, receiptMaterialDetailPO.getLotNo());
|
||||
// 处理子项:如果子项的已收货数量为0,跳过该子项
|
||||
if (receiptMaterialDetailPO.getChildren() != null && !receiptMaterialDetailPO.getChildren().isEmpty()) {
|
||||
receiptMaterialDetailPO.getChildren().forEach(receiptMaterialDetailDOChildren -> {
|
||||
@@ -1491,6 +1496,7 @@ public class StockReceiptOrderDomainService {
|
||||
// 如果转换失败,不设置该字段
|
||||
}
|
||||
}
|
||||
applyReceiptLotNoToShelfLotNumber(shelfMaterialDetailDOChildren, receiptMaterialDetailDOChildren.getLotNo());
|
||||
shelfMaterialDetailDOList.add(shelfMaterialDetailDOChildren);
|
||||
});
|
||||
}
|
||||
@@ -1958,4 +1964,13 @@ public class StockReceiptOrderDomainService {
|
||||
public List<StockReceiptOrderPO> queryPrintInfo(StockReceiptOrderDTO stockReceiptOrderDTO) {
|
||||
return stockReceiptOrderService.queryPrintInfo(stockReceiptOrderDTO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 收货明细为 lot_no,上架明细为 lot_number,字段名不同,BeanUtils.copyProperties 不会拷贝,生成上架明细时显式赋值。
|
||||
*/
|
||||
private static void applyReceiptLotNoToShelfLotNumber(ShelfMaterialDetailDO shelf, String receiptLotNo) {
|
||||
if (shelf != null) {
|
||||
shelf.setLotNumber(receiptLotNo);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user