diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java index 88d9c733d..6bec7acd7 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/facade/IPickingMaterialDetailService.java @@ -7,6 +7,7 @@ import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialD import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate; import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO; import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -23,6 +24,8 @@ public interface IPickingMaterialDetailService extends IService queryList(PickingMaterialDetailDO pickingMaterialDetailDO); + public PickingMaterialDetailPO queryTotalsByOutNumberAndBaseId(String orderNumber, Long materialBaseInfoId, Long materialInventoryId); + /** * 新增拣货单物料明细 */ @@ -72,4 +75,4 @@ public interface IPickingMaterialDetailService extends IService queryList(PickingMaterialDetailDO pickingMaterialDetailDO); + public PickingMaterialDetailPO queryTotalsByOutNumberAndBaseId(@Param("orderNumber") String orderNumber, @Param("materialBaseInfoId") Long materialBaseInfoId, @Param("materialInventoryId") Long materialInventoryId); + /** * @description 根据拣货单增加拣货数量 * @author ZhouGY @@ -30,4 +33,4 @@ public interface PickingMaterialDetailMapper extends BaseMapper().lambda() .eq(StockOutOrder::getDelFlag, 1) .eq(StockOutOrder::getOutOrderNumber, stockOutOrderDO.getOutOrderNumber())); @@ -681,8 +687,8 @@ public class StockOutOrderDomainService { if (stockOutOrder.getReview() != 1){ throw new ServiceException("出库单【" + stockOutOrderDO.getOutOrderNumber() + "】不需要复核"); } - if (stockOutOrder.getStatus() != 7){ - throw new ServiceException("出库单【" + stockOutOrderDO.getOutOrderNumber() + "】状态不是拣货完成"); + if (stockOutOrder.getStatus() != 7 && stockOutOrder.getStatus() != 8){ + throw new ServiceException("出库单【" + stockOutOrderDO.getOutOrderNumber() + "】状态不是拣货完成或复核中"); } StockOutOrderPO stockOutOrderPO = new StockOutOrderPO(); BeanUtils.copyProperties(stockOutOrder, stockOutOrderPO); @@ -692,6 +698,19 @@ public class StockOutOrderDomainService { for (OutMaterialDetailPO outMaterialDetailPO : outMaterialDetailPOList) { outMaterialDetailPO.setMaterialCode(outMaterialDetailPO.getMaterialNo()); outMaterialDetailPO.setMaterialName(outMaterialDetailPO.getCommodityName()); + Long materialBaseInfoId = outMaterialDetailPO.getMaterialBaseInfoId(); + Long materialInventoryId = outMaterialDetailPO.getMaterialInventoryId(); + PickingMaterialDetailPO pickingMaterialDetailPO = pickingMaterialDetailService.queryTotalsByOutNumberAndBaseId(outOrderNumber, materialBaseInfoId, materialInventoryId); + if (ObjectUtils.isNotEmpty(pickingMaterialDetailPO)) { + outMaterialDetailPO.setTotalArea(pickingMaterialDetailPO.getTotalArea()); + outMaterialDetailPO.setTotalVolume(pickingMaterialDetailPO.getTotalVolume()); + outMaterialDetailPO.setTotalNetWeight(pickingMaterialDetailPO.getTotalNetWeight()); + outMaterialDetailPO.setTotalGrossWeight(pickingMaterialDetailPO.getTotalGrossWeight()); + outMaterialDetailPO.setCheckArea(pickingMaterialDetailPO.getTotalArea()); + outMaterialDetailPO.setCheckVolume(pickingMaterialDetailPO.getTotalVolume()); + outMaterialDetailPO.setCheckNetWeight(pickingMaterialDetailPO.getTotalNetWeight()); + outMaterialDetailPO.setCheckGrossWeight(pickingMaterialDetailPO.getTotalGrossWeight()); + } } stockOutOrderPO.setMaterialDetailList(outMaterialDetailPOList); BigDecimal weightLimit = BigDecimal.ZERO; diff --git a/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml b/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml index 6fbd85fe6..1a8de8ba3 100644 --- a/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml +++ b/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml @@ -182,6 +182,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + UPDATE picking_material_detail