diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/po/HandoverTaskOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/po/HandoverTaskOrderPO.java index b06f77832..6b1077fbb 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/po/HandoverTaskOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/po/HandoverTaskOrderPO.java @@ -7,7 +7,10 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import com.mhd.wms.domain.taskHandoverMaterialDetail.repository.po.TaskHandoverMaterialDetailPO; + import java.util.Date; +import java.util.List; /** @@ -136,4 +139,7 @@ public class HandoverTaskOrderPO extends BaseVOEntity { @ApiModelProperty("app上传的图片") private String pictureApp; + @ApiModelProperty("物料明细(根据复核单数据生成,数量为复核数量)") + private List materialDetailList; + } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java index 9513be5b0..185ac586b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java @@ -21,6 +21,7 @@ import com.mhd.wms.domain.materialInventory.entity.MaterialInventory; import com.mhd.wms.domain.materialInventory.repository.mapper.MaterialInventoryMapper; import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail; import com.mhd.wms.domain.outMaterialDetail.repository.mapper.OutMaterialDetailMapper; +import com.mhd.wms.domain.taskHandoverMaterialDetail.repository.po.TaskHandoverMaterialDetailPO; import com.mhd.wms.domain.shiftManage.repository.po.ShiftManagePO; import com.mhd.wms.domain.shiftManage.repository.todo.ShiftManageDO; import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder; @@ -94,10 +95,59 @@ public class HandoverTaskOrderDomainService { /** * 获取交接作业单详细信息 + * 物料明细根据复核单(out_material_detail)数据生成,数量使用复核数量(check_quantity),不需要复核时使用拣货数量(picking_quantity) */ public HandoverTaskOrderPO getInfo(Long outTaskOrderId) { - return handoverTaskOrderService.getInfo(outTaskOrderId); + HandoverTaskOrderPO handoverTaskOrderPO = handoverTaskOrderService.getInfo(outTaskOrderId); + if (handoverTaskOrderPO == null) { + return null; + } + // 根据复核单数据生成物料明细:按出库单号查询 out_material_detail,使用复核数量 + String orderNumber = handoverTaskOrderPO.getOrderNumber(); + if (orderNumber != null && !orderNumber.trim().isEmpty()) { + List outMaterialDetailList = outMaterialDetailMapper.selectList( + new QueryWrapper().lambda() + .eq(OutMaterialDetail::getOutOrderNumber, orderNumber) + .eq(OutMaterialDetail::getDelFlag, 1)); + List materialDetailList = new ArrayList<>(); + for (OutMaterialDetail omd : outMaterialDetailList) { + TaskHandoverMaterialDetailPO detail = new TaskHandoverMaterialDetailPO(); + detail.setMaterialDetailId(omd.getMaterialDetailId()); + detail.setUniqueId(omd.getUniqueId()); + detail.setTaskNumber(handoverTaskOrderPO.getTaskNumber()); + detail.setOrganizationId(omd.getOrganizationId()); + detail.setOrganizationName(omd.getOrganizationName()); + detail.setTopOrganizationId(omd.getTopOrganizationId()); + detail.setMaterialBaseInfoId(omd.getMaterialBaseInfoId()); + detail.setMaterialCode(omd.getMaterialCode() != null ? omd.getMaterialCode() : omd.getMaterialNo()); + detail.setMaterialName(omd.getMaterialName() != null ? omd.getMaterialName() : omd.getCommodityName()); + detail.setBarCode(omd.getBarCode()); + detail.setWeightLimit(omd.getWeightLimit()); + detail.setVolumeLimit(omd.getVolumeLimit()); + detail.setQuantity(omd.getQuantity()); + detail.setPickingQuantity(omd.getPickingQuantity()); + // 物料明细数量:优先使用复核数量(复核单数据),不需要复核时使用拣货数量 + BigDecimal handoverQuantity = omd.getCheckQuantity(); + if (handoverQuantity == null || handoverQuantity.compareTo(BigDecimal.ZERO) <= 0) { + handoverQuantity = omd.getPickingQuantity() != null ? omd.getPickingQuantity() : omd.getQuantity(); + } + detail.setCheckQuantity(handoverQuantity); + detail.setPackId(omd.getPackId()); + detail.setPackCode(omd.getPackCode()); + detail.setPackName(omd.getPackName()); + detail.setPackDetailId(omd.getPackDetailId() != null ? String.valueOf(omd.getPackDetailId()) : null); + detail.setUnitCode(omd.getUnitCode()); + detail.setUnitName(omd.getUnitName()); + detail.setUnitNumber(omd.getUnitNumber()); + detail.setMaterialWarehouseControlId(omd.getMaterialWarehouseControlId()); + detail.setSerialNumberManage(omd.getSerialNumberManage()); + detail.setRemark(omd.getRemark()); + materialDetailList.add(detail); + } + handoverTaskOrderPO.setMaterialDetailList(materialDetailList); + } + return handoverTaskOrderPO; }