Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 5 months ago
parent
commit
1417af6d69
  1. 3
      blade-biz-common/src/main/java/org/springblade/common/constant/IncomingTypeEnum.java
  2. 5
      blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java
  3. 4
      blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesAbnormalRecordClient.java
  4. 21
      blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/DealWithAbnormalVO.java
  5. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java
  6. 2
      blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsDistributionPackageEntity.java
  7. 5
      blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/feign/IOrderInfoClient.java
  8. 15
      blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/vo/StatisticsOrderInfoVO.java
  9. 24
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java
  10. 8
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadWaybillInfoVO.java
  11. 4
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java
  12. 5
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java
  13. 3
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWaybillVO.java
  14. 31
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesAbnormalRecordClient.java
  15. 3
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.java
  16. 12
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.xml
  17. 4
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesAbnormalRecordService.java
  18. 5
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java
  19. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java
  20. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java
  21. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  22. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  23. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  24. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  25. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  26. 58
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  27. 35
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  28. 88
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java
  29. 10
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/FactoryNodePushEntity.java
  30. 1
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/enums/NodeNeedEnums.java
  31. 9
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java
  32. 6
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java
  33. 26
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/controller/MerchantBalanceController.java
  34. 10
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/feign/OrderInfoClient.java
  35. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillCheckListener.java
  36. 6
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.java
  37. 18
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml
  38. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.java
  39. 5
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.xml
  40. 6
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.java
  41. 340
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml
  42. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java
  43. 8
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml
  44. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.java
  45. 5
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.xml
  46. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.java
  47. 5
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.xml
  48. 8
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsBalanceOrderInfoService.java
  49. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsDistributionPackageService.java
  50. 5
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsOrderInfoService.java
  51. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsReconciliationOrderInfoService.java
  52. 4
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsTrunklinePackageService.java
  53. 2
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsWarehousePackageService.java
  54. 89
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsBalanceOrderInfoServiceImpl.java
  55. 5
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsDistributionPackageServiceImpl.java
  56. 100
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java
  57. 7
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java
  58. 5
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsTrunklinePackageServiceImpl.java
  59. 5
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsWarehousePackageServiceImpl.java
  60. 76
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java
  61. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java
  62. 24
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  63. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java
  64. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java
  65. 38
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  66. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java
  67. 452
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  68. 8
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java
  69. 3
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.java
  70. 50
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml
  71. 3
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java
  72. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

3
blade-biz-common/src/main/java/org/springblade/common/constant/IncomingTypeEnum.java

@ -17,7 +17,8 @@ public enum IncomingTypeEnum {
OPEN_TO_IN(10, "开单及入库"), OPEN_TO_IN(10, "开单及入库"),
FACTORY_TO_INCOMING(11, "工厂推送数据入库"), FACTORY_TO_INCOMING(11, "工厂推送数据入库"),
SUPPLE_INCOMING(12, "数据补录入库"), SUPPLE_INCOMING(12, "数据补录入库"),
ABNORMAL_INCOMING(13, "异常列表入库"); ABNORMAL_INCOMING(13, "异常列表入库"),
SYNC_INCOMING(14, "同步数据异常入库");
private Integer code; private Integer code;
private String value; private String value;

5
blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java

@ -34,13 +34,14 @@ public enum BasicCodeTypeConstant {
//配送计划 自提单 预约单 备货码 //配送计划 自提单 预约单 备货码
DELIVERY_PLAN_CODE("配送计划码","20"), DELIVERY_PLAN_CODE("配送码","20"),
// 自提单码 // 自提单码
PICKUP_ORDER_CODE("自提单码","21"), PICKUP_ORDER_CODE("自提单码","21"),
// 预约单码 // 预约单码
APPOINTMENT_CODE("预约单码","22"), APPOINTMENT_CODE("预约单码","22"),
// 备货码 // 备货码
STOCK_CODE("备货码","23"); STOCK_CODE("备货码","23"),
RENTION_CODE("回库码","24");
/** /**

4
blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesAbnormalRecordClient.java

@ -18,6 +18,7 @@ package com.logpm.aftersales.feign;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity;
import com.logpm.aftersales.vo.DealWithAbnormalVO;
import org.springblade.common.constant.ModuleNameConstant; import org.springblade.common.constant.ModuleNameConstant;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -62,4 +63,7 @@ public interface IAftersalesAbnormalRecordClient {
@PostMapping(API_PREFIX+"/addAbnormalRecordListReturnList") @PostMapping(API_PREFIX+"/addAbnormalRecordListReturnList")
List<AftersalesAbnormalRecordEntity> addAbnormalRecordListReturnList(@RequestBody List<AftersalesAbnormalRecordEntity> abnormalRecordEntities); List<AftersalesAbnormalRecordEntity> addAbnormalRecordListReturnList(@RequestBody List<AftersalesAbnormalRecordEntity> abnormalRecordEntities);
@PostMapping(API_PREFIX+"/dealwithOrderPackageCodes")
void dealwithOrderPackageCodes(@RequestBody DealWithAbnormalVO dealWithAbnormalVO);
} }

21
blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/DealWithAbnormalVO.java

@ -0,0 +1,21 @@
package com.logpm.aftersales.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class DealWithAbnormalVO implements Serializable {
private List<String> orderPackageCodes;
private String warehouseName;
private String carsNo;
private String nickName;
private Long userId;
}

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java

@ -309,5 +309,8 @@ public interface IDistributionParcelListClient {
@GetMapping(API_PREFIX + "/findOrderPackageCodeAndStatus") @GetMapping(API_PREFIX + "/findOrderPackageCodeAndStatus")
DistributionParcelListEntity findOrderPackageCodeAndStatus(@RequestParam String orderPackageCode, @RequestParam String orderPackageStatus); DistributionParcelListEntity findOrderPackageCodeAndStatus(@RequestParam String orderPackageCode, @RequestParam String orderPackageStatus);
@GetMapping(API_PREFIX + "/findListByOrderPackageCodeAndStatus")
List<DistributionParcelListEntity> findListByOrderPackageCodeAndStatus(@RequestParam String orderPackageCode, @RequestParam String status);
} }

2
blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsDistributionPackageEntity.java

@ -76,7 +76,7 @@ public class StatisticsDistributionPackageEntity extends TenantEntity {
* 品类名称 * 品类名称
*/ */
@ApiModelProperty(value = "品类Id") @ApiModelProperty(value = "品类Id")
private String productId; private Long productId;
/** /**
* 件数 * 件数

5
blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/feign/IOrderInfoClient.java

@ -16,4 +16,9 @@ public interface IOrderInfoClient {
@GetMapping(API_PREFIX+"/findCreateRencilitionOrderStatus") @GetMapping(API_PREFIX+"/findCreateRencilitionOrderStatus")
Integer findCreateRencilitionOrderStatus(@RequestParam Long waybillId); Integer findCreateRencilitionOrderStatus(@RequestParam Long waybillId);
@GetMapping(API_PREFIX+"/findBalanceOrderStatus")
Integer findBalanceOrderStatus(@RequestParam Long waybillId);
@GetMapping(API_PREFIX+"/deleteWaybillData")
void deleteWaybillData(@RequestParam Long waybillId);
} }

15
blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/vo/StatisticsOrderInfoVO.java

@ -39,7 +39,20 @@ public class StatisticsOrderInfoVO implements Serializable {
private String payType;//支付类型 private String payType;//支付类型
private String payWay;//支付方式 private String payWay;//支付方式
private String goodsName;//物料品类 /**
* 开单品类
*/
private String goodsName;
/**
* 开单数量
*/
private String goodsNum;
/**
* 开单价格
*/
private String goodsPrice;
private Integer totalNum;//订单数量 private Integer totalNum;//订单数量
private BigDecimal totalWeight;//订单重量 private BigDecimal totalWeight;//订单重量
private BigDecimal totalVolume;//订单体积 private BigDecimal totalVolume;//订单体积

24
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java

@ -10,18 +10,18 @@ public class CarsLoadOrderInfoVO implements Serializable {
private String orderCode; private String orderCode;
private String waybillNo; private String waybillNo;
private Integer orderNum; private Integer orderNum = 0;
private Integer planNum; private Integer planNum = 0;
private Integer loadingNum; private Integer loadingNum = 0;
private Integer unloadNum; private Integer unloadNum = 0;
private Integer signNum; private Integer signNum = 0;
private BigDecimal unloadIncome; private BigDecimal unloadIncome = BigDecimal.ZERO;
private BigDecimal costZhang; private BigDecimal costZhang = BigDecimal.ZERO;
private BigDecimal costPiece; private BigDecimal costPiece = BigDecimal.ZERO;
private BigDecimal income; private BigDecimal income = BigDecimal.ZERO;
private BigDecimal weight; private BigDecimal weight = BigDecimal.ZERO;
private BigDecimal volume; private BigDecimal volume = BigDecimal.ZERO;
private BigDecimal orderFreight; private BigDecimal orderFreight = BigDecimal.ZERO;
private String checkUserName;//审核人员 private String checkUserName;//审核人员

8
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadWaybillInfoVO.java

@ -21,8 +21,14 @@ public class CarsLoadWaybillInfoVO implements Serializable {
private String consignee; private String consignee;
private String consigneeName; private String consigneeName;
private Integer waybillNum; private Integer waybillNum;
private BigDecimal totalVolume;
private BigDecimal totalWeight;
private String openPrice; private String openPrice;
private String goodsName; private String goodsName;
private String productNum;
private String productPrice;
private String productVolume;
private String productWeight;
private Integer waybillType; private Integer waybillType;
private Long waybillId; private Long waybillId;
private String remark; private String remark;
@ -31,6 +37,7 @@ public class CarsLoadWaybillInfoVO implements Serializable {
private BigDecimal pickupFee; private BigDecimal pickupFee;
private BigDecimal warehouseManagementFee; private BigDecimal warehouseManagementFee;
private BigDecimal storageFee; private BigDecimal storageFee;
private BigDecimal sortingFee;
private BigDecimal handlingFee; private BigDecimal handlingFee;
private BigDecimal otherFee; private BigDecimal otherFee;
private BigDecimal insuranceFee; private BigDecimal insuranceFee;
@ -38,6 +45,7 @@ public class CarsLoadWaybillInfoVO implements Serializable {
private BigDecimal costPiece; private BigDecimal costPiece;
private BigDecimal costZhang; private BigDecimal costZhang;
private Integer costNum; private Integer costNum;
private String checkUserName;//审核人员
List<CarsLoadOrderInfoVO> carsLoadOrderInfoList = new ArrayList<>(); List<CarsLoadOrderInfoVO> carsLoadOrderInfoList = new ArrayList<>();
List<CarsLoadOrderInfoVO> carsLoadOrderInfoListPlan = new ArrayList<>(); List<CarsLoadOrderInfoVO> carsLoadOrderInfoListPlan = new ArrayList<>();

4
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java

@ -3,6 +3,8 @@ package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity; import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
@Data @Data
public class TrunklineCarsLoadScanVO extends TrunklineCarsLoadScanEntity { public class TrunklineCarsLoadScanVO extends TrunklineCarsLoadScanEntity {
@ -14,4 +16,6 @@ public class TrunklineCarsLoadScanVO extends TrunklineCarsLoadScanEntity {
private String loadingGoods; private String loadingGoods;
private String unloadGoods; private String unloadGoods;
private BigDecimal price;
private String goodsName;
} }

5
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java

@ -17,6 +17,7 @@
package com.logpm.warehouse.feign; package com.logpm.warehouse.feign;
import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.vo.WarehouseWaybillVO;
import org.springblade.common.constant.ModuleNameConstant; import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.BladePage;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 运单表 Feign接口类 * 运单表 Feign接口类
@ -97,4 +99,7 @@ public interface IWarehouseWaybillClient {
@PostMapping(API_PREFIX + "/deleteByWaybillIds") @PostMapping(API_PREFIX + "/deleteByWaybillIds")
void deleteByWaybillIds(@RequestBody List<Long> waybillIds); void deleteByWaybillIds(@RequestBody List<Long> waybillIds);
@PostMapping(API_PREFIX + "/findWaybillVOByWaybillNoSet")
List<WarehouseWaybillVO> findWaybillVOByWaybillNoSet(@RequestBody Set<String> allWaybillNoSet);
} }

3
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWaybillVO.java

@ -41,11 +41,14 @@ public class WarehouseWaybillVO extends WarehouseWaybillEntity {
private Integer noBillladingNum; private Integer noBillladingNum;
private Integer planNum; private Integer planNum;
private Integer waybillNum;
private Integer totalPlanNum; private Integer totalPlanNum;
private Long waybillId; private Long waybillId;
private String productNum; private String productNum;
private String productPrice; private String productPrice;
private String productVolume;
private String productWeight;
} }

31
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesAbnormalRecordClient.java

@ -4,10 +4,13 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity;
import com.logpm.aftersales.service.IAftersalesAbnormalRecordService; import com.logpm.aftersales.service.IAftersalesAbnormalRecordService;
import com.logpm.aftersales.vo.DealWithAbnormalVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
@ApiIgnore() @ApiIgnore()
@ -60,4 +63,32 @@ public class AftersalesAbnormalRecordClient implements IAftersalesAbnormalRecord
aftersalesAbnormalRecordService.saveBatch(abnormalRecordEntities); aftersalesAbnormalRecordService.saveBatch(abnormalRecordEntities);
return abnormalRecordEntities; return abnormalRecordEntities;
} }
@Override
public void dealwithOrderPackageCodes(DealWithAbnormalVO dealWithAbnormalVO) {
List<String> orderPackageCodes = dealWithAbnormalVO.getOrderPackageCodes();
String carsNo = dealWithAbnormalVO.getCarsNo();
String warehouseName = dealWithAbnormalVO.getWarehouseName();
String nickName = dealWithAbnormalVO.getNickName();
Long userId = dealWithAbnormalVO.getUserId();
List<AftersalesAbnormalRecordEntity> abnormalRecordEntities = aftersalesAbnormalRecordService.findListByOrderPackageCodes(orderPackageCodes);
Date date = new Date();
List<AftersalesAbnormalRecordEntity> updateList = new ArrayList<>();
abnormalRecordEntities.forEach(item->{
AftersalesAbnormalRecordEntity update = new AftersalesAbnormalRecordEntity();
update.setId(item.getId());
update.setDealUserId(userId);
update.setDealUserName(nickName);
update.setDealTime(date);
update.setAbnormalStatus(1);
update.setRemark("数据同步系统自动处理("+warehouseName+" "+carsNo+" "+nickName+")");
updateList.add(update);
});
aftersalesAbnormalRecordService.updateBatchById(updateList);
}
} }

3
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.java

@ -17,4 +17,7 @@ public interface AftersalesAbnormalRecordMapper extends BaseMapper<AftersalesAbn
IPage<AftersalesAbnormalRecordEntity> findPageList(IPage<Object> page, @Param("param") AbnormalRecordDTO abnormalRecordDTO, @Param("warehouseIds") List<Long> warehouseIds); IPage<AftersalesAbnormalRecordEntity> findPageList(IPage<Object> page, @Param("param") AbnormalRecordDTO abnormalRecordDTO, @Param("warehouseIds") List<Long> warehouseIds);
JSONObject findListByCarsNoAndUpWarehouseId(@Param("carsNo") String carsNo, @Param("warehouseId") Long warehouseId); JSONObject findListByCarsNoAndUpWarehouseId(@Param("carsNo") String carsNo, @Param("warehouseId") Long warehouseId);
List<AftersalesAbnormalRecordEntity> findListByOrderPackageCodes(@Param("orderPackageCodes") List<String> orderPackageCodes);
} }

12
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.xml

@ -68,4 +68,16 @@
and warehouse_id = #{warehouseId} and warehouse_id = #{warehouseId}
</select> </select>
<select id="findListByOrderPackageCodes" resultType="com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity">
select *
from logpm_aftersales_abnormal_record
where order_package_code in
<foreach collection="orderPackageCodes" item="orderPackageCode" open="(" close=")" separator=",">
#{orderPackageCode}
</foreach>
and abnormal_status = 0
and abnormal_type in (1,4)
</select>
</mapper> </mapper>

4
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesAbnormalRecordService.java

@ -6,6 +6,8 @@ import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import java.util.List;
public interface IAftersalesAbnormalRecordService extends BaseService<AftersalesAbnormalRecordEntity> { public interface IAftersalesAbnormalRecordService extends BaseService<AftersalesAbnormalRecordEntity> {
R findPageList(AbnormalRecordDTO abnormalRecordDTO); R findPageList(AbnormalRecordDTO abnormalRecordDTO);
@ -14,4 +16,6 @@ public interface IAftersalesAbnormalRecordService extends BaseService<Aftersales
JSONObject findListByCarsNoAndUpWarehouseId(String carsNo, Long warehouseId); JSONObject findListByCarsNoAndUpWarehouseId(String carsNo, Long warehouseId);
R findZeroDetail(AbnormalRecordDTO abnormalRecordDTO); R findZeroDetail(AbnormalRecordDTO abnormalRecordDTO);
List<AftersalesAbnormalRecordEntity> findListByOrderPackageCodes(List<String> orderPackageCodes);
} }

5
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java

@ -507,4 +507,9 @@ public class AftersalesAbnormalRecordServiceImpl extends BaseServiceImpl<Aftersa
List<AftersalesAbnormalRecordZeroDetailEntity> list = recordZeroDetailService.list(queryWrapper); List<AftersalesAbnormalRecordZeroDetailEntity> list = recordZeroDetailService.list(queryWrapper);
return R.data(list); return R.data(list);
} }
@Override
public List<AftersalesAbnormalRecordEntity> findListByOrderPackageCodes(List<String> orderPackageCodes) {
return baseMapper.findListByOrderPackageCodes(orderPackageCodes);
}
} }

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java

@ -659,4 +659,9 @@ public class DistributionParcelListClient implements IDistributionParcelListClie
return distributionParcelListService.findOrderPackageCodeAndStatus(orderPackageCode,orderPackageStatus); return distributionParcelListService.findOrderPackageCodeAndStatus(orderPackageCode,orderPackageStatus);
} }
@Override
public List<DistributionParcelListEntity> findListByOrderPackageCodeAndStatus(String orderPackageCode, String status) {
return distributionParcelListService.findListByOrderPackageCodeAndStatus(orderPackageCode,status);
}
} }

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java

@ -340,4 +340,6 @@ public interface DistributionParcelListMapper extends BaseMapper<DistributionPar
List<DistributionStockArticleEntity> findWaybillNoByOrderIds(@Param("stockArticleIds") Set<Long> stockArticleIds); List<DistributionStockArticleEntity> findWaybillNoByOrderIds(@Param("stockArticleIds") Set<Long> stockArticleIds);
void deleteListByOrderPackageCodes(@Param("orderPackageCodeList") List<String> orderPackageCodeList,@Param("warehouseId") Long warehouseId); void deleteListByOrderPackageCodes(@Param("orderPackageCodeList") List<String> orderPackageCodeList,@Param("warehouseId") Long warehouseId);
List<DistributionParcelListEntity> findListByOrderPackageCodeAndStatus(@Param("orderPackageCode") String orderPackageCode, @Param("status") String status);
} }

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml

@ -2276,4 +2276,12 @@
and warehouse_id = #{warehouseId} and warehouse_id = #{warehouseId}
</delete> </delete>
<select id="findListByOrderPackageCodeAndStatus" resultType="com.logpm.distribution.entity.DistributionParcelListEntity">
select *
from logpm_distribution_parcel_list
where order_package_code = #{orderPackageCode}
and order_package_status = #{status}
and is_deleted = 0
</select>
</mapper> </mapper>

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml

@ -762,7 +762,6 @@
LEFT JOIN logpm_warehouse_waybill AS lww ON lww.waybill_no = ltwo.waybill_no LEFT JOIN logpm_warehouse_waybill AS lww ON lww.waybill_no = ltwo.waybill_no
<where> <where>
ldsa.order_status in ('10','20','30','70') ldsa.order_status in ('10','20','30','70')
AND lww.check_status = 1
and ldsa.reservation_status in ('10','20') and ldsa.reservation_status in ('10','20')
AND EXISTS ( AND EXISTS (
SELECT 1 SELECT 1

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java

@ -314,4 +314,6 @@ public interface IDistributionParcelListService extends BaseService<Distribution
void deleteListByOrderPackageCodes(List<String> orderPackageCodeList,Long warehouseId); void deleteListByOrderPackageCodes(List<String> orderPackageCodeList,Long warehouseId);
DistributionParcelListEntity findOrderPackageCodeAndStatus(String orderPackageCode, String orderPackageStatus); DistributionParcelListEntity findOrderPackageCodeAndStatus(String orderPackageCode, String orderPackageStatus);
List<DistributionParcelListEntity> findListByOrderPackageCodeAndStatus(String orderPackageCode, String status);
} }

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -1620,16 +1620,22 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
@Override @Override
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class) @Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
public R oneloading(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { public R oneloading(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) {
boolean falg = true;
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(myCurrentWarehouse)) { if (Objects.isNull(myCurrentWarehouse)) {
return R.fail(403, "请选择仓库!!"); return R.fail(403, "请选择仓库!!");
// throw n/**/ew CustomerException(403, "仓库信息不能为空"); // throw n/**/ew CustomerException(403, "仓库信息不能为空");
} }
if (falg) { Integer isStrictLoading = 0;
return Resp.scanFail("功能维护中...", "功能维护中..."); WarehouseConfigEntity warehouseConfig = warehouseConfigClient.getWarehouseConfig(myCurrentWarehouse.getId());
if (!Objects.isNull(warehouseConfig)){
//开启强制装车无法使用此功能
isStrictLoading = warehouseConfig.getIsStrictLoading() != null?warehouseConfig.getIsStrictLoading():0;
} }
if (Objects.equals(isStrictLoading,1)){
return Resp.scanFail("请扫描装车","请扫描装车");
}
/* /*
1. 通过查询这个所有的预约单 1. 通过查询这个所有的预约单
2.通过预约单ID 得到所有的订单 2.通过预约单ID 得到所有的订单

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -1595,4 +1595,9 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
return null; return null;
} }
} }
@Override
public List<DistributionParcelListEntity> findListByOrderPackageCodeAndStatus(String orderPackageCode, String status) {
return baseMapper.findListByOrderPackageCodeAndStatus(orderPackageCode,status);
}
} }

58
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -23,6 +23,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.logpm.basic.entity.BasicTenantCodeEntity;
import com.logpm.basic.feign.IBasicTenantCodeClient;
import com.logpm.basicdata.entity.BasicdataClientUserEntity; import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient; import com.logpm.basicdata.feign.IBasicdataClientClient;
@ -75,6 +77,8 @@ import org.springblade.common.constant.Inventory.InventoryTypeConstant;
import org.springblade.common.constant.ModuleNameConstant; import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.common.constant.RabbitConstant; import org.springblade.common.constant.RabbitConstant;
import org.springblade.common.constant.WorkNodeEnums; import org.springblade.common.constant.WorkNodeEnums;
import org.springblade.common.constant.basiccode.BasicCodeShowConstant;
import org.springblade.common.constant.basiccode.BasicCodeTypeConstant;
import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.common.IsOrNoConstant;
import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant; import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant;
import org.springblade.common.constant.delivery.DeliveryStartStatusConstant; import org.springblade.common.constant.delivery.DeliveryStartStatusConstant;
@ -285,6 +289,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Autowired @Autowired
private IDistributionNodeWorkService distributionNodeWorkService; private IDistributionNodeWorkService distributionNodeWorkService;
@Autowired
private IBasicTenantCodeClient basicTenantCodeClient;
@Override @Override
public IPage<DistributionReservationVO> selectDistrbutionReservationPage(IPage<DistributionReservationVO> page, DistributionReservationVO distrbutionReservation) { public IPage<DistributionReservationVO> selectDistrbutionReservationPage(IPage<DistributionReservationVO> page, DistributionReservationVO distrbutionReservation) {
@ -897,7 +904,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
public String bianMa() { public String bianMa() {
// String code ="BH"; // String code ="BH";
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("BH"); BasicTenantCodeEntity basicTenantCodeByCodeAndShowType = basicTenantCodeClient.findBasicTenantCodeByCodeAndShowType(BasicCodeTypeConstant.STOCK_CODE.getValue(), BasicCodeShowConstant.QR_CODE.getValue());
String tenantCode = "BH";
if (ObjectUtils.isNull(basicTenantCodeByCodeAndShowType)) {
log.error("获取货区码失败");
} else {
tenantCode = basicTenantCodeByCodeAndShowType.getCode();
}
sb.append(tenantCode);
BladeUser user = AuthUtil.getUser(); BladeUser user = AuthUtil.getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String format1 = format.format(new Date()); String format1 = format.format(new Date());
@ -905,13 +919,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (ObjectUtil.isNotEmpty(warehouseByDepartment)) { if (ObjectUtil.isNotEmpty(warehouseByDepartment)) {
sb.append(warehouseByDepartment.getWarehouseCode()); sb.append(warehouseByDepartment.getWarehouseCode());
sb.append(format1); sb.append(format1);
String s = "BH" + warehouseByDepartment.getWarehouseCode(); String s = tenantCode + warehouseByDepartment.getWarehouseCode();
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} else { } else {
sb.append("00000"); sb.append("00000");
sb.append(format1); sb.append(format1);
String s = "BH" + "00000"; String s = tenantCode + "00000";
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} }
@ -921,7 +935,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Override @Override
public String reservationMa() { public String reservationMa() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("YY"); BasicTenantCodeEntity basicTenantCodeByCodeAndShowType = basicTenantCodeClient.findBasicTenantCodeByCodeAndShowType(BasicCodeTypeConstant.APPOINTMENT_CODE.getValue(), BasicCodeShowConstant.QR_CODE.getValue());
String tenantCode = "YY";
if (ObjectUtils.isNull(basicTenantCodeByCodeAndShowType)) {
log.error("获取货区码失败");
} else {
tenantCode = basicTenantCodeByCodeAndShowType.getCode();
}
sb.append(tenantCode);
BladeUser user = AuthUtil.getUser(); BladeUser user = AuthUtil.getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String format1 = format.format(new Date()); String format1 = format.format(new Date());
@ -929,13 +950,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (ObjectUtil.isNotEmpty(warehouseByDepartment)) { if (ObjectUtil.isNotEmpty(warehouseByDepartment)) {
sb.append(warehouseByDepartment.getWarehouseCode()); sb.append(warehouseByDepartment.getWarehouseCode());
sb.append(format1); sb.append(format1);
String s = "YY" + warehouseByDepartment.getWarehouseCode(); String s = tenantCode + warehouseByDepartment.getWarehouseCode();
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} else { } else {
sb.append("00000"); sb.append("00000");
sb.append(format1); sb.append(format1);
String s = "YY" + "00000"; String s = tenantCode + "00000";
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} }
@ -945,7 +966,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Override @Override
public String retentionMa() { public String retentionMa() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("HK"); BasicTenantCodeEntity basicTenantCodeByCodeAndShowType = basicTenantCodeClient.findBasicTenantCodeByCodeAndShowType(BasicCodeTypeConstant.APPOINTMENT_CODE.getValue(), BasicCodeShowConstant.QR_CODE.getValue());
String tenantCode = "HK";
if (ObjectUtils.isNull(basicTenantCodeByCodeAndShowType)) {
log.error("获取货区码失败");
} else {
tenantCode = basicTenantCodeByCodeAndShowType.getCode();
}
BladeUser user = AuthUtil.getUser(); BladeUser user = AuthUtil.getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String format1 = format.format(new Date()); String format1 = format.format(new Date());
@ -953,13 +980,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (ObjectUtil.isNotEmpty(warehouseByDepartment)) { if (ObjectUtil.isNotEmpty(warehouseByDepartment)) {
sb.append(warehouseByDepartment.getWarehouseCode()); sb.append(warehouseByDepartment.getWarehouseCode());
sb.append(format1); sb.append(format1);
String s = "YY" + warehouseByDepartment.getWarehouseCode(); String s = tenantCode + warehouseByDepartment.getWarehouseCode();
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} else { } else {
sb.append("00000"); sb.append("00000");
sb.append(format1); sb.append(format1);
String s = "YY" + "00000"; String s = tenantCode + "00000";
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} }
@ -994,7 +1021,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Override @Override
public String trainNumberMa() { public String trainNumberMa() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("PSCC"); String tenantCode = "HK";
BasicTenantCodeEntity basicTenantCodeByCodeAndShowType = basicTenantCodeClient.findBasicTenantCodeByCodeAndShowType(BasicCodeTypeConstant.DELIVERY_PLAN_CODE.getValue(), BasicCodeShowConstant.QR_CODE.getValue());
if (ObjectUtils.isNull(basicTenantCodeByCodeAndShowType)) {
log.error("获取货区码失败");
} else {
tenantCode = basicTenantCodeByCodeAndShowType.getCode();
}
sb.append(tenantCode);
BladeUser user = AuthUtil.getUser(); BladeUser user = AuthUtil.getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String format1 = format.format(new Date()); String format1 = format.format(new Date());
@ -1002,13 +1036,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (ObjectUtil.isNotEmpty(warehouseByDepartment)) { if (ObjectUtil.isNotEmpty(warehouseByDepartment)) {
sb.append(warehouseByDepartment.getWarehouseCode()); sb.append(warehouseByDepartment.getWarehouseCode());
sb.append(format1); sb.append(format1);
String s = "PSCC" + warehouseByDepartment.getWarehouseCode(); String s = tenantCode + warehouseByDepartment.getWarehouseCode();
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} else { } else {
sb.append("00000"); sb.append("00000");
sb.append(format1); sb.append(format1);
String s = "PSCC" + "00000"; String s = tenantCode + "00000";
String s1 = jiShuan(s); String s1 = jiShuan(s);
sb.append(s1); sb.append(s1);
} }

35
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -5385,8 +5385,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (Objects.isNull(myCurrentWarehouse)) { if (Objects.isNull(myCurrentWarehouse)) {
return R.fail(403, "仓库信息不能为空"); return R.fail(403, "仓库信息不能为空");
} }
WarehouseConfigEntity warehouseConfig = warehouseConfigClient.getWarehouseConfig(myCurrentWarehouse.getId());
Integer isStrictLoading = 0; Integer isStrictLoading = 0;
WarehouseConfigEntity warehouseConfig = warehouseConfigClient.getWarehouseConfig(myCurrentWarehouse.getId());
if (!Objects.isNull(warehouseConfig)){
//开启强制装车无法使用此功能
isStrictLoading = warehouseConfig.getIsStrictLoading() != null?warehouseConfig.getIsStrictLoading():0;
}
List<DistributionLoadscanAbnormalEntity> abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.<DistributionLoadscanAbnormalEntity>query().lambda() List<DistributionLoadscanAbnormalEntity> abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.<DistributionLoadscanAbnormalEntity>query().lambda()
.eq(DistributionLoadscanAbnormalEntity::getReservationId, distributionSignfor.getReservationId()) .eq(DistributionLoadscanAbnormalEntity::getReservationId, distributionSignfor.getReservationId())
.ne(DistributionLoadscanAbnormalEntity::getComplete, Integer.parseInt(IsOrNoConstant.yes.getValue())) .ne(DistributionLoadscanAbnormalEntity::getComplete, Integer.parseInt(IsOrNoConstant.yes.getValue()))
@ -5476,7 +5480,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (!packageLoadingData.isEmpty()) { if (!packageLoadingData.isEmpty()) {
receivedQuantity += packageLoadingData.stream().mapToInt(DistributionLoadscanEntity::getPackageNub).sum(); receivedQuantity += packageLoadingData.stream().mapToInt(DistributionLoadscanEntity::getPackageNub).sum();
//进行订制品和零担的批量签收 //进行订制品和零担的批量签收
handlePackageLoadingData(packageLoadingData, user, distributionLoadscanEntityLists, orderCodes); handlePackageLoadingData(packageLoadingData, user, distributionLoadscanEntityLists, orderCodes,distributionDeliveryListEntity,reservationEntity,myCurrentWarehouse,packageCodes,aaa);
} }
if (!inventoryLoadingData.isEmpty()) { if (!inventoryLoadingData.isEmpty()) {
@ -5492,6 +5496,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
builder.append(distributionSignforEntity.getDriverRemarks()).append(deliverySelfEntity.getDriverName() + ":" + distributionSignfor.getDriverRemarks()); builder.append(distributionSignforEntity.getDriverRemarks()).append(deliverySelfEntity.getDriverName() + ":" + distributionSignfor.getDriverRemarks());
distributionSignforEntity.setDriverRemarks(builder.toString()); distributionSignforEntity.setDriverRemarks(builder.toString());
} }
if (!aaa.isEmpty()){
trunklinePackageTrackLogClient.addPackageTrackLog(aaa);
}
} else { } else {
if (deliverySelfEntity.getIsMaster().equals(1)) { if (deliverySelfEntity.getIsMaster().equals(1)) {
return Resp.scanFail("操作失败", "当前操作由主司机操作"); return Resp.scanFail("操作失败", "当前操作由主司机操作");
@ -5822,6 +5829,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntity.setOneClick(2); loadscanEntity.setOneClick(2);
loadscanEntity.setOneQclick(2); loadscanEntity.setOneQclick(2);
loadscanEntity.setSigningTime(signingTime); loadscanEntity.setSigningTime(signingTime);
loadscanEntity.setWarehouseId(myCurrentWarehouse.getId());
loadscanEntity.setWarehouseName(myCurrentWarehouse.getName());
if (distributionSignfor.getIsClerk()) { if (distributionSignfor.getIsClerk()) {
loadscanEntity.setMsg("文员一键签收数据补录"); loadscanEntity.setMsg("文员一键签收数据补录");
} else { } else {
@ -5839,7 +5848,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
jsonObject.put("remark", "批量签收下架"); jsonObject.put("remark", "批量签收下架");
jsonObjects.add(jsonObject); jsonObjects.add(jsonObject);
content = "包件在" + myCurrentWarehouse.getName() + "由" + loadscanEntity.getSigningUser() + "司机批量签收,装车方式:扫描装车,配送车次号:" + distributionDeliveryListEntity.getTrainNumber() + "预约任务号:" + reservationEntity.getReservationCode(); content = "包件在" + myCurrentWarehouse.getName() + "由" + loadscanEntity.getSigningUser() + "司机批量签收,装车方式:扫描装车,配送车次号:" + distributionDeliveryListEntity.getTrainNumber() + "预约任务号:" + reservationEntity.getReservationCode();
trunklinePackageTrackLog = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), parcelListEntity.getOrderPackageCode(), content, WorkNodeEnums.DISTRIBUTION_ABNORMAL_SIGN_FOR.getCode(), distributionDeliveryListEntity.getTrainNumber(), parcelListEntity.getWarehouseEntryTimeEnd()); trunklinePackageTrackLog = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), parcelListEntity.getOrderPackageCode(), content, WorkNodeEnums.DISTRIBUTION_SIGN_FOR.getCode(), distributionDeliveryListEntity.getTrainNumber(), parcelListEntity.getWarehouseEntryTimeEnd());
//distributionAsyncService.sendFactory(parcelListEntity, loadscanEntity.getSigningTime(), reservationEntity.getId(), reservationEntity.getReservationCode(), myCurrentWarehouse.getName(), user.getNickName()); //distributionAsyncService.sendFactory(parcelListEntity, loadscanEntity.getSigningTime(), reservationEntity.getId(), reservationEntity.getReservationCode(), myCurrentWarehouse.getName(), user.getNickName());
sendNodeWorkDataBroadcast(parcelListEntity, reservationEntity, loadscanEntity.getSigningTime(), myCurrentWarehouse); sendNodeWorkDataBroadcast(parcelListEntity, reservationEntity, loadscanEntity.getSigningTime(), myCurrentWarehouse);
} else { } else {
@ -5859,7 +5868,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntityLists.add(loadscanEntities); distributionLoadscanEntityLists.add(loadscanEntities);
packageLockIds.add(loadscanEntities.getPackageId()); packageLockIds.add(loadscanEntities.getPackageId());
content = "包件在" + myCurrentWarehouse.getName() + "由" + loadscanEntities.getSigningUser() + "司机批量签收,装车方式:补录装车,配送车次号:" + distributionDeliveryListEntity.getTrainNumber() + "预约任务号:" + reservationEntity.getReservationCode(); content = "包件在" + myCurrentWarehouse.getName() + "由" + loadscanEntities.getSigningUser() + "司机批量签收,装车方式:补录装车,配送车次号:" + distributionDeliveryListEntity.getTrainNumber() + "预约任务号:" + reservationEntity.getReservationCode();
trunklinePackageTrackLog = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), parcelListEntity.getOrderPackageCode(), content, WorkNodeEnums.DISTRIBUTION_ABNORMAL_SIGN_FOR.getCode(), distributionDeliveryListEntity.getId().toString(), parcelListEntity.getWarehouseEntryTimeEnd()); trunklinePackageTrackLog = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), parcelListEntity.getOrderPackageCode(), content, WorkNodeEnums.DISTRIBUTION_SIGN_FOR.getCode(), distributionDeliveryListEntity.getId().toString(), parcelListEntity.getWarehouseEntryTimeEnd());
// 节点作业推送 // 节点作业推送
sendNodeWorkDataBroadcast(parcelListEntity, reservationEntity, loadscanEntities.getSigningTime(), myCurrentWarehouse); sendNodeWorkDataBroadcast(parcelListEntity, reservationEntity, loadscanEntities.getSigningTime(), myCurrentWarehouse);
} }
@ -6007,7 +6016,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
} }
private void handlePackageLoadingData(List<DistributionLoadscanEntity> packageLoadingData, BladeUser user, List<DistributionLoadscanEntity> distributionLoadscanEntityLists, List<String> orderCodes) { private void handlePackageLoadingData(List<DistributionLoadscanEntity> packageLoadingData,
BladeUser user,
List<DistributionLoadscanEntity> distributionLoadscanEntityLists,
List<String> orderCodes,DistributionDeliveryListEntity deliveryListEntity,
DistributionReservationEntity reservationEntity,
BasicdataWarehouseEntity myCurrentWarehouse,
List<String> orderPckageCodes,
List<JSONObject> aaa ) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<DistributionLoadscanEntity> updatePackageLoadingData = new ArrayList<>(); List<DistributionLoadscanEntity> updatePackageLoadingData = new ArrayList<>();
List<Long> packageIds = new ArrayList<>(); List<Long> packageIds = new ArrayList<>();
@ -6026,8 +6042,15 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
updatePackageLoadingData.add(packageLoadingDatum); updatePackageLoadingData.add(packageLoadingDatum);
distributionLoadscanEntityLists.add(packageLoadingDatum); distributionLoadscanEntityLists.add(packageLoadingDatum);
if (Integer.parseInt(IsOrNoConstant.no.getValue()) == packageLoadingDatum.getIsZero()) { if (Integer.parseInt(IsOrNoConstant.no.getValue()) == packageLoadingDatum.getIsZero()) {
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(packageLoadingDatum.getPackageId());
//非零担标注出库 //非零担标注出库
packageIds.add(packageLoadingDatum.getPackageId()); packageIds.add(packageLoadingDatum.getPackageId());
String content = "包件在" + myCurrentWarehouse.getName() + "由" + packageLoadingDatum.getSigningUser() + "司机批量签收,装车方式:补录装车,配送车次号:" + deliveryListEntity.getTrainNumber() + "预约任务号:" + reservationEntity.getReservationCode();
JSONObject trunklinePackageTrackLog = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), packageLoadingDatum.getOrderPackageCode(), content, WorkNodeEnums.DISTRIBUTION_SIGN_FOR.getCode(), deliveryListEntity.getId().toString(), parcelListEntity.getWarehouseEntryTimeEnd());
// 节点作业推送
sendNodeWorkDataBroadcast(parcelListEntity, reservationEntity, packageLoadingDatum.getSigningTime(), myCurrentWarehouse);
orderPckageCodes.add(parcelListEntity.getOrderPackageCode());
aaa.add(trunklinePackageTrackLog);
} else { } else {
//查询出对应的零担包件 //查询出对应的零担包件
DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda() DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda()
@ -6054,7 +6077,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
orderCodes.addAll(distributionStockArticleEntities.stream().map(DistributionStockArticleEntity::getOrderCode).collect(Collectors.toList())); orderCodes.addAll(distributionStockArticleEntities.stream().map(DistributionStockArticleEntity::getOrderCode).collect(Collectors.toList()));
} }
} }
//查询所有订单
} }

88
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -29,6 +29,8 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basic.entity.BasicTenantCodeEntity;
import com.logpm.basic.feign.IBasicTenantCodeClient;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.bean.Resp; import com.logpm.distribution.bean.Resp;
@ -84,6 +86,8 @@ import org.apache.logging.log4j.util.Strings;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springblade.common.constant.*; import org.springblade.common.constant.*;
import org.springblade.common.constant.Inventory.*; import org.springblade.common.constant.Inventory.*;
import org.springblade.common.constant.basiccode.BasicCodeShowConstant;
import org.springblade.common.constant.basiccode.BasicCodeTypeConstant;
import org.springblade.common.constant.billLading.BillLadingStatusConstant; import org.springblade.common.constant.billLading.BillLadingStatusConstant;
import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.common.IsOrNoConstant;
import org.springblade.common.constant.order.OrderReservationStatusConstant; import org.springblade.common.constant.order.OrderReservationStatusConstant;
@ -116,6 +120,7 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache; import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.User; import org.springblade.system.entity.User;
@ -225,6 +230,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
@Autowired @Autowired
private IWarehouseConfigClient warehouseConfigClient; private IWarehouseConfigClient warehouseConfigClient;
@Autowired
private IBasicTenantCodeClient basicTenantCodeClient;
@Override @Override
public IPage<DistrilbutionBillLadingVO> selectDistrilbutionBillLadingPage(IPage<DistrilbutionBillLadingVO> page, DistrilbutionBillLadingVO distrilbutionBillLading) { public IPage<DistrilbutionBillLadingVO> selectDistrilbutionBillLadingPage(IPage<DistrilbutionBillLadingVO> page, DistrilbutionBillLadingVO distrilbutionBillLading) {
@ -632,8 +640,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distrilbutionBillLading.setStockupCode(distributionReservationService.bianMa()); distrilbutionBillLading.setStockupCode(distributionReservationService.bianMa());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String format = dateFormat.format(new Date()); distrilbutionBillLading.setPickupBatch(billMa());//批次号
distrilbutionBillLading.setPickupBatch("ZT" + format);//批次号
if (ObjectUtils.isNull(myCurrentWarehouse)) { if (ObjectUtils.isNull(myCurrentWarehouse)) {
throw new ServiceException("请选择仓库在操作!!!"); throw new ServiceException("请选择仓库在操作!!!");
} }
@ -4494,6 +4501,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
isZeroType = true; isZeroType = true;
} }
distrilbutionBillLading.setWarehouseName(warehouse.getName()); distrilbutionBillLading.setWarehouseName(warehouse.getName());
if (!Objects.isNull(distrilbutionBillLading.getConsigneeUnit())){
String consigneeUnit = distrilbutionBillLading.getConsigneeUnit();
distrilbutionBillLading.setConsigneeUnit(consigneeUnit);
}
this.save(distrilbutionBillLading); this.save(distrilbutionBillLading);
//新增自提日志 //新增自提日志
// 创建备货任务 // 创建备货任务
@ -4998,4 +5010,76 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
} }
public String billMa() {
StringBuilder sb = new StringBuilder();
String tenantCode = "ZT";
BasicTenantCodeEntity basicTenantCodeByCodeAndShowType = basicTenantCodeClient.findBasicTenantCodeByCodeAndShowType(BasicCodeTypeConstant.DELIVERY_PLAN_CODE.getValue(), BasicCodeShowConstant.QR_CODE.getValue());
if (ObjectUtils.isNull(basicTenantCodeByCodeAndShowType)) {
log.error("获取货区码失败");
} else {
tenantCode = basicTenantCodeByCodeAndShowType.getCode();
}
sb.append(tenantCode);
BladeUser user = AuthUtil.getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String format1 = format.format(new Date());
BasicdataWarehouseEntity warehouseByDepartment = basicdataWarehouseClient.getMyCurrentWarehouse();
if (ObjectUtil.isNotEmpty(warehouseByDepartment)) {
sb.append(warehouseByDepartment.getWarehouseCode());
sb.append(format1);
String s = tenantCode + warehouseByDepartment.getWarehouseCode();
String s1 = jiShuan(s);
sb.append(s1);
} else {
sb.append("00000");
sb.append(format1);
String s = tenantCode + "00000";
String s1 = jiShuan(s);
sb.append(s1);
}
return sb.toString();
}
private String jiShuan(String s) {
String n = "00001";
if (Func.notNull(redis.get(s))) {
Object o1 = redis.get(s);
int anInt = Integer.parseInt(String.valueOf(o1));
if (anInt < 10) {
if (anInt + 1 == 10) {
n = String.format("000%d", anInt + 1);
} else {
n = String.format("0000%d", anInt + 1);
}
} else if (anInt < 100) {
if (anInt + 1 == 100) {
n = String.format("00%d", anInt + 1);
} else {
n = String.format("000%d", anInt + 1);
}
} else if (anInt < 1000) {
if (anInt + 1 == 1000) {
n = String.format("0%d", anInt + 1);
} else {
n = String.format("00%d", anInt + 1);
}
} else if (anInt < 10000) {
if (anInt + 1 == 10000) {
n = String.format("%d", anInt + 1);
} else {
n = String.format("0%d", anInt + 1);
}
} else {
n = String.valueOf(anInt + 1);
}
redis.set(s, n);
return n;
} else {
redis.set(s, n);
return n;
}
}
} }

10
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/FactoryNodePushEntity.java

@ -50,11 +50,21 @@ public class FactoryNodePushEntity extends BaseEntity {
*/ */
@ApiModelProperty(name = "预留5", notes = "") @ApiModelProperty(name = "预留5", notes = "")
private String reserve5; private String reserve5;
/**
* 类型仓配stock/干线carrier
*/
@ApiModelProperty(name = "类型(仓配stock/干线carrier)", notes = "")
private String type;
/** /**
* 订单号 * 订单号
*/ */
@ApiModelProperty(name = "订单号", notes = "") @ApiModelProperty(name = "订单号", notes = "")
private String orderCode; private String orderCode;
/**
* 仓库
*/
@ApiModelProperty(name = "仓库", notes = "")
private String warehouse;
/** /**
* 运单 * 运单
*/ */

1
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/enums/NodeNeedEnums.java

@ -21,6 +21,7 @@ public enum NodeNeedEnums implements Serializable {
* 包件入库 * 包件入库
*/ */
// END_WAREHOUSE_UNLOADING(105040, "末端仓卸车确认"), // END_WAREHOUSE_UNLOADING(105040, "末端仓卸车确认"),
INITIAL_WAREHOUSE_ENTRY(101020, "始发仓入库"),
UNLOAD_INCOMING_WAREHOUSE(105010, "卸车入库"), UNLOAD_INCOMING_WAREHOUSE(105010, "卸车入库"),
; ;

9
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java

@ -214,6 +214,8 @@ public class NodeDataPushListener {
// 保存推送记录 // 保存推送记录
factoryNodePushService.save(FactoryNodePushEntity.builder() factoryNodePushService.save(FactoryNodePushEntity.builder()
.orderCode(orderCode) .orderCode(orderCode)
.type(arriveFor)
.warehouse(StrUtil.equals(arriveFor, "stock") ? filterDatum.getWarehouseName() : null)
.node(FactoryNodeEnums.END_WAREHOUSE_UNLOADING.getCode().toString()) .node(FactoryNodeEnums.END_WAREHOUSE_UNLOADING.getCode().toString())
.content(JSONUtil.toJsonStr(js)) .content(JSONUtil.toJsonStr(js))
.packageCode(packageCode) .packageCode(packageCode)
@ -269,6 +271,9 @@ public class NodeDataPushListener {
// 保存推送记录 // 保存推送记录
factoryNodePushService.save(FactoryNodePushEntity.builder() factoryNodePushService.save(FactoryNodePushEntity.builder()
.orderCode(sendOrderCode) .orderCode(sendOrderCode)
.type(arriveFor)
// 仓配数据记录仓库
.warehouse(StrUtil.equals(arriveFor, "stock") ? filterDatum.getWarehouseName() : null)
.transportNo(transportNo) .transportNo(transportNo)
.node(FactoryNodeEnums.FINAL_NET_ARRIVE_CAR.getCode().toString()) .node(FactoryNodeEnums.FINAL_NET_ARRIVE_CAR.getCode().toString())
.content(JSONUtil.toJsonStr(js)) .content(JSONUtil.toJsonStr(js))
@ -294,8 +299,8 @@ public class NodeDataPushListener {
.exchange(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH_DELAYED) .exchange(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH_DELAYED)
.routingKey(FactoryDataConstants.Mq.RoutingKeys.JP_NODE_DATA_PUSH) .routingKey(FactoryDataConstants.Mq.RoutingKeys.JP_NODE_DATA_PUSH)
.message(JSONUtil.toJsonStr(nodePushMsg, HutoolConfigUtil.jsonConfigByDataTimeFormat())) .message(JSONUtil.toJsonStr(nodePushMsg, HutoolConfigUtil.jsonConfigByDataTimeFormat()))
// 3-10秒随机 // 30-109秒随机
.delay(1000 * RandomUtil.randomInt(3, 11)) .delay(1000 * RandomUtil.randomInt(30, 110))
.build()); .build());
} }
} }

6
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java

@ -479,8 +479,10 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
} }
advanceDetailEntity.setSiteName(IDict.getTextByCode(BusSourceEnums.class, order.getBusSource())); advanceDetailEntity.setSiteName(IDict.getTextByCode(BusSourceEnums.class, order.getBusSource()));
advanceDetailEntity.setSiteCode(""); advanceDetailEntity.setSiteCode("");
String planQty = orderPackageDTO.getGoodsNum(); // String planQty = orderPackageDTO.getGoodsNum();
advanceDetailEntity.setQuantity((StrUtil.isNotBlank(planQty) && NumberUtil.isNumber(planQty)) ? Convert.toInt(planQty) : 0); // 包件数量默认 1
advanceDetailEntity.setQuantity(1);
// advanceDetailEntity.setQuantity((StrUtil.isNotBlank(planQty) && NumberUtil.isNumber(planQty)) ? Convert.toInt(planQty) : 1);
advanceDetailEntity.setOrderPackageCode(orderPackageDTO.getExtBoxCode()); advanceDetailEntity.setOrderPackageCode(orderPackageDTO.getExtBoxCode());
advanceDetailEntity.setTrainNumber(""); advanceDetailEntity.setTrainNumber("");
advanceDetailEntity.setServiceNum(orderInfo.getOmsExtYsId()); advanceDetailEntity.setServiceNum(orderInfo.getOmsExtYsId());

26
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/controller/MerchantBalanceController.java

@ -181,4 +181,30 @@ public class MerchantBalanceController {
} }
@ResponseBody
@PostMapping("/enterBalance")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "确认结算", notes = "传入balanceRecordDTO")
public R enterBalance(@RequestBody StatisticsBalanceRecordDTO balanceRecordDTO) {
String method = "############enterBalance: ";
log.info(method+"请求参数{}",balanceRecordDTO);
try{
Long balanceOrderInfoId = balanceRecordDTO.getBalanceOrderInfoId();
if(Objects.isNull(balanceOrderInfoId)){
log.warn(method+"请选择正确的结算单 balanceOrderInfoId={}",balanceOrderInfoId);
return R.fail(405,"请选择正确的结算单");
}
return balanceOrderInfoService.enterBalance(balanceRecordDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
} }

10
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/feign/OrderInfoClient.java

@ -23,4 +23,14 @@ public class OrderInfoClient implements IOrderInfoClient{
return rencilitionStatus; return rencilitionStatus;
} }
@Override
public Integer findBalanceOrderStatus(Long waybillId) {
return orderInfoService.findBalanceOrderStatus(waybillId);
}
@Override
public void deleteWaybillData(Long waybillId) {
orderInfoService.orderInfoService(waybillId);
}
} }

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillCheckListener.java

@ -697,7 +697,7 @@ public class WaybillCheckListener {
distributionPackageEntity.setWaybillNo(waybillNo); distributionPackageEntity.setWaybillNo(waybillNo);
distributionPackageEntity.setOrderCode(orderCode); distributionPackageEntity.setOrderCode(orderCode);
distributionPackageEntity.setProductName(productName); distributionPackageEntity.setProductName(productName);
distributionPackageEntity.setProductId(String.valueOf(productId)); distributionPackageEntity.setProductId(productId);
distributionPackageEntity.setOrderPackageCode(orderPackageCode); distributionPackageEntity.setOrderPackageCode(orderPackageCode);
distributionPackageEntity.setNum(quantity); distributionPackageEntity.setNum(quantity);
distributionPackageEntity.setWeight(Objects.isNull(weight) ? BigDecimal.ZERO : weight); distributionPackageEntity.setWeight(Objects.isNull(weight) ? BigDecimal.ZERO : weight);

6
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.java

@ -8,8 +8,14 @@ import com.logpm.statistics.vo.StatisticsBalanceOrderInfoVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
@Mapper @Mapper
public interface StatisticsBalanceOrderInfoMapper extends BaseMapper<StatisticsBalanceOrderInfoEntity> { public interface StatisticsBalanceOrderInfoMapper extends BaseMapper<StatisticsBalanceOrderInfoEntity> {
IPage<StatisticsBalanceOrderInfoVO> pageList(IPage<Object> page, @Param("param") MerchantStatisticsDTO merchantStatisticsDTO); IPage<StatisticsBalanceOrderInfoVO> pageList(IPage<Object> page, @Param("param") MerchantStatisticsDTO merchantStatisticsDTO);
BigDecimal findHasBalanceFeeByBalanceOrderIds(@Param("balanceOrderIds") List<Long> balanceOrderIds);
void deleteBanlanceOrderByIds(@Param("balanceOrderIds") List<Long> balanceOrderIds);
} }

18
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml

@ -56,4 +56,22 @@
</select> </select>
<select id="findHasBalanceFeeByBalanceOrderIds" resultType="java.math.BigDecimal">
select sum(IFNULL(has_balance_fee,0))
from logpm_statistics_balance_order_info
where id in
<foreach collection="balanceOrderIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<delete id="deleteBanlanceOrderByIds" >
delete from logpm_statistics_balance_order_info
where id in
<foreach collection="balanceOrderIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
</mapper> </mapper>

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.java

@ -10,4 +10,6 @@ import java.util.List;
@Mapper @Mapper
public interface StatisticsDistributionPackageMapper extends BaseMapper<StatisticsDistributionPackageEntity> { public interface StatisticsDistributionPackageMapper extends BaseMapper<StatisticsDistributionPackageEntity> {
void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List<Long> orderInfoIdsList); void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List<Long> orderInfoIdsList);
void deleteDataByWaybillId(@Param("waybillId") Long waybillId);
} }

5
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.xml

@ -10,4 +10,9 @@
</foreach> </foreach>
</delete> </delete>
<delete id="deleteDataByWaybillId" >
delete from logpm_statistics_distribution_package
where waybill_id = #{waybillId}
</delete>
</mapper> </mapper>

6
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.java

@ -39,4 +39,10 @@ public interface StatisticsOrderInfoMapper extends BaseMapper<StatisticsOrderInf
List<StatisticsOrderInfoExportVO> orderInfoListExport(@Param("param") MerchantStatisticsDTO merchantStatisticsDTO); List<StatisticsOrderInfoExportVO> orderInfoListExport(@Param("param") MerchantStatisticsDTO merchantStatisticsDTO);
List<WaybillDetailByWaybillNoVo> findWaybillDetailByWaybillId(@Param("warehouseIdSet") Set<Long> warehouseIdSet); List<WaybillDetailByWaybillNoVo> findWaybillDetailByWaybillId(@Param("warehouseIdSet") Set<Long> warehouseIdSet);
List<Long> findBalanceOrderIdListByWaybillId(@Param("waybillId") Long waybillId);
List<Long> findRencilitionOrderIdsByWaybillId(@Param("waybillId") Long waybillId);
void deleteDataByWaybillId(@Param("waybillId") Long waybillId);
} }

340
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml

@ -4,46 +4,49 @@
<select id="pageList" resultType="com.logpm.statistics.vo.StatisticsOrderInfoVO"> <select id="pageList" resultType="com.logpm.statistics.vo.StatisticsOrderInfoVO">
select lsoi.id orderInfoId, select lsoi.id orderInfoId,
lsoi.brand_id brandId, lsoi.brand_id brandId,
lsoi.brand brand, lsoi.brand brand,
lsoi.waybill_id waybillId, lsoi.waybill_id waybillId,
lsoi.waybill_no waybillNo, lsoi.waybill_no waybillNo,
lsoi.order_code orderCode, lsoi.order_code orderCode,
lsoi.type_service typeService, lsoi.type_service typeService,
lww.shipper shipper, lww.shipper shipper,
lww.shipper_name shipperPerson, lww.shipper_name shipperPerson,
lww.shipper_mobile shipperMobile, lww.shipper_mobile shipperMobile,
lww.shipper_address shipperAddress, lww.shipper_address shipperAddress,
lww.consignee consignee, lww.consignee consignee,
lww.consignee_name consigneePerson, lww.consignee_name consigneePerson,
lww.consignee_mobile consigneeMobile, lww.consignee_mobile consigneeMobile,
lww.consignee_address consigneeAddress, lww.consignee_address consigneeAddress,
concat(GROUP_CONCAT(lwwd.product_name)) as goodsName, concat(GROUP_CONCAT(lwwd.product_name)) as goodsName,
lsoi.sign_status signStatus, concat(
lsoi.sign_date signDate, group_concat( lwwd.num )) AS goodsNum,
lww.create_time openTime, concat(
lww.departure departure, group_concat( lwwd.price )) AS goodsPrice,
lww.destination destination, lsoi.sign_status signStatus,
lsoi.departure_warehouse_id departureWarehouseId, lsoi.sign_date signDate,
lsoi.departure_warehouse_name departureWarehouseName, lww.create_time openTime,
lsoi.destination_warehouse_id destinationWarehouseId, lww.departure departure,
lsoi.destination_warehouse_name destinationWarehouseName, lww.destination destination,
lww.delivery_method deliveryMethod, lsoi.departure_warehouse_id departureWarehouseId,
lww.customer_train customerTrain, lsoi.departure_warehouse_name departureWarehouseName,
lww.pay_type payType, lsoi.destination_warehouse_id destinationWarehouseId,
lww.pay_way payWay, lsoi.destination_warehouse_name destinationWarehouseName,
lsoi.create_reconciliation_order_status createReconciliationOrderStatus, lww.delivery_method deliveryMethod,
lsoi.create_reconciliation_user_name createReconciliationUserName, lww.customer_train customerTrain,
lsoi.create_reconciliation_date createReconciliationDate, lww.pay_type payType,
lsoi.cycle cycle, lww.pay_way payWay,
lsoi.warehouse_fee_interval warehouseFeeInterval, lsoi.create_reconciliation_order_status createReconciliationOrderStatus,
lsoi.sync_fee_status syncFeeStatus, lsoi.create_reconciliation_user_name createReconciliationUserName,
lsoi.sync_fee_date syncFeeDate, lsoi.create_reconciliation_date createReconciliationDate,
lbc.clean_obj_type cleanObjType lsoi.cycle cycle,
lsoi.warehouse_fee_interval warehouseFeeInterval,
lsoi.sync_fee_status syncFeeStatus,
lsoi.sync_fee_date syncFeeDate,
lbc.clean_obj_type cleanObjType
from logpm_statistics_order_info lsoi from logpm_statistics_order_info lsoi
left join logpm_basicdata_client lbc on lbc.id = lsoi.consignee_id left join logpm_basicdata_client lbc on lbc.id = lsoi.consignee_id
left join logpm_warehouse_waybill lww on lww.id = lsoi.waybill_id left join logpm_warehouse_waybill lww on lww.id = lsoi.waybill_id
LEFT JOIN logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id=lww.id
where 1=1 where 1=1
and lsoi.create_reconciliation_order_status = 0 and lsoi.create_reconciliation_order_status = 0
<if test="param.listType == 1"> <if test="param.listType == 1">
@ -135,10 +138,10 @@
lsoi.waybill_no waybillNo, lsoi.waybill_no waybillNo,
lsoi.order_code orderCode, lsoi.order_code orderCode,
case when lsoi.type_service=1 then '商配' case when lsoi.type_service=1 then '商配'
when lsoi.type_service=2 then '市配' when lsoi.type_service=2 then '市配'
when lsoi.type_service=3 then '自提' when lsoi.type_service=3 then '自提'
when lsoi.type_service=4 then '三方中转' when lsoi.type_service=4 then '三方中转'
else '未知' end typeService, else '未知' end typeService,
lww.shipper shipper, lww.shipper shipper,
lww.shipper_name shipperPerson, lww.shipper_name shipperPerson,
lww.shipper_mobile shipperMobile, lww.shipper_mobile shipperMobile,
@ -148,8 +151,8 @@
lww.consignee_mobile consigneeMobile, lww.consignee_mobile consigneeMobile,
lww.consignee_address consigneeAddress, lww.consignee_address consigneeAddress,
case when lsoi.sign_status=0 then '未签收' case when lsoi.sign_status=0 then '未签收'
when lsoi.sign_status=1 then '已签收' when lsoi.sign_status=1 then '已签收'
else '未知' end signStatus, else '未知' end signStatus,
lsoi.sign_date signDate, lsoi.sign_date signDate,
lww.create_time openTime, lww.create_time openTime,
lww.departure departure, lww.departure departure,
@ -304,111 +307,113 @@
</select> </select>
<select id="findStatementListByOrderInfoIds" resultType="com.logpm.statistics.vo.StatisticsOrderInfoVO"> <select id="findStatementListByOrderInfoIds" resultType="com.logpm.statistics.vo.StatisticsOrderInfoVO">
select lsoi.id orderInfoId, select lsoi.id orderInfoId,
lsoi.order_code orderNo, lsoi.order_code orderNo,
lsoi.waybill_no waybillNo, lsoi.waybill_no waybillNo,
lww.brand brand, lww.brand brand,
lww.shipper shipper, lww.shipper shipper,
lww.shipper_name shipperPerson, lww.shipper_name shipperPerson,
lww.shipper_mobile shipperMobile, lww.shipper_mobile shipperMobile,
lww.shipper_address shipperAddress, lww.shipper_address shipperAddress,
lww.consignee consignee, lww.consignee consignee,
lww.consignee_name consigneePerson, lww.consignee_name consigneePerson,
lww.consignee_mobile consigneeMobile, lww.consignee_mobile consigneeMobile,
lww.consignee_address consigneeAddress, lww.consignee_address consigneeAddress,
lww.waybill_status waybillStatus, lww.waybill_status waybillStatus,
lsoi.sign_status signStatus, lsoi.sign_status signStatus,
lsoi.type_service typeService, lsoi.type_service typeService,
IF(lww.check_user_id is null,0,1) isCheck, IF(lww.check_user_id is null,0,1) isCheck,
lww.create_time openTime, lww.create_time openTime,
lww.departure departure, lww.departure departure,
lww.destination destination, lww.destination destination,
lww.departure_warehouse_name departureWarehouseName, lww.departure_warehouse_name departureWarehouseName,
lww.destination_warehouse_name destinationWarehouseName, lww.destination_warehouse_name destinationWarehouseName,
lww.delivery_method deliveryMethod, lww.delivery_method deliveryMethod,
lww.customer_train customerTrain, lww.customer_train customerTrain,
IF(twr.waybill_id is null,0,1) receiptStatus, IF(twr.waybill_id is null,0,1) receiptStatus,
lww.remark waybillRemark, lww.remark waybillRemark,
lww.pay_type payType, lww.pay_type payType,
lww.pay_way payWay, lww.pay_way payWay,
lsoi.confirm_statistics_order confirmStatisticsOrder, lsoi.confirm_statistics_order confirmStatisticsOrder,
lsoi.confirm_statistics_user_name confirmStatisticsUserName, lsoi.confirm_statistics_user_name confirmStatisticsUserName,
lsoi.confirm_statistics_time confirmStatisticsTime, lsoi.confirm_statistics_time confirmStatisticsTime,
lsoi.changes_fee changesFee, lsoi.changes_fee changesFee,
IF(count(lscr.id)>0,1,0) isChanges, IF(count(lscr.id)>0,1,0) isChanges,
GROUP_CONCAT(lscr.item_record) changesItems, GROUP_CONCAT(lscr.item_record) changesItems,
GROUP_CONCAT(lscr.remark) changesRemark, GROUP_CONCAT(lscr.remark) changesRemark,
MAX(lscr.create_time) changesTime, MAX(lscr.create_time) changesTime,
GROUP_CONCAT(DISTINCT lstp.product_name) goodsName, GROUP_CONCAT(DISTINCT lstp.product_name) goodsName,
IFNULL(sum(lstp.total_num),0) totalcount, IFNULL(sum(lstp.total_num),0) totalcount,
IFNULL(sum(lstp.total_weight),0) totalWeight, IFNULL(sum(lstp.total_weight),0) totalWeight,
IFNULL(sum(lstp.total_volume),0) totalVolume, IFNULL(sum(lstp.total_volume),0) totalVolume,
IFNULL(sum(lstp.open_price+lswp.open_price+lsdp.open_price),0) openFee, IFNULL(sum(lstp.open_price+lswp.open_price+lsdp.open_price),0) openFee,
IFNULL(sum(lstp.total_price+lswp.total_price+lsdp.total_price),0) totalFee, IFNULL(sum(lstp.total_price+lswp.total_price+lsdp.total_price),0) totalFee,
sum(lstp.pickup_fee) pickupFee, sum(lstp.pickup_fee) pickupFee,
sum(lstp.real_pickup_fee) realPickupFee, sum(lstp.real_pickup_fee) realPickupFee,
sum(lstp.freight_fee) freightFee, sum(lstp.freight_fee) freightFee,
sum(lstp.real_freight_fee) realFreightFee, sum(lstp.real_freight_fee) realFreightFee,
sum(lstp.install_fee) installFee, sum(lstp.install_fee) installFee,
sum(lstp.real_install_fee) realInstallFee, sum(lstp.real_install_fee) realInstallFee,
sum(lstp.quotation_fee) quotationFee, sum(lstp.quotation_fee) quotationFee,
sum(lstp.real_quotation_fee) realQuotationFee, sum(lstp.real_quotation_fee) realQuotationFee,
sum(lstp.claiming_value) claimingValue, sum(lstp.claiming_value) claimingValue,
sum(lstp.real_claiming_value) realClaimingValue, sum(lstp.real_claiming_value) realClaimingValue,
sum(lstp.other_fee) otherFee, sum(lstp.other_fee) otherFee,
sum(lstp.real_other_fee) realOtherFee, sum(lstp.real_other_fee) realOtherFee,
sum(lstp.return_fee) returnFee, sum(lstp.return_fee) returnFee,
sum(lstp.real_return_fee) realReturnFee, sum(lstp.real_return_fee) realReturnFee,
sum(lstp.third_opration_fee) thirdOprationFee, sum(lstp.third_opration_fee) thirdOprationFee,
sum(lstp.real_third_opration_fee) realThirdOprationFee, sum(lstp.real_third_opration_fee) realThirdOprationFee,
sum(lstp.x_pay) xPay, sum(lstp.x_pay) xPay,
sum(lstp.real_x_pay) realXPay, sum(lstp.real_x_pay) realXPay,
sum(lstp.d_pay) dPay, sum(lstp.d_pay) dPay,
sum(lstp.real_d_pay) realDPay, sum(lstp.real_d_pay) realDPay,
sum(lstp.h_pay) hPay, sum(lstp.h_pay) hPay,
sum(lstp.real_h_pay) realHPay, sum(lstp.real_h_pay) realHPay,
sum(lstp.y_pay) yPay, sum(lstp.y_pay) yPay,
sum(lstp.real_y_pay) realYPay, sum(lstp.real_y_pay) realYPay,
min(lswp.incoming_time) incomingTime, min(lswp.incoming_time) incomingTime,
max(lswp.outing_time) outingTime, max(lswp.outing_time) outingTime,
sum(lswp.warehouse_service_fee) warehouseServiceFee, sum(lswp.warehouse_service_fee) warehouseServiceFee,
sum(lswp.real_warehouse_service_fee) realWarehouseServiceFee, sum(lswp.real_warehouse_service_fee) realWarehouseServiceFee,
sum(lswp.warehouse_fee) warehouseFee, sum(lswp.warehouse_fee) warehouseFee,
sum(lswp.real_warehouse_fee) realWarehouseFee, sum(lswp.real_warehouse_fee) realWarehouseFee,
sum(lswp.warehouse_manage_fee) warehouseManageFee, sum(lswp.warehouse_manage_fee) warehouseManageFee,
sum(lswp.real_warehouse_manage_fee) realWarehouseManageFee, sum(lswp.real_warehouse_manage_fee) realWarehouseManageFee,
sum(lswp.warehouse_sorting_fee) warehouseSortingFee, sum(lswp.warehouse_sorting_fee) warehouseSortingFee,
sum(lswp.real_warehouse_sorting_fee) realWarehouseSortingFee, sum(lswp.real_warehouse_sorting_fee) realWarehouseSortingFee,
sum(lswp.warehouse_operating_fee) warehouseOperatingFee, sum(lswp.warehouse_operating_fee) warehouseOperatingFee,
sum(lswp.real_warehouse_operating_fee) realWarehouseOperatingFee, sum(lswp.real_warehouse_operating_fee) realWarehouseOperatingFee,
sum(lsdp.delivery_service_fee) deliveryServiceFee, sum(lsdp.delivery_service_fee) deliveryServiceFee,
sum(lsdp.real_delivery_service_fee) realDeliveryServiceFee, sum(lsdp.real_delivery_service_fee) realDeliveryServiceFee,
sum(lsdp.delivery_fee) deliveryFee, sum(lsdp.delivery_fee) deliveryFee,
sum(lsdp.real_delivery_fee) realDeliveryFee, sum(lsdp.real_delivery_fee) realDeliveryFee,
sum(lsdp.delivery_loading_fee) deliveryLoadingFee, sum(lsdp.delivery_loading_fee) deliveryLoadingFee,
sum(lsdp.real_delivery_loading_fee) realDeliveryLoadingFee, sum(lsdp.real_delivery_loading_fee) realDeliveryLoadingFee,
sum(lsdp.delivery_sorting_fee) deliverySortingFee, sum(lsdp.delivery_sorting_fee) deliverySortingFee,
sum(lsdp.real_delivery_sorting_fee) realDeliverySortingFee, sum(lsdp.real_delivery_sorting_fee) realDeliverySortingFee,
sum(lsdp.delivery_upfloor_fee) deliveryUpfloorFee, sum(lsdp.delivery_upfloor_fee) deliveryUpfloorFee,
sum(lsdp.real_delivery_upfloor_fee) realDeliveryUpfloorFee, sum(lsdp.real_delivery_upfloor_fee) realDeliveryUpfloorFee,
sum(lsdp.delivery_move_fee) deliveryMoveFee, sum(lsdp.delivery_move_fee) deliveryMoveFee,
sum(lsdp.real_delivery_move_fee) realDeliveryMoveFee, sum(lsdp.real_delivery_move_fee) realDeliveryMoveFee,
max(lsdp.delivery_distance) deliveryDistance, max(lsdp.delivery_distance) deliveryDistance,
max(lsdp.real_delivery_distance) realDeliveryDistance, max(lsdp.real_delivery_distance) realDeliveryDistance,
sum(lsdp.delivery_crossing_fee) deliveryCrossingFee, sum(lsdp.delivery_crossing_fee) deliveryCrossingFee,
sum(lsdp.real_delivery_crossing_fee) realDeliveryCrossingFee, sum(lsdp.real_delivery_crossing_fee) realDeliveryCrossingFee,
sum(lstp.total_price+lswp.total_price+lsdp.total_price)+lsoi.changes_fee totalStatementFee, sum(lstp.total_price+lswp.total_price+lsdp.total_price)+lsoi.changes_fee totalStatementFee,
sum(IF(lsdp.is_sign = 0,0,lsdp.total_num)) signNum, sum(IF(lsdp.is_sign = 0,0,lsdp.total_num)) signNum,
max(lsdp.sign_time) signTime max(lsdp.sign_time) signTime
from logpm_statistics_order_info lsoi from logpm_statistics_order_info lsoi
left join logpm_warehouse_waybill lww on lww.id = lsoi.waybill_id left join logpm_warehouse_waybill lww on lww.id = lsoi.waybill_id
left join (select ltwr.waybill_id from logpm_trunkline_waybill_return ltwr group by ltwr.waybill_id) twr on twr.waybill_id = lww.id left join (select ltwr.waybill_id from logpm_trunkline_waybill_return ltwr group by ltwr.waybill_id) twr on
left join logpm_statistics_trunkline_package lstp on lstp.order_info_id = lsoi.id twr.waybill_id = lww.id
left join logpm_statistics_warehouse_package lswp on lswp.order_info_id = lstp.order_info_id and lswp.order_package_code = lstp.order_package_code left join logpm_statistics_trunkline_package lstp on lstp.order_info_id = lsoi.id
left join logpm_statistics_distribution_package lsdp on lsdp.order_info_id = lswp.order_info_id and lsdp.order_package_code = lswp.order_package_code left join logpm_statistics_warehouse_package lswp on lswp.order_info_id = lstp.order_info_id and
left join logpm_statistics_changes_record lscr on lscr.order_info_id = lsoi.id lswp.order_package_code = lstp.order_package_code
left join logpm_statistics_distribution_package lsdp on lsdp.order_info_id = lswp.order_info_id and
lsdp.order_package_code = lswp.order_package_code
left join logpm_statistics_changes_record lscr on lscr.order_info_id = lsoi.id
where 1=1 where 1=1
and lsoi.id in and lsoi.id in
<foreach collection="orderInfoIds" item="item" open="(" separator="," close=")"> <foreach collection="orderInfoIds" item="item" open="(" separator="," close=")">
@ -417,7 +422,6 @@
</select> </select>
<select id="findPackageListByOrderIds" resultType="com.logpm.statistics.vo.StatisticsPackageFeeInfoVO"> <select id="findPackageListByOrderIds" resultType="com.logpm.statistics.vo.StatisticsPackageFeeInfoVO">
select select
IFNULL(sum(lstp.num),0) totalNum, IFNULL(sum(lstp.num),0) totalNum,
@ -442,8 +446,12 @@
IFNULL(sum(lsdp.delivery_other_fee),0) deliveryOtherFee, IFNULL(sum(lsdp.delivery_other_fee),0) deliveryOtherFee,
IFNULL(sum(lsdp.delivery_crossing_fee),0) deliveryCrossingFee IFNULL(sum(lsdp.delivery_crossing_fee),0) deliveryCrossingFee
from logpm_statistics_trunkline_package lstp from logpm_statistics_trunkline_package lstp
left join logpm_statistics_warehouse_package lswp on lswp.order_info_id = lstp.order_info_id and IFNULL(lswp.order_package_code,0) = IFNULL(lstp.order_package_code,0) and IFNULL(lswp.product_id,1) = IFNULL(lstp.product_id,1) left join logpm_statistics_warehouse_package lswp on lswp.order_info_id = lstp.order_info_id and
left join logpm_statistics_distribution_package lsdp on lsdp.order_info_id = lswp.order_info_id and IFNULL(lsdp.order_package_code,0) = IFNULL(lswp.order_package_code,0) and IFNULL(lswp.product_id,1) = IFNULL(lsdp.product_id,1) IFNULL(lswp.order_package_code,0) = IFNULL(lstp.order_package_code,0) and IFNULL(lswp.product_id,1) =
IFNULL(lstp.product_id,1)
left join logpm_statistics_distribution_package lsdp on lsdp.order_info_id = lswp.order_info_id and
IFNULL(lsdp.order_package_code,0) = IFNULL(lswp.order_package_code,0) and IFNULL(lswp.product_id,1) =
IFNULL(lsdp.product_id,1)
where lstp.order_info_id in where lstp.order_info_id in
<foreach collection="orderInfoIds" item="item" open="(" separator="," close=")"> <foreach collection="orderInfoIds" item="item" open="(" separator="," close=")">
#{item} #{item}
@ -456,8 +464,10 @@
IFNULL(sum(lstp.num),0) totalNum, IFNULL(sum(lstp.num),0) totalNum,
IFNULL(sum(lstp.weight),0) totalWeight, IFNULL(sum(lstp.weight),0) totalWeight,
IFNULL(sum(lstp.volume),0) totalVolume, IFNULL(sum(lstp.volume),0) totalVolume,
IFNULL(sum(lstp.system_freight_price),0)+IFNULL(sum(lstp.system_pickup_price),0)+IFNULL(sum(lswp.warehouse_service_fee),0)+IFNULL(sum(lsdp.delivery_service_fee),0) sysTotalFee, IFNULL(sum(lstp.system_freight_price),0)+IFNULL(sum(lstp.system_pickup_price),0)+IFNULL(sum(lswp.warehouse_service_fee),0)+IFNULL(sum(lsdp.delivery_service_fee),0)
IFNULL(sum(lstp.freight_price),0)+IFNULL(sum(lstp.pickup_price),0)+IFNULL(sum(lswp.warehouse_service_fee),0)+IFNULL(sum(lsdp.delivery_service_fee),0) totalFee, sysTotalFee,
IFNULL(sum(lstp.freight_price),0)+IFNULL(sum(lstp.pickup_price),0)+IFNULL(sum(lswp.warehouse_service_fee),0)+IFNULL(sum(lsdp.delivery_service_fee),0)
totalFee,
IFNULL(sum(lstp.system_freight_price),0) systemFreightPrice, IFNULL(sum(lstp.system_freight_price),0) systemFreightPrice,
IFNULL(sum(lstp.freight_price),0) freightPrice, IFNULL(sum(lstp.freight_price),0) freightPrice,
IFNULL(sum(lstp.system_pickup_price),0) systemPickupPrice, IFNULL(sum(lstp.system_pickup_price),0) systemPickupPrice,
@ -479,8 +489,12 @@
IFNULL(sum(lsdp.sign_num),0) signNum, IFNULL(sum(lsdp.sign_num),0) signNum,
max(lsdp.sign_time) signTime max(lsdp.sign_time) signTime
from logpm_statistics_trunkline_package lstp from logpm_statistics_trunkline_package lstp
left join logpm_statistics_warehouse_package lswp on lswp.order_info_id = lstp.order_info_id and IFNULL(lswp.order_package_code,'0') = IFNULL(lstp.order_package_code,'0') and IFNULL(lswp.product_id,1) = IFNULL(lstp.product_id,1) left join logpm_statistics_warehouse_package lswp on lswp.order_info_id = lstp.order_info_id and
left join logpm_statistics_distribution_package lsdp on lsdp.order_info_id = lswp.order_info_id and IFNULL(lsdp.order_package_code,'0') = IFNULL(lswp.order_package_code,'0') and IFNULL(lswp.product_id,1) = IFNULL(lsdp.product_id,1) IFNULL(lswp.order_package_code,'0') = IFNULL(lstp.order_package_code,'0') and IFNULL(lswp.product_id,1) =
IFNULL(lstp.product_id,1)
left join logpm_statistics_distribution_package lsdp on lsdp.order_info_id = lswp.order_info_id and
IFNULL(lsdp.order_package_code,'0') = IFNULL(lswp.order_package_code,'0') and IFNULL(lswp.product_id,1) =
IFNULL(lsdp.product_id,1)
where lstp.order_info_id in where lstp.order_info_id in
<foreach collection="orderInfoIds" item="item" open="(" separator="," close=")"> <foreach collection="orderInfoIds" item="item" open="(" separator="," close=")">
#{item} #{item}
@ -528,7 +542,7 @@
t.waybill_id t.waybill_id
</select> </select>
<delete id="deleteListByOrderInfoIds" > <delete id="deleteListByOrderInfoIds">
delete from logpm_statistics_order_info delete from logpm_statistics_order_info
where id in where id in
<foreach collection="orderInfoIdsList" item="item" open="(" separator="," close=")"> <foreach collection="orderInfoIdsList" item="item" open="(" separator="," close=")">
@ -552,5 +566,23 @@
</foreach> </foreach>
</update> </update>
<select id="findBalanceOrderIdListByWaybillId" resultType="Long">
select balance_order_id
from logpm_statistics_order_info
where waybill_id = #{waybillId}
group by balance_order_id
</select>
<select id="findRencilitionOrderIdsByWaybillId" resultType="Long">
select reconciliation_order_id
from logpm_statistics_order_info
where waybill_id = #{waybillId}
group by reconciliation_order_id
</select>
<delete id="deleteDataByWaybillId" >
delete from logpm_statistics_order_info
where waybill_id = #{waybillId}
</delete>
</mapper> </mapper>

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java

@ -20,4 +20,6 @@ public interface StatisticsReconciliationOrderInfoMapper extends BaseMapper<Stat
void addAftersalesFeeById(@Param("reconciliationOrderId") Long reconciliationOrderId, @Param("aftersalesFee") BigDecimal aftersalesFee); void addAftersalesFeeById(@Param("reconciliationOrderId") Long reconciliationOrderId, @Param("aftersalesFee") BigDecimal aftersalesFee);
List<StatisticsReconciliationInfoExportVO> reconciliationListExport(@Param("param") MerchantStatisticsDTO merchantStatisticsDTO); List<StatisticsReconciliationInfoExportVO> reconciliationListExport(@Param("param") MerchantStatisticsDTO merchantStatisticsDTO);
void deleteRencilitionOrderByIds(@Param("rencilitionOrderIds") List<Long> rencilitionOrderIds);
} }

8
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml

@ -110,4 +110,12 @@
</if> </if>
</select> </select>
<delete id="deleteRencilitionOrderByIds">
delete from logpm_statistics_reconciliation_order_info
where id in
<foreach collection="rencilitionOrderIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
</mapper> </mapper>

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.java

@ -11,4 +11,6 @@ import java.util.List;
public interface StatisticsTrunklinePackageMapper extends BaseMapper<StatisticsTrunklinePackageEntity> { public interface StatisticsTrunklinePackageMapper extends BaseMapper<StatisticsTrunklinePackageEntity> {
void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List<Long> orderInfoIdsList); void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List<Long> orderInfoIdsList);
void deleteDataByWaybillId(@Param("waybillId") Long waybillId);
} }

5
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.xml

@ -10,4 +10,9 @@
</foreach> </foreach>
</delete> </delete>
<delete id="deleteDataByWaybillId" >
delete from logpm_statistics_trunkline_package
where waybill_id = #{waybillId}
</delete>
</mapper> </mapper>

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.java

@ -10,4 +10,6 @@ import java.util.List;
@Mapper @Mapper
public interface StatisticsWarehousePackageMapper extends BaseMapper<StatisticsWarehousePackageEntity> { public interface StatisticsWarehousePackageMapper extends BaseMapper<StatisticsWarehousePackageEntity> {
void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List<Long> orderInfoIdsList); void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List<Long> orderInfoIdsList);
void deleteDataByWaybillId(@Param("waybillId") Long waybillId);
} }

5
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.xml

@ -10,4 +10,9 @@
</foreach> </foreach>
</delete> </delete>
<delete id="deleteDataByWaybillId" >
delete from logpm_statistics_warehouse_package
where waybill_id = #{waybillId}
</delete>
</mapper> </mapper>

8
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsBalanceOrderInfoService.java

@ -9,6 +9,9 @@ import com.logpm.statistics.vo.StatisticsBalanceOrderInfoVO;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import java.math.BigDecimal;
import java.util.List;
public interface IStatisticsBalanceOrderInfoService extends BaseService<StatisticsBalanceOrderInfoEntity> { public interface IStatisticsBalanceOrderInfoService extends BaseService<StatisticsBalanceOrderInfoEntity> {
IPage<StatisticsBalanceOrderInfoVO> pageList(MerchantStatisticsDTO merchantStatisticsDTO); IPage<StatisticsBalanceOrderInfoVO> pageList(MerchantStatisticsDTO merchantStatisticsDTO);
@ -22,4 +25,9 @@ public interface IStatisticsBalanceOrderInfoService extends BaseService<Statisti
R findBalanceDetail(Long balanceOrderId); R findBalanceDetail(Long balanceOrderId);
BigDecimal findHasBalanceFeeByBalanceOrderIds(List<Long> balanceOrderIds);
void deleteBanlanceOrderByIds(List<Long> balanceOrderIds);
R enterBalance(StatisticsBalanceRecordDTO balanceRecordDTO);
} }

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsDistributionPackageService.java

@ -12,4 +12,6 @@ public interface IStatisticsDistributionPackageService extends BaseService<Stati
List<StatisticsDistributionPackageEntity> findListByOrderInfoSet(Set<Long> orderInfoSet); List<StatisticsDistributionPackageEntity> findListByOrderInfoSet(Set<Long> orderInfoSet);
void deleteListByOrderInfoIds(List<Long> orderInfoIdsList); void deleteListByOrderInfoIds(List<Long> orderInfoIdsList);
void deleteDataByWaybillId(Long waybillId);
} }

5
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsOrderInfoService.java

@ -51,4 +51,9 @@ public interface IStatisticsOrderInfoService extends BaseService<StatisticsOrder
R cancleOrderInfoBindReconcilitionOrder(Long reconciliationOrderId, List<Long> orderInfoIds); R cancleOrderInfoBindReconcilitionOrder(Long reconciliationOrderId, List<Long> orderInfoIds);
List<StatisticsOrderInfoExportVO> orderInfoListExport(MerchantStatisticsDTO merchantStatisticsDTO); List<StatisticsOrderInfoExportVO> orderInfoListExport(MerchantStatisticsDTO merchantStatisticsDTO);
Integer findBalanceOrderStatus(Long waybillId);
void orderInfoService(Long waybillId);
} }

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsReconciliationOrderInfoService.java

@ -15,4 +15,6 @@ public interface IStatisticsReconciliationOrderInfoService extends BaseService<S
void addAftersalesFeeById(Long reconciliationOrderId, BigDecimal aftersalesFee); void addAftersalesFeeById(Long reconciliationOrderId, BigDecimal aftersalesFee);
List<StatisticsReconciliationInfoExportVO> reconciliationListExport(MerchantStatisticsDTO merchantStatisticsDTO); List<StatisticsReconciliationInfoExportVO> reconciliationListExport(MerchantStatisticsDTO merchantStatisticsDTO);
void deleteRencilitionOrderByIds(List<Long> rencilitionOrderIds);
} }

4
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsTrunklinePackageService.java

@ -1,7 +1,6 @@
package com.logpm.statistics.service; package com.logpm.statistics.service;
import com.logpm.statistics.entity.StatisticsTrunklinePackageEntity; import com.logpm.statistics.entity.StatisticsTrunklinePackageEntity;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import java.util.List; import java.util.List;
@ -9,4 +8,7 @@ import java.util.List;
public interface IStatisticsTrunklinePackageService extends BaseService<StatisticsTrunklinePackageEntity> { public interface IStatisticsTrunklinePackageService extends BaseService<StatisticsTrunklinePackageEntity> {
void deleteListByOrderInfoIds(List<Long> orderInfoIdsList); void deleteListByOrderInfoIds(List<Long> orderInfoIdsList);
void deleteDataByWaybillId(Long waybillId);
} }

2
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsWarehousePackageService.java

@ -7,4 +7,6 @@ import java.util.List;
public interface IStatisticsWarehousePackageService extends BaseService<StatisticsWarehousePackageEntity> { public interface IStatisticsWarehousePackageService extends BaseService<StatisticsWarehousePackageEntity> {
void deleteListByOrderInfoIds(List<Long> orderInfoIdsList); void deleteListByOrderInfoIds(List<Long> orderInfoIdsList);
void deleteDataByWaybillId(Long waybillId);
} }

89
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsBalanceOrderInfoServiceImpl.java

@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.statistics.dto.MerchantStatisticsDTO; import com.logpm.statistics.dto.MerchantStatisticsDTO;
import com.logpm.statistics.dto.StatisticsBalanceAbnormalDTO; import com.logpm.statistics.dto.StatisticsBalanceAbnormalDTO;
@ -84,9 +83,15 @@ public R addAbnormal(StatisticsBalanceAbnormalDTO balanceAbnormalDTO) {
log.warn("###########addAbnormal: 结算单信息不存在 balanceOrderInfoEntity={}", balanceOrderInfoEntity); log.warn("###########addAbnormal: 结算单信息不存在 balanceOrderInfoEntity={}", balanceOrderInfoEntity);
throw new CustomerException(405, "结算单信息不存在"); throw new CustomerException(405, "结算单信息不存在");
} }
BigDecimal totalBalanceFee = balanceOrderInfoEntity.getTotalBalanceFee();
BigDecimal hasBalanceFee = balanceOrderInfoEntity.getHasBalanceFee(); BigDecimal aftersalesFee = balanceOrderInfoEntity.getAftersalesFee();
BigDecimal abnormalFee = balanceAbnormalEntity.getAbnormalFee();
BigDecimal totalBalanceFee = balanceOrderInfoEntity.getTotalBalanceFee();//结算总金额
BigDecimal hasBalanceFee = balanceOrderInfoEntity.getHasBalanceFee();//已结算金额
BigDecimal abnormalFee = balanceAbnormalEntity.getAbnormalFee();//这次加的异常金额
BigDecimal abnormalBalanceFee = balanceOrderInfoEntity.getAbnormalBalanceFee();
BigDecimal totalAbnormalFee = abnormalBalanceFee.add(abnormalFee);//总异常金额
BigDecimal total = totalBalanceFee.add(abnormalFee); BigDecimal total = totalBalanceFee.add(abnormalFee);
@ -95,15 +100,21 @@ public R addAbnormal(StatisticsBalanceAbnormalDTO balanceAbnormalDTO) {
balanceOrderInfoEntity.setAbnormalTime(balanceAbnormalEntity.getCreateTime()); balanceOrderInfoEntity.setAbnormalTime(balanceAbnormalEntity.getCreateTime());
balanceOrderInfoEntity.setAbnormalUserName(balanceAbnormalEntity.getAbnormalUserName()); balanceOrderInfoEntity.setAbnormalUserName(balanceAbnormalEntity.getAbnormalUserName());
balanceOrderInfoEntity.setAbnormalRemark(balanceAbnormalEntity.getAbnormalRemark()); balanceOrderInfoEntity.setAbnormalRemark(balanceAbnormalEntity.getAbnormalRemark());
if (hasBalanceFee.compareTo(total) >= 0) {
balanceOrderInfoEntity.setBalanceStatus(2); BigDecimal noBalanceFee = totalBalanceFee.add(totalAbnormalFee).subtract(aftersalesFee).subtract(hasBalanceFee);
} else {
if (hasBalanceFee.compareTo(BigDecimal.ZERO) == 0) { balanceOrderInfoEntity.setNoBalanceFee(noBalanceFee);
balanceOrderInfoEntity.setBalanceStatus(0); balanceOrderInfoEntity.setAbnormalBalanceFee(totalAbnormalFee);
} else {
balanceOrderInfoEntity.setBalanceStatus(1); // if (hasBalanceFee.compareTo(total) >= 0) {
} // balanceOrderInfoEntity.setBalanceStatus(2);
} // } else {
// if (hasBalanceFee.compareTo(BigDecimal.ZERO) == 0) {
// balanceOrderInfoEntity.setBalanceStatus(0);
// } else {
// balanceOrderInfoEntity.setBalanceStatus(1);
// }
// }
updateById(balanceOrderInfoEntity); updateById(balanceOrderInfoEntity);
return R.success("添加成功"); return R.success("添加成功");
@ -175,21 +186,26 @@ public R addBalanceRecord(StatisticsBalanceRecordDTO balanceRecordDTO) {
BigDecimal totalBalanceFee = balanceOrderInfoEntity.getTotalBalanceFee(); BigDecimal totalBalanceFee = balanceOrderInfoEntity.getTotalBalanceFee();
BigDecimal abnormalBalanceFee = balanceOrderInfoEntity.getAbnormalBalanceFee(); BigDecimal abnormalBalanceFee = balanceOrderInfoEntity.getAbnormalBalanceFee();
BigDecimal aftersalesFee = balanceOrderInfoEntity.getAftersalesFee();
BigDecimal total = totalBalanceFee.add(abnormalBalanceFee);
BigDecimal hasBalanceFee = balanceOrderInfoEntity.getHasBalanceFee(); BigDecimal hasBalanceFee = balanceOrderInfoEntity.getHasBalanceFee();
BigDecimal newHasBalanceFee = hasBalanceFee.add(balanceFee); BigDecimal newHasBalanceFee = hasBalanceFee.add(balanceFee);
if (newHasBalanceFee.compareTo(total) >= 0) { BigDecimal noBalanceFee = totalBalanceFee.add(abnormalBalanceFee).subtract(aftersalesFee).subtract(newHasBalanceFee);
balanceOrderInfoEntity.setBalanceStatus(2);
balanceOrderInfoEntity.setNoBalanceFee(BigDecimal.ZERO);
} else { balanceOrderInfoEntity.setBalanceStatus(1);
balanceOrderInfoEntity.setBalanceStatus(1);
balanceOrderInfoEntity.setNoBalanceFee(total.subtract(newHasBalanceFee));
}
balanceOrderInfoEntity.setNoBalanceFee(noBalanceFee);
balanceOrderInfoEntity.setHasBalanceFee(newHasBalanceFee); balanceOrderInfoEntity.setHasBalanceFee(newHasBalanceFee);
// if (newHasBalanceFee.compareTo(total) >= 0) {
// balanceOrderInfoEntity.setBalanceStatus(2);
// balanceOrderInfoEntity.setNoBalanceFee(BigDecimal.ZERO);
// } else {
// balanceOrderInfoEntity.setBalanceStatus(1);
//
// }
balanceOrderInfoEntity.setBalanceTime(balanceRecordEntity.getCreateTime()); balanceOrderInfoEntity.setBalanceTime(balanceRecordEntity.getCreateTime());
balanceOrderInfoEntity.setBalanceUserName(balanceRecordEntity.getBalanceUserName()); balanceOrderInfoEntity.setBalanceUserName(balanceRecordEntity.getBalanceUserName());
balanceOrderInfoEntity.setBalanceRemark(balanceRecordEntity.getBalanceRemark()); balanceOrderInfoEntity.setBalanceRemark(balanceRecordEntity.getBalanceRemark());
@ -247,5 +263,32 @@ public R findBalanceDetail(Long balanceOrderId) {
return R.data(statisticsBalanceOrderInfoEntity); return R.data(statisticsBalanceOrderInfoEntity);
} }
@Override
public BigDecimal findHasBalanceFeeByBalanceOrderIds(List<Long> balanceOrderIds) {
return baseMapper.findHasBalanceFeeByBalanceOrderIds(balanceOrderIds);
}
@Override
public void deleteBanlanceOrderByIds(List<Long> balanceOrderIds) {
baseMapper.deleteBanlanceOrderByIds(balanceOrderIds);
}
@Override
public R enterBalance(StatisticsBalanceRecordDTO balanceRecordDTO) {
Long balanceOrderInfoId = balanceRecordDTO.getBalanceOrderInfoId();
StatisticsBalanceOrderInfoEntity statisticsBalanceOrderInfoEntity = baseMapper.selectById(balanceOrderInfoId);
BigDecimal noBalanceFee = statisticsBalanceOrderInfoEntity.getNoBalanceFee();
if(noBalanceFee.compareTo(BigDecimal.ZERO) != 0){
log.warn("#############enterBalance: 结算金额不为0");
return R.fail(405, "结算金额不为0");
}
statisticsBalanceOrderInfoEntity.setBalanceStatus(2);
updateById(statisticsBalanceOrderInfoEntity);
return R.success("结算成功");
}
} }

5
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsDistributionPackageServiceImpl.java

@ -36,4 +36,9 @@ public class StatisticsDistributionPackageServiceImpl extends BaseServiceImpl<St
public void deleteListByOrderInfoIds(List<Long> orderInfoIdsList) { public void deleteListByOrderInfoIds(List<Long> orderInfoIdsList) {
baseMapper.deleteListByOrderInfoIds(orderInfoIdsList); baseMapper.deleteListByOrderInfoIds(orderInfoIdsList);
} }
@Override
public void deleteDataByWaybillId(Long waybillId) {
baseMapper.deleteDataByWaybillId(waybillId);
}
} }

100
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java

@ -23,23 +23,9 @@ import com.logpm.basicdata.vo.PriceWarehouseVO;
import com.logpm.statistics.dto.AftersalesOrderDTO; import com.logpm.statistics.dto.AftersalesOrderDTO;
import com.logpm.statistics.dto.ChangesRecordDTO; import com.logpm.statistics.dto.ChangesRecordDTO;
import com.logpm.statistics.dto.MerchantStatisticsDTO; import com.logpm.statistics.dto.MerchantStatisticsDTO;
import com.logpm.statistics.entity.StatisticsAftersalesOrderRecordEntity; import com.logpm.statistics.entity.*;
import com.logpm.statistics.entity.StatisticsBalanceOrderInfoEntity;
import com.logpm.statistics.entity.StatisticsChangesPhotoEntity;
import com.logpm.statistics.entity.StatisticsChangesRecordEntity;
import com.logpm.statistics.entity.StatisticsDistributionPackageEntity;
import com.logpm.statistics.entity.StatisticsOrderInfoEntity;
import com.logpm.statistics.entity.StatisticsReconciliationOrderInfoEntity;
import com.logpm.statistics.entity.StatisticsWarehousePackageEntity;
import com.logpm.statistics.mapper.StatisticsOrderInfoMapper; import com.logpm.statistics.mapper.StatisticsOrderInfoMapper;
import com.logpm.statistics.service.IStatisticsAftersalesOrderRecordService; import com.logpm.statistics.service.*;
import com.logpm.statistics.service.IStatisticsBalanceOrderInfoService;
import com.logpm.statistics.service.IStatisticsChangesPhotoService;
import com.logpm.statistics.service.IStatisticsChangesRecordService;
import com.logpm.statistics.service.IStatisticsDistributionPackageService;
import com.logpm.statistics.service.IStatisticsOrderInfoService;
import com.logpm.statistics.service.IStatisticsReconciliationOrderInfoService;
import com.logpm.statistics.service.IStatisticsWarehousePackageService;
import com.logpm.statistics.vo.StatisticsChangesRecordVO; import com.logpm.statistics.vo.StatisticsChangesRecordVO;
import com.logpm.statistics.vo.StatisticsOrderInfoExportVO; import com.logpm.statistics.vo.StatisticsOrderInfoExportVO;
import com.logpm.statistics.vo.StatisticsOrderInfoVO; import com.logpm.statistics.vo.StatisticsOrderInfoVO;
@ -84,9 +70,11 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
private final IBasicdataPriceClient priceClient; private final IBasicdataPriceClient priceClient;
private final IStatisticsDistributionPackageService distributionPackageService; private final IStatisticsDistributionPackageService distributionPackageService;
private final IStatisticsWarehousePackageService warehousePackageService; private final IStatisticsWarehousePackageService warehousePackageService;
private final IStatisticsTrunklinePackageService trunklinePackageService;
private final IStatisticsReconciliationOrderInfoService reconciliationOrderInfoService; private final IStatisticsReconciliationOrderInfoService reconciliationOrderInfoService;
private final IStatisticsAftersalesOrderRecordService aftersalesOrderRecordService; private final IStatisticsAftersalesOrderRecordService aftersalesOrderRecordService;
private final IBasicdataWarehouseClient warehouseClient; private final IBasicdataWarehouseClient warehouseClient;
private final IStatisticsBalanceRecordService balanceRecordService;
@Override @Override
public List<StatisticsOrderInfoEntity> findListByWaybillId(Long waybillId) { public List<StatisticsOrderInfoEntity> findListByWaybillId(Long waybillId) {
@ -118,12 +106,16 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
IPage<StatisticsOrderInfoVO> statisticsOrderInfoVOIPage = baseMapper.pageList(page, merchantStatisticsDTO); IPage<StatisticsOrderInfoVO> statisticsOrderInfoVOIPage = baseMapper.pageList(page, merchantStatisticsDTO);
List<StatisticsOrderInfoVO> records = statisticsOrderInfoVOIPage.getRecords(); List<StatisticsOrderInfoVO> records = statisticsOrderInfoVOIPage.getRecords();
//把records中所有的orderInfoId放入一个集合 //把records中所有的orderInfoId放入一个集合
List<Long> orderInfoIdList = records.stream().map(StatisticsOrderInfoVO::getOrderInfoId).collect(Collectors.toList()); List<Long> orderInfoIdList = records.stream().map(StatisticsOrderInfoVO::getOrderInfoId).collect(Collectors.toList());
List<String> waybillNoList = records.stream().map(StatisticsOrderInfoVO::getOrderCode).collect(Collectors.toList());
// 运单ID集合 // 运单ID集合
Set<Long> warehouseIdSet = records.stream().map(StatisticsOrderInfoVO::getWaybillId).collect(Collectors.toSet()); // Set<Long> warehouseIdSet = records.stream().map(StatisticsOrderInfoVO::getWaybillId).collect(Collectors.toSet());
List<WaybillDetailByWaybillNoVo> waybillDetailByWaybillNoVoList; // List<WaybillDetailByWaybillNoVo> waybillDetailByWaybillNoVoList;
Map<Long, StatisticsPackageFeeInfoVO> orderPackageInfoMap; Map<Long, StatisticsPackageFeeInfoVO> orderPackageInfoMap;
if(CollUtil.isNotEmpty(orderInfoIdList)){ if(CollUtil.isNotEmpty(orderInfoIdList)){
List<StatisticsPackageFeeInfoVO> orderPackageInfoList = baseMapper.findPackageListByOrderIdsGroupById(orderInfoIdList); List<StatisticsPackageFeeInfoVO> orderPackageInfoList = baseMapper.findPackageListByOrderIdsGroupById(orderInfoIdList);
@ -137,11 +129,11 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
} else { } else {
orderPackageInfoMap = null; orderPackageInfoMap = null;
} }
if(CollUtil.isNotEmpty(warehouseIdSet)){ // if(CollUtil.isNotEmpty(warehouseIdSet)){
waybillDetailByWaybillNoVoList = baseMapper.findWaybillDetailByWaybillId(warehouseIdSet); // waybillDetailByWaybillNoVoList = baseMapper.findWaybillDetailByWaybillId(warehouseIdSet);
} else { // } else {
waybillDetailByWaybillNoVoList = null; // waybillDetailByWaybillNoVoList = null;
} // }
records.forEach(statisticsOrderInfoVO -> { records.forEach(statisticsOrderInfoVO -> {
Long waybillId = statisticsOrderInfoVO.getWaybillId(); Long waybillId = statisticsOrderInfoVO.getWaybillId();
@ -149,18 +141,20 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
Long orderInfoId = statisticsOrderInfoVO.getOrderInfoId(); Long orderInfoId = statisticsOrderInfoVO.getOrderInfoId();
if(orderPackageInfoMap!=null){ if(orderPackageInfoMap!=null){
StatisticsPackageFeeInfoVO statisticsPackageFeeInfoVO = orderPackageInfoMap.get(orderInfoId); StatisticsPackageFeeInfoVO statisticsPackageFeeInfoVO = orderPackageInfoMap.get(orderInfoId);
if(statisticsPackageFeeInfoVO!=null){ if(statisticsPackageFeeInfoVO!=null){
statisticsPackageFeeInfoVO.setGoodsName(statisticsOrderInfoVO.getGoodsName());
BeanUtil.copy(statisticsPackageFeeInfoVO, statisticsOrderInfoVO); BeanUtil.copy(statisticsPackageFeeInfoVO, statisticsOrderInfoVO);
} }
} }
if(waybillDetailByWaybillNoVoList!=null){ // if(waybillDetailByWaybillNoVoList!=null){
waybillDetailByWaybillNoVo1 = waybillDetailByWaybillNoVoList.stream().filter(waybillDetailByWaybillNoVo -> Objects.equals(waybillDetailByWaybillNoVo.getWaybillId(), waybillId)).findFirst().orElse(null); // waybillDetailByWaybillNoVo1 = waybillDetailByWaybillNoVoList.stream().filter(waybillDetailByWaybillNoVo -> Objects.equals(waybillDetailByWaybillNoVo.getWaybillId(), waybillId)).findFirst().orElse(null);
} // }
if(waybillDetailByWaybillNoVo1!=null){ // if(waybillDetailByWaybillNoVo1!=null){
statisticsOrderInfoVO.setGoodsName(waybillDetailByWaybillNoVo1.getGoodsName()); // statisticsOrderInfoVO.setGoodsName(waybillDetailByWaybillNoVo1.getGoodsName());
} // }
}); });
statisticsOrderInfoVOIPage.setRecords(records); statisticsOrderInfoVOIPage.setRecords(records);
@ -732,6 +726,48 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
return records; return records;
} }
@Override
public Integer findBalanceOrderStatus(Long waybillId) {
List<Long> balanceOrderIds = baseMapper.findBalanceOrderIdListByWaybillId(waybillId);
if(CollUtil.isNotEmpty(balanceOrderIds)){
QueryWrapper<StatisticsBalanceRecordEntity> balanceAbnormalEntityQueryWrapper = new QueryWrapper<>();
balanceAbnormalEntityQueryWrapper.in("balance_order_info_id", balanceOrderIds);
List<StatisticsBalanceRecordEntity> list = balanceRecordService.list(balanceAbnormalEntityQueryWrapper);
if(CollUtil.isNotEmpty(list)){
return 1;
}else{
return 0;
}
}else{
return 0;
}
}
@Override
public void orderInfoService(Long waybillId) {
trunklinePackageService.deleteDataByWaybillId(waybillId);
warehousePackageService.deleteDataByWaybillId(waybillId);
distributionPackageService.deleteDataByWaybillId(waybillId);
List<Long> balanceOrderIds = baseMapper.findBalanceOrderIdListByWaybillId(waybillId);
balanceOrderInfoService.deleteBanlanceOrderByIds(balanceOrderIds);
List<Long> rencilitionOrderIds = baseMapper.findRencilitionOrderIdsByWaybillId(waybillId);
reconciliationOrderInfoService.deleteRencilitionOrderByIds(rencilitionOrderIds);
baseMapper.deleteDataByWaybillId(waybillId);
}
private void calculateReconcilitionOrder(StatisticsReconciliationOrderInfoEntity reconciliationOrderInfo) { private void calculateReconcilitionOrder(StatisticsReconciliationOrderInfoEntity reconciliationOrderInfo) {
Long reconciliationOrderId = reconciliationOrderInfo.getId(); Long reconciliationOrderId = reconciliationOrderInfo.getId();
BigDecimal aftersalesFee = reconciliationOrderInfo.getAftersalesFee(); BigDecimal aftersalesFee = reconciliationOrderInfo.getAftersalesFee();
@ -941,7 +977,7 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
if (1 == dispatchIsByCategory) { if (1 == dispatchIsByCategory) {
log.info("按品类计算"); log.info("按品类计算");
pieceList = pieceCategory.stream().filter(priceDispatchBasicVO -> { pieceList = pieceCategory.stream().filter(priceDispatchBasicVO -> {
return StrUtil.equals(String.valueOf(priceDispatchBasicVO.getCategoryId()), statisticsDistributionPackageEntity.getProductId()); return NumberUtil.equals(priceDispatchBasicVO.getCategoryId(), statisticsDistributionPackageEntity.getProductId());
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
if (CollUtil.isNotEmpty(pieceList)) { if (CollUtil.isNotEmpty(pieceList)) {
@ -959,7 +995,7 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
List<PriceDispatchBasicVO> cubeList = cubeCategory; List<PriceDispatchBasicVO> cubeList = cubeCategory;
if (1 == dispatchIsByCategory) { if (1 == dispatchIsByCategory) {
cubeList = cubeCategory.stream().filter(priceDispatchBasicVO -> { cubeList = cubeCategory.stream().filter(priceDispatchBasicVO -> {
return StrUtil.equals(String.valueOf(priceDispatchBasicVO.getCategoryId()), statisticsDistributionPackageEntity.getProductId()); return NumberUtil.equals(priceDispatchBasicVO.getCategoryId(), statisticsDistributionPackageEntity.getProductId());
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
if (CollUtil.isNotEmpty(cubeList)) { if (CollUtil.isNotEmpty(cubeList)) {
@ -980,7 +1016,7 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl<StatisticsOr
List<PriceDispatchBasicVO> weightList = weightCategory; List<PriceDispatchBasicVO> weightList = weightCategory;
if (1 == dispatchIsByCategory) { if (1 == dispatchIsByCategory) {
weightList = weightCategory.stream().filter(priceDispatchBasicVO -> { weightList = weightCategory.stream().filter(priceDispatchBasicVO -> {
return StrUtil.equals(String.valueOf(priceDispatchBasicVO.getCategoryId()), statisticsDistributionPackageEntity.getProductId()); return NumberUtil.equals(priceDispatchBasicVO.getCategoryId(), statisticsDistributionPackageEntity.getProductId());
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
if (CollUtil.isNotEmpty(weightList)) { if (CollUtil.isNotEmpty(weightList)) {

7
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java

@ -8,7 +8,6 @@ import com.logpm.statistics.entity.StatisticsReconciliationOrderInfoEntity;
import com.logpm.statistics.mapper.StatisticsReconciliationOrderInfoMapper; import com.logpm.statistics.mapper.StatisticsReconciliationOrderInfoMapper;
import com.logpm.statistics.service.IStatisticsReconciliationOrderInfoService; import com.logpm.statistics.service.IStatisticsReconciliationOrderInfoService;
import com.logpm.statistics.vo.StatisticsReconciliationInfoExportVO; import com.logpm.statistics.vo.StatisticsReconciliationInfoExportVO;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.CommonUtil;
@ -16,7 +15,6 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Collections;
import java.util.List; import java.util.List;
@Service @Service
@ -60,4 +58,9 @@ public class StatisticsReconciliationOrderInfoServiceImpl extends BaseServiceImp
return baseMapper.reconciliationListExport(merchantStatisticsDTO); return baseMapper.reconciliationListExport(merchantStatisticsDTO);
} }
@Override
public void deleteRencilitionOrderByIds(List<Long> rencilitionOrderIds) {
baseMapper.deleteRencilitionOrderByIds(rencilitionOrderIds);
}
} }

5
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsTrunklinePackageServiceImpl.java

@ -19,4 +19,9 @@ public class StatisticsTrunklinePackageServiceImpl extends BaseServiceImpl<Stati
public void deleteListByOrderInfoIds(List<Long> orderInfoIdsList) { public void deleteListByOrderInfoIds(List<Long> orderInfoIdsList) {
baseMapper.deleteListByOrderInfoIds(orderInfoIdsList); baseMapper.deleteListByOrderInfoIds(orderInfoIdsList);
} }
@Override
public void deleteDataByWaybillId(Long waybillId) {
baseMapper.deleteDataByWaybillId(waybillId);
}
} }

5
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsWarehousePackageServiceImpl.java

@ -18,4 +18,9 @@ public class StatisticsWarehousePackageServiceImpl extends BaseServiceImpl<Stati
public void deleteListByOrderInfoIds(List<Long> orderInfoIdsList) { public void deleteListByOrderInfoIds(List<Long> orderInfoIdsList) {
baseMapper.deleteListByOrderInfoIds(orderInfoIdsList); baseMapper.deleteListByOrderInfoIds(orderInfoIdsList);
} }
@Override
public void deleteDataByWaybillId(Long waybillId) {
baseMapper.deleteDataByWaybillId(waybillId);
}
} }

76
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java

@ -19,17 +19,18 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException; import org.springblade.common.exception.CustomerException;
import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Objects;
@Slf4j @Slf4j
@RestController @RestController
@ -1378,6 +1379,39 @@ public class CarsLoadController {
} }
} }
@ResponseBody
@PostMapping("/carsLoadDetailInfoNew")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "配载计划详情", notes = "传入loadCarsDTO")
public R carsLoadDetailInfoNew(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############carsLoadDetailInfo: ";
log.info(method+"请求参数{}",loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
// if(Objects.isNull(myCurrentWarehouse)){
// log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
// return R.fail(400,"多仓权限无法操作,请选择仓库");
// }
// loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载计划id为空 loadId={}",loadId);
return R.fail(400,"配载计划id为空");
}
return carsLoadService.carsLoadDetailInfoNew(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody @ResponseBody
@PostMapping("/zeroSuppleList") @PostMapping("/zeroSuppleList")
@ -2889,4 +2923,40 @@ public class CarsLoadController {
} }
@ResponseBody
@PostMapping("/syncNoSystemData")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "同步系统无编码的数据", notes = "传入loadCarsDTO")
public R syncNoSystemData(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############syncNoSystemData: ";
log.info(method+"请求参数{}",loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"请选择指定仓库 loadId={}",loadId);
return R.fail(405,"请选择指定仓库");
}
Long warehouseId = myCurrentWarehouse.getId();
String warehouseName = myCurrentWarehouse.getName();
if(Objects.isNull(loadId)){
log.warn(method+"车次id为空 loadId={}",loadId);
return R.fail(405,"车次id为空");
}
return carsLoadService.syncNoSystemData(loadId,warehouseId,warehouseName);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
} }

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java

@ -191,4 +191,10 @@ public interface TrunklineCarsLoadScanMapper extends BaseMapper<TrunklineCarsLoa
TrunklineCarsLoadScanEntity findEntityByLoadIdAndOrderPackageCodeAndScanStatus(@Param("loadId") Long loadId, @Param("orderPackageCode") String orderPackageCode, @Param("scanStatus") String scanStatus); TrunklineCarsLoadScanEntity findEntityByLoadIdAndOrderPackageCodeAndScanStatus(@Param("loadId") Long loadId, @Param("orderPackageCode") String orderPackageCode, @Param("scanStatus") String scanStatus);
List<TrunklineCarsLoadScanEntity> findListByLoadId(@Param("loadId") Long loadId); List<TrunklineCarsLoadScanEntity> findListByLoadId(@Param("loadId") Long loadId);
List<TrunklineCarsLoadScanVO> findListAndPriceByLoadId(@Param("loadId") Long loadId);
List<TrunklineCarsLoadScanEntity> findUnloadNoDataList(@Param("loadId") Long loadId, @Param("warehouseId") Long warehouseId);
void updateReserve1ByOrderPackageCode(@Param("orderPackageCode") String orderPackageCode, @Param("reseve1") String reseve1);
} }

24
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -1155,4 +1155,28 @@
</select> </select>
<select id="findListAndPriceByLoadId" resultType="com.logpm.trunkline.vo.TrunklineCarsLoadScanVO">
select ltcls.*,
ltad.income_category_name goodsName
from logpm_trunkline_cars_load_scan ltcls
left join logpm_trunkline_advance_detail ltad on ltad.order_package_code = ltcls.scan_code
where ltcls.load_id = #{loadId}
</select>
<select id="findUnloadNoDataList" resultType="com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity">
select *
from logpm_trunkline_cars_load_scan
where load_id = #{loadId}
and unload_node_id = #{warehouseId}
and scan_status != '1'
and is_data = 0
and reserve1 = '1'
</select>
<update id="updateReserve1ByOrderPackageCode">
update logpm_trunkline_cars_load_scan
set reserve1 = #{reseve1}
where scan_code = #{orderPackageCode}
</update>
</mapper> </mapper>

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java

@ -193,4 +193,10 @@ public interface ITrunklineCarsLoadScanService extends BaseService<TrunklineCars
TrunklineCarsLoadScanEntity findEntityByLoadIdAndOrderPackageCodeAndScanStatus(Long loadId, String orderPackageCode, String scanStatus); TrunklineCarsLoadScanEntity findEntityByLoadIdAndOrderPackageCodeAndScanStatus(Long loadId, String orderPackageCode, String scanStatus);
List<TrunklineCarsLoadScanEntity> findListByLoadId(Long loadId); List<TrunklineCarsLoadScanEntity> findListByLoadId(Long loadId);
List<TrunklineCarsLoadScanVO> findListAndPriceByLoadId(Long loadId);
List<TrunklineCarsLoadScanEntity> findUnloadNoDataList(Long loadId, Long warehouseId);
void updateReserve1ByOrderPackageCode(String orderPackageCode, String reseve1);
} }

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java

@ -268,4 +268,8 @@ public interface ITrunklineCarsLoadService extends BaseService<TrunklineCarsLoad
* @return * @return
*/ */
List<TrunklineCarsLoadExcel> exportCarsPageList(LoadCarsDTO loadCarsDTO); List<TrunklineCarsLoadExcel> exportCarsPageList(LoadCarsDTO loadCarsDTO);
R syncNoSystemData(Long loadId,Long warehouseId,String warehouseName);
R carsLoadDetailInfoNew(LoadCarsDTO loadCarsDTO);
} }

38
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java

@ -4327,25 +4327,37 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
log.warn("##########cancleCheckWaybill: 运单信息不存在 waybillId={}",waybillId); log.warn("##########cancleCheckWaybill: 运单信息不存在 waybillId={}",waybillId);
return R.fail(405,"运单信息不存在"); return R.fail(405,"运单信息不存在");
} }
String payWay = waybillEntity.getPayWay();
Integer checkStatus = waybillEntity.getCheckStatus(); Integer checkStatus = waybillEntity.getCheckStatus();
if(checkStatus.equals(0)){ if(checkStatus.equals(0)){
log.warn("##########cancleCheckWaybill: 运单还未审核 waybillId={} checkStatus={}",waybillId,checkStatus); log.warn("##########cancleCheckWaybill: 运单还未审核 waybillId={} checkStatus={}",waybillId,checkStatus);
return R.fail(405,"运单还未审核"); return R.fail(405,"运单还未审核");
} }
List<String> orderCodes = distributionParcelListClient.findOrderCodeByWaybillId(waybillId); if("1".equals(payWay)||"2".equals(payWay)){
List<Long> reservationIds = reservationStockarticleClient.findReservationIdsByOrderCodes(orderCodes); List<String> orderCodes = distributionParcelListClient.findOrderCodeByWaybillId(waybillId);
if(CollUtil.isNotEmpty(reservationIds)){ List<Long> reservationIds = reservationStockarticleClient.findReservationIdsByOrderCodes(orderCodes);
log.warn("##########cancleCheckWaybill: 运单已有配送计划 waybillId={}",waybillId); if(CollUtil.isNotEmpty(reservationIds)){
return R.fail(405,"运单已有配送计划"); log.warn("##########cancleCheckWaybill: 运单已有配送计划 waybillId={}",waybillId);
return R.fail(405,"运单已有配送计划");
}
} }
Integer status = orderInfoClient.findCreateRencilitionOrderStatus(waybillId);
//判断结算单是否有生成
// Integer status = orderInfoClient.findCreateRencilitionOrderStatus(waybillId);
//判断是否有生成结算单或者是否有结算金额
Integer status = orderInfoClient.findBalanceOrderStatus(waybillId);
if(status == 1){ if(status == 1){
log.warn("##########cancleCheckWaybill: 运单已有预存单确认 waybillId={}",waybillId); log.warn("##########cancleCheckWaybill: 运单已有结算金额 waybillId={}",waybillId);
return R.fail(405,"运单已有预存单确认"); return R.fail(405,"运单已有结算金额");
} }
orderInfoClient.deleteWaybillData(waybillId);
WarehouseWaybillEntity updateWaybillEntity = new WarehouseWaybillEntity(); WarehouseWaybillEntity updateWaybillEntity = new WarehouseWaybillEntity();
updateWaybillEntity.setId(waybillId); updateWaybillEntity.setId(waybillId);
updateWaybillEntity.setCheckStatus(0); updateWaybillEntity.setCheckStatus(0);
@ -4365,11 +4377,11 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
//发送运单取消审核的广播 //发送运单取消审核的广播
JSONObject jsonObject = new JSONObject(); // JSONObject jsonObject = new JSONObject();
jsonObject.put("waybillId",waybillId); // jsonObject.put("waybillId",waybillId);
FanoutMsg fanoutMsg = FanoutMsg.builder().exchange(FanoutConstants.trunkline.CANCLECHECKWAYBILL.EXCHANGE) // FanoutMsg fanoutMsg = FanoutMsg.builder().exchange(FanoutConstants.trunkline.CANCLECHECKWAYBILL.EXCHANGE)
.msg(jsonObject.toJSONString()).build(); // .msg(jsonObject.toJSONString()).build();
sendFanoutService.sendFanoutMsg(fanoutMsg); // sendFanoutService.sendFanoutMsg(fanoutMsg);
return R.success("取消成功"); return R.success("取消成功");
} }

15
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java

@ -479,4 +479,19 @@ public class TrunklineCarsLoadScanServiceImpl extends BaseServiceImpl<TrunklineC
return baseMapper.findListByLoadId(loadId); return baseMapper.findListByLoadId(loadId);
} }
@Override
public List<TrunklineCarsLoadScanVO> findListAndPriceByLoadId(Long loadId) {
return baseMapper.findListAndPriceByLoadId(loadId);
}
@Override
public List<TrunklineCarsLoadScanEntity> findUnloadNoDataList(Long loadId, Long warehouseId) {
return baseMapper.findUnloadNoDataList(loadId,warehouseId);
}
@Override
public void updateReserve1ByOrderPackageCode(String orderPackageCode, String reseve1) {
baseMapper.updateReserve1ByOrderPackageCode(orderPackageCode,reseve1);
}
} }

452
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity;
import com.logpm.aftersales.feign.IAftersalesAbnormalRecordClient; import com.logpm.aftersales.feign.IAftersalesAbnormalRecordClient;
import com.logpm.aftersales.feign.IAftersalesWorkOrderClient; import com.logpm.aftersales.feign.IAftersalesWorkOrderClient;
import com.logpm.aftersales.vo.DealWithAbnormalVO;
import com.logpm.basicdata.entity.BasicdataDriverArteryEntity; import com.logpm.basicdata.entity.BasicdataDriverArteryEntity;
import com.logpm.basicdata.entity.BasicdataTrayEntity; import com.logpm.basicdata.entity.BasicdataTrayEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
@ -55,6 +56,7 @@ import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient;
import com.logpm.warehouse.vo.WarehouseWaybillVO;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO; import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -67,6 +69,7 @@ import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.CommonUtil;
import org.springblade.common.utils.QRCodeUtil; import org.springblade.common.utils.QRCodeUtil;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
@ -133,6 +136,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
private final ITrunklineWaybillTrackService waybillTrackService; private final ITrunklineWaybillTrackService waybillTrackService;
private final ITrunklineScanZeroDetailService scanZeroDetailService; private final ITrunklineScanZeroDetailService scanZeroDetailService;
private final ITrunklineCarsLoadLinePhotoService carsLoadLinePhotoService; private final ITrunklineCarsLoadLinePhotoService carsLoadLinePhotoService;
private final ITrunklineAdvanceService advanceService;
private final BladeRedis bladeRedis;
@Override @Override
public IPage<TrunklineCarsLoadVO> loadCarsPageList(LoadCarsDTO loadCarsDTO) { public IPage<TrunklineCarsLoadVO> loadCarsPageList(LoadCarsDTO loadCarsDTO) {
@ -3582,6 +3588,10 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
if (Objects.isNull(trunklineAdvanceDetailEntity)) { if (Objects.isNull(trunklineAdvanceDetailEntity)) {
carsLoadScanEntity.setOrderCode("--"); carsLoadScanEntity.setOrderCode("--");
carsLoadScanEntity.setIsData(0); carsLoadScanEntity.setIsData(0);
carsLoadScanEntity.setReserve1("1");
//把其他仓reserve1为1的更新为2
trunklineCarsLoadScanService.updateReserve1ByOrderPackageCode(orderPackageCode,"2");
isData = 0; isData = 0;
remark = "无系统数据,异常装车"; remark = "无系统数据,异常装车";
audio = "系统无编码"; audio = "系统无编码";
@ -4524,6 +4534,294 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.data(orderScanDetailList); return R.data(orderScanDetailList);
} }
@Override
public R carsLoadDetailInfoNew(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
//查询配载计划
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId);
if (Objects.isNull(carsLoadEntity)) {
log.warn("###################carsLoadDetailInfo: 配载计划信息为空 loadId={}", loadId);
return R.fail(405, "配载计划信息为空");
}
BigDecimal countTransportCost = carsLoadEntity.getCountTransportCost();
Integer unloadNumber = carsLoadEntity.getUnloadNumber();
BigDecimal freightPrice = countTransportCost.divide(new BigDecimal(unloadNumber),2, RoundingMode.HALF_UP);
List<TrunklineCarsLoadLineEntity> loadLineList = trunklineCarsLoadLineService.findListByLoadId(loadId);
TrunklineCarsLoadVO trunklineCarsLoadVO = new TrunklineCarsLoadVO();
BeanUtil.copy(carsLoadEntity, trunklineCarsLoadVO);
trunklineCarsLoadVO.setCarsLoadLineList(loadLineList);
//所有车辆配载计划
List<TrunklineCarsOrderEntity> carsOrderList = trunklineCarsOrderService.findListByLoadId(loadId);
//把carsOrderList中所有waybillNo放入一个List
Set<String> planWaybillNoSet = carsOrderList.stream().map(TrunklineCarsOrderEntity::getWaybillNo).collect(Collectors.toSet());
//把carsOrderList通过waybillNo进行分组
Map<String, List<TrunklineCarsOrderEntity>> carsOrderMapByWaybillNo = carsOrderList.stream().filter(item -> StringUtil.isNotBlank(item.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsOrderEntity::getWaybillNo));
//所有车辆配载实际装车
List<TrunklineCarsLoadScanVO> loadScanList = trunklineCarsLoadScanService.findListAndPriceByLoadId(loadId);
//把carsOrderList中所有waybillNo放入一个List
Set<String> realWaybillNoSet = loadScanList.stream().filter(item -> StringUtil.isNotBlank(item.getWaybillNo())).map(TrunklineCarsLoadScanVO::getWaybillNo).collect(Collectors.toSet());
//把loadScanList通过waybillNo分组
Map<String, List<TrunklineCarsLoadScanVO>> loadScanMapByWaybillNo = loadScanList.stream().filter(item -> StringUtil.isNotBlank(item.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getWaybillNo));
//提出loadScanList中运单号为空的记录
List<TrunklineCarsLoadScanVO> noWaybillLoadScanList = loadScanList.stream().filter(item -> StringUtil.isBlank(item.getWaybillNo())).collect(Collectors.toList());
//先把所有需要查询的运单信息查出来
Set<String> allWaybillNoSet = new HashSet<>();
allWaybillNoSet.addAll(planWaybillNoSet);
allWaybillNoSet.addAll(realWaybillNoSet);
List<WarehouseWaybillVO> warehouseWaybillVOS = warehouseWaybillClient.findWaybillVOByWaybillNoSet(allWaybillNoSet);
List<CarsLoadWaybillInfoVO> carsLoadWaybillInfoVOList = new ArrayList<>();
warehouseWaybillVOS.forEach(item -> {
CarsLoadWaybillInfoVO carsLoadWaybillInfoVO = new CarsLoadWaybillInfoVO();
BeanUtil.copy(item,carsLoadWaybillInfoVO);
String waybillNo = carsLoadWaybillInfoVO.getWaybillNo();
Integer waybillNum = carsLoadWaybillInfoVO.getWaybillNum();
String goodsName = carsLoadWaybillInfoVO.getGoodsName();
String productPrice = carsLoadWaybillInfoVO.getProductPrice();
String productNum = carsLoadWaybillInfoVO.getProductNum();
String productVolume = carsLoadWaybillInfoVO.getProductVolume();
String productWeight = carsLoadWaybillInfoVO.getProductWeight();
String[] nameArray = goodsName.split(",");
String[] priceArray = productPrice.split(",");
String[] numArray = productNum.split(",");
String[] volumeArray = productVolume.split(",");
String[] weightArray = productWeight.split(",");
//计算每个品类的单个价格 体积 重量
Map<String,String> priceMap = new HashMap<>();
Map<String,String> volumeMap = new HashMap<>();
Map<String,String> weightMap = new HashMap<>();
for (int i = 0; i < nameArray.length; i++) {
priceMap.put(nameArray[i],priceArray[i]);
String num = numArray[i];
String volume = volumeArray[i];
String weight = weightArray[i];
volumeMap.put(nameArray[i],new BigDecimal(volume).divide(new BigDecimal(num),2, RoundingMode.HALF_UP).toString());
weightMap.put(nameArray[i],new BigDecimal(weight).divide(new BigDecimal(num),2, RoundingMode.HALF_UP).toString());
}
List<CarsLoadOrderInfoVO> resulOrderList = new ArrayList<>();
List<TrunklineCarsOrderEntity> carsOrderEntityList = carsOrderMapByWaybillNo.get(waybillNo);//计划订单列表
List<CarsLoadOrderInfoVO> carsLoadOrderInfoVOList = new ArrayList<>();
if(CollUtil.isNotEmpty(carsOrderEntityList)){
carsOrderEntityList.forEach(carsOrderEntity -> {
Integer realNum = carsOrderEntity.getRealNum();
CarsLoadOrderInfoVO carsLoadOrderInfoVO = new CarsLoadOrderInfoVO();
carsLoadOrderInfoVO.setOrderCode(carsOrderEntity.getOrderCode());
carsLoadOrderInfoVO.setWaybillNo(waybillNo);
carsLoadOrderInfoVO.setOrderNum(carsOrderEntity.getTotalNum());
carsLoadOrderInfoVO.setPlanNum(carsOrderEntity.getPlanNum());
carsLoadOrderInfoVO.setLoadingNum(realNum);
carsLoadOrderInfoVO.setUnloadNum(carsOrderEntity.getUnloadNum());
carsLoadOrderInfoVO.setSignNum(carsOrderEntity.getSignNum());
carsLoadOrderInfoVO.setOrderFreight(freightPrice.multiply(new BigDecimal(realNum)).setScale(2, RoundingMode.HALF_UP));
carsLoadOrderInfoVOList.add(carsLoadOrderInfoVO);
});
}
//把carsLoadOrderInfoVOList转化成以orderCode为key的Map
Map<String, CarsLoadOrderInfoVO> carsLoadOrderInfoVOMap = carsLoadOrderInfoVOList.stream().collect(Collectors.toMap(CarsLoadOrderInfoVO::getOrderCode, Function.identity()));
List<TrunklineCarsLoadScanVO> trunklineCarsLoadScanEntities = loadScanMapByWaybillNo.get(waybillNo);//订单实际装车
if(CollUtil.isNotEmpty(trunklineCarsLoadScanEntities)){
//把trunklineCarsLoadScanEntities通过orderCode分组
Map<String, List<TrunklineCarsLoadScanVO>> trunklineCarsLoadScanMapByOrderCode = trunklineCarsLoadScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getOrderCode));
trunklineCarsLoadScanMapByOrderCode.keySet().forEach(orderCode -> {
List<TrunklineCarsLoadScanVO> trunklineCarsLoadScanListByOrderCode = trunklineCarsLoadScanMapByOrderCode.get(orderCode);//订单实际装车
//把trunklineCarsLoadScanListByOrderCode中所有元素num求和,num为空用0代替
Integer loadingNum = trunklineCarsLoadScanListByOrderCode.stream().map(TrunklineCarsLoadScanVO::getNum).reduce(0, Integer::sum);
Integer unloadNum = trunklineCarsLoadScanListByOrderCode.stream().map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum);
Integer signNum = trunklineCarsLoadScanListByOrderCode.stream().filter(t -> t.getScanStatus().equals("3")).map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum);
CarsLoadOrderInfoVO carsLoadOrderInfoVO = carsLoadOrderInfoVOMap.get(orderCode);
if(Objects.isNull(carsLoadOrderInfoVO)){
carsLoadOrderInfoVO = new CarsLoadOrderInfoVO();
carsLoadOrderInfoVO.setOrderCode(orderCode);
carsLoadOrderInfoVO.setWaybillNo(waybillNo);
TrunklineWaybillOrderEntity trunklineWaybillOrder = trunklineWaybillOrderService.findEntityByWaybillNoAndOrderCode(waybillNo, orderCode);
if(!Objects.isNull(trunklineWaybillOrder)){
carsLoadOrderInfoVO.setOrderNum(trunklineWaybillOrder.getTotalNumber());
}else{
carsLoadOrderInfoVO.setOrderNum(0);
}
carsLoadOrderInfoVO.setLoadingNum(loadingNum);
carsLoadOrderInfoVO.setUnloadNum(unloadNum);
carsLoadOrderInfoVO.setSignNum(signNum);
carsLoadOrderInfoVOMap.put(orderCode, carsLoadOrderInfoVO);
}
//把trunklineCarsLoadScanListByOrderCode通过type分组
Map<Integer, List<TrunklineCarsLoadScanVO>> trunklineCarsLoadScanMapByType = trunklineCarsLoadScanListByOrderCode.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getType));
AtomicReference<BigDecimal> totalIncomingParice = new AtomicReference<>(BigDecimal.ZERO);
AtomicReference<BigDecimal> totalVolume = new AtomicReference<>(BigDecimal.ZERO);
AtomicReference<BigDecimal> totalWeight = new AtomicReference<>(BigDecimal.ZERO);
trunklineCarsLoadScanMapByType.keySet().forEach(type -> {
List<TrunklineCarsLoadScanVO> trunklineCarsLoadScanVOS = trunklineCarsLoadScanMapByType.get(type);
if(NumberUtil.equals(type,1)){
//订制品
trunklineCarsLoadScanVOS.forEach(trunklineCarsLoadScanVO -> {
String gn = trunklineCarsLoadScanVO.getGoodsName();
Integer num = trunklineCarsLoadScanVO.getNum();
Integer unloadNum1 = trunklineCarsLoadScanVO.getUnloadNum();
if(Objects.isNull(unloadNum1)){
unloadNum1 = 0;
}
String price = priceMap.get(gn);
if(StrUtil.isBlank(price)){
price = "0";
}
String oneVolume = volumeMap.get(gn);
if(StrUtil.isBlank(oneVolume)){
oneVolume = "0";
}
String oneWeight = weightMap.get(gn);
if(StrUtil.isBlank(oneWeight)){
oneWeight = "0";
}
totalIncomingParice.set(totalIncomingParice.get().add(new BigDecimal(price).multiply(new BigDecimal(unloadNum1))));
totalVolume.set(totalVolume.get().add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1))));
totalWeight.set(totalWeight.get().add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1))));
});
}else if(NumberUtil.equals(type,2)){
trunklineCarsLoadScanVOS.forEach(trunklineCarsLoadScanVO -> {
String scanCode = trunklineCarsLoadScanVO.getScanCode();
Integer num = trunklineCarsLoadScanVO.getNum();
Integer unloadNum1 = trunklineCarsLoadScanVO.getUnloadNum();
if(Objects.isNull(unloadNum1)){
unloadNum1 = 0;
}
String price = priceMap.get(scanCode);
if(StrUtil.isBlank(price)){
price = "0";
}
String oneVolume = volumeMap.get(scanCode);
if(StrUtil.isBlank(oneVolume)){
oneVolume = "0";
}
String oneWeight = weightMap.get(scanCode);
if(StrUtil.isBlank(oneWeight)){
oneWeight = "0";
}
totalIncomingParice.set(totalIncomingParice.get().add(new BigDecimal(price).multiply(new BigDecimal(unloadNum1))));
totalVolume.set(totalVolume.get().add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1))));
totalWeight.set(totalWeight.get().add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1))));
});
}
});
carsLoadOrderInfoVO.setUnloadIncome(totalIncomingParice.get());
carsLoadOrderInfoVO.setWeight(totalWeight.get());
carsLoadOrderInfoVO.setVolume(totalVolume.get());
resulOrderList.add(carsLoadOrderInfoVO);
});
}
TrunklineCostShareRecordEntity costShareRecordEntity = trunklineCostShareRecordService.findTotalUnloadNumByLoadAndWaybillNo(loadId, waybillNo);
carsLoadWaybillInfoVO.setCostPiece(costShareRecordEntity.getCostPiece());
carsLoadWaybillInfoVO.setCostZhang(costShareRecordEntity.getCostZhang());
carsLoadWaybillInfoVO.setCostNum(costShareRecordEntity.getNum());
carsLoadWaybillInfoVO.setCarsLoadOrderInfoList(resulOrderList);
carsLoadWaybillInfoVOList.add(carsLoadWaybillInfoVO);
});
//无系统编码的数据
CarsLoadWaybillInfoVO noWaybillNoCarsLoadWaybillInfoVO = new CarsLoadWaybillInfoVO();
noWaybillNoCarsLoadWaybillInfoVO.setCheckStatus(0);
noWaybillNoCarsLoadWaybillInfoVO.setWaybillNum(0);
noWaybillNoCarsLoadWaybillInfoVO.setTotalVolume(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setTotalWeight(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setWaybillType(1);
noWaybillNoCarsLoadWaybillInfoVO.setTotalFreight(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setDeliveryFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setPickupFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setWarehouseManagementFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setStorageFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setSortingFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setHandlingFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setOtherFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setInsuranceFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setTotalFee(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setCostPiece(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setCostZhang(BigDecimal.ZERO);
noWaybillNoCarsLoadWaybillInfoVO.setCostNum(0);
List<CarsLoadOrderInfoVO> noWaybillOrderList = new ArrayList<>();
//把noWaybillLoadScanList通过orderCode分组
Map<String, List<TrunklineCarsLoadScanVO>> noWaybillNoTrunklineCarsLoadScanMapByOrderCode = noWaybillLoadScanList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getOrderCode));
noWaybillNoTrunklineCarsLoadScanMapByOrderCode.keySet().forEach(orderCode -> {
List<TrunklineCarsLoadScanVO> trunklineCarsLoadScanVOS = noWaybillNoTrunklineCarsLoadScanMapByOrderCode.get(orderCode);
//把trunklineCarsLoadScanVOS中所有元素的num加起来,如果num为空则用0代替
Integer loadingNum = trunklineCarsLoadScanVOS.stream().map(TrunklineCarsLoadScanVO::getNum).reduce(0, Integer::sum);
Integer unloadNum = trunklineCarsLoadScanVOS.stream().map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum);
Integer signNum = trunklineCarsLoadScanVOS.stream().filter(t-> t.getScanStatus().equals("3")).map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum);
CarsLoadOrderInfoVO carsLoadOrderInfoVO = new CarsLoadOrderInfoVO();
carsLoadOrderInfoVO.setOrderCode(orderCode);
carsLoadOrderInfoVO.setOrderNum(0);
carsLoadOrderInfoVO.setPlanNum(0);
carsLoadOrderInfoVO.setLoadingNum(loadingNum);
carsLoadOrderInfoVO.setUnloadNum(unloadNum);
carsLoadOrderInfoVO.setSignNum(signNum);
carsLoadOrderInfoVO.setUnloadIncome(BigDecimal.ZERO);
carsLoadOrderInfoVO.setCostPiece(BigDecimal.ZERO);
carsLoadOrderInfoVO.setCostPiece(BigDecimal.ZERO);
carsLoadOrderInfoVO.setWeight(BigDecimal.ZERO);
carsLoadOrderInfoVO.setVolume(BigDecimal.ZERO);
carsLoadOrderInfoVO.setIncome(BigDecimal.ZERO);
carsLoadOrderInfoVO.setOrderFreight(freightPrice.multiply(new BigDecimal(unloadNum)));
noWaybillOrderList.add(carsLoadOrderInfoVO);
});
noWaybillNoCarsLoadWaybillInfoVO.setCarsLoadOrderInfoList(noWaybillOrderList);
//对元素中的waybillNo进行倒序排序
carsLoadWaybillInfoVOList.sort(Comparator.comparing(CarsLoadWaybillInfoVO::getWaybillNo).reversed());
carsLoadWaybillInfoVOList.add(noWaybillNoCarsLoadWaybillInfoVO);
trunklineCarsLoadVO.setCarsLoadWaybillInfoList(carsLoadWaybillInfoVOList);
return R.data(trunklineCarsLoadVO);
}
@Override @Override
public R carsLoadDetailInfo(LoadCarsDTO loadCarsDTO) { public R carsLoadDetailInfo(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId(); Long loadId = loadCarsDTO.getLoadId();
@ -9194,6 +9492,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
trunklineCarsLoadScanEntity.setNum(1); trunklineCarsLoadScanEntity.setNum(1);
trunklineCarsLoadScanEntity.setType(1); trunklineCarsLoadScanEntity.setType(1);
trunklineCarsLoadScanEntity.setIsData(0); trunklineCarsLoadScanEntity.setIsData(0);
trunklineCarsLoadScanEntity.setReserve1("1");
//把其他仓reserve1为1的更新为2
trunklineCarsLoadScanService.updateReserve1ByOrderPackageCode(orderPackageCode,"2");
isData=0; isData=0;
trunklineCarsLoadScanEntity.setLoadingAbnormal(1); trunklineCarsLoadScanEntity.setLoadingAbnormal(1);
trunklineCarsLoadScanEntity.setUnloadAbnormal(1); trunklineCarsLoadScanEntity.setUnloadAbnormal(1);
@ -9525,6 +9826,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
//未入库 //未入库
InComingDTO inComingDTO = new InComingDTO(); InComingDTO inComingDTO = new InComingDTO();
inComingDTO.setOrderPackageCode(orderPackageCode); inComingDTO.setOrderPackageCode(orderPackageCode);
inComingDTO.setIncomingType(incomingType);
inComingDTO.setWarehouseId(warehouseId); inComingDTO.setWarehouseId(warehouseId);
inComingService.incomingPackage(inComingDTO); inComingService.incomingPackage(inComingDTO);
@ -9568,6 +9870,10 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
isData = 1; isData = 1;
trunklineCarsLoadScanService.updateById(carsLoadScanEntity); trunklineCarsLoadScanService.updateById(carsLoadScanEntity);
}else{
carsLoadScanEntity.setReserve1("1");
trunklineCarsLoadScanService.updateById(carsLoadScanEntity);
} }
} }
} }
@ -10427,10 +10733,152 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
loadCarsDTO.setArriveTimeStart(CommonUtil.getStartByDateStr(loadCarsDTO.getArriveTimeStartStr())); loadCarsDTO.setArriveTimeStart(CommonUtil.getStartByDateStr(loadCarsDTO.getArriveTimeStartStr()));
loadCarsDTO.setArriveTimeEnd(CommonUtil.getEndByDateStr(loadCarsDTO.getArriveTimeEndStr())); loadCarsDTO.setArriveTimeEnd(CommonUtil.getEndByDateStr(loadCarsDTO.getArriveTimeEndStr()));
List<TrunklineCarsLoadExcel> pageList = baseMapper.exportCarsPageList(loadCarsDTO); List<TrunklineCarsLoadExcel> pageList = baseMapper.exportCarsPageList(loadCarsDTO);
return pageList; return pageList;
} }
@Transactional(rollbackFor = Exception.class)
@Override
public R syncNoSystemData(Long loadId, Long warehouseId,String warehouseName) {
String key = "syncNoSystemData:"+loadId+":"+warehouseId;
Boolean exists = bladeRedis.exists(key);
if(exists){
return R.fail("正在同步中,请勿重复操作");
}else{
bladeRedis.set(key,"1");
}
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId);
if(Objects.isNull(carsLoadEntity)){
log.warn("###########syncNoSystemData: 配载计划不存在 loadId={}",loadId);
return R.fail(405,"配载计划不存在");
}
List<TrunklineCarsLoadScanEntity> carsLoadScanEntities = trunklineCarsLoadScanService.findUnloadNoDataList(loadId,warehouseId);
//把carsLoadScanEntities中所有元素的scanCode放入一个Set集合
Set<String> scanCodeSet = carsLoadScanEntities.stream().map(TrunklineCarsLoadScanEntity::getScanCode).collect(Collectors.toSet());
log.info("###############syncNoSystemData: 当前同步的数据 {}",scanCodeSet);
List<String> scanCodeList = new ArrayList<>(scanCodeSet);
List<TrunklineAdvanceDetailEntity> allAdvanceDetailList = new ArrayList<>();
int packageBatchSize = 500;
List<List<String>> orderPackageCodeGroups = new ArrayList<>();
for (int i = 0; i < scanCodeList.size(); i += packageBatchSize) {
int endIndex = Math.min(i + packageBatchSize, scanCodeList.size());
orderPackageCodeGroups.add(scanCodeList.subList(i, endIndex));
}
orderPackageCodeGroups.forEach(orderPackageCodeGroup -> {
List<TrunklineAdvanceDetailEntity> advanceDetailEntityList = trunklineAdvanceDetailService.findListByOrderPackageCodeList(orderPackageCodeGroup);
allAdvanceDetailList.addAll(advanceDetailEntityList);
});
//把allAdvanceDetailList转化成orderPackageCode为key的Map
Map<String, TrunklineAdvanceDetailEntity> advanceDetailMap = allAdvanceDetailList.stream().collect(Collectors.toMap(TrunklineAdvanceDetailEntity::getOrderPackageCode, Function.identity()));
List<TrunklineCarsLoadScanEntity> updateScanList = new ArrayList<>();
List<TrunklineAdvanceDetailEntity> incomingAdvanceDetailList = new ArrayList<>();
List<TrunklineAdvanceDetailEntity> udateAdvanceDetailList = new ArrayList<>();
Set<String> orderPackageCodeSet = new HashSet<>();
carsLoadScanEntities.forEach(carsLoadScanEntity -> {
String orderPackageCode = carsLoadScanEntity.getScanCode();
TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity = advanceDetailMap.get(orderPackageCode);
if(!Objects.isNull(trunklineAdvanceDetailEntity)){
orderPackageCodeSet.add(orderPackageCode);
TrunklineCarsLoadScanEntity updateScanEntity = new TrunklineCarsLoadScanEntity();
updateScanEntity.setId(carsLoadScanEntity.getId());
String packageStatus = trunklineAdvanceDetailEntity.getPackageStatus();
if(packageStatus.equals("0")){
updateScanEntity.setFromWarehouseId(trunklineAdvanceDetailEntity.getWarehouseId());
incomingAdvanceDetailList.add(trunklineAdvanceDetailEntity);
}else{
updateScanEntity.setFromWarehouseId(trunklineAdvanceDetailEntity.getNowWarehouseId());
udateAdvanceDetailList.add(trunklineAdvanceDetailEntity);
}
updateScanEntity.setOrderCode(trunklineAdvanceDetailEntity.getOrderCode());
updateScanEntity.setWaybillId(trunklineAdvanceDetailEntity.getWaybillId());
updateScanEntity.setWaybillNo(trunklineAdvanceDetailEntity.getWaybillNo());
updateScanEntity.setIsData(1);
updateScanList.add(updateScanEntity);
}
});
if(CollUtil.isNotEmpty(incomingAdvanceDetailList)){
for (TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity : incomingAdvanceDetailList) {
InComingDTO inComingDTO = new InComingDTO();
inComingDTO.setOrderPackageCode(trunklineAdvanceDetailEntity.getOrderPackageCode());
inComingDTO.setIncomingType(IncomingTypeEnum.SYNC_INCOMING.getCode());
inComingDTO.setWarehouseId(warehouseId);
R r = inComingService.incomingPackage(inComingDTO);
if(r.getCode() != 200){
throw new CustomerException(405,"入库失败");
}
}
}
if(CollUtil.isNotEmpty(udateAdvanceDetailList)){
List<DistributionParcelListEntity> updateParceList = new ArrayList<>();
udateAdvanceDetailList.forEach(trunklineAdvanceDetailEntity -> {
String orderPackageCode = trunklineAdvanceDetailEntity.getOrderPackageCode();
List<DistributionParcelListEntity> list = distributionParcelListClient.findListByOrderPackageCodeAndStatus(orderPackageCode,"20");
//把list通过warehouseId进行分组
if(CollUtil.isNotEmpty(list)){
list.forEach(distributionParcelListEntity -> {
DistributionParcelListEntity updateEntity = new DistributionParcelListEntity();
updateEntity.setId(distributionParcelListEntity.getId());
updateEntity.setOrderPackageStatus("60");
updateParceList.add(updateEntity);
});
}
});
distributionParcelListClient.updateList(updateParceList);
advanceService.saveOrderAndPackages(udateAdvanceDetailList, warehouseId);
List<TrunklineAdvanceDetailEntity> updateNowWarehouseList = new ArrayList<>();
udateAdvanceDetailList.forEach(trunklineAdvanceDetailEntity -> {
TrunklineAdvanceDetailEntity updateEntity = new TrunklineAdvanceDetailEntity();
updateEntity.setId(trunklineAdvanceDetailEntity.getId());
updateEntity.setNowWarehouseId(warehouseId);
updateEntity.setNowWarehouseName(warehouseName);
updateNowWarehouseList.add(updateEntity);
});
trunklineAdvanceDetailService.updateBatchById(updateNowWarehouseList);
}
trunklineCarsLoadScanService.updateBatchById(updateScanList);
int i= 0;
//完结所有包件异常列表
if(CollUtil.isNotEmpty(orderPackageCodeSet)){
i = orderPackageCodeSet.size();
DealWithAbnormalVO dealWithAbnormalVO = new DealWithAbnormalVO();
dealWithAbnormalVO.setOrderPackageCodes(new ArrayList<>(orderPackageCodeSet));
dealWithAbnormalVO.setCarsNo(carsLoadEntity.getCarsNo());
dealWithAbnormalVO.setWarehouseName(warehouseName);
dealWithAbnormalVO.setNickName(AuthUtil.getNickName());
abnormalRecordClient.dealwithOrderPackageCodes(dealWithAbnormalVO);
}
bladeRedis.del(key);
return R.success("同步成功"+i+"条");
}
@Override @Override
public R unloadZero(Long carsLoadScanId,Long loadId, String waybillNo, Integer enterNun, Long warehouseId, Integer unbindTray, String trayCode, String orderCode, String remark,String unloadTrayName,String unloadTrayCode,List<ZeroPackageDTO> zeroPackageList) { public R unloadZero(Long carsLoadScanId,Long loadId, String waybillNo, Integer enterNun, Long warehouseId, Integer unbindTray, String trayCode, String orderCode, String remark,String unloadTrayName,String unloadTrayCode,List<ZeroPackageDTO> zeroPackageList) {
@ -11159,3 +11607,5 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
} }

8
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.service.IWarehouseWaybillService; import com.logpm.warehouse.service.IWarehouseWaybillService;
import com.logpm.warehouse.vo.WarehouseWaybillVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
@ -15,7 +16,9 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set;
//@NonDS //@NonDS
@ApiIgnore @ApiIgnore
@ -124,4 +127,9 @@ public class WarehouseWaybillClient implements IWarehouseWaybillClient {
public void deleteByWaybillIds(List<Long> waybillIds) { public void deleteByWaybillIds(List<Long> waybillIds) {
warehouseWaybillService.deleteByWaybillIds(waybillIds); warehouseWaybillService.deleteByWaybillIds(waybillIds);
} }
@Override
public List<WarehouseWaybillVO> findWaybillVOByWaybillNoSet(Set<String> allWaybillNoSet) {
return warehouseWaybillService.findWaybillVOByWaybillNoSet(allWaybillNoSet);
}
} }

3
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.java

@ -28,6 +28,7 @@ import com.logpm.warehouse.vo.WarehouseWaybillVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 运单表 Mapper 接口 * 运单表 Mapper 接口
@ -76,4 +77,6 @@ public interface WarehouseWaybillMapper extends BaseMapper<WarehouseWaybillEntit
List<FinanceWaybillExportVO> financeWaybillListExport(@Param("param") WarehouseWaybillDTO waybillDTO); List<FinanceWaybillExportVO> financeWaybillListExport(@Param("param") WarehouseWaybillDTO waybillDTO);
void deleteByWaybillIds(@Param("waybillIds") List<Long> waybillIds); void deleteByWaybillIds(@Param("waybillIds") List<Long> waybillIds);
List<WarehouseWaybillVO> findWaybillVOByWaybillNoSet(@Param("waybillNos") Set<String> allWaybillNoSet);
} }

50
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml

@ -489,8 +489,8 @@
lww.claiming_value claimingValue, lww.claiming_value claimingValue,
lww.third_operation_fee thirdOperationFee, lww.third_operation_fee thirdOperationFee,
lww.rebate rebate, lww.rebate rebate,
GROUP_CONCAT(concat(lwwd.product_name,'(',lwwd.num,')')) goodsTypeNum, GROUP_CONCAT(concat(lwwd.num)) goodsTypeNum,
GROUP_CONCAT(concat(lwwd.product_name,'(',lwwd.price,')')) goodsTypePrice, GROUP_CONCAT(concat(lwwd.price)) goodsTypePrice,
GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.delivery_price,0),')')) goodsTypeDeliveryPrice, GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.delivery_price,0),')')) goodsTypeDeliveryPrice,
GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.pickup_price,0),')')) goodsTypePickupPrice, GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.pickup_price,0),')')) goodsTypePickupPrice,
GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.freight_price,0),')')) goodsTypeFreightPrice, GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.freight_price,0),')')) goodsTypeFreightPrice,
@ -592,10 +592,10 @@
and lww.document_making_time &lt;= #{param.documentMakingTimeEndDate} and lww.document_making_time &lt;= #{param.documentMakingTimeEndDate}
</if> </if>
<if test="param.createTimeStartDate != null"> <if test="param.createTimeStartDate != null">
and lww.create_time &gt;= #{param.createTimeStartDate} and lww.document_making_time &gt;= #{param.createTimeStartDate}
</if> </if>
<if test="param.createTimeEndDate != null"> <if test="param.createTimeEndDate != null">
and lww.create_time &lt;= #{param.createTimeEndDate} and lww.document_making_time &lt;= #{param.createTimeEndDate}
</if> </if>
<if test="param.checkTimeStartDate != null"> <if test="param.checkTimeStartDate != null">
and lww.check_time &gt;= #{param.checkTimeStartDate} and lww.check_time &gt;= #{param.checkTimeStartDate}
@ -1162,4 +1162,46 @@
</foreach> </foreach>
</delete> </delete>
<select id="findWaybillVOByWaybillNoSet" resultType="com.logpm.warehouse.vo.WarehouseWaybillVO">
select lww.id waybillId,
lww.waybill_no waybillNo,
lww.create_time createTime,
lww.destination destination,
lww.destination_warehouse_name destinationWarehouseName,
lww.check_status checkStatus,
lww.shipper shipper,
lww.shipper_name shipperName,
lww.consignee consignee,
lww.consignee_name consigneeName,
lww.waybill_type waybillType,
IFNULL(lww.total_count ,0) waybillNum,
lww.remark remark,
IFNULL(sum(lwwd.volume),0) totalVolume,
IFNULL(sum(lwwd.weight),0) totalWeight,
GROUP_CONCAT(lwwd.product_name) goodsName,
GROUP_CONCAT(lwwd.price) productPrice,
GROUP_CONCAT(lwwd.num) productNum,
GROUP_CONCAT(lwwd.volume) productVolume,
GROUP_CONCAT(lwwd.weight) productWeight,
IFNULL(lww.total_freight,0) totalFreight,
IFNULL(lww.delivery_fee,0) deliveryFee,
IFNULL(lww.pickup_fee,0) pickupFee,
IFNULL(lww.warehouse_management_fee,0) warehouseManagementFee,
IFNULL(lww.storage_fee,0) storageFee,
IFNULL(lww.sorting_fee,0) sortingFee,
IFNULL(lww.handling_fee,0) handlingFee,
IFNULL(lww.other_fee,0) otherFee,
IFNULL(lww.insurance_fee,0) insuranceFee,
IFNULL(lww.cost_piece,0) costPiece,
IFNULL(lww.cost_zhang,0) costZhang,
IFNULL(lww.cost_num,0) costNum
from logpm_warehouse_waybill lww
left join logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id = lww.id
where lww.waybill_no in
<foreach collection="waybillNos" item="item" separator="," open="(" close=")">
#{item}
</foreach>
group by lww.id
</select>
</mapper> </mapper>

3
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java

@ -18,6 +18,7 @@ import org.springblade.core.tool.api.R;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* 运单;(logpm_mainline_waybill)表服务接口 * 运单;(logpm_mainline_waybill)表服务接口
@ -88,4 +89,6 @@ public interface IWarehouseWaybillService extends BaseService<WarehouseWaybillEn
List<FinanceWaybillExportVO> financeWaybillListExport(WarehouseWaybillDTO waybillDTO); List<FinanceWaybillExportVO> financeWaybillListExport(WarehouseWaybillDTO waybillDTO);
void deleteByWaybillIds(List<Long> waybillIds); void deleteByWaybillIds(List<Long> waybillIds);
List<WarehouseWaybillVO> findWaybillVOByWaybillNoSet(Set<String> allWaybillNoSet);
} }

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

@ -780,7 +780,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
public Map<String, List<PrintPreviewVO>> printBatch(String ids, String tempId) throws Exception { public Map<String, List<PrintPreviewVO>> printBatch(String ids, String tempId) throws Exception {
Map<String, List<PrintPreviewVO>> stringListMap = new HashMap<>(); Map<String, List<PrintPreviewVO>> stringListMap = new LinkedHashMap<>();
BasicPrintTemplateEntity template = basicPrintTemplateClient.getPrintTemplate(tempId); BasicPrintTemplateEntity template = basicPrintTemplateClient.getPrintTemplate(tempId);
String[] idArray = ids.split(","); String[] idArray = ids.split(",");
@ -1177,4 +1177,9 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
public void deleteByWaybillIds(List<Long> waybillIds) { public void deleteByWaybillIds(List<Long> waybillIds) {
baseMapper.deleteByWaybillIds(waybillIds); baseMapper.deleteByWaybillIds(waybillIds);
} }
@Override
public List<WarehouseWaybillVO> findWaybillVOByWaybillNoSet(Set<String> allWaybillNoSet) {
return baseMapper.findWaybillVOByWaybillNoSet(allWaybillNoSet);
}
} }

Loading…
Cancel
Save