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.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<PickingMaterialD
*/
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
*/
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.todo.PickingMaterialDetailDO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -21,6 +22,8 @@ public interface PickingMaterialDetailMapper extends BaseMapper<PickingMaterialD
*/
public List<PickingMaterialDetailPO> 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<PickingMaterialD
*/
public int addQuantity(PickingMaterialDetailDOByUpdate pickingMaterialDetailDOByUpdate);
}
}
@@ -61,6 +61,12 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
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.outOrderAbnormal.repository.facade.IOutOrderAbnormalService;
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.pickingOrder.repository.todo.PickingOrderDO;
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.waveOrder.factorys.WaveOrderServiceFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -121,6 +124,8 @@ public class StockOutOrderDomainService {
private MaterialBaseInfoMapper materialBaseInfoMapper;
@Autowired
private MaterialInventoryMapper materialInventoryMapper;
@Autowired
private IPickingMaterialDetailService pickingMaterialDetailService;
/**
* 分页查询出库单列表
@@ -672,6 +677,7 @@ public class StockOutOrderDomainService {
* 获取出库单复核详细信息
*/
public StockOutOrderPO getCheckInfo(StockOutOrderDO stockOutOrderDO) {
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().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;
@@ -182,6 +182,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</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 picking_material_detail
<set>