PDA出库[拣货,复核,出库交接]修改
This commit is contained in:
+24
-15
@@ -19,6 +19,8 @@ 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.outMaterialDetail.entity.OutMaterialDetail;
|
||||
import com.mhd.wms.domain.outMaterialDetail.repository.facade.IOutMaterialDetailService;
|
||||
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;
|
||||
@@ -74,6 +76,9 @@ public class DeliveTaskImpl extends ServiceImpl<DeliveTaskMapper, DeliveTask> im
|
||||
@Autowired
|
||||
private IStockOutOrderService stockOutOrderService;
|
||||
|
||||
@Autowired
|
||||
private IOutMaterialDetailService outMaterialDetailService;
|
||||
|
||||
/**
|
||||
* 查询下发任务列表
|
||||
*/
|
||||
@@ -107,34 +112,38 @@ public class DeliveTaskImpl extends ServiceImpl<DeliveTaskMapper, DeliveTask> im
|
||||
String trackingNumber = deliveTaskPO.getTrackingNumber();
|
||||
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getOne(new LambdaQueryWrapper<HandoverTaskOrder>()
|
||||
.eq(HandoverTaskOrder::getTaskNumber, trackingNumber));
|
||||
if (handoverTaskOrder == null) {
|
||||
continue;
|
||||
}
|
||||
deliveTaskPO.setHandoverStatus(handoverTaskOrder.getStatus());//交接状态: 1-未交接 2-已交接,与PC端保持一致
|
||||
String orderNumber = handoverTaskOrder.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();//物料种类数
|
||||
List<PickingOrderPO> pickingList = pickingOrderService.queryList(pickingOrderDO);
|
||||
if (!pickingList.isEmpty()) {
|
||||
PickingOrderPO pickingOrderPOS = pickingList.get(0);
|
||||
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) {
|
||||
}
|
||||
// 物料种类数:从出库明细按料号去重统计
|
||||
long materialQuantity = outMaterialDetailService.list(new LambdaQueryWrapper<OutMaterialDetail>()
|
||||
.eq(OutMaterialDetail::getOutOrderNumber, orderNumber))
|
||||
.stream()
|
||||
.map(d -> d.getMaterialCode() != null && !d.getMaterialCode().isEmpty() ? d.getMaterialCode() : d.getMaterialNo())
|
||||
.filter(c -> c != null && !c.isEmpty())
|
||||
.distinct()
|
||||
.count();
|
||||
deliveTaskPO.setMaterialQuantity((int) materialQuantity);
|
||||
// 已复核数量、出库单信息:直接从出库单获取(getCheckInfo仅支持复核中状态会抛异常)
|
||||
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper<StockOutOrder>()
|
||||
.eq(StockOutOrder::getOutOrderNumber, orderNumber));
|
||||
if (stockOutOrder != null){
|
||||
if (stockOutOrder != null) {
|
||||
deliveTaskPO.setOutOrderNumber(stockOutOrder.getOutOrderNumber());
|
||||
deliveTaskPO.setOutOrderStatus(stockOutOrder.getStatus());
|
||||
deliveTaskPO.setShipperName(stockOutOrder.getShipperName());
|
||||
deliveTaskPO.setCarrier(stockOutOrder.getCarrier());
|
||||
deliveTaskPO.setCheckQuantity(stockOutOrder.getCheckQuantity());//已复核数量
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,9 +128,12 @@ public class DeliveTaskPO extends BaseVOEntity {
|
||||
@ApiModelProperty("出库单号")
|
||||
private String outOrderNumber;
|
||||
|
||||
@ApiModelProperty("出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-波次中 6-拣货中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭")
|
||||
@ApiModelProperty("出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-波次中 6-拣货中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭 12-已复核")
|
||||
private Integer outOrderStatus;
|
||||
|
||||
@ApiModelProperty("交接状态(taskType=7时使用): 1-未交接 2-已交接,PDA列表状态展示应优先使用此字段与PC端保持一致")
|
||||
private Integer handoverStatus;
|
||||
|
||||
@ApiModelProperty("货主名称")
|
||||
private String shipperName;
|
||||
|
||||
|
||||
+9
@@ -124,6 +124,15 @@ public class HandoverTaskOrderPO extends BaseVOEntity {
|
||||
@Excel(name = "备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("任务是否下发: 1-是 2-否")
|
||||
@Excel(name = "任务是否下发: 1-是 2-否")
|
||||
private Integer taskDistribution;
|
||||
|
||||
@ApiModelProperty("任务下发时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "任务下发时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date taskDistributionTime;
|
||||
|
||||
@ApiModelProperty("app上传的图片")
|
||||
private String pictureApp;
|
||||
|
||||
|
||||
+4
@@ -97,6 +97,10 @@ public class OutMaterialDetailPO extends StockOutOrderBaseDO {
|
||||
@Excel(name = "待复核数量")
|
||||
private BigDecimal waitCheckQuantity;
|
||||
|
||||
@ApiModelProperty("复核数量输入框字段,默认等于待复核数量")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal actualQuantity;
|
||||
|
||||
@ApiModelProperty("净重 单位:千克")
|
||||
@Excel(name = "净重 单位:千克")
|
||||
private BigDecimal weightLimit;
|
||||
|
||||
+3
@@ -505,6 +505,9 @@ public class StockOutOrderDomainService {
|
||||
OutMaterialDetailDO outMaterialDetailDO = new OutMaterialDetailDO();
|
||||
outMaterialDetailDO.setOutOrderNumber(stockOutOrderPO.getOutOrderNumber());
|
||||
List<OutMaterialDetailPO> materialDetailPOList = outMaterialDetailService.queryList(outMaterialDetailDO);
|
||||
materialDetailPOList.forEach(d -> {
|
||||
if (d.getWaitCheckQuantity() != null) d.setActualQuantity(d.getWaitCheckQuantity());
|
||||
});
|
||||
stockOutOrderPO.setMaterialDetailList(materialDetailPOList);
|
||||
return stockOutOrderPO;
|
||||
}
|
||||
|
||||
+12
@@ -279,6 +279,12 @@ public class StockOutTaskOrderDomainService {
|
||||
//判断拣货数量是否等于计划数量
|
||||
Integer pickingStatus = judgePickingQuantity(pickingQuantity, quantity);
|
||||
taskStoragePO.setPickingStatus(pickingStatus);
|
||||
// actualQuantity 为输入框字段,默认等于待拣货数量,供 PDA 表单默认展示
|
||||
for (TaskPickingMaterialDetailPO d : incompleteList) {
|
||||
if (d.getWaitPickingQuantity() != null) {
|
||||
d.setActualQuantity(d.getWaitPickingQuantity());
|
||||
}
|
||||
}
|
||||
taskStoragePO.setTaskPickingMaterialDetailList(incompleteList);
|
||||
taskStoragePOList.add(taskStoragePO);
|
||||
}
|
||||
@@ -321,6 +327,12 @@ public class StockOutTaskOrderDomainService {
|
||||
//判断拣货数量是否等于计划数量
|
||||
Integer pickingStatus = judgePickingQuantity(pickingQuantity, quantity);
|
||||
taskMaterialPO.setPickingStatus(pickingStatus);
|
||||
// actualQuantity 为输入框字段,默认等于待拣货数量,供 PDA 表单默认展示
|
||||
for (TaskPickingMaterialDetailPO d : taskPickingMaterialDetailPOListByMaterial) {
|
||||
if (d.getWaitPickingQuantity() != null) {
|
||||
d.setActualQuantity(d.getWaitPickingQuantity());
|
||||
}
|
||||
}
|
||||
taskMaterialPO.setTaskPickingMaterialDetailList(taskPickingMaterialDetailPOListByMaterial);
|
||||
taskMaterialPOList.add(taskMaterialPO);
|
||||
if (pickingStatus > 2){
|
||||
|
||||
+3
@@ -86,6 +86,9 @@ public class TaskPickingMaterialDetailPO extends BaseVOEntity {
|
||||
@Excel(name = "待拣货数量")
|
||||
private BigDecimal waitPickingQuantity;
|
||||
|
||||
@ApiModelProperty("本次拣货数量,PDA 输入框字段,默认等于待拣货数量")
|
||||
private BigDecimal actualQuantity;
|
||||
|
||||
@ApiModelProperty("拣货状态: 1-待拣货 2-拣货中 3-已拣货")
|
||||
@Excel(name = "拣货状态: 1-待拣货 2-拣货中 3-已拣货", readConverterExp = "少=拣")
|
||||
private Integer pickingStatus;
|
||||
|
||||
@@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="allocationQuantity" column="allocation_quantity" />
|
||||
<result property="pickingQuantity" column="picking_quantity" />
|
||||
<result property="checkQuantity" column="check_quantity" />
|
||||
<result property="waitCheckQuantity" column="WAIT_CHECK_QUANTITY" />
|
||||
<result property="packId" column="pack_id" />
|
||||
<result property="packCode" column="pack_code" />
|
||||
<result property="packName" column="pack_name" />
|
||||
@@ -88,7 +89,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<sql id="selectMaterialDetailPo">
|
||||
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.out_order_number, a.material_base_info_id, a.line_number, a.material_code, a.material_name, a.bar_code, a.weight_limit, a.volume_limit,
|
||||
a.quantity, a.already_allocation_quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity, ROUND((a.quantity - a.check_quantity), 2) AS wait_check_quantity,
|
||||
a.quantity, a.already_allocation_quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity, ROUND(GREATEST(0, IFNULL(a.quantity, 0) - IFNULL(a.check_quantity, 0), IFNULL(a.picking_quantity, 0) - IFNULL(a.check_quantity, 0)), 2) AS wait_check_quantity,
|
||||
a.pack_id, a.pack_code, a.pack_name, a.pack_detail_id, a.unit_code, a.unit_name, a.material_warehouse_control_id, a.serial_number_manage,
|
||||
a.warehouse_id, a.warehouse_code, a.warehouse_name, a.storage_section_id, a.storage_code, a.storage_name, a.storage_location_id, a.storage_location_code, a.storage_location_name, a.level, a.parent_unique_id, a.allow_modify,
|
||||
a.material_inventory_id, a.batch_number, a.container_id, a.container_code, a.container_type, a.container_type_name, a.material_status_code, a.material_status_name,
|
||||
|
||||
@@ -30,6 +30,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="orderNumber" column="order_number" />
|
||||
<result property="pickingOrderNumber" column="picking_order_number" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="taskDistribution" column="task_distribution" />
|
||||
<result property="taskDistributionTime" column="task_distribution_time" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createByName" column="create_by_name" />
|
||||
@@ -44,8 +46,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<sql id="selectHandoverTaskOrderPo">
|
||||
a.handover_task_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.serial_number, a.task_number, a.status, a.platform_id,
|
||||
a.platform_code, a.platform_name, a.platform_use_time_id, a.platform_use_start_time, a.platform_use_end_time, a.platform_use_status,
|
||||
a.order_type_code, a.order_type_name, a.expect_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id,
|
||||
a.shipper_name, a.order_number, a.picking_order_number, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time,
|
||||
a.order_type_code, a.order_type_name, a.expect_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id,
|
||||
a.shipper_name, a.order_number, a.picking_order_number, a.remark, a.task_distribution, a.task_distribution_time, a.create_time, a.create_by, a.create_by_name, a.update_time,
|
||||
a.update_by, a.update_by_name, a.del_flag, a.picture_app
|
||||
</sql>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user