From 95b2ae64dd004f19cf72ef334a50446f25c18e32 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 24 Jul 2024 11:29:55 +0800 Subject: [PATCH 01/10] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trunkline/vo/CarsLoadAllOrderVO.java | 2 ++ .../feign/DistributionStockArticleClient.java | 19 ++++++++++++------- .../TrunklineBillladingWaybillMapper.xml | 2 +- .../mapper/TrunklineCarsLoadMapper.xml | 7 ++++--- .../service/impl/InComingServiceImpl.java | 2 +- .../impl/TrunklineCarsLoadServiceImpl.java | 14 ++++++++++++++ .../warehouse/config/ExecutorConfig.java | 2 +- 7 files changed, 35 insertions(+), 13 deletions(-) diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java index b052ab501..5fa8ea7d6 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java @@ -13,6 +13,8 @@ public class CarsLoadAllOrderVO implements Serializable { private String orderCode;//订单号 private Long waybillId;//运单id private String waybillNo;//运单号 + private Long nodeId;//计划仓库id + private String nodeName;//计划仓库 private Date createTime;//创建时间 private String destination;//到站 private String departureWarehouseName;//目的仓 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java index bdff57ce6..df28b8af0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java @@ -16,6 +16,7 @@ */ package com.logpm.distribution.feign; +import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -40,9 +41,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; /** * 配送在库订单 Feign实现类 @@ -338,11 +337,17 @@ public class DistributionStockArticleClient implements IDistributionStockArticle @Override public List findListByOrderCodesAndWarehouseId(FindParamterDTO findParamterDTO) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("order_code",findParamterDTO.getOrderCodeSet()) - .eq("warehouse_id",findParamterDTO.getWarehouseId()); + Set orderCodeSet = findParamterDTO.getOrderCodeSet(); + log.info("###################findListByOrderCodesAndWarehouseId: 当前处理的数据为 {}",orderCodeSet); + if(CollUtil.isEmpty(orderCodeSet)){ + return Collections.emptyList(); + }else{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("order_code",orderCodeSet) + .eq("warehouse_id",findParamterDTO.getWarehouseId()); - return distributionStockArticleService.list(queryWrapper); + return distributionStockArticleService.list(queryWrapper); + } } @Override diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml index f8e8ffe2d..d68f2c95a 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml @@ -41,7 +41,7 @@ lww.consignee_address consigneeAddress, lww.remark remark, lww.total_count-lww.billlading_num totalPlanNum, - ltbw.plan_num planNum, + lww.total_count-lww.billlading_num planNum, ltbw.real_num realNum, ltbw.billlading_fee billladingFee, lww.collect_pay collectPay, diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml index 115e43d43..d20c0095a 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml @@ -313,6 +313,8 @@ ltco.order_code orderCode, ltco.waybill_id waybillId, ltco.waybill_no waybillNo, + ltco.node_id nodeId, + ltco.node_name nodeName, lww.create_time createTime, lww.destination destination, lww.destination_warehouse_name destinationWarehouseName, @@ -334,13 +336,12 @@ where ltco.load_id = #{param.loadId} and ltco.final_node_id = #{param.finalNodeId} and ldpl.is_deleted = 0 - - and ldpl.warehouse_id = #{param.warehouseId} - group by ltco.id, ltco.order_code, ltco.waybill_id, ltco.waybill_no, + ltco.node_id, + ltco.node_name, lww.create_time, lww.destination, lww.destination_warehouse_name, diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java index dbd52e69a..dd001f79a 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java @@ -228,7 +228,7 @@ public class InComingServiceImpl implements IInComingService { return Resp.scanFail(405, "包件无数据", "包件无数据"); } - if(incomingType == 1 && incomingType == 2){ + if(incomingType == 1 || incomingType == 2){ for (TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity : advanceDetailEntityList) { Long warehouseId1 = trunklineAdvanceDetailEntity.getWarehouseId(); if(!warehouseId1.equals(warehouseId)){ diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index ff3bb5579..1942aaa66 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -6694,6 +6694,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl Date: Wed, 24 Jul 2024 12:00:27 +0800 Subject: [PATCH 02/10] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml | 2 +- .../trunkline/service/impl/TrunklineBillladingServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml index d68f2c95a..ce715343a 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml @@ -41,7 +41,7 @@ lww.consignee_address consigneeAddress, lww.remark remark, lww.total_count-lww.billlading_num totalPlanNum, - lww.total_count-lww.billlading_num planNum, + lww.total_count-lww.billlading_num+ltbw.real_num planNum, ltbw.real_num realNum, ltbw.billlading_fee billladingFee, lww.collect_pay collectPay, diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java index ba5a808bf..966b75deb 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java @@ -383,7 +383,7 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl Date: Wed, 24 Jul 2024 12:10:58 +0800 Subject: [PATCH 03/10] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E5=AF=B9=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E4=BB=BB=E5=8A=A1=E4=B8=AD=E6=9C=AA=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E8=AE=A1=E5=88=92=E7=9A=84=E4=BB=BB=E5=8A=A1=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E7=9B=98=E7=82=B9=E7=9A=84=E6=97=B6=E5=80=99=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E9=87=8D=E5=A4=8D=E6=95=B0=E6=8D=AE=20=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E6=97=A0=E6=B3=95=E8=BF=9B=E8=A1=8C=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TaskQuestServiceImpl.java | 120 ++++++++++-------- 1 file changed, 65 insertions(+), 55 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java index 8d4b7cf0e..d27b7d03a 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java @@ -50,6 +50,7 @@ import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.jetbrains.annotations.Nullable; import org.mapstruct.factory.Mappers; +import org.springblade.common.cache.CacheNames; import org.springblade.common.constant.RedisKeyConstant; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.exception.CustomerException; @@ -196,8 +197,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl i.getTrayId().equals(String.valueOf(a.getId()) )); -// log.info("托盘是否有值>>>>>>>>>>{}",b); -// Optional first = trayEntityList.stream().filter(t -> i.getTrayId().equals(String.valueOf(t.getId()))).findFirst(); -// if (first.isPresent()) { -// BasicdataTrayEntity basicdataTrayEntity = first.get(); -// detailEntity.setTrayName(basicdataTrayEntity.getPalletName()); -// } - } + Integer conditions = i.getConditions(); - if (conditions.equals(1)) { + if (1==conditions) { detailEntity.setQuestTarget(1); - } else if (conditions.equals(2)) { + + } else if (2==conditions) { detailEntity.setQuestTarget(3); - } - if (ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(1)) { - detailEntity.setQuestTarget(i.getConditions()); - } else if (ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(2)) { - detailEntity.setQuestTarget(3); // 库存品 - } else { - log.info("包件信息!数据信息不存在!!"); + }else if( 3==conditions){ + detailEntity.setQuestTarget(2); + }else{ + log.warn(">>>>>>>>>>> 警告 错误的包件数据类型 ,{}",i); return null; } + + // detailEntity.setQuestTarget(1); detailEntity.setOrderPackageCode(i.getOrderPackageCode()); detailEntity.setWaybillNumber(i.getWaybillNumber()); @@ -306,11 +299,32 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailList = baseMapper.selectTaskInfoForIds(questNum, quest, taskSearchDTO.getQuestDetailIds()); +// List questDetailList = baseMapper.selectTaskInfoForIds(questNum, quest, taskSearchDTO.getQuestDetailIds()); log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}", 1); List list = new ArrayList<>(); @@ -950,7 +963,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl { - if (i.getQuestStatus() == 1) { - yi.updateAndGet(v1 -> v1 + 1); - q.setQuestStatusName("部分盘点"); - User user = UserCache.getUser(i.getUpdateUser()); - q.setUpdateUser(user.getAccount()); - q.setUpdateTime(i.getUpdateTime()); - } + if (i.getQuestStatus() == 1) { + yi.updateAndGet(v1 -> v1 + 1); + q.setQuestStatusName("部分盘点"); + User user = UserCache.getUser(i.getUpdateUser()); + q.setUpdateUser(user.getAccount()); + q.setUpdateTime(i.getUpdateTime()); + } q.setOrderCode(i.getOrderCode()); if (ObjectUtils.isNull(i.getGroundingPositionCode())) { q.setGroundingPositionCode("无更新"); @@ -1269,7 +1282,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl collect = trayEntityList.stream().filter(w -> w.getId().equals(Long.valueOf(s))).collect(Collectors.toList()); //托盘 if (ObjectUtils.isNull(collect)) { @@ -1554,10 +1567,10 @@ public class TaskQuestServiceImpl extends BaseServiceImpl byPacketBarCode = distributionParcelListClient.findByPacketBarCode(packageListVO.getOrderPackageCode()); for (DistributionParcelListEntity distributionParcelListEntity : byPacketBarCode) { - if(distributionParcelListEntity.getWarehouseId().equals(taskSearchDTO.getWarehouseId())){ - QuestDetailEntity questDetailEntity= buildQuestDetailEntity(taskSearchDTO.getQuestId(),distributionParcelListEntity,user,null); + if (distributionParcelListEntity.getWarehouseId().equals(taskSearchDTO.getWarehouseId())) { + QuestDetailEntity questDetailEntity = buildQuestDetailEntity(taskSearchDTO.getQuestId(), distributionParcelListEntity, user, null); questDetailEntities.add(questDetailEntity); - baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(),questDetailEntities); + baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(), questDetailEntities); } } } @@ -1652,24 +1665,24 @@ public class TaskQuestServiceImpl extends BaseServiceImpl byPacketBarCode = distributionParcelListClient.findEntityListByOrderCode(byPacketBarCodeAndWarehouseId.getOrderCode(), taskSearchDTO.getWarehouseId()); - if(ObjectUtils.isEmpty(byPacketBarCode)){ + if (ObjectUtils.isEmpty(byPacketBarCode)) { throw new ServiceException("包件信息不存在"); - }else{ + } else { List list1 = new ArrayList<>(); for (DistributionParcelListEntity distributionParcelListEntity : byPacketBarCode) { - if(distributionParcelListEntity.getWarehouseId().equals(taskSearchDTO.getWarehouseId())){ + if (distributionParcelListEntity.getWarehouseId().equals(taskSearchDTO.getWarehouseId())) { QuestDetailEntity questDetailEntity1 = buildQuestDetailEntity(taskSearchDTO.getQuestId(), distributionParcelListEntity, user, null); // 这里新增2 questDetailEntity1.setIsNew(1); list1.add(questDetailEntity1); } } - baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(),list1); + baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(), list1); // return taskPageList.setRecords(list); questDetailEntityList = list1; } @@ -1855,7 +1868,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl byPacketBarCode = distributionParcelListClient.findByPacketBarCode(questDetail.getOrderPackageCode()); - if(ObjectUtils.isEmpty(byPacketBarCode)){ + if (ObjectUtils.isEmpty(byPacketBarCode)) { return R.fail(5000, "包件信息不存在!!"); - }else{ + } else { for (DistributionParcelListEntity distributionParcelListEntity : byPacketBarCode) { - if(distributionParcelListEntity.getWarehouseId().equals(warehouseId)){ + if (distributionParcelListEntity.getWarehouseId().equals(warehouseId)) { QuestDetailEntity questDetailEntity1 = buildQuestDetailEntity(questId, distributionParcelListEntity, user, null); // 这里新增2 questDetailEntity1.setIsNew(1); List list = Arrays.asList(questDetailEntity1); - baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(),list); + baseMapper.insertQuestDetail(taskSearchDTO.getQuestNum(), list); return R.data(list); } } - } - } for (QuestDetailEntity i : questDetailEntityList) { if (i.getQuestStatus().equals(1)) { @@ -3459,7 +3469,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl exportContrastStockInfo(QuestDetailDTO questDetailDTO) { - List datas = baseMapper.selectContrastStockInfo(questDetailDTO.getQuestNum(),questDetailDTO.getQuestStatus()); + List datas = baseMapper.selectContrastStockInfo(questDetailDTO.getQuestNum(), questDetailDTO.getQuestStatus()); return datas; From 494edad92fcfd3a3d304393b295ecd739b350bfd Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 24 Jul 2024 14:45:32 +0800 Subject: [PATCH 04/10] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/TrunklineBillladingWaybillMapper.xml | 2 +- .../service/impl/TrunklineBillladingServiceImpl.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml index ce715343a..d0b4f4350 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml @@ -41,7 +41,7 @@ lww.consignee_address consigneeAddress, lww.remark remark, lww.total_count-lww.billlading_num totalPlanNum, - lww.total_count-lww.billlading_num+ltbw.real_num planNum, + lww.total_count-lww.billlading_num + ltbw.real_num planNum, ltbw.real_num realNum, ltbw.billlading_fee billladingFee, lww.collect_pay collectPay, diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java index 966b75deb..240017324 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java @@ -147,6 +147,8 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl Date: Wed, 24 Jul 2024 17:35:24 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E5=A2=9E=E5=80=BC=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E3=80=81=E8=87=AA=E6=8F=90=E9=9B=B6=E6=8B=85?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DistributionAddvalueMapper.xml | 8 +- .../service/IDistributionSignforService.java | 11 +- .../impl/DistributionAddvalueServiceImpl.java | 427 ++++++++++++------ .../impl/DistributionSignforServiceImpl.java | 50 ++ .../DistrilbutionBillLadingServiceImpl.java | 6 + 5 files changed, 353 insertions(+), 149 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml index 39794ca04..0f9484d56 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml @@ -110,7 +110,13 @@ WHEN ldap.conditions =1 THEN '订制品' WHEN ldap.conditions =2 THEN '库存品' WHEN ldap.conditions =3 THEN '零担' - END AS packageType + END AS packageType, + ldap.client_id AS clientId, + ldap.client_name AS clientName, + ldap.brand_name AS brandName, + ldap.brand_id AS brandId, + ldap.unit_price AS unitPrice, + ldap.scan_user_name AS scanUserName FROM logpm_distribution_addvalue AS lda INNER JOIN logpm_distribution_addvalue_detail AS ldad ON ldad.addvalue_id = lda.id diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java index 60962172b..bfafa9103 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java @@ -18,10 +18,7 @@ package com.logpm.distribution.service; import com.logpm.distribution.bean.Resp; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.logpm.distribution.dto.DistributionAddvalueDTO; -import com.logpm.distribution.dto.DistributionSignforDTO; -import com.logpm.distribution.dto.DistributionSignforExcelDTO; -import com.logpm.distribution.dto.DistrilbutionAppsignforDTO; +import com.logpm.distribution.dto.*; import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO; import com.logpm.distribution.entity.DistributionReservationEntity; import com.logpm.distribution.entity.DistributionSignPrintEntity; @@ -365,4 +362,10 @@ public interface IDistributionSignforService extends BaseService checkAddValuePCPackageList(Long reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java index f41084709..befdcde6c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java @@ -16,11 +16,9 @@ */ package com.logpm.distribution.service.impl; -import com.alibaba.fastjson.serializer.BigDecimalCodec; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.basicdata.entity.BasicdataClientEntity; import com.logpm.basicdata.entity.BasicdataFactoryCategoryEntity; -import com.logpm.basicdata.entity.BasicdataPriceEntity; import com.logpm.basicdata.feign.IBasicdataClientClient; import com.logpm.basicdata.feign.IBasicdataFactoryCategoryClient; import com.logpm.basicdata.feign.IBasicdataPriceClient; @@ -38,7 +36,6 @@ import com.logpm.distribution.service.*; import com.logpm.distribution.vo.DistributionAddvaluePackageVO; import com.logpm.distribution.vo.DistributionAddvalueVO; import com.logpm.distribution.vo.app.DistributionAppAddvalueVO; -import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.logging.log4j.util.Strings; import org.springblade.common.constant.loading.LoadingStatusConstant; @@ -46,6 +43,8 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -53,10 +52,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.BigInteger; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import java.util.stream.Collectors; @@ -68,23 +64,37 @@ import java.util.stream.Collectors; * @since 2023-09-11 */ @Service -@AllArgsConstructor @Slf4j public class DistributionAddvalueServiceImpl extends BaseServiceImpl implements IDistributionAddvalueService { - private final DistributionAddvalueMapper distributionAddvalueMapper; - private final DistributionReservationMapper distributionReservationMapper; - private final IDistributionStockListService distributionStockListService; - private final DistributionDeliveryListMapper distributionDeliveryListMapper; - // private final IDistributionAddvalueService distributionAddvalueService; - private final IDistributionAddvaluePackageService distributionAddvaluePackageService; - private final IDistributionAddvalueDetailService distributionAddvalueDetailService; - private final DistributionAddvalueDetailMapper distributionAddvalueDetailMapper; - private final DistributionAddvaluePackageMapper distributionAddvaluePackageMapper; - private final IDistributionLoadscanService distributionLoadscanService; - private final IBasicdataPriceClient basicdataPriceClient; - private final IBasicdataClientClient basicdataClientClient; - private final IBasicdataFactoryCategoryClient basicdataFactoryCategoryClient; + @Autowired + private DistributionAddvalueMapper distributionAddvalueMapper; + @Autowired + private DistributionReservationMapper distributionReservationMapper; + @Autowired + private IDistributionStockListService distributionStockListService; + @Autowired + private DistributionDeliveryListMapper distributionDeliveryListMapper; + @Autowired + // private IDistributionAddvalueService distributionAddvalueService; + private IDistributionAddvaluePackageService distributionAddvaluePackageService; + @Autowired + private IDistributionAddvalueDetailService distributionAddvalueDetailService; + @Autowired + private DistributionAddvalueDetailMapper distributionAddvalueDetailMapper; + @Autowired + private DistributionAddvaluePackageMapper distributionAddvaluePackageMapper; + @Autowired + private IDistributionLoadscanService distributionLoadscanService; + @Autowired + private IBasicdataPriceClient basicdataPriceClient; + @Autowired + private IBasicdataClientClient basicdataClientClient; + @Autowired + private IBasicdataFactoryCategoryClient basicdataFactoryCategoryClient; + @Autowired + @Lazy + private IDistributionSignforService distributionSignforService; @Override @@ -388,10 +398,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); - List packageDTOList = packageEntityList.stream().filter(p -> Func.isNotEmpty(p.getQuantity()) && p.getQuantity() > 0).collect(Collectors.toList()); - if (Func.isEmpty(packageDTOList)) { - return Resp.scanFail("操作失败", "无可用包件信息"); - } + //查询是否重复添加 DistributionAddvalueEntity addvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.query().lambda() .eq(DistributionAddvalueEntity::getAddvalueId, distributionAppAddvalueDTO.getAddvalueType()) @@ -413,6 +420,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl addValueDTO = new HashMap<>(); + addValueDTO.put("reservationId",distributionAppAddvalueDTO.getReservationId().toString()); + //超区需要默认当前所有包件 + List superZoneList = distributionSignforService.checkAddValuePCPackageList(distributionAppAddvalueDTO.getReservationId()); + if (!Func.isEmpty(superZoneList)){ + packageEntityList = superZoneList; + //进行费用均摊 + BigDecimal fee = distributionAppAddvalueDTO.getFee(); + if (fee.equals(BigDecimal.ZERO)){ + currencyUnitPrice = BigDecimal.ZERO; + }else { + currencyUnitPrice = fee.divide(BigDecimal.valueOf(packageEntityList.size())); + } + } break; case "3": if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) { @@ -447,10 +469,28 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl specialCarList = distributionSignforService.checkAddValuePCPackageList(distributionAppAddvalueDTO.getReservationId()); + if (!Func.isEmpty(specialCarList)){ + packageEntityList = specialCarList; + //进行费用均摊 + BigDecimal fee = distributionAppAddvalueDTO.getFee(); + if (fee.equals(BigDecimal.ZERO)){ + currencyUnitPrice = BigDecimal.ZERO; + }else { + currencyUnitPrice = fee.divide(BigDecimal.valueOf(packageEntityList.size())); + } + + } break; } + if (packageEntityList.isEmpty()) { + return R.fail("无可用包件信息"); + } + List packageDTOList = packageEntityList.stream().filter(p -> Func.isNotEmpty(p.getQuantity()) && p.getQuantity() > 0).collect(Collectors.toList()); + if (Func.isEmpty(packageDTOList)) { + return Resp.scanFail("操作失败", "无可用包件信息"); + } int total = packageEntityList.stream().mapToInt(DistributionAddvaluePackageDTO::getQuantity).sum(); - if (total == 0) { return Resp.scanFail("添加失败", "包件数量错误"); } else { @@ -481,79 +521,83 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl packageEntities = distributionAddvalueMapper.selectAddvaluePackageListByAddvalueType(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType()); Map addvaluePackageEntityMap = packageEntities.stream().collect(Collectors.toMap(DistributionAddvaluePackageEntity::getPackageId, Function.identity(), (k1, k2) -> k2)); + BigDecimal finalCurrencyUnitPrice = currencyUnitPrice; packageDTOList.stream().forEach(p -> { + BigDecimal unitPrice = null; if (Func.isEmpty(addvaluePackageEntityMap.get(p.getPackageId()))) { - Integer conditions = p.getConditions(); - BigDecimal unitPrice = null; - //获取结算单价 - List priceDispatchAddClientVOS = basicdataPriceClient.dispatchAddPrice(BasicdatPriceApiVO.builder().clientId(p.getClientId().toString()).brandId(p.getBrandId().toString()).build()); - if (Func.isEmpty(priceDispatchAddClientVOS)) { - //此客户品牌下无单价信息 - unitPrice = new BigDecimal(BigInteger.ZERO); - } - switch (conditions) { - case 1: - //查询订制品结算品类 - BasicdataFactoryCategoryEntity entity1 = new BasicdataFactoryCategoryEntity(); - entity1.setFirsts(p.getFirsts()); - entity1.setSeconds(p.getSecond()); - entity1.setThirds(p.getThirdProduct()); - entity1.setMaterielName(p.getMaterialName()); - entity1.setBrandId(p.getBrandId()); - BasicdataFactoryCategoryEntity factoryCategoryEntity1 = basicdataFactoryCategoryClient.findEntityByThreeCategory(entity1); - if (Func.isEmpty(factoryCategoryEntity1)){ - unitPrice = new BigDecimal(BigInteger.ZERO); - } - if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity1)){ - //获取单价 - unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity1,distributionAppAddvalueDTO); - } - //判定该包件是否属于该客户 - List parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppAddvalueDTO.getReservationId()); + if (Func.isEmpty(distributionAppAddvalueDTO.getFee())){ + Integer conditions = p.getConditions(); + //获取结算单价 + List priceDispatchAddClientVOS = basicdataPriceClient.dispatchAddPrice(BasicdatPriceApiVO.builder().clientId(p.getClientId().toString()).brandId(p.getBrandId().toString()).build()); + if (Func.isEmpty(priceDispatchAddClientVOS)) { + //此客户品牌下无单价信息 + unitPrice = new BigDecimal(BigInteger.ZERO); + } + switch (conditions) { + case 1: + //查询订制品结算品类 + BasicdataFactoryCategoryEntity entity1 = new BasicdataFactoryCategoryEntity(); + entity1.setFirsts(p.getFirsts()); + entity1.setSeconds(p.getSecond()); + entity1.setThirds(p.getThirdProduct()); + entity1.setMaterielName(p.getMaterialName()); + entity1.setBrandId(p.getBrandId()); + BasicdataFactoryCategoryEntity factoryCategoryEntity1 = basicdataFactoryCategoryClient.findEntityByThreeCategory(entity1); + if (Func.isEmpty(factoryCategoryEntity1)){ + unitPrice = new BigDecimal(BigInteger.ZERO); + } + if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity1)){ + //获取单价 + unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity1,distributionAppAddvalueDTO); + } + //判定该包件是否属于该客户 + List parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppAddvalueDTO.getReservationId()); // boolean packageFlag = parcelListEntities.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId())); - boolean packageFlag = parcelListEntities.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList()).contains(p.getPackageId()); - if (!packageFlag) { - throw new RuntimeException("不属于该客户包件"); - } - break; - case 2: - BasicdataFactoryCategoryEntity entity2 = new BasicdataFactoryCategoryEntity(); - entity2.setMaterielName(p.getMaterialName()); - BasicdataFactoryCategoryEntity factoryCategoryEntity2 = basicdataFactoryCategoryClient.findEntityByMaterielName(entity2); - if (Func.isEmpty(factoryCategoryEntity2)){ - unitPrice = new BigDecimal(BigInteger.ZERO); - } - if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity2)){ - //获取单价 - unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity2,distributionAppAddvalueDTO); - } - List detailEntities = distributionReservationMapper.selectInventoryListByReservation(distributionAppAddvalueDTO.getReservationId()); + boolean packageFlag = parcelListEntities.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList()).contains(p.getPackageId()); + if (!packageFlag) { + throw new RuntimeException("不属于该客户包件"); + } + break; + case 2: + BasicdataFactoryCategoryEntity entity2 = new BasicdataFactoryCategoryEntity(); + entity2.setMaterielName(p.getMaterialName()); + BasicdataFactoryCategoryEntity factoryCategoryEntity2 = basicdataFactoryCategoryClient.findEntityByMaterielName(entity2); + if (Func.isEmpty(factoryCategoryEntity2)){ + unitPrice = new BigDecimal(BigInteger.ZERO); + } + if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity2)){ + //获取单价 + unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity2,distributionAppAddvalueDTO); + } + List detailEntities = distributionReservationMapper.selectInventoryListByReservation(distributionAppAddvalueDTO.getReservationId()); // boolean inventoryPackageFlag = detailEntities.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId())); - boolean inventoryPackageFlag = detailEntities.stream().map(DisStockListDetailEntity::getId).collect(Collectors.toList()).contains(p.getPackageId()); - if (!inventoryPackageFlag) { - throw new RuntimeException("不属于该客户包件"); - } - break; - case 3: - BasicdataFactoryCategoryEntity entity3 = new BasicdataFactoryCategoryEntity(); - entity3.setMaterielName(p.getMaterialName()); - BasicdataFactoryCategoryEntity factoryCategoryEntity3 = basicdataFactoryCategoryClient.findEntityByCategoryName(entity3); - if (Func.isEmpty(factoryCategoryEntity3)){ - unitPrice = new BigDecimal(BigInteger.ZERO); - } - if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity3)){ - //获取单价 - unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity3,distributionAppAddvalueDTO); - } - List distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(distributionAppAddvalueDTO.getReservationId()); + boolean inventoryPackageFlag = detailEntities.stream().map(DisStockListDetailEntity::getId).collect(Collectors.toList()).contains(p.getPackageId()); + if (!inventoryPackageFlag) { + throw new RuntimeException("不属于该客户包件"); + } + break; + case 3: + BasicdataFactoryCategoryEntity entity3 = new BasicdataFactoryCategoryEntity(); + entity3.setMaterielName(p.getMaterialName()); + BasicdataFactoryCategoryEntity factoryCategoryEntity3 = basicdataFactoryCategoryClient.findEntityByCategoryName(entity3); + if (Func.isEmpty(factoryCategoryEntity3)){ + unitPrice = new BigDecimal(BigInteger.ZERO); + } + if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity3)){ + //获取单价 + unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity3,distributionAppAddvalueDTO); + } + List distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(distributionAppAddvalueDTO.getReservationId()); // boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId())); - boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getId).collect(Collectors.toList()).contains(p.getPackageId()); - if (!zeroPackageFlag) { - throw new RuntimeException("不属于该客户包件"); - } - break; + boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getId).collect(Collectors.toList()).contains(p.getPackageId()); + if (!zeroPackageFlag) { + throw new RuntimeException("不属于该客户包件"); + } + break; + } + }else { + unitPrice = finalCurrencyUnitPrice; } - p.setAddvalueDetailId(distributionAddvalueDetailEntity.getId()); DistributionAddvaluePackageEntity addvaluePackageEntity = Func.copy(p, DistributionAddvaluePackageEntity.class); if (Func.isNotEmpty(p.getZeroQuantity())) { @@ -563,6 +607,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl handleAddvaluePackageEntity(List records) { + List packageDTOList= new ArrayList<>(); + records.forEach(r->{ + DistributionAddvaluePackageDTO dto = Func.copy(r, DistributionAddvaluePackageDTO.class); + packageDTOList.add(dto); + + }); + return packageDTOList; + } + private BigDecimal getUnitPrice(List priceDispatchAddClientVOS, BasicdataFactoryCategoryEntity factoryCategoryEntity, DistributionAppAddvalueDTO distributionAppAddvalueDTO) { List collect = priceDispatchAddClientVOS.stream().filter(f -> f.getCategoryId().equals(factoryCategoryEntity.getId())).collect(Collectors.toList()); @@ -860,31 +915,65 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); + List packageEntityList = new ArrayList<>(); + if (distributionAppAddvalueDTO.getAddvalueType().equals("2") || distributionAppAddvalueDTO.getAddvalueType().equals("6")){ + //专车和超区进行全部包件查询 + Map addValueDTO = new HashMap<>(); + addValueDTO.put("reservationId",distributionAppAddvalueDTO.getReservationId().toString()); + //超区需要默认当前所有包件 + List superZoneList = distributionSignforService.checkAddValuePCPackageList(distributionAppAddvalueDTO.getReservationId()); + if (!superZoneList.isEmpty()) { + packageEntityList = superZoneList; + } + }else { + packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); + } if (Func.isEmpty(packageEntityList)) { - log.error("################在干什么?参数都不会传"); - return R.fail("在干什么?参数都不会传"); + return R.fail("无包件信息进行移除"); + } + //查询增值服务详情 + DistributionAddvalueDetailEntity distributionAddvalueDetailEntity = distributionAddvalueDetailMapper.selectById(distributionAppAddvalueDTO.getAddvalueDetailId()); + if (Func.isEmpty(distributionAddvalueDetailEntity)){ + log.error("################查询增值服务详情错误id:{}",distributionAppAddvalueDTO.getAddvalueDetailId()); } + DistributionAddvalueEntity addvalueEntity = this.getById(distributionAddvalueDetailEntity.getAddvalueId()); + if (Func.isEmpty(addvalueEntity)){ + log.error("################查询增值服务错误id:{}",distributionAddvalueDetailEntity.getAddvalueId()); + } + AtomicReference newFee = new AtomicReference<>(BigDecimal.ZERO); List packageIds = packageEntityList.stream().map(DistributionAddvaluePackageDTO::getPackageId).collect(Collectors.toList()); + packageEntityList.forEach(p->{ + newFee.set(distributionAddvalueDetailEntity.getFee().subtract(p.getUnitPrice())); + + }); List addvaluePackageEntities = distributionAddvaluePackageMapper.selectList(Wrappers.query().lambda() .eq(DistributionAddvaluePackageEntity::getReservationId, distributionAppAddvalueDTO.getReservationId()) .eq(DistributionAddvaluePackageEntity::getAddvalueDetailId, distributionAppAddvalueDTO.getAddvalueDetailId()) ); - //查看取消增值服务的保健是否存在该项增值服务中,存在才能继续执行 - boolean isExistence = packageIds.stream().allMatch(id -> addvaluePackageEntities.stream().map(DistributionAddvaluePackageEntity::getPackageId).collect(Collectors.toList()).contains(id)); - if (isExistence) { - if (packageIds.size() == addvaluePackageEntities.size()) { - //这里就需要对整个增值服务项进行删除 - distributionAddvalueDetailMapper.deleteAddvalueDetailById(distributionAppAddvalueDTO.getAddvalueDetailId()); - distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType()); - } - packageIds.forEach(id -> { - distributionAddvaluePackageMapper.deleteAddvaluePackageByDetailId(distributionAppAddvalueDTO.getReservationId(), id, distributionAppAddvalueDTO.getAddvalueDetailId()); - }); - } else { - log.error("###########该包件不存在增值服务项包件列表中"); - return R.fail("取消包件失败,该包件不存在增值服务项列表中"); + if (Objects.equals(packageIds.size(),addvaluePackageEntities.size())){ + //此增值服务项进行全部取消 + //这里就需要对整个增值服务项进行删除 + distributionAddvalueDetailMapper.deleteAddvalueDetailById(distributionAppAddvalueDTO.getAddvalueDetailId()); + distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType()); + }else { + int sum = packageEntityList.stream().mapToInt(DistributionAddvaluePackageEntity::getQuantity).sum(); + //维护详情的件数和金额 + distributionAddvalueDetailEntity.setFee(newFee.get()); + distributionAddvalueDetailEntity.setNum(distributionAddvalueDetailEntity.getNum() - sum); + distributionAddvalueDetailMapper.updateById(distributionAddvalueDetailEntity); } + //查看取消增值服务的保健是否存在该项增值服务中,存在才能继续执行 + boolean isExistence = packageIds.stream().allMatch(id -> addvaluePackageEntities.stream().map(DistributionAddvaluePackageEntity::getPackageId).collect(Collectors.toList()).contains(id)); + if (isExistence) { + packageIds.forEach(id -> { + distributionAddvaluePackageMapper.deleteAddvaluePackageByDetailId(distributionAppAddvalueDTO.getReservationId(), id, distributionAppAddvalueDTO.getAddvalueDetailId()); + }); + } else { + log.error("###########该包件不存在增值服务项包件列表中"); + return R.fail("取消包件失败,该包件不存在增值服务项列表中"); + } + + return R.success("操作成功"); } @@ -895,10 +984,13 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl packageDTOMap = packageEntityList.stream().collect(Collectors.toMap(DistributionAddvaluePackageDTO::getPackageId, Function.identity(), (k1, k2) -> k2)); List zeroPackageIds = packageEntityList.stream().filter(p -> p.getConditions() == 3).collect(Collectors.toList()).stream().map(DistributionAddvaluePackageDTO::getPackageId).collect(Collectors.toList()); //这里需要查询出原来的增值服务项详情 DistributionAddvalueDetailEntity detailEntity = distributionAddvalueDetailMapper.selectById(distributionAppAddvalueDTO.getAddvalueDetailId()); + totalFee[0] = totalFee[0].add(detailEntity.getFee()); //查询出对应所有增值服务项的包件信息 List addvaluePackageEntities = distributionAddvaluePackageMapper.selectList(Wrappers.query().lambda() .eq(DistributionAddvaluePackageEntity::getReservationId, distributionAppAddvalueDTO.getReservationId()) @@ -927,9 +1019,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl>>>>>>>>:{}", string); } - if (increasePackage.size() > 0) { - //统计该项增值服务包件数量 int num = detailEntity.getNum() + increasePackage.size(); detailEntity.setNum(num); @@ -941,13 +1031,6 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl { - - if (Func.isNotEmpty(packageDTOMap.get(ip))) { //新增包件 + BigDecimal unitPrice = null; + //计算包件单价 DistributionAddvaluePackageDTO distributionAddvaluePackageDTO = packageDTOMap.get(ip); List priceDispatchAddClientVOS = basicdataPriceClient.dispatchAddPrice(BasicdatPriceApiVO.builder().clientId(distributionAddvaluePackageDTO.getClientId().toString()).brandId(distributionAddvaluePackageDTO.getClientId().toString()).build()); + //查询价格模板 if (Func.isEmpty(priceDispatchAddClientVOS)){ - //TODO 结算品类 + unitPrice = BigDecimal.ZERO; + } + DistributionAddvaluePackageDTO dto = packageDTOMap.get(ip); + switch (dto.getConditions()) { + case 1: + //查询订制品结算品类 + BasicdataFactoryCategoryEntity entity1 = new BasicdataFactoryCategoryEntity(); + entity1.setFirsts(dto.getFirsts()); + entity1.setSeconds(dto.getSecond()); + entity1.setThirds(dto.getThirdProduct()); + entity1.setMaterielName(dto.getMaterialName()); + entity1.setBrandId(dto.getBrandId()); + BasicdataFactoryCategoryEntity factoryCategoryEntity1 = basicdataFactoryCategoryClient.findEntityByThreeCategory(entity1); + if (Func.isEmpty(factoryCategoryEntity1)){ + unitPrice = new BigDecimal(BigInteger.ZERO); + } + if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity1)){ + //获取单价 + unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity1,distributionAppAddvalueDTO); + } + //判定该包件是否属于该客户 + List parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppAddvalueDTO.getReservationId()); +// boolean packageFlag = parcelListEntities.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId())); + boolean packageFlag = parcelListEntities.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList()).contains(dto.getPackageId()); + if (!packageFlag) { + throw new RuntimeException("不属于该客户包件"); + } + break; + case 2: + BasicdataFactoryCategoryEntity entity2 = new BasicdataFactoryCategoryEntity(); + entity2.setMaterielName(dto.getMaterialName()); + BasicdataFactoryCategoryEntity factoryCategoryEntity2 = basicdataFactoryCategoryClient.findEntityByMaterielName(entity2); + if (Func.isEmpty(factoryCategoryEntity2)){ + unitPrice = new BigDecimal(BigInteger.ZERO); + } + if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity2)){ + //获取单价 + unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity2,distributionAppAddvalueDTO); + } + List detailEntities = distributionReservationMapper.selectInventoryListByReservation(distributionAppAddvalueDTO.getReservationId()); + boolean inventoryPackageFlag = detailEntities.stream().map(DisStockListDetailEntity::getId).collect(Collectors.toList()).contains(dto.getPackageId()); + if (!inventoryPackageFlag) { + throw new RuntimeException("不属于该客户包件"); + } + break; + case 3: + BasicdataFactoryCategoryEntity entity3 = new BasicdataFactoryCategoryEntity(); + entity3.setMaterielName(dto.getMaterialName()); + BasicdataFactoryCategoryEntity factoryCategoryEntity3 = basicdataFactoryCategoryClient.findEntityByCategoryName(entity3); + if (Func.isEmpty(factoryCategoryEntity3)){ + unitPrice = new BigDecimal(BigInteger.ZERO); + } + if (!Func.isEmpty(priceDispatchAddClientVOS)&&Func.isNotEmpty(factoryCategoryEntity3)){ + //获取单价 + unitPrice = getUnitPrice(priceDispatchAddClientVOS,factoryCategoryEntity3,distributionAppAddvalueDTO); + } + List distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(distributionAppAddvalueDTO.getReservationId()); +// boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().allMatch(pack -> !Func.equals(pack.getId(), p.getPackageId())); + boolean zeroPackageFlag = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getId).collect(Collectors.toList()).contains(dto.getPackageId()); + if (!zeroPackageFlag) { + throw new RuntimeException("不属于该客户包件"); + } + break; } + //查询价格模板 DistributionAddvaluePackageEntity distributionAddvaluePackageEntity = distributionAddvaluePackageMapper.selectOne(Wrappers.query().lambda() .eq(DistributionAddvaluePackageEntity::getReservationId, distributionAddvaluePackageDTO.getReservationId()) @@ -1021,7 +1148,6 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl checkAddValuePCPackageList(Long reservationId) { + if (Func.isEmpty(reservationId)) { + log.error("##################无reservationId"); + return null; + } + List reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(reservationId); + List addvaluePackageVOS = new ArrayList<>(); + Map addValueDTO = new HashMap<>(); + if (Func.isNotEmpty(reservationStockarticleEntityList)) { + List orderIds = reservationStockarticleEntityList.stream().map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList()); + LambdaQueryWrapper orderQW = Wrappers.query().lambda().in(DistributionStockArticleEntity::getId, orderIds); + List orderList = distributionStockArticleService.list(orderQW); + orderList.forEach(rs -> { + if (rs.getIsZero().equals(IsOrNoConstant.no.getValue())) { + List addvaluepackageVO = distributionAddvalueMapper.selectAddvaluePackageVO(reservationId, rs.getId(), addValueDTO); + if (Func.isNotEmpty(addvaluepackageVO)) { + addvaluePackageVOS.addAll(addvaluepackageVO); + } + } else { + List addvalueZeroPackageVO = distributionAddvalueMapper.selectAddvalueZeroPackageVO(reservationId, rs.getId(), addValueDTO); + if (Func.isNotEmpty(addvalueZeroPackageVO)) { + addvaluePackageVOS.addAll(addvalueZeroPackageVO); + } + } + }); + } + List distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(reservationId); + if (Func.isNotEmpty(distributionReservationStocklistEntities)) { + List inventoryIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList()); + LambdaQueryWrapper inventoryQW = Wrappers.query().lambda().in(DistributionStockListEntity::getId, inventoryIds); + List stockListEntityList = distributionStockListService.list(inventoryQW); + stockListEntityList.forEach(inven -> { + List addvalueinventoryPackageVO = distributionAddvalueMapper.selectAddvalueInventoryPackageVO(reservationId, inven.getId(), addValueDTO); + if (Func.isNotEmpty(addvalueinventoryPackageVO)) { + addvaluePackageVOS.addAll(addvalueinventoryPackageVO); + } + }); + } + List list = new ArrayList<>(); + if (!addvaluePackageVOS.isEmpty()) { + addvaluePackageVOS.forEach(a->{ + DistributionAddvaluePackageDTO dto = Func.copy(a, DistributionAddvaluePackageDTO.class); + list.add(dto); + }); + } + + return list; + } + private void buildNameAndPhone(List pushOldPackageSigning) { for (SignPushDataUnitDTO signPushDataUnitDTO : pushOldPackageSigning) { User user = bladeRedis.get(RedisKeyConstant.USER_NAME_PHONE_KEY + signPushDataUnitDTO.getAdministratorsId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java index 1e38aac1d..ddb2189c2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java @@ -2065,6 +2065,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl zeroPackageList = new ArrayList<>(); parcelNumberEntityList.forEach(zp -> { //查询包件 DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(zp.getParcelListId()); @@ -2077,12 +2078,17 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>>>>>>>>>>零担品类增加计划数量getHandQuantity:{}getDeliveryQuantity:{}(zp.getHandQuantity() - zp.getDeliveryQuantity()):{}", zp.getHandQuantity(), zp.getDeliveryQuantity(), (zp.getHandQuantity() - zp.getDeliveryQuantity())); distributionParcelNumberService.updateBillNum(zp.getParcelListId(), (zp.getHandQuantity() - zp.getDeliveryQuantity()), 1); + zeroPackageList.add(distributionReservationZeroPackageEntity); }); List collect = parcelNumberEntityList.stream().map(DistributionParcelNumberEntity::getParcelListId).collect(Collectors.toList()); distributionParcelListService.update(Wrappers.update() .in("id", collect) .set("order_package_reservation_status", OrderPackageReservationStatusConstant.daiyuyue.getValue()) ); + if (!zeroPackageList.isEmpty()) { + distributionZeroPackageService.saveBatch(zeroPackageList); + } + } } if (!packageEntityList.isEmpty()) { From e64a6977547f9ee951739c378839f435b8dbbb50 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Wed, 24 Jul 2024 17:48:14 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E5=A2=9E=E5=80=BC=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/DistributionAddvaluePackageVO.java | 15 +++++++++++++++ .../mapper/DistributionAddvalueMapper.xml | 5 ++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java index 44488ff7c..24d5d4e72 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java @@ -83,6 +83,21 @@ public class DistributionAddvaluePackageVO extends DistributionAddvaluePackageEn */ private String sku; + /** + * 楼层数 + */ + private String floolNum; + + /** + * 距离米 + */ + private String distance; + + /** + * 公里 + */ + private String kilometers; + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml index 0f9484d56..087f474a1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml @@ -116,7 +116,10 @@ ldap.brand_name AS brandName, ldap.brand_id AS brandId, ldap.unit_price AS unitPrice, - ldap.scan_user_name AS scanUserName + ldap.scan_user_name AS scanUserName, + ldad.flool_num AS floolNum, + ldad.distance AS distance, + ldad.kilometers AS kilometers FROM logpm_distribution_addvalue AS lda INNER JOIN logpm_distribution_addvalue_detail AS ldad ON ldad.addvalue_id = lda.id From f212c4c339f9a2231faac0676d7e644c7634de18 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Wed, 24 Jul 2024 17:55:30 +0800 Subject: [PATCH 07/10] =?UTF-8?q?1.=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistributionSignforServiceImpl.java | 1 - 1 file changed, 1 deletion(-) 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 6e1a5e337..a17852ad2 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 @@ -5377,7 +5377,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Wed, 24 Jul 2024 18:14:34 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E5=8F=96=E6=B6=88=E8=87=AA=E6=8F=90?= =?UTF-8?q?=E9=9B=B6=E6=8B=85=E7=8A=B6=E6=80=81=E7=BB=B4=E6=8A=A4BUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistributionStockArticleServiceImpl.java | 2 +- .../service/impl/DistrilbutionBillLadingServiceImpl.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index ec257bc76..736ce1d78 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -2212,7 +2212,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>>>>>>>>>>零担品类增加计划数量getHandQuantity:{}getDeliveryQuantity:{}(zp.getHandQuantity() - zp.getDeliveryQuantity()):{}", zp.getHandQuantity(), zp.getDeliveryQuantity(), (zp.getHandQuantity() - zp.getDeliveryQuantity())); From 6530efb1697c6bf0305d1dc9955f924c1dca643b Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 24 Jul 2024 18:54:56 +0800 Subject: [PATCH 09/10] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java | 1 + .../java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml | 2 ++ .../logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java | 2 +- .../trunkline/service/impl/TrunklineBillladingServiceImpl.java | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java index 5fa8ea7d6..22e2366fd 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadAllOrderVO.java @@ -14,6 +14,7 @@ public class CarsLoadAllOrderVO implements Serializable { private Long waybillId;//运单id private String waybillNo;//运单号 private Long nodeId;//计划仓库id + private Long finalNodeId;//计划目的仓库id private String nodeName;//计划仓库 private Date createTime;//创建时间 private String destination;//到站 diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml index d20c0095a..6a03bd563 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml @@ -315,6 +315,7 @@ ltco.waybill_no waybillNo, ltco.node_id nodeId, ltco.node_name nodeName, + ltco.final_node_id finalNodeId, lww.create_time createTime, lww.destination destination, lww.destination_warehouse_name destinationWarehouseName, @@ -342,6 +343,7 @@ ltco.waybill_no, ltco.node_id, ltco.node_name, + ltco.final_node_id, lww.create_time, lww.destination, lww.destination_warehouse_name, diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java index f67512a8d..31bd36b70 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java @@ -873,7 +873,7 @@ public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService { Integer realNum = billladingNoWaybillEntity.getRealNum(); if (realNum > num) { billladingNoWaybillEntity.setRealNum(realNum - num); - } else if (realNum.equals(num)) { + } else { billladingNoWaybillEntity.setRealNum(0); billladingNoWaybillEntity.setIsDeleted(1); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java index 240017324..cc44bc805 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java @@ -701,7 +701,7 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl Date: Wed, 24 Jul 2024 23:15:33 +0800 Subject: [PATCH 10/10] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=9A=84=E4=BB=93=E5=BA=93ID=E9=87=87?= =?UTF-8?q?=E7=94=A8=E9=A2=84=E7=BA=A6=E5=8D=95=E7=9A=84=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E4=BB=93=E5=BA=93ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistributionSignforServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 78f0287f6..5fbb9f90e 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 @@ -5391,7 +5391,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl