From 60eeaa1ac6a6e130197f7410fa35dc847c0c603d Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Mon, 29 Jan 2024 10:26:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E9=80=81=E8=87=AA=E6=8F=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=8A=82=E7=82=B9=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/node/BillLadingNode.java | 2 + .../mapper/DistrilbutionBillLadingMapper.java | 7 +++ .../mapper/DistrilbutionBillLadingMapper.xml | 3 + .../impl/DistributionSignforServiceImpl.java | 55 ++++++++++++++++++- 4 files changed, 64 insertions(+), 3 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/node/BillLadingNode.java b/blade-biz-common/src/main/java/org/springblade/common/node/BillLadingNode.java index 75968721e..4b1b48b85 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/node/BillLadingNode.java +++ b/blade-biz-common/src/main/java/org/springblade/common/node/BillLadingNode.java @@ -4,6 +4,8 @@ public enum BillLadingNode { chuangjianchenggong("创建成功","10"), qianshouzhong("签收中","20"), + qianshouwancheng("签收完成","20"), + yiwancheng("已完成","30"); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java index c9b85f24c..c1a8d50a6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java @@ -127,4 +127,11 @@ public interface DistrilbutionBillLadingMapper extends BaseMapper + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 82179b549..c91b9f527 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -53,6 +53,7 @@ import org.springblade.common.constant.DistributionTypeConstant; import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant; import org.springblade.common.constant.Inventory.InventorySigningStatusConstant; import org.springblade.common.constant.RabbitConstant; +import org.springblade.common.constant.billLading.BillLadingStatusConstant; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.delivery.DeliveryStatusConstant; import org.springblade.common.constant.loading.LoadScanSigningStatusConstant; @@ -78,6 +79,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.system.cache.DictBizCache; +import org.springblade.system.entity.User; import org.springblade.system.feign.IDictBizClient; import org.springblade.system.feign.IUserClient; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -186,6 +188,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl0){ + StringBuilder sb = new StringBuilder(); + //存在装车环境,进行数量的比对 + DeliveryNodeVo middleBillLadingNodeVo = new DeliveryNodeVo(); + middleBillLadingNodeVo.setNodeName(BillLadingNode.qianshouzhong.getName()); + if (loadingNum == billLadingNum){ + middleBillLadingNodeVo.setNodeName(BillLadingNode.qianshouwancheng.getName()); + } + //自提签收的操作人 + List distributionBillLadingScanEntityList = distributionBillLadingScanService.list(Wrappers.query().lambda() + .eq(DistributionBillLadingScanEntity::getBillLadingId,distrilbutionBillLadingEntity.getId()) + ); + if (Func.isNotEmpty(distributionBillLadingScanEntityList)){ + List userIds = distributionBillLadingScanEntityList.stream().map(DistributionBillLadingScanEntity::getCreateUser).collect(Collectors.toList()); + if (Func.isNotEmpty(userIds)){ + //查询用户 + for (Long userId : userIds) { + R userR = userClient.userInfoById(userId); + if (Func.isNotEmpty(userR)){ + sb.append(userR.getData().getName()+","); + } + } + } + //取操作节点最后结束时间 + List collect = distributionBillLadingScanEntityList.stream().map(DistributionBillLadingScanEntity::getCreateTime).distinct().collect(Collectors.toList()); + Date max = Collections.max(collect); + middleBillLadingNodeVo.setTime(max); + middleBillLadingNodeVo.setNodeUserName(sb.delete(sb.length()-1, sb.length()).toString()); + middleBillLadingNodeVo.setNodeInfo("计划自提"+billLadingNum+"件,"+"装车"+loadingNum+"件"); + nodeVos.add(middleBillLadingNodeVo); + } + if (distrilbutionBillLadingEntity.getConditions().equals(BillLadingStatusConstant.yiqianshou.getValue())){ + //文员完成确动作 + DeliveryNodeVo endBillLadingNodeVo = new DeliveryNodeVo(); + endBillLadingNodeVo.setNodeName(BillLadingNode.yiwancheng.getName()); + endBillLadingNodeVo.setTime(distrilbutionBillLadingEntity.getUpdateTime()); + String endUserName = userClient.userInfoById(distrilbutionBillLadingEntity.getUpdateUser()).getData().getName(); + endBillLadingNodeVo.setNodeUserName(endUserName); + endBillLadingNodeVo.setNodeInfo("计划自提"+billLadingNum+"件,"+"签收"+loadingNum+"件"); + nodeVos.add(endBillLadingNodeVo); + } + } }catch (Exception e){ - + throw new RuntimeException(e); } return nodeVos;