From e80b0719b688b6771a4688e24a821489907e8eab Mon Sep 17 00:00:00 2001 From: kilo Date: Wed, 2 Aug 2023 15:29:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=93=81=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E3=80=81=E5=95=86=E9=85=8D=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=8C=85=E4=BB=B6=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceConstant/ServiceConstant.java | 38 +++++ .../src/main/resources/application-dev.yml | 2 +- .../entity/DistributionParcelListEntity.java | 6 + .../DistributionStockArticleEntity.java | 10 ++ .../entity/DistributionStockListEntity.java | 2 +- .../BasicdataWarehouseController.java | 24 ++-- .../DistributionDeliveryListController.java | 4 +- .../DistributionStockArticleController.java | 7 +- .../dto/DistributionStockArticleDTO.java | 10 +- .../mapper/DistributionDeliveryListMapper.xml | 8 +- .../mapper/DistributionDeliverySelfMapper.xml | 3 +- .../mapper/DistributionReservationMapper.java | 22 +++ .../mapper/DistributionReservationMapper.xml | 99 +++++++++++++ .../DistributionReservationPackageMapper.java | 16 +++ .../DistributionReservationPackageMapper.xml | 71 +++++++++- .../mapper/DistributionStockArticleMapper.xml | 4 +- .../IDistributionDeliveryListService.java | 2 +- .../DistributionDeliveryListServiceImpl.java | 132 +++++++++++++++++- .../DistributionReservationServiceImpl.java | 54 +++++-- 19 files changed, 464 insertions(+), 50 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/serviceConstant/ServiceConstant.java b/blade-biz-common/src/main/java/org/springblade/common/serviceConstant/ServiceConstant.java index df87260f1..f44f3ae07 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/serviceConstant/ServiceConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/serviceConstant/ServiceConstant.java @@ -190,6 +190,44 @@ public interface ServiceConstant { String RESERVATION_STATE_CANCEL = "4"; + /** + * 包件状态 --- 未入库 + */ + String PACKAGE_STATUS_NOT_WAREHOUSING="10"; + + /** + * 包件状态 --- 已入库 + */ + String PACKAGE_STATUS_WAREHOUSING="20"; + + /** + * 包件状态 --- 中转入库 + */ + String PACKAGE_STATUS_TRANSFER="30"; + + /** + * 包件状态 --- 已预约 + */ + String PACKAGE_STATUS_RESERVATION="40"; + + /** + * 包件状态 --- 已备货 + */ + String PACKAGE_STATUS_STOCK_UP="50"; + + /** + * 包件状态 --- 已装车 + */ + String PACKAGE_STATUS_LOADING="60"; + + /** + * 包件状态 --- 已签收 + */ + String PACKAGE_STATUS_SING_FOR="70"; + + + + //订单状态 未入库 String ORDER_STATE_ONE = "10"; //已入库 diff --git a/blade-gateway/src/main/resources/application-dev.yml b/blade-gateway/src/main/resources/application-dev.yml index 30d01a6b5..ad8e58950 100644 --- a/blade-gateway/src/main/resources/application-dev.yml +++ b/blade-gateway/src/main/resources/application-dev.yml @@ -7,5 +7,5 @@ blade: #version: 3.0.0 #负载均衡优先调用的ip段 prior-ip-pattern: - - 192.168.2.* + - 192.168.10.* - 127.0.0.1 diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java index 1af538c1f..6cf97424d 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelListEntity.java @@ -185,4 +185,10 @@ public class DistributionParcelListEntity extends TenantEntity { private String orderPackageStatus; +// /** +// * 配送状态 +// */ +// @ApiModelProperty(value = "配送状态") +// private String orderPackageStatus; + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockArticleEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockArticleEntity.java index dad7723df..a586db6b5 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockArticleEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockArticleEntity.java @@ -273,6 +273,12 @@ public class DistributionStockArticleEntity extends TenantEntity { @TableField(exist = false) private List packageList; + /** + * 订单是否出现包件修改 + */ + @TableField(exist = false) + private Boolean isUpdate = false; + //-------------2023-07-16 新增在库订单字段 /** @@ -418,4 +424,8 @@ public class DistributionStockArticleEntity extends TenantEntity { private String factoryTrain; + + + + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListEntity.java index e073e12b8..9c4fc8fa1 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListEntity.java @@ -72,7 +72,7 @@ public class DistributionStockListEntity extends TenantEntity { /** * 服务类型 */ - @ApiModelProperty(value = "预留5") + @ApiModelProperty(value = "服务类型") private String serviceType; /** * 订单自编号 diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java index 8749a9778..433e3ec92 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java @@ -25,6 +25,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; + import javax.validation.Valid; import org.springblade.core.secure.BladeUser; @@ -70,6 +71,7 @@ public class BasicdataWarehouseController extends BladeController { BasicdataWarehouseEntity detail = warehouseService.getOne(Condition.getQueryWrapper(basicdataWarehouseEntity)); return R.data(detail); } + /** * 仓库 分页 */ @@ -77,18 +79,21 @@ public class BasicdataWarehouseController extends BladeController { @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入warehouseWarehouse") public R> list(@ApiIgnore @RequestParam Map warehouseWarehouse, Query query) { - Object startDate = warehouseWarehouse.get("startDate"); - Object endDate = warehouseWarehouse.get("endDate"); - warehouseWarehouse.put("startDate",null); - warehouseWarehouse.put("endDate",null); + Object startDate = warehouseWarehouse.get("startDate"); + Object endDate = warehouseWarehouse.get("endDate"); + warehouseWarehouse.put("startDate", null); + warehouseWarehouse.put("endDate", null); String deptId = AuthUtil.getUser().getDeptId(); QueryWrapper qw = Condition.getQueryWrapper(warehouseWarehouse, BasicdataWarehouseEntity.class); - qw - .apply(startDate != null,"date_format (start_date,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')",startDate) - .apply(endDate != null,"date_format (end_date,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')",endDate); + qw.apply(startDate != null, "date_format (start_date,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", startDate) + .apply(endDate != null, "date_format (end_date,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endDate); qw.lambda().eq(BasicdataWarehouseEntity::getTenantId, AuthUtil.getTenantId()); qw.lambda().eq(BasicdataWarehouseEntity::getDepartment, deptId); IPage page = warehouseService.page(Condition.getPage(query), qw); + //TODO 这里将仓库的行政区域放到Service中通过缓存进行陪陪结果后返回给前端 + page.getRecords().forEach(basicdataWarehouseEntity -> { + + }); // IPage pages = warehouseService.page(Condition.getPage(query), Condition.getQueryWrapper(warehouseWarehouse, BasicdataWarehouseEntity.class)); return R.data(page); } @@ -158,6 +163,7 @@ public class BasicdataWarehouseController extends BladeController { /** * 删除 + * * @param ids 单条记录和多条记录均可使用 * @return */ @@ -166,9 +172,9 @@ public class BasicdataWarehouseController extends BladeController { @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { boolean result = warehouseService.removeWarehouse(ids); - if (result){ + if (result) { return R.status(result); - }else { + } else { return R.fail("请先删除该仓库下所有资源!!!"); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java index 6d00a68bb..c25b7ef1e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java @@ -277,8 +277,8 @@ public class DistributionDeliveryListController extends BladeController { @PutMapping("/updateDeliveryList") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "customArgs") - public R UpdateDeliveryList(@RequestBody DistributionDeliveryListDTO deliveryListDTO) { - R result = distributionDeliveryListService.UpdateDeliveryListInfo(deliveryListDTO); + public R updateDeliveryList(@RequestBody DistributionDeliveryListDTO deliveryListDTO) { + R result = distributionDeliveryListService.updateDeliveryListInfo(deliveryListDTO); return result; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java index 7d32aac4b..39952419b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java @@ -231,7 +231,7 @@ public class DistributionStockArticleController extends BladeController { */ @GetMapping("/stockArticleInfo") @ApiOperationSupport(order = 7) - @ApiOperation(value = "逻辑删除", notes = "传入ids") + @ApiOperation(value = "获取批量在库订单信息", notes = "传入ids") public R getStockArticleInfo(@ApiParam(value = "主键集合", required = true) String ids) { R> result = distributionStockArticleService.getStockArticleInfo(ids); return result; @@ -242,11 +242,12 @@ public class DistributionStockArticleController extends BladeController { */ @GetMapping("/selectStockArticleAndParcel") @ApiOperationSupport(order = 7) - @ApiOperation(value = "逻辑删除", notes = "传入ids") - public R selectStockArticleAndParcel( @RequestParam String typeService,@RequestParam String genre) { + @ApiOperation(value = "查询订单和订单的包件信息", notes = "传入ids") + public R selectStockArticleAndParcel(@RequestParam(required = false) String typeService,@RequestParam(required = false) String genre,@RequestParam(required = false)String id) { HashMap query = new HashMap<>(); query.put("typeService",typeService); query.put("genre",genre); + query.put("id",id); R> result = distributionStockArticleService.selectStockArticleAndParcel(query); return result; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java index 2f95a47c2..ac1324a19 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java @@ -39,11 +39,11 @@ public class DistributionStockArticleDTO extends DistributionStockArticleEntity private String ids; -// /** -// * 包件信息 -// */ -// @ApiModelProperty(value = "包件信息") -// private DistributionParcelListDTO distributionParcelListDTO; + /** + * 包件信息 + */ + @ApiModelProperty(value = "包件信息") + private List distributionParcelListDTO; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml index 3215a888f..a7c26cdbd 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml @@ -625,9 +625,11 @@ INNER JOIN logpm_distribution_signfor AS lds ON lddl.id = lds.delivery_id INNER JOIN logpm_distribution_reservation_stockarticle AS ldrs ON lds.reservation_id = ldrs.reservation_id INNER JOIN logpm_distribution_stock_article AS ldsa ON ldsa.id = ldrs.stock_article_id - WHERE - lddl.id = #{id} - + + + lddl.id = #{id} + + SELECT * FROM logpm_distribution_delivery_self ${ew.customSqlSegment} + + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.java index 03e6e6566..7ec1be5f0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.java @@ -75,4 +75,20 @@ public interface DistributionReservationPackageMapper extends BaseMapper getReservationPackageList(@Param("id")String reservationId); + + /** + * 查询配送任务下订单的包件信息 + * @param id + * @param id1 + * @return + */ + List getDeliveryReservationPackage(@Param("deliveryId")Long id,@Param("stockArticleId") Long id1); + + /** + * 删除预约客户下订单的包件信息 + * @param id + * @param id1 + * @return + */ + Integer deletePackageByRidAndSid(@Param("reservationId") Long id,@Param("stockArticleId") Long id1); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml index 8b79b5327..278d19e61 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml @@ -26,6 +26,14 @@ DELETE FROM logpm_distribution_reservation_package WHERE reservation_id = #{id} + + DELETE + FROM + logpm_distribution_reservation_package + WHERE + stock_article_id = #{stockArticleId} + AND reservation_id = #{reservationId} + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml index 490bdc258..0773a05a7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml @@ -139,7 +139,6 @@ ldsa.signin_quantity, ldsa.grounding_status, ldsa.allocation, - ldsa.order_status, ldsa.resource, ldsa.trays, ldsa.is_opai, @@ -157,6 +156,9 @@ FROM logpm_distribution_stock_article AS ldsa + + AND ldsa.id = #{ew.id} + AND ldsa.genre = #{ew.genre} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java index d099d4ba2..66c25a500 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java @@ -156,6 +156,6 @@ public interface IDistributionDeliveryListService extends BaseService UpdateDeliveryListInfo(DistributionDeliveryListDTO deliveryListDTO); + R updateDeliveryListInfo(DistributionDeliveryListDTO deliveryListDTO); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 91c419b58..bd6af8c4a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -16,6 +16,7 @@ */ package com.logpm.distribution.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.logpm.distribution.dto.*; @@ -72,6 +73,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl stockArticleVOS = distributionDeliveryListMapper.getDeliveryStockArticleInfo(id); stockArticleVOS.forEach(s->{ //这里查询出订单选取的包件信息 + DistributionReservationPackageDTO reservationPackageDTO = new DistributionReservationPackageDTO(); + reservationPackageDTO.setReservationId(reservationVOS.getId()); + reservationPackageDTO.setStockArticleId(s.getId()); + List parcelListEntities = distributionReservationPackageMapper.getDeliveryReservationPackage(deliveryListEntity.getId(),s.getId()); + s.setParcelListVOS(parcelListEntities); }); deliveryListVO.setStockArticleList(stockArticleVOS); //2、查询出备货信息 @@ -1161,7 +1168,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl UpdateDeliveryListInfo(DistributionDeliveryListDTO deliveryListDTO) { + public R updateDeliveryListInfo(DistributionDeliveryListDTO deliveryListDTO) { if ( Func.isEmpty(deliveryListDTO)){ log.error("deliveryListDTO参数异常+{"+deliveryListDTO+"}"); return R.fail("服务器正忙!!"); @@ -1182,6 +1189,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl> storeClient = stockArticle.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getStoreName)); List distributionStockArticleDTOS = storeClient.get(""); - Map> mallClient = distributionStockArticleDTOS.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getMallName)); + Map> mallClient = null; + if (!Func.isEmpty(distributionStockArticleDTOS)){ + mallClient = distributionStockArticleDTOS.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getMallName)); + Map> finalMallClient = mallClient; + storeClient.forEach((k, v)-> finalMallClient.merge(k,v,(v1, v2)->v2)); + }else { + mallClient = storeClient; + } //3、维护订单和客户 - storeClient.forEach((k,v)->mallClient.merge(k,v,(v1,v2)->v2)); //查询该配送任务下原有的客户 List reservationEntityList = distributionReservationMapper.getDeliveryReservation(deliveryListEntity.getId()); //将原客户和新的进行比对,如果有那么则进行客户修改,最后剩下的订单信息都属于是新客户 @@ -1228,17 +1242,121 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl{ if (!k.equals("")){ if (Func.isNotEmpty(originalClient.get(k))){ - //这里实际上就是包件发生了变化 + //1、订单发生变化 + //2、包件发生变化 + //3、订单包件均发生变化 + //查询原来这个客户下的所有订单信息 + List stockArticleEntities = distributionReservationMapper.getStockArticleListInfo(k,deliveryListEntity.getId()); + Map> orderInfo = stockArticleEntities.stream().collect(Collectors.groupingBy(DistributionStockArticleEntity::getId)); v.forEach(o->{ + //这里就需要判断这个订单是否存在原来的订单信息中 + DistributionReservationEntity reservationEntity = distributionReservationMapper.selectByConsignee(k); + if (Func.isEmpty(orderInfo.get(o.getId()))){ + //从原来的客户信息中未查询到该订单信息,需要为该客户进行订单信息的维护 + //根据客户进行预约信息的查询 + DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity(); + reservationStockarticleEntity.setReservationId(reservationEntity.getId()); + reservationStockarticleEntity.setStockArticleId(o.getId()); + reservationStockarticleEntity.setIsHaveData(o.getIsHaveData()); + //这里需要考虑这个订单的包件问题, + //统计包件数量 + AtomicInteger packageTotal = new AtomicInteger(); + if (o.getPackageList().size()==0){ + //进行包件全选的操作 + //查询出该订单下的所有包件信息,进行包件信息的维护 + LambdaQueryWrapper qw = new QueryWrapper().lambda().eq(DistributionParcelListEntity::getStockArticleId, o.getId()); + List parcelListEntities = distributionParcelListService.getBaseMapper().selectList(qw); + parcelListEntities.forEach(p->{ + DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); + reservationPackageEntity.setReservationId(reservationEntity.getId()); + reservationPackageEntity.setPacketBarCode(p.getPacketBarCode()); + reservationPackageEntity.setStockArticleId(p.getStockArticleId()); + reservationPackageEntity.setParceListId(p.getId()); + distributionReservationPackageService.save(reservationPackageEntity); + //统计包件的数量 + packageTotal.getAndAdd(p.getQuantity()); + //TODO 这里还需要对包件状态进行修改 + }); + }else { + //进行选中包件的数据维护 + List packageList = o.getPackageList(); + packageList.forEach(p->{ + DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); + reservationPackageEntity.setReservationId(reservationEntity.getId()); + reservationPackageEntity.setPacketBarCode(p.getPacketBarCode()); + reservationPackageEntity.setStockArticleId(p.getStockArticleId()); + reservationPackageEntity.setParceListId(p.getId()); + distributionReservationPackageService.save(reservationPackageEntity); + //统计包件的数量 + packageTotal.getAndAdd(p.getQuantity()); + //TODO 这里还需要对包件状态进行修改 + + }); + + } + reservationStockarticleEntity.setReservationNum(packageTotal.get()); + distributionReservationStockarticleService.save(reservationStockarticleEntity); + }else { + //查看该订单是否发生包件修改操作 + AtomicInteger packageTotal = new AtomicInteger(); + if (o.getIsUpdate()){ + //订单发生修改包件的操作,先对该预约下的订单进行解绑 + Integer i = distributionReservationPackageMapper.deletePackageByRidAndSid(reservationEntity.getId(),o.getId()); + //构建新的 + if (o.getPackageList().size()==0){ + //订单全选 + LambdaQueryWrapper qw = new QueryWrapper().lambda().eq(DistributionParcelListEntity::getStockArticleId, o.getId()); + List parcelListEntities = distributionParcelListService.getBaseMapper().selectList(qw); + parcelListEntities.forEach(p->{ + DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); + reservationPackageEntity.setReservationId(reservationEntity.getId()); + reservationPackageEntity.setPacketBarCode(p.getPacketBarCode()); + reservationPackageEntity.setStockArticleId(p.getStockArticleId()); + reservationPackageEntity.setParceListId(p.getId()); + distributionReservationPackageService.save(reservationPackageEntity); + //统计包件的数量 + packageTotal.getAndAdd(p.getQuantity()); + //TODO 这里还需要对包件状态进行修改 + }); + //需要修改该客户下的订单中间表信息 + }else { + //有选取订单的操作 + List packageList = o.getPackageList(); + packageList.forEach(p->{ + DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); + reservationPackageEntity.setReservationId(reservationEntity.getId()); + reservationPackageEntity.setPacketBarCode(p.getPacketBarCode()); + reservationPackageEntity.setStockArticleId(p.getStockArticleId()); + reservationPackageEntity.setParceListId(p.getId()); + distributionReservationPackageService.save(reservationPackageEntity); + //统计包件的数量 + packageTotal.getAndAdd(p.getQuantity()); + //TODO 这里还需要对包件状态进行修改 + }); + } + //修改预约订单中间表和客户信息 + + //修改客户预约信息 + //为客户的订单进行修改操作 + //这里就将该订单下的包件信息进行删除后重新进行数据添加维护 + //删除原有的包件信息, + }else { + //这里就不执行操作 + } + } + + //这里如果获取不到说明增加了该客户下的一个订单 + + //执行新订单的维护,将原来的订单信息进行移除 List packageList = o.getPackageList(); //删除原来订单和包件之间的关系,建立新的包件和订单之间的关系 //1、通过客户名称查询出预约信息 //2、通过预约信息解除该订单下原有的包件信息 //3、重新建立包件和预约的关联关系 - }); originalClient.remove(k); }else { + //必定是新增订单,且新增了客户 DistributionReservationDTO reservation = deliveryListDTO.getReservation(); DistributionReservationEntity reservationEntity = Func.copy(reservation, DistributionReservationEntity.class); reservationEntity.setReservationStatus(ServiceConstant.RESERVATION_STATE_WAIT_DELIVERY); @@ -1278,6 +1396,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl stockArticleList = distributionReservationDTO.getStockArticleList(); + //获取库存品列表信息 List inventoryList = distributionReservationDTO.getInventoryList(); + //订单数量统计 AtomicInteger stockArticleCount = new AtomicInteger(); + List arrayList = new ArrayList<>(); //服务号拼接 HashSet serviceNumber = new HashSet(); @@ -233,6 +237,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl { //如果库存品存在占用数量,这里就直接进行累加 //对库存品的数量进行维护,将预约单的库存品数量进行冻结 - int count = i.getOutboundQuantity() + i.getReservationNum(); - i.setQuantityOccupied(count); +// int count = i.getOutboundQuantity() + i.getReservationNum(); +// i.setQuantityOccupied(count); + Integer quantityOccupied = i.getQuantityOccupied(); + i.setQuantityOccupied(quantityOccupied+i.getReservationNum()); distributionStockListService.updateById(i); Long stocklistId = i.getId(); arrayList.add(i.getOrderSelfNumbering()); @@ -420,7 +431,6 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl ids = Func.toLongList(reservationIds); boolean flag = Func.isEmpty(stockupentity); - boolean aj = Func.isNotEmpty(stockup); DistributionStockupEntity distributionStockupEntity = Func.copy(stockup, DistributionStockupEntity.class); Integer stockListTotal = distributionReservationStocklistMapper.getStockListTotal(ids); if (!flag){ @@ -436,6 +446,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl 0 ){ return R.fail("配送库存品请填写备货信息!!!"); } @@ -614,12 +625,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl> storeClient = stockArticle.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getStoreName)); List distributionStockArticleDTOS = storeClient.get(""); - Map> mallClient = distributionStockArticleDTOS.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getMallName)); - //3、维护订单和客户 - storeClient.forEach((k,v)->mallClient.merge(k,v,(v1,v2)->v2)); - //统计客户数 + Map> mallClient = null; + if (!Func.isEmpty(distributionStockArticleDTOS)){ + mallClient = distributionStockArticleDTOS.stream().collect(Collectors.groupingBy(DistributionStockArticleDTO::getMallName)); + //3、维护订单和客户 + Map> finalMallClient = mallClient; + storeClient.forEach((k, v)-> finalMallClient.merge(k,v,(v1, v2)->v2)); + }else { + mallClient = storeClient; + } + //统计客户数. + AtomicInteger clientNum = new AtomicInteger(); ////统计包件总数 AtomicInteger packageTotal = new AtomicInteger(); @@ -902,6 +920,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(o); parcelListEntityList.forEach(p -> { - packageCount.getAndIncrement(); + packageCount.getAndAdd(p.getQuantity()); DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); reservationPackageEntity.setReservationId(reservationEntity.getId()); reservationPackageEntity.setStockArticleId(stockArticleEntity.getId()); @@ -931,7 +955,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl { - packageCount.getAndIncrement(); + packageCount.getAndAdd(p.getQuantity()); DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); reservationPackageEntity.setReservationId(reservationEntity.getId()); reservationPackageEntity.setPacketBarCode(p.getPacketBarCode());