PDA上架,复核拣货查询修改

This commit is contained in:
秦鸿展
2026-03-13 13:37:00 +08:00
parent 3029e9fee1
commit f9497f7c15
7 changed files with 95 additions and 15 deletions
@@ -166,4 +166,7 @@ public class StockReceiptOrderDO extends StockInOrderBaseDO {
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty("是否来自PDA收货:true-PDA收货完成,false-PC收货完成(用于上架单是否下发:PDA=是,PC=否)")
private Boolean fromPda;
}
@@ -624,7 +624,7 @@ public class StockReceiptOrderDomainService {
long receiptMaterialQuantity = stockReceiptOrderDO.getMaterialDetailList().stream().filter(receiptMaterialDetailDO -> receiptMaterialDetailDO.getReceiptStatus() < 3).count();
//收货数量大于等于计划数量 直接完成收货
if (stockReceiptOrder.getReceiptQuantity().compareTo(stockReceiptOrderPO.getQuantity()) >= 0 && receiptMaterialQuantity == 0){
completeReceipt(stockReceiptOrderPO.getReceiptOrderId());
completeReceipt(stockReceiptOrderPO.getReceiptOrderId(), stockReceiptOrderDO.getFromPda());
}
return true;
}
@@ -650,14 +650,15 @@ public class StockReceiptOrderDomainService {
}
/**
* @param receiptOrderId
* @param receiptOrderId 收货单ID
* @param fromPda 是否来自PDAtrue-PDA收货完成(上架单是否下发=是),false/null-PC收货完成(上架单是否下发=否)
* @return Boolean
* @description 完成收货
* @author ZhouGY
* @date 2024/5/22 16:20
*/
@Transactional(rollbackFor = Exception.class)
public Boolean completeReceipt(Long receiptOrderId) {
public Boolean completeReceipt(Long receiptOrderId, Boolean fromPda) {
StockReceiptOrderPO stockReceiptOrderPO = stockReceiptOrderService.getInfo(receiptOrderId);
if (stockReceiptOrderPO == null) {
throw new ServiceException("收货单不存在");
@@ -677,8 +678,8 @@ public class StockReceiptOrderDomainService {
if (stockReceiptOrderPO.getReceiptQuantity().compareTo(stockReceiptOrderPO.getQuantity()) != 0){
abnormal = 1;
}
//根据收货数量生成上架
genStockShelfOrder(stockReceiptOrderPO);
//根据收货数量生成上架(PDA=是否下发是,PC=是否下发否)
genStockShelfOrder(stockReceiptOrderPO, fromPda);
//生成上架单后,更新入库单状态为4(上架中)
if (StringUtils.isNotBlank(stockReceiptOrderPO.getInOrderNumber())) {
@@ -725,8 +726,8 @@ public class StockReceiptOrderDomainService {
if (stockReceiptOrderPO == null) {
throw new ServiceException("收货单不存在");
}
return genStockShelfOrder(stockReceiptOrderPO);
// 手动生成上架单:仅App(PDA)调用,是否下发=是
return genStockShelfOrder(stockReceiptOrderPO, true);
}
/**
@@ -953,14 +954,15 @@ public class StockReceiptOrderDomainService {
}
/**
* @param stockReceiptOrderPO
* @param stockReceiptOrderPO 收货单
* @param fromPda 是否来自PDAtrue-是否下发=是(1)false/null-是否下发=否(2)
* @return Boolean
* @description 生成上架单
* @author ZhouGY
* @date 2024/5/24 15:47
*/
@Transactional(rollbackFor = Exception.class)
public Boolean genStockShelfOrder(StockReceiptOrderPO stockReceiptOrderPO) {
public Boolean genStockShelfOrder(StockReceiptOrderPO stockReceiptOrderPO, Boolean fromPda) {
//构造上架单信息
List<StockShelfOrderDO> stockShelfOrderDOList = new ArrayList<>();
StockShelfOrderDO stockShelfOrderDO = new StockShelfOrderDO();
@@ -1093,6 +1095,8 @@ public class StockReceiptOrderDomainService {
stockShelfOrderDO.setReceiptQuantity(receiptQuantity);
stockShelfOrderDO.setMaterialDetailList(shelfMaterialDetailDOList);
stockShelfOrderDO.setMaterialQuantity(shelfMaterialDetailDOList.size());
// PDA收货完成=是否下发是(1),PC收货完成=是否下发否(2)
stockShelfOrderDO.setTaskDistribution(fromPda != null && fromPda ? 1 : 2);
stockShelfOrderDOList.add(stockShelfOrderDO);
return stockShelfOrderDomainService.genStockShelfOrder(stockShelfOrderDOList);
}
@@ -162,8 +162,8 @@ public class StockShelfOrderDomainService {
if (StringUtils.isBlank(stockShelfOrder.getShelfOrderNumber())){
stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ"));
}
// 收货完成生成上架任务时,任务下发默认值为否(2-未下发),强制覆盖避免从收货单复制到错误值
stockShelfOrder.setTaskDistribution(2);
// PDA收货完成=是否下发是(1),PC收货完成/无单收货/整单收货=是否下发否(2),DO未设置时默认2
stockShelfOrder.setTaskDistribution(stockShelfOrderDO.getTaskDistribution() != null ? stockShelfOrderDO.getTaskDistribution() : 2);
stockShelfOrder.setCreateBy(loginUser.getUserid());
stockShelfOrder.setCreateByName(userRealName);
stockShelfOrder.setCreateTime(new Date());