fix(库存): 修复OMS/WMS库存查询过期日期不回显
根因:业务只在OMS填写饮用日期,且下发DTO无过期日期字段,饮用日期→过期日期的转换仅存在于收货单生成瞬间,后续环节全部丢失。 - InMaterialDetail(DTO) 补充 expiryDate 字段,打通OMS→WMS传递 - 预约单/执行单下发前:过期日期为空时用饮用日期补齐(治本) - WMS收货批次属性回写:恢复饮用日期回写并兜底转换为过期日期(加固) - WMS上架确认:过期日期为空时从收货明细兜底补齐(加固)
This commit is contained in:
+5
@@ -626,6 +626,11 @@ public class ExecutionStockInOrderDomainService {
|
||||
inMaterialDetail.setOrganizationId(orgId);
|
||||
inMaterialDetail.setOrganizationName(orgName);
|
||||
inMaterialDetail.setTopOrganizationId(topOrgId);
|
||||
// 过期日期为空且饮用日期有值时,用饮用日期补齐过期日期(食品业务饮用日期即效期),
|
||||
// 确保下发WMS后入库/收货/库存链路的过期日期能正常回显
|
||||
if (inMaterialDetail.getExpiryDate() == null && inMaterialDetail.getDrinkDate() != null) {
|
||||
inMaterialDetail.setExpiryDate(inMaterialDetail.getDrinkDate());
|
||||
}
|
||||
inMaterialDetailList.add(inMaterialDetail);
|
||||
}
|
||||
wmsServiceFeign.omsInOrderAddDetail(inMaterialDetailList);
|
||||
|
||||
+5
@@ -580,6 +580,11 @@ public class ReservationStockInOrderDomainService {
|
||||
InMaterialDetail inMaterialDetail = new InMaterialDetail();
|
||||
BeanUtils.copyProperties(reservationInMaterialDetail, inMaterialDetail, "materialDetailId");
|
||||
inMaterialDetail.setOmsInMaterialDetail(String.valueOf(reservationInMaterialDetail.getMaterialDetailId()));
|
||||
// 过期日期为空且饮用日期有值时,用饮用日期补齐过期日期(食品业务饮用日期即效期),
|
||||
// 确保下发WMS后入库/收货/库存链路的过期日期能正常回显
|
||||
if (inMaterialDetail.getExpiryDate() == null && inMaterialDetail.getDrinkDate() != null) {
|
||||
inMaterialDetail.setExpiryDate(inMaterialDetail.getDrinkDate());
|
||||
}
|
||||
inMaterialDetailList.add(inMaterialDetail);
|
||||
}
|
||||
wmsServiceFeign.omsInOrderAddDetail(inMaterialDetailList); // 推明细(会触发WMS自动审核)
|
||||
|
||||
Reference in New Issue
Block a user