入库异常,入库作业单,出库异常详情查询
This commit is contained in:
+54
-3
@@ -8,7 +8,9 @@ import com.mhd.common.core.utils.OrderSequence;
|
||||
import com.mhd.common.security.utils.SecurityUtils;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail;
|
||||
import com.mhd.wms.domain.outMaterialDetail.repository.facade.IOutMaterialDetailService;
|
||||
import com.mhd.wms.domain.outMaterialDetail.repository.mapper.OutMaterialDetailMapper;
|
||||
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
|
||||
import com.mhd.wms.domain.outOrderAbnormal.entity.OutOrderAbnormal;
|
||||
import com.mhd.wms.domain.outOrderAbnormal.repository.facade.IOutOrderAbnormalService;
|
||||
import com.mhd.wms.domain.outOrderAbnormal.repository.mapper.OutOrderAbnormalMapper;
|
||||
@@ -16,12 +18,15 @@ import com.mhd.wms.domain.outOrderAbnormal.repository.po.OutOrderAbnormalPO;
|
||||
import com.mhd.wms.domain.outOrderAbnormal.repository.todo.OutOrderAbnormalBaseDO;
|
||||
import com.mhd.wms.domain.outOrderAbnormal.repository.todo.OutOrderAbnormalDO;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.entity.PickingMaterialDetail;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
@@ -42,6 +47,10 @@ public class OutOrderAbnormalImpl extends ServiceImpl<OutOrderAbnormalMapper, Ou
|
||||
private OutMaterialDetailMapper outMaterialDetailMapper;
|
||||
@Autowired
|
||||
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
|
||||
@Autowired
|
||||
private IOutMaterialDetailService outMaterialDetailService;
|
||||
@Autowired
|
||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||
|
||||
/**
|
||||
* 查询出库异常单列表
|
||||
@@ -92,12 +101,54 @@ public class OutOrderAbnormalImpl extends ServiceImpl<OutOrderAbnormalMapper, Ou
|
||||
*/
|
||||
@Override
|
||||
public OutOrderAbnormalPO getInfo(Long outOrderAbnormalId) {
|
||||
OutOrderAbnormal outOrderAbnormal = this.getById(outOrderAbnormalId);
|
||||
OutOrderAbnormalPO outOrderAbnormalPO = new OutOrderAbnormalPO();
|
||||
BeanUtils.copyProperties(outOrderAbnormal,outOrderAbnormalPO);
|
||||
OutOrderAbnormalDO query = new OutOrderAbnormalDO();
|
||||
query.setOutOrderAbnormalId(outOrderAbnormalId);
|
||||
List<OutOrderAbnormalPO> list = queryList(query);
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
throw new ServiceException("出库异常单不存在");
|
||||
}
|
||||
OutOrderAbnormalPO outOrderAbnormalPO = list.get(0);
|
||||
fillMaterialDetails(outOrderAbnormalPO);
|
||||
return outOrderAbnormalPO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按异常类型加载对应明细:
|
||||
* 1-拣货异常 -> picking_material_detail
|
||||
* 2-复核异常 -> out_material_detail
|
||||
*/
|
||||
private void fillMaterialDetails(OutOrderAbnormalPO po) {
|
||||
if (po == null) {
|
||||
return;
|
||||
}
|
||||
Integer type = po.getType();
|
||||
if (Integer.valueOf(1).equals(type)) {
|
||||
if (StringUtils.hasText(po.getPickingOrderNumber())) {
|
||||
PickingMaterialDetailDO detailDO = new PickingMaterialDetailDO();
|
||||
detailDO.setPickingOrderNumber(po.getPickingOrderNumber());
|
||||
po.setMaterialDetailList(pickingMaterialDetailService.queryList(detailDO));
|
||||
}
|
||||
} else if (Integer.valueOf(2).equals(type)) {
|
||||
if (StringUtils.hasText(po.getOutOrderNumber())) {
|
||||
OutMaterialDetailDO detailDO = new OutMaterialDetailDO();
|
||||
detailDO.setOutOrderNumber(po.getOutOrderNumber());
|
||||
po.setMaterialDetailList(outMaterialDetailService.queryList(detailDO));
|
||||
}
|
||||
} else {
|
||||
// 兼容历史异常数据:两种都尝试
|
||||
if (StringUtils.hasText(po.getPickingOrderNumber())) {
|
||||
PickingMaterialDetailDO detailDO = new PickingMaterialDetailDO();
|
||||
detailDO.setPickingOrderNumber(po.getPickingOrderNumber());
|
||||
po.setMaterialDetailList(pickingMaterialDetailService.queryList(detailDO));
|
||||
}
|
||||
if (po.getMaterialDetailList() == null && StringUtils.hasText(po.getOutOrderNumber())) {
|
||||
OutMaterialDetailDO detailDO = new OutMaterialDetailDO();
|
||||
detailDO.setOutOrderNumber(po.getOutOrderNumber());
|
||||
po.setMaterialDetailList(outMaterialDetailService.queryList(detailDO));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 生成异常记录
|
||||
* @author ZhouGY
|
||||
|
||||
+3
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -112,6 +113,8 @@ public class OutOrderAbnormalPO extends BaseVOEntity {
|
||||
@Excel(name = "入库单类型名称")
|
||||
private String orderTypeName;
|
||||
|
||||
@ApiModelProperty("异常明细(type=1 返回拣货明细,type=2 返回复核明细)")
|
||||
private List<?> materialDetailList;
|
||||
|
||||
|
||||
}
|
||||
|
||||
+6
@@ -55,6 +55,12 @@ public class PickingMaterialDetailPO extends BaseVOEntity {
|
||||
@Excel(name = "拣货单号")
|
||||
private String pickingOrderNumber;
|
||||
|
||||
@ApiModelProperty("入库单号")
|
||||
private String inOrderNumber;
|
||||
|
||||
@ApiModelProperty("LOT编码")
|
||||
private String lotNumber;
|
||||
|
||||
@ApiModelProperty("物料基础信息id")
|
||||
@Excel(name = "物料基础信息id")
|
||||
private Long materialBaseInfoId;
|
||||
|
||||
+37
-6
@@ -15,6 +15,8 @@ import com.mhd.wms.domain.taskShelfMaterialDetail.repository.todo.TaskShelfMater
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -78,12 +80,35 @@ public class StockInTaskOrderDomainService {
|
||||
public StockInTaskOrderPO getInfo(Long inTaskOrderId)
|
||||
{
|
||||
StockInTaskOrderPO stockInTaskOrderPO = stockInTaskOrderService.getInfo(inTaskOrderId);
|
||||
if (stockInTaskOrderPO.getType() == 1){
|
||||
//根据收货单号查询
|
||||
stockInTaskOrderPO.setTaskReceiptMaterialDetailList(getReceiptInfo(stockInTaskOrderPO.getTaskNumber()));
|
||||
}else {
|
||||
//根据上架单号查询
|
||||
stockInTaskOrderPO.setTaskShelfMaterialDetailList(getShelfInfo(stockInTaskOrderPO.getTaskNumber()));
|
||||
if (stockInTaskOrderPO == null) {
|
||||
return null;
|
||||
}
|
||||
if (Integer.valueOf(1).equals(stockInTaskOrderPO.getType())){
|
||||
// 收货作业:优先按收货单号查询,查不到再回退作业单号
|
||||
List<TaskReceiptMaterialDetailPO> receiptDetails = getReceiptInfo(stockInTaskOrderPO.getReceiptOrderNumber());
|
||||
if (CollectionUtils.isEmpty(receiptDetails)) {
|
||||
receiptDetails = getReceiptInfo(stockInTaskOrderPO.getTaskNumber());
|
||||
}
|
||||
stockInTaskOrderPO.setTaskReceiptMaterialDetailList(receiptDetails);
|
||||
} else if (Integer.valueOf(2).equals(stockInTaskOrderPO.getType())) {
|
||||
// 上架作业:优先按上架单号查询,查不到再回退作业单号
|
||||
List<TaskShelfMaterialDetailPO> shelfDetails = getShelfInfo(stockInTaskOrderPO.getShelfOrderNumber());
|
||||
if (CollectionUtils.isEmpty(shelfDetails)) {
|
||||
shelfDetails = getShelfInfo(stockInTaskOrderPO.getTaskNumber());
|
||||
}
|
||||
stockInTaskOrderPO.setTaskShelfMaterialDetailList(shelfDetails);
|
||||
} else {
|
||||
// 兼容历史数据:无类型时按两个方向各尝试一次
|
||||
List<TaskReceiptMaterialDetailPO> receiptDetails = getReceiptInfo(stockInTaskOrderPO.getReceiptOrderNumber());
|
||||
if (CollectionUtils.isEmpty(receiptDetails)) {
|
||||
receiptDetails = getReceiptInfo(stockInTaskOrderPO.getTaskNumber());
|
||||
}
|
||||
stockInTaskOrderPO.setTaskReceiptMaterialDetailList(receiptDetails);
|
||||
List<TaskShelfMaterialDetailPO> shelfDetails = getShelfInfo(stockInTaskOrderPO.getShelfOrderNumber());
|
||||
if (CollectionUtils.isEmpty(shelfDetails)) {
|
||||
shelfDetails = getShelfInfo(stockInTaskOrderPO.getTaskNumber());
|
||||
}
|
||||
stockInTaskOrderPO.setTaskShelfMaterialDetailList(shelfDetails);
|
||||
}
|
||||
return stockInTaskOrderPO;
|
||||
}
|
||||
@@ -93,6 +118,9 @@ public class StockInTaskOrderDomainService {
|
||||
* 获取入库收货作业单详细信息
|
||||
*/
|
||||
public List<TaskReceiptMaterialDetailPO> getReceiptInfo(String receiptOrderNumber) {
|
||||
if (!StringUtils.hasText(receiptOrderNumber)) {
|
||||
return java.util.Collections.emptyList();
|
||||
}
|
||||
//根据收货单号查询
|
||||
TaskReceiptMaterialDetailDO taskReceiptMaterialDetailDO = new TaskReceiptMaterialDetailDO();
|
||||
taskReceiptMaterialDetailDO.setTaskNumber(receiptOrderNumber);
|
||||
@@ -104,6 +132,9 @@ public class StockInTaskOrderDomainService {
|
||||
* 获取入库上架作业单详细信息
|
||||
*/
|
||||
public List<TaskShelfMaterialDetailPO> getShelfInfo(String shelfOrderNumber) {
|
||||
if (!StringUtils.hasText(shelfOrderNumber)) {
|
||||
return java.util.Collections.emptyList();
|
||||
}
|
||||
TaskShelfMaterialDetailDO taskShelfMaterialDetailDO = new TaskShelfMaterialDetailDO();
|
||||
//根据上架单号查询
|
||||
taskShelfMaterialDetailDO.setTaskNumber(shelfOrderNumber);
|
||||
|
||||
Reference in New Issue
Block a user