Browse Source

Merge branch 'pre-production'

newStockUp
pref_mail@163.com 1 year ago
parent
commit
2bf281c6e6
  1. 33
      blade-biz-common/src/main/java/org/springblade/common/cache/CacheObjNames.java
  2. 52
      blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicDelineNodeEntity.java
  3. 181
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionRetentionScanEntity.java
  4. 8
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java
  5. 7
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java
  6. 10
      blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceClient.java
  7. 12
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/BillladingDTO.java
  8. 92
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceDetailEntity.java
  9. 116
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java
  10. 112
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingEntity.java
  11. 41
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingPackageEntity.java
  12. 56
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingWaybillEntity.java
  13. 50
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineDetailProductEntity.java
  14. 8
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineAdvanceDetailVO.java
  15. 8
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineAdvanceVO.java
  16. 8
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingPackageVO.java
  17. 17
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingVO.java
  18. 11
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingWaybillVO.java
  19. 8
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineDetailProductVO.java
  20. 183
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseRetentionScanEntity.java
  21. 50
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseRetentionScanClient.java
  22. 34
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseRetentionScanVO.java
  23. 21
      blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicDelineController.java
  24. 5
      blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicDelineNodeController.java
  25. 2
      blade-service/logpm-basic/src/main/java/com/logpm/basic/dto/BasicDelineNodeDTO.java
  26. 2
      blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicDelineNodeMapper.java
  27. 16
      blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicDelineNodeMapper.xml
  28. 2
      blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicDelineNodeService.java
  29. 6
      blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicDelineService.java
  30. 4
      blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicDelineNodeServiceImpl.java
  31. 65
      blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicDelineServiceImpl.java
  32. 25
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java
  33. 14
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
  34. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionAddvalueAppController.java
  35. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  36. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java
  37. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.xml
  38. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml
  39. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvaluePackageMapper.java
  40. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml
  41. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  42. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java
  43. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  44. 37
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java
  45. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  46. 115
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  47. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  48. 77
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  49. 18
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java
  50. 1
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java
  51. 45
      blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OpenOrderHandler.java
  52. 15
      blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OrderStatusHandler.java
  53. 6
      blade-service/logpm-old-project/pom.xml
  54. 137
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/config/RabbitMqConfiguration.java
  55. 6
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceClient.java
  56. 1
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.java
  57. 4
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.xml
  58. 7
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IAdvanceService.java
  59. 5
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/AdvanceServiceImpl.java
  60. 2
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java
  61. 6
      blade-service/logpm-trunkline/pom.xml
  62. 61
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/BillladingController.java
  63. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.java
  64. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml
  65. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.java
  66. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml
  67. 16
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java
  68. 78
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml
  69. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingPackageMapper.java
  70. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.java
  71. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml
  72. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineDetailProductMapper.java
  73. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java
  74. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java
  75. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingPackageServicie.java
  76. 13
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java
  77. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingWaybillService.java
  78. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineDetailProductService.java
  79. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java
  80. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java
  81. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingPackageServiceImpl.java
  82. 30
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java
  83. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingWaybillServiceImpl.java
  84. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineDetailProductServiceImpl.java
  85. 144
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java
  86. 154
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseRetentionScanController.java
  87. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/RetentionDTO.java
  88. 34
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseRetentionScanDTO.java
  89. 201
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/excel/WarehouseRetentionScanExcel.java
  90. 55
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseRetentionScanClient.java
  91. 57
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.java
  92. 52
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.xml
  93. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTaryAllocationMapper.java
  94. 55
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionScanService.java
  95. 57
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java
  96. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTaryAllocationServiceImpl.java
  97. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java
  98. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

33
blade-biz-common/src/main/java/org/springblade/common/cache/CacheObjNames.java vendored

@ -0,0 +1,33 @@
package org.springblade.common.cache;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
/**
* 系统查询缓存名称定义
*/
@AllArgsConstructor
@Getter
public enum CacheObjNames {
/**
* 基础数据模块 当前登陆人操作仓库的缓存
*/
basic_data_warehourse_list("getMyWarehouseList","basicdataWarehouseList");
/**
* 缓存名称
*/
final String cacheName;
/**
* 缓存前缀
*/
final String keyPrefix;
}

52
blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicDelineNodeEntity.java

@ -35,6 +35,42 @@ import org.springblade.core.tenant.mp.TenantEntity;
@EqualsAndHashCode(callSuper = true)
public class BasicDelineNodeEntity extends TenantEntity {
/**
* 预留1
*/
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
/**
* 仓库id
*/
@ApiModelProperty(value = "仓库id")
private Long warehouseId;
/**
* 仓库名称
*/
@ApiModelProperty(value = "仓库名称")
private String warehouseName;
/**
* 关联提货路线Id
*/
@ -71,19 +107,9 @@ public class BasicDelineNodeEntity extends TenantEntity {
@ApiModelProperty(value = "纬度")
private String latitude;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
* 备注
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
@ApiModelProperty(value = "备注")
private String remark;
}

181
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionRetentionScanEntity.java

@ -0,0 +1,181 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serializable;
/**
* 滞留扫描操作表 实体类
*
* @author BladeX
* @since 2023-11-03
*/
@Data
@TableName("logpm_distribution_retention_scan")
@ApiModel(value = "DistributionRetentionScan对象", description = "滞留扫描操作表")
public class DistributionRetentionScanEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
/**
* 租户号
*/
@ApiModelProperty(value = "租户号")
private String tenantId;
/**
* 是否已删除
*/
@ApiModelProperty(value = "是否已删除")
private Integer isDeleted;
/**
* 预留1
*/
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
/**
* 配送车次号
*/
@ApiModelProperty(value = "配送车次号")
private String trainNumber;
/**
* 订单ID
*/
@ApiModelProperty(value = "订单ID")
private Long orderId;
/**
* 库存品ID
*/
@ApiModelProperty(value = "库存品ID")
private Long inventoryId;
/**
* 滞留类型 1-包件2-零担(这里会关联到具体的品类)3-库存品
*/
@ApiModelProperty(value = "滞留类型 1-包件、2-零担(这里会关联到具体的品类)、3-库存品")
private Integer conditions;
/**
* 物料编码(库存品)
*/
@ApiModelProperty(value = "物料编码(库存品)")
private String materialNumber;
/**
* 物料名称(库存品)
*/
@ApiModelProperty(value = "物料名称(库存品)")
private String materialName;
/**
* 预约客户ID
*/
@ApiModelProperty(value = "预约客户ID")
private Long reservationId;
/**
* 订单自编号(库存品没有)
*/
@ApiModelProperty(value = "订单自编号(库存品没有)")
private String orderCode;
/**
* 预约单号
*/
@ApiModelProperty(value = "预约单号")
private String reservationCode;
/**
* 扫描类型:1-包件2-订单3-托盘4...
*/
@ApiModelProperty(value = "扫描类型:1-包件、2-订单、3-托盘、4...")
private Integer scanType;
/**
* 包件ID
*/
@ApiModelProperty(value = "包件ID")
private Long orderPackageId;
/**
* 包条码
*/
@ApiModelProperty(value = "包条码")
private String orderPackageCode;
/**
* 滞留数量
*/
@ApiModelProperty(value = "滞留数量")
private Integer retentionQuantity;
/**
* 滞留扫描操作人名称
*/
@ApiModelProperty(value = "滞留扫描操作人名称")
private String retentionScanUsername;
/**
* 滞留扫描操作人Id
*/
@ApiModelProperty(value = "滞留扫描操作人Id")
private String retentionScanUserId;
/**
* 滞留操作备注
*/
@ApiModelProperty(value = "滞留操作备注")
private String remarks;
/**
* 滞留扫描时间
*/
@ApiModelProperty(value = "滞留扫描时间")
private Date retentionScanTime;
/**
* 滞留方式 1-PDA2-PC
*/
@ApiModelProperty(value = "滞留方式 1-PDA、2-PC")
private Integer retentionWay;
/**
* 配送任务ID
*/
@ApiModelProperty(value = "配送任务ID")
private Long deliveryListId;
}

8
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionAddvaluePackageVO.java

@ -32,6 +32,14 @@ import lombok.EqualsAndHashCode;
public class DistributionAddvaluePackageVO extends DistributionAddvaluePackageEntity {
private static final long serialVersionUID = 1L;
/**
* 最大操作数量 零担需要先进行装车
*/
private Integer maxQuantity;
/**
* 计划数量
*/
private Integer planQuantity;
}

7
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java

@ -16,6 +16,7 @@
*/
package com.logpm.distribution.vo;
import com.logpm.distribution.entity.DistributionSignPrintEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -150,6 +151,12 @@ public class DistributionSignforVO extends DistributionSignforEntity {
@ApiModelProperty(value = "卸车班组")
private String sijiSigningStatus;
/**
* 签收图片路径多个
*/
@ApiModelProperty(value = "卸车班组")
private List<DistributionSignPrintVO> printVOList;
/**
* 客户订单列表
*/

10
blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceClient.java

@ -85,6 +85,16 @@ public interface IAdvanceClient {
AdvanceEntity fingById(@RequestParam Integer advanceId);
/**
* 根据运单号和订单号查询老系统的开单对应的订单
* @param logiBillNo
* @param orderCode
* @return
*/
@GetMapping(API_PREFIX + "/findAdvanceEntityByLogiBillNoAndOrderCode")
List<AdvanceEntity> findAdvanceEntityByLogiBillNoAndOrderCode(@RequestParam String logiBillNo,@RequestParam String orderCode);

12
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/BillladingDTO.java

@ -0,0 +1,12 @@
package com.logpm.trunkline.dto;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import lombok.Data;
@Data
public class BillladingDTO extends TrunklineBillladingEntity {
private Integer pageNum;
private Integer pageSize;
}

92
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceDetailEntity.java

@ -0,0 +1,92 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_trunkline_advance_detail")
@ApiModel(value = "TrunklineAdvanceDetail对象", description = "暂存单包件数据表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineAdvanceDetailEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private String warehouseName ;
/** 暂存单id */
@ApiModelProperty(name = "暂存单id",notes = "")
private Long advanceId ;
/** 订单自编号 */
@ApiModelProperty(name = "订单自编号",notes = "")
private String orderCode ;
/** 品牌 */
@ApiModelProperty(name = "品牌",notes = "")
private String brand ;
/** 订单来源 */
@ApiModelProperty(name = "订单来源",notes = "")
private String systemType ;
/** 一级品类名称 */
@ApiModelProperty(name = "一级品类名称",notes = "")
private String firstPackName ;
/** 一级品类编码 */
@ApiModelProperty(name = "一级品类编码",notes = "")
private String firstPackCode ;
/** 二级品类名称 */
@ApiModelProperty(name = "二级品类名称",notes = "")
private String secondPackName ;
/** 二级品类编码 */
@ApiModelProperty(name = "二级品类编码",notes = "")
private String secondPackCode ;
/** 三级品类名称 */
@ApiModelProperty(name = "三级品类名称",notes = "")
private String thirdPackName ;
/** 三级品类编码 */
@ApiModelProperty(name = "三级品类编码",notes = "")
private String thirdPackCode ;
/** 基地名称 */
@ApiModelProperty(name = "基地名称",notes = "")
private String siteName ;
/** 基地编码 */
@ApiModelProperty(name = "基地编码",notes = "")
private String siteCode ;
/** 数量 */
@ApiModelProperty(name = "数量",notes = "")
private Integer quantity ;
/** 包件码 */
@ApiModelProperty(name = "包件码",notes = "")
private String orderPackageCode ;
/** 车次号 */
@ApiModelProperty(name = "车次号",notes = "")
private String trainNumber ;
/** 服务号 */
@ApiModelProperty(name = "服务号",notes = "")
private String serviceNum ;
/** 运单号 */
@ApiModelProperty(name = "运单号",notes = "")
private String waybillNo ;
/** 包件状态 */
@ApiModelProperty(name = "包件状态 0未入库 1已入库",notes = "")
private String packageStatus ;
}

116
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java

@ -0,0 +1,116 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_trunkline_advance")
@ApiModel(value = "TrunklineAdvance对象", description = "暂存单数据表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineAdvanceEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private String warehouseName ;
/** 订单自编码 */
@ApiModelProperty(name = "订单自编码",notes = "")
private String orderCode ;
/** 基地 */
@ApiModelProperty(name = "基地",notes = "")
private String siteName ;
/** 区域 */
@ApiModelProperty(name = "区域",notes = "")
private String area ;
/** 订单类型 */
@ApiModelProperty(name = "订单类型",notes = "")
private String orderType ;
/** 品牌 */
@ApiModelProperty(name = "品牌",notes = "")
private String brand ;
/** 订单总数 */
@ApiModelProperty(name = "订单总数",notes = "")
private Integer totalNum ;
/** 品名 */
@ApiModelProperty(name = "品名",notes = "")
private String packName ;
/** 品名编码 */
@ApiModelProperty(name = "品名编码",notes = "")
private String packCode ;
/** 商场编码 */
@ApiModelProperty(name = "商场编码",notes = "")
private String dealerCode ;
/** 商场名称 */
@ApiModelProperty(name = "商场名称",notes = "")
private String dealerName ;
/** 承运商 */
@ApiModelProperty(name = "承运商",notes = "")
private String carrierName ;
/** 客户名称 */
@ApiModelProperty(name = "客户名称",notes = "")
private String customerName ;
/** 客户电话 */
@ApiModelProperty(name = "客户电话",notes = "")
private String customerPhone ;
/** 客户地址 */
@ApiModelProperty(name = "客户地址",notes = "")
private String customerAddress ;
/** 订单来源 */
@ApiModelProperty(name = "订单来源",notes = "")
private String systemType ;
/** 门店编码 */
@ApiModelProperty(name = "门店编码",notes = "")
private String storeCode ;
/** 门店名称 */
@ApiModelProperty(name = "门店名称",notes = "")
private String storeName ;
/** 服务号 */
@ApiModelProperty(name = "服务号",notes = "")
private String serviceNum ;
/** 齐套状态 0未齐套 1齐套 2多仓齐套 */
@ApiModelProperty(name = "齐套状态 0未齐套 1齐套 2多仓齐套",notes = "")
private String matingType ;
/** 发货人名称 */
@ApiModelProperty(name = "发货人名称",notes = "")
private String senderName ;
/** 发货人电话 */
@ApiModelProperty(name = "发货人电话",notes = "")
private String senderPhone ;
/** 发货人地址 */
@ApiModelProperty(name = "发货人地址",notes = "")
private String senderAddress ;
/** 开单状态 0未开单 1已开单 */
@ApiModelProperty(name = "开单状态 0未开单 1已开单",notes = "")
private String waybillStatus ;
/** 运单号 */
@ApiModelProperty(name = "运单号",notes = "")
private String waybillNo ;
/** 车次号 */
@ApiModelProperty(name = "车次号",notes = "")
private String trainNumber ;
/** 冻结状态 0未冻结 1已冻结 */
@ApiModelProperty(name = "冻结状态 0未冻结 1已冻结",notes = "")
private String freezeStatus ;
}

112
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingEntity.java

@ -0,0 +1,112 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.util.Date;
@Data
@TableName("logpm_trunkline_billlading")
@ApiModel(value = "TrunklineBilllading对象", description = "干线提货表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineBillladingEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private String warehouseName ;
/** 提货单号 */
@ApiModelProperty(name = "提货单号",notes = "")
private String billladingCode ;
/** 车牌号 */
@ApiModelProperty(name = "车牌号",notes = "")
private String carNumber ;
/** 司机id */
@ApiModelProperty(name = "司机id",notes = "")
private Long driverId ;
/** 司机名称 */
@ApiModelProperty(name = "司机名称",notes = "")
private String driverName ;
/** 司机电话 */
@ApiModelProperty(name = "司机电话",notes = "")
private String driverPhone ;
/** 承运商 */
@ApiModelProperty(name = "承运商",notes = "")
private String carrierName ;
/** 线路关联id */
@ApiModelProperty(name = "线路关联id",notes = "")
private Long lineId ;
/** 线路名称 */
@ApiModelProperty(name = "线路名称",notes = "")
private String lineNameTitle ;
/** 预计件数 */
@ApiModelProperty(name = "预计件数",notes = "")
private int planNum ;
/** 预计重量 */
@ApiModelProperty(name = "预计重量",notes = "")
private Double planWeight ;
/** 预计体积 */
@ApiModelProperty(name = "预计体积",notes = "")
private Double planVolume ;
/** 实际件数 */
@ApiModelProperty(name = "实际件数",notes = "")
private int realNum ;
/** 实际重量 */
@ApiModelProperty(name = "实际重量",notes = "")
private Double realWeight ;
/** 实际体积 */
@ApiModelProperty(name = "实际体积",notes = "")
private Double realVolume ;
/** 计费模式 1按件 2按重量 3按体积 */
@ApiModelProperty(name = "计费模式 1按件 2按重量 3按体积",notes = "")
private String chargeType ;
/** 提货费用 */
@ApiModelProperty(name = "提货费用",notes = "")
private Double totalFee ;
/** 提货单状态 1=未开始,2=提货中,3=已完成,4=已取消 */
@ApiModelProperty(name = "提货单状态 1=未开始,2=提货中,3=已完成,4=已取消",notes = "")
private String billladingStatus ;
/** 提货开始时间 */
@ApiModelProperty(name = "提货开始时间",notes = "")
private Date startTime ;
/** 提货完成时间 */
@ApiModelProperty(name = "提货完成时间",notes = "")
private Date endTime ;
/** 结算时间 */
@ApiModelProperty(name = "结算时间",notes = "")
private Date settlementTime ;
/** 结算人id */
@ApiModelProperty(name = "结算人id",notes = "")
private Long settlementId ;
/** 结算人名称 */
@ApiModelProperty(name = "结算人名称",notes = "")
private String settlementName ;
/** 备注 */
@ApiModelProperty(name = "备注",notes = "")
private String remark ;
/** 创建用户名称 */
@ApiModelProperty(name = "创建用户名称",notes = "")
private String createUserName ;
}

41
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingPackageEntity.java

@ -0,0 +1,41 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_trunkline_billlading_package")
@ApiModel(value = "TrunklineBillladingPackage对象", description = "提货单包件明细表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineBillladingPackageEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private String warehouseName ;
/** 包件码 */
@ApiModelProperty(name = "包件码",notes = "")
private String orderPackageCode ;
}

56
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineBillladingWaybillEntity.java

@ -0,0 +1,56 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.math.BigDecimal;
@Data
@TableName("logpm_trunkline_billlading_waybill")
@ApiModel(value = "TrunklineBillladingWaybill对象", description = "提货运单关联表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineBillladingWaybillEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 提货单id */
@ApiModelProperty(name = "提货单id",notes = "")
private Long billladingId ;
/** 提货单号 */
@ApiModelProperty(name = "提货单号",notes = "")
private String billadingCode ;
/** 运单号 */
@ApiModelProperty(name = "运单号",notes = "")
private String waybillNo ;
/** 提货数量 */
@ApiModelProperty(name = "提货数量",notes = "")
private Integer realNum ;
/** 提货重量 */
@ApiModelProperty(name = "提货重量",notes = "")
private BigDecimal realWeight ;
/** 提货体积 */
@ApiModelProperty(name = "提货体积",notes = "")
private BigDecimal realVolume ;
}

50
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineDetailProductEntity.java

@ -0,0 +1,50 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_trunkline_detail_product")
@ApiModel(value = "TrunklineDetailProduct对象", description = "提货运单关联表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineDetailProductEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
/** 仓库id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private String warehouseName ;
/** 包件码 */
@ApiModelProperty(name = "包件码",notes = "")
private String unitNo ;
/** 货品代码 */
@ApiModelProperty(name = "货品代码",notes = "")
private String productCode ;
/** 货品名称 */
@ApiModelProperty(name = "货品名称",notes = "")
private String productName ;
/** 数量 */
@ApiModelProperty(name = "数量",notes = "")
private Integer quantity ;
}

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

@ -0,0 +1,8 @@
package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import lombok.Data;
@Data
public class TrunklineAdvanceDetailVO extends TrunklineAdvanceDetailEntity {
}

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

@ -0,0 +1,8 @@
package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineAdvanceEntity;
import lombok.Data;
@Data
public class TrunklineAdvanceVO extends TrunklineAdvanceEntity {
}

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

@ -0,0 +1,8 @@
package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import lombok.Data;
@Data
public class TrunklineBillladingPackageVO extends TrunklineBillladingPackageEntity {
}

17
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingVO.java

@ -0,0 +1,17 @@
package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class TrunklineBillladingVO extends TrunklineBillladingEntity {
private Integer nodeNub;
private Integer waybillCount;
private Integer totalNum;
private BigDecimal totalWeight;
private BigDecimal totalVolume;
}

11
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingWaybillVO.java

@ -0,0 +1,11 @@
package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import lombok.Data;
@Data
public class TrunklineBillladingWaybillVO extends TrunklineBillladingWaybillEntity {
}

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

@ -0,0 +1,8 @@
package com.logpm.trunkline.vo;
import com.logpm.trunkline.entity.TrunklineDetailProductEntity;
import lombok.Data;
@Data
public class TrunklineDetailProductVO extends TrunklineDetailProductEntity {
}

183
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseRetentionScanEntity.java

@ -0,0 +1,183 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serializable;
/**
* 滞留扫描记录 实体类
*
* @author BladeX
* @since 2023-11-03
*/
@Data
@TableName("logpm_warehouse_retention_scan")
@ApiModel(value = "WarehouseRetentionRecord对象", description = "滞留扫描记录")
public class WarehouseRetentionScanEntity extends TenantEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
/**
* 租户号
*/
@ApiModelProperty(value = "租户号")
private String tenantId;
/**
* 是否已删除
*/
@ApiModelProperty(value = "是否已删除")
private Integer isDeleted;
/**
* 预留1
*/
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
/**
* 配送车次号
*/
@ApiModelProperty(value = "配送车次号")
private String trainNumber;
/**
* 订单ID
*/
@ApiModelProperty(value = "订单ID")
private Long orderId;
/**
* 库存品ID
*/
@ApiModelProperty(value = "库存品ID")
private Long inventoryId;
/**
* 滞留类型 1-包件2-零担(这里会关联到具体的品类)3-库存品
*/
@ApiModelProperty(value = "滞留类型 1-包件、2-零担(这里会关联到具体的品类)、3-库存品")
private Integer conditions;
/**
* 物料编码(库存品)
*/
@ApiModelProperty(value = "物料编码(库存品)")
private String materialNumber;
/**
* 物料名称(库存品)
*/
@ApiModelProperty(value = "物料名称(库存品)")
private String materialName;
/**
* 预约客户ID
*/
@ApiModelProperty(value = "预约客户ID")
private Long reservationId;
/**
* 订单自编号(库存品没有)
*/
@ApiModelProperty(value = "订单自编号(库存品没有)")
private String orderCode;
/**
* 预约单号
*/
@ApiModelProperty(value = "预约单号")
private String reservationCode;
/**
* 扫描类型:1-包件2-订单3-托盘4...
*/
@ApiModelProperty(value = "扫描类型:1-包件、2-订单、3-托盘、4...")
private Integer scanType;
/**
* 包件ID
*/
@ApiModelProperty(value = "包件ID")
private Long orderPackageId;
/**
* 包条码
*/
@ApiModelProperty(value = "包条码")
private String orderPackageCode;
/**
* 滞留数量
*/
@ApiModelProperty(value = "滞留数量")
private Integer retentionQuantity;
/**
* 滞留扫描操作人名称
*/
@ApiModelProperty(value = "滞留扫描操作人名称")
private String retentionScanUsername;
/**
* 滞留扫描操作人Id
*/
@ApiModelProperty(value = "滞留扫描操作人Id")
private String retentionScanUserId;
/**
* 滞留操作备注
*/
@ApiModelProperty(value = "滞留操作备注")
private String remarks;
/**
* 滞留扫描时间
*/
@ApiModelProperty(value = "滞留扫描时间")
private Date retentionScanTime;
/**
* 滞留方式 1-PDA2-PC
*/
@ApiModelProperty(value = "滞留方式 1-PDA、2-PC")
private Integer retentionWay;
/**
* 配送任务ID
*/
@ApiModelProperty(value = "配送任务ID")
private Long deliveryListId;
}

50
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseRetentionScanClient.java

@ -0,0 +1,50 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.feign;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import org.springblade.core.mp.support.BladePage;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 滞留扫描记录 Feign接口类
*
* @author BladeX
* @since 2023-11-03
*/
@FeignClient(
value = "warehouseRetentionScan"
)
public interface IWarehouseRetentionScanClient {
String API_PREFIX = "retentionScan/client";
String TOP = API_PREFIX + "/top";
/**
* 获取滞留扫描记录列表
*
* @param current 页号
* @param size 页数
* @return BladePage
*/
@GetMapping(TOP)
BladePage<WarehouseRetentionScanEntity> retentionScanTop(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
}

34
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseRetentionScanVO.java

@ -0,0 +1,34 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.vo;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 滞留扫描记录 视图实体类
*
* @author BladeX
* @since 2023-11-03
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WarehouseRetentionScanVO extends WarehouseRetentionScanEntity {
private static final long serialVersionUID = 1L;
}

21
blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicDelineController.java

@ -30,7 +30,6 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringEscapeUtils;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
@ -47,6 +46,7 @@ import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* 提货路线 控制器
@ -104,10 +104,8 @@ public class BasicDelineController extends BladeController {
@ApiOperation(value = "新增", notes = "传入basicDeline")
public R save(@Valid @RequestBody BasicDelineDTO basicDeline) {
//转义->
basicDeline.setLineName(StringEscapeUtils.unescapeHtml4(basicDeline.getLineName()));
basicDelineService.save(basicDeline);
//新增关联表
return R.status(basicDelineMiddleService.saveByDTO(basicDeline));
// basicDeline.setLineName(StringEscapeUtils.unescapeHtml4(basicDeline.getLineName()));
return basicDelineService.saveDeline(basicDeline);
}
/**
@ -117,13 +115,12 @@ public class BasicDelineController extends BladeController {
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入basicDeline")
public R update(@Valid @RequestBody BasicDelineDTO basicDeline) {
//转义->
basicDeline.setLineName(StringEscapeUtils.unescapeHtml4(basicDeline.getLineName()));
//删除所有中间表
basicDelineMiddleService.deleteBydelineId(Func.toLongList(String.valueOf(basicDeline.getId())));
//新增关联表
basicDelineMiddleService.saveByDTO(basicDeline);
return R.status(basicDelineService.updateById(basicDeline));
Long id = basicDeline.getId();
if(Objects.isNull(id)){
log.warn("#############update: id不能为空");
return R.fail(403,"id不能为空");
}
return basicDelineService.updateDeline(basicDeline);
}
/**

5
blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicDelineNodeController.java

@ -97,8 +97,9 @@ public class BasicDelineNodeController extends BladeController {
@GetMapping("/dictionary")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "字典", notes = "传入basicDelineNode")
public R<List<BasicDelineNodeVO>> dictionary() {
List<BasicDelineNodeVO> basicDelineNodeVOS = basicDelineNodeService.selectBasicDelineNodeDictionary();
public R<List<BasicDelineNodeVO>> dictionary(BasicDelineNodeDTO basicDelineNode) {
String customer = basicDelineNode.getCustomer();
List<BasicDelineNodeVO> basicDelineNodeVOS = basicDelineNodeService.selectBasicDelineNodeDictionary(customer);
return R.data(basicDelineNodeVOS);
}

2
blade-service/logpm-basic/src/main/java/com/logpm/basic/dto/BasicDelineNodeDTO.java

@ -51,6 +51,6 @@ public class BasicDelineNodeDTO extends BasicDelineNodeEntity {
@ApiModelProperty(value = "主表Id")
private Long delineId;
private Integer sort;
}

2
blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicDelineNodeMapper.java

@ -57,5 +57,5 @@ public interface BasicDelineNodeMapper extends BaseMapper<BasicDelineNodeEntity>
*
* @return
*/
List<BasicDelineNodeVO> selectBasicDelineNodeDictionary();
List<BasicDelineNodeVO> selectBasicDelineNodeDictionary(@Param("customer") String customer);
}

16
blade-service/logpm-basic/src/main/java/com/logpm/basic/mapper/BasicDelineNodeMapper.xml

@ -40,16 +40,13 @@
lbdn.contacts contacts,
lbdn.address address,
lbdn.telephone telephone,
lbdm.ageing ageing,
lbdm.route route
lbdn.longitude longitude,
lbdn.latitude latitude,
ldbn.remark remark
FROM
logpm_basic_deline_node lbdn
JOIN logpm_basic_deline_middle lbdm on lbdn.id = lbdm.node_id
<where>
lbdn.is_deleted = 0
AND lbdm.is_deleted = 0
<if test="param.delineId != null ">and lbdm.deline_id = #{param.delineId}</if>
<if test="param.id != null ">and lbdm.node_id = #{param.id}</if>
</where>
</select>
@ -58,7 +55,12 @@
SELECT * FROM logpm_basic_deline_node ${ew.customSqlSegment}
</select>
<select id="selectBasicDelineNodeDictionary" resultType="com.logpm.basic.vo.BasicDelineNodeVO">
select id,customer from logpm_basic_deline_node where is_deleted = 0
select id,customer
from logpm_basic_deline_node
where is_deleted = 0
<if test="customer != null and customer != ''">
customer like concat('%',#{customer},'%')
</if>
</select>
</mapper>

2
blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicDelineNodeService.java

@ -55,5 +55,5 @@ public interface IBasicDelineNodeService extends BaseService<BasicDelineNodeEnti
*
* @return
*/
List<BasicDelineNodeVO> selectBasicDelineNodeDictionary();
List<BasicDelineNodeVO> selectBasicDelineNodeDictionary(String customer);
}

6
blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicDelineService.java

@ -18,10 +18,12 @@ package com.logpm.basic.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.basic.dto.BasicDelineDTO;
import com.logpm.basic.entity.BasicDelineEntity;
import com.logpm.basic.excel.BasicDelineExcel;
import com.logpm.basic.vo.BasicDelineVO;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import java.util.List;
@ -50,4 +52,8 @@ public interface IBasicDelineService extends BaseService<BasicDelineEntity> {
*/
List<BasicDelineExcel> exportBasicDeline(Wrapper<BasicDelineEntity> queryWrapper);
R saveDeline(BasicDelineDTO basicDelineDTO);
R updateDeline(BasicDelineDTO basicDeline);
}

4
blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicDelineNodeServiceImpl.java

@ -54,8 +54,8 @@ public class BasicDelineNodeServiceImpl extends BaseServiceImpl<BasicDelineNodeM
}
@Override
public List<BasicDelineNodeVO> selectBasicDelineNodeDictionary() {
return baseMapper.selectBasicDelineNodeDictionary();
public List<BasicDelineNodeVO> selectBasicDelineNodeDictionary(String customer) {
return baseMapper.selectBasicDelineNodeDictionary(customer);
}
}

65
blade-service/logpm-basic/src/main/java/com/logpm/basic/service/impl/BasicDelineServiceImpl.java

@ -18,14 +18,23 @@ package com.logpm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.basic.dto.BasicDelineDTO;
import com.logpm.basic.dto.BasicDelineNodeDTO;
import com.logpm.basic.entity.BasicDelineEntity;
import com.logpm.basic.entity.BasicDelineMiddleEntity;
import com.logpm.basic.excel.BasicDelineExcel;
import com.logpm.basic.mapper.BasicDelineMapper;
import com.logpm.basic.service.IBasicDelineMiddleService;
import com.logpm.basic.service.IBasicDelineService;
import com.logpm.basic.vo.BasicDelineVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -34,9 +43,13 @@ import java.util.List;
* @author lmy
* @since 2023-05-24
*/
@Slf4j
@Service
@AllArgsConstructor
public class BasicDelineServiceImpl extends BaseServiceImpl<BasicDelineMapper, BasicDelineEntity> implements IBasicDelineService {
private final IBasicDelineMiddleService basicDelineMiddleService;
@Override
public IPage<BasicDelineVO> selectBasicDelinePage(IPage<BasicDelineVO> page, BasicDelineVO basicDeline) {
return page.setRecords(baseMapper.selectBasicDelinePage(page, basicDeline));
@ -52,4 +65,56 @@ public class BasicDelineServiceImpl extends BaseServiceImpl<BasicDelineMapper, B
return basicDelineList;
}
@Override
public R saveDeline(BasicDelineDTO basicDelineDTO) {
log.info("#############saveDeline: 保存提货路线");
List<BasicDelineNodeDTO> delinenode = basicDelineDTO.getDelinenode();
if(delinenode.size() < 2){
log.warn("##############saveDeline: 节点选择有误");
return R.fail(403,"节点选择有误");
}
BasicDelineEntity basicDelineEntity = new BasicDelineEntity();
BeanUtil.copy(basicDelineDTO,basicDelineEntity);
save(basicDelineEntity);
Long delineId = basicDelineEntity.getId();
for (BasicDelineNodeDTO basicDelineNodeDTO:delinenode){
BasicDelineMiddleEntity basicDelineMiddleEntity = new BasicDelineMiddleEntity();
basicDelineMiddleEntity.setDelineId(delineId);
basicDelineMiddleEntity.setNodeId(basicDelineNodeDTO.getId());
basicDelineMiddleEntity.setAgeing(basicDelineNodeDTO.getAgeing());
basicDelineMiddleEntity.setRoute(basicDelineNodeDTO.getRoute());
basicDelineMiddleService.save(basicDelineMiddleEntity);
}
return R.success("保存成功");
}
@Override
public R updateDeline(BasicDelineDTO basicDeline) {
log.info("#############updateDeline: 更新提货路线");
List<BasicDelineNodeDTO> delinenode = basicDeline.getDelinenode();
if(delinenode.size() < 2){
log.warn("##############saveDeline: 节点选择有误");
return R.fail(403,"节点选择有误");
}
BasicDelineEntity basicDelineEntity = new BasicDelineEntity();
BeanUtil.copy(basicDeline,basicDelineEntity);
updateById(basicDelineEntity);
Long delineId = basicDelineEntity.getId();
//先删除以前的关联数据
List<Long> delineIds = new ArrayList<>();
delineIds.add(delineId);
basicDelineMiddleService.deleteBydelineId(delineIds);
for (BasicDelineNodeDTO basicDelineNodeDTO:delinenode){
BasicDelineMiddleEntity basicDelineMiddleEntity = new BasicDelineMiddleEntity();
basicDelineMiddleEntity.setDelineId(delineId);
basicDelineMiddleEntity.setNodeId(basicDelineNodeDTO.getId());
basicDelineMiddleEntity.setAgeing(basicDelineNodeDTO.getAgeing());
basicDelineMiddleEntity.setRoute(basicDelineNodeDTO.getRoute());
basicDelineMiddleService.save(basicDelineMiddleEntity);
}
return R.success("更新成功");
}
}

25
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java

@ -18,6 +18,7 @@ package com.logpm.basicdata.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.dto.BasicdataWarehouseDTO;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
@ -32,11 +33,15 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.cache.CacheObjNames;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.DateUtil;
@ -66,6 +71,8 @@ public class BasicdataWarehouseController extends BladeController {
private final IBasicdataWarehouseClient basicdataWarehouseClient;
private final BladeRedis bladeRedis;
/**
* 仓库 详情
*/
@ -177,6 +184,8 @@ public class BasicdataWarehouseController extends BladeController {
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入warehouseWarehouse")
public R save(@Valid @RequestBody BasicdataWarehouseEntity warehouseWarehouse) {
BladeUser user = AuthUtil.getUser();
CacheUtil.evict(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(),user.getUserId());
warehouseWarehouse.setEnableStatus("2");
return R.status(warehouseService.save(warehouseWarehouse));
}
@ -198,6 +207,8 @@ public class BasicdataWarehouseController extends BladeController {
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入warehouseWarehouse")
public R submit(@Valid @RequestBody BasicdataWarehouseEntity warehouseWarehouse) {
BladeUser user = AuthUtil.getUser();
CacheUtil.evict(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(),user.getUserId());
return R.status(warehouseService.saveOrUpdate(warehouseWarehouse));
}
@ -211,6 +222,10 @@ public class BasicdataWarehouseController extends BladeController {
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
BladeUser user = AuthUtil.getUser();
CacheUtil.evict(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(),user.getUserId());
boolean result = warehouseService.removeWarehouse(ids);
if (result) {
return R.status(true);
@ -274,7 +289,15 @@ public class BasicdataWarehouseController extends BladeController {
@GetMapping("/getMyWarehouseList")
@ApiOperationSupport(order = 3)
public R<List<BasicdataWarehouseEntity>> getMyWarehouseList() {
List<BasicdataWarehouseEntity> basicdataGoodsShelfVOList = warehouseService.getMyWarehouseList();
BladeUser user = AuthUtil.getUser();
List<BasicdataWarehouseEntity> basicdataGoodsShelfVOList = CacheUtil.get(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(), user.getUserId(),List.class);
if(ObjectUtils.isNull(basicdataGoodsShelfVOList)){
basicdataGoodsShelfVOList = warehouseService.getMyWarehouseList();
CacheUtil.put(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(),user.getUserId(),basicdataGoodsShelfVOList);
}
return R.data(basicdataGoodsShelfVOList);
}

14
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java

@ -179,16 +179,10 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
});
}
}
List<BasicdataWarehouseEntity> warehouseEntityList = baseMapper.selectList(Wrappers.<BasicdataWarehouseEntity>query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds));
// String json = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()));
// if (warehouseEntityList.size() <= 1) {
// redis.setEx(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()), warehouseEntityList.get(0), 30 * 24 * 60 * 60L);
// }
return warehouseEntityList;
if(deptIds.isEmpty()){
return null;
}
return baseMapper.selectList(Wrappers.<BasicdataWarehouseEntity>query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds));
}
@Override

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionAddvalueAppController.java

@ -95,7 +95,6 @@ public class DistributionAddvalueAppController {
return r;
}
/**
* 编辑保存
*/
@ -107,8 +106,6 @@ public class DistributionAddvalueAppController {
return r;
}
/**
* 查询编辑增值服务数据
*/
@ -120,8 +117,6 @@ public class DistributionAddvalueAppController {
return r;
}
/**
* 查询增值服务数据
*/

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

@ -130,7 +130,7 @@ public class DistributionSignforController extends BladeController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "详情", notes = "传入distributionSignfor")
public R<List<DistributionParcelListVO>> signforPackageList(Long signforId) {
List<DistributionParcelListVO> distributionSignforsnmbVO = distributionSignforService.signforPackageList(signforId);
List<DistributionParcelListVO> distributionSignforsnmbVO= distributionSignforService.signforPackageList(signforId);
return R.data(distributionSignforsnmbVO);
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java

@ -53,7 +53,7 @@ public interface DistributionAddvalueDetailMapper extends BaseMapper<Distributio
/**
* 删除增值服务详情
* @param id
* @param addvalueId
*/
void deleteAddvalueDetail(@Param("addvalueId") Long id);
void deleteAddvalueDetail(@Param("addvalueId") Long addvalueId);
}

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

@ -3,7 +3,8 @@
<mapper namespace="com.logpm.distribution.mapper.DistributionAddvalueDetailMapper">
<!-- 通用查询映射结果 -->
<resultMap id="distributionAddvalueDetailResultMap" type="com.logpm.distribution.entity.DistributionAddvalueDetailEntity">
<resultMap id="distributionAddvalueDetailResultMap"
type="com.logpm.distribution.entity.DistributionAddvalueDetailEntity">
<result column="tenant_id" property="tenantId"/>
<result column="create_user" property="createUser"/>
<result column="create_time" property="createTime"/>
@ -27,7 +28,7 @@
<result column="distance" property="distance"/>
</resultMap>
<delete id="deleteAddvalueDetail">
DELETE FROM logpm_distribution_addvalue_detil WHERE addvalue_id = #{addvalueId}
DELETE FROM logpm_distribution_addvalue_detail WHERE addvalue_id = #{addvalueId}
</delete>
@ -36,7 +37,8 @@
</select>
<select id="exportDistributionAddvalueDetail" resultType="com.logpm.distribution.excel.DistributionAddvalueDetailExcel">
<select id="exportDistributionAddvalueDetail"
resultType="com.logpm.distribution.excel.DistributionAddvalueDetailExcel">
SELECT * FROM logpm_distribution_addvalue_detail ${ew.customSqlSegment}
</select>

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

@ -61,6 +61,7 @@
ldad.num AS num,
ldad.flool_num AS floolNum,
ldad.distance AS distance,
lda.addvalue_id AS addvalueId,
ldad.id AS addvalueDetailId,
GROUP_CONCAT(ldap.package_id) AS packageListIds,
ldad.record_type AS isAll

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

@ -57,7 +57,7 @@ public interface DistributionAddvaluePackageMapper extends BaseMapper<Distributi
* @param reservationId
* @param id
*/
void deleteAddvaluePackageList(@Param("reservationId") Long reservationId,@Param("addvalueDetailIds") Long id);
void deleteAddvaluePackageList(@Param("reservationId") Long reservationId,@Param("addvalueDetailId") Long addvalueDetailId);
/**
* 删除指定增值服务包件

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml

@ -346,8 +346,8 @@
) ordNub,
COALESCE ( lds.received_quantity + lds.receivedin_quantity, 0 ) signNub,
ldsk.stockup_area stockupArea,
COALESCE ( ldrs.reservation_num, 0 ) inventoryNub,
COUNT(DISTINCT lwtg.tray_id) AS trayNum
COALESCE ( ldrs.reservation_num, 0 ) inventoryNub
-- COUNT(DISTINCT lwtg.tray_id) AS trayNum
FROM
logpm_distribution_signfor lds
LEFT JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -666,6 +666,7 @@
reservation_id,
stock_article_id,
stock_article_status,
is_zero,
reservation_num
FROM logpm_distribution_reservation_stockarticle
<where>
@ -1037,7 +1038,7 @@
resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldrzp.parcel_list_id,
ldrzp.quantity AS quantity,
ldrzp.quantity AS reservationNum,
ldrzp.reservation_id AS reservationId,
3 AS conditions,
ldsa.order_code AS orderCode,

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java

@ -24,10 +24,7 @@ import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.vo.DistributionLoadscanAbnormalVO;
import com.logpm.distribution.vo.DistributionReservationStocklistVO;
import com.logpm.distribution.vo.DistributionSignforVO;
import com.logpm.distribution.vo.DistributionStockArticleVO;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO;
import com.logpm.distribution.vo.app.DistributionAppParcelListVO;
import com.logpm.distribution.vo.app.DistributionAppSignforVO;
@ -227,4 +224,12 @@ public interface DistributionSignforMapper extends BaseMapper<DistributionSignfo
* @return
*/
List<DistributionLoadscanAbnormalVO> selectAbnormalPackageList(@Param("reservationId")Long reservationId,@Param("deliveryListId") Long deliveryId);
/**
* 查询签收图片
* @param reservationId
* @return
*/
List<DistributionSignPrintVO> selectSignImgsUrl(@Param("reservationId")Long reservationId);
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -555,6 +555,7 @@
CASE WHEN lds.positioning IS NOT NULL THEN true ELSE false END AS positioning,
(SELECT COALESCE(COUNT(*), 0) from logpm_distribution_reservation_stockarticle ldrs WHERE ldrs.reservation_id =ldr.id ) ordNub,
COALESCE(lds.received_quantity + lds.receivedin_quantity, 0) signNub,
COALESCE(lds.loaded_number + lds.loadedin_number, 0) signNub,
COALESCE(ldr.reservation_num + ldr.reservation_stock_list_num, 0) reservationNum
FROM
logpm_distribution_signfor lds
@ -929,4 +930,7 @@
WHERE
ldla.reservation_id = #{reservationId} and ldla.delivery_list_id = #{deliveryListId}
</select>
<select id="selectSignImgsUrl" resultType="com.logpm.distribution.entity.DistributionSignPrintEntity">
SELECT * FROM logpm_distribution_sign_print
</select>
</mapper>

37
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java

@ -190,18 +190,20 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
@Override
@Transactional
public R saveAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
List<DistributionAddvaluePackageDTO> packageEntityList = distributionAppAddvalueDTO.getPackageEntityList().stream().filter(p->p.getQuantity()>0).collect(Collectors.toList());
List<DistributionAddvaluePackageDTO> packageEntityList = distributionAppAddvalueDTO.getPackageEntityList();
List<DistributionAddvaluePackageDTO> packageDTOList = packageEntityList.stream().filter(p -> Func.isNotEmpty(p.getQuantity()) && p.getQuantity() > 0).collect(Collectors.toList());
if (Func.isEmpty(packageDTOList)){
return Resp.scanFail("操作失败","无可用包件信息");
}
//查询是否重复添加
DistributionAddvalueEntity addvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.<DistributionAddvalueEntity>query().lambda()
.eq(DistributionAddvalueEntity::getAddvalueId, distributionAppAddvalueDTO.getAddvalueType())
.eq(DistributionAddvalueEntity::getRefId, distributionAppAddvalueDTO.getReservationId())
.eq(DistributionAddvalueEntity::getRefType, 1));
if (Func.isNotEmpty(addvalueEntity)){
return Resp.scanFail("操作失败", "存在该类型增值服务项,如需更改请编辑");
}
if (Func.isEmpty(packageEntityList)) {
return Resp.scanFail("请添加包件", "请添加包件");
}
DistributionAddvalueDetailEntity distributionAddvalueDetailEntity = new DistributionAddvalueDetailEntity();
if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) {
return Resp.scanFail("添加失败", "错误的包件数量");
@ -211,7 +213,6 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(distributionAppAddvalueDTO.getReservationId());
if (Func.isEmpty(reservationEntity)){
return Resp.scanFail("添加失败", "客户信息错误");
}
// 上楼 超区 平移 搬运 分拣 专车
switch (distributionAppAddvalueDTO.getAddvalueType()) {
@ -336,6 +337,18 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
// distributionAddvalueDetailEntity.setNum(distributionAppAddvalueDTO.getNum());
// }
// 上楼 超区 平移 搬运 分拣 专车
if (Func.isEmpty(packageEntityList) && packageEntityList.size() == 0) {
//没有包件信息,对该增值服务进行清除
DistributionAddvalueEntity distributionAddvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.<DistributionAddvalueEntity>query().lambda()
.eq(DistributionAddvalueEntity::getRefId, distributionAppAddvalueDTO.getReservationId())
.eq(DistributionAddvalueEntity::getAddvalueId, distributionAppAddvalueDTO.getAddvalueType()));
DistributionAddvalueDetailEntity addvalueDetailEntity = distributionAddvalueDetailService.getOne(Wrappers.<DistributionAddvalueDetailEntity>query().lambda()
.eq(DistributionAddvalueDetailEntity::getAddvalueId, distributionAddvalueEntity.getId()));
distributionAddvaluePackageMapper.deleteAddvaluePackageList(distributionAppAddvalueDTO.getReservationId(), addvalueDetailEntity.getId());
distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType());
distributionAddvalueDetailMapper.deleteAddvalueDetail(distributionAddvalueEntity.getId());
return Resp.scanSuccess("操作成功","操作成功");
}
switch (distributionAppAddvalueDTO.getAddvalueType()) {
case "1":
if (Func.isEmpty(distributionAppAddvalueDTO.getFloolNum())) {
@ -377,18 +390,6 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
return Resp.scanFail("添加失败", "服务器正忙");
}
distributionAddvalueDetailMapper.updateById(detailEntity);
if (Func.isEmpty(packageEntityList) && packageEntityList.size() == 0) {
//没有包件信息,对该增值服务进行清除
DistributionAddvalueEntity distributionAddvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.<DistributionAddvalueEntity>query().lambda()
.eq(DistributionAddvalueEntity::getRefId, distributionAppAddvalueDTO.getReservationId())
.eq(DistributionAddvalueEntity::getAddvalueId, distributionAppAddvalueDTO.getAddvalueType()));
DistributionAddvalueDetailEntity addvalueDetailEntity = distributionAddvalueDetailService.getOne(Wrappers.<DistributionAddvalueDetailEntity>query().lambda()
.eq(DistributionAddvalueDetailEntity::getAddvalueId, distributionAddvalueEntity.getId()));
distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType());
distributionAddvalueDetailMapper.deleteAddvalueDetail(distributionAddvalueEntity.getId());
distributionAddvaluePackageMapper.deleteAddvaluePackageList(distributionAppAddvalueDTO.getReservationId(), addvalueDetailEntity.getId());
} else {
//查询出原来的包件信息
DistributionAddvalueVO addvalueVO = distributionAddvalueMapper.selectReservationAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType());
String packageListIds = addvalueVO.getPackageListIds();
@ -454,7 +455,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
});
}
}
}
return Resp.scanSuccess("保存成功", "保存成功");
}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

@ -1037,7 +1037,6 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
stockArticleEntity.setDeliveryQuantity(stockArticleEntity.getDeliveryQuantity() + outboundQuantity);
}
distributionStockArticleService.updateById(stockArticleEntity);
}

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

@ -43,12 +43,14 @@ import com.logpm.distribution.vo.app.*;
import com.logpm.distribution.vo.print.PrintPreviewVO;
import com.logpm.distribution.wrapper.*;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import com.logpm.warehouse.vo.TrayTypeDataVO;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.scripting.xmltags.ForEachSqlNode;
import org.jetbrains.annotations.NotNull;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant;
@ -146,6 +148,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
private final IDistributionLoadscanAbnormalService distributionLoadscanAbnormalService;
private final IDistributionReservationZeroPackageService distributionReservationZeroPackageService;
private final IDistributionParcelNumberService distributionParcelNumberService;
private final IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
// private final DistributionStockMapper distributionStockMapper;
// private final BladeRedis redis;
@ -1265,6 +1269,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
case "0":
//订制品
v.forEach(ord -> {
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(distrilbutionloadingscanDTO.getReservationId(), ord.getStockArticleId());
for (DistributionParcelListEntity parcelListEntity : parcelListEntities) {
DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity();
@ -1310,15 +1315,15 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getDeliveryId())) {
loadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId());
}
parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
distributionParcelListService.updateById(parcelListEntity);
// parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
// distributionParcelListService.updateById(parcelListEntity);
distributionLoadscanService.save(loadscanEntity);
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub());
warehouseUpdownTypeClient.downPackage(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
//异步修改包件状态
distributionAsyncService.changeMarketDeliveryListStatus(loadscanEntity.getOrderPackageCode(), loadscanEntity.getDeliveryId());
// distributionAsyncService.changeMarketDeliveryListStatus(loadscanEntity.getOrderPackageCode(), loadscanEntity.getDeliveryId());
}
});
break;
@ -1439,7 +1444,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
signforEntity.setLoadedNumber(loadedNumber.subtract(packageLoadingNub).add(reservationNum).intValue());
distributionSignforService.updateById(signforEntity);
//异步修改包件状态
distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity);
// distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity);
}
}
}
@ -1508,7 +1513,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
Integer j = distributionSignforMapper.updateloadByinvn(loadscaninvnEntity.getDeliveryId(), loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getPackageNub());
// warehouseUpdownTypeClient.downStock()
//异步修改包件状态 //对于存在库存品的这里还需要将库存品从对应的信息中进行扣除
distributionAsyncService.changeMarketDeliveryListStatus(loadscaninvnEntity.getOrderPackageCode(), loadscaninvnEntity.getDeliveryId());
// distributionAsyncService.changeMarketDeliveryListStatus(loadscaninvnEntity.getOrderPackageCode(), loadscaninvnEntity.getDeliveryId());
DistributionStockListEntity stockListEntity = distributionStockListMapper.selectOne(Wrappers.<DistributionStockListEntity>query().lambda().eq(DistributionStockListEntity::getId, loadscaninvnEntity.getInventoryId()));
stockListEntity.setQuantityStock(stockListEntity.getQuantityStock() - loadscaninvnEntity.getPackageNub());
stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() - loadscaninvnEntity.getPackageNub());
@ -1517,7 +1522,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
}
}
return R.success("成功");
return Resp.scanSuccess("操作成功","装车成功");
}
@ -2437,24 +2442,104 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//查询客户
List<DistributionAppReservationVO> customList = distributionDeliveryInfoMapper.selectAppcustomListPage(page, distributionDeliveryList.getId());
for (DistributionAppReservationVO distributionAppReservationVO : customList) {
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppReservationVO.getId());
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(distributionAppReservationVO.getId());
List<DistributionStockEntity> distributionStockEntities = new ArrayList<>();
List<DistributionLoadscanEntity> loadscanEntityList = new ArrayList<>();
List<WarehouseTrayGoodsEntity> trayList = new ArrayList<>();
for (DistributionReservationStockarticleEntity reservationStockarticleEntity : reservationStockarticleEntityList) {
if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())){
//查询订制品备货数量
List<DistributionStockEntity> packageListStockUpScan = distributionStockMapper.selectList(Wrappers.<DistributionStockEntity>query().lambda()
.eq(DistributionStockEntity::getType, 1)
.eq(DistributionStockEntity::getParcelListId, reservationStockarticleEntity.getStockArticleId())
.eq(DistributionStockEntity::getReservationId, reservationStockarticleEntity.getReservationId()));
if (Func.isNotEmpty(packageListStockUpScan)){
distributionStockEntities.addAll(packageListStockUpScan);
}
//统计托盘数
//查询所有包件
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationStockarticleEntity.getReservationId(), reservationStockarticleEntity.getStockArticleId());
parcelListEntities.forEach(p->{
WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = new WarehouseTrayGoodsEntity();
warehouseTrayGoodsEntity.setAssociationId(p.getId());
warehouseTrayGoodsEntity.setAssociationType("1");
List<WarehouseTrayGoodsEntity> trayGoodsClientTrayList = warehouseTrayGoodsClient.getTrayList(warehouseTrayGoodsEntity);
if (Func.isNotEmpty(trayGoodsClientTrayList)){
trayList.addAll(trayGoodsClientTrayList);
}
});
//查询订制品装车数量
List<DistributionLoadscanEntity> packageListLoadingScan = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, reservationStockarticleEntity.getReservationId())
.eq(DistributionLoadscanEntity::getOrderId, reservationStockarticleEntity.getStockArticleId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (Func.isNotEmpty(packageListLoadingScan)){
loadscanEntityList.addAll(packageListLoadingScan);
}
}else if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.yes.getValue())){
//查询零担备货数量
List<DistributionStockEntity> zeroPackageListStockUpScan = distributionStockMapper.selectList(Wrappers.<DistributionStockEntity>query().lambda()
.eq(DistributionStockEntity::getType, 2)
.eq(DistributionStockEntity::getParcelListId, reservationStockarticleEntity.getStockArticleId())
.eq(DistributionStockEntity::getReservationId, reservationStockarticleEntity.getReservationId()));
if (Func.isNotEmpty(zeroPackageListStockUpScan)){
distributionStockEntities.addAll(zeroPackageListStockUpScan);
}
//查询零担装车数量
List<DistributionLoadscanEntity> zeroPackageListLoadingScan = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, reservationStockarticleEntity.getReservationId())
.eq(DistributionLoadscanEntity::getOrderId, reservationStockarticleEntity.getStockArticleId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (Func.isNotEmpty(zeroPackageListLoadingScan)){
loadscanEntityList.addAll(zeroPackageListLoadingScan);
}
}
}
distributionAppReservationVO.setTrayNum(0);
if (Func.isNotEmpty(trayList)){
Long count = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayId).count();
distributionAppReservationVO.setTrayNum(count.intValue());
}
List<DisStockListDetailEntity> stockListDetailEntityList = distributionReservationMapper.selectInventoryListByReservation(distributionAppReservationVO.getId());
boolean stockArticleStockupStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageStockupStatus()) && s.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue()));
boolean inventoryStockupStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()));
if (stockArticleStockupStatus && inventoryStockupStatus) {
// boolean inventoryStockupStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()));
//备货数和计划数一致时完成备货
if (distributionStockEntities.size()+stockListDetailEntityList.stream().filter(s->Func.isNotEmpty(s.getStockPackageCode())).count() == distributionAppReservationVO.getReservationNum()){
distributionAppReservationVO.setIsstock("是");
} else {
}else {
distributionAppReservationVO.setIsstock("否");
}
boolean stockArticleLoadingStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageLoadingStatus()) && s.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()));
boolean inventoryLoadingStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue()));
if (stockArticleLoadingStatus && inventoryLoadingStatus) {
Integer packageListScanNum = loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum();
Long inventoryListScanNum = stockListDetailEntityList.stream().filter(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())).count();
distributionAppReservationVO.setLoadingNub(packageListScanNum + inventoryListScanNum.intValue());
if (packageListScanNum + inventoryListScanNum ==distributionAppReservationVO.getReservationNum() ) {
distributionAppReservationVO.setIsload("是");
} else {
distributionAppReservationVO.setIsload("否");
}
// List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionAppReservationVO.getId());
//
// boolean stockArticleStockupStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageStockupStatus()) && s.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue()));
// if (stockArticleStockupStatus && inventoryStockupStatus) {
// distributionAppReservationVO.setIsstock("是");
// } else {
// distributionAppReservationVO.setIsstock("否");
// }
// boolean stockArticleLoadingStatus = parcelListEntities.stream().allMatch(s -> Func.isNotEmpty(s.getOrderPackageLoadingStatus()) && s.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()));
// boolean inventoryLoadingStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue()));
// if (stockArticleLoadingStatus && inventoryLoadingStatus) {
// distributionAppReservationVO.setIsload("是");
// } else {
// distributionAppReservationVO.setIsload("否");
// }
// //查询备货是否完成
// int aLong = distributionStockMapper.selectCount(new QueryWrapper<DistributionStockEntity>().lambda()
// .eq(DistributionStockEntity::getReservationId, distributionAppReservationVO.getId())

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

@ -2709,6 +2709,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
return R.fail("订单已预约!!!");
}
stockArticleList.forEach(s -> {
if (Func.isNotEmpty(s.getAllocation())){
s.setAllocation(null);
}
DistributionStockArticleDTO stockArticleDTO = Func.copy(s, DistributionStockArticleDTO.class);
if (s.getIsZero().equals("0")) {
WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(s.getWaybillNumber());
@ -2786,6 +2789,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
});
s.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
s.setAvailableQuantity(0);
if (Func.isNotEmpty(s.getAllocation())){
s.setAllocation(null);
}
distributionStockArticleService.updateById(s);
} else {

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

@ -287,7 +287,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return Resp.scanFail("窜货", "窜货");
} else {
//判断该货物是否属于该客户
//TODO 这里对于出现计划之外的包件 待确定
// 异常签收
// return Resp.scanFail("异常签收包件","异常签收包件");
return R.fail(3006, "异常签收");
}
@ -401,6 +401,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
List<Long> orderIds = reservationStockarticleEntityList.stream().map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList());
List<DistributionStockArticleEntity> stockArticleEntities = distributionStockArticleService.listByIds(orderIds);
List<DistributionSignPrintVO> printEntities = baseMapper.selectSignImgsUrl(distributionSignforVO.getReservationId());
distributionSignforVO.setPrintVOList(printEntities);
if (Func.isNotEmpty(stockArticleEntities)){
distributionSignforVO.setOrderInfo(DistributionStockArticleWrapper.build().listVO(stockArticleEntities));
}
@ -765,6 +767,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//查询客户
List<DistributionAppSignforVO> customList = baseMapper.selectAppcustomListPage(page, distributionDeliveryList.getId());
for (DistributionAppSignforVO distributionAppReservationVO : customList) {
//查询装车数量
List<DistributionLoadscanEntity> packageScanList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, distributionAppReservationVO.getId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
AtomicInteger loadingNum = new AtomicInteger();
List<DistributionLoadscaninvnEntity> inventoryScanList = distributionLoadscaninvnService.list(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
.eq(DistributionLoadscaninvnEntity::getReservationId, distributionAppReservationVO.getId())
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (Func.isNotEmpty(packageScanList)){
loadingNum.getAndAdd(packageScanList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum());
}
if (Func.isNotEmpty(inventoryScanList)){
loadingNum.getAndAdd(inventoryScanList.stream().mapToInt(DistributionLoadscaninvnEntity::getLoadedNub).sum());
}
distributionAppReservationVO.setLoadedNumber(loadingNum.get());
//查询配送状态
distributionAppReservationVO.setDeliveryStatus("配送中");
if (distributionAppReservationVO.getDriverSigning().equals("2") || distributionAppReservationVO.getSigningStatus().equals("2")) {
@ -1835,7 +1852,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//查询出该签收的客户信息
DistributionSignforEntity signforEntity = this.getById(signforId);
List<DistributionParcelListEntity> parcelListEntities = baseMapper.getSignforPackageList(signforEntity.getReservationId());
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationStockarticleService.list(Wrappers.<DistributionReservationStockarticleEntity>query().lambda().eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId()).ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationStockarticleService.list(Wrappers.<DistributionReservationStockarticleEntity>query().lambda()
.eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId())
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
List<DistributionParcelListVO> parcelListVOS = new ArrayList<>();
if (Func.isNotEmpty(reservationStockarticleEntityList)){
reservationStockarticleEntityList.forEach(rs->{
@ -1843,6 +1862,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageByReservationAndStockArticle(rs.getReservationId(), rs.getStockArticleId());
List<DistributionParcelListVO> parcelListVOList = DistributionParcelListWrapper.build().listVO(parcelListEntityList);
parcelListVOList.forEach(p -> {
p.setReservationNum(p.getQuantity());
p.setLoadingNub(0);
p.setSigningNub(0);
DistributionLoadscanEntity distributionLoadscanEntity = distributionLoadscanMapper.selectOne(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getPackageId, p.getId()));
if (Func.isNotEmpty(distributionLoadscanEntity)) {
//该包件存在扫描记录
@ -1861,6 +1883,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
p.setScanStatus(LoadingStatusConstant.yijianzhuangche.getName());
break;
}
p.setLoadingNub(distributionLoadscanEntity.getLoadedNub());
p.setSigningNub(distributionLoadscanEntity.getReceivedQuantity());
if (Func.isNotEmpty(distributionLoadscanEntity.getSigningTime())) {
p.setSigningTime(distributionLoadscanEntity.getSigningTime());
}
@ -1872,15 +1896,54 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
}
});
parcelListVOS.addAll(parcelListVOS);
parcelListVOS.addAll(parcelListVOList);
}else if (rs.getIsZero().equals(IsOrNoConstant.yes.getValue())){
List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(rs.getReservationId());
distributionParcelNumberDTOS.forEach(zp->{
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(zp.getParcelListId());
DistributionParcelListVO parcelListVO = DistributionParcelListWrapper.build().entityVO(parcelListEntity);
// DistributionParcelListVO parcelListVO = Func.copy(parcelListEntity, DistributionParcelListVO.class);
// parcelListVO.setReservationNum(zp.get);
parcelListVO.setReservationNum(zp.getReservationNum());
parcelListVO.setLoadingNub(0);
parcelListVO.setSigningNub(0);
DistributionLoadscanEntity distributionLoadscanEntity = distributionLoadscanMapper.selectOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getPackageId, zp.getParcelListId())
.eq(DistributionLoadscanEntity::getReservationId,rs.getReservationId()));
if (Func.isNotEmpty(distributionLoadscanEntity)) {
//该包件存在扫描记录
String scanStatus = distributionLoadscanEntity.getScanStatus();
switch (scanStatus) {
case "1":
parcelListVO.setScanStatus(LoadingStatusConstant.quxiao.getName());
break;
case "2":
parcelListVO.setScanStatus(LoadingStatusConstant.saomiao.getName());
break;
case "3":
parcelListVO.setScanStatus(LoadingStatusConstant.queren.getName());
break;
case "4":
parcelListVO.setScanStatus(LoadingStatusConstant.yijianzhuangche.getName());
break;
}
parcelListVO.setLoadingNub(distributionLoadscanEntity.getLoadedNub());
parcelListVO.setSigningNub(distributionLoadscanEntity.getReceivedQuantity());
if (Func.isNotEmpty(distributionLoadscanEntity.getSigningTime())) {
parcelListVO.setSigningTime(distributionLoadscanEntity.getSigningTime());
}
if (Func.isNotEmpty(distributionLoadscanEntity.getScanUser())) {
parcelListVO.setScanUser(distributionLoadscanEntity.getScanUser());
}
if (Func.isNotEmpty(distributionLoadscanEntity.getDriverName())) {
parcelListVO.setDriverName(distributionLoadscanEntity.getDriverName());
}
}
parcelListVOS.add(parcelListVO);
});
}
});
}
return parcelListVOS;
}

18
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java

@ -92,9 +92,9 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
// 对返回i的数据进行处理 按照 发车单-->订单-->包件 完成保存
handleData(code);
// if (ObjectUtils.isNotNull(code)) {
// asyncDataService.handlerOuPaiDataToHt(code);
// }
if (ObjectUtils.isNotNull(code)) {
asyncDataService.handlerOuPaiDataToHt(code);
}
return code;
}
@ -362,8 +362,18 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
return Resp.fail(400, "未查询到该单据推送收货单信息");
}
if(StringUtil.isBlank(receivingOrderEntity.getCurrentWarehouseOid())){
log.info(" 该订单为没有收货仓 不进行推送 >>> getCurrentWarehouseOid={} ", receivingOrderEntity.getCurrentWarehouseOid());
return Resp.fail(400, "收货仓信息不能为null");
}
if(!receivingOrderEntity.getCurrentWarehouseName().contains("仓")){
log.info(" 该订单为没有收货仓信息不正确 getCurrentWarehouseName={} ", receivingOrderEntity.getCurrentWarehouseName());
return Resp.fail(400, "该订单为没有收货仓信息不正确");
}
JSONObject detailObject = new JSONObject();
detailObject.put("WarehouseOid", receivingOrderEntity.getEndWarehouseOid());
detailObject.put("WarehouseOid", receivingOrderEntity.getCurrentWarehouseOid());
detailObject.put("WarehouseBelong", "oppein");
detailObject.put("Creator", orderStatusDTO.getUsername());
detailObject.put("PackageCode", unitNo);

1
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java

@ -148,6 +148,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
//根据客户订单号去查询WMS装车清单号
QueryWrapper<PanFactoryOrder> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_no", orderNo);
queryWrapper.eq("delivery_number", orderInfoDTO.getDeliveryNumber());
PanFactoryOrder panFactoryOrder = factoryOrderService.getOne(queryWrapper);
if (Objects.isNull(panFactoryOrder)) {
logger.info("#############handleData: 未找到订单数据 合同自编码orderNo={}", orderNo);

45
blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OpenOrderHandler.java

@ -18,6 +18,7 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -57,34 +58,40 @@ public class OpenOrderHandler {
}
//通过订单自编号去查询该条订单是属于哪个工厂
String orderSelfNum =orderNo;
AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderSelfNum);
if(Objects.isNull(advanceEntity)){
// 汇通运单号
String logiBillNo = orderInfoDTO.getLogiBillNo();
List<AdvanceEntity> advanceEntitys = advanceClient.findAdvanceEntityByLogiBillNoAndOrderCode(logiBillNo,orderSelfNum);
if(Objects.isNull(advanceEntitys)){
log.info("##################openOrderStatusHandler: 未找到对应订单 orderNo={}",orderNo);
// channel.basicAck(deliveryTag,true);
return;
}
String type = advanceEntity.getType();//品牌
for (AdvanceEntity advanceEntity : advanceEntitys) {
String type = advanceEntity.getType();//品牌
orderInfoDTO.setOrderNo(orderNo);
R r = null;
switch (type){
case FactoryConstant.PIANO:
r = panFactoryDataService.handleData(orderInfoDTO);
int code = r.getCode();
if(code == 400 || code == 200){
log.info("##################openOrderStatusHandler: 该条数据不用处理 orderNo={}",orderNo);
// channel.basicAck(deliveryTag,true);
}else{
throw new CustomerException(code,r.getMsg());
}
break;
orderInfoDTO.setOrderNo(orderNo);
orderInfoDTO.setDeliveryNumber(advanceEntity.getMctsTruckNo());
R r = null;
switch (type){
case FactoryConstant.PIANO:
r = panFactoryDataService.handleData(orderInfoDTO);
int code = r.getCode();
if(code == 400 || code == 200){
log.info("##################openOrderStatusHandler: 该条数据不用处理 orderNo={}",orderNo);
}else{
throw new CustomerException(code,r.getMsg());
}
break;
// case FactoryConstant.MENGT:
// r = mtFactoryDataService.handleData(orderInfoDTO);
// break;
default:
log.info("##################openOrderStatusHandler: 未知品牌 type={}",type);
default:
log.info("##################openOrderStatusHandler: 未知品牌 type={}",type);
// channel.basicAck(deliveryTag,true);
}
}
}

15
blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OrderStatusHandler.java

@ -97,14 +97,13 @@ public class OrderStatusHandler {
break;
case FactoryConstant.OUPAI:
// todo cangku peizhi xinxi cunzai went
// r = ouPaiFactoryService.handleStatusData(orderStatusDTO);
// if (r.getCode() == 400 || r.getCode() == 200) {
// log.info("TAG {} ##################orderStatusHandler: 该条数据不用处理 orderNo={}", FactoryConstant.OUPAI, orderSelfNum);
//// channel.basicAck(deliveryTag,true);
// } else {
// throw new CustomerException(r.getCode(), r.getMsg());
// }
r = ouPaiFactoryService.handleStatusData(orderStatusDTO);
if (r.getCode() == 400 || r.getCode() == 200) {
log.info("TAG {} ##################orderStatusHandler: 该条数据不用处理 orderNo={}", FactoryConstant.OUPAI, orderSelfNum);
// channel.basicAck(deliveryTag,true);
} else {
throw new CustomerException(r.getCode(), r.getMsg());
}
default:

6
blade-service/logpm-old-project/pom.xml

@ -23,6 +23,12 @@
<groupId>org.springblade</groupId>
<artifactId>blade-starter-swagger</artifactId>
</dependency>
<!--mq-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>

137
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/config/RabbitMqConfiguration.java

@ -0,0 +1,137 @@
/*
package com.logpm.oldproject.config;
import com.alibaba.nacos.shaded.com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RabbitConstant;
import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.retry.MessageRecoverer;
import org.springframework.amqp.rabbit.retry.RepublishMessageRecoverer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Map;
*/
/**
* RabbitMQ配置主要是配置队列如果提前存在该队列可以省略本配置类
*
* @author yangkai.shen
*//*
@Slf4j
@Configuration
public class RabbitMqConfiguration {
@Bean
public RabbitTemplate createRabbitTemplate(ConnectionFactory connectionFactory){
RabbitTemplate template = new RabbitTemplate();
template.setConnectionFactory(connectionFactory);
template.setMandatory(true);
template.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {
@Override
public void confirm(CorrelationData correlationData, boolean b, String s) {
System.out.println("确认回调-相关数据:"+correlationData);
System.out.println("确认回调-确认情况:"+b);
System.out.println("确认回调-原因:"+s);
// Long id = Long.parseLong(correlationData.getId());
// UpdateWrapper<PanOrderStatusLog> updateWrapper = new UpdateWrapper<>();
// if(b){
// //修改处理日志为已处理
// updateWrapper.set("status",0)
// .eq("id",id);
//
// }else{
// //修改处理日志为已处理
// updateWrapper.set("status",2)
// .eq("id",id);
// }
// panOrderStatusLogService.update(updateWrapper);
}
});
template.setReturnsCallback(new RabbitTemplate.ReturnsCallback() {
@Override
public void returnedMessage(ReturnedMessage returnedMessage) {
System.out.println("返回回调-消息:"+returnedMessage.getMessage());
System.out.println("返回回调-回应码:"+returnedMessage.getReplyCode());
System.out.println("返回回调-回应信息:"+returnedMessage.getReplyText());
System.out.println("返回回调-交换机:"+returnedMessage.getExchange());
System.out.println("返回回调-路由键:"+returnedMessage.getRoutingKey());
}
});
return template;
}
@Bean
public DirectExchange errorMessageExchange(){
return new DirectExchange(RabbitConstant.ERROR_EXCHANGE);
}
@Bean
public Queue errorQueue(){
return new Queue(RabbitConstant.ERROR_QUEUE, true);
}
@Bean
public Binding errorBinding(Queue errorQueue, DirectExchange errorMessageExchange){
return BindingBuilder.bind(errorQueue).to(errorMessageExchange).with(RabbitConstant.ERROR_ROUTING);
}
*/
/**
* 消费失败队列
* @param rabbitTemplate
* @return
*//*
@Bean
public MessageRecoverer republishMessageRecoverer(RabbitTemplate rabbitTemplate){
return new RepublishMessageRecoverer(rabbitTemplate, RabbitConstant.ERROR_EXCHANGE, RabbitConstant.ERROR_ROUTING);
}
*/
/**
* 延迟队列
*//*
@Bean
public Queue orderStatusQueue() {
return new Queue(RabbitConstant.ORDER_STATUS_QUEUE, true);
}
*/
/**
* 延迟队列交换器, x-delayed-type x-delayed-message 固定
*//*
@Bean
public CustomExchange orderStatusExchange() {
Map<String, Object> args = Maps.newHashMap();
args.put("x-delayed-type", "direct");
return new CustomExchange(RabbitConstant.ORDER_STATUS_EXCHANGE, "x-delayed-message", true, false, args);
}
*/
/**
* 延迟队列绑定自定义交换器
*
* @param orderStatusQueue 队列
* @param orderStatusExchange 延迟交换器
*//*
@Bean
public Binding orderStatusBinding(Queue orderStatusQueue, CustomExchange orderStatusExchange) {
return BindingBuilder.bind(orderStatusQueue).to(orderStatusExchange).with(RabbitConstant.ORDER_STATUS_ROUTING).noargs();
}
}
*/

6
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceClient.java

@ -85,5 +85,9 @@ public class AdvanceClient implements IAdvanceClient {
public AdvanceEntity fingById(Integer advanceId) {
return service.fingById(advanceId);
}
@GetMapping(API_PREFIX + "/findAdvanceEntityByLogiBillNoAndOrderCode")
@Override
public List<AdvanceEntity> findAdvanceEntityByLogiBillNoAndOrderCode(String logiBillNo, String orderCode) {
return service.findAdvanceEntityByLogiBillNoAndOrderCode(logiBillNo,orderCode);
}
}

1
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.java

@ -49,4 +49,5 @@ public interface AdvanceMapper {
List<AdvanceEntity> getEntityByMctsTruck(@Param("orderSelfNum") String orderSelfNum, @Param("mctsTruck") String mctsTruck);
List<AdvanceEntity> findAdvanceEntityByLogiBillNoAndOrderCode(@Param("logiBillNo") String logiBillNo, @Param("orderCode")String orderCode);
}

4
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.xml

@ -57,5 +57,9 @@
and delete_time = 0
</select>
<select id="findAdvanceEntityByLogiBillNoAndOrderCode" resultMap="advanceResultMap">
SELECT adv.* from ht_advance adv LEFT JOIN ht_waybill_order wo on wo.advance_id=adv.id where wo.waybill_no =#{logiBillNo} and wo.orderSelfNum=#{orderCode} and wo.status !=-1
</select>
</mapper>

7
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IAdvanceService.java

@ -43,4 +43,11 @@ public interface IAdvanceService {
List<AdvanceEntity> getEntityByMctsTruck(String orderSelfNum, String mctsTruck);
/**
* 根据订单编号和运单号查询老信息的订单信息
* @param logiBillNo
* @param orderCode
* @return
*/
List<AdvanceEntity> findAdvanceEntityByLogiBillNoAndOrderCode(String logiBillNo, String orderCode);
}

5
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/AdvanceServiceImpl.java

@ -69,4 +69,9 @@ public class AdvanceServiceImpl implements IAdvanceService {
public List<AdvanceEntity> getEntityByMctsTruck(String orderSelfNum, String mctsTruck) {
return advanceMapper.getEntityByMctsTruck(orderSelfNum,mctsTruck);
}
@Override
public List<AdvanceEntity> findAdvanceEntityByLogiBillNoAndOrderCode(String logiBillNo, String orderCode) {
return advanceMapper.findAdvanceEntityByLogiBillNoAndOrderCode(logiBillNo,orderCode);
}
}

2
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java

@ -246,7 +246,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
@Override
public void supplementOrderInfo(String orderCode, Long newWarehouseId, Integer oldWarehouseId) {
//通过订单号查询暂存单
AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderCode);
AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderCode);//这个地方有问题
if(Objects.isNull(advanceEntity)){
log.warn("#################saveOrderInfo: 未查询单订单信息 orderCode={}",orderCode);
throw new CustomerException(403,"未查询单订单信息");

6
blade-service/logpm-trunkline/pom.xml

@ -39,6 +39,12 @@
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-basicdata-api</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>

61
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/BillladingController.java

@ -0,0 +1,61 @@
package com.logpm.trunkline.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.service.ITrunklineBillladingService;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/billlading")
@Api(value = "提货单控制类", tags = "提货单接口")
public class BillladingController {
private final IBasicdataWarehouseClient warehouseClient;
private final ITrunklineBillladingService trunklineBillladingService;
@ResponseBody
@PostMapping("/pageList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "提货单列表", notes = "传入waybillDTO")
public R pageList(@RequestBody BillladingDTO billladingDTO) {
String method = "############pageList: ";
log.info(method+"请求参数{}",billladingDTO);
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(403,"仓库信息为空");
}
billladingDTO.setWarehouseId(myCurrentWarehouse.getId());
IPage<TrunklineBillladingVO> pages = trunklineBillladingService.pageList(billladingDTO);
return R.data(pages);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error("############sendOrders: 系统异常",e);
return R.fail(500,"############sendOrders: 系统异常");
}
}
}

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.java

@ -0,0 +1,9 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TrunklineAdvanceDetailMapper extends BaseMapper<TrunklineAdvanceDetailEntity> {
}

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

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineAdvanceDetailMapper">
</mapper>

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.java

@ -0,0 +1,9 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineAdvanceEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TrunklineAdvanceMapper extends BaseMapper<TrunklineAdvanceEntity> {
}

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

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineAdvanceMapper">
</mapper>

16
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java

@ -0,0 +1,16 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface TrunklineBillladingMapper extends BaseMapper<TrunklineBillladingEntity> {
IPage<TrunklineBillladingVO> pageList(IPage<Object> page, @Param("param") BillladingDTO billladingDTO);
}

78
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineBillladingMapper">
<select id="pageList" resultType="com.logpm.trunkline.vo.TrunklineBillladingVO">
select ltb.id id,
ltb.billlading_code billladingCode,
ltb.car_number carNumber,
ltb.driver_name driverName,
ltb.driver_phone driverPhone,
ltb.warehouse_id warehouseId,
ltb.warehouse_name warehouseName,
ltb.line_id lineId,
ltb.line_name_title lineNameTitle,
lbd.node_nub nodeNub,
ltb.start_time startTime,
ltb.end_time endTime,
ltb.plan_num planNum,
ltb.billlading_status billladingStatus,
ltb.charge_type chargeType,
ltb.total_fee totalFee,
ltb.remark remark,
ltb.carrier_name carrierName,
ltb.create_user_name createUserName,
count(ltbw.id) waybillCount,
sum(ltbw.real_num) totalNum,
sum(ltbw.real_weight) totalWeight,
sum(ltbw.real_volume) totalVolume
from logpm_trunkline_billlading ltb
left join logpm_basic_deline lbd on lbd.id = ltb.line_id
left join logpm_trunkline_billlading_waybill ltbw on ltbw.billlading_id = ltb.id
where ltb.is_deleted = 0
<if test="param.billladingCode != null and param.billladingCode != '' ">
and ltb.billlading_code = #{param.billladingCode}
</if>
<if test="param.carNumber != null and param.carNumber != '' ">
and ltb.car_number = #{param.carNumber}
</if>
<if test="param.driverName != null and param.driverName != '' ">
and ltb.driver_name = #{param.driverName}
</if>
<if test="param.driverPhone != null and param.driverPhone != '' ">
and ltb.driver_phone = #{param.driverPhone}
</if>
<if test="param.warehouseName != null and param.warehouseName != '' ">
and ltb.warehouse_name = #{param.warehouseName}
</if>
<if test="param.billladingStatus != null and param.billladingStatus != '' ">
and ltb.billlading_status = #{param.billladingStatus}
</if>
<if test="param.chargeType != null and param.chargeType != '' ">
and ltb.charge_type = #{param.chargeType}
</if>
<if test="param.createUserName != null and param.createUserName != '' ">
and ltb.create_user_name = #{param.createUserName}
</if>
group by ltb.id,ltb.billlading_code,
ltb.car_number,
ltb.driver_name,
ltb.driver_phone,
ltb.warehouse_id,
ltb.warehouse_name,
ltb.line_id,
ltb.line_name_title,
lbd.node_nub,
ltb.start_time,
ltb.end_time,
ltb.plan_num,
ltb.billlading_status,
ltb.charge_type,
ltb.total_fee,
ltb.remark,
ltb.carrier_name,
ltb.create_user_name
order by ltb.create_time desc
</select>
</mapper>

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingPackageMapper.java

@ -0,0 +1,9 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TrunklineBillladingPackageMapper extends BaseMapper<TrunklineBillladingPackageEntity> {
}

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.java

@ -0,0 +1,9 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TrunklineBillladingWaybillMapper extends BaseMapper<TrunklineBillladingWaybillEntity> {
}

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

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineBillladingWaybillMapper">
</mapper>

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineDetailProductMapper.java

@ -0,0 +1,9 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineDetailProductEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TrunklineDetailProductMapper extends BaseMapper<TrunklineDetailProductEntity> {
}

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java

@ -0,0 +1,7 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineAdvanceDetailService extends BaseService<TrunklineAdvanceDetailEntity> {
}

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java

@ -0,0 +1,7 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineAdvanceEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineAdvanceService extends BaseService<TrunklineAdvanceEntity> {
}

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingPackageServicie.java

@ -0,0 +1,7 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineBillladingPackageServicie extends BaseService<TrunklineBillladingPackageEntity> {
}

13
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java

@ -0,0 +1,13 @@
package com.logpm.trunkline.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineBillladingService extends BaseService<TrunklineBillladingEntity> {
IPage<TrunklineBillladingVO> pageList(BillladingDTO billladingDTO);
}

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingWaybillService.java

@ -0,0 +1,7 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineBillladingWaybillService extends BaseService<TrunklineBillladingWaybillEntity> {
}

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineDetailProductService.java

@ -0,0 +1,7 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineDetailProductEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineDetailProductService extends BaseService<TrunklineDetailProductEntity> {
}

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

@ -0,0 +1,15 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.mapper.TrunklineAdvanceDetailMapper;
import com.logpm.trunkline.service.ITrunklineAdvanceDetailService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<TrunklineAdvanceDetailMapper, TrunklineAdvanceDetailEntity> implements ITrunklineAdvanceDetailService {
}

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

@ -0,0 +1,15 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineAdvanceEntity;
import com.logpm.trunkline.mapper.TrunklineAdvanceMapper;
import com.logpm.trunkline.service.ITrunklineAdvanceService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanceMapper, TrunklineAdvanceEntity> implements ITrunklineAdvanceService {
}

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

@ -0,0 +1,15 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingPackageMapper;
import com.logpm.trunkline.service.ITrunklineBillladingPackageServicie;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineBillladingPackageServiceImpl extends BaseServiceImpl<TrunklineBillladingPackageMapper, TrunklineBillladingPackageEntity> implements ITrunklineBillladingPackageServicie {
}

30
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java

@ -0,0 +1,30 @@
package com.logpm.trunkline.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingMapper;
import com.logpm.trunkline.service.ITrunklineBillladingService;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBillladingMapper, TrunklineBillladingEntity> implements ITrunklineBillladingService {
@Override
public IPage<TrunklineBillladingVO> pageList(BillladingDTO billladingDTO) {
IPage<Object> page = new Page<>();
page.setCurrent(billladingDTO.getPageNum());
page.setSize(billladingDTO.getPageSize());
IPage<TrunklineBillladingVO> pageList = baseMapper.pageList(page,billladingDTO);
return null;
}
}

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

@ -0,0 +1,15 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingWaybillMapper;
import com.logpm.trunkline.service.ITrunklineBillladingWaybillService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineBillladingWaybillServiceImpl extends BaseServiceImpl<TrunklineBillladingWaybillMapper, TrunklineBillladingWaybillEntity> implements ITrunklineBillladingWaybillService {
}

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

@ -0,0 +1,15 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineDetailProductEntity;
import com.logpm.trunkline.mapper.TrunklineDetailProductMapper;
import com.logpm.trunkline.service.ITrunklineDetailProductService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class TrunklineDetailProductServiceImpl extends BaseServiceImpl<TrunklineDetailProductMapper, TrunklineDetailProductEntity> implements ITrunklineDetailProductService {
}

144
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java

@ -25,60 +25,94 @@ public class WarehouseRetentionApiController {
private final IWarehouseRetentionRecordService warehouseRetentionRecordService;
@ResponseBody
@PostMapping("/retentionPackageList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "滞留包件列表", notes = "传入trayTypeDTO")
public R<IPage<WarehouseRetentionRecordVO>> retentionPackageList(@RequestBody RetentionDTO retentionDTO) {
String method = "###########retentionPackageList: ";
log.info(method+"滞留包件列表 retentionDTO={}",retentionDTO);
Integer pageNum = retentionDTO.getPageNum();
Integer pageSize = retentionDTO.getPageSize();
if(Objects.isNull(pageNum)){
retentionDTO.setPageNum(1);
}
if(Objects.isNull(pageSize)){
retentionDTO.setPageSize(10);
}
try{
//查询订制品打托列表
IPage<WarehouseRetentionRecordVO> pages = warehouseRetentionRecordService.retentionPackageList(retentionDTO);
return R.data(pages);
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常,联系管理员",e);
return R.fail(500,"系统异常,联系管理员");
}
}
@ResponseBody
@PostMapping("/retentionScanPackage")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "滞留扫描包件码", notes = "传入trayTypeDTO")
public R retentionScanPackage(@RequestBody RetentionDTO retentionDTO) {
String method = "###########retentionScanPackage: ";
log.info(method + "滞留扫描包件码 retentionDTO={}", retentionDTO);
String orderPackageCode = retentionDTO.getOrderPackageCode();//包件码
try{
if(StringUtil.isBlank(orderPackageCode)){
log.warn("############retentionScanPackage: 包件码不能为空 orderPackageCode={}",orderPackageCode);
return R.fail(403,"包件码不能为空");
}
//查询订制品打托列表
return warehouseRetentionRecordService.retentionScanPackage(orderPackageCode);
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常,联系管理员",e);
return R.fail(500,"系统异常,联系管理员");
}
}
// @ResponseBody
// @PostMapping("/retentionPackageList")
// @ApiOperationSupport(order = 1)
// @ApiOperation(value = "滞留包件列表", notes = "传入trayTypeDTO")
// public R<IPage<WarehouseRetentionRecordVO>> retentionPackageList(@RequestBody RetentionDTO retentionDTO) {
// String method = "###########retentionPackageList: ";
// log.info(method+"滞留包件列表 retentionDTO={}",retentionDTO);
// Integer pageNum = retentionDTO.getPageNum();
// Integer pageSize = retentionDTO.getPageSize();
//
// if(Objects.isNull(pageNum)){
// retentionDTO.setPageNum(1);
// }
// if(Objects.isNull(pageSize)){
// retentionDTO.setPageSize(10);
// }
//
// try{
// //查询订制品打托列表
// IPage<WarehouseRetentionRecordVO> pages = warehouseRetentionRecordService.retentionPackageList(retentionDTO);
// return R.data(pages);
// }catch (CustomerException e){
// log.warn(e.message);
// return R.fail(e.code,e.message);
// }catch (Exception e){
// log.error(method+"系统异常,联系管理员",e);
// return R.fail(500,"系统异常,联系管理员");
// }
// }
//
//
// @ResponseBody
// @PostMapping("/retentionScanPackage")
// @ApiOperationSupport(order = 1)
// @ApiOperation(value = "滞留扫描包件码", notes = "传入trayTypeDTO")
// public R retentionScanPackage(@RequestBody RetentionDTO retentionDTO) {
// String method = "###########retentionScanPackage: ";
// log.info(method + "滞留扫描包件码 retentionDTO={}", retentionDTO);
// String orderPackageCode = retentionDTO.getOrderPackageCode();//包件码
// try{
// if(StringUtil.isBlank(orderPackageCode)){
// log.warn("############retentionScanPackage: 包件码不能为空 orderPackageCode={}",orderPackageCode);
// return R.fail(403,"包件码不能为空");
// }
//
// //查询订制品打托列表
// return warehouseRetentionRecordService.retentionScanPackage(orderPackageCode);
// }catch (CustomerException e){
// log.warn(e.message);
// return R.fail(e.code,e.message);
// }catch (Exception e){
// log.error(method+"系统异常,联系管理员",e);
// return R.fail(500,"系统异常,联系管理员");
// }
// }
// @ResponseBody
// @PostMapping("/retentionScanPackage")
// @ApiOperationSupport(order = 1)
// @ApiOperation(value = "滞留扫描包件码", notes = "传入trayTypeDTO")
// public R retentionScanPackage(@RequestBody RetentionDTO retentionDTO) {
// String method = "###########retentionScanPackage: ";
// log.info(method + "滞留扫描包件码 retentionDTO={}", retentionDTO);
// String orderPackageCode = retentionDTO.getOrderPackageCode();//包件码
// try{
// if(StringUtil.isBlank(orderPackageCode)){
// log.warn("############retentionScanPackage: 包件码不能为空 orderPackageCode={}",orderPackageCode);
// return R.fail(403,"包件码不能为空");
// }
//
// //查询订制品打托列表
// return warehouseRetentionRecordService.retentionScanPackage(orderPackageCode);
// }catch (CustomerException e){
// log.warn(e.message);
// return R.fail(e.code,e.message);
// }catch (Exception e){
// log.error(method+"系统异常,联系管理员",e);
// return R.fail(500,"系统异常,联系管理员");
// }
// }
}

154
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseRetentionScanController.java

@ -0,0 +1,154 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.controller;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionScanExcel;
import com.logpm.warehouse.service.IWarehouseRetentionScanService;
import com.logpm.warehouse.vo.WarehouseRetentionScanVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
import com.logpm.warehouse.service.IWarehouseRetentionRecordService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Map;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
/**
* 滞留扫描记录 控制器
*
* @author BladeX
* @since 2023-11-03
*/
@RestController
@AllArgsConstructor
@RequestMapping("/warehouseRetentionScan")
@Api(value = "滞留扫描记录", tags = "滞留扫描记录接口")
public class WarehouseRetentionScanController extends BladeController {
private final IWarehouseRetentionScanService warehouseRetentionScanService;
/**
* 滞留扫描记录 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "详情", notes = "传入warehouseRetentionScan")
public R<WarehouseRetentionScanEntity> detail(WarehouseRetentionScanEntity warehouseRetentionScan) {
WarehouseRetentionScanEntity detail = warehouseRetentionScanService.getOne(Condition.getQueryWrapper(warehouseRetentionScan));
return R.data(detail);
}
/**
* 滞留扫描记录 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入warehouseRetentionScan")
public R<IPage<WarehouseRetentionScanEntity>> list(@ApiIgnore @RequestParam Map<String, Object> warehouseRetentionScan, Query query) {
IPage<WarehouseRetentionScanEntity> pages = warehouseRetentionScanService.page(Condition.getPage(query), Condition.getQueryWrapper(warehouseRetentionScan, WarehouseRetentionScanEntity.class));
return R.data(pages);
}
/**
* 滞留扫描记录 自定义分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入warehouseRetentionScan")
public R<IPage<WarehouseRetentionScanVO>> page(WarehouseRetentionScanVO warehouseRetentionScan, Query query) {
IPage<WarehouseRetentionScanVO> pages = warehouseRetentionScanService.selectWarehouseRetentionRecordPage(Condition.getPage(query), warehouseRetentionScan);
return R.data(pages);
}
/**
* 滞留扫描记录 新增
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入warehouseRetentionScan")
public R save(@Valid @RequestBody WarehouseRetentionScanEntity warehouseRetentionScan) {
return R.status(warehouseRetentionScanService.save(warehouseRetentionScan));
}
/**
* 滞留扫描记录 修改
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入warehouseRetentionScan")
public R update(@Valid @RequestBody WarehouseRetentionScanEntity warehouseRetentionScan) {
return R.status(warehouseRetentionScanService.updateById(warehouseRetentionScan));
}
/**
* 滞留扫描记录 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入warehouseRetentionScan")
public R submit(@Valid @RequestBody WarehouseRetentionScanEntity warehouseRetentionScan) {
return R.status(warehouseRetentionScanService.saveOrUpdate(warehouseRetentionScan));
}
/**
* 滞留扫描记录 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
return R.status(warehouseRetentionScanService.removeByIds(Func.toLongList(ids)));
}
/**
* 导出数据
*/
@GetMapping("/export-warehouseRetentionScan")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入warehouseRetentionScan")
public void exportWarehouseRetentionScan(@ApiIgnore @RequestParam Map<String, Object> warehouseRetentionScan, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<WarehouseRetentionScanEntity> queryWrapper = Condition.getQueryWrapper(warehouseRetentionScan, WarehouseRetentionScanEntity.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(WarehouseRetentionScan::getTenantId, bladeUser.getTenantId());
//}
queryWrapper.lambda().eq(WarehouseRetentionScanEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<WarehouseRetentionScanExcel> list = warehouseRetentionScanService.exportWarehouseRetentionRecord(queryWrapper);
ExcelUtil.export(response, "滞留扫描记录数据" + DateUtil.time(), "滞留扫描记录数据表", list, WarehouseRetentionScanExcel.class);
}
}

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/RetentionDTO.java

@ -14,5 +14,4 @@ public class RetentionDTO implements Serializable {
private String endDate;
private String orderPackageCode;
}

34
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseRetentionScanDTO.java

@ -0,0 +1,34 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.dto;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 滞留扫描记录 数据传输对象实体类
*
* @author BladeX
* @since 2023-11-03
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WarehouseRetentionScanDTO extends WarehouseRetentionScanEntity {
private static final long serialVersionUID = 1L;
}

201
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/excel/WarehouseRetentionScanExcel.java

@ -0,0 +1,201 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.excel;
import lombok.Data;
import java.util.Date;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import java.io.Serializable;
/**
* 滞留扫描记录 Excel实体类
*
* @author BladeX
* @since 2023-11-03
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class WarehouseRetentionScanExcel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 租户号
*/
@ColumnWidth(20)
@ExcelProperty("租户号")
private String tenantId;
/**
* 是否已删除
*/
@ColumnWidth(20)
@ExcelProperty("是否已删除")
private Integer isDeleted;
/**
* 预留1
*/
@ColumnWidth(20)
@ExcelProperty("预留1")
private String reserve1;
/**
* 预留2
*/
@ColumnWidth(20)
@ExcelProperty("预留2")
private String reserve2;
/**
* 预留3
*/
@ColumnWidth(20)
@ExcelProperty("预留3")
private String reserve3;
/**
* 预留4
*/
@ColumnWidth(20)
@ExcelProperty("预留4")
private String reserve4;
/**
* 预留5
*/
@ColumnWidth(20)
@ExcelProperty("预留5")
private String reserve5;
/**
* 配送车次号
*/
@ColumnWidth(20)
@ExcelProperty("配送车次号")
private String trainNumber;
/**
* 订单ID
*/
@ColumnWidth(20)
@ExcelProperty("订单ID")
private Long orderId;
/**
* 库存品ID
*/
@ColumnWidth(20)
@ExcelProperty("库存品ID")
private Long inventoryId;
/**
* 滞留类型 1-包件2-零担(这里会关联到具体的品类)3-库存品
*/
@ColumnWidth(20)
@ExcelProperty("滞留类型 1-包件、2-零担(这里会关联到具体的品类)、3-库存品")
private Integer conditions;
/**
* 物料编码(库存品)
*/
@ColumnWidth(20)
@ExcelProperty("物料编码(库存品)")
private String materialNumber;
/**
* 物料名称(库存品)
*/
@ColumnWidth(20)
@ExcelProperty("物料名称(库存品)")
private String materialName;
/**
* 预约客户ID
*/
@ColumnWidth(20)
@ExcelProperty("预约客户ID")
private Long reservationId;
/**
* 订单自编号(库存品没有)
*/
@ColumnWidth(20)
@ExcelProperty("订单自编号(库存品没有)")
private String orderCode;
/**
* 预约单号
*/
@ColumnWidth(20)
@ExcelProperty("预约单号")
private String reservationCode;
/**
* 扫描类型:1-包件2-订单3-托盘4...
*/
@ColumnWidth(20)
@ExcelProperty("扫描类型:1-包件、2-订单、3-托盘、4...")
private Integer scanType;
/**
* 包件ID
*/
@ColumnWidth(20)
@ExcelProperty("包件ID")
private Long orderPackageId;
/**
* 包条码
*/
@ColumnWidth(20)
@ExcelProperty("包条码")
private String orderPackageCode;
/**
* 滞留数量
*/
@ColumnWidth(20)
@ExcelProperty("滞留数量")
private Integer retentionQuantity;
/**
* 滞留扫描操作人名称
*/
@ColumnWidth(20)
@ExcelProperty("滞留扫描操作人名称")
private String retentionScanUsername;
/**
* 滞留扫描操作人Id
*/
@ColumnWidth(20)
@ExcelProperty("滞留扫描操作人Id")
private String retentionScanUserId;
/**
* 滞留操作备注
*/
@ColumnWidth(20)
@ExcelProperty("滞留操作备注")
private String remarks;
/**
* 滞留扫描时间
*/
@ColumnWidth(20)
@ExcelProperty("滞留扫描时间")
private Date retentionScanTime;
/**
* 滞留方式 1-PDA2-PC
*/
@ColumnWidth(20)
@ExcelProperty("滞留方式 1-PDA、2-PC")
private Integer retentionWay;
/**
* 配送任务ID
*/
@ColumnWidth(20)
@ExcelProperty("配送任务ID")
private Long deliveryListId;
}

55
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseRetentionScanClient.java

@ -0,0 +1,55 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.service.IWarehouseRetentionScanService;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.service.IWarehouseRetentionRecordService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
* 滞留扫描记录 Feign实现类
*
* @author BladeX
* @since 2023-11-03
*/
@ApiIgnore()
@RestController
@AllArgsConstructor
public class WarehouseRetentionScanClient implements IWarehouseRetentionScanClient {
private final IWarehouseRetentionScanService warehouseRetentionScanService;
@Override
@GetMapping(TOP)
public BladePage<WarehouseRetentionScanEntity> retentionScanTop(Integer current, Integer size) {
Query query = new Query();
query.setCurrent(current);
query.setSize(size);
IPage<WarehouseRetentionScanEntity> page = warehouseRetentionScanService.page(Condition.getPage(query));
return BladePage.of(page);
}
}

57
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.java

@ -0,0 +1,57 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.mapper;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionScanExcel;
import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.vo.WarehouseRetentionScanVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 滞留扫描记录 Mapper 接口
*
* @author BladeX
* @since 2023-11-03
*/
public interface WarehouseRetentionScanMapper extends BaseMapper<WarehouseRetentionScanEntity> {
/**
* 自定义分页
*
* @param page
* @param warehouseRetentionScanVO
* @return
*/
List<WarehouseRetentionScanVO> selectWarehouseRetentionRecordPage(IPage page, WarehouseRetentionScanVO warehouseRetentionScanVO);
/**
* 获取导出数据
*
* @param queryWrapper
* @return
*/
List<WarehouseRetentionScanExcel> exportWarehouseRetentionRecord(@Param("ew") Wrapper<WarehouseRetentionScanEntity> queryWrapper);
}

52
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.xml

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.warehouse.mapper.WarehouseRetentionScanMapper">
<!-- 通用查询映射结果 -->
<resultMap id="warehouseRetentionRecordResultMap" type="com.logpm.warehouse.entity.WarehouseRetentionScanEntity">
<result column="id" property="id"/>
<result column="tenant_id" property="tenantId"/>
<result column="create_user" property="createUser"/>
<result column="create_time" property="createTime"/>
<result column="update_user" property="updateUser"/>
<result column="update_time" property="updateTime"/>
<result column="status" property="status"/>
<result column="is_deleted" property="isDeleted"/>
<result column="create_dept" property="createDept"/>
<result column="reserve1" property="reserve1"/>
<result column="reserve2" property="reserve2"/>
<result column="reserve3" property="reserve3"/>
<result column="reserve4" property="reserve4"/>
<result column="reserve5" property="reserve5"/>
<result column="train_number" property="trainNumber"/>
<result column="order_id" property="orderId"/>
<result column="inventory_id" property="inventoryId"/>
<result column="conditions" property="conditions"/>
<result column="material_number" property="materialNumber"/>
<result column="material_name" property="materialName"/>
<result column="reservation_id" property="reservationId"/>
<result column="order_code" property="orderCode"/>
<result column="reservation_code" property="reservationCode"/>
<result column="scan_type" property="scanType"/>
<result column="order_package_id" property="orderPackageId"/>
<result column="order_package_code" property="orderPackageCode"/>
<result column="retention_quantity" property="retentionQuantity"/>
<result column="retention_scan_username" property="retentionScanUsername"/>
<result column="retention_scan_user_id" property="retentionScanUserId"/>
<result column="remarks" property="remarks"/>
<result column="retention_scan_time" property="retentionScanTime"/>
<result column="retention_way" property="retentionWay"/>
<result column="delivery_list_id" property="deliveryListId"/>
</resultMap>
<select id="selectWarehouseRetentionRecordPage" resultMap="warehouseRetentionRecordResultMap">
select * from logpm_warehouse_retention_scan where is_deleted = 0
</select>
<select id="exportWarehouseRetentionRecord" resultType="com.logpm.warehouse.excel.WarehouseRetentionScanExcel">
SELECT * FROM logpm_warehouse_retention_scan ${ew.customSqlSegment}
</select>
</mapper>

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTaryAllocationMapper.java

@ -14,4 +14,5 @@ public interface WarehouseTaryAllocationMapper extends BaseMapper<WarehouseTaryA
BasicdataTrayEntity getTrayByAllocationId(@Param("allocationId") Long allocationId);
void deleteByTrayIdAndAllocationId(@Param("trayId") Long trayId, @Param("allocationId") Long allocationId);
}

55
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionScanService.java

@ -0,0 +1,55 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionScanExcel;
import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.logpm.warehouse.vo.WarehouseRetentionScanVO;
import java.util.List;
/**
* 滞留扫描记录 服务类
*
* @author BladeX
* @since 2023-11-03
*/
public interface IWarehouseRetentionScanService extends IService<WarehouseRetentionScanEntity> {
/**
* 自定义分页
*
* @param page
* @param warehouseRetentionScanVO
* @return
*/
IPage<WarehouseRetentionScanVO> selectWarehouseRetentionRecordPage(IPage<WarehouseRetentionScanVO> page, WarehouseRetentionScanVO warehouseRetentionScanVO);
/**
* 导出数据
*
* @param queryWrapper
* @return
*/
List<WarehouseRetentionScanExcel> exportWarehouseRetentionRecord(Wrapper<WarehouseRetentionScanEntity> queryWrapper);
}

57
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java

@ -0,0 +1,57 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.warehouse.service.impl;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionScanExcel;
import com.logpm.warehouse.mapper.WarehouseRetentionScanMapper;
import com.logpm.warehouse.service.IWarehouseRetentionScanService;
import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
import com.logpm.warehouse.vo.WarehouseRetentionScanVO;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
* 滞留扫描记录 服务实现类
*
* @author BladeX
* @since 2023-11-03
*/
@Service
public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<WarehouseRetentionScanMapper, WarehouseRetentionScanEntity> implements IWarehouseRetentionScanService {
@Override
public IPage<WarehouseRetentionScanVO> selectWarehouseRetentionRecordPage(IPage<WarehouseRetentionScanVO> page, WarehouseRetentionScanVO warehouseRetentionScanVO) {
return page.setRecords(baseMapper.selectWarehouseRetentionRecordPage(page, warehouseRetentionScanVO));
}
@Override
public List<WarehouseRetentionScanExcel> exportWarehouseRetentionRecord(Wrapper<WarehouseRetentionScanEntity> queryWrapper) {
List<WarehouseRetentionScanExcel> warehouseRetentionRecordList = baseMapper.exportWarehouseRetentionRecord(queryWrapper);
//warehouseRetentionRecordList.forEach(warehouseRetentionRecord -> {
// warehouseRetentionRecord.setTypeName(DictCache.getValue(DictEnum.YES_NO, WarehouseRetentionRecord.getType()));
//});
return warehouseRetentionRecordList;
}
}

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTaryAllocationServiceImpl.java

@ -48,4 +48,5 @@ public class WarehouseTaryAllocationServiceImpl extends BaseServiceImpl<Warehous
public void deleteByTrayIdAndAllocationId(Long trayId, Long allocationId) {
baseMapper.deleteByTrayIdAndAllocationId(trayId,allocationId);
}
}

5
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

@ -1270,6 +1270,11 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
baseMapper.deleteById(trayTypeId);
//更新托盘状态
basicdataTrayClient.updateTrayStatus(trayId,1);
Long allocationIdByTrayId = warehouseTaryAllocationService.getAllocationIdByTrayId(trayId);
if(!Objects.isNull(allocationIdByTrayId)){
warehouseTaryAllocationService.deleteByTrayIdAndAllocationId(trayId,allocationIdByTrayId);
}
}
updateNumByTrayTypeId(trayTypeEntity);

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

@ -1210,8 +1210,8 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
//绑定了托盘
warehouseTrayTypeService.deleteZeroOrderByTrayCode(orderCode,trayEntity.getPalletCode(),warehouseId);
//解除托盘与库位绑定
warehouseTaryAllocationService.deleteByTrayIdAndAllocationId(trayEntity.getId(),allocationId);
// //解除托盘与库位绑定
// warehouseTaryAllocationService.deleteByTrayIdAndAllocationId(trayEntity.getId(),allocationId);
}
//全部下架

Loading…
Cancel
Save