diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java index ff112e22d..927a883aa 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/InMaterialDetail.java @@ -375,6 +375,11 @@ public class InMaterialDetail extends BaseVOEntity { @DateTimeFormat(pattern="yyyy-MM-dd") private Date drinkDate; + @ApiModelProperty("过期日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date expiryDate; + @ApiModelProperty("来货验收是否合格;1 合格,0 不合格") @Excel(name = "来货验收是否合格;1 合格,0 不合格") private String arrivalAcceptQualified; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java index 22d304bfe..0a18e0d0f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java @@ -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); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java index 591c799b1..bd8852799 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java @@ -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自动审核) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java index ba78bc34f..c4a2dee8d 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java @@ -743,14 +743,19 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl() + .eq(ReceiptMaterialDetail::getUniqueId, shelfMaterialDetail.getReceiptUniqueId()) + .last("LIMIT 1")); + if (receiptDetail != null) { + if (receiptDetail.getExpiryDate() != null) { + shelfMaterialDetail.setExpiryDate(receiptDetail.getExpiryDate()); + } else if (receiptDetail.getDrinkDate() != null) { + shelfMaterialDetail.setExpiryDate(receiptDetail.getDrinkDate()); + } + } + } Long shipperId = stockReceiptOrderDO.getShipperId(); MaterialInventory param = getParam(shelfMaterialDetail, fieldNames, shipperId,stockReceiptOrderDO.getInOrderNumber()); List materialInventoryPOS = materialInventoryMapper.selectListByWhere(param);