Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
9bc08de71f
  1. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobDetailUpdateReqVO.java
  2. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainUpdateReqVO.java
  3. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java
  4. 38
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailBaseVO.java
  5. 40
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExcelVO.java
  6. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExportReqVO.java
  7. 37
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailPageReqVO.java
  8. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java
  9. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java
  10. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java
  11. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java
  12. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainBaseVO.java
  13. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainExportReqVO.java
  14. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainPageReqVO.java
  15. 59
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java
  16. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java
  17. 87
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainExcelVO.java
  18. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainPageReqVO.java
  19. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordMainController.java
  20. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java
  21. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java
  22. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportVO.java
  23. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java
  24. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExcelVO.java
  25. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExportReqVO.java
  26. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainPageReqVO.java
  27. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordMainController.java
  28. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailBaseVO.java
  29. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExcelVO.java
  30. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExportReqVO.java
  31. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailPageReqVO.java
  32. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainCreateReqVO.java
  33. 95
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainExcelVO.java
  34. 127
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestMainController.java
  35. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailBaseVO.java
  36. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailExportReqVO.java
  37. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailPageReqVO.java
  38. 75
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainExcelVO.java
  39. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainImportVO.java
  40. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainPageReqVO.java
  41. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobMainController.java
  42. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/vo/DeliverJobMainExportReqVO.java
  43. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainBaseVO.java
  44. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainPageReqVO.java
  45. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailBaseVO.java
  46. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailPageReqVO.java
  47. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnJob/CustomerreturnJobMainConvert.java
  48. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordDetailConvert.java
  49. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordMainConvert.java
  50. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestDetailConvert.java
  51. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestMainConvert.java
  52. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRecord/CountRecordDetailDO.java
  53. 43
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestDetailDO.java
  54. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java
  55. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreceiptRequest/CustomerreceiptRequestMainDO.java
  56. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnJob/CustomerreturnJobMainDO.java
  57. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestDetailDO.java
  58. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestMainDO.java
  59. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRecord/CustomersettleRecordMainDO.java
  60. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestDetailDO.java
  61. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestMainDO.java
  62. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestMainDO.java
  63. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestDetailMapper.java
  64. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java
  65. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRequest/CustomerreceiptRequestMainMapper.java
  66. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobMainMapper.java
  67. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestDetailMapper.java
  68. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestMainMapper.java
  69. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordDetailMapper.java
  70. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordMainMapper.java
  71. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestDetailMapper.java
  72. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestMainMapper.java
  73. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverJob/DeliverJobMainMapper.java
  74. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestMainMapper.java
  75. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierdeliverRequest/SupplierdeliverRequestDetailMapper.java
  76. 133
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java
  77. 47
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java
  78. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java
  79. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java
  80. 121
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java
  81. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java
  82. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailService.java
  83. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailServiceImpl.java
  84. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainService.java
  85. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainServiceImpl.java
  86. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailService.java
  87. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailServiceImpl.java
  88. 44
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainService.java
  89. 484
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java
  90. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java
  91. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java
  92. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java
  93. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  94. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  95. 76
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestDetailServiceImpl.java

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobDetailUpdateReqVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.countJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 盘点任务子更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CountJobDetailUpdateReqVO extends CountJobDetailBaseVO {
@Schema(description = "盘点数量")
private BigDecimal countQty;
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainUpdateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.countJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.Valid;
import java.util.List;
@Schema(description = "管理后台 - 盘点任务主更新 Request VO")
@Data
@ -9,4 +14,6 @@ import lombok.*;
@ToString(callSuper = true)
public class CountJobMainUpdateReqVO extends CountJobMainBaseVO {
@Schema(description = "子表数据")
private List<@Valid CountJobDetailUpdateReqVO> subList;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailBaseVO.java

@ -1,14 +1,12 @@
package com.win.module.wms.controller.countRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

38
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailBaseVO.java

@ -1,16 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -29,14 +25,14 @@ public class CountadjustRequestDetailBaseVO {
private String countDetailNumber;
@Schema(description = "货主代码")
private String ownerlCode;
private String ownerCode;
@Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "包装号不能为空")
private String packinglNumber;
private String packingNumber;
@Schema(description = "器具号")
private String containerlNumber;
private String containerNumber;
@Schema(description = "批次", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "批次不能为空")
@ -44,22 +40,22 @@ public class CountadjustRequestDetailBaseVO {
@Schema(description = "库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库位代码不能为空")
private String locationlCode;
private String locationCode;
@Schema(description = "库存状态")
private String inventorylStatus;
private String inventoryStatus;
@Schema(description = "库存数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库存数量不能为空")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@Schema(description = "盘点数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "盘点数量不能为空")
private BigDecimal countlQty;
private BigDecimal countQty;
@Schema(description = "调整数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "调整数量不能为空")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@Schema(description = "单据号")
private String number;
@ -76,16 +72,16 @@ public class CountadjustRequestDetailBaseVO {
private String creator;
@Schema(description = "物品名称")
private String itemlName;
private String itemName;
@Schema(description = "物品描述1")
private String itemlDesc1;
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemlDesc2;
private String itemDesc2;
@Schema(description = "项目代码")
private String projectlCode;
private String projectCode;
@Schema(description = "数量")
private BigDecimal qty;
@ -101,6 +97,6 @@ public class CountadjustRequestDetailBaseVO {
private String updater;
@Schema(description = "物品代码")
private String itemlCode;
private String itemCode;
}

40
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExcelVO.java

@ -1,18 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -27,32 +21,32 @@ public class CountadjustRequestDetailExcelVO {
private String countDetailNumber;
@ExcelProperty("货主代码")
private String ownerlCode;
private String ownerCode;
@ExcelProperty("包装号")
private String packinglNumber;
private String packingNumber;
@ExcelProperty("器具号")
private String containerlNumber;
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("库位代码")
private String locationlCode;
private String locationCode;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventorylStatus;
private String inventoryStatus;
@ExcelProperty("库存数量")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@ExcelProperty("盘点数量")
private BigDecimal countlQty;
private BigDecimal countQty;
@ExcelProperty("调整数量")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@ExcelProperty("单据号")
private String number;
@ -67,16 +61,16 @@ public class CountadjustRequestDetailExcelVO {
private String creator;
@ExcelProperty("物品名称")
private String itemlName;
private String itemName;
@ExcelProperty("物品描述1")
private String itemlDesc1;
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemlDesc2;
private String itelDesc2;
@ExcelProperty("项目代码")
private String projectlCode;
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ -92,6 +86,6 @@ public class CountadjustRequestDetailExcelVO {
private String updater;
@ExcelProperty("物品代码")
private String itemlCode;
private String itemCode;
}

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailExportReqVO.java

@ -1,13 +1,11 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -19,31 +17,31 @@ public class CountadjustRequestDetailExportReqVO {
private String countDetailNumber;
@Schema(description = "货主代码")
private String ownerlCode;
private String ownerCode;
@Schema(description = "包装号")
private String packinglNumber;
private String packingNumber;
@Schema(description = "器具号")
private String containerlNumber;
private String containerNumber;
@Schema(description = "批次")
private String batch;
@Schema(description = "库位代码")
private String locationlCode;
private String locationCode;
@Schema(description = "库存状态")
private String inventorylStatus;
private String inventoryStatus;
@Schema(description = "库存数量")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@Schema(description = "盘点数量")
private BigDecimal countlQty;
private BigDecimal countQty;
@Schema(description = "调整数量")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@Schema(description = "单据号")
private String number;
@ -59,16 +57,16 @@ public class CountadjustRequestDetailExportReqVO {
private String creator;
@Schema(description = "物品名称")
private String itemlName;
private String itemName;
@Schema(description = "物品描述1")
private String itemlDesc1;
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemlDesc2;
private String itemDesc2;
@Schema(description = "项目代码")
private String projectlCode;
private String projectCode;
@Schema(description = "数量")
private BigDecimal qty;
@ -84,6 +82,6 @@ public class CountadjustRequestDetailExportReqVO {
private String updater;
@Schema(description = "物品代码")
private String itemlCode;
private String itemCode;
}

37
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestDetailPageReqVO.java

@ -1,12 +1,13 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -21,31 +22,31 @@ public class CountadjustRequestDetailPageReqVO extends PageParam {
private String countDetailNumber;
@Schema(description = "货主代码")
private String ownerlCode;
private String ownerCode;
@Schema(description = "包装号")
private String packinglNumber;
private String packingNumber;
@Schema(description = "器具号")
private String containerlNumber;
private String containerNumber;
@Schema(description = "批次")
private String batch;
@Schema(description = "库位代码")
private String locationlCode;
private String locationCode;
@Schema(description = "库存状态")
private String inventorylStatus;
private String inventoryStatus;
@Schema(description = "库存数量")
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
@Schema(description = "盘点数量")
private BigDecimal countlQty;
private BigDecimal countQty;
@Schema(description = "调整数量")
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
@Schema(description = "单据号")
private String number;
@ -61,16 +62,16 @@ public class CountadjustRequestDetailPageReqVO extends PageParam {
private String creator;
@Schema(description = "物品名称")
private String itemlName;
private String itemName;
@Schema(description = "物品描述1")
private String itemlDesc1;
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemlDesc2;
private String itemDesc2;
@Schema(description = "项目代码")
private String projectlCode;
private String projectCode;
@Schema(description = "数量")
private BigDecimal qty;
@ -86,6 +87,6 @@ public class CountadjustRequestDetailPageReqVO extends PageParam {
private String updater;
@Schema(description = "物品代码")
private String itemlCode;
private String itemCode;
}

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainBaseVO.java

@ -1,15 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
@ -22,10 +19,6 @@ public class CountadjustRequestMainBaseVO {
@Schema(description = "id", example = "id")
private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "盘点记录单号")
private String countRecordNumber;

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExcelVO.java

@ -1,16 +1,11 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.time.LocalDateTime;
/**
@ -21,9 +16,6 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CountadjustRequestMainExcelVO {
@ExcelProperty("申请单号")
private String requestNumber;
@ExcelProperty("盘点记录单号")
private String countRecordNumber;

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainExportReqVO.java

@ -1,21 +1,17 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 盘点调整申请主 Excel 导出 Request VO,参数和 CountadjustRequestMainPageReqVO 是一致的")
@Data
public class CountadjustRequestMainExportReqVO {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "盘点记录单号")
private String countRecordNumber;

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/vo/CountadjustRequestMainPageReqVO.java

@ -1,10 +1,12 @@
package com.win.module.wms.controller.countadjustRequest.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -15,9 +17,6 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@ToString(callSuper = true)
public class CountadjustRequestMainPageReqVO extends PageParam {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "盘点记录单号")
private String countRecordNumber;

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainBaseVO.java

@ -110,4 +110,9 @@ public class CustomerreceiptRequestMainBaseVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainExportReqVO.java

@ -101,4 +101,9 @@ public class CustomerreceiptRequestMainExportReqVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/vo/CustomerreceiptRequestMainPageReqVO.java

@ -103,4 +103,9 @@ public class CustomerreceiptRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

59
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java

@ -1,11 +1,18 @@
package com.win.module.wms.controller.customerreturnJob;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnJob.vo.*;
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainExcelVO;
import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainExportReqVO;
import com.win.module.wms.convert.customerreturnJob.CustomerreturnJobDetailConvert;
import com.win.module.wms.convert.deliverJob.DeliverJobMainConvert;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobDetailDO;
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobDetailDO;
import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customerreturnJob.CustomerreturnJobDetailService;
import jodd.util.StringUtil;
import org.springframework.web.bind.annotation.*;
@ -121,13 +128,53 @@ public class CustomerreturnJobMainController {
HttpServletResponse response) throws IOException {
List<CustomerreturnJobMainDO> list = customerreturnJobMainService.getCustomerreturnJobMainList(exportReqVO);
// 导出 Excel
List<CustomerreturnJobMainExcelVO> datas = CustomerreturnJobMainConvert.INSTANCE.convertList02(list);
for(CustomerreturnJobMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomerreturnJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户退货任务主.xls", "数据", CustomerreturnJobMainExcelVO.class, resultList,mapDropDown);
}
@GetMapping("/export-excel-senior")
@Operation(summary = "导出客户退货任务 Excel")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-record-main:export')")
@OperateLog(type = EXPORT)
public void exportCustomerreturnJobMainSeniorExcel(@Valid CustomerreturnJobMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<CustomerreturnJobMainDO> list = customerreturnJobMainService.getCustomerreturnJobMainList(exportReqVO);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomerreturnJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "发货任务.xls", "数据", CustomerreturnJobMainExcelVO.class, resultList,mapDropDown);
}
private List<CustomerreturnJobMainExcelVO> getExcelVo(List<CustomerreturnJobMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(8, transferMode);
String[] jobStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.JOB_STATUS);
mapDropDown.put(14, jobStatus);
String[] jobStageStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.JOB_STAGE_STATUS);
mapDropDown.put(18, jobStageStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(26, locationType);
mapDropDown.put(27, locationType);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(47, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(58, uom);
List<CustomerreturnJobMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomerreturnJobMainDO mainDO : list) {
List<CustomerreturnJobDetailDO> subList = customerreturnJobDetailService.selectList(mainDO.getId());
for(CustomerreturnJobDetailDO detailDO : subList) {
CustomerreturnJobMainExcelVO vo = CustomerreturnJobMainConvert.INSTANCE.convert(mainDO, detailDO);
vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
vo.setCreatorDetail(userApi.getUser(Long.valueOf(vo.getCreatorDetail())).getNickname());
vo.setUpdater(userApi.getUser(Long.valueOf(vo.getUpdater())).getNickname());
vo.setAcceptUserId(userApi.getUser(Long.valueOf(vo.getAcceptUserId())).getNickname());
vo.setCompleteUserId(userApi.getUser(Long.valueOf(vo.getCompleteUserId())).getNickname());
resultList.add(vo);
}
}
ExcelUtils.write(response, "客户退货任务主.xls", "数据", CustomerreturnJobMainExcelVO.class, datas);
return resultList;
}
@GetMapping("/getCustomerreturnJobById")

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.customerreturnJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
import java.util.Map;
@Schema(description = "管理后台 - 客户退货任务子更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomerreturnJobDetailUpdateReqVO extends CustomerreturnJobDetailBaseVO {
@Schema(description = "子表记录数据")
private List<Map<String,String>> recordList;
}

87
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainExcelVO.java

@ -1,16 +1,12 @@
package com.win.module.wms.controller.customerreturnJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
@ -24,6 +20,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomerreturnJobMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("申请单号")
private String requestNumber;
@ -49,8 +48,7 @@ public class CustomerreturnJobMainExcelVO {
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class)
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty("车牌号")
private String vehiclePlateNumber;
@ExcelProperty("从仓库代码")
@ -60,9 +58,11 @@ public class CustomerreturnJobMainExcelVO {
private String toWarehouseCode;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("要求截止时间")
@ColumnWidth(value = 22)
private LocalDateTime requestDueTime;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@ -70,9 +70,11 @@ public class CustomerreturnJobMainExcelVO {
private String status;
@ExcelProperty("过期时间")
@ColumnWidth(value = 22)
private LocalDateTime expiredTime;
@ExcelProperty("最后更新时间")
@ColumnWidth(value = 22)
private LocalDateTime updateTime;
@ExcelProperty("最后更新者Id")
@ -95,12 +97,14 @@ public class CustomerreturnJobMainExcelVO {
private String acceptUserId;
@ExcelProperty("承接时间")
@ColumnWidth(value = 22)
private LocalDateTime acceptTime;
@ExcelProperty("完成人用户ID")
private String completeUserId;
@ExcelProperty("完成时间")
@ColumnWidth(value = 22)
private LocalDateTime completeTime;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@ -111,9 +115,6 @@ public class CustomerreturnJobMainExcelVO {
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String toLocationTypes;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ -121,6 +122,7 @@ public class CustomerreturnJobMainExcelVO {
private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者id")
@ -164,5 +166,64 @@ public class CustomerreturnJobMainExcelVO {
@ExcelProperty("允许修改箱码")
private String allowModifyPackingNumber;
//子表数据
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus;
@ExcelProperty("货主代码")
private String ownerCode;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty("备注")
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createtimeDetail;
@ExcelProperty("创建者Id")
private String creatorDetail;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobMainPageReqVO.java

@ -157,4 +157,9 @@ public class CustomerreturnJobMainPageReqVO extends PageParam {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "入库库存状态范围")
private String inInventoryStatuses;
@Schema(description = "出库库存状态范围")
private String outInventoryStatuses;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordMainController.java

@ -141,20 +141,20 @@ public class CustomerreturnRecordMainController {
private List<CustomerreturnRecordMainExcelVO> getExcelVo(List<CustomerreturnRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(6, transferMode);
mapDropDown.put(7, transferMode);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(17, requestStatus);
mapDropDown.put(18, requestStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(24, locationType);
mapDropDown.put(25, locationType);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(28, available);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(33, inventoryStatus);
mapDropDown.put(31, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(55, uom);
mapDropDown.put(53, uom);
String[] interfaceTypeDetail = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE);
mapDropDown.put(56, interfaceTypeDetail);
mapDropDown.put(54, interfaceTypeDetail);
List<CustomerreturnRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomerreturnRecordMainDO mainDO : list) {

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.customerreturnRecord.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@ -24,6 +25,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomerreturnRecordMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("任务单号")
private String jobNumber;
@ -62,15 +66,19 @@ public class CustomerreturnRecordMainExcelVO {
private String inTransactionType;
@ExcelProperty("执行时间")
@ColumnWidth(value = 22)
private LocalDateTime executeTime;
@ExcelProperty("生效日期")
@ColumnWidth(value = 22)
private LocalDateTime activeDate;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
@ColumnWidth(value = 22)
private LocalDateTime dueTime;
@ExcelProperty("部门")
@ -80,9 +88,6 @@ public class CustomerreturnRecordMainExcelVO {
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String interfaceType;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ -90,6 +95,7 @@ public class CustomerreturnRecordMainExcelVO {
private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
@ -120,11 +126,11 @@ public class CustomerreturnRecordMainExcelVO {
private String fromAreaCodes;
//子表
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("从批次")
private String fromBatch;
@ -176,6 +182,7 @@ public class CustomerreturnRecordMainExcelVO {
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTimeDetail;
@ExcelProperty("创建者Id")

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java

@ -135,7 +135,7 @@ public class CustomerreturnRequestMainController {
@Operation(summary = "导出发货计划主 Excel")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:export')")
@OperateLog(type = EXPORT)
public void exportPurchasereceiptRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
public void exportCustomerreturnRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CustomerreturnRequestMainDO> list = customerreturnRequestMainService.getCustomerreturnRequestMainList(conditions);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
@ -145,16 +145,16 @@ public class CustomerreturnRequestMainController {
private List<CustomerreturnRequestMainExcelVO> getExcelVo(List<CustomerreturnRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(7, transferMode);
mapDropDown.put(6, transferMode);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(16, requestStatus);
mapDropDown.put(15, requestStatus);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(20, locationType);
mapDropDown.put(23, locationType);
mapDropDown.put(19, locationType);
mapDropDown.put(22, locationType);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(29, inventoryStatus);
mapDropDown.put(26, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(41, uom);
mapDropDown.put(28, uom);
List<CustomerreturnRequestMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomerreturnRequestMainDO mainDO : list) {
@ -178,9 +178,9 @@ public class CustomerreturnRequestMainController {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(3, transferMode);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(12, uom);
mapDropDown.put(10, uom);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(13, inventoryStatus);
mapDropDown.put(11, inventoryStatus);
// 输出
ExcelUtils.write(response, "客户退货申请信息导入模板.xls", "客户退货申请信息列表", CustomerreturnRequestImportVO.class, list,mapDropDown);
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportVO.java

@ -36,11 +36,11 @@ public class CustomerreturnRequestImportVO {
private String vehiclePlateNumber;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("物品代码")
private String itemCode;

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java

@ -117,4 +117,9 @@ public class CustomerreturnRequestMainBaseVO {
@NotBlank(message = "直接生成记录不能为空")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExcelVO.java

@ -27,9 +27,6 @@ public class CustomerreturnRequestMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("申请单号")
private String requestNumber;
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
@ -123,11 +120,11 @@ public class CustomerreturnRequestMainExcelVO {
private String directCreateRecord;
//子表
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("包装号")
private String packingNumber;

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainExportReqVO.java

@ -106,5 +106,4 @@ public class CustomerreturnRequestMainExportReqVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainPageReqVO.java

@ -109,4 +109,9 @@ public class CustomerreturnRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

53
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordMainController.java

@ -1,8 +1,12 @@
package com.win.module.wms.controller.customersettleRecord;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customersettleRecord.CustomersettleRecordDetailService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -39,6 +43,8 @@ public class CustomersettleRecordMainController {
@Resource
private CustomersettleRecordMainService customersettleRecordMainService;
@Resource
private CustomersettleRecordDetailService customersettleRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@ -111,13 +117,46 @@ public class CustomersettleRecordMainController {
HttpServletResponse response) throws IOException {
List<CustomersettleRecordMainDO> list = customersettleRecordMainService.getCustomersettleRecordMainList(exportReqVO);
// 导出 Excel
List<CustomersettleRecordMainExcelVO> datas = CustomersettleRecordMainConvert.INSTANCE.convertList02(list);
for(CustomersettleRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户结算记录主.xls", "数据", CustomersettleRecordMainExcelVO.class, datas);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算记录.xls", "数据", CustomersettleRecordMainExcelVO.class, resultList,mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出客户结算记录主 Excel")
@PreAuthorize("@ss.hasPermission('wms:customersettle-record-main:export')")
@OperateLog(type = EXPORT)
public void exportCustomersettleRecordMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CustomersettleRecordMainDO> list = customersettleRecordMainService.getCustomersettleRecordMainList(conditions);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRecordMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算记录.xls", "数据", CustomersettleRecordMainExcelVO.class, resultList,mapDropDown);
}
private List<CustomersettleRecordMainExcelVO> getExcelVo(List<CustomersettleRecordMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] interfaceType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE);
mapDropDown.put(12, interfaceType);
mapDropDown.put(39, interfaceType);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(19, locationType);
String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(21, trueFalse);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(27, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(38, uom);
List<CustomersettleRecordMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomersettleRecordMainDO mainDO : list) {
List<CustomersettleRecordDetailDO> subList = customersettleRecordDetailService.selectList(mainDO.getId());
for(CustomersettleRecordDetailDO detailDO : subList) {
CustomersettleRecordMainExcelVO vo = CustomersettleRecordMainConvert.INSTANCE.convert(mainDO, detailDO);
vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
vo.setCreatorDetail(userApi.getUser(Long.valueOf(vo.getCreatorDetail())).getNickname());
resultList.add(vo);
}
}
return resultList;
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailBaseVO.java

@ -101,4 +101,7 @@ public class CustomersettleRecordDetailBaseVO {
@Schema(description = "任务明细ID", example = "9271")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExcelVO.java

@ -102,4 +102,7 @@ public class CustomersettleRecordDetailExcelVO {
@ExcelProperty("任务明细ID")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailExportReqVO.java

@ -94,4 +94,7 @@ public class CustomersettleRecordDetailExportReqVO {
@Schema(description = "任务明细ID", example = "9271")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordDetailPageReqVO.java

@ -96,4 +96,7 @@ public class CustomersettleRecordDetailPageReqVO extends PageParam {
@Schema(description = "任务明细ID", example = "9271")
private String jobDetailId;
@Schema(description = "主表id")
private String masterId;
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainCreateReqVO.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.customersettleRecord.vo;
import com.win.framework.excel.core.annotations.SubObject;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailCreateReqVO;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
@Schema(description = "管理后台 - 客户结算记录主创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomersettleRecordMainCreateReqVO extends CustomersettleRecordMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<CustomersettleRecordDetailCreateReqVO> subList;
}

95
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/vo/CustomersettleRecordMainExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.customersettleRecord.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
@ -22,6 +25,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomersettleRecordMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("申请单号")
private String requestNumber;
@ -41,15 +47,19 @@ public class CustomersettleRecordMainExcelVO {
private String inTransactionYpe;
@ExcelProperty("执行时间")
@ColumnWidth(value = 22)
private LocalDateTime executeTime;
@ExcelProperty("生效日期")
@ColumnWidth(value = 22)
private LocalDateTime activeDate;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
@ColumnWidth(value = 22)
private LocalDateTime dueTime;
@ExcelProperty("部门")
@ -62,13 +72,11 @@ public class CustomersettleRecordMainExcelVO {
@ExcelProperty("代码")
private String code;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
@ -87,7 +95,86 @@ public class CustomersettleRecordMainExcelVO {
@ExcelProperty("从库区代码范围")
private String fromAreaCodes;
@ExcelProperty("是否可用")
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String available;
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
@ExcelProperty("货主代码")
private String ownerCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("从库位组代码")
private String fromLocationGroupCode;
@ExcelProperty("从库区代码")
private String fromAreaCode;
@ExcelProperty("单价")
private BigDecimal singlePrice;
@ExcelProperty("金额")
private BigDecimal amount;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty(value = "接口类型", converter = DictConvert.class)
@DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String interfaceTypeDetail;
@ExcelProperty("代码")
private String codeDetail;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("备注")
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTimeDetail;
@ExcelProperty("创建者Id")
private String creatorDetail;
@ExcelProperty("地点ID")
private String siteId;
@ExcelProperty("任务明细ID")
private String jobDetailId;
}

127
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestMainController.java

@ -1,10 +1,18 @@
package com.win.module.wms.controller.customersettleRequest;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExcelVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainCreateReqVO;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customersettleRequest.CustomersettleRequestDetailService;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -45,6 +53,8 @@ public class CustomersettleRequestMainController {
@Resource
private CustomersettleRequestMainService customersettleRequestMainService;
@Resource
private CustomersettleRequestDetailService customersettleRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@ -117,34 +127,64 @@ public class CustomersettleRequestMainController {
HttpServletResponse response) throws IOException {
List<CustomersettleRequestMainDO> list = customersettleRequestMainService.getCustomersettleRequestMainList(exportReqVO);
// 导出 Excel
List<CustomersettleRequestMainExcelVO> datas = CustomersettleRequestMainConvert.INSTANCE.convertList02(list);
for(CustomersettleRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算申请.xls", "数据", CustomersettleRequestMainExcelVO.class, resultList,mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出客户结算申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:export')")
@OperateLog(type = EXPORT)
public void exportCustomersettleRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CustomersettleRequestMainDO> list = customersettleRequestMainService.getCustomersettleRequestMainList(conditions);
// 导出 Excel
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CustomersettleRequestMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "客户结算申请.xls", "数据", CustomersettleRequestMainExcelVO.class, resultList,mapDropDown);
}
private List<CustomersettleRequestMainExcelVO> getExcelVo(List<CustomersettleRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(5, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(14, requestStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(35, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(46, uom);
List<CustomersettleRequestMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CustomersettleRequestMainDO mainDO : list) {
List<CustomersettleRequestDetailDO> subList = customersettleRequestDetailService.selectList(mainDO.getId());
for(CustomersettleRequestDetailDO detailDO : subList) {
CustomersettleRequestMainExcelVO vo = CustomersettleRequestMainConvert.INSTANCE.convert(mainDO, detailDO);
vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
vo.setUpdater(userApi.getUser(Long.valueOf(vo.getUpdater())).getNickname());
vo.setUpdaterDetail(userApi.getUser(Long.valueOf(vo.getUpdaterDetail())).getNickname());
vo.setCreatorDetail(userApi.getUser(Long.valueOf(vo.getCreatorDetail())).getNickname());
resultList.add(vo);
}
}
ExcelUtils.write(response, "客户结算申请主.xls", "数据", CustomersettleRequestMainExcelVO.class, datas);
return resultList;
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制客户结算申请信息模板")
@Operation(summary = "获得导入客户结算申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<CustomersettleRequestMainImportVO> list = Arrays.asList(
);
List<CustomersettleRequestMainImportVO> list = Arrays.asList();
// 输出
ExcelUtils.write(response, "客户退货申请信息导入模板.xls", "客户退货申请信息列表", CustomersettleRequestMainImportVO.class, list);
ExcelUtils.write(response, "客户结算申请信息导入模板.xls", "客户结算申请信息列表", CustomersettleRequestMainImportVO.class, list);
}
@PostMapping("/import")
@Operation(summary = "导入发料申请基本信息")
@Operation(summary = "导入客户结算申请基本信息")
@Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
})
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:import')")
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@ -152,14 +192,67 @@ public class CustomersettleRequestMainController {
List<CustomersettleRequestMainImportVO> list = ExcelUtils.read(file, CustomersettleRequestMainImportVO.class);
ConvertUtil<CustomersettleRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(CustomersettleRequestMainCreateReqVO.class);
List<CustomersettleRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<CustomersettleRequestImportErrorVO> errorList = customersettleRequestMainService.customersettleRequestMainService(createReqVOList, mode, updatePart);
List<CustomersettleRequestImportErrorVO> errorList = customersettleRequestMainService.customersettleRequestMainImport(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("发料申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
String url = ExcelUtils.writeLocalFile("客户结算申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
@PutMapping("/close")
@Operation(summary = "关闭客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:close')")
public CommonResult<Boolean> closeCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.closeCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/reAdd")
@Operation(summary = "重新添加客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:reAdd')")
public CommonResult<Boolean> reAddCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.reAddCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:submit')")
public CommonResult<Boolean> submitCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.submitCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:agree')")
public CommonResult<Boolean> agreeCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.agreeCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/handle")
@Operation(summary = "处理客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:handle')")
public CommonResult<Boolean> handleCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.handleCustomersettleRequestMain(id);
return success(count > 0);
}
@PutMapping("/refused")
@Operation(summary = "审批拒绝客户结算申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-main:refused')")
public CommonResult<Boolean> abortCustomersettleRequestMain(@RequestParam("id") Long id) {
Integer count = customersettleRequestMainService.abortCustomersettleRequestMain(id);
return success(count > 0);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailBaseVO.java

@ -83,4 +83,6 @@ public class CustomersettleRequestDetailBaseVO {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailExportReqVO.java

@ -77,4 +77,7 @@ public class CustomersettleRequestDetailExportReqVO {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "主表id")
private String masterId;
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestDetailPageReqVO.java

@ -79,4 +79,7 @@ public class CustomersettleRequestDetailPageReqVO extends PageParam {
@Schema(description = "最后更新者用户名")
private String updater;
@Schema(description = "主表id")
private String masterId;
}

75
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.customersettleRequest.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
@ -21,6 +24,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data
public class CustomersettleRequestMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
@ -40,9 +46,6 @@ public class CustomersettleRequestMainExcelVO {
@ExcelProperty("从库区代码范围")
private String fromAreaCodes;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ -50,15 +53,18 @@ public class CustomersettleRequestMainExcelVO {
private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("申请时间")
@ColumnWidth(value = 22)
private LocalDateTime requestTime;
@ExcelProperty("截止时间")
@ColumnWidth(value = 22)
private LocalDateTime dueTime;
@ExcelProperty("部门")
@ -69,6 +75,7 @@ public class CustomersettleRequestMainExcelVO {
private String status;
@ExcelProperty("最后更新时间")
@ColumnWidth(value = 22)
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
@ -86,4 +93,66 @@ public class CustomersettleRequestMainExcelVO {
@ExcelProperty("直接生成记录")
private String directCreateRecord;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("备注")
private String remarkDetail;
@ExcelProperty("创建时间")
@ColumnWidth(value = 22)
private LocalDateTime createTimeDetail;
@ExcelProperty("创建者用户名")
private String creatorDetail;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty("最后更新时间")
@ColumnWidth(value = 22)
private LocalDateTime updateTimeDetail;
@ExcelProperty("最后更新者用户名")
private String updaterDetail;
}

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainImportVO.java

@ -8,24 +8,31 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class CustomersettleRequestMainImportVO {
@ExcelProperty("单据号")
private String number;
//主表字段
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
// @ExcelProperty("销售订单号")
// private String soNumber;
//
// @ExcelProperty("销售订单行")
// private String soLine;
@ExcelProperty("物品代码")
private String itemCode;
@ -36,4 +43,8 @@ public class CustomersettleRequestMainImportVO {
@ExcelProperty("批次")
private String batch;
@ExcelProperty("截止时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime dueTime;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainPageReqVO.java

@ -82,4 +82,9 @@ public class CustomersettleRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobMainController.java

@ -151,17 +151,6 @@ public class DeliverJobMainController {
mapDropDown.put(26, locationType);
mapDropDown.put(27, locationType);
String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(35, trueFalse);
mapDropDown.put(36, trueFalse);
mapDropDown.put(37, trueFalse);
mapDropDown.put(38, trueFalse);
mapDropDown.put(39, trueFalse);
mapDropDown.put(40, trueFalse);
mapDropDown.put(41, trueFalse);
mapDropDown.put(42, trueFalse);
mapDropDown.put(43, trueFalse);
mapDropDown.put(44, trueFalse);
mapDropDown.put(45, trueFalse);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(50, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/vo/DeliverJobMainExportReqVO.java

@ -157,9 +157,4 @@ public class DeliverJobMainExportReqVO {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
@Schema(description = "入库库存状态范围")
private String inInventoryStatuses;
@Schema(description = "出库库存状态范围")
private String outInventoryStatuses;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainBaseVO.java

@ -115,4 +115,9 @@ public class DeliverRequestMainBaseVO {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainPageReqVO.java

@ -106,4 +106,9 @@ public class DeliverRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录")
private String directCreateRecord;
@Schema(description = "入库库存状态范围")
private String inInventoryStatus;
@Schema(description = "出库库存状态范围")
private String outInventoryStatus;
}

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailBaseVO.java

@ -34,34 +34,34 @@ public class SupplierdeliverRequestDetailBaseVO {
private String altBatch;
@Schema(description = "到货日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到货日期不能为空")
// @NotNull(message = "到货日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime arriveDate;
@Schema(description = "生产日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "生产日期不能为空")
// @NotNull(message = "生产日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime produceDate;
@Schema(description = "过期日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "过期日期不能为空")
// @NotNull(message = "过期日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime expireDate;
@Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单号不能为空")
// @NotNull(message = "订单号不能为空")
private String poNumber;
@Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单行不能为空")
// @NotNull(message = "订单行不能为空")
private String poLine;
@Schema(description = "标包数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标包数量不能为空")
// @NotNull(message = "标包数量不能为空")
private BigDecimal stdPackQty;
@Schema(description = "标包单位", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标包单位不能为空")
// @NotNull(message = "标包单位不能为空")
private String stdPackUnit;
@Schema(description = "供应商计量数量")
@ -71,14 +71,14 @@ public class SupplierdeliverRequestDetailBaseVO {
private String supplierPackUnit;
@Schema(description = "转换率", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "转换率不能为空")
// @NotNull(message = "转换率不能为空")
private BigDecimal convertRate;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "物品代码不能为空")
// @NotNull(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "备注")
@ -121,5 +121,9 @@ public class SupplierdeliverRequestDetailBaseVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
/**
* 主表ID
*/
private Long masterId;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailPageReqVO.java

@ -102,5 +102,9 @@ public class SupplierdeliverRequestDetailPageReqVO extends PageParam {
@Schema(description = "到货主代码")
private String toOwnerCode;
/**
* 主表ID
*/
private Long masterId;
}

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnJob/CustomerreturnJobMainConvert.java

@ -8,8 +8,11 @@ import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainC
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainExcelVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainRespVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobDetailDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobMainDO;
@ -36,4 +39,17 @@ public interface CustomerreturnJobMainConvert {
List<CustomerreturnJobMainExcelVO> convertList02(List<CustomerreturnJobMainDO> list);
CustomerreturnJobMainDO convert(CustomerreturnRequestMainDO mainDO);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "detailDO.createTime", target = "createtimeDetail"),
@Mapping(source = "detailDO.creator", target = "creatorDetail"),
})
CustomerreturnJobMainExcelVO convert(CustomerreturnJobMainDO mainDO, CustomerreturnJobDetailDO detailDO);
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordDetailConvert.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailExcelVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailRespVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRecord/CustomersettleRecordMainConvert.java

@ -8,7 +8,10 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainExcelVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainRespVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
@ -33,5 +36,19 @@ public interface CustomersettleRecordMainConvert {
PageResult<CustomersettleRecordMainRespVO> convertPage(PageResult<CustomersettleRecordMainDO> page);
List<CustomersettleRecordMainExcelVO> convertList02(List<CustomersettleRecordMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.code", target = "code"),
@Mapping(source = "mainDO.interfaceType", target = "interfaceType"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "detailDO.createTime", target = "createTimeDetail"),
@Mapping(source = "detailDO.creator", target = "creatorDetail"),
@Mapping(source = "detailDO.code", target = "codeDetail"),
@Mapping(source = "detailDO.interfaceType", target = "interfaceTypeDetail"),
@Mapping(source = "detailDO.siteId", target = "siteId"),
})
CustomersettleRecordMainExcelVO convert(CustomersettleRecordMainDO mainDO, CustomersettleRecordDetailDO detailDO);
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestDetailConvert.java

@ -44,6 +44,9 @@ public interface CustomersettleRequestDetailConvert {
CustomersettleRequestDetailExcelVO convert(CustomersettleRequestMainDO mainDO, CustomersettleRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
CustomersettleRequestImportErrorVO convert(CustomersettleRequestMainCreateReqVO mainVo, CustomersettleRequestDetailCreateReqVO detailVo);
CustomersettleRequestDetailCreateReqVO convert1(CustomersettleRequestDetailDO detailDO);

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestMainConvert.java

@ -4,11 +4,11 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainCreateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainExcelVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainRespVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainUpdateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
@ -34,4 +34,22 @@ public interface CustomersettleRequestMainConvert {
List<CustomersettleRequestMainExcelVO> convertList02(List<CustomersettleRequestMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
})
CustomersettleRequestImportErrorVO convert(CustomersettleRequestMainCreateReqVO mainDO, CustomersettleRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "detailDO.createTime", target = "createTimeDetail"),
@Mapping(source = "detailDO.creator", target = "creatorDetail"),
@Mapping(source = "detailDO.updateTime", target = "updateTimeDetail"),
@Mapping(source = "detailDO.updater", target = "updaterDetail"),
})
CustomersettleRequestMainExcelVO convert(CustomersettleRequestMainDO mainDO, CustomersettleRequestDetailDO detailDO);
}

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRecord/CountRecordDetailDO.java

@ -1,13 +1,13 @@
package com.win.module.wms.dal.dataobject.countRecord;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 盘点记录子 DO
@ -121,7 +121,7 @@ public class CountRecordDetailDO extends BaseDO {
/**
* 主表ID
*/
private String masterId;
private Long masterId;
/**
* 单据号
*/

43
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestDetailDO.java

@ -1,15 +1,12 @@
package com.win.module.wms.dal.dataobject.countadjustRequest;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 盘点调整申请子 DO
@ -37,15 +34,15 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 货主代码
*/
private String ownerlCode;
private String ownerCode;
/**
* 包装号
*/
private String packinglNumber;
private String packingNumber;
/**
* 器具号
*/
private String containerlNumber;
private String containerNumber;
/**
* 批次
*/
@ -53,25 +50,25 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 库位代码
*/
private String locationlCode;
private String locationCode;
/**
* 库存状态
*
* 枚举 {@link TODO inventory_status 对应的类}
*/
private String inventorylStatus;
private String inventoryStatus;
/**
* 库存数量
*/
private BigDecimal inventorylQty;
private BigDecimal inventoryQty;
/**
* 盘点数量
*/
private BigDecimal countlQty;
private BigDecimal countQty;
/**
* 调整数量
*/
private BigDecimal adjustlQty;
private BigDecimal adjustQty;
/**
* 主表ID
*/
@ -87,23 +84,23 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 地点ID
*/
private Long sitelId;
private Long siteId;
/**
* 物品名称
*/
private String itemlName;
private String itemName;
/**
* 物品描述1
*/
private String itemlDesc1;
private String itemDesc1;
/**
* 物品描述2
*/
private String itemlDesc2;
private String itemDesc2;
/**
* 项目代码
*/
private String projectlCode;
private String projectCode;
/**
* 数量
*/
@ -117,10 +114,10 @@ public class CountadjustRequestDetailDO extends BaseDO {
/**
* 并发乐观锁
*/
private String concurrencylStamp;
private String concurrencyStamp;
/**
* 物品代码
*/
private String itemlCode;
private String itemCode;
}

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countadjustRequest/CountadjustRequestMainDO.java

@ -1,13 +1,12 @@
package com.win.module.wms.dal.dataobject.countadjustRequest;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 盘点调整申请主 DO
@ -28,10 +27,6 @@ public class CountadjustRequestMainDO extends BaseDO {
*/
@TableId
private Long id;
/**
* 申请单号
*/
private String requestNumber;
/**
* 盘点记录单号
*/
@ -40,10 +35,6 @@ public class CountadjustRequestMainDO extends BaseDO {
* 仓库代码
*/
private String warehouseCode;
/**
* details
*/
private String details;
/**
* 单据号
*/

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreceiptRequest/CustomerreceiptRequestMainDO.java

@ -155,5 +155,13 @@ public class CustomerreceiptRequestMainDO extends BaseDO {
* 直接生成记录
*/
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnJob/CustomerreturnJobMainDO.java

@ -243,5 +243,12 @@ public class CustomerreturnJobMainDO extends BaseDO {
* 允许修改箱码
*/
private String allowModifyPackingNumber;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestDetailDO.java

@ -30,7 +30,6 @@ public class CustomerreturnRequestDetailDO extends BaseDO {
/**
* 销售订单号
*/
@NotBlank
private String soNumber;
/**
* 销售订单行

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestMainDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customerreturnRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
@ -178,5 +179,12 @@ public class CustomerreturnRequestMainDO extends BaseDO {
*/
@NotBlank
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRecord/CustomersettleRecordMainDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customersettleRecord;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestDetailDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customersettleRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customersettleRequest/CustomersettleRequestMainDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.customersettleRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
@ -41,12 +42,10 @@ public class CustomersettleRequestMainDO extends BaseDO {
/**
* 客户代码
*/
@NotBlank
private String customerCode;
/**
* 从仓库代码
*/
@NotBlank
private String fromWarehouseCode;
/**
* 从库位类型范围
@ -96,14 +95,12 @@ public class CustomersettleRequestMainDO extends BaseDO {
/**
* 部门
*/
@NotBlank
private String departmentCode;
/**
* 状态
*
* 枚举 {@link TODO request_status 对应的类}
*/
@NotBlank
private String status;
/**
* 并发乐观锁
@ -120,22 +117,25 @@ public class CustomersettleRequestMainDO extends BaseDO {
/**
* 自动提交
*/
@NotBlank
private String autoCommit;
/**
* 自动通过
*/
@NotBlank
private String autoAgree;
/**
* 自动执行
*/
@NotBlank
private String autoExecute;
/**
* 直接生成记录
*/
@NotBlank
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestMainDO.java

@ -169,5 +169,13 @@ public class DeliverRequestMainDO extends BaseDO {
* 直接生成记录
*/
private String directCreateRecord;
/**
* 入库库存状态范围
*/
private String inInventoryStatus;
/**
* 出库库存状态范围
*/
private String outInventoryStatus;
}

58
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestDetailMapper.java

@ -1,15 +1,15 @@
package com.win.module.wms.dal.mysql.countadjustRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestDetailExportReqVO;
import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestDetailPageReqVO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 盘点调整申请子 Mapper
*
@ -21,56 +21,56 @@ public interface CountadjustRequestDetailMapper extends BaseMapperX<CountadjustR
default PageResult<CountadjustRequestDetailDO> selectPage(CountadjustRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CountadjustRequestDetailDO>()
.eqIfPresent(CountadjustRequestDetailDO::getCountDetailNumber, reqVO.getCountDetailNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerlCode, reqVO.getOwnerlCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackinglNumber, reqVO.getPackinglNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerlNumber, reqVO.getContainerlNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(CountadjustRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(CountadjustRequestDetailDO::getLocationlCode, reqVO.getLocationlCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylStatus, reqVO.getInventorylStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylQty, reqVO.getInventorylQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountlQty, reqVO.getCountlQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustlQty, reqVO.getAdjustlQty())
.eqIfPresent(CountadjustRequestDetailDO::getLocationCode, reqVO.getLocationCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryQty, reqVO.getInventoryQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountQty, reqVO.getCountQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustQty, reqVO.getAdjustQty())
.eqIfPresent(CountadjustRequestDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(CountadjustRequestDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(CountadjustRequestDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(CountadjustRequestDetailDO::getCreator, reqVO.getCreator())
.likeIfPresent(CountadjustRequestDetailDO::getItemlName, reqVO.getItemlName())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc1, reqVO.getItemlDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc2, reqVO.getItemlDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectlCode, reqVO.getProjectlCode())
.likeIfPresent(CountadjustRequestDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(CountadjustRequestDetailDO::getQty, reqVO.getQty())
.eqIfPresent(CountadjustRequestDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(CountadjustRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(CountadjustRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(CountadjustRequestDetailDO::getItemlCode, reqVO.getItemlCode())
.eqIfPresent(CountadjustRequestDetailDO::getItemCode, reqVO.getItemCode())
.orderByDesc(CountadjustRequestDetailDO::getId));
}
default List<CountadjustRequestDetailDO> selectList(CountadjustRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CountadjustRequestDetailDO>()
.eqIfPresent(CountadjustRequestDetailDO::getCountDetailNumber, reqVO.getCountDetailNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerlCode, reqVO.getOwnerlCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackinglNumber, reqVO.getPackinglNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerlNumber, reqVO.getContainerlNumber())
.eqIfPresent(CountadjustRequestDetailDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(CountadjustRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(CountadjustRequestDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(CountadjustRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(CountadjustRequestDetailDO::getLocationlCode, reqVO.getLocationlCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylStatus, reqVO.getInventorylStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventorylQty, reqVO.getInventorylQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountlQty, reqVO.getCountlQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustlQty, reqVO.getAdjustlQty())
.eqIfPresent(CountadjustRequestDetailDO::getLocationCode, reqVO.getLocationCode())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(CountadjustRequestDetailDO::getInventoryQty, reqVO.getInventoryQty())
.eqIfPresent(CountadjustRequestDetailDO::getCountQty, reqVO.getCountQty())
.eqIfPresent(CountadjustRequestDetailDO::getAdjustQty, reqVO.getAdjustQty())
.eqIfPresent(CountadjustRequestDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(CountadjustRequestDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(CountadjustRequestDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(CountadjustRequestDetailDO::getCreator, reqVO.getCreator())
.likeIfPresent(CountadjustRequestDetailDO::getItemlName, reqVO.getItemlName())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc1, reqVO.getItemlDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemlDesc2, reqVO.getItemlDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectlCode, reqVO.getProjectlCode())
.likeIfPresent(CountadjustRequestDetailDO::getItemName, reqVO.getItemName())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc1, reqVO.getItemDesc1())
.eqIfPresent(CountadjustRequestDetailDO::getItemDesc2, reqVO.getItemDesc2())
.eqIfPresent(CountadjustRequestDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(CountadjustRequestDetailDO::getQty, reqVO.getQty())
.eqIfPresent(CountadjustRequestDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(CountadjustRequestDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(CountadjustRequestDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(CountadjustRequestDetailDO::getItemlCode, reqVO.getItemlCode())
.eqIfPresent(CountadjustRequestDetailDO::getItemCode, reqVO.getItemCode())
.orderByDesc(CountadjustRequestDetailDO::getId));
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countadjustRequest/CountadjustRequestMainMapper.java

@ -22,7 +22,6 @@ public interface CountadjustRequestMainMapper extends BaseMapperX<CountadjustReq
default PageResult<CountadjustRequestMainDO> selectPage(CountadjustRequestMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CountadjustRequestMainDO>()
.eqIfPresent(CountadjustRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CountadjustRequestMainDO::getCountRecordNumber, reqVO.getCountRecordNumber())
.eqIfPresent(CountadjustRequestMainDO::getWarehouseCode, reqVO.getWarehouseCode())
.eqIfPresent(CountadjustRequestMainDO::getNumber, reqVO.getNumber())
@ -47,7 +46,6 @@ public interface CountadjustRequestMainMapper extends BaseMapperX<CountadjustReq
}
default List<CountadjustRequestMainDO> selectList(CountadjustRequestMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CountadjustRequestMainDO>()
.eqIfPresent(CountadjustRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CountadjustRequestMainDO::getCountRecordNumber, reqVO.getCountRecordNumber())
.eqIfPresent(CountadjustRequestMainDO::getWarehouseCode, reqVO.getWarehouseCode())
.eqIfPresent(CountadjustRequestMainDO::getNumber, reqVO.getNumber())

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRequest/CustomerreceiptRequestMainMapper.java

@ -50,6 +50,8 @@ public interface CustomerreceiptRequestMainMapper extends BaseMapperX<Customerre
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomerreceiptRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomerreceiptRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomerreceiptRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomerreceiptRequestMainDO::getId));
}
default PageResult<CustomerreceiptRequestMainDO> selectSenior(CustomConditions conditions) {
@ -85,6 +87,8 @@ public interface CustomerreceiptRequestMainMapper extends BaseMapperX<Customerre
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomerreceiptRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomerreceiptRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomerreceiptRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomerreceiptRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomerreceiptRequestMainDO::getId));
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobMainMapper.java

@ -68,6 +68,8 @@ public interface CustomerreturnJobMainMapper extends BaseMapperX<CustomerreturnJ
.eqIfPresent(CustomerreturnJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete())
.eqIfPresent(CustomerreturnJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch())
.eqIfPresent(CustomerreturnJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
.eqIfPresent(CustomerreturnJobMainDO::getInInventoryStatus, reqVO.getInInventoryStatuses())
.eqIfPresent(CustomerreturnJobMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatuses())
.orderByDesc(CustomerreturnJobMainDO::getId));
}
default PageResult<CustomerreturnJobMainDO> selectSenior(CustomConditions conditions) {

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestDetailMapper.java

@ -23,7 +23,7 @@ public interface CustomerreturnRequestDetailMapper extends BaseMapperX<Customerr
default PageResult<CustomerreturnRequestDetailDO> selectPage(CustomerreturnRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRequestDetailDO>()
.eq(CustomerreturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomerreturnRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomerreturnRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(CustomerreturnRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(CustomerreturnRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestMainMapper.java

@ -53,6 +53,8 @@ public interface CustomerreturnRequestMainMapper extends BaseMapperX<Customerret
.eqIfPresent(CustomerreturnRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomerreturnRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomerreturnRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomerreturnRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomerreturnRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomerreturnRequestMainDO::getId));
}
default PageResult<CustomerreturnRequestMainDO> selectSenior(CustomConditions conditions) {

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordDetailMapper.java

@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailExportReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordDetailDO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import org.apache.ibatis.annotations.Mapper;
/**
@ -84,4 +85,8 @@ public interface CustomersettleRecordDetailMapper extends BaseMapperX<Customerse
.orderByDesc(CustomersettleRecordDetailDO::getId));
}
default List<CustomersettleRecordDetailDO> selectList(Long masterId){
return selectList(new LambdaQueryWrapperX<CustomersettleRecordDetailDO>()
.eq(CustomersettleRecordDetailDO::getMasterId, masterId));
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRecord/CustomersettleRecordMainMapper.java

@ -75,5 +75,7 @@ public interface CustomersettleRecordMainMapper extends BaseMapperX<Customersett
.eqIfPresent(CustomersettleRecordMainDO::getAvailable, reqVO.getAvailable())
.orderByDesc(CustomersettleRecordMainDO::getId));
}
default List<CustomersettleRecordMainDO> selectSeniorList(CustomConditions conditions){
return selectList(QueryWrapperUtils.structure(conditions));
}
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestDetailMapper.java

@ -22,6 +22,7 @@ public interface CustomersettleRequestDetailMapper extends BaseMapperX<Customers
default PageResult<CustomersettleRequestDetailDO> selectPage(CustomersettleRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomersettleRequestDetailDO>()
.eqIfPresent(CustomersettleRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomersettleRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(CustomersettleRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(CustomersettleRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
@ -49,6 +50,7 @@ public interface CustomersettleRequestDetailMapper extends BaseMapperX<Customers
}
default List<CustomersettleRequestDetailDO> selectList(CustomersettleRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomersettleRequestDetailDO>()
.eqIfPresent(CustomersettleRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CustomersettleRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(CustomersettleRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(CustomersettleRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode())
@ -72,4 +74,8 @@ public interface CustomersettleRequestDetailMapper extends BaseMapperX<Customers
.orderByDesc(CustomersettleRequestDetailDO::getId));
}
default List<CustomersettleRequestDetailDO> selectList(Long masterId){
return selectList(new LambdaQueryWrapperX<CustomersettleRequestDetailDO>()
.eq(CustomersettleRequestDetailDO::getMasterId, masterId));
}
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestMainMapper.java

@ -44,6 +44,8 @@ public interface CustomersettleRequestMainMapper extends BaseMapperX<Customerset
.eqIfPresent(CustomersettleRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(CustomersettleRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(CustomersettleRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(CustomersettleRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(CustomersettleRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(CustomersettleRequestMainDO::getId));
}
default PageResult<CustomersettleRequestMainDO> selectSenior(CustomConditions conditions) {
@ -79,4 +81,7 @@ public interface CustomersettleRequestMainMapper extends BaseMapperX<Customerset
.orderByDesc(CustomersettleRequestMainDO::getId));
}
default List<CustomersettleRequestMainDO> selectSeniorList(CustomConditions conditions){
return selectList(QueryWrapperUtils.structure(conditions));
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverJob/DeliverJobMainMapper.java

@ -125,8 +125,6 @@ public interface DeliverJobMainMapper extends BaseMapperX<DeliverJobMainDO> {
.eqIfPresent(DeliverJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete())
.eqIfPresent(DeliverJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch())
.eqIfPresent(DeliverJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
.eqIfPresent(DeliverJobMainDO::getInInventoryStatuses, reqVO.getInInventoryStatuses())
.eqIfPresent(DeliverJobMainDO::getOutInventoryStatuses, reqVO.getOutInventoryStatuses())
.orderByDesc(DeliverJobMainDO::getId));
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestMainMapper.java

@ -52,6 +52,8 @@ public interface DeliverRequestMainMapper extends BaseMapperX<DeliverRequestMain
.eqIfPresent(DeliverRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(DeliverRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(DeliverRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(DeliverRequestMainDO::getInInventoryStatus, reqVO.getInInventoryStatus())
.eqIfPresent(DeliverRequestMainDO::getOutInventoryStatus, reqVO.getOutInventoryStatus())
.orderByDesc(DeliverRequestMainDO::getId));
}
default PageResult<DeliverRequestMainDO> selectSenior(CustomConditions conditions) {

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierdeliverRequest/SupplierdeliverRequestDetailMapper.java

@ -22,6 +22,7 @@ public interface SupplierdeliverRequestDetailMapper extends BaseMapperX<Supplier
default PageResult<SupplierdeliverRequestDetailDO> selectPage(SupplierdeliverRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<SupplierdeliverRequestDetailDO>()
.eqIfPresent(SupplierdeliverRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(SupplierdeliverRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(SupplierdeliverRequestDetailDO::getAltBatch, reqVO.getAltBatch())
.betweenIfPresent(SupplierdeliverRequestDetailDO::getArriveDate, reqVO.getArriveDate())

133
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java

@ -1,27 +1,41 @@
package com.win.module.wms.service.countJob;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.countJob.vo.CountJobDetailUpdateReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestMainDO;
import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@ -39,9 +53,21 @@ public class CountJobMainServiceImpl implements CountJobMainService {
@Resource
private CountJobMainMapper countJobMainMapper;
@Resource
private CountRecordMainMapper countRecordMainMapper;
@Resource
private CountRecordDetailMapper countRecordDetailMapper;
@Resource
private AdminUserApi userApi;
@Resource
private TrendsApi trendsApi;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private CountRequestMainMapper countRequestMainMapper;
@Resource
private CountadjustRequestMainMapper countadjustRequestMainMapper;
@Resource
private CountadjustRequestDetailMapper countadjustRequestDetailMapper;
@Override
public CountJobMainDO getCountJobMain(Long id) {
@ -123,7 +149,104 @@ public class CountJobMainServiceImpl implements CountJobMainService {
@Override
public String executeCountJobMain(CountJobMainUpdateReqVO countJobMainUpdateReqVO) {
return null;
//查询数据
CountJobMainDO countJobMainDO = this.validateCountJobMainExists(countJobMainUpdateReqVO.getId());
JobStatusState jobStatusState = new JobStatusState(countJobMainDO.getStatus());
boolean flag = jobStatusState.execute();
if(!flag) {
throw new ServiceException(INSPECT_JOB_MAIN_STATUS_ERROR);
}
//更新完成信息
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
countJobMainDO.setStatus(jobStatusState.getState().getCode());
countJobMainDO.setCompleteTime(LocalDateTime.now());
countJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId()));
countJobMainDO.setCompleteUserName(userRespDTO.getNickname());
//更新任务表状态
countJobMainMapper.updateById(countJobMainDO);
//创建采购收货记录主表
CountRecordMainDO countRecordMainDO = new CountRecordMainDO();
BeanUtils.copyProperties(countJobMainDO, countRecordMainDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.COUNT_RECORD.getCode());
countRecordMainDO.setNumber(number);
countRecordMainDO.setJobNumber(countJobMainDO.getNumber());
countRecordMainDO.setId(null);
countRecordMainDO.setCreator(null);
countRecordMainDO.setCreateTime(null);
countRecordMainDO.setUpdater(null);
countRecordMainDO.setUpdateTime(null);
countRecordMainMapper.insert(countRecordMainDO);
List<CountJobDetailUpdateReqVO> countJobDetailUpdateReqVOList = countJobMainUpdateReqVO.getSubList();
List<CountadjustRequestDetailDO> countadjustRequestDetailDOList = new ArrayList<>();
List<CountRecordDetailDO> countRecordDetailDOList = new ArrayList<>();
int countDetailNumber = 1;
for(CountJobDetailUpdateReqVO countJobDetailUpdateReqVO : countJobDetailUpdateReqVOList) {
CountRecordDetailDO countRecordDetailDO = new CountRecordDetailDO();
BeanUtils.copyProperties(countJobDetailUpdateReqVO, countRecordDetailDO);
countRecordDetailDO.setMasterId(countRecordMainDO.getId());
countRecordDetailDO.setNumber(number);
countRecordDetailDO.setJobDetailId(String.valueOf(countJobDetailUpdateReqVO.getId()));
countRecordDetailDO.setId(null);
countRecordDetailDO.setCreator(null);
countRecordDetailDO.setCreateTime(null);
countRecordDetailDO.setUpdater(null);
countRecordDetailDO.setUpdateTime(null);
countRecordDetailDOList.add(countRecordDetailDO);
//盘点记录数量不一致时生成盘点调整申请
if(countRecordDetailDO.getCountQty().compareTo(countRecordDetailDO.getQty()) != 0) {
CountadjustRequestDetailDO countadjustRequestDetailDO = new CountadjustRequestDetailDO();
BeanUtils.copyProperties(countRecordDetailDO, countadjustRequestDetailDO);
countadjustRequestDetailDO.setCountDetailNumber(String.valueOf(countDetailNumber));
countadjustRequestDetailDO.setInventoryQty(countRecordDetailDO.getQty());
countadjustRequestDetailDO.setCountQty(countRecordDetailDO.getCountQty());
//库存数量减盘点数量等于调整数量
countadjustRequestDetailDO.setAdjustQty(countRecordDetailDO.getQty().subtract(countRecordDetailDO.getCountQty()));
//调整数量的绝对值
countadjustRequestDetailDO.setQty(countadjustRequestDetailDO.getAdjustQty().abs());
countadjustRequestDetailDO.setId(null);
countadjustRequestDetailDO.setCreator(null);
countadjustRequestDetailDO.setCreateTime(null);
countadjustRequestDetailDO.setUpdater(null);
countadjustRequestDetailDO.setUpdateTime(null);
countadjustRequestDetailDOList.add(countadjustRequestDetailDO);
countDetailNumber++;
}
}
countRecordDetailMapper.insertBatch(countRecordDetailDOList);
//增加库存跳转
if(!countadjustRequestDetailDOList.isEmpty()) {
CountadjustRequestMainDO countadjustRequestMainDO = new CountadjustRequestMainDO();
BeanUtils.copyProperties(countRecordMainDO, countadjustRequestMainDO);
String adjustNumber = serialNumberApi.generateCode(RuleCodeEnum.COUNT_ADJUST_REQUEST.getCode());
countadjustRequestMainDO.setNumber(adjustNumber);
countadjustRequestMainDO.setCountRecordNumber(number);
countadjustRequestMainDO.setId(null);
countadjustRequestMainDO.setCreator(null);
countadjustRequestMainDO.setCreateTime(null);
countadjustRequestMainDO.setUpdater(null);
countadjustRequestMainDO.setUpdateTime(null);
countadjustRequestMainMapper.insert(countadjustRequestMainDO);
for(CountadjustRequestDetailDO countadjustRequestDetailDO : countadjustRequestDetailDOList) {
countadjustRequestDetailDO.setMasterId(countadjustRequestMainDO.getId());
countadjustRequestDetailDO.setNumber(adjustNumber);
}
countadjustRequestDetailMapper.insertBatch(countadjustRequestDetailDOList);
}
List<String> typeList = new ArrayList<>();
typeList.add(JobStatusEnum.PENDING.getCode());
typeList.add(JobStatusEnum.PROCESSING.getCode());
Long count = countJobMainMapper.selectListCount(typeList, countJobMainDO.getRequestNumber());
CountRequestMainDO countRequestMainDO = countRequestMainMapper.selectByNumber(countJobMainDO.getRequestNumber());
//申请单下所有任务全部完成
if(count == 0) {
countRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
countRequestMainMapper.updateById(countRequestMainDO);
} else if(countRequestMainDO.getStatus().equals(RequestStatusEnum.HANDLING.getCode())) {//部分完成
countRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode());
countRequestMainMapper.updateById(countRequestMainDO);
}
return number;
}
private CountJobMainDO validateCountJobMainExists(Long id) {

47
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java

@ -15,6 +15,7 @@ import com.win.module.wms.controller.countPlan.vo.CountPlanMainPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainUpdateReqVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestDetailCreateReqVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainCreateReqVO;
import com.win.module.wms.controller.location.vo.LocationExportReqVO;
import com.win.module.wms.convert.countPlan.CountPlanDetailConvert;
import com.win.module.wms.convert.countPlan.CountPlanMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
@ -22,6 +23,7 @@ import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.countPlan.CountPlanDetailMapper;
import com.win.module.wms.dal.mysql.countPlan.CountPlanMainMapper;
@ -29,6 +31,7 @@ import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.enums.plan.PlanStatusState;
import com.win.module.wms.service.countRequest.CountRequestMainService;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -36,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
@ -71,6 +75,8 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
private ItembasicService itembasicService;
@Resource
private CountRequestMainService countRequestMainService;
@Resource
private LocationService locationService;
@Override
public Long createCountPlanMain(CountPlanMainCreateReqVO createReqVO) {
@ -293,16 +299,49 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
countRequestMainCreateReqVO.setRequestTime(LocalDateTime.now());
countRequestMainCreateReqVO.setDueTime(LocalDateTime.now());
List<CountRequestDetailCreateReqVO> subList = new ArrayList<>();
for (int i = 0; i< balanceDOList.size(); i++) {
BalanceDO balanceDO = balanceDOList.get(i);
int countDetailNumber = 1;
for (BalanceDO balanceDO : balanceDOList) {
CountRequestDetailCreateReqVO countRequestDetailCreateReqVO = new CountRequestDetailCreateReqVO();
BeanUtils.copyProperties(balanceDO, countRequestDetailCreateReqVO);
ItembasicDO itembasicDO = itembasicService.selectItembasic(balanceDO.getItemCode());
countRequestDetailCreateReqVO.setItemName(itembasicDO.getName());
countRequestDetailCreateReqVO.setItemDesc1(itembasicDO.getDesc1());
countRequestDetailCreateReqVO.setItemDesc2(itembasicDO.getDesc2());
countRequestDetailCreateReqVO.setCountDetailNumber(String.valueOf(i + 1));
subList.add(countRequestDetailCreateReqVO);
countRequestDetailCreateReqVO.setCountDetailNumber(String.valueOf(countDetailNumber));
if(countRequestDetailCreateReqVO.getQty().compareTo(BigDecimal.ZERO) == 0) {
if ("TRUE".equals(mainDO.getIsCountZeroInventory())) {
subList.add(countRequestDetailCreateReqVO);
}
} else if (countRequestDetailCreateReqVO.getQty().compareTo(BigDecimal.ZERO) < 0) {
if ("TRUE".equals(mainDO.getIsCountNegativeInventory())) {
subList.add(countRequestDetailCreateReqVO);
}
} else {
subList.add(countRequestDetailCreateReqVO);
}
countDetailNumber++;
}
//盘点空库位,补齐空库位,在生成任务时拆分为只有主的盘点任务
if("TRUE".equals(mainDO.getIsCountEmptyLocation())) {
LocationExportReqVO locationExportReqVO = new LocationExportReqVO();
locationExportReqVO.setAvailable("TRUE");
List<LocationDO> locationDOList = locationService.getLocationList(new LocationExportReqVO());
for(LocationDO locationDO : locationDOList) {
boolean flag = false;
for(CountRequestDetailCreateReqVO countRequestDetailCreateReqVO : subList) {
if(countRequestDetailCreateReqVO.getLocationCode().equals(locationDO.getCode())) {
flag = true;
break;
}
}
if(!flag) {
CountRequestDetailCreateReqVO countRequestDetailCreateReqVO = new CountRequestDetailCreateReqVO();
countRequestDetailCreateReqVO.setCountDetailNumber(String.valueOf(countDetailNumber));
countRequestDetailCreateReqVO.setLocationCode(locationDO.getCode());
subList.add(countRequestDetailCreateReqVO);
countDetailNumber++;
}
}
}
countRequestMainCreateReqVO.setSubList(subList);
countRequestMainService.createCountRequestMain(countRequestMainCreateReqVO);

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java

@ -37,6 +37,7 @@ import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestDetailMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.itembasic.ItembasicService;
@ -371,10 +372,9 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
list.add(detailDO);
listMap.put(detailDO.getLocationCode(), list);
}
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("PurchaseReceiptJob");
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("CountJob");
//组装任务数据
for(String mapKey : listMap.keySet()) {
List<CountRequestDetailDO> countRequestDetailDOList = listMap.get(mapKey);
CountJobMainDO countJobMainDO = CountJobMainConvert.INSTANCE.convert(mainDO);
countJobMainDO.setRequestNumber(mainDO.getNumber());
countJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete());
@ -391,15 +391,33 @@ public class CountRequestMainServiceImpl implements CountRequestMainService {
countJobMainDO.setBusinessType(businesstypeDO.getCode());
countJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());
countJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());
countJobMainDO.setStatus(JobStatusEnum.PENDING.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.COUNT_JOB.getCode());
countJobMainDO.setNumber(number);
countJobMainDO.setId(null);
countJobMainDO.setCreateTime(null);
countJobMainDO.setCreator(null);
countJobMainDO.setUpdateTime(null);
countJobMainDO.setUpdater(null);
countJobMainMapper.insert(countJobMainDO);
List<CountJobDetailDO> countJobDetailDOList = new ArrayList<>();
for (int i = 0; i< countRequestDetailDOList.size(); i++) {
CountRequestDetailDO countRequestDetailDO = countRequestDetailDOList.get(i);
CountJobDetailDO countJobDetailDO = CountJobDetailConvert.INSTANCE.convert(countRequestDetailDO);
countJobDetailDO.setCountDetailNumber(String.valueOf(i + 1));
countJobDetailDOList.add(countJobDetailDO);
List<CountRequestDetailDO> countRequestDetailDOList = listMap.get(mapKey);
int countDetailNumber = 1;
for (CountRequestDetailDO countRequestDetailDO : countRequestDetailDOList) {
//空库位时itemCode为空,不加入子表
if(countRequestDetailDO.getItemCode() != null && !countRequestDetailDO.getItemCode().isEmpty()) {
CountJobDetailDO countJobDetailDO = CountJobDetailConvert.INSTANCE.convert(countRequestDetailDO);
countJobDetailDO.setCountDetailNumber(String.valueOf(countDetailNumber));
countJobDetailDO.setNumber(number);
countJobDetailDO.setMasterId(countJobMainDO.getId());
countJobDetailDOList.add(countJobDetailDO);
countDetailNumber++;
}
}
if(!countJobDetailDOList.isEmpty()) {
countJobDetailMapper.insertBatch(countJobDetailDOList);
}
countJobDetailMapper.insertBatch(countJobDetailDOList);
trendsApi.createTrends(countJobMainDO.getId(), "countJob", "盘点申请生成盘点任务", TrendsTypeEnum.CREATE);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java

@ -101,6 +101,8 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq
customerreceiptRequestMain.setToLocationTypes(businesstypeDO.getInLocationTypes());
customerreceiptRequestMain.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
customerreceiptRequestMain.setToAreaCodes(businesstypeDO.getInAreaCodes());
customerreceiptRequestMain.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
customerreceiptRequestMain.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
customerreceiptRequestMain.setRequestTime(LocalDateTime.now());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(customerreceiptRequestMain.getStatus())) {

121
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java

@ -14,8 +14,6 @@ import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainE
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainPageReqVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainUpdateReqVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobDetailUpdateReqVO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainUpdateReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDetailUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
@ -25,7 +23,6 @@ import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobMain
import com.win.module.wms.dal.dataobject.customerreturnRecord.CustomerreturnRecordDetailDO;
import com.win.module.wms.dal.dataobject.customerreturnRecord.CustomerreturnRecordMainDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobDetailDO;
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.customerreturnRecord.CustomerreturnRecordDetailMapper;
@ -43,7 +40,6 @@ import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@ -52,7 +48,6 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.customerreturnJob.CustomerreturnJobMainConvert;
@ -272,62 +267,68 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(CustomerreturnJobDetailDO customerreturnJobDetailDO : subList) {
CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVOTemp = null;
for (CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVO : customerreturnJobDetailUpdateReqVOList) {
if (customerreturnJobDetailDO.getId().equals(customerreturnJobDetailUpdateReqVO.getId())) {
customerreturnJobDetailUpdateReqVOTemp = customerreturnJobDetailUpdateReqVO;
break;
// CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVOTemp = null;
// for (CustomerreturnJobDetailUpdateReqVO customerreturnJobDetailUpdateReqVO : customerreturnJobDetailUpdateReqVOList) {
// if (customerreturnJobDetailDO.getId().equals(customerreturnJobDetailUpdateReqVO.getId())) {
// customerreturnJobDetailUpdateReqVOTemp = customerreturnJobDetailUpdateReqVO;
// break;
// }
// }
customerreturnJobDetailUpdateReqVOList.forEach(DetailUpdateItem -> {
if (DetailUpdateItem.getId().equals(customerreturnJobDetailDO.getId())) {
List<Map<String,String>> recordList = DetailUpdateItem.getRecordList();
recordList.forEach(recordListItem -> {
CustomerreturnRecordDetailDO customerreturnRecordDetailDO = new CustomerreturnRecordDetailDO();
BeanUtils.copyProperties(customerreturnJobDetailDO, customerreturnRecordDetailDO);
customerreturnRecordDetailDO.setMasterId(customerreturnRecordMainDO.getId().toString());
customerreturnRecordDetailDO.setNumber(number);
customerreturnRecordDetailDO.setJobDetailId(String.valueOf(customerreturnJobDetailDO.getId()));
customerreturnRecordDetailDO.setFromBatch(customerreturnJobDetailDO.getBatch());
customerreturnRecordDetailDO.setQty(new BigDecimal(recordListItem.get("handleQty").toString()));
customerreturnRecordDetailDO.setToBatch(recordListItem.get("toBatch")==null?"":recordListItem.get("toBatch"));
customerreturnRecordDetailDO.setToPackingNumber(recordListItem.get("toPackingNumber")==null?"":recordListItem.get("toPackingNumber"));
customerreturnRecordDetailDO.setToContainerNumber(recordListItem.get("toContainerNumber")==null?"":recordListItem.get("toContainerNumber"));
customerreturnRecordDetailDO.setInventoryStatus(recordListItem.get("toInventoryStatus").toString());
customerreturnRecordDetailDO.setFromPackingNumber(customerreturnJobDetailDO.getPackingNumber());
customerreturnRecordDetailDO.setFromContainerNumber(customerreturnJobDetailDO.getContainerNumber());
customerreturnRecordDetailDO.setFromLocationCode(customerreturnJobDetailDO.getFromLocationCode());
LocationDO locationDOFrom = locationService.selectLocation(customerreturnJobDetailDO.getFromLocationCode());
if(locationDOFrom != null){
customerreturnRecordDetailDO.setFromAreaCode(locationDOFrom.getAreaCode());
customerreturnRecordDetailDO.setFromLocationGroupCode(locationDOFrom.getLocationGroupCode());
}
customerreturnRecordDetailDO.setToLocationCode(recordListItem.get("toLocationCode").toString());
LocationDO locationDO = locationService.selectLocation(recordListItem.get("toLocationCode").toString());
if(locationDO != null){
customerreturnRecordDetailDO.setToAreaCode(locationDO.getAreaCode());
customerreturnRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode());
}
customerreturnRecordDetailDO.setId(null);
customerreturnRecordDetailDO.setCreator(null);
customerreturnRecordDetailDO.setCreateTime(null);
customerreturnRecordDetailDO.setUpdater(null);
customerreturnRecordDetailDO.setUpdateTime(null);
customerreturnRecordDetailDOList.add(customerreturnRecordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(customerreturnRecordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch());
transactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
});
}
}
CustomerreturnRecordDetailDO customerreturnRecordDetailDO = new CustomerreturnRecordDetailDO();
BeanUtils.copyProperties(customerreturnJobDetailDO, customerreturnRecordDetailDO);
customerreturnRecordDetailDO.setMasterId(customerreturnRecordMainDO.getId().toString());
customerreturnRecordDetailDO.setNumber(number);
customerreturnRecordDetailDO.setJobDetailId(String.valueOf(customerreturnJobDetailDO.getId()));
customerreturnRecordDetailDO.setFromBatch(customerreturnJobDetailDO.getBatch());
customerreturnRecordDetailDO.setToBatch(customerreturnJobDetailUpdateReqVOTemp.getToBatch());
customerreturnRecordDetailDO.setFromPackingNumber(customerreturnJobDetailDO.getPackingNumber());
customerreturnRecordDetailDO.setToPackingNumber(customerreturnJobDetailUpdateReqVOTemp.getToPackingNumber());
customerreturnRecordDetailDO.setFromContainerNumber(customerreturnJobDetailDO.getContainerNumber());
customerreturnRecordDetailDO.setToContainerNumber(customerreturnJobDetailUpdateReqVOTemp.getToContainerNumber());
customerreturnRecordDetailDO.setFromLocationCode(customerreturnJobDetailDO.getFromLocationCode());
LocationDO FromLocationDO = locationService.selectLocation(customerreturnJobDetailDO.getFromLocationCode());
if(FromLocationDO != null){
customerreturnRecordDetailDO.setFromAreaCode(FromLocationDO.getAreaCode());
customerreturnRecordDetailDO.setFromLocationGroupCode(FromLocationDO.getLocationGroupCode());
}
customerreturnRecordDetailDO.setToLocationCode(customerreturnJobDetailUpdateReqVOTemp.getToLocationCode());
LocationDO toLocationDO = locationService.selectLocation(customerreturnJobDetailDO.getToLocationCode());
if(toLocationDO != null){
customerreturnRecordDetailDO.setToAreaCode(FromLocationDO.getAreaCode());
customerreturnRecordDetailDO.setToLocationGroupCode(FromLocationDO.getLocationGroupCode());
}
customerreturnRecordDetailDO.setInventoryStatus(customerreturnJobDetailUpdateReqVOTemp.getToInventoryStatus());
customerreturnRecordDetailDO.setQty(customerreturnJobDetailUpdateReqVOTemp.getHandleQty());
customerreturnRecordDetailDO.setId(null);
customerreturnRecordDetailDO.setCreator(null);
customerreturnRecordDetailDO.setCreateTime(null);
customerreturnRecordDetailDO.setUpdater(null);
customerreturnRecordDetailDO.setUpdateTime(null);
customerreturnRecordDetailDOList.add(customerreturnRecordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(customerreturnRecordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch());
transactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
});
}
customerreturnRecordDetailMapper.insertBatch(customerreturnRecordDetailDOList);
List<String> typeList = new ArrayList<>();

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java

@ -323,6 +323,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
customerreturnJobMainDO.setUpdateTime(null);
// 获取任务单据设置
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("CustomerRejectJob");
customerreturnJobMainDO.setRequestDueTime(mainDO.getDueTime());
customerreturnJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete());
customerreturnJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation());
customerreturnJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty());
@ -336,6 +337,8 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectJob");
customerreturnJobMainDO.setBusinessType(businesstypeDO.getCode());
customerreturnJobMainDO.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
customerreturnJobMainDO.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
customerreturnJobMainMapper.insert(customerreturnJobMainDO);
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
List<CustomerreturnJobDetailDO> customerreturnJobDetailDOList = new ArrayList<>();
@ -565,6 +568,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
//校验发货记录并赋值
CustomerreturnRequestMainDO customerreturnRequestMainDO = this.validateDeliverRecord(mainDo);
mainDo.setDeliverPlanNumber(customerreturnRequestMainDO.getDeliverPlanNumber());
mainDo.setRequestTime(LocalDateTime.now());
//校验业务类型和申请设置并赋值
validateRequestsettingAndBusinesstype(mainDo);
}
@ -631,6 +635,8 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
}
@ -643,6 +649,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
private void validateDeliverRecordDetail(CustomerreturnRequestMainDO mainDo,CustomerreturnRequestDetailDO detailDO){
List<DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordMainService.selectsDeliverRecordExist(mainDo.getDeliverRecordNumber());
if(deliverRecordDetailDO != null && deliverRecordDetailDO.size() != 0){
Boolean result = false;
for (DeliverRecordDetailDO deliver : deliverRecordDetailDO) {
if (
// deliver.getSoNumber().equals(detailDO.getSoNumber()) &&
@ -653,13 +660,15 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
{
detailDO.setQty(deliver.getQty());
detailDO.setUom(deliver.getUom());
} else {
throw exception(DELIVER_RECORD_DETAIL_EXCEPTION,"物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
+ mainDo.getDeliverRecordNumber() + "中");
result = true;
}
}
if(!result){
throw exception(DELIVER_RECORD_DETAIL_EXCEPTION,"物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
+ mainDo.getDeliverRecordNumber() + "中");
// throw exception(DELIVER_RECORD_DETAIL_EXCEPTION,"销售订单号" + detailDO.getSoNumber() + "销售订单行" + detailDO.getSoLine()
// + "物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
// + createReqVO.getDeliverRecordNumber() + "中");
}
}
}
else {

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailService.java

@ -79,4 +79,5 @@ public interface CustomersettleRecordDetailService {
*/
List<CustomersettleRecordDetailDO> getCustomersettleRecordDetailList(CustomersettleRecordDetailExportReqVO exportReqVO);
List<CustomersettleRecordDetailDO> selectList(Long masterId);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordDetailServiceImpl.java

@ -5,6 +5,7 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailExportReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailPageReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -87,4 +88,8 @@ public class CustomersettleRecordDetailServiceImpl implements CustomersettleReco
return customersettleRecordDetailMapper.selectList(exportReqVO);
}
@Override
public List<CustomersettleRecordDetailDO> selectList(Long masterId) {
return customersettleRecordDetailMapper.selectList(masterId);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainService.java

@ -10,6 +10,7 @@ import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecor
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
/**
* 客户结算记录主 Service 接口
@ -79,4 +80,5 @@ public interface CustomersettleRecordMainService {
*/
List<CustomersettleRecordMainDO> getCustomersettleRecordMainList(CustomersettleRecordMainExportReqVO exportReqVO);
List<CustomersettleRecordMainDO> getCustomersettleRecordMainList(CustomConditions conditions);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRecord/CustomersettleRecordMainServiceImpl.java

@ -87,4 +87,9 @@ public class CustomersettleRecordMainServiceImpl implements CustomersettleRecord
return customersettleRecordMainMapper.selectList(exportReqVO);
}
@Override
public List<CustomersettleRecordMainDO> getCustomersettleRecordMainList(CustomConditions conditions) {
return customersettleRecordMainMapper.selectSeniorList(conditions);
}
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailService.java

@ -79,4 +79,5 @@ public interface CustomersettleRequestDetailService {
*/
List<CustomersettleRequestDetailDO> getCustomersettleRequestDetailList(CustomersettleRequestDetailExportReqVO exportReqVO);
List<CustomersettleRequestDetailDO> selectList(Long masterId);
}

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestDetailServiceImpl.java

@ -1,10 +1,17 @@
package com.win.module.wms.service.customersettleRequest;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailCreateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailExportReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailPageReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordMainDO;
import com.win.module.wms.service.deliverRecord.DeliverRecordMainService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -31,12 +38,17 @@ public class CustomersettleRequestDetailServiceImpl implements CustomersettleReq
@Resource
private CustomersettleRequestDetailMapper customersettleRequestDetailMapper;
@Resource
private TrendsApi trendsApi;
@Resource
private DeliverRecordMainService deliverRecordMainService;
@Override
public Long createCustomersettleRequestDetail(CustomersettleRequestDetailCreateReqVO createReqVO) {
// 插入
CustomersettleRequestDetailDO customersettleRequestDetail = CustomersettleRequestDetailConvert.INSTANCE.convert(createReqVO);
customersettleRequestDetailMapper.insert(customersettleRequestDetail);
trendsApi.createTrends(customersettleRequestDetail.getId(), "customersettleRequestDetail", customersettleRequestDetail.toString(), TrendsTypeEnum.CREATE);
// 返回
return customersettleRequestDetail.getId();
}
@ -47,21 +59,24 @@ public class CustomersettleRequestDetailServiceImpl implements CustomersettleReq
validateCustomersettleRequestDetailExists(updateReqVO.getId());
// 更新
CustomersettleRequestDetailDO updateObj = CustomersettleRequestDetailConvert.INSTANCE.convert(updateReqVO);
trendsApi.createTrends(updateObj.getId(), "customersettleRequestDetail", updateObj.toString(), TrendsTypeEnum.UPDATE);
customersettleRequestDetailMapper.updateById(updateObj);
}
@Override
public void deleteCustomersettleRequestDetail(Long id) {
// 校验存在
validateCustomersettleRequestDetailExists(id);
CustomersettleRequestDetailDO customersettleRequestDetailDO = validateCustomersettleRequestDetailExists(id);
trendsApi.createTrends(id, "customersettleRequestDetail", customersettleRequestDetailDO.toString(), TrendsTypeEnum.DELETE);
// 删除
customersettleRequestDetailMapper.deleteById(id);
}
private void validateCustomersettleRequestDetailExists(Long id) {
if (customersettleRequestDetailMapper.selectById(id) == null) {
private CustomersettleRequestDetailDO validateCustomersettleRequestDetailExists(Long id) {
CustomersettleRequestDetailDO customersettleRequestDetailDO = customersettleRequestDetailMapper.selectById(id);
if (customersettleRequestDetailDO == null) {
throw exception(CUSTOMERSETTLE_REQUEST_DETAIL_NOT_EXISTS);
}
}return customersettleRequestDetailDO;
}
@Override
@ -87,4 +102,8 @@ public class CustomersettleRequestDetailServiceImpl implements CustomersettleReq
return customersettleRequestDetailMapper.selectList(exportReqVO);
}
@Override
public List<CustomersettleRequestDetailDO> selectList(Long masterId) {
return customersettleRequestDetailMapper.selectList(masterId);
}
}

44
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainService.java

@ -78,7 +78,49 @@ public interface CustomersettleRequestMainService {
*/
List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomersettleRequestMainExportReqVO exportReqVO);
/**
* 关闭
* @param id
* @return
*/
public Integer closeCustomersettleRequestMain(Long id);
/**
* 重新添加
* @param id
* @return
*/
public Integer reAddCustomersettleRequestMain(Long id);
/**
* 提交
* @param id
* @return
*/
public Integer submitCustomersettleRequestMain(Long id);
/**
* 审批通过
* @param id
* @return
*/
public Integer agreeCustomersettleRequestMain(Long id);
/**
* 执行
* @param id
* @return
*/
public Integer handleCustomersettleRequestMain(Long id);
/**
*
* @param id
* @return
*/
public Integer abortCustomersettleRequestMain(Long id);
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainService(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainImport(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomConditions conditions);
}

484
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java

@ -2,23 +2,46 @@ package com.win.module.wms.service.customersettleRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordDetailCreateReqVO;
import com.win.module.wms.controller.customersettleRecord.vo.CustomersettleRecordMainCreateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestDetailCreateReqVO;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainCreateReqVO;
import com.win.module.wms.convert.customersettleRecord.CustomersettleRecordDetailConvert;
import com.win.module.wms.convert.customersettleRecord.CustomersettleRecordMainConvert;
import com.win.module.wms.convert.customersettleRequest.CustomersettleRequestDetailConvert;
import com.win.module.wms.convert.deliverRequest.DeliverRequestDetailConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.customersettleRecord.CustomersettleRecordMainDO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordMainDO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.customersettleRecord.CustomersettleRecordDetailMapper;
import com.win.module.wms.dal.mysql.customersettleRecord.CustomersettleRecordMainMapper;
import com.win.module.wms.dal.mysql.customersettleRequest.CustomersettleRequestDetailMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.customersettleRecord.CustomersettleRecordMainService;
import com.win.module.wms.service.deliverRecord.DeliverRecordMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Validator;
@ -53,27 +76,37 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
@Resource
private CustomersettleRequestDetailMapper customersettleRequestDetailMapper;
@Resource
private CustomersettleRecordMainMapper customersettleRecordMainMapper;
@Resource
private CustomersettleRecordDetailMapper customersettleRecordDetailMapper;
@Resource
private DeliverRecordMainService deliverRecordMainService;
private CustomersettleRecordMainService customersettleRecordMainService;
@Resource
private DeliverRecordMainService deliverRecordMainService;
@Resource
private RequestsettingService requestsettingService;
@Resource
private JobUtils jobUtils;
@Resource
private Validator validator;
@Resource
private TrendsApi trendsApi;
@Resource
private SerialNumberApi serialNumberApi;
@Override
public Long createCustomersettleRequestMain(CustomersettleRequestMainCreateReqVO createReqVO) {
// 插入
CustomersettleRequestMainDO customersettleRequestMain = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
customersettleRequestMainMapper.insert(customersettleRequestMain);
CustomersettleRequestMainDO customersettleRequestMainDO = validatorToCreate(createReqVO);
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(customersettleRequestMainDO.getStatus())) {
generateRecord(customersettleRequestMainDO,customersettleRequestDetailMapper.selectList(customersettleRequestMainDO.getId()));
}
trendsApi.createTrends(customersettleRequestMainDO.getId(), "CustomersettleRequest", "增加了客户结算申请", TrendsTypeEnum.CREATE);
// 返回
return customersettleRequestMain.getId();
return customersettleRequestMainDO.getId();
}
@Override
@ -82,6 +115,10 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
validateCustomersettleRequestMainExists(updateReqVO.getId());
// 更新
CustomersettleRequestMainDO updateObj = CustomersettleRequestMainConvert.INSTANCE.convert(updateReqVO);
if(RequestStatusEnum.HANDLING.getCode().equals(updateObj.getStatus())) {
generateRecord(updateObj,customersettleRequestDetailMapper.selectList(updateObj.getId()));
}
trendsApi.createTrends(updateObj.getId(), "CustomersettleRequest", "修改了客户结算申请", TrendsTypeEnum.UPDATE);
customersettleRequestMainMapper.updateById(updateObj);
}
@ -93,10 +130,12 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
customersettleRequestMainMapper.deleteById(id);
}
private void validateCustomersettleRequestMainExists(Long id) {
if (customersettleRequestMainMapper.selectById(id) == null) {
private CustomersettleRequestMainDO validateCustomersettleRequestMainExists(Long id) {
CustomersettleRequestMainDO customersettleRequestMainDO = customersettleRequestMainMapper.selectById(id);
if (customersettleRequestMainDO == null) {
throw exception(CUSTOMERSETTLE_REQUEST_MAIN_NOT_EXISTS);
}
return customersettleRequestMainDO;
}
@Override
@ -121,115 +160,366 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
public List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomersettleRequestMainExportReqVO exportReqVO) {
return customersettleRequestMainMapper.selectList(exportReqVO);
}
//关闭
@Override
public Integer closeCustomersettleRequestMain(Long id) {
// 校验存在存在下级单据
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "customersettleRequest", "关闭了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//打开
@Override
@Transactional
public Integer reAddCustomersettleRequestMain(Long id) {
// 校验存在存在下级单据
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reAdd();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_RE_ADD);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "customersettleRequest", "打开了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//提交
@Transactional
@Override
public Integer submitCustomersettleRequestMain(Long id) {
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_SUBMIT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateRecord(mainDO, customersettleRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "deliverRequest", "提交了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//审批同意
@Transactional
@Override
public Integer agreeCustomersettleRequestMain(Long id) {
// 校验存在
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_AGREE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateRecord(mainDO, customersettleRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "deliverRequest", "审批同意了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//执行
@Transactional
@Override
public Integer handleCustomersettleRequestMain(Long id) {
// 校验存在
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_HANDLE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
this.generateRecord(mainDO, customersettleRequestDetailMapper.selectList(mainDO.getId()));
trendsApi.createTrends(id, "deliverRequest", "执行了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
//审批拒绝
@Transactional
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainService(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart){
@Override
public Integer abortCustomersettleRequestMain(Long id) {
// 校验存在
CustomersettleRequestMainDO mainDO = validateCustomersettleRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.refused();
if(!flag) {
throw new ServiceException(CUSTOMERSETTLE_REQUEST_CANNOT_ABORT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "customersettleRequest", "审批拒绝了客户结算申请", TrendsTypeEnum.UPDATE);
return customersettleRequestMainMapper.updateById(mainDO);
}
/**
* 生成客户收货记录不要改动事务传播方式否则会有事务问题
*
* @param mainDO 客户收货主
* @param detailDOList 客户收货子
*/
private void generateRecord(CustomersettleRequestMainDO mainDO, List<CustomersettleRequestDetailDO> detailDOList) {
if ("TRUE".equals(mainDO.getDirectCreateRecord())) {
CustomersettleRecordMainCreateReqVO customersettleRecordMainCreateReqVO = new CustomersettleRecordMainCreateReqVO();
BeanUtils.copyProperties(mainDO, customersettleRecordMainCreateReqVO);
customersettleRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_REQUEST.getCode());
customersettleRecordMainCreateReqVO.setNumber(number);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomersettleRecord");
customersettleRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
CustomersettleRecordMainDO convert = CustomersettleRecordMainConvert.INSTANCE.convert(customersettleRecordMainCreateReqVO);
customersettleRecordMainMapper.insert(convert);
for (CustomersettleRequestDetailDO customersettleRequestDetailDO : detailDOList) {
CustomersettleRecordDetailCreateReqVO customersettleRecordDetailCreateReqVO = new CustomersettleRecordDetailCreateReqVO();
BeanUtils.copyProperties(customersettleRequestDetailDO, customersettleRecordDetailCreateReqVO);
customersettleRecordDetailCreateReqVO.setNumber(number);
customersettleRecordDetailCreateReqVO.setMasterId(convert.getId().toString());
customersettleRecordDetailMapper.insert(CustomersettleRecordDetailConvert.INSTANCE.convert(customersettleRecordDetailCreateReqVO));
trendsApi.createTrends(mainDO.getId(), "CustomersettleRecord", "客户结算申请生成客户结算记录", TrendsTypeEnum.CREATE);
}
}
}
@Override
public List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomConditions conditions) {
return customersettleRequestMainMapper.selectSeniorList(conditions);
}
@Override
@Transactional
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainImport(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart){
if (CollUtil.isEmpty(datas)) {
throw exception(CUSTOMERSETTLE_REQUEST_NOT_EXISTS);
}
List<CustomersettleRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
//主表校验方法
try {
DeliverRecordMainDO deliverRecordMainDO = deliverRecordMainService.selectsMainRecordExist(createReqVO.getDeliverRecordNumber());
createReqVO.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
createReqVO.setCustomerCode(deliverRecordMainDO.getCustomerCode());
createReqVO.setFromWarehouseCode(deliverRecordMainDO.getFromWarehouseCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
createReqVO.setCreateTime(LocalDateTime.now());
try {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomerRejectRequest");
if (requestsettingDO != null) {
createReqVO.setAutoAgree(requestsettingDO.getAutoAgree());
createReqVO.setAutoCommit(requestsettingDO.getAutoCommit());
createReqVO.setAutoExecute(requestsettingDO.getAutoExecute());
createReqVO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
}
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectRequest");
createReqVO.setBusinessType(businesstypeDO.getCode());
createReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ValidationUtils.validate(validator, createReqVO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_RECORD.getCode());
createReqVO.setNumber(number);
CustomersettleRequestMainDO mainDO = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
String messageMain = this.validateCustomersettleRequestMainImport(mainDO);
List<CustomersettleRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<CustomersettleRequestDetailDO> subDOList = CustomersettleRequestDetailConvert.INSTANCE.convertList03(subList);
for(CustomersettleRequestDetailDO detailDO : subDOList){
String messageDetail = "";
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
//子表校验方法
try {
List <DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordMainService.selectsDeliverRecordExist(createReqVO.getDeliverRecordNumber());
try{
for( DeliverRecordDetailDO deliver : deliverRecordDetailDO){
if(deliver.getSoNumber().equals(detailDO.getSoNumber())&&
deliver.getSoLine().equals(detailDO.getSoLine())
&&deliver.getItemCode().equals(detailDO.getItemCode())&&
deliver.getBatch().equals(detailDO.getBatch())&&
deliver.getPackingNumber().equals(detailDO.getPackingNumber())){
detailDO.setQty(deliver.getQty());
detailDO.setUom(deliver.getUom());
}
else{
throw new UtilException("销售订单号"+detailDO.getSoNumber()+"销售订单行"+detailDO.getSoLine()
+"物料代码"+detailDO.getItemCode()+"批次"+detailDO.getBatch()+"箱码"+detailDO.getPackingNumber()+"不在发货记录单"
+createReqVO.getDeliverRecordNumber()+"中");
}
}
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
CustomersettleRequestDetailCreateReqVO purchaseturnRequestDetailCreateReqVO = CustomersettleRequestDetailConvert.INSTANCE.convert1(detailDO);
CustomersettleRequestImportErrorVO importVO = CustomersettleRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseturnRequestDetailCreateReqVO);
if (!messageMain.equals("") || !messageDetail.equals("")) {
importVO.setImportStatus("失败");
// 是否有错误数据
boolean flag = true;
for (CustomersettleRequestDetailDO detailDO : subDOList) {
String messageDetail = this.validateCustomersettleRequestDetailImport(mainDO, detailDO);
if(!messageMain.isEmpty() || !messageDetail.isEmpty()) {
CustomersettleRequestImportErrorVO importErrorVO = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importVO);
} else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
}
CustomersettleRequestMainDO createobj = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
if (errorList.isEmpty()) {
CustomersettleRequestMainDO existCustomersettleRequestMainDO = customersettleRequestMainMapper.selectByDeliverrecordnumberAndSupplierCode(createReqVO.getDeliverRecordNumber());
if (existCustomersettleRequestMainDO == null && mode != 3) {
customersettleRequestMainMapper.insert(createobj);
customersettleRequestDetailMapper.insertBatch(subDOList);
} else if (existCustomersettleRequestMainDO != null && mode != 2) {
customersettleRequestMainMapper.updateById(createobj);
customersettleRequestDetailMapper.updateBatch(subDOList);
//写入数据
if(flag) {
//增加操作记录
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_REQUEST.getCode());
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomersettleRequest");
RequestStatusState requestStatusState = new RequestStatusState();
requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute());
mainDO.setStatus(requestStatusState.getState().getCode());
mainDO.setAutoCommit(requestsettingDO.getAutoCommit());
mainDO.setAutoAgree(requestsettingDO.getAutoAgree());
mainDO.setAutoExecute(requestsettingDO.getAutoExecute());
mainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
mainDO.setRequestTime(LocalDateTime.now());
customersettleRequestMainMapper.insert(mainDO);
trendsApi.createTrends(mainDO.getId(), "customersettleRequestMain", "导入了客户结算申请", TrendsTypeEnum.CREATE);
for (CustomersettleRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateRecord(mainDO, subDOList);
}
customersettleRequestDetailMapper.insertBatch(subDOList);
}
});
//错误不为空并非部分更新,手工回滚
if (!errorList.isEmpty() && !updatePart) {
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
/**
* 校验主表导入并赋值一些参数
* @param mainDo
* @return
*/
private String validateCustomersettleRequestMainImport(CustomersettleRequestMainDO mainDo) {
StringBuilder message = new StringBuilder();
try {
validateBusinesstypeDO(mainDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
ValidationUtils.validate(validator, mainDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
/**
* 校验子表导入并赋值一些参数
* @param detailDo
* @return
*/
private String validateCustomersettleRequestDetailImport(CustomersettleRequestMainDO mainDo, CustomersettleRequestDetailDO detailDo) {
StringBuilder message = new StringBuilder();
try {
DeliverRecordMainDO deliverRecordMainDO = validateDeliverRecordNumber(mainDo.getDeliverRecordNumber());
if (deliverRecordMainDO != null){
mainDo.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
mainDo.setFromWarehouseCode(deliverRecordMainDO.getFromWarehouseCode());
mainDo.setCustomerCode(deliverRecordMainDO.getCustomerCode());
mainDo.setDepartmentCode(deliverRecordMainDO.getDepartmentCode());
try {
this.validateDeliverRecordDetailDO(mainDo,detailDo);
} catch (Exception e) {
message.append(e.getMessage()).append(",");
}
}
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
ValidationUtils.validate(validator, detailDo);
} catch (Exception e) {
message.append(e.getMessage()).append(",");
}
return message.toString();
}
/**
* 新增校验子表并给部分字段赋值
* @param detailDo
* @param mainDo
* @return
*/
private void validateCustomersettleRequestDetailCreate(CustomersettleRequestMainDO mainDo,CustomersettleRequestDetailDO detailDo) {
DeliverRecordMainDO deliverRecordMainDO = validateDeliverRecordNumber(mainDo.getDeliverRecordNumber());
if (deliverRecordMainDO != null) {
mainDo.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
mainDo.setFromWarehouseCode(deliverRecordMainDO.getFromWarehouseCode());
mainDo.setCustomerCode(deliverRecordMainDO.getCustomerCode());
mainDo.setDepartmentCode(deliverRecordMainDO.getDepartmentCode());
this.validateDeliverRecordDetailDO(mainDo,detailDo);
}
}
/**
* 新增时校验主子表方法
* @param createReqVO
* @return
*/
private CustomersettleRequestMainDO validatorToCreate(CustomersettleRequestMainCreateReqVO createReqVO) {
CustomersettleRequestMainDO mainDo = CustomersettleRequestMainConvert.INSTANCE.convert(createReqVO);
requestsettingAndBusinesstype(mainDo);
List<CustomersettleRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<CustomersettleRequestDetailDO> subDOList = CustomersettleRequestDetailConvert.INSTANCE.convertList03(subList);
for (CustomersettleRequestDetailDO deliverRequestDetailDO : subDOList) {
validateCustomersettleRequestDetailCreate(mainDo,deliverRequestDetailDO);
}
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_REQUEST.getCode());
mainDo.setNumber(number);
mainDo.setRequestTime(LocalDateTime.now());
RequestStatusState requestStatusState = new RequestStatusState();
requestStatusState.newObject(mainDo.getAutoCommit(), mainDo.getAutoAgree(), mainDo.getAutoExecute());
mainDo.setStatus(requestStatusState.getState().getCode());
customersettleRequestMainMapper.insert(mainDo);
for (CustomersettleRequestDetailDO customersettleRequestDetailDO : subDOList) {
customersettleRequestDetailDO.setMasterId(mainDo.getId());
customersettleRequestDetailDO.setNumber(mainDo.getNumber());
}
customersettleRequestDetailMapper.insertBatch(subDOList);
return mainDo;
}
//校验发货记录是否存在
private DeliverRecordMainDO validateDeliverRecordNumber(String deliverRecordNumber){
return deliverRecordMainService.selectsMainRecordExist(deliverRecordNumber);
}
//查询业务类型跟申请设置进行复制
private void requestsettingAndBusinesstype(CustomersettleRequestMainDO mainDo) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomerSettleRequest");
mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerSettleRequest");
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
/**
* 查询成品发货记录子表
* @param mainDo
* @param detailDO
*/
private void validateDeliverRecordDetailDO(CustomersettleRequestMainDO mainDo,CustomersettleRequestDetailDO detailDO) {
List<DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordMainService.selectsDeliverRecordExist(mainDo.getDeliverRecordNumber());
boolean flag = false;
for (DeliverRecordDetailDO deliver : deliverRecordDetailDO) {
// if (deliver.getSoNumber().equals(detailDO.getSoNumber()) &&
// deliver.getSoLine().equals(detailDO.getSoLine())
// && deliver.getItemCode().equals(detailDO.getItemCode()) &&
// deliver.getBatch().equals(detailDO.getBatch()) &&
// deliver.getPackingNumber().equals(detailDO.getPackingNumber())) {
// detailDO.setQty(deliver.getQty());
// detailDO.setUom(deliver.getUom());
// } else {
// throw new UtilException("销售订单号" + detailDO.getSoNumber() + "销售订单行" + detailDO.getSoLine()
// + "物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
// + mainDo.getDeliverRecordNumber() + "中");
// }
if (deliver.getItemCode().equals(detailDO.getItemCode()) &&
deliver.getBatch().equals(detailDO.getBatch()) &&
deliver.getPackingNumber().equals(detailDO.getPackingNumber())) {
detailDO.setQty(deliver.getQty());
detailDO.setUom(deliver.getUom());
detailDO.setInventoryStatus(deliver.getInventoryStatus());
detailDO.setFromLocationCode(deliver.getFromLocationCode());
detailDO.setItemDesc2(deliver.getItemDesc2());
detailDO.setItemDesc1(deliver.getItemDesc1());
detailDO.setItemName(deliver.getItemName());
detailDO.setProjectCode(deliver.getProjectCode());
flag = true;
}
}
if(flag == false) {
throw new UtilException("物料代码" + detailDO.getItemCode() + "批次" + detailDO.getBatch() + "箱码" + detailDO.getPackingNumber() + "不在发货记录单"
+ mainDo.getDeliverRecordNumber() + "中");
}
}
//查询业务类型并赋值给主表
private void validateBusinesstypeDO(CustomersettleRequestMainDO mainDo){
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectRequest");
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java

@ -324,6 +324,7 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService {
deliverRecordDetailDO.setBatch(recordListItem.get("toBatch")==null?"":recordListItem.get("toBatch"));
deliverRecordDetailDO.setToLocationCode(recordListItem.get("toLocationCode").toString());
deliverRecordDetailDO.setInventoryStatus(recordListItem.get("toInventoryStatus").toString());
deliverRecordDetailDO.setAvailable("TRUE");
deliverRecordDetailDO.setToContainerNumber(DetailUpdateItem.getToContainerNumber());
// 根据 to库位 查询 库位组 库区
LocationDO locationDO = locationService.selectLocation(recordListItem.get("toLocationCode").toString());

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java

@ -375,6 +375,8 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes());
mainDo.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
mainDo.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
}
try {
ValidationUtils.validate(validator, mainDo);
@ -523,6 +525,8 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
deliverRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
deliverRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
deliverRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
deliverRequestMainDO.setInInventoryStatus(businesstypeDO.getInInventoryStatuses());
deliverRequestMainDO.setOutInventoryStatus(businesstypeDO.getOutInventoryStatuses());
String customerDeliverNumber = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_DELIVER_NUMBER.getCode());
deliverRequestMainDO.setCustomerDeliverNumber(customerDeliverNumber);
return deliverRequestMainDO;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java

@ -190,7 +190,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
inspectJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId()));
inspectJobMainDO.setCompleteUserName(userRespDTO.getNickname());
//更新任务表状态
int result = inspectJobMainMapper.updateById(inspectJobMainDO);
inspectJobMainMapper.updateById(inspectJobMainDO);
//创建采购收货记录主表
InspectRecordMainDO inspectRecordMainDO = new InspectRecordMainDO();
BeanUtils.copyProperties(inspectJobMainDO, inspectRecordMainDO);

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

@ -629,10 +629,10 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
purchaseDetailDOQueryWrapper.eq("item_code", itemCode);
purchaseDetailDOQueryWrapper.eq("available", "TRUE");
List<PurchaseDetailDO> purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper);
boolean res = false;
boolean res = true;
for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) {
if ("TRUE".equals(purchaseDetailDO.getAvailable())) {
res = true;
res = false;
}
}
if ("DISCRETE".equals(purchaseMainDO.getType()) && res) {
@ -641,12 +641,11 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) {
//如果是离散单
if ("DISCRETE".equals(purchaseMainDO.getType())) {
purchaseDetailDO.setReceivedQty(receivedQty);
if (purchaseDetailDO.getReceivedQty().compareTo(purchaseDetailDO.getOrderQty()) == 0
|| purchaseDetailDO.getReceivedQty().compareTo(purchaseDetailDO.getOrderQty().multiply(new BigDecimal(1).add(purchaseDetailDO.getOverReceivingPercent())))
>= 0) {
purchaseDetailDO.setAvailable("FALSE");
} else {
purchaseDetailDO.setReceivedQty(receivedQty);
}
} else {
purchaseDetailDO.setReceivedQty(purchaseDetailDO.getReceivedQty().add(receivedQty));

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java

@ -273,6 +273,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
List<PurchaseshortageDetailDO> purchaseshortageDetailDOList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
Map<String, BigDecimal> poQtyMap = new HashMap<>();
for(PurchasereceiptJobDetailDO purchasereceiptJobDetailDO : subList) {
boolean isExists = false;
PurchasereceiptJobDetailUpdateReqVO purchasereceiptJobDetailUpdateReqVOTemp = null;
@ -311,8 +312,13 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchasereceiptRecordDetailDO.setUpdateTime(null);
purchasereceiptRecordDetailDO.setUpdater(null);
purchasereceiptRecordDetailDOList.add(purchasereceiptRecordDetailDO);
//更新采购订单明细的收货数量
purchaseMainService.updateOrderPurchaseReceivedQty(purchasereceiptRecordDetailDO.getPoNumber(), purchasereceiptRecordDetailDO.getPoLine(), purchasereceiptRecordDetailDO.getItemCode(), purchasereceiptRecordDetailDO.getQty());
BigDecimal poQty = poQtyMap.get(purchasereceiptRecordDetailDO.getPoNumber() + "_" + purchasereceiptRecordDetailDO.getPoLine() + "_" + purchasereceiptRecordDetailDO.getItemCode());
if(poQty == null) {
poQty = purchasereceiptRecordDetailDO.getQty();
} else {
poQty = poQty.add(purchasereceiptRecordDetailDO.getQty());
}
poQtyMap.put(purchasereceiptRecordDetailDO.getPoNumber() + "_" + purchasereceiptRecordDetailDO.getPoLine() + "_" + purchasereceiptRecordDetailDO.getItemCode(), poQty);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordDetailDO, transactionCreateReqVO);
@ -358,6 +364,11 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
purchaseshortageDetailDOList.add(purchaseshortageDetailDO);
}
}
for(String key : poQtyMap.keySet()) {
String[] keys = key.split("_");
//更新采购订单明细的收货数量
purchaseMainService.updateOrderPurchaseReceivedQty(keys[0], keys[1], keys[2], poQtyMap.get(key));
}
if(!purchasereceiptRecordDetailDOList.isEmpty()) {
purchasereceiptRecordDetailMapper.insertBatch(purchasereceiptRecordDetailDOList);
}

76
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestDetailServiceImpl.java

@ -1,14 +1,27 @@
package com.win.module.wms.service.supplierdeliverRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailExportReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailPageReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.dal.mysql.supplierdeliverRequest.SupplierdeliverRequestMainMapper;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.purchasePlan.PurchasePlanMainService;
import com.win.module.wms.service.supplieritem.SupplieritemService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.util.*;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO;
@ -31,14 +44,32 @@ public class SupplierdeliverRequestDetailServiceImpl implements SupplierdeliverR
@Resource
private SupplierdeliverRequestDetailMapper supplierdeliverRequestDetailMapper;
@Resource
private SupplierdeliverRequestMainMapper supplierdeliverRequestMainMapper;
@Resource
private ItembasicService itembasicService;
@Resource
private SupplieritemService supplieritemService;
@Resource
private ItempackagingService itempackagingService;
@Resource
private PurchasePlanMainService purchasePlanMainService;
@Override
public Long createSupplierdeliverRequestDetail(SupplierdeliverRequestDetailCreateReqVO createReqVO) {
// 插入
SupplierdeliverRequestDetailDO supplierdeliverRequestDetail = SupplierdeliverRequestDetailConvert.INSTANCE.convert(createReqVO);
supplierdeliverRequestDetailMapper.insert(supplierdeliverRequestDetail);
SupplierdeliverRequestDetailDO supplierdeliverRequestDetailDO = SupplierdeliverRequestDetailConvert.INSTANCE.convert(createReqVO);
QueryWrapper<SupplierdeliverRequestMainDO> queryWrapper = new QueryWrapper();
queryWrapper.eq("number", createReqVO.getNumber());
SupplierdeliverRequestMainDO mainDO = supplierdeliverRequestMainMapper.selectOne(queryWrapper);
validatorDetailMethod(supplierdeliverRequestDetailDO, mainDO);
supplierdeliverRequestDetailDO.setMasterId(mainDO.getId());
supplierdeliverRequestDetailDO.setNumber(mainDO.getNumber());
supplierdeliverRequestDetailDO.setConvertRate(new BigDecimal(0));
supplierdeliverRequestDetailMapper.insert(supplierdeliverRequestDetailDO);
// 返回
return supplierdeliverRequestDetail.getId();
return supplierdeliverRequestDetailDO.getId();
}
@Override
@ -49,6 +80,7 @@ public class SupplierdeliverRequestDetailServiceImpl implements SupplierdeliverR
SupplierdeliverRequestDetailDO updateObj = SupplierdeliverRequestDetailConvert.INSTANCE.convert(updateReqVO);
supplierdeliverRequestDetailMapper.updateById(updateObj);
}
@Override
public PageResult<SupplierdeliverRequestDetailDO> getSupplierdeliverRequestDetailSenior(CustomConditions conditions) {
return supplierdeliverRequestDetailMapper.selectSenior(conditions);
@ -88,4 +120,42 @@ public class SupplierdeliverRequestDetailServiceImpl implements SupplierdeliverR
return supplierdeliverRequestDetailMapper.selectList(exportReqVO);
}
//子表校验 校验供应商基础信息
private void validatorItembasic(String itemCode) {
itembasicService.selectItembasic(itemCode);
}
//子表校验 校验供应商物品
private SupplieritemDO validatorSupplierItemExist(String supplierCode, String itemCode) {
return supplieritemService.selectSupplierItemExist(supplierCode, itemCode);
}
//子表校验 校验物品标包信息
private ItempackagingDO validatorItemPackagingExist(String itemCode) {
return itempackagingService.selectItemPackagingExist(itemCode);
}
//子表校验 校验要货计划
private PurchasePlanDetailDO validatorPurchasePlan(SupplierdeliverRequestMainDO supplierdeliverRequestMainDO, SupplierdeliverRequestDetailDO supplierdeliverRequestDetailDO) {
PurchasePlanDetailDO purchasePlanDetailDO =
purchasePlanMainService.selectPurchasePlan(supplierdeliverRequestMainDO.getPpNumber(), supplierdeliverRequestMainDO.getSupplierCode(),
supplierdeliverRequestDetailDO.getPoNumber(), supplierdeliverRequestDetailDO.getPoLine(), supplierdeliverRequestDetailDO.getItemCode());
return purchasePlanDetailDO;
}
//校验子表公共方法(适用于新增/修改)
private void validatorDetailMethod(SupplierdeliverRequestDetailDO detailDo, SupplierdeliverRequestMainDO mainDo) {
this.validatorItembasic(detailDo.getItemCode());
this.validatorSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode());
PurchasePlanDetailDO purchasePlanDetailDO = this.validatorPurchasePlan(mainDo, detailDo);
if ((purchasePlanDetailDO.getPlanQty().subtract(purchasePlanDetailDO.getShippedQty())).compareTo(detailDo.getQty()) == -1) {
throw exception(QTY_ERROR, detailDo.getQty(), null, detailDo.getPoLine(), null, purchasePlanDetailDO.getPlanQty().subtract(purchasePlanDetailDO.getShippedQty()));
}
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(detailDo.getItemCode());
if (itempackagingDO != null) {
detailDo.setStdPackUnit(itempackagingDO.getStdPackUnit());
detailDo.setStdPackQty(itempackagingDO.getStdPackQty());
}
}
}

Loading…
Cancel
Save