Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
zhou-hongcheng
2026-02-24 16:20:05 +08:00
5 changed files with 46 additions and 4 deletions
@@ -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.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO; import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO; import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -23,6 +24,8 @@ public interface IPickingMaterialDetailService extends IService<PickingMaterialD
*/ */
public List<PickingMaterialDetailPO> queryList(PickingMaterialDetailDO pickingMaterialDetailDO); public List<PickingMaterialDetailPO> queryList(PickingMaterialDetailDO pickingMaterialDetailDO);
public PickingMaterialDetailPO queryTotalsByOutNumberAndBaseId(String orderNumber, Long materialBaseInfoId, Long materialInventoryId);
/** /**
* 新增拣货单物料明细 * 新增拣货单物料明细
*/ */
@@ -72,4 +75,4 @@ public interface IPickingMaterialDetailService extends IService<PickingMaterialD
* @return Boolean * @return Boolean
*/ */
public Boolean addQuantity(PickingMaterialDetailDOByUpdate pickingMaterialDetailDOByUpdate); public Boolean addQuantity(PickingMaterialDetailDOByUpdate pickingMaterialDetailDOByUpdate);
} }
@@ -5,6 +5,7 @@ import com.mhd.wms.domain.pickingMaterialDetail.entity.PickingMaterialDetail;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO; import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO; import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate; import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -21,6 +22,8 @@ public interface PickingMaterialDetailMapper extends BaseMapper<PickingMaterialD
*/ */
public List<PickingMaterialDetailPO> queryList(PickingMaterialDetailDO pickingMaterialDetailDO); public List<PickingMaterialDetailPO> queryList(PickingMaterialDetailDO pickingMaterialDetailDO);
public PickingMaterialDetailPO queryTotalsByOutNumberAndBaseId(@Param("orderNumber") String orderNumber, @Param("materialBaseInfoId") Long materialBaseInfoId, @Param("materialInventoryId") Long materialInventoryId);
/** /**
* @description 根据拣货单增加拣货数量 * @description 根据拣货单增加拣货数量
* @author ZhouGY * @author ZhouGY
@@ -30,4 +33,4 @@ public interface PickingMaterialDetailMapper extends BaseMapper<PickingMaterialD
*/ */
public int addQuantity(PickingMaterialDetailDOByUpdate pickingMaterialDetailDOByUpdate); public int addQuantity(PickingMaterialDetailDOByUpdate pickingMaterialDetailDOByUpdate);
} }
@@ -61,6 +61,12 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
return pickingMaterialDetailMapper.queryList(pickingMaterialDetailDO); return pickingMaterialDetailMapper.queryList(pickingMaterialDetailDO);
} }
@Override
public PickingMaterialDetailPO queryTotalsByOutNumberAndBaseId(String orderNumber, Long materialBaseInfoId, Long materialInventoryId)
{
return pickingMaterialDetailMapper.queryTotalsByOutNumberAndBaseId(orderNumber, materialBaseInfoId, materialInventoryId);
}
/** /**
* 新增拣货单物料明细 * 新增拣货单物料明细
*/ */
@@ -46,6 +46,8 @@ import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailBas
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO; import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
import com.mhd.wms.domain.outOrderAbnormal.repository.facade.IOutOrderAbnormalService; import com.mhd.wms.domain.outOrderAbnormal.repository.facade.IOutOrderAbnormalService;
import com.mhd.wms.domain.outOrderAbnormal.repository.todo.OutOrderAbnormalBaseDO; import com.mhd.wms.domain.outOrderAbnormal.repository.todo.OutOrderAbnormalBaseDO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO; import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO; import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import com.mhd.wms.domain.pickingOrder.service.PickingOrderDomainService; import com.mhd.wms.domain.pickingOrder.service.PickingOrderDomainService;
@@ -61,6 +63,7 @@ import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO; import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.domain.waveOrder.factorys.WaveOrderServiceFactory; import com.mhd.wms.domain.waveOrder.factorys.WaveOrderServiceFactory;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -121,6 +124,8 @@ public class StockOutOrderDomainService {
private MaterialBaseInfoMapper materialBaseInfoMapper; private MaterialBaseInfoMapper materialBaseInfoMapper;
@Autowired @Autowired
private MaterialInventoryMapper materialInventoryMapper; private MaterialInventoryMapper materialInventoryMapper;
@Autowired
private IPickingMaterialDetailService pickingMaterialDetailService;
/** /**
* 分页查询出库单列表 * 分页查询出库单列表
@@ -672,6 +677,7 @@ public class StockOutOrderDomainService {
* 获取出库单复核详细信息 * 获取出库单复核详细信息
*/ */
public StockOutOrderPO getCheckInfo(StockOutOrderDO stockOutOrderDO) { public StockOutOrderPO getCheckInfo(StockOutOrderDO stockOutOrderDO) {
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda() StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
.eq(StockOutOrder::getDelFlag, 1) .eq(StockOutOrder::getDelFlag, 1)
.eq(StockOutOrder::getOutOrderNumber, stockOutOrderDO.getOutOrderNumber())); .eq(StockOutOrder::getOutOrderNumber, stockOutOrderDO.getOutOrderNumber()));
@@ -681,8 +687,8 @@ public class StockOutOrderDomainService {
if (stockOutOrder.getReview() != 1){ if (stockOutOrder.getReview() != 1){
throw new ServiceException("出库单【" + stockOutOrderDO.getOutOrderNumber() + "】不需要复核"); throw new ServiceException("出库单【" + stockOutOrderDO.getOutOrderNumber() + "】不需要复核");
} }
if (stockOutOrder.getStatus() != 7){ if (stockOutOrder.getStatus() != 7 && stockOutOrder.getStatus() != 8){
throw new ServiceException("出库单【" + stockOutOrderDO.getOutOrderNumber() + "】状态不是拣货完成"); throw new ServiceException("出库单【" + stockOutOrderDO.getOutOrderNumber() + "】状态不是拣货完成或复核中");
} }
StockOutOrderPO stockOutOrderPO = new StockOutOrderPO(); StockOutOrderPO stockOutOrderPO = new StockOutOrderPO();
BeanUtils.copyProperties(stockOutOrder, stockOutOrderPO); BeanUtils.copyProperties(stockOutOrder, stockOutOrderPO);
@@ -692,6 +698,19 @@ public class StockOutOrderDomainService {
for (OutMaterialDetailPO outMaterialDetailPO : outMaterialDetailPOList) { for (OutMaterialDetailPO outMaterialDetailPO : outMaterialDetailPOList) {
outMaterialDetailPO.setMaterialCode(outMaterialDetailPO.getMaterialNo()); outMaterialDetailPO.setMaterialCode(outMaterialDetailPO.getMaterialNo());
outMaterialDetailPO.setMaterialName(outMaterialDetailPO.getCommodityName()); 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); stockOutOrderPO.setMaterialDetailList(outMaterialDetailPOList);
BigDecimal weightLimit = BigDecimal.ZERO; BigDecimal weightLimit = BigDecimal.ZERO;
@@ -182,6 +182,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </select>
<select id="queryTotalsByOutNumberAndBaseId" resultType="com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO">
SELECT
b.TOTAL_AREA,b.TOTAL_VOLUME,b.TOTAL_NET_WEIGHT,b.TOTAL_GROSS_WEIGHT
FROM
"PICKING_ORDER" a
LEFT JOIN PICKING_MATERIAL_DETAIL b ON a.PICKING_ORDER_NUMBER = b.PICKING_ORDER_NUMBER
WHERE
a.ORDER_NUMBER = #{orderNumber} and b.MATERIAL_BASE_INFO_ID = #{materialBaseInfoId} and b.MATERIAL_INVENTORY_ID = #{materialInventoryId}
</select>
<update id="addQuantity" parameterType="com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate"> <update id="addQuantity" parameterType="com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate">
UPDATE picking_material_detail UPDATE picking_material_detail
<set> <set>