WMS收货管理、上架管理、入库异常的创建人姓名,审核人姓名修改存账号的姓名

This commit is contained in:
秦鸿展
2026-03-03 15:10:24 +08:00
parent 5c84eb2095
commit e720d006ce
4 changed files with 70 additions and 16 deletions
@@ -140,6 +140,13 @@ public class InOrderAbnormalImpl extends ServiceImpl<InOrderAbnormalMapper, InOr
*/ */
private List<InOrderAbnormal> genShelfOrderMaterialDetailList(InOrderAbnormalBaseDO inOrderAbnormalBaseDO, List<ShelfMaterialDetail> shelfMaterialDetailList){ private List<InOrderAbnormal> genShelfOrderMaterialDetailList(InOrderAbnormalBaseDO inOrderAbnormalBaseDO, List<ShelfMaterialDetail> shelfMaterialDetailList){
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
&& !loginUser.getUserPo().getUserName().trim().isEmpty())
? loginUser.getUserPo().getUserName()
: (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty())
? loginUser.getRealname()
: loginUser.getUsername();
List<InOrderAbnormal> inOrderAbnormalList = new ArrayList<>(); List<InOrderAbnormal> inOrderAbnormalList = new ArrayList<>();
for (ShelfMaterialDetail shelfMaterialDetail : shelfMaterialDetailList){ for (ShelfMaterialDetail shelfMaterialDetail : shelfMaterialDetailList){
//上架 //上架
@@ -165,7 +172,7 @@ public class InOrderAbnormalImpl extends ServiceImpl<InOrderAbnormalMapper, InOr
inOrderAbnormal.setAllowActualQuantity(shelfMaterialDetail.getQuantity()); inOrderAbnormal.setAllowActualQuantity(shelfMaterialDetail.getQuantity());
inOrderAbnormal.setAbnormalActualQuantity(shelfMaterialDetail.getShelvesQuantity().subtract(shelfMaterialDetail.getQuantity())); inOrderAbnormal.setAbnormalActualQuantity(shelfMaterialDetail.getShelvesQuantity().subtract(shelfMaterialDetail.getQuantity()));
inOrderAbnormal.setCreateBy(loginUser.getUserid()); inOrderAbnormal.setCreateBy(loginUser.getUserid());
inOrderAbnormal.setCreateByName(loginUser.getUsername()); inOrderAbnormal.setCreateByName(userRealName);
inOrderAbnormal.setCreateTime(new Date()); inOrderAbnormal.setCreateTime(new Date());
inOrderAbnormal.setType(2); inOrderAbnormal.setType(2);
inOrderAbnormalList.add(inOrderAbnormal); inOrderAbnormalList.add(inOrderAbnormal);
@@ -184,6 +191,13 @@ public class InOrderAbnormalImpl extends ServiceImpl<InOrderAbnormalMapper, InOr
*/ */
private List<InOrderAbnormal> genReceiptOrderMaterialDetailList(InOrderAbnormalBaseDO inOrderAbnormalBaseDO, List<ReceiptMaterialDetail> receiptMaterialDetailList){ private List<InOrderAbnormal> genReceiptOrderMaterialDetailList(InOrderAbnormalBaseDO inOrderAbnormalBaseDO, List<ReceiptMaterialDetail> receiptMaterialDetailList){
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
&& !loginUser.getUserPo().getUserName().trim().isEmpty())
? loginUser.getUserPo().getUserName()
: (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty())
? loginUser.getRealname()
: loginUser.getUsername();
List<InOrderAbnormal> inOrderAbnormalList = new ArrayList<>(); List<InOrderAbnormal> inOrderAbnormalList = new ArrayList<>();
for (ReceiptMaterialDetail receiptMaterialDetail : receiptMaterialDetailList){ for (ReceiptMaterialDetail receiptMaterialDetail : receiptMaterialDetailList){
//收货 //收货
@@ -203,7 +217,7 @@ public class InOrderAbnormalImpl extends ServiceImpl<InOrderAbnormalMapper, InOr
lessAbnormalSmallParams(receiptMaterialDetail, inOrderAbnormal); lessAbnormalSmallParams(receiptMaterialDetail, inOrderAbnormal);
} }
inOrderAbnormal.setCreateBy(loginUser.getUserid()); inOrderAbnormal.setCreateBy(loginUser.getUserid());
inOrderAbnormal.setCreateByName(loginUser.getUsername()); inOrderAbnormal.setCreateByName(userRealName);
inOrderAbnormal.setCreateTime(new Date()); inOrderAbnormal.setCreateTime(new Date());
inOrderAbnormal.setType(1); inOrderAbnormal.setType(1);
inOrderAbnormalList.add(inOrderAbnormal); inOrderAbnormalList.add(inOrderAbnormal);
@@ -136,16 +136,23 @@ public class StockReceiptOrderDomainService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean batchInsert(List<StockReceiptOrderDO> stockReceiptOrderDOList) { public Boolean batchInsert(List<StockReceiptOrderDO> stockReceiptOrderDOList) {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
&& !loginUser.getUserPo().getUserName().trim().isEmpty())
? loginUser.getUserPo().getUserName()
: (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty())
? loginUser.getRealname()
: loginUser.getUsername();
List<StockReceiptOrder> stockReceiptOrderList = new ArrayList<>(); List<StockReceiptOrder> stockReceiptOrderList = new ArrayList<>();
List<ReceiptMaterialDetail> receiptMaterialDetailList = new ArrayList<>(); List<ReceiptMaterialDetail> receiptMaterialDetailList = new ArrayList<>();
stockReceiptOrderDOList.forEach(stockReceiptOrderDO -> { stockReceiptOrderDOList.forEach(stockReceiptOrderDO -> {
StockReceiptOrder stockReceiptOrder = JSONUtil.toBean(JSONUtil.toJsonStr(stockReceiptOrderDO), StockReceiptOrder.class); StockReceiptOrder stockReceiptOrder = JSONUtil.toBean(JSONUtil.toJsonStr(stockReceiptOrderDO), StockReceiptOrder.class);
stockReceiptOrder.setReceiptOrderNumber(OrderSequence.getOrderCode("SH")); stockReceiptOrder.setReceiptOrderNumber(OrderSequence.getOrderCode("SH"));
stockReceiptOrder.setCreateBy(loginUser.getUserid()); stockReceiptOrder.setCreateBy(loginUser.getUserid());
stockReceiptOrder.setCreateByName(loginUser.getUsername()); stockReceiptOrder.setCreateByName(userRealName);
stockReceiptOrder.setCreateTime(new Date()); stockReceiptOrder.setCreateTime(new Date());
stockReceiptOrder.setUpdateBy(loginUser.getUserid()); stockReceiptOrder.setUpdateBy(loginUser.getUserid());
stockReceiptOrder.setUpdateByName(loginUser.getUsername()); stockReceiptOrder.setUpdateByName(userRealName);
stockReceiptOrder.setUpdateTime(new Date()); stockReceiptOrder.setUpdateTime(new Date());
stockReceiptOrderList.add(stockReceiptOrder); stockReceiptOrderList.add(stockReceiptOrder);
stockReceiptOrderDO.getMaterialDetailList().forEach(materialDetailDO -> { stockReceiptOrderDO.getMaterialDetailList().forEach(materialDetailDO -> {
@@ -159,7 +166,7 @@ public class StockReceiptOrderDomainService {
receiptMaterialDetail.setReceiptOrderNumber(stockReceiptOrder.getReceiptOrderNumber()); receiptMaterialDetail.setReceiptOrderNumber(stockReceiptOrder.getReceiptOrderNumber());
receiptMaterialDetail.setGenStockShelf(2); // 设置需要生成上架单 receiptMaterialDetail.setGenStockShelf(2); // 设置需要生成上架单
receiptMaterialDetail.setCreateBy(loginUser.getUserid()); receiptMaterialDetail.setCreateBy(loginUser.getUserid());
receiptMaterialDetail.setCreateByName(loginUser.getUsername()); receiptMaterialDetail.setCreateByName(userRealName);
receiptMaterialDetail.setCreateTime(new Date()); receiptMaterialDetail.setCreateTime(new Date());
receiptMaterialDetailList.add(receiptMaterialDetail); receiptMaterialDetailList.add(receiptMaterialDetail);
}); });
@@ -665,6 +672,13 @@ public class StockReceiptOrderDomainService {
throw new ServiceException("收货单【" + stockReceiptOrderPO.getReceiptOrderNumber() + "】已完成收货,请重新选择"); throw new ServiceException("收货单【" + stockReceiptOrderPO.getReceiptOrderNumber() + "】已完成收货,请重新选择");
} }
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
&& !loginUser.getUserPo().getUserName().trim().isEmpty())
? loginUser.getUserPo().getUserName()
: (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty())
? loginUser.getRealname()
: loginUser.getUsername();
int abnormal = 2; int abnormal = 2;
if (stockReceiptOrderPO.getReceiptQuantity().compareTo(stockReceiptOrderPO.getQuantity()) != 0){ if (stockReceiptOrderPO.getReceiptQuantity().compareTo(stockReceiptOrderPO.getQuantity()) != 0){
abnormal = 1; abnormal = 1;
@@ -678,7 +692,7 @@ public class StockReceiptOrderDomainService {
stockInOrder.setInOrderNumber(stockReceiptOrderPO.getInOrderNumber()); stockInOrder.setInOrderNumber(stockReceiptOrderPO.getInOrderNumber());
stockInOrder.setStatus(4); // 4-上架中 stockInOrder.setStatus(4); // 4-上架中
stockInOrder.setUpdateBy(loginUser.getUserid()); stockInOrder.setUpdateBy(loginUser.getUserid());
stockInOrder.setUpdateByName(loginUser.getUsername()); stockInOrder.setUpdateByName(userRealName);
stockInOrder.setUpdateTime(new Date()); stockInOrder.setUpdateTime(new Date());
stockInOrderService.update(stockInOrder, stockInOrderService.update(stockInOrder,
new QueryWrapper<StockInOrder>().lambda() new QueryWrapper<StockInOrder>().lambda()
@@ -701,7 +715,7 @@ public class StockReceiptOrderDomainService {
//如果没有指定操作人员,使用当前登录用户 //如果没有指定操作人员,使用当前登录用户
if (stockShelfOrderDO.getOperatorsBy() == null) { if (stockShelfOrderDO.getOperatorsBy() == null) {
stockShelfOrderDO.setOperatorsBy(loginUser.getUserid()); stockShelfOrderDO.setOperatorsBy(loginUser.getUserid());
stockShelfOrderDO.setOperatorsName(loginUser.getUsername()); stockShelfOrderDO.setOperatorsName(userRealName);
} }
//生成上架任务 //生成上架任务
stockShelfOrderDomainService.genDeliveTask(stockShelfOrderPOList, stockShelfOrderDO); stockShelfOrderDomainService.genDeliveTask(stockShelfOrderPOList, stockShelfOrderDO);
@@ -710,7 +724,7 @@ public class StockReceiptOrderDomainService {
.set(StockShelfOrder::getTaskDistribution, 1) .set(StockShelfOrder::getTaskDistribution, 1)
.set(StockShelfOrder::getTaskDistributionTime, new Date()) .set(StockShelfOrder::getTaskDistributionTime, new Date())
.set(StockShelfOrder::getUpdateBy, loginUser.getUserid()) .set(StockShelfOrder::getUpdateBy, loginUser.getUserid())
.set(StockShelfOrder::getUpdateByName, loginUser.getUsername()) .set(StockShelfOrder::getUpdateByName, userRealName)
.set(StockShelfOrder::getUpdateTime, new Date()) .set(StockShelfOrder::getUpdateTime, new Date())
.in(StockShelfOrder::getShelfOrderId, stockShelfOrderDO.getShelfOrderIds())); .in(StockShelfOrder::getShelfOrderId, stockShelfOrderDO.getShelfOrderIds()));
} }
@@ -146,6 +146,13 @@ public class StockShelfOrderDomainService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean genStockShelfOrder(List<StockShelfOrderDO> stockShelfOrderDOList) { public Boolean genStockShelfOrder(List<StockShelfOrderDO> stockShelfOrderDOList) {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
&& !loginUser.getUserPo().getUserName().trim().isEmpty())
? loginUser.getUserPo().getUserName()
: (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty())
? loginUser.getRealname()
: loginUser.getUsername();
List<StockShelfOrder> stockShelfOrderList = new ArrayList<>(); List<StockShelfOrder> stockShelfOrderList = new ArrayList<>();
List<ShelfMaterialDetail> shelfMaterialDetailList = new ArrayList<>(); List<ShelfMaterialDetail> shelfMaterialDetailList = new ArrayList<>();
stockShelfOrderDOList.forEach(stockShelfOrderDO -> { stockShelfOrderDOList.forEach(stockShelfOrderDO -> {
@@ -156,10 +163,10 @@ public class StockShelfOrderDomainService {
stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ")); stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ"));
} }
stockShelfOrder.setCreateBy(loginUser.getUserid()); stockShelfOrder.setCreateBy(loginUser.getUserid());
stockShelfOrder.setCreateByName(loginUser.getUsername()); stockShelfOrder.setCreateByName(userRealName);
stockShelfOrder.setCreateTime(new Date()); stockShelfOrder.setCreateTime(new Date());
stockShelfOrder.setUpdateBy(loginUser.getUserid()); stockShelfOrder.setUpdateBy(loginUser.getUserid());
stockShelfOrder.setUpdateByName(loginUser.getUsername()); stockShelfOrder.setUpdateByName(userRealName);
stockShelfOrder.setUpdateTime(new Date()); stockShelfOrder.setUpdateTime(new Date());
stockShelfOrderList.add(stockShelfOrder); stockShelfOrderList.add(stockShelfOrder);
stockShelfOrderDO.getMaterialDetailList().forEach(materialDetailDO -> { stockShelfOrderDO.getMaterialDetailList().forEach(materialDetailDO -> {
@@ -173,7 +180,7 @@ public class StockShelfOrderDomainService {
shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber()); shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
shelfMaterialDetail.setLevel(1); shelfMaterialDetail.setLevel(1);
shelfMaterialDetail.setCreateBy(loginUser.getUserid()); shelfMaterialDetail.setCreateBy(loginUser.getUserid());
shelfMaterialDetail.setCreateByName(loginUser.getUsername()); shelfMaterialDetail.setCreateByName(userRealName);
shelfMaterialDetail.setCreateTime(new Date()); shelfMaterialDetail.setCreateTime(new Date());
shelfMaterialDetailList.add(shelfMaterialDetail); shelfMaterialDetailList.add(shelfMaterialDetail);
}); });
@@ -1080,6 +1087,13 @@ public class StockShelfOrderDomainService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void genDeliveTask(List<StockShelfOrderPO> stockReceiptOrderPOList, StockShelfOrderDO stockReceiptOrderDO){ public void genDeliveTask(List<StockShelfOrderPO> stockReceiptOrderPOList, StockShelfOrderDO stockReceiptOrderDO){
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
final String userRealName = (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
&& !loginUser.getUserPo().getUserName().trim().isEmpty())
? loginUser.getUserPo().getUserName()
: (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty())
? loginUser.getRealname()
: loginUser.getUsername();
List<DeliveTaskDO> deliveTaskDOList = new ArrayList<>(); List<DeliveTaskDO> deliveTaskDOList = new ArrayList<>();
for (StockShelfOrderPO stockShelfOrderPO : stockReceiptOrderPOList){ for (StockShelfOrderPO stockShelfOrderPO : stockReceiptOrderPOList){
DeliveTaskDO deliveTaskDO = new DeliveTaskDO(); DeliveTaskDO deliveTaskDO = new DeliveTaskDO();
@@ -1094,12 +1108,12 @@ public class StockShelfOrderDomainService {
deliveTaskDO.setTaskType(2); deliveTaskDO.setTaskType(2);
deliveTaskDO.setTaskDistribution(1); deliveTaskDO.setTaskDistribution(1);
deliveTaskDO.setTaskDistributionId(loginUser.getUserid()); deliveTaskDO.setTaskDistributionId(loginUser.getUserid());
deliveTaskDO.setTaskDistributionName(loginUser.getUsername()); deliveTaskDO.setTaskDistributionName(userRealName);
deliveTaskDO.setTaskDistributionTime(new Date()); deliveTaskDO.setTaskDistributionTime(new Date());
deliveTaskDO.setOperatorsBy(stockReceiptOrderDO.getOperatorsBy()); deliveTaskDO.setOperatorsBy(stockReceiptOrderDO.getOperatorsBy());
deliveTaskDO.setOperatorsName(stockReceiptOrderDO.getOperatorsName()); deliveTaskDO.setOperatorsName(stockReceiptOrderDO.getOperatorsName());
deliveTaskDO.setCreateBy(loginUser.getUserid()); deliveTaskDO.setCreateBy(loginUser.getUserid());
deliveTaskDO.setCreateByName(loginUser.getUsername()); deliveTaskDO.setCreateByName(userRealName);
deliveTaskDO.setCreateTime(new Date()); deliveTaskDO.setCreateTime(new Date());
deliveTaskDOList.add(deliveTaskDO); deliveTaskDOList.add(deliveTaskDO);
} }
@@ -43,19 +43,31 @@ public class InOrderAbnormalAssembler {
if (ObjectUtil.isNull(loginUser)) { if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT); throw new DigitalLogisticsException(UserError.TIMEOUT);
} }
String userName = loginUser.getUsername();
// 获取登录人id // 获取登录人id
Long userId = loginUser.getUserid(); Long userId = loginUser.getUserid();
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
String userRealName = null;
if (loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
&& !loginUser.getUserPo().getUserName().trim().isEmpty()) {
// 优先使用UserPo中的userName(用户真实姓名)
userRealName = loginUser.getUserPo().getUserName();
} else if (loginUser.getRealname() != null && !loginUser.getRealname().trim().isEmpty()) {
// 其次使用realname
userRealName = loginUser.getRealname();
} else {
// 最后使用username(账号)作为兜底
userRealName = loginUser.getUsername();
}
if(inOrderAbnormalDTO.getInOrderAbnormalId() != null){ if(inOrderAbnormalDTO.getInOrderAbnormalId() != null){
inOrderAbnormalDO.setUpdateBy(userId); inOrderAbnormalDO.setUpdateBy(userId);
inOrderAbnormalDO.setUpdateByName(userName); inOrderAbnormalDO.setUpdateByName(userRealName);
inOrderAbnormalDO.setUpdateTime(new Date()); inOrderAbnormalDO.setUpdateTime(new Date());
}else { }else {
inOrderAbnormalDO.setOrganizationId(loginUser.getUserPo().getOrganizationId()); inOrderAbnormalDO.setOrganizationId(loginUser.getUserPo().getOrganizationId());
inOrderAbnormalDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); inOrderAbnormalDO.setOrganizationName(loginUser.getUserPo().getOrganizationName());
inOrderAbnormalDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); inOrderAbnormalDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
inOrderAbnormalDO.setCreateBy(userId); inOrderAbnormalDO.setCreateBy(userId);
inOrderAbnormalDO.setCreateByName(userName); inOrderAbnormalDO.setCreateByName(userRealName);
inOrderAbnormalDO.setCreateTime(new Date()); inOrderAbnormalDO.setCreateTime(new Date());
inOrderAbnormalDO.setDelFlag(1); inOrderAbnormalDO.setDelFlag(1);
} }