复核页面修整
This commit is contained in:
+10
-2
@@ -43,7 +43,6 @@ 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.po.PickingOrderPO;
|
||||||
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
|
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
|
||||||
import com.mhd.wms.domain.pushSyncBms.PushSyncBmsDomainService;
|
import com.mhd.wms.domain.pushSyncBms.PushSyncBmsDomainService;
|
||||||
import com.mhd.wms.domain.reviewOrder.service.ReviewOrderDomainService;
|
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||||
@@ -328,7 +327,16 @@ public class PickingOrderDomainService {
|
|||||||
//设置拣货单拣货需要更新的数据数据
|
//设置拣货单拣货需要更新的数据数据
|
||||||
updatePickingOrder(pickingOrderPO, pickingOrderPODb);
|
updatePickingOrder(pickingOrderPO, pickingOrderPODb);
|
||||||
//更新出库单状态
|
//更新出库单状态
|
||||||
return updateStockOutOrder(pickingOrderPODb);
|
Boolean updated = updateStockOutOrder(pickingOrderPODb);
|
||||||
|
// 拣货提交(/pickingOrderApi/picking)一次拣满也会完成拣货,此前仅 completePicking 会生成复核单,此处对齐
|
||||||
|
if (Boolean.TRUE.equals(updated) && Integer.valueOf(1).equals(pickingOrderPODb.getType())) {
|
||||||
|
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper<StockOutOrder>()
|
||||||
|
.eq(StockOutOrder::getOutOrderNumber, pickingOrderPODb.getOrderNumber()));
|
||||||
|
if (stockOutOrder != null) {
|
||||||
|
reviewOrderDomainService.tryGenerateReviewOrderAfterPickingComplete(pickingOrderPODb, stockOutOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+40
-14
@@ -1,4 +1,4 @@
|
|||||||
package com.mhd.wms.domain.reviewOrder.service;
|
package com.mhd.wms.domain.pickingOrder.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.mhd.common.core.exception.ServiceException;
|
import com.mhd.common.core.exception.ServiceException;
|
||||||
@@ -10,8 +10,8 @@ import com.mhd.wms.domain.outMaterialDetail.repository.mapper.OutMaterialDetailM
|
|||||||
import com.mhd.wms.domain.pickingMaterialDetail.entity.PickingMaterialDetail;
|
import com.mhd.wms.domain.pickingMaterialDetail.entity.PickingMaterialDetail;
|
||||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
|
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
|
||||||
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
|
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
|
||||||
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
|
|
||||||
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
|
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
|
||||||
|
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
|
||||||
import com.mhd.wms.domain.reviewOrder.entity.ReviewMaterialDetail;
|
import com.mhd.wms.domain.reviewOrder.entity.ReviewMaterialDetail;
|
||||||
import com.mhd.wms.domain.reviewOrder.entity.ReviewOrder;
|
import com.mhd.wms.domain.reviewOrder.entity.ReviewOrder;
|
||||||
import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewMaterialDetailMapper;
|
import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewMaterialDetailMapper;
|
||||||
@@ -28,7 +28,7 @@ import java.util.Date;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复核单领域:拣货完成后生成复核单等
|
* 复核单领域:拣货完成后生成复核单等(与拣货同包,避免部分环境对 reviewOrder.service 包识别异常)
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -61,14 +61,22 @@ public class ReviewOrderDomainService {
|
|||||||
if (pickingOrderPO == null || stockOutOrder == null) {
|
if (pickingOrderPO == null || stockOutOrder == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!Integer.valueOf(1).equals(pickingOrderPO.getReview())) {
|
String outOrderNumber = pickingOrderPO.getOrderNumber();
|
||||||
|
if (outOrderNumber == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 是否复核以出库单为准:1-是 2-否(与 StockOutOrder 一致);拣货单 PO 上 review 可能未映射或为 null
|
||||||
|
Integer needReview = stockOutOrder.getReview();
|
||||||
|
if (needReview == null) {
|
||||||
|
needReview = pickingOrderPO.getReview();
|
||||||
|
}
|
||||||
|
if (!Integer.valueOf(1).equals(needReview)) {
|
||||||
|
log.info("跳过生成复核单:出库单未勾选需要复核(出库单 review 须为 1) outOrderNumber={} stockOutReview={} pickingReview={}",
|
||||||
|
outOrderNumber, stockOutOrder.getReview(), pickingOrderPO.getReview());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!Integer.valueOf(1).equals(pickingOrderPO.getType())) {
|
if (!Integer.valueOf(1).equals(pickingOrderPO.getType())) {
|
||||||
return;
|
log.info("跳过生成复核单:仅普通拣货单(type=1)生成,当前 type={} outOrderNumber={}", pickingOrderPO.getType(), outOrderNumber);
|
||||||
}
|
|
||||||
String outOrderNumber = pickingOrderPO.getOrderNumber();
|
|
||||||
if (outOrderNumber == null) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,11 +85,13 @@ public class ReviewOrderDomainService {
|
|||||||
.eq(PickingOrder::getType, 1)
|
.eq(PickingOrder::getType, 1)
|
||||||
.eq(PickingOrder::getDelFlag, 1));
|
.eq(PickingOrder::getDelFlag, 1));
|
||||||
if (pickingOrders.isEmpty()) {
|
if (pickingOrders.isEmpty()) {
|
||||||
|
log.warn("跳过生成复核单:未找到普通拣货单记录 outOrderNumber={}", outOrderNumber);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
boolean allPickingFinished = pickingOrders.stream()
|
boolean allPickingFinished = pickingOrders.stream()
|
||||||
.allMatch(p -> p.getStatus() != null && p.getStatus() == 3);
|
.allMatch(p -> p.getStatus() != null && p.getStatus() == 3);
|
||||||
if (!allPickingFinished) {
|
if (!allPickingFinished) {
|
||||||
|
log.info("跳过生成复核单:同一出库单下尚未全部完成拣货(需全部拣货单 status=3) outOrderNumber={}", outOrderNumber);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +99,7 @@ public class ReviewOrderDomainService {
|
|||||||
.eq(ReviewOrder::getOutOrderNumber, outOrderNumber)
|
.eq(ReviewOrder::getOutOrderNumber, outOrderNumber)
|
||||||
.eq(ReviewOrder::getDelFlag, 1));
|
.eq(ReviewOrder::getDelFlag, 1));
|
||||||
if (exists > 0) {
|
if (exists > 0) {
|
||||||
log.debug("复核单已存在,跳过生成 outOrderNumber={}", outOrderNumber);
|
log.info("跳过生成复核单:该出库单已存在复核单 outOrderNumber={}", outOrderNumber);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,11 +127,12 @@ public class ReviewOrderDomainService {
|
|||||||
header.setCustomerCode(stockOutOrder.getCustomerCode());
|
header.setCustomerCode(stockOutOrder.getCustomerCode());
|
||||||
header.setCustomerName(stockOutOrder.getCustomerName());
|
header.setCustomerName(stockOutOrder.getCustomerName());
|
||||||
header.setDelFlag(1);
|
header.setDelFlag(1);
|
||||||
|
String operatorDisplayName = resolveLoginDisplayName(loginUser);
|
||||||
header.setCreateBy(loginUser.getUserid());
|
header.setCreateBy(loginUser.getUserid());
|
||||||
header.setCreateByName(loginUser.getUsername());
|
header.setCreateByName(operatorDisplayName);
|
||||||
header.setCreateTime(now);
|
header.setCreateTime(now);
|
||||||
header.setUpdateBy(loginUser.getUserid());
|
header.setUpdateBy(loginUser.getUserid());
|
||||||
header.setUpdateByName(loginUser.getUsername());
|
header.setUpdateByName(operatorDisplayName);
|
||||||
header.setUpdateTime(now);
|
header.setUpdateTime(now);
|
||||||
|
|
||||||
reviewOrderMapper.insert(header);
|
reviewOrderMapper.insert(header);
|
||||||
@@ -143,7 +154,7 @@ public class ReviewOrderDomainService {
|
|||||||
StockOutOrder statusUpdate = new StockOutOrder();
|
StockOutOrder statusUpdate = new StockOutOrder();
|
||||||
statusUpdate.setStatus(8);
|
statusUpdate.setStatus(8);
|
||||||
statusUpdate.setUpdateBy(loginUser.getUserid());
|
statusUpdate.setUpdateBy(loginUser.getUserid());
|
||||||
statusUpdate.setUpdateByName(loginUser.getUsername());
|
statusUpdate.setUpdateByName(operatorDisplayName);
|
||||||
statusUpdate.setUpdateTime(now);
|
statusUpdate.setUpdateTime(now);
|
||||||
stockOutOrderService.update(statusUpdate, new LambdaQueryWrapper<StockOutOrder>()
|
stockOutOrderService.update(statusUpdate, new LambdaQueryWrapper<StockOutOrder>()
|
||||||
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber));
|
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber));
|
||||||
@@ -191,10 +202,10 @@ public class ReviewOrderDomainService {
|
|||||||
d.setRemark(line.getRemark());
|
d.setRemark(line.getRemark());
|
||||||
d.setDelFlag(1);
|
d.setDelFlag(1);
|
||||||
d.setCreateBy(loginUser.getUserid());
|
d.setCreateBy(loginUser.getUserid());
|
||||||
d.setCreateByName(loginUser.getUsername());
|
d.setCreateByName(resolveLoginDisplayName(loginUser));
|
||||||
d.setCreateTime(now);
|
d.setCreateTime(now);
|
||||||
d.setUpdateBy(loginUser.getUserid());
|
d.setUpdateBy(loginUser.getUserid());
|
||||||
d.setUpdateByName(loginUser.getUsername());
|
d.setUpdateByName(resolveLoginDisplayName(loginUser));
|
||||||
d.setUpdateTime(now);
|
d.setUpdateTime(now);
|
||||||
|
|
||||||
if (line.getOutUniqueId() != null) {
|
if (line.getOutUniqueId() != null) {
|
||||||
@@ -211,4 +222,19 @@ public class ReviewOrderDomainService {
|
|||||||
}
|
}
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 与拣货领域一致:优先 userPo.userName(姓名),其次 LoginUser.realname,最后 username(账号兜底) */
|
||||||
|
private static String resolveLoginDisplayName(LoginUser loginUser) {
|
||||||
|
if (loginUser == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||||
|
&& !loginUser.getUserPo().getUserName().trim().isEmpty()) {
|
||||||
|
return loginUser.getUserPo().getUserName();
|
||||||
|
}
|
||||||
|
if (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) {
|
||||||
|
return loginUser.getRealname();
|
||||||
|
}
|
||||||
|
return loginUser.getUsername();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user