Merge branch 'dev_lzh_wms_20260120' into wms_dev

This commit is contained in:
zhou-hongcheng
2026-02-05 19:29:00 +08:00
5 changed files with 102 additions and 3 deletions
@@ -1,5 +1,6 @@
package com.mhd.wms.domain.deliveTask.repository.persistence;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.core.domain.dto.NoticeMessageLoggingDto;
import com.mhd.common.core.enums.MessageTypeEnum;
@@ -8,17 +9,33 @@ import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.application.service.pickingOrder.PickingOrderApplicationService;
import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService;
import com.mhd.wms.domain.deliveTask.entity.DeliveTask;
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
import com.mhd.wms.domain.deliveTask.repository.mapper.DeliveTaskMapper;
import com.mhd.wms.domain.deliveTask.repository.po.DeliveTaskPO;
import com.mhd.wms.domain.deliveTask.repository.po.DeliveTaskSumPO;
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.interfaces.assember.pickingOrder.PickingOrderAssembler;
import com.mhd.wms.interfaces.assember.stockOutOrder.StockOutOrderAssembler;
import com.mhd.wms.interfaces.dto.pickingOrder.PickingOrderDTO;
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -35,6 +52,22 @@ public class DeliveTaskImpl extends ServiceImpl<DeliveTaskMapper, DeliveTask> im
private DeliveTaskMapper deliveTaskMapper;
@Autowired
private SystemServiceFeign systemServiceFeign;
@Autowired
private IHandoverTaskOrderService handoverTaskOrderService;
@Autowired
private IPickingOrderService pickingOrderService;
@Resource
private PickingOrderAssembler pickingOrderAssembler;
@Lazy
@Autowired
private StockOutOrderApplicationService stockOutOrderApplicationService;
@Resource
private StockOutOrderAssembler stockOutOrderAssembler;
/**
* 查询下发任务列表
*/
@@ -55,8 +88,42 @@ public class DeliveTaskImpl extends ServiceImpl<DeliveTaskMapper, DeliveTask> im
}else{
}
return deliveTaskMapper.queryListApp(deliveTaskDO);
List<DeliveTaskPO> deliveTaskPOS = deliveTaskMapper.queryListApp(deliveTaskDO);
if (deliveTaskDO.getTaskType() == 7){
statistics(deliveTaskPOS);
}
return deliveTaskPOS;
}
//关联查询物料种类
private void statistics(List<DeliveTaskPO> deliveTaskPOS) {
for (DeliveTaskPO deliveTaskPO : deliveTaskPOS) {
String trackingNumber = deliveTaskPO.getTrackingNumber();
String orderNumber = handoverTaskOrderService.getOne(new LambdaQueryWrapper<HandoverTaskOrder>()
.eq(HandoverTaskOrder::getTaskNumber, trackingNumber)).getOrderNumber();//出库单号
PickingOrderDTO pickingOrderDTO = new PickingOrderDTO();
pickingOrderDTO.setOrderNumber(orderNumber);
PickingOrderDO pickingOrderDO = pickingOrderAssembler.toDO(pickingOrderDTO);
PickingOrderPO pickingOrderPOS = pickingOrderService.queryList(pickingOrderDO).get(0);
if (pickingOrderPOS != null){
Integer materialQuantity = pickingOrderPOS.getMaterialQuantity();//物料种类数
BigDecimal pickingQuantity = pickingOrderPOS.getPickingQuantity();//已拣货数量
deliveTaskPO.setMaterialQuantity(materialQuantity);
deliveTaskPO.setPickingQuantity(pickingQuantity);
}
StockOutOrderDTO stockOutOrderDTO = new StockOutOrderDTO();
stockOutOrderDTO.setOutOrderNumber(orderNumber);
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
StockOutOrderPO checkInfo = null;
try {
checkInfo = stockOutOrderApplicationService.getCheckInfo(stockOutOrderDO);
BigDecimal checkQuantity = checkInfo.getCheckQuantity();//复核数量
deliveTaskPO.setCheckQuantity(checkQuantity);
} catch (Exception e) {
}
}
}
/**
* 新增下发任务
*/
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@@ -115,4 +116,13 @@ public class DeliveTaskPO extends BaseVOEntity {
@Excel(name = "是否下发 0-否 1-是")
private Integer taskSum;
@ApiModelProperty("物料种类数")
private Integer materialQuantity;
@ApiModelProperty("拣货数量")
private BigDecimal pickingQuantity;
@ApiModelProperty("复核数量")
private BigDecimal checkQuantity;
}
@@ -1,10 +1,14 @@
package com.mhd.wms.interfaces.facadeApi.stockOutOrder;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
import com.mhd.wms.application.service.handoverTaskOrder.HandoverTaskOrderApplicationService;
import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
import com.mhd.wms.domain.stockOutOrder.repository.listener.ExcelParseService;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
@@ -42,6 +46,9 @@ public class StockOutOrderApi extends BaseController {
@Resource
private StockOutOrderAssembler stockOutOrderAssembler;
@Autowired
private IHandoverTaskOrderService handoverTaskOrderService;
/**
* 分页查询出库单列表
*/
@@ -129,6 +136,17 @@ public class StockOutOrderApi extends BaseController {
{
return AjaxResult.success(stockOutOrderApplicationService.getInfoChildren(outOrderId));
}
/**
* 根据出库单号获取出库单详细信息
*/
@ApiOperation("获取出库单")
@GetMapping(value = "/getInfoOutOrderNumber")
public AjaxResult getInfoOutOrderNumber(String outOrderNumber)
{
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getOne(new LambdaQueryWrapper<HandoverTaskOrder>()
.eq(HandoverTaskOrder::getTaskNumber, outOrderNumber));
return AjaxResult.success(stockOutOrderApplicationService.getInfoChildren(handoverTaskOrder.getHandoverTaskOrderId()));
}
/**
* 审核出库单
@@ -53,7 +53,7 @@ public class StockShelfOrderAppApi extends BaseController {
@GetMapping(value = "/getInfo")
public AjaxResult getInfo(Long shelfOrderId)
{
return AjaxResult.success(stockShelfOrderApplicationService.getInfoByApp(shelfOrderId));
return AjaxResult.success(stockShelfOrderApplicationService.getInfo(shelfOrderId));
}
@@ -59,11 +59,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="inventoryDate" column="inventory_date" />
<result property="extAttr3" column="ext_attr_3" />
<result property="extAttr4" column="ext_attr_4" />
<result property="totalNetWeight" column="total_net_weight" />
<result property="totalGrossWeight" column="total_gross_weight" />
<result property="totalVolume" column="total_volume" />
<result property="totalArea" column="total_area" />
</resultMap>
<sql id="selectShelfMaterialDetailPo">
select material_detail_id, organization_id, organization_name, top_organization_id, unique_id, shelf_order_number, material_base_info_id, material_code, material_name, bar_code, quantity, already_shelves_quantity, shelves_quantity, shelves_status, pack_id, pack_code, pack_name, pack_detail_id, unit_code, unit_name, unit_number, material_warehouse_control_id, serial_number_manage, quality_inspection_manage, quality_inspection_stage, quality_inspection_rule, quality_inspection_ratio, quality_inspection_term, quality_inspection_results, allow_overcharge, overcharge_ratio, batch_number, material_status_code, material_status_name, distribute_rule_id, distribute_rule_code, distribute_rule_name, container_id, container_code, container_type, container_type_name, warehouse_id, warehouse_code, warehouse_name, storage_section_id, storage_code, storage_name, storage_location_id, storage_location_code, storage_location_name, level, parent_unique_id, in_unique_id, receipt_unique_id, allow_modify, remark, batch_ref_no, sheet_ref_no, box_pallet_no, ext_attr_1, ext_attr_2, production_date, expiry_date, inventory_date, ext_attr_3, ext_attr_4, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag from shelf_material_detail
select material_detail_id, organization_id, organization_name, top_organization_id, unique_id, shelf_order_number, material_base_info_id, material_code, material_name, bar_code, quantity, already_shelves_quantity, shelves_quantity, shelves_status, pack_id, pack_code, pack_name, pack_detail_id, unit_code, unit_name, unit_number, material_warehouse_control_id, serial_number_manage, quality_inspection_manage, quality_inspection_stage, quality_inspection_rule, quality_inspection_ratio, quality_inspection_term, quality_inspection_results, allow_overcharge, overcharge_ratio, batch_number, material_status_code, material_status_name, distribute_rule_id, distribute_rule_code, distribute_rule_name, container_id, container_code, container_type, container_type_name, warehouse_id, warehouse_code, warehouse_name, storage_section_id, storage_code, storage_name, storage_location_id, storage_location_code, storage_location_name, level, parent_unique_id, in_unique_id, receipt_unique_id, allow_modify, remark, batch_ref_no, sheet_ref_no, box_pallet_no, ext_attr_1, ext_attr_2, production_date, expiry_date, inventory_date, ext_attr_3, ext_attr_4, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag,total_net_weight,total_gross_weight,total_volume,total_area from shelf_material_detail
</sql>
<sql id="selectShelfMaterialDetailPo1">