diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesAbnormalRecordZeroDetailEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesAbnormalRecordZeroDetailEntity.java index 8213d3465..4f1dbb059 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesAbnormalRecordZeroDetailEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesAbnormalRecordZeroDetailEntity.java @@ -32,7 +32,7 @@ public class AftersalesAbnormalRecordZeroDetailEntity extends TenantEntity { @ApiModelProperty(name = "异常记录id",notes = "") private Long abnormalRecordId; - @ApiModelProperty(name = "异常记录id",notes = "") + @ApiModelProperty(name = "包件id",notes = "") private Long packageId; @ApiModelProperty(name = "品类id",notes = "") diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java index c256b7bb8..3f708f90c 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java @@ -80,6 +80,14 @@ public class BasicdataClientEntity extends TenantEntity { */ @ApiModelProperty(value = "客户类型 ") private String clientType; + + + /** + * 结算对象类型:1.工厂 2.商场 3.个人 + */ + @ApiModelProperty(value = "结算对象类型 ") + private String cleanObjType; + /** * 详细地址 */ diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java index 5e006a083..04ad1d1a0 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java @@ -9,9 +9,9 @@ public class BusinessSanDTO { @ApiModelProperty(value = "配送车次") private String distrCarNumber; @ApiModelProperty(value = "包间码") - String orderPackageCode; + private String orderPackageCode; @ApiModelProperty(value = "预约单号") - String reservationCode; + private String reservationCode; @ApiModelProperty(value = "异常入库 0 正常 1 异常") private Integer inWarehouseException; @@ -30,4 +30,16 @@ public class BusinessSanDTO { @ApiModelProperty(value = "打托方式") private String trayType;//打托方式 + @ApiModelProperty(value = "订单号") + private String orderCode; + + @ApiModelProperty(value = "零担品类") + private String firsts; + + @ApiModelProperty(value = "卸车数量") + private Integer unloadNum; + @ApiModelProperty(value = "状态 1 定制品 2 库存品 3零担") + private String conditions; + + } diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java index 05df60ba6..30b54cc01 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java @@ -169,10 +169,28 @@ public class BusinessPreOrderEntity extends TenantEntity { @ApiModelProperty(value = "物料单位") private String materialUnit; /** - * 数量 + * 计划数量 */ @ApiModelProperty(value = "数量") private Integer quantity; + + + /** + * 卸车数量 + */ + @ApiModelProperty(value = "卸车数量") + private Integer unloadNum; + + + /** + * 装车数量 + */ + @ApiModelProperty(value = "装车数量") + private Integer loadNum; + + + + /** * 车次号 */ diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java index ca8cf57a5..75a0d6c2f 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java @@ -24,5 +24,13 @@ public class DistributionBusinessPreCarDetalPackageVO { private Integer inWarehouse; @ApiModelProperty(value = "操作状态 0 正常操作 1.补录操作") private Integer operationStatus; + @ApiModelProperty(value = "计划数量") + private Integer quantity; + @ApiModelProperty(value = "卸车数量") + private Integer unloadNum; + @ApiModelProperty(value = "预约单号") + private String reservationCode; + + } diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java index a746d5578..a99fda6d8 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java @@ -13,4 +13,7 @@ public class DistributionBusinessPreCarNumerPageQueryVO { private String orderCode; @ApiModelProperty(value = "配送车次号") private String distrCarNumber; + + @ApiModelProperty(value = "物品类型 1 定制品 3零担") + private String conditions; } 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 673a3e634..b9abba72c 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 @@ -332,11 +332,11 @@ public class DistributionParcelListEntity extends TenantEntity { @ApiModelProperty(value = "包件冻结状态") private String orderPackageFreezeStatus; - @ApiModelProperty(value = "包件冻结状态") + @ApiModelProperty(value = "预约状态") private String orderPackageReservationStatus; - @ApiModelProperty(value = "包件冻结状态") + @ApiModelProperty(value = "预约数量") @TableField(exist = false) private Integer reservationNum; diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java index 6fa85f923..33a3d1447 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java @@ -102,9 +102,26 @@ public interface IDistributionParcelListClient { @PostMapping(API_PREFIX + "/update") void update(@RequestBody DistributionParcelListEntity distributionParcelListEntity); + /** + * 根据 订单号合开单品类查询指定仓库下的零担的品类信息 + * @param orderCode + * @param first + * @param warehouseId + * @return + */ + @GetMapping(API_PREFIX + "/findDistributionParcelListEntityByOrderCodeAndFirstName") + DistributionParcelListEntity findDistributionParcelListEntityByOrderCodeAndFirstName(@RequestParam String orderCode, @RequestParam String first,@RequestParam Long warehouseId); - @GetMapping(API_PREFIX + "/SumEntityZkByOrderId") - Integer SumEntityByOrderId(@RequestParam Long orderId, @RequestParam Long warehouseId); + /** + * 根据 订单号合开单品类查询指定租户下的仓库的零担的品类信息 + * @param tenantId + * @param orderCode + * @param first + * @param warehouseId + * @return + */ + @GetMapping(API_PREFIX + "/findDistributionParcelListEntityByOrderCodeAndFirstNameAndTenantId") + DistributionParcelListEntity findDistributionParcelListEntityByOrderCodeAndFirstNameAndTenantId(@RequestParam String tenantId,@RequestParam String orderCode, @RequestParam String first,@RequestParam Long warehouseId); /** diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelNumberClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelNumberClient.java index 7c2c076e2..9994502eb 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelNumberClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelNumberClient.java @@ -62,4 +62,7 @@ public interface IDistributionParcelNumberClient { @GetMapping(API_PREFIX+"/findListByStockArticleId") List findListByStockArticleId(@RequestParam Long orderId); + + @GetMapping(API_PREFIX+"/addHandleQuantity") + void addHandleQuantity(@RequestParam Long packageId, @RequestParam int num); } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java index 926d966f9..8bd19b831 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java @@ -75,6 +75,9 @@ public interface IDistributionStockArticleClient { @GetMapping(API_PREFIX + "/findByOrderSelfNum") DistributionStockArticleEntity findByOrderSelfNum(@RequestParam String orderCode, @RequestParam Long warehouseId); + @GetMapping(API_PREFIX + "/findByOrderSelfNumAndTenantId") + DistributionStockArticleEntity findByOrderSelfNumAndTenantId(@RequestParam String tenantId,@RequestParam String orderCode, @RequestParam Long warehouseId); + @GetMapping(API_PREFIX + "/deleteById") void deleteById(@RequestParam Long orderId); diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java index ba1b057c7..be000cf82 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java @@ -37,6 +37,7 @@ public class LoadCarsDTO implements Serializable { private String deliveryType; private String operator; private String settlementPerson; + private String customerType; private Long warehouseId; private List warehouseIds; diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/IExtractedDataClient.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/IExtractedDataClient.java new file mode 100644 index 000000000..350dfca01 --- /dev/null +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/IExtractedDataClient.java @@ -0,0 +1,18 @@ +package com.logpm.trunkline.feign; + +import com.logpm.trunkline.entity.TrunklineCarsLoadEntity; +import org.springblade.common.constant.ModuleNameConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient( + value = ModuleNameConstant.APPLICATION_TRUNKLINE_NAME +) +public interface IExtractedDataClient { + + String API_PREFIX = "extractedData/client"; + @GetMapping(API_PREFIX+"/findEntityByCarsNo") + void execute(@RequestParam String tenantId,@RequestParam String wallbillNum); + +} diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/GoodsLoadingNumVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/GoodsLoadingNumVO.java new file mode 100644 index 000000000..17aeb99af --- /dev/null +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/GoodsLoadingNumVO.java @@ -0,0 +1,13 @@ +package com.logpm.trunkline.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class GoodsLoadingNumVO implements Serializable { + + private Long goodsId; + private Integer loadingNum; + +} diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java index 5aa4353c6..a254cbfa2 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java @@ -1,5 +1,6 @@ package com.logpm.trunkline.vo; +import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -10,6 +11,9 @@ import java.util.Date; @Data public class LoadingDetailExportVO implements Serializable { + @ExcelIgnore + private Long id; + @ExcelProperty(value = "运单号") private String waybillNo; @@ -85,4 +89,9 @@ public class LoadingDetailExportVO implements Serializable { @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date signTime; + @ExcelProperty(value = "装车品类数量") + private String loadingGoods; + @ExcelProperty(value = "卸车品类数量") + private String unloadGoods; + } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OrderScanDetailVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OrderScanDetailVO.java index d34dbd376..ebcb96c9a 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OrderScanDetailVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OrderScanDetailVO.java @@ -3,6 +3,8 @@ package com.logpm.trunkline.vo; import lombok.Data; import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; @Data public class OrderScanDetailVO implements Serializable { @@ -13,4 +15,6 @@ public class OrderScanDetailVO implements Serializable { private String trayName; private String trayCode; + private List zeroDetailList = new ArrayList<>(); + } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java index 70ef81332..6e55b5e9c 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java @@ -11,5 +11,7 @@ public class TrunklineCarsLoadScanVO extends TrunklineCarsLoadScanEntity { private String destinationWarehouseName; + private String loadingGoods; + private String unloadGoods; } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/ZeroPackageVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/ZeroPackageVO.java index 51e9df223..99d0b55dc 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/ZeroPackageVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/ZeroPackageVO.java @@ -11,5 +11,6 @@ public class ZeroPackageVO implements Serializable { private Long goodsId; private String goodsName;//品类名称 private Integer stockNum;//品类在库件数 + private Integer loadingNum;//品类装车件数 } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java index 7665d89e4..5c6b65a9a 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java @@ -156,6 +156,10 @@ public class AftersalesAbnormalRecordServiceImpl extends BaseServiceImpl zeroPackageDTOS = abnormalRecordDTO.getZeroPackageDTOS(); + if(CollUtil.isEmpty(zeroPackageDTOS)){ + log.warn("################dealAbnormal: 品类信息不存在"); + return R.fail(405,"品类信息不存在"); + } Integer num = abnormalRecordEntity.getNum(); Long carsLoadScanId = abnormalRecordEntity.getAssociationId(); TrunklineCarsLoadScanEntity carsLoadScanEntity = trunklineCarsLoadScanClient.findEntityById(carsLoadScanId); diff --git a/blade-service/logpm-aftersales/src/main/resources/application-test.yml b/blade-service/logpm-aftersales/src/main/resources/application-test.yml index 7508cbc1c..2ca7983eb 100644 --- a/blade-service/logpm-aftersales/src/main/resources/application-test.yml +++ b/blade-service/logpm-aftersales/src/main/resources/application-test.yml @@ -25,11 +25,4 @@ spring: url: ${blade.datasource.aftersales.master.url} username: ${blade.datasource.aftersales.master.username} password: ${blade.datasource.aftersales.master.password} - 627683: - url: ${blade.datasource.aftersales.627683.url} - username: ${blade.datasource.aftersales.627683.username} - password: ${blade.datasource.aftersales.627683.password} - 695224: - url: ${blade.datasource.aftersales.695224.url} - username: ${blade.datasource.aftersales.695224.username} - password: ${blade.datasource.aftersales.695224.password} + diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataPriceServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataPriceServiceImpl.java index 59ba9d2a6..eef064488 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataPriceServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataPriceServiceImpl.java @@ -463,6 +463,19 @@ public class BasicdataPriceServiceImpl extends BaseServiceImpl> generalMap = new HashMap<>(); buildDetailMap(priceEntity, fullMap, basicMap, warehouseMap, dispatchMap, generalMap); String serviceType = templateEntity.getServiceType(); + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .eq(BasicdataPriceRouteEntity::getPriceId, priceEntity.getId()) + .eq(BasicdataPriceRouteEntity::getSendOrgId, param.getSendOrgId()) + .eq(BasicdataPriceRouteEntity::getStartProvinceId, param.getStartProvinceId()) + .eq(BasicdataPriceRouteEntity::getStartCityId, param.getStartCityId()) + .eq(BasicdataPriceRouteEntity::getEndProvinceId, param.getEndProvinceId()) + .eq(BasicdataPriceRouteEntity::getEndCityId, param.getEndCityId()); + if (ObjectUtil.isNotEmpty(param.getStartCountyId())) { + wrapper.eq(BasicdataPriceRouteEntity::getStartCountyId, param.getStartCountyId()); + } + if (ObjectUtil.isNotEmpty(param.getEndCountyId())) { + wrapper.eq(BasicdataPriceRouteEntity::getEndCountyId, param.getEndCountyId()); + } // 提货费 if (StrUtil.contains(serviceType, ServiceTypeEnums.PICK_UP.getCode().toString())) { // 提货不按区域计费 @@ -471,13 +484,8 @@ public class BasicdataPriceServiceImpl extends BaseServiceImpl routeEntities = basicdataPriceRouteService.list(Wrappers.lambdaQuery() - .eq(BasicdataPriceRouteEntity::getPriceId, priceEntity.getId()) - .eq(BasicdataPriceRouteEntity::getSendOrgId, param.getSendOrgId()) - .eq(BasicdataPriceRouteEntity::getStartCountyId, param.getStartCountyId()) - .eq(BasicdataPriceRouteEntity::getEndCountyId, param.getEndCountyId()) - .eq(BasicdataPriceRouteEntity::getServiceType, ServiceTypeEnums.PICK_UP.getCode()) - ); + wrapper.eq(BasicdataPriceRouteEntity::getServiceType, ServiceTypeEnums.TRUNK_LINE.getCode()); + List routeEntities = basicdataPriceRouteService.list(wrapper); if (CollUtil.isNotEmpty(routeEntities)) { PriceRouteVO detail = basicdataPriceRouteService.detail(routeEntities.get(0).getId()); PricePickupVO pickup = new PricePickupVO(); @@ -500,13 +508,8 @@ public class BasicdataPriceServiceImpl extends BaseServiceImpl routeEntities = basicdataPriceRouteService.list(Wrappers.lambdaQuery() - .eq(BasicdataPriceRouteEntity::getPriceId, priceEntity.getId()) - .eq(BasicdataPriceRouteEntity::getSendOrgId, param.getSendOrgId()) - .eq(BasicdataPriceRouteEntity::getStartCountyId, param.getStartCountyId()) - .eq(BasicdataPriceRouteEntity::getEndCountyId, param.getEndCountyId()) - .eq(BasicdataPriceRouteEntity::getServiceType, ServiceTypeEnums.TRUNK_LINE.getCode()) - ); + wrapper.eq(BasicdataPriceRouteEntity::getServiceType, ServiceTypeEnums.TRUNK_LINE.getCode()); + List routeEntities = basicdataPriceRouteService.list(wrapper); if (CollUtil.isNotEmpty(routeEntities)) { PriceRouteVO detail = basicdataPriceRouteService.detail(routeEntities.get(0).getId()); PriceTrunkLineVO trunkLineVO = new PriceTrunkLineVO(); diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java b/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java index 57439787a..74a238b9c 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java @@ -23,6 +23,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; @RestController @@ -37,7 +38,7 @@ public class BusinessPreOrderApi { @PostMapping("/list") @ApiOperationSupport(order = 1) @ApiOperation(value = "模糊查询", notes = "传入trayTypeDTO") - public R list(@RequestBody BusinessPreListDTO queryrderDTO){ + public R list(@RequestBody BusinessPreListDTO queryrderDTO) { DistributionBusinessPreOrderListVO data = distributionIBusinessPreOrderService.list(queryrderDTO); @@ -45,9 +46,15 @@ public class BusinessPreOrderApi { } + /** + * 商家入库接口 + * 零担入库也走这个接口 + * @param businessSanDTO + * @return + */ @PostMapping("/scanOrderPackageCode") @ApiOperationSupport(order = 1) - public R scanOrderPackageCode(@RequestBody BusinessSanDTO businessSanDTO){ + public R scanOrderPackageCode(@RequestBody BusinessSanDTO businessSanDTO) { Resp resp = null; try { @@ -61,12 +68,13 @@ public class BusinessPreOrderApi { + @GetMapping("/listCarNum") @ApiOperationSupport(order = 1) @ApiOperation(value = "条件查询", notes = "传入trayTypeDTO") - public R listCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO, Query query){ + public R listCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO, Query query) { - IPage data = distributionIBusinessPreOrderService.listCarNum(Condition.getPage(query),distributionBusinessPreCarNumerPageQueryVO); + IPage data = distributionIBusinessPreOrderService.listCarNum(Condition.getPage(query), distributionBusinessPreCarNumerPageQueryVO); return R.data(data); } @@ -74,7 +82,7 @@ public class BusinessPreOrderApi { @GetMapping("/preCarInfoDetailByCarNum") @ApiOperationSupport(order = 1) @ApiOperation(value = "条件查询", notes = "传入trayTypeDTO") - public R preCarInfoDetailByCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO){ + public R preCarInfoDetailByCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO) { DistributionBusinessPreCarDetalVO distributionBusinessPreCarDetalVO = distributionIBusinessPreOrderService.preCarInfoDetailByCarNumber(distributionBusinessPreCarNumerPageQueryVO); @@ -82,5 +90,4 @@ public class BusinessPreOrderApi { } - } diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml b/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml index a80562e12..ebb5382f5 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml @@ -160,9 +160,9 @@ SELECT distr_car_number, waybill_number, order_code, - COUNT(1) as totalNum, - COUNT(CASE WHEN in_warehouse = 1 THEN 1 END) as inNum, - COUNT(1)-COUNT(CASE WHEN in_warehouse = 1 THEN 1 END) as restNum + sum(quantity) as totalNum, + sum(unload_num) as inNum, + sum(quantity)-sum(unload_num) as restNum from logpm_business_pre_order diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java index 20d00df98..0e1930352 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java @@ -46,6 +46,10 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService { log.info(" saveOtherDataBaseNew dataResult 参数错误"); } + + + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(BusinessPreOrderEntity::getInWarehouse, 0); lambdaQueryWrapper.in(BusinessPreOrderEntity::getOrderCode, orderCodeList); @@ -62,7 +66,7 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService { businessPreOrderEntity.setTenantId(tenant.getTenantId()); if (businessPreOrderEntity.getStockArticleId().equals(distributionBusinessPreOrderEntity.getStockArticleId())) { // 找到订单 - if (businessPreOrderEntity.getOrderPackageCode().equals(distributionBusinessPreOrderEntity.getOrderPackageCode())) { + if (distributionBusinessPreOrderEntity.getConditions().equals(1) && businessPreOrderEntity.getOrderPackageCode().equals(distributionBusinessPreOrderEntity.getOrderPackageCode())) { //找到包件 并标记为删除状态 if (distributionBusinessPreOrderEntity.getInWarehouse().equals(1)) { // 需要删除集合中的数据 @@ -70,6 +74,13 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService { } else { temsp.add(distributionBusinessPreOrderEntity.getId()); } + }else if(distributionBusinessPreOrderEntity.getConditions().equals(3) &&distributionBusinessPreOrderEntity.getFirsts().equals(businessPreOrderEntity.getFirsts())){ + if (distributionBusinessPreOrderEntity.getInWarehouse().equals(1)) { + // 需要删除集合中的数据 + dataResult.remove(i); + } else { + temsp.add(distributionBusinessPreOrderEntity.getId()); + } } } diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java index c485bf9b1..6f5ad4efb 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java @@ -17,8 +17,10 @@ import com.logpm.business.service.IBusinessAsyncService; import com.logpm.business.service.IBusinessPreOrderService; import com.logpm.business.vo.*; import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.feign.IDistributionDeliveryListClient; import com.logpm.distribution.feign.IDistributionParcelListClient; +import com.logpm.distribution.feign.IDistributionStockArticleClient; import com.logpm.trunkline.dto.InComingDTO; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.feign.IInComingClient; @@ -56,6 +58,8 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BusinessPreOrderEntity::getDistrCarNumber, distrCarNumber); + queryWrapper.eq(BusinessPreOrderEntity::getIsDeleted, 0); + List list = baseMapper.selectList(queryWrapper); + if (list.isEmpty()) { + return Resp.scanFail("扫描失败", "车次信息不存在"); + } - if (Func.isAllEmpty(orderPackageCode, distrCarNumber, businessSanDTO.getInWarehouseException())) { - return Resp.scanFail("扫描失败", "没有包件或者车次"); - } - // 查询配送车次下面所有的包件 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BusinessPreOrderEntity::getDistrCarNumber, distrCarNumber); - queryWrapper.eq(BusinessPreOrderEntity::getIsDeleted, 0); - List list = baseMapper.selectList(queryWrapper); - if (list.isEmpty()) { - return Resp.scanFail("扫描失败", "车次信息不存在"); - } + // 异常入库 + if (1 == businessSanDTO.getInWarehouseException()) { + Resp a = handleExceptionalWarehourse(businessSanDTO, list, orderPackageCode, distrCarNumber); + if (a != null) return a; + } else { + //正常入口 + Resp scanFail = handleNormalWarehourse(businessSanDTO, orderPackageCode, list, distrCarNumber); + if (scanFail != null) return scanFail; + + } + } else if ("3".equals(businessSanDTO.getConditions())) { + // 零担 + LambdaQueryWrapper queryWrapper3 = new LambdaQueryWrapper<>(); + queryWrapper3.eq(BusinessPreOrderEntity::getDistrCarNumber, businessSanDTO.getDistrCarNumber()); + queryWrapper3.eq(BusinessPreOrderEntity::getReservationCode, businessSanDTO.getReservationCode()); + queryWrapper3.eq(BusinessPreOrderEntity::getOrderCode, businessSanDTO.getOrderCode()); + queryWrapper3.eq(BusinessPreOrderEntity::getFirsts, businessSanDTO.getFirsts()); + List list3 = baseMapper.selectList(queryWrapper3); + if (list3.isEmpty()) { + throw new CustomerException("入库数据错误,请联系管理员"); + } + BusinessPreOrderEntity businessPreOrderEntity = list3.get(0); + if (1 == businessPreOrderEntity.getInWarehouse()) { + return Resp.scanFail("操作失败", businessSanDTO.getFirsts() + "已入库"); + } + + // 构建 订单 + DistributionStockArticleEntity distributionStockArticleEntity = checkStockArticle(businessPreOrderEntity, myCurrentWarehouse); + // 构建 订单下级【包件】 + DistributionParcelListEntity distributionParcelListEntityByOrderCodeAndFirstName = distributionParcelListClient.findDistributionParcelListEntityByOrderCodeAndFirstName(businessPreOrderEntity.getOrderCode(), businessSanDTO.getFirsts(), myCurrentWarehouse.getId()); + + int temp = 0; + if (distributionParcelListEntityByOrderCodeAndFirstName == null) { + // 执行新增功能 + DistributionParcelListEntity distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId = distributionParcelListClient.findDistributionParcelListEntityByOrderCodeAndFirstNameAndTenantId(businessPreOrderEntity.getFromTenantId(), businessPreOrderEntity.getOrderCode(), businessSanDTO.getFirsts(), businessPreOrderEntity.getWarehouseId()); + if (distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId != null) { + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setId(null); + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setTenantId(null); + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setCreateUser(null); + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setUpdateUser(null); + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setCreateTime(null); + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setUpdateTime(null); + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setOrderPackageReservationStatus("10"); + // 卸车数量作为入库数量 + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setQuantity(businessSanDTO.getUnloadNum()); + distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setStockArticleId(distributionStockArticleEntity.getId()); + distributionParcelListClient.add(distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId); + temp = businessSanDTO.getUnloadNum(); + } + + } else { + // 修改其入库数量 + if(distributionParcelListEntityByOrderCodeAndFirstName.getQuantity() list, String distrCarNumber) { LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); @@ -295,6 +408,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BusinessPreOrderEntity::getDistrCarNumber, queryVO.getDistrCarNumber()); queryWrapper.eq(BusinessPreOrderEntity::getIsDeleted, 0); + queryWrapper.eq(BusinessPreOrderEntity::getConditions, queryVO.getConditions()); List list = this.list(queryWrapper); if (list != null) { @@ -488,13 +604,24 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl entities, List data) { DistributionBusinessPreCarOrderDetalVO t = new DistributionBusinessPreCarOrderDetalVO(); t.setOrderCode(orderCode); + String wallbillNum = entities.stream().map(BusinessPreOrderEntity::getWaybillNumber).distinct().collect(Collectors.joining(",")); + + // todo 这里的计算存在问题,没有计算零担的数据 - int planNum = entities.size(); - int loadNum = (int) entities.stream().filter(e -> "20".equals(e.getOrderPackageLoadingStatus())).count(); - int inNum = (int) entities.stream().filter(e -> e.getInWarehouse() == 1).count(); + // 计算 entities 集合中 对象 的quantity 的和值 + int planNum = entities.stream().mapToInt(BusinessPreOrderEntity::getQuantity).sum(); + + // 装车数量 + int loadNum = entities.stream().mapToInt(BusinessPreOrderEntity::getLoadNum).sum(); + + // 卸车数量== 入库数量 + int inNum = entities.stream().mapToInt(BusinessPreOrderEntity::getUnloadNum).sum(); + + /** + * 零担无法进行异常卸车 + */ int inExceNum = (int) entities.stream().filter(e -> e.getOperationStatus() == 1).count(); - String wallbillNum = entities.stream().map(BusinessPreOrderEntity::getWaybillNumber).distinct().collect(Collectors.joining(",")); t.setWaybillNumber(wallbillNum); t.setLoadCarCount(loadNum); diff --git a/blade-service/logpm-business/src/main/resources/application-dev.yml b/blade-service/logpm-business/src/main/resources/application-dev.yml index b43dd1d0d..5185d37b5 100644 --- a/blade-service/logpm-business/src/main/resources/application-dev.yml +++ b/blade-service/logpm-business/src/main/resources/application-dev.yml @@ -11,7 +11,7 @@ server: spring: autoconfigure: - exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure,com.alibaba.cloud.seata.feign.SeataFeignClientAutoConfiguration + exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure datasource: dynamic: druid: diff --git a/blade-service/logpm-business/src/main/resources/application-test.yml b/blade-service/logpm-business/src/main/resources/application-test.yml index 77e21d981..75004f829 100644 --- a/blade-service/logpm-business/src/main/resources/application-test.yml +++ b/blade-service/logpm-business/src/main/resources/application-test.yml @@ -25,19 +25,7 @@ spring: url: ${blade.datasource.business.master.url} username: ${blade.datasource.business.master.username} password: ${blade.datasource.business.master.password} - 627683: - url: ${blade.datasource.business.627683.url} - username: ${blade.datasource.business.627683.username} - password: ${blade.datasource.business.627683.password} - 645789: - druid: - #独立校验配置 - validation-query: select 1 - #oracle校验 - #validation-query: select 1 from dual - url: ${blade.datasource.business.645789.url} - username: ${blade.datasource.business.645789.username} - password: ${blade.datasource.business.645789.password} + #rabbitmq配置 rabbitmq: host: 192.168.2.110 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java index 25ab5b12e..53bf933f0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java @@ -37,6 +37,7 @@ import com.logpm.distribution.vo.DistributionParcelListVO; import com.logpm.distribution.vo.ZeroPackageSupplyVO; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.annotations.ChangeAsync; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; @@ -218,11 +219,20 @@ public class DistributionParcelListClient implements IDistributionParcelListClie distributionStockArticleService.updateOrderInfo(orderCode, warehouseId); } + @Override + public DistributionParcelListEntity findDistributionParcelListEntityByOrderCodeAndFirstName(String orderCode, String first, Long warehouseId) { + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DistributionParcelListEntity::getOrderCode, orderCode); + lambdaQueryWrapper.eq(DistributionParcelListEntity::getFirsts, first); + lambdaQueryWrapper.eq(DistributionParcelListEntity::getWarehouseId, warehouseId); + return distributionParcelListService.getOne(lambdaQueryWrapper); + } + @ChangeAsync @Override - public Integer SumEntityByOrderId(Long orderId, Long warehouseId) { - Integer i = distributionParcelListService.selectSumByOrderId(orderId, warehouseId); - return i; + public DistributionParcelListEntity findDistributionParcelListEntityByOrderCodeAndFirstNameAndTenantId(String tenantId, String orderCode, String first, Long warehouseId) { + return findDistributionParcelListEntityByOrderCodeAndFirstName(orderCode, first, warehouseId); } @Override diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelNumberClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelNumberClient.java index f58e8e9ba..f220f4d0d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelNumberClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelNumberClient.java @@ -77,4 +77,9 @@ public class DistributionParcelNumberClient implements IDistributionParcelNumber return distributionParcelNumberService.list(queryWrapper); } + @Override + public void addHandleQuantity(Long packageId, int num) { + distributionParcelNumberService.addZeroQuantity(packageId, num); + } + } 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 76c45f506..8c905bf82 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 @@ -32,6 +32,7 @@ import com.logpm.distribution.service.IDistributionStockArticleService; import com.logpm.distribution.vo.UpDownStockupAreaVO; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.annotations.ChangeAsync; import org.springblade.common.exception.CustomerException; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; @@ -108,6 +109,12 @@ public class DistributionStockArticleClient implements IDistributionStockArticle return distributionStockArticleService.getOne(queryWrapper); } + @ChangeAsync + @Override + public DistributionStockArticleEntity findByOrderSelfNumAndTenantId(String tenantId, String orderCode, Long warehouseId) { + return findByOrderSelfNum(orderCode,warehouseId); + } + @Override public void deleteById(Long orderId) { QueryWrapper queryWrapper = new QueryWrapper<>(); 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 bfbe79b16..06aabf445 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 @@ -211,7 +211,6 @@ FROM logpm_distribution_delivery_list lddl left JOIN logpm_distribution_signfor lds on lddl.id = lds.delivery_id LEFT JOIN logpm_distribution_reservation ldr on ldr.id = lds.reservation_id - LEFT JOIN (SELECT lddl.id,ldsa.order_code FROM logpm_distribution_delivery_list lddl LEFT JOIN logpm_distribution_signfor lds ON lddl.id = lds.delivery_id LEFT JOIN logpm_distribution_reservation_stockarticle AS ldrs ON lds.reservation_id = ldrs.reservation_id AND ldrs.stock_article_status != 2 LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id ) AS y ON y.id = lddl.id lddl.is_deleted = 0 AND (IF(lddl.delivery_number is null ,0,lddl.delivery_number) + IF(lddl.inventory_nub is null ,0,lddl.inventory_nub)) > 0 @@ -250,7 +249,7 @@ and lddl.loading_team_name like concat('%',#{param.loadingTeamName},'%') - and y.order_code like concat('%',#{param.orderCode},'%') + and ldr.stock_article_id like concat('%',#{param.orderCode},'%') and lddl.kind = #{param.kind} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java index 5aae0d04f..432701f52 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java @@ -181,9 +181,17 @@ public interface DistributionLoadscanMapper extends BaseMapper + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml index 49b12682d..033b10e3c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml @@ -1880,8 +1880,8 @@ lwwd.product_name goodsName, ldpl.quantity stockNum from logpm_distribution_parcel_list ldpl - left join logpm_warehouse_waybill_detail lwwd on lwwd.id = ldpl.advanceId - where lwwd.order_code = #{waybillNo} + left join logpm_warehouse_waybill_detail lwwd on lwwd.id = ldpl.advance_id + where lwwd.waybill_no = #{waybillNo} + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.java index 0e6baf314..bfedd3cd3 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.java @@ -2,6 +2,7 @@ package com.logpm.trunkline.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.logpm.trunkline.entity.TrunklineScanZeroDetailEntity; +import com.logpm.trunkline.vo.GoodsLoadingNumVO; import com.logpm.trunkline.vo.TrunklineScanZeroDetailVO; import org.apache.ibatis.annotations.Param; import org.mapstruct.Mapper; @@ -14,4 +15,9 @@ public interface TrunklineScanZeroDetailMapper extends BaseMapper findListByCarsLoadScanId(@Param("carsLoadScanId") Long carsLoadScanId); List findListByCarsLoadScanIds(@Param("carsLoadScanIds") List carsLoadScanIds); + + List findGoodsLoadingNum(@Param("loadId") Long loadId, @Param("warehouseId") Long warehouseId, @Param("waybillNo") String waybillNo, @Param("orderCode") String orderCode); + + void deleteListByCarsLoadScanIds(@Param("carsLoadScanIds") List carsLoadScanIds); + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.xml index 43c476d4b..5a9ce01d6 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineScanZeroDetailMapper.xml @@ -18,4 +18,25 @@ + + + + + delete from logpm_trunkline_scan_zero_detail + where scan_id in + + #{item} + + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenWaybillToBusinessListener.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenWaybillToBusinessListener.java index 2009edd3c..99f9b8ca8 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenWaybillToBusinessListener.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/OpenWaybillToBusinessListener.java @@ -8,10 +8,7 @@ import com.logpm.trunkline.entity.TrunklineAdvanceEntity; import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity; import com.logpm.trunkline.entity.TrunklineWaybillPackageEntity; import com.logpm.trunkline.entity.TrunklineWaybillTrackEntity; -import com.logpm.trunkline.feign.ITrunklineAdvanceClient; -import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; -import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient; -import com.logpm.trunkline.feign.ITrunklineWaybillPackageClient; +import com.logpm.trunkline.feign.*; import com.logpm.trunkline.service.IAsyncService; import com.logpm.trunkline.service.ITrunklineWaybillTrackService; import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; @@ -58,29 +55,18 @@ import java.util.stream.Collectors; //@RabbitListener(queues = RabbitConstant.OPEN_WAYBILL_TO_BUSINESS_DATA_QUEUE) public class OpenWaybillToBusinessListener { - private final IWarehouseWaybillClient warehouseWaybillClient; - private final IWarehouseWaybillDetailClient warehouseWaybillDetailClient; - - private final ITrunklineWaybillOrderClient trunklineWaybillOrderClient; - - private final ITrunklineWaybillPackageClient trunklineWaybillPackageClient; - - private final ITrunklineAdvanceClient trunklineAdvanceClient; - - private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient; private final ISysClient sysClient; - private final IAsyncService asyncService; - private ITrunklineWaybillTrackService trunklineWaybillTrackService; + private final IExtractedDataClient extractedDataClient; - @RabbitListener(bindings = @QueueBinding( - value = @Queue(name = FanoutConstants.trunkline.OPENWAYBILL.QUEUE.SEND_BUSINESS_DATA_BY_OPENWAYBILL_DATA), - exchange = @Exchange(name = FanoutConstants.trunkline.OPENWAYBILL.EXCHANGE, type = ExchangeTypes.FANOUT) - )) - @Transactional(rollbackFor = Exception.class) +// @RabbitListener(bindings = @QueueBinding( +// value = @Queue(name = FanoutConstants.trunkline.OPENWAYBILL.QUEUE.SEND_BUSINESS_DATA_BY_OPENWAYBILL_DATA), +// exchange = @Exchange(name = FanoutConstants.trunkline.OPENWAYBILL.EXCHANGE, type = ExchangeTypes.FANOUT) +// )) +// @Transactional(rollbackFor = Exception.class) public void openWaybillToBusinessDataHandler(String message) { @@ -112,11 +98,11 @@ public class OpenWaybillToBusinessListener { } - @RabbitListener(bindings = @QueueBinding( - value = @Queue(name = FanoutConstants.trunkline.UPDATEWAYBILL.QUEUE.SEND_BUSINESS_DATA_BY_UPDATEWAYBILL_DATA), - exchange = @Exchange(name = FanoutConstants.trunkline.UPDATEWAYBILL.EXCHANGE, type = ExchangeTypes.FANOUT) - )) - @Transactional(rollbackFor = Exception.class) +// @RabbitListener(bindings = @QueueBinding( +// value = @Queue(name = FanoutConstants.trunkline.UPDATEWAYBILL.QUEUE.SEND_BUSINESS_DATA_BY_UPDATEWAYBILL_DATA), +// exchange = @Exchange(name = FanoutConstants.trunkline.UPDATEWAYBILL.EXCHANGE, type = ExchangeTypes.FANOUT) +// )) +// @Transactional(rollbackFor = Exception.class) public void updateWaybillToBusinessDataHandler(String message) { @@ -171,34 +157,7 @@ public class OpenWaybillToBusinessListener { private void extractedTenant(Tenant tenant, WarehouseWaybillEntity byWaybillId) { - List waybillIds = new ArrayList<>(); - waybillIds.add(byWaybillId.getId()); - - List warehouseWayBillDetails = warehouseWaybillDetailClient.findByWaybillId(byWaybillId.getId()); - - List trunklineWaybillOrderEntities = trunklineWaybillOrderClient.findListByWaybillIds(waybillIds); - - List trunklineWaybillPackageEntities = trunklineWaybillPackageClient.findListByWaybillIds(waybillIds); - - // 暂存单ID集合 - List collect = trunklineWaybillOrderEntities.stream().map(TrunklineWaybillOrderEntity::getAdvanceId).distinct().collect(Collectors.toList()); - - List trunklineAdvanceEntities = trunklineAdvanceClient.findListByIds(collect); - - // 获取暂存单明细 - List trunklineAdvanceDetailEntities = trunklineAdvanceDetailClient.findListByAdvanceIds(collect); - - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(TrunklineWaybillTrackEntity::getWaybillId, byWaybillId.getId()); - queryWrapper.eq(TrunklineWaybillTrackEntity::getTrackType, "10"); - List list = trunklineWaybillTrackService.list(queryWrapper); - TrunklineWaybillTrackEntity trunklineWaybillTrackEntity = list.get(0); - Tenant finalTenant = tenant; - CompletableFuture.supplyAsync(() -> { - asyncService.saveOtherData(finalTenant.getTenantId(), byWaybillId, trunklineAdvanceDetailEntities, trunklineAdvanceEntities, trunklineWaybillPackageEntities, trunklineWaybillOrderEntities, warehouseWayBillDetails, trunklineWaybillTrackEntity); - return null; - }); + extractedDataClient.execute(tenant.getTenantId(), byWaybillId.getWaybillNo()); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java index db41b721a..0e9c3bf90 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java @@ -177,4 +177,6 @@ public interface ITrunklineCarsLoadScanService extends BaseService findUnloadZeroListByLoadIdAndFinalNodeId(Long loadId, Long warehouseId); List findSignPackageListBySignOrderId(Long signOrderId); + + List findAllIdListByLoadIdAndScanStatus(Long loadId, String scanStatus); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java index 39e196a4d..0648c2256 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java @@ -226,4 +226,6 @@ public interface ITrunklineCarsLoadService extends BaseService findListByCarsLoadScanId(Long carsLoadScanId); List findListByCarsLoadScanIds(List carsLoadScanIds); + + List findGoodsLoadingNum(Long loadId, Long warehouseId, String waybillNo, String orderCode); + + void deleteListByCarsLoadScanIds(List carsLoadScanIds); + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 53cfac3ab..a5c5d83a0 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -155,6 +155,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { } //把list中所有的senderName去重放入一个Set集合 + Set senderFactorySet = list.stream().filter(e -> StringUtil.isNotBlank(e.getSenderFactory())).map(TrunklineAdvanceEntity::getSenderFactory).collect(Collectors.toSet()); Set senderNameSet = list.stream().filter(e -> StringUtil.isNotBlank(e.getSenderName())).map(TrunklineAdvanceEntity::getSenderName).collect(Collectors.toSet()); Set senderPhoneSet = list.stream().filter(e -> StringUtil.isNotBlank(e.getSenderPhone())).map(TrunklineAdvanceEntity::getSenderPhone).collect(Collectors.toSet()); Set senderAddressSet = list.stream().filter(e -> StringUtil.isNotBlank(e.getSenderAddress())).map(TrunklineAdvanceEntity::getSenderAddress).collect(Collectors.toSet()); @@ -202,6 +203,19 @@ public class OpenOrderServiceImpl implements IOpenOrderService { openOrderVO.setDepartureArray(departureArray); } + }else{ + if(CollUtil.isNotEmpty(senderFactorySet) && senderFactorySet.size() == 1){ + openOrderVO.setShipper(senderFactorySet.iterator().next()); + } + if(CollUtil.isNotEmpty(senderNameSet) && senderNameSet.size() == 1){ + openOrderVO.setShipperName(senderNameSet.iterator().next()); + } + if(CollUtil.isNotEmpty(senderPhoneSet) && senderPhoneSet.size() == 1){ + openOrderVO.setShipperMobile(senderPhoneSet.iterator().next()); + } + if(CollUtil.isNotEmpty(senderAddressSet) && senderAddressSet.size() == 1){ + openOrderVO.setShipperAddress(senderAddressSet.iterator().next()); + } } @@ -781,7 +795,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { if (Objects.isNull(basicdataCategoryEntity)) { basicdataCategoryEntity = new BasicdataCategoryEntity(); basicdataCategoryEntity.setName(goodsName); - basicdataCategoryEntity.setType(1); + basicdataCategoryEntity.setType(10); goodsId = basicdataCategoryClient.addReturnId(basicdataCategoryEntity); } else { goodsId = basicdataCategoryEntity.getId(); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java index f711e6a1a..7546f5d1f 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java @@ -17,6 +17,7 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; @@ -454,4 +455,9 @@ public class TrunklineCarsLoadScanServiceImpl extends BaseServiceImpl findAllIdListByLoadIdAndScanStatus(Long loadId, String scanStatus) { + return baseMapper.findAllIdListByLoadIdAndScanStatus(loadId,scanStatus); + } + } 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 3fd097816..84c5b44e3 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 @@ -423,7 +423,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl zeroDetailVOList = scanZeroDetailService.findListByCarsLoadScanId(carsLoadScanId); + + return R.data(zeroDetailVOList); + } + @Transactional(rollbackFor = Exception.class) @Override @@ -2390,6 +2398,22 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl scanIds = trunklineCarsLoadScanEntities1.stream().map(TrunklineCarsLoadScanEntity::getId).collect(Collectors.toList()); + List zeroDetailVOList = scanZeroDetailService.findListByCarsLoadScanIds(scanIds); + //把zeroDetailVOList按照packageId进行分组 + Map> zeroDetailVOMap = zeroDetailVOList.stream().collect(Collectors.groupingBy(TrunklineScanZeroDetailVO::getPackageId)); + zeroDetailVOMap.keySet().forEach(packageId -> { + List zeroDetailVOS = zeroDetailVOMap.get(packageId); + Integer lNum = zeroDetailVOS.stream().mapToInt(t -> Objects.nonNull(t.getLoadingNum()) ? t.getLoadingNum() : 0).sum(); + Integer uNum = zeroDetailVOS.stream().mapToInt(t -> Objects.nonNull(t.getUnloadNum()) ? t.getUnloadNum() : 0).sum(); + if(uNum != lNum){ + int diff = lNum - uNum; + distributionParcelListClient.addZeroQuantity(packageId, diff); + distributionParcelNumberClient.addHandleQuantity(packageId,diff); + } + }); }); } }); @@ -2583,7 +2607,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl scanLoadIds = trunklineCarsLoadScanService.findAllIdListByLoadIdAndNoScanStatus(loadId,"3"); +// List scanLoadIds = trunklineCarsLoadScanService.findAllIdListByLoadIdAndNoScanStatus(loadId,"3"); + List scanLoadIds = trunklineCarsLoadScanService.findAllIdListByLoadIdAndScanStatus(loadId,"2"); return signLoadScanByIds(scanLoadIds,warehouseId); @@ -2654,7 +2679,29 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl pageList = trunklineCarsLoadScanService.loadingDetail(page, loadCarsDTO); - + List records = pageList.getRecords(); + //把records中type等于2的id放入一个集合 + List scanLoadIds = records.stream().filter(item -> item.getType() == 2).map(TrunklineCarsLoadScanVO::getId).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(scanLoadIds)){ + List scanZeroDetailVOS = scanZeroDetailService.findListByCarsLoadScanIds(scanLoadIds); + //把scanZeroDetailVOS通过scanId进行分组 + Map> scanZeroDetailVOMap = scanZeroDetailVOS.stream().collect(Collectors.groupingBy(TrunklineScanZeroDetailVO::getScanId)); + records.forEach(item -> { + Long scanId = item.getId(); + List list = scanZeroDetailVOMap.get(scanId); + //把list中所有元素的goodsName用逗号拼起来 + String loadingGoods = list.stream() + .map(t-> t.getGoodsName()+"("+t.getLoadingNum()+")") + .collect(Collectors.joining(",")); + + String unloadGoods = list.stream() + .map(t-> t.getGoodsName()+"("+t.getUnloadNum()+")") + .collect(Collectors.joining(",")); + item.setLoadingGoods(loadingGoods); + item.setUnloadGoods(unloadGoods); + }); + } + pageList.setRecords(records); return R.data(pageList); } @@ -3052,6 +3099,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl parcelListMapById = parcelListEntities.stream().collect(Collectors.toMap(DistributionParcelListEntity::getId, Function.identity())); + List parcelNumberEntityList = distributionParcelNumberClient.findListByParcelListIds(new ArrayList<>(parcelListMapById.keySet())); + //把parcelNumberEntityList转化成以parceListId为key的Map + Map parcelNumberMapByParceListId = parcelNumberEntityList.stream().collect(Collectors.toMap(DistributionParcelNumberEntity::getParcelListId, Function.identity())); //把parcelListEntities转化成以firsts作为key的map Map parcelListMap = parcelListEntities.stream().collect(Collectors.toMap(DistributionParcelListEntity::getFirsts, Function.identity())); @@ -3151,6 +3201,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl zeroDetailList = new ArrayList<>(); List updateParceList = new ArrayList<>(); + List updateParceNumberList = new ArrayList<>(); if(CollUtil.isNotEmpty(zeroPackageList)){ Long finalLoadScanId = loadScanId; zeroPackageList.forEach(zeroPackageDTO -> { @@ -3164,10 +3215,16 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl zeroDetailList = new ArrayList<>(); List updateParceList = new ArrayList<>(); + List updateParceNumberList = new ArrayList<>(); QueryWrapper queryWrapper1 = new QueryWrapper<>(); - queryWrapper1.eq("scanId",loadScanId); + queryWrapper1.eq("scan_id",loadScanId); List scanZeroDetailEntities = scanZeroDetailService.list(queryWrapper1); //把scanZeroDetailEntities中所有元素的scanId作为key转为Map Map map = scanZeroDetailEntities.stream().collect(Collectors.toMap(TrunklineScanZeroDetailEntity::getPackageId, Function.identity())); @@ -3248,11 +3315,20 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl orderScanDetailList = trunklineCarsLoadScanService.findCarsLoadingOrderDetail(loadId, orderCode, warehouseId); - + if(CollUtil.isNotEmpty(orderScanDetailList)){ + //把orderScanDetailList中所有元素的loadScanId放入一个List + List loadScanIdList = orderScanDetailList.stream().map(OrderScanDetailVO::getLoadScanId).collect(Collectors.toList()); + List zeroDetailVOList = scanZeroDetailService.findListByCarsLoadScanIds(loadScanIdList); + //把zeroDetailVOList中所有元素通过scanId进行分组 + Map> zeroDetailMap = zeroDetailVOList.stream().collect(Collectors.groupingBy(TrunklineScanZeroDetailVO::getScanId)); + orderScanDetailList.forEach(orderScanDetailVO -> { + Long loadScanId = orderScanDetailVO.getLoadScanId(); + List list = zeroDetailMap.get(loadScanId); + orderScanDetailVO.setZeroDetailList(list); + }); + } return R.data(orderScanDetailList); } @@ -3911,6 +4001,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl loadingDetailExport(LoadCarsDTO loadCarsDTO) { - return trunklineCarsLoadScanService.loadingDetailExport(loadCarsDTO); + List loadingDetailExportVOS = trunklineCarsLoadScanService.loadingDetailExport(loadCarsDTO); + + //把records中type等于2的id放入一个集合 + List scanLoadIds = loadingDetailExportVOS.stream().filter(item -> item.getType().equals("零担")).map(LoadingDetailExportVO::getId).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(scanLoadIds)){ + List scanZeroDetailVOS = scanZeroDetailService.findListByCarsLoadScanIds(scanLoadIds); + //把scanZeroDetailVOS通过scanId进行分组 + Map> scanZeroDetailVOMap = scanZeroDetailVOS.stream().collect(Collectors.groupingBy(TrunklineScanZeroDetailVO::getScanId)); + loadingDetailExportVOS.forEach(item -> { + Long scanId = item.getId(); + List list = scanZeroDetailVOMap.get(scanId); + //把list中所有元素的goodsName用逗号拼起来 + String loadingGoods = list.stream() + .map(t-> t.getGoodsName()+"("+t.getLoadingNum()+")") + .collect(Collectors.joining(",")); + + String unloadGoods = list.stream() + .map(t-> t.getGoodsName()+"("+t.getUnloadNum()+")") + .collect(Collectors.joining(",")); + item.setLoadingGoods(loadingGoods); + item.setUnloadGoods(unloadGoods); + }); + } + return loadingDetailExportVOS; } @Override @@ -7194,10 +7313,22 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl zeroList = trunklineCarsOrderService.findZeroList(loadId, warehouseId); zeroList.forEach(loadZeroListVO -> { String waybillNo = loadZeroListVO.getWaybillNo(); + String orderCode = loadZeroListVO.getOrderCode(); + List loadingNumVOList = scanZeroDetailService.findGoodsLoadingNum(loadId,warehouseId,waybillNo,orderCode); + //把loadingNumVOList转化成以goodsId作为key的Map + Map map = loadingNumVOList.stream().collect(Collectors.toMap(GoodsLoadingNumVO::getGoodsId, Function.identity())); List zeroPackageList = distributionParcelListClient.findPackageGoodsListByWaybillNo(waybillNo); List ls = new ArrayList<>(); zeroPackageList.forEach(jsonObject -> { - ls.add(jsonObject.toJavaObject(ZeroPackageVO.class)); + ZeroPackageVO javaObject = jsonObject.toJavaObject(ZeroPackageVO.class); + Long goodsId = javaObject.getGoodsId(); + GoodsLoadingNumVO goodsLoadingNumVO = map.get(goodsId); + if(Objects.isNull(goodsLoadingNumVO)){ + javaObject.setLoadingNum(0); + }else{ + javaObject.setLoadingNum(goodsLoadingNumVO.getLoadingNum()); + } + ls.add(javaObject); }); loadZeroListVO.setZeroPackageList(ls); }); @@ -7328,6 +7459,18 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl carsLoadScanIdList = loadScanEntityList2.stream().map(TrunklineCarsLoadScanEntity::getId).collect(Collectors.toList()); + List zeroDetailVOList = scanZeroDetailService.findListByCarsLoadScanIds(carsLoadScanIds); + //把zeroDetailVOList所有元素通过packageId进行分组 + Map> groupedByPackageId = zeroDetailVOList.stream().filter(trunklineScanZeroDetailVO-> !Objects.isNull(trunklineScanZeroDetailVO.getPackageId())) + .collect(Collectors.groupingBy(TrunklineScanZeroDetailVO::getPackageId)); + groupedByPackageId.keySet().forEach(packageId -> { + List scanZeroDetailVOList = groupedByPackageId.get(packageId); + Integer loadingNum = scanZeroDetailVOList.stream().map(TrunklineScanZeroDetailVO::getLoadingNum).reduce(0, Integer::sum); + distributionParcelListClient.addZeroQuantity(packageId, loadingNum); + }); + if(warehouseId.equals(fromWarehouseId)){ Long waybillId = distributionStockArticle.getWaybillId(); String waybillNo = distributionStockArticle.getWaybillNumber(); @@ -7363,8 +7506,10 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl findListByCarsLoadScanIds(List carsLoadScanIds) { return baseMapper.findListByCarsLoadScanIds(carsLoadScanIds); } + + @Override + public List findGoodsLoadingNum(Long loadId, Long warehouseId, String waybillNo, String orderCode) { + return baseMapper.findGoodsLoadingNum(loadId,warehouseId,waybillNo,orderCode); + } + + @Override + public void deleteListByCarsLoadScanIds(List carsLoadScanIds) { + baseMapper.deleteListByCarsLoadScanIds(carsLoadScanIds); + } } diff --git a/blade-service/logpm-trunkline/src/main/resources/application-test.yml b/blade-service/logpm-trunkline/src/main/resources/application-test.yml index 93370deb3..3e7aa4ed7 100644 --- a/blade-service/logpm-trunkline/src/main/resources/application-test.yml +++ b/blade-service/logpm-trunkline/src/main/resources/application-test.yml @@ -51,15 +51,3 @@ spring: url: ${blade.datasource.trunkline.master.url} username: ${blade.datasource.trunkline.master.username} password: ${blade.datasource.trunkline.master.password} - 627683: - url: ${blade.datasource.trunkline.627683.url} - username: ${blade.datasource.trunkline.627683.username} - password: ${blade.datasource.trunkline.627683.password} - 695224: - url: ${blade.datasource.trunkline.695224.url} - username: ${blade.datasource.trunkline.695224.username} - password: ${blade.datasource.trunkline.695224.password} - 645789: - url: ${blade.datasource.trunkline.645789.url} - username: ${blade.datasource.trunkline.645789.username} - password: ${blade.datasource.trunkline.645789.password} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java index 6edcc1f82..54cf18c65 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java @@ -203,4 +203,6 @@ public interface TaskQuestMapper extends BaseMapper { List exportAllDataWithPackage(@Param("param") QuestDetailDTO questDetailDTO); List exportPanDataWithPackage(@Param("param") QuestDetailDTO questDetailDTO); + + void deleteGroundingPosition(@Param("questNum") String questNum, @Param("list") List questDetailEntities); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml index d344c263a..c58ffb8b5 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml @@ -788,4 +788,19 @@ AND quest_status = 1 + + update ${questNum} + set grounding_position_code = null, + grounding_allocation_id = null, + is_new = 0, + is_change = 0, + is_change_at = 0, + quest_status = 0 + where id in + + #{item.id} + + + + 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 91594a1d3..0884a3a7b 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 @@ -1410,7 +1410,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl