Browse Source

Merge remote-tracking branch 'origin/master'

master
songguoqiang 2 years ago
parent
commit
75c888cc8c
  1. 2
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/api/dict/DictDataApi.java
  2. 6
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/api/dict/DictDataApiImpl.java
  3. 2
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java
  4. 11
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java
  5. 10
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  6. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java
  7. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExportReqVO.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainPageReqVO.java
  9. 76
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java
  10. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestDetailBaseVO.java
  11. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportErrorVO.java
  12. 73
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportVO.java
  13. 43
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java
  14. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainCreateReqVO.java
  15. 42
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestMainController.java
  16. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestImportErrorVO.java
  17. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainBaseVO.java
  18. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainCreateReqVO.java
  19. 39
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainImportVO.java
  20. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainImportVO.java
  21. 42
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java
  22. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestImportErrorVO.java
  23. 55
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestImportVO.java
  24. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainBaseVO.java
  25. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainCreateReqVO.java
  26. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/InventoryinitRequestMainController.java
  27. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainBaseVO.java
  28. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainExportReqVO.java
  29. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainImportVO.java
  30. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainPageReqVO.java
  31. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainUpdateReqVO.java
  32. 36
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestMainController.java
  33. 71
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/ProductputawayRequestMainController.java
  34. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayImportErrorVO.java
  35. 54
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayImportExcelVO.java
  36. 59
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayImportVO.java
  37. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainBaseVO.java
  38. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainCreateReqVO.java
  39. 48
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/ProductscrapRequestMainController.java
  40. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestImportErrorVO.java
  41. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestImportVO.java
  42. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainCreateReqVO.java
  43. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java
  44. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/WorkstationController.java
  45. 32
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnRequest/CustomerreturnRequestDetailConvert.java
  46. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customersettleRequest/CustomersettleRequestDetailConvert.java
  47. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/deliverRequest/DeliverRequestDetailConvert.java
  48. 29
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inventoryinitRequest/InventoryinitRequestDetailConvert.java
  49. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestDetailConvert.java
  50. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java
  51. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRequest/ProductputawayRequestDetailConvert.java
  52. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRequest/ProductputawayRequestMainConvert.java
  53. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productscrapRequest/ProductscrapRequestDetailConvert.java
  54. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestDetailDO.java
  55. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/customerreturnRequest/CustomerreturnRequestMainDO.java
  56. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java
  57. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/issueRequest/IssueRequestDetailDO.java
  58. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/issueRequest/IssueRequestMainDO.java
  59. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRecord/CustomerreturnRecordMainMapper.java
  60. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRequest/CustomerreturnRequestMainMapper.java
  61. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customersettleRequest/CustomersettleRequestMainMapper.java
  62. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestMainMapper.java
  63. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inventoryinitRequest/InventoryinitRequestMainMapper.java
  64. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRequest/ProductputawayRequestMainMapper.java
  65. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRequest/ProductscrapRequestMainMapper.java
  66. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java
  67. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainService.java
  68. 251
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java
  69. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainService.java
  70. 153
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java
  71. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainService.java
  72. 29
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainServiceImpl.java
  73. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainService.java
  74. 185
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java
  75. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/enterprise/EnterpriseServiceImpl.java
  76. 168
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java
  77. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainService.java
  78. 136
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java
  79. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java
  80. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java
  81. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainService.java
  82. 252
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java
  83. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainService.java
  84. 202
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainServiceImpl.java
  85. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java
  86. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainService.java
  87. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainServiceImpl.java
  88. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

2
win-module-system/win-module-system-api/src/main/java/com/win/module/system/api/dict/DictDataApi.java

@ -65,4 +65,6 @@ public interface DictDataApi {
* @return * @return
*/ */
DictDataRespDTO selectDictLabel( String plabel); DictDataRespDTO selectDictLabel( String plabel);
DictDataRespDTO selectDictValue( String value);
} }

6
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/api/dict/DictDataApiImpl.java

@ -60,4 +60,10 @@ public class DictDataApiImpl implements DictDataApi {
DictDataDO dictDataDO = dictDataService.selectDictLabel(plabel); DictDataDO dictDataDO = dictDataService.selectDictLabel(plabel);
return DictDataConvert.INSTANCE.convert02(dictDataDO); return DictDataConvert.INSTANCE.convert02(dictDataDO);
} }
@Override
public DictDataRespDTO selectDictValue( String value){
DictDataDO dictDataDO = dictDataService.selectDictValue(value);
return DictDataConvert.INSTANCE.convert02(dictDataDO);
}
} }

2
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java

@ -109,4 +109,6 @@ public interface DictDataService {
DictDataDO selectDictTypeAndLabel(String ptype, String plabel); DictDataDO selectDictTypeAndLabel(String ptype, String plabel);
DictDataDO selectDictLabel(String plabel); DictDataDO selectDictLabel(String plabel);
DictDataDO selectDictValue(String value);
} }

11
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java

@ -218,4 +218,15 @@ public class DictDataServiceImpl implements DictDataService {
throw new UtilException( "未查到字典相关标签"); throw new UtilException( "未查到字典相关标签");
} }
} }
@Override
public DictDataDO selectDictValue(String value){
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("value",value);
DictDataDO dictDataDO = dictDataMapper.selectOne(queryWrapper1);
if(dictDataDO != null && 0 == dictDataDO.getStatus()){
return dictDataDO;
}else {
throw new UtilException( "未查到字典相关标签");
}
}
} }

10
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -621,6 +621,9 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTSCRAP_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_110_000, "制品报废申请主不存在"); ErrorCode PRODUCTSCRAP_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_110_000, "制品报废申请主不存在");
//制品报废申请子ErrorCode //制品报废申请子ErrorCode
ErrorCode PRODUCTSCRAP_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_001_110_001, "制品报废申请子不存在"); ErrorCode PRODUCTSCRAP_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_001_110_001, "制品报废申请子不存在");
//制品报废申请子ErrorCode
ErrorCode PRODUCTSCRAP_REQUEST_NOT_EXISTS = new ErrorCode(1_001_110_002, "制品报废申请不存在");
//制品报废任务主ErrorCode //制品报废任务主ErrorCode
ErrorCode PRODUCTSCRAP_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_111_000, "制品报废任务主不存在"); ErrorCode PRODUCTSCRAP_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_111_000, "制品报废任务主不存在");
//制品报废任务子ErrorCode //制品报废任务子ErrorCode
@ -632,6 +635,8 @@ public interface ErrorCodeConstants {
//制品上架申请ErrorCode //制品上架申请ErrorCode
ErrorCode PRODUCTPUTAWAY_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_112_000, "制品上架申请主不存在"); ErrorCode PRODUCTPUTAWAY_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_112_000, "制品上架申请主不存在");
ErrorCode PRODUCTPUTAWAY_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_112_001, "制品上架申请子不存在"); ErrorCode PRODUCTPUTAWAY_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_112_001, "制品上架申请子不存在");
//制品上架申请ErrorCode
ErrorCode PRODUCTPUTAWAY_REQUEST_NOT_EXISTS = new ErrorCode(1_000_112_002, "制品上架申请不存在");
//制品上架任务ErrorCode //制品上架任务ErrorCode
ErrorCode PRODUCTPUTAWAY_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_113_000, "制品上架任务主不存在"); ErrorCode PRODUCTPUTAWAY_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_113_000, "制品上架任务主不存在");
ErrorCode PRODUCTPUTAWAY_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_113_001, "制品上架任务子不存在"); ErrorCode PRODUCTPUTAWAY_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_113_001, "制品上架任务子不存在");
@ -653,6 +658,7 @@ public interface ErrorCodeConstants {
ErrorCode DELIVER_PLAN_DETAIL_NOT_EXISTS = new ErrorCode(1_000_118_001, "发货计划子不存在"); ErrorCode DELIVER_PLAN_DETAIL_NOT_EXISTS = new ErrorCode(1_000_118_001, "发货计划子不存在");
//发货申请ErrorCode //发货申请ErrorCode
ErrorCode DELIVER_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_119_000, "发货申请主不存在"); ErrorCode DELIVER_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_119_000, "发货申请主不存在");
ErrorCode DELIVER_REQUEST_NOT_EXISTS = new ErrorCode(1_000_119_000, "发货申请不存在");
ErrorCode DELIVER_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_119_001, "发货申请子不存在"); ErrorCode DELIVER_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_119_001, "发货申请子不存在");
//发货任务ErrorCode //发货任务ErrorCode
ErrorCode DELIVER_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_120_000, "发货任务主不存在"); ErrorCode DELIVER_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_120_000, "发货任务主不存在");
@ -670,6 +676,8 @@ public interface ErrorCodeConstants {
//客户退货申请ErrorCode //客户退货申请ErrorCode
ErrorCode CUSTOMERRETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_124_000, "客户退货申请主不存在"); ErrorCode CUSTOMERRETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_124_000, "客户退货申请主不存在");
ErrorCode CUSTOMERRETURN_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_124_001, "客户退货申请子不存在"); ErrorCode CUSTOMERRETURN_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_124_001, "客户退货申请子不存在");
ErrorCode CUSTOMERRETURN_REQUEST_NOT_EXISTS = new ErrorCode(1_000_124_000, "客户退货申请不存在");
//客户退货任务ErrorCode //客户退货任务ErrorCode
ErrorCode CUSTOMERRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_125_000, "客户退货任务主不存在"); ErrorCode CUSTOMERRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_125_000, "客户退货任务主不存在");
ErrorCode CUSTOMERRETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_125_001, "客户退货任务子不存在"); ErrorCode CUSTOMERRETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_125_001, "客户退货任务子不存在");
@ -680,6 +688,8 @@ public interface ErrorCodeConstants {
//客户结算申请ErrorCode //客户结算申请ErrorCode
ErrorCode CUSTOMERSETTLE_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_127_000, "客户结算申请主不存在"); ErrorCode CUSTOMERSETTLE_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_127_000, "客户结算申请主不存在");
ErrorCode CUSTOMERSETTLE_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_127_001, "客户结算申请子不存在"); ErrorCode CUSTOMERSETTLE_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_127_001, "客户结算申请子不存在");
ErrorCode CUSTOMERSETTLE_REQUEST_NOT_EXISTS = new ErrorCode(1_000_127_001, "客户结算申请不存在");
//客户结算记录ErrorCode //客户结算记录ErrorCode
ErrorCode CUSTOMERSETTLE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_128_000, "客户结算记录主不存在"); ErrorCode CUSTOMERSETTLE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_128_000, "客户结算记录主不存在");
ErrorCode CUSTOMERSETTLE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_128_001, "客户结算记录子不存在"); ErrorCode CUSTOMERSETTLE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_128_001, "客户结算记录子不存在");

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

@ -22,8 +22,6 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data @Data
public class CustomerreturnRecordMainExcelVO { public class CustomerreturnRecordMainExcelVO {
@ExcelProperty("申请单号")
private String requestNumber;
@ExcelProperty("任务单号") @ExcelProperty("任务单号")
private String jobNumber; private String jobNumber;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExportReqVO.java

@ -13,8 +13,6 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@Data @Data
public class CustomerreturnRecordMainExportReqVO { public class CustomerreturnRecordMainExportReqVO {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "任务单号") @Schema(description = "任务单号")
private String jobNumber; private String jobNumber;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainPageReqVO.java

@ -15,8 +15,6 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@ToString(callSuper = true) @ToString(callSuper = true)
public class CustomerreturnRecordMainPageReqVO extends PageParam { public class CustomerreturnRecordMainPageReqVO extends PageParam {
@Schema(description = "申请单号")
private String requestNumber;
@Schema(description = "任务单号") @Schema(description = "任务单号")
private String jobNumber; private String jobNumber;

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

@ -1,11 +1,16 @@
package com.win.module.wms.controller.customerreturnRequest; package com.win.module.wms.controller.customerreturnRequest;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestDetailConvert; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportVO;
import com.win.module.wms.service.customerreturnRequest.CustomerreturnRequestDetailService; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -16,6 +21,8 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
@ -32,6 +39,7 @@ import com.win.module.wms.controller.customerreturnRequest.vo.*;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO; import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert; import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert;
import com.win.module.wms.service.customerreturnRequest.CustomerreturnRequestMainService; import com.win.module.wms.service.customerreturnRequest.CustomerreturnRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 客户退货申请主") @Tag(name = "管理后台 - 客户退货申请主")
@RestController @RestController
@ -42,9 +50,6 @@ public class CustomerreturnRequestMainController {
@Resource @Resource
private CustomerreturnRequestMainService customerreturnRequestMainService; private CustomerreturnRequestMainService customerreturnRequestMainService;
@Resource
private CustomerreturnRequestDetailService customerreturnRequestDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@ -127,22 +132,49 @@ public class CustomerreturnRequestMainController {
ExcelUtils.write(response, "客户退货申请主.xls", "数据", CustomerreturnRequestMainExcelVO.class, datas); ExcelUtils.write(response, "客户退货申请主.xls", "数据", CustomerreturnRequestMainExcelVO.class, datas);
} }
@GetMapping("/getCustomerreturnRequestById") @GetMapping("/get-import-template")
@Operation(summary = "APP获得客户退货申请主子表明细列表") @Operation(summary = "获得导入制客户退货信息模板")
@Parameter(name = "id", description = "编号", required = true, example = "1024") public void importTemplate(HttpServletResponse response) throws IOException {
@PreAuthorize("@ss.hasPermission('wms:customerreturn-request-main:query')") // 手动创建导出 demo
public CommonResult<CustomerreturnRequestMainRespVO> getCustomerreturnRequestById(@RequestParam("id") Long id) { List<CustomerreturnRequestImportVO> list = Arrays.asList(
CustomerreturnRequestMainDO customerreturnRequestMain = customerreturnRequestMainService.getCustomerreturnRequestMain(id);
CustomerreturnRequestMainRespVO result = CustomerreturnRequestMainConvert.INSTANCE.convert(customerreturnRequestMain); );
if(result==null) { Map<Integer, String[]> mapDropDown = new HashMap<>();
return success(result); String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
}; mapDropDown.put(3, transferMode);
CustomerreturnRequestDetailExportReqVO reqVO = new CustomerreturnRequestDetailExportReqVO(); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
reqVO.setMasterId(result.getId()); mapDropDown.put(13, inventoryStatus);
List<CustomerreturnRequestDetailDO> list = customerreturnRequestDetailService.getCustomerreturnRequestDetailList(reqVO); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
List<CustomerreturnRequestDetailExcelVO> vos = CustomerreturnRequestDetailConvert.INSTANCE.convertList02(list); mapDropDown.put(12, uom);
result.setSubList(vos); // 输出
return success(result); ExcelUtils.write(response, "客户退货申请信息导入模板.xls", "客户退货申请信息列表", CustomerreturnRequestImportVO.class, list,mapDropDown);
}
@PostMapping("/import")
@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:customerreturn-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<CustomerreturnRequestImportVO> list = ExcelUtils.read(file, CustomerreturnRequestImportVO.class);
ConvertUtil<CustomerreturnRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(CustomerreturnRequestMainCreateReqVO.class);
List<CustomerreturnRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<CustomerreturnRequestImportErrorVO> errorList = customerreturnRequestMainService.importCustomerreturnMainList(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);
returnMap.put("errorFile", url);
}
return success(returnMap);
} }
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestDetailBaseVO.java

@ -50,6 +50,10 @@ public class CustomerreturnRequestDetailBaseVO {
@NotNull(message = "从库位代码不能为空") @NotNull(message = "从库位代码不能为空")
private String fromLocationCode; private String fromLocationCode;
@Schema(description = "到库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库位代码不能为空")
private String toLocationCode;
@Schema(description = "单据号") @Schema(description = "单据号")
private String number; private String number;

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestImportErrorVO.java

@ -0,0 +1,24 @@
package com.win.module.wms.controller.customerreturnRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomerreturnRequestImportErrorVO extends CustomerreturnRequestImportVO{
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

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

@ -0,0 +1,73 @@
package com.win.module.wms.controller.customerreturnRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class CustomerreturnRequestImportVO {
//主表字段
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("承运商")
private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode;
@ExcelProperty("车牌号")
private String vehiclePlateNumber;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
}

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

@ -1,11 +1,8 @@
package com.win.module.wms.controller.customerreturnRequest.vo; package com.win.module.wms.controller.customerreturnRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; 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 javax.validation.constraints.*; import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -22,10 +19,6 @@ public class CustomerreturnRequestMainBaseVO {
@Schema(description = "id", example = "id") @Schema(description = "id", example = "id")
private Long id; private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "发货记录单号") @Schema(description = "发货记录单号")
private String deliverRecordNumber; private String deliverRecordNumber;
@ -33,11 +26,11 @@ public class CustomerreturnRequestMainBaseVO {
private String deliverPlanNumber; private String deliverPlanNumber;
@Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "客户代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "客户代码不能为空") @NotBlank(message = "客户代码不能为空")
private String customerCode; private String customerCode;
@Schema(description = "客户月台代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "客户月台代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "客户月台代码不能为空") @NotBlank(message = "客户月台代码不能为空")
private String customerDockCode; private String customerDockCode;
@Schema(description = "承运商") @Schema(description = "承运商")
@ -50,11 +43,12 @@ public class CustomerreturnRequestMainBaseVO {
private String vehiclePlateNumber; private String vehiclePlateNumber;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空") @OnlyOne
@NotBlank(message = "单据号不能为空")
private String number; private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空") @NotBlank(message = "业务类型不能为空")
private String businessType; private String businessType;
@Schema(description = "备注") @Schema(description = "备注")
@ -76,8 +70,7 @@ public class CustomerreturnRequestMainBaseVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime dueTime; private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "部门")
@NotNull(message = "部门不能为空")
private String departmentCode; private String departmentCode;
@Schema(description = "状态") @Schema(description = "状态")
@ -90,47 +83,45 @@ public class CustomerreturnRequestMainBaseVO {
@Schema(description = "最后更新者用户名") @Schema(description = "最后更新者用户名")
private String updater; private String updater;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从仓库代码")
@NotNull(message = "从仓库代码不能为空")
private String fromWarehouseCode; private String fromWarehouseCode;
@Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位类型范围不能为空") @NotBlank(message = "从库位类型范围不能为空")
private String fromLocationTypes; private String fromLocationTypes;
@Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库区代码范围不能为空") @NotBlank(message = "从库区代码范围不能为空")
private String fromAreaCodes; private String fromAreaCodes;
@Schema(description = "到仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "到仓库代码")
@NotNull(message = "到仓库代码不能为空")
private String toWarehouseCode; private String toWarehouseCode;
@Schema(description = "到库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "到库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库位类型范围不能为空") @NotBlank(message = "到库位类型范围不能为空")
private String toLocationTypes; private String toLocationTypes;
@Schema(description = "到库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "到库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库区代码范围不能为空") @NotBlank(message = "到库区代码范围不能为空")
private String toAreaCodes; private String toAreaCodes;
@Schema(description = "到月台代码") @Schema(description = "到月台代码")
private String toDockCode; private String toDockCode;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空") @NotBlank(message = "自动提交不能为空")
private String autoCommit; private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空") @NotBlank(message = "自动通过不能为空")
private String autoAgree; private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空") @NotBlank(message = "自动执行不能为空")
private String autoExecute; private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空") @NotBlank(message = "直接生成记录不能为空")
private String directCreateRecord; private String directCreateRecord;
} }

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainCreateReqVO.java

@ -1,12 +1,17 @@
package com.win.module.wms.controller.customerreturnRequest.vo; package com.win.module.wms.controller.customerreturnRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import lombok.*; import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
@Schema(description = "管理后台 - 客户退货申请主创建 Request VO") @Schema(description = "管理后台 - 客户退货申请主创建 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class CustomerreturnRequestMainCreateReqVO extends CustomerreturnRequestMainBaseVO { public class CustomerreturnRequestMainCreateReqVO extends CustomerreturnRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<CustomerreturnRequestDetailCreateReqVO> subList;
} }

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

@ -1,8 +1,11 @@
package com.win.module.wms.controller.customersettleRequest; package com.win.module.wms.controller.customersettleRequest;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainCreateReqVO;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -13,6 +16,8 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
@ -29,6 +34,7 @@ import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO; import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
import com.win.module.wms.convert.customersettleRequest.CustomersettleRequestMainConvert; import com.win.module.wms.convert.customersettleRequest.CustomersettleRequestMainConvert;
import com.win.module.wms.service.customersettleRequest.CustomersettleRequestMainService; import com.win.module.wms.service.customersettleRequest.CustomersettleRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 客户结算申请主") @Tag(name = "管理后台 - 客户结算申请主")
@RestController @RestController
@ -120,4 +126,40 @@ public class CustomersettleRequestMainController {
ExcelUtils.write(response, "客户结算申请主.xls", "数据", CustomersettleRequestMainExcelVO.class, datas); ExcelUtils.write(response, "客户结算申请主.xls", "数据", CustomersettleRequestMainExcelVO.class, datas);
} }
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制客户结算申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<CustomersettleRequestMainImportVO> list = Arrays.asList(
);
// 输出
ExcelUtils.write(response, "客户退货申请信息导入模板.xls", "客户退货申请信息列表", CustomersettleRequestMainImportVO.class, list);
}
@PostMapping("/import")
@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')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
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);
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);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
} }

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestImportErrorVO.java

@ -0,0 +1,23 @@
package com.win.module.wms.controller.customersettleRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 发料申请 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CustomersettleRequestImportErrorVO extends CustomersettleRequestMainImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

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

@ -1,5 +1,6 @@
package com.win.module.wms.controller.customersettleRequest.vo; package com.win.module.wms.controller.customersettleRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -41,6 +42,7 @@ public class CustomersettleRequestMainBaseVO {
private String fromAreaCodes; private String fromAreaCodes;
@Schema(description = "单据号") @Schema(description = "单据号")
@OnlyOne
private String number; private String number;
@Schema(description = "业务类型") @Schema(description = "业务类型")

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/vo/CustomersettleRequestMainCreateReqVO.java

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

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

@ -0,0 +1,39 @@
package com.win.module.wms.controller.customersettleRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class CustomersettleRequestMainImportVO {
//主表字段
@ExcelProperty("发货记录单号")
private String deliverRecordNumber;
//子表字段
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private String soLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("批次")
private String batch;
}

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainImportVO.java

@ -1,6 +1,9 @@
package com.win.module.wms.controller.deliverPlan.vo; package com.win.module.wms.controller.deliverPlan.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -40,6 +43,8 @@ public class DeliverPlanMainImportVO {
private String itemCode; private String itemCode;
@ExcelProperty("计划数量") @ExcelProperty("计划数量")
private BigDecimal qty; private BigDecimal qty;
@ExcelProperty("计量单位") @ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom; private String uom;
} }

42
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java

@ -1,11 +1,15 @@
package com.win.module.wms.controller.deliverRequest; package com.win.module.wms.controller.deliverRequest;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.convert.deliverRequest.DeliverRequestDetailConvert; import com.win.module.wms.convert.deliverRequest.DeliverRequestDetailConvert;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.deliverRequest.DeliverRequestDetailService; import com.win.module.wms.service.deliverRequest.DeliverRequestDetailService;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -16,6 +20,8 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
@ -32,6 +38,7 @@ import com.win.module.wms.controller.deliverRequest.vo.*;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
import com.win.module.wms.convert.deliverRequest.DeliverRequestMainConvert; import com.win.module.wms.convert.deliverRequest.DeliverRequestMainConvert;
import com.win.module.wms.service.deliverRequest.DeliverRequestMainService; import com.win.module.wms.service.deliverRequest.DeliverRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 发货申请主") @Tag(name = "管理后台 - 发货申请主")
@RestController @RestController
@ -146,4 +153,39 @@ public class DeliverRequestMainController {
return success(result); return success(result);
} }
@GetMapping("/get-import-template")
@Operation(summary = "获得导入发货申请主信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<DeliverRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(7, uom);
// 输出
ExcelUtils.write(response, "发货申请导入模板.xlsx", "发料申请信息列表", DeliverRequestImportVO.class, list, mapDropDown);
}
@PostMapping("/import")
@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')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<DeliverRequestImportVO> list = ExcelUtils.read(file, DeliverRequestImportVO.class);
ConvertUtil<DeliverRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(DeliverRequestMainCreateReqVO.class);
List<DeliverRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<DeliverRequestImportErrorVO> errorList = deliverRequestMainService.importDeliverRequestList(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);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
} }

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestImportErrorVO.java

@ -0,0 +1,24 @@
package com.win.module.wms.controller.deliverRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 发货申请 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DeliverRequestImportErrorVO extends DeliverRequestImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

55
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestImportVO.java

@ -0,0 +1,55 @@
package com.win.module.wms.controller.deliverRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class DeliverRequestImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("客户")
private String customerCode;
@ExcelProperty("计划日期")
private String planDate;
//子表数据
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private BigDecimal soLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("计划数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
}

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

@ -1,5 +1,6 @@
package com.win.module.wms.controller.deliverRequest.vo; package com.win.module.wms.controller.deliverRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -56,6 +57,7 @@ public class DeliverRequestMainBaseVO {
private String fromAreaCodes; private String fromAreaCodes;
@Schema(description = "单据号") @Schema(description = "单据号")
@OnlyOne
private String number; private String number;
@Schema(description = "业务类型") @Schema(description = "业务类型")

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainCreateReqVO.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.deliverRequest.vo; package com.win.module.wms.controller.deliverRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailCreateReqVO;
import lombok.*; import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
@Schema(description = "管理后台 - 发货申请主创建 Request VO") @Schema(description = "管理后台 - 发货申请主创建 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class DeliverRequestMainCreateReqVO extends DeliverRequestMainBaseVO { public class DeliverRequestMainCreateReqVO extends DeliverRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<DeliverRequestDetailCreateReqVO> subList;
} }

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/InventoryinitRequestMainController.java

@ -3,6 +3,7 @@ package com.win.module.wms.controller.inventoryinitRequest;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil; import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
@ -11,6 +12,7 @@ import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.inventoryinitRequest.vo.*; import com.win.module.wms.controller.inventoryinitRequest.vo.*;
import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestMainConvert; import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestMainConvert;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO; import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.inventoryinitRequest.InventoryinitRequestMainService; import com.win.module.wms.service.inventoryinitRequest.InventoryinitRequestMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -129,16 +131,16 @@ public class InventoryinitRequestMainController {
// 手动创建导出 demo // 手动创建导出 demo
List<InventoryinitRequestMainImportVO> list = new ArrayList<>(); List<InventoryinitRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
// mapDropDown.put(16, purchaseReturnReason); mapDropDown.put(10, inventoryStatus);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom); mapDropDown.put(13, uom);
// 输出 // 输出
ExcelUtils.write(response, "库存初始化申请信息导入模板.xlsx", "库存初始化申请信息列表", InventoryinitRequestMainImportVO.class, list, mapDropDown); ExcelUtils.write(response, "库存初始化申请信息导入模板.xlsx", "库存初始化申请信息列表", InventoryinitRequestMainImportVO.class, list, mapDropDown);
} }
@PostMapping("/import") @PostMapping("/import")
@Operation(summary = "导入要货计划") @Operation(summary = "导入库存初始化申请")
@Parameters({ @Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true), @Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@ -156,10 +158,11 @@ public class InventoryinitRequestMainController {
Map<String, Object> returnMap = new HashMap<>(); Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size()); returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) { 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); returnMap.put("errorFile", url);
} }
return success(returnMap); return success(returnMap);
} }
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainBaseVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.inventoryinitRequest.vo; package com.win.module.wms.controller.inventoryinitRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -25,6 +26,7 @@ public class InventoryinitRequestMainBaseVO {
@Schema(description = "仓库代码") @Schema(description = "仓库代码")
private String warehouseCode; private String warehouseCode;
@OnlyOne
@Schema(description = "单据号") @Schema(description = "单据号")
private String number; private String number;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainExportReqVO.java

@ -27,7 +27,7 @@ public class InventoryinitRequestMainExportReqVO {
@Schema(description = "创建时间") @Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] creationTime; private LocalDateTime[] createTime;
@Schema(description = "创建者用户名") @Schema(description = "创建者用户名")
private String creator; private String creator;

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainImportVO.java

@ -2,6 +2,9 @@ package com.win.module.wms.controller.inventoryinitRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.annotations.OnlyOne;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -22,13 +25,21 @@ import java.time.LocalDateTime;
public class InventoryinitRequestMainImportVO{ public class InventoryinitRequestMainImportVO{
//主表数据 //主表数据
@OnlyOne
@ExcelProperty("仓库代码") @ExcelProperty("仓库代码")
private String warehouseCode; private String warehouseCode;
@ExcelProperty("单据号")
private String number;
//子表数据 //子表数据
@ExcelProperty("包装号") @ExcelProperty("包装号")
private String packingNumber; private String packingNumber;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("器具号") @ExcelProperty("器具号")
private String containerNumber; private String containerNumber;
@ -47,10 +58,12 @@ public class InventoryinitRequestMainImportVO{
private String produceDate; private String produceDate;
@ExcelProperty("过期日期") @ExcelProperty("过期日期")
@ColumnWidth(value = 16)
private String expireDate; private String expireDate;
@ExcelProperty("库存状态") @ExcelProperty("库存状态")
private LocalDateTime inventoryStatus; @DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("库位代码") @ExcelProperty("库位代码")
private String locationCode; private String locationCode;
@ -59,5 +72,6 @@ public class InventoryinitRequestMainImportVO{
private String qty; private String qty;
@ExcelProperty("计量单位") @ExcelProperty("计量单位")
@DictFormat(DictTypeConstants.UOM)
private String uom; private String uom;
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainPageReqVO.java

@ -29,7 +29,7 @@ public class InventoryinitRequestMainPageReqVO extends PageParam {
@Schema(description = "创建时间") @Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] creationTime; private LocalDateTime[] createTime;
@Schema(description = "创建者用户名") @Schema(description = "创建者用户名")
private String creator; private String creator;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainUpdateReqVO.java

@ -14,6 +14,6 @@ public class IssueRequestMainUpdateReqVO extends IssueRequestMainBaseVO {
@SubObject @SubObject
@Schema(description = "子表数据") @Schema(description = "子表数据")
private List<IssueRequestDetailCreateReqVO> subList; private List<IssueRequestDetailUpdateReqVO> subList;
} }

36
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestMainController.java

@ -3,30 +3,36 @@ package com.win.module.wms.controller.productionreturnRequest;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productionreturnRequest.vo.*; import com.win.module.wms.controller.productionreturnRequest.vo.*;
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestDetailConvert; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert; import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestMainDO; import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestMainDO;
import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestDetailService; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestMainService; import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.time.LocalDateTime;
import java.util.List; import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -40,9 +46,6 @@ public class ProductionreturnRequestMainController {
@Resource @Resource
private ProductionreturnRequestMainService productionreturnRequestMainService; private ProductionreturnRequestMainService productionreturnRequestMainService;
@Resource
private ProductionreturnRequestDetailService productionreturnRequestDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@ -127,22 +130,5 @@ public class ProductionreturnRequestMainController {
return success(result); return success(result);
} }
@GetMapping("/getProductionreturnRequestById")
@Operation(summary = "APP获得生产退料申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:productionreturn-request-main:query')")
public CommonResult<ProductionreturnRequestMainRespVO> getProductionreturnRequestById(@RequestParam("id") Long id) {
ProductionreturnRequestMainDO productionreturnRequestMain = productionreturnRequestMainService.getProductionreturnRequestMain(id);
ProductionreturnRequestMainRespVO result = ProductionreturnRequestMainConvert.INSTANCE.convert(productionreturnRequestMain);
if(result==null) {
return success(result);
};
ProductionreturnRequestDetailExportReqVO reqVO = new ProductionreturnRequestDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<ProductionreturnRequestDetailDO> list = productionreturnRequestDetailService.getProductionreturnRequestDetailList(reqVO);
List<ProductionreturnRequestDetailExcelVO> vos = ProductionreturnRequestDetailConvert.INSTANCE.convertList02(list);
result.setSubList(vos);
return success(result);
}
} }

71
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/ProductputawayRequestMainController.java

@ -3,30 +3,33 @@ package com.win.module.wms.controller.productputawayRequest;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productputawayRequest.vo.*; import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestDetailConvert;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert; import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.service.productputawayRequest.ProductputawayRequestDetailService; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productputawayRequest.ProductputawayRequestMainService; import com.win.module.wms.service.productputawayRequest.ProductputawayRequestMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.time.LocalDateTime;
import java.util.List; import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -40,9 +43,6 @@ public class ProductputawayRequestMainController {
@Resource @Resource
private ProductputawayRequestMainService productputawayRequestMainService; private ProductputawayRequestMainService productputawayRequestMainService;
@Resource
private ProductputawayRequestDetailService productputawayRequestDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@ -127,23 +127,46 @@ public class ProductputawayRequestMainController {
return success(result); return success(result);
} }
@GetMapping("/getProductputawayRequestById") @GetMapping("/get-import-template")
@Operation(summary = "APP获得制品上架申请主子表明细列表") @Operation(summary = "获得导入制品上架申请信息模板")
@Parameter(name = "id", description = "编号", required = true, example = "1024") public void importTemplate(HttpServletResponse response) throws IOException {
@PreAuthorize("@ss.hasPermission('wms:productputaway-request-main:query')") // 手动创建导出 demo
public CommonResult<ProductputawayRequestMainRespVO> getProductputawayRequestById(@RequestParam("id") Long id) { List<ProductputawayImportVO> list = Arrays.asList(
ProductputawayRequestMainDO productputawayRequestMain = productputawayRequestMainService.getProductputawayRequestMain(id); // ProductputawayImportExcelVO.builder().code("code").name("name").build()
ProductputawayRequestMainRespVO result = ProductputawayRequestMainConvert.INSTANCE.convert(productputawayRequestMain); );
if(result==null) { Map<Integer, String[]> mapDropDown = new HashMap<>();
return success(result); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
}; mapDropDown.put(3, inventoryStatus);
ProductputawayRequestDetailExportReqVO reqVO = new ProductputawayRequestDetailExportReqVO(); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
reqVO.setMasterId(result.getId()); mapDropDown.put(7, uom);
List<ProductputawayRequestDetailDO> list = productputawayRequestDetailService.getProductputawayRequestDetailList(reqVO); // 输出
List<ProductputawayRequestDetailExcelVO> vos = ProductputawayRequestDetailConvert.INSTANCE.convertList02(list); ExcelUtils.write(response, "制品上架申请信息导入模板.xls", "制品上架申请信息列表", ProductputawayImportVO.class, list,mapDropDown);
result.setSubList(vos);
return success(result);
} }
@PostMapping("/import")
@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:productputaway-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<ProductputawayImportVO> list = ExcelUtils.read(file, ProductputawayImportVO.class);
ConvertUtil<ProductputawayRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductputawayRequestMainCreateReqVO.class);
List<ProductputawayRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<ProductputawayImportErrorVO> errorList = productputawayRequestMainService.importProductputawayRequestList(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);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
} }

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayImportErrorVO.java

@ -0,0 +1,23 @@
package com.win.module.wms.controller.productputawayRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@ToString(callSuper = true)
public class ProductputawayImportErrorVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

54
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayImportExcelVO.java

@ -0,0 +1,54 @@
package com.win.module.wms.controller.productputawayRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class ProductputawayImportExcelVO {
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("库存状态")
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty("计量单位")
@DictFormat(DictTypeConstants.UOM)
private String uom;
}

59
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayImportVO.java

@ -0,0 +1,59 @@
package com.win.module.wms.controller.productputawayRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
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;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class ProductputawayImportVO {
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("库存状态")
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty("计量单位")
@DictFormat(DictTypeConstants.UOM)
private String uom;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainBaseVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.productputawayRequest.vo; package com.win.module.wms.controller.productputawayRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -44,6 +45,7 @@ public class ProductputawayRequestMainBaseVO {
private String toAreaCodes; private String toAreaCodes;
@Schema(description = "单据号") @Schema(description = "单据号")
@OnlyOne
private String number; private String number;
@Schema(description = "业务类型") @Schema(description = "业务类型")

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainCreateReqVO.java

@ -1,12 +1,17 @@
package com.win.module.wms.controller.productputawayRequest.vo; package com.win.module.wms.controller.productputawayRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import lombok.*; import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
@Schema(description = "管理后台 - 制品上架申请主创建 Request VO") @Schema(description = "管理后台 - 制品上架申请主创建 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class ProductputawayRequestMainCreateReqVO extends ProductputawayRequestMainBaseVO { public class ProductputawayRequestMainCreateReqVO extends ProductputawayRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<ProductputawayRequestDetailCreateReqVO> subList;
} }

48
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/ProductscrapRequestMainController.java

@ -2,6 +2,7 @@ package com.win.module.wms.controller.productscrapRequest;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.excel.core.util.ConvertUtil; import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
@ -9,6 +10,10 @@ import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productscrapRequest.vo.*; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import io.swagger.v3.oas.annotations.Parameters;
import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert; import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO; import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.service.productscrapRequest.ProductscrapRequestMainService; import com.win.module.wms.service.productscrapRequest.ProductscrapRequestMainService;
@ -22,6 +27,16 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
@ -30,6 +45,17 @@ import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert;
import com.win.module.wms.service.productscrapRequest.ProductscrapRequestMainService;
import org.springframework.web.multipart.MultipartFile;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 制品报废申请主") @Tag(name = "管理后台 - 制品报废申请主")
@ -126,19 +152,15 @@ public class ProductscrapRequestMainController {
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获得导入制品报废申请信息模板") @Operation(summary = "获得导入制品报废申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException { public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<ProductscrapRequestMainImportVO> list = new ArrayList<>(); List<ProductscrapRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason); ExcelUtils.write(response, "制品报废申请信息导入模板.xlsx", "制品报废申请信息列表", ProductscrapRequestMainImportVO.class, list);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "制品报废申请信息导入模板.xlsx", "制品报废申请信息列表", ProductscrapRequestMainImportVO.class, list, mapDropDown);
} }
@PostMapping("/import") @PostMapping("/import")
@Operation(summary = "导入要货计划") @Operation(summary = "导入采购索赔基本信息")
@Parameters({ @Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true), @Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@ -149,19 +171,17 @@ public class ProductscrapRequestMainController {
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode, @RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception { @RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<ProductscrapRequestMainImportVO> list = ExcelUtils.read(file, ProductscrapRequestMainImportVO.class); List<ProductscrapRequestImportVO> list = ExcelUtils.read(file, ProductscrapRequestImportVO.class);
ConvertUtil<ProductscrapRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductscrapRequestMainCreateReqVO.class); ConvertUtil<ProductscrapRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductscrapRequestMainCreateReqVO.class);
List<ProductscrapRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList(); List<ProductscrapRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<ProductscrapRequestMainImportErrorVO> errorList = productscrapRequestMainService.importProductscrapRequestMainList(createReqVOList, mode, updatePart); List<ProductscrapRequestImportErrorVO> errorList = productscrapRequestMainService.importProductscrapRequestList(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>(); Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size()); returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) { 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); returnMap.put("errorFile", url);
} }
return success(returnMap); return success(returnMap);
} }
} }

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestImportErrorVO.java

@ -0,0 +1,26 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ProductscrapRequestImportErrorVO extends ProductscrapRequestImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestImportVO.java

@ -0,0 +1,65 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import groovyjarjarantlr4.v4.runtime.misc.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class ProductscrapRequestImportVO {
@ExcelProperty("包装号")
@NotBlank(message = "包装号不能为空")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
@NotBlank(message = "批次不能为空")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@NotBlank(message = "库存状态不能为空")
@DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String inventoryStatus;
@ExcelProperty("物品代码")
@NotBlank(message = "物品代码不能为空")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String uom;
@ExcelProperty("来源库位代码")
@NotBlank(message = "来源库位代码不能为空")
private String fromlocationcode;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainCreateReqVO.java

@ -1,10 +1,9 @@
package com.win.module.wms.controller.productscrapRequest.vo; package com.win.module.wms.controller.productscrapRequest.vo;
import com.win.framework.excel.core.annotations.SubObject; import com.win.framework.excel.core.annotations.SubObject;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailCreateReqVO;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List; import java.util.List;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java

@ -99,7 +99,7 @@ public class PurchasereceiptRequestDetailBaseVO {
private String projectCode; private String projectCode;
@Schema(description = "数量") @Schema(description = "数量")
@NotBlank(message = "数量不能为空") @NotNull(message = "数量不能为空")
private BigDecimal qty; private BigDecimal qty;
@Schema(description = "计量单位") @Schema(description = "计量单位")

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/workstation/WorkstationController.java

@ -10,9 +10,7 @@ import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.workstation.vo.WorkstationRespVO; import com.win.module.wms.controller.workstation.vo.WorkstationRespVO;
import com.win.module.wms.controller.workstation.vo.*; import com.win.module.wms.controller.workstation.vo.*;
import com.win.module.wms.convert.workstation.WorkstationConvert; import com.win.module.wms.convert.workstation.WorkstationConvert;;
import com.win.module.wms.convert.workstation.WorkstationConvert;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.workstation.WorkstationService; import com.win.module.wms.service.workstation.WorkstationService;
@ -24,7 +22,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
@ -32,7 +29,6 @@ import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;

32
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreturnRequest/CustomerreturnRequestDetailConvert.java

@ -4,11 +4,17 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailCreateReqVO; import com.win.module.wms.controller.customerreturnRequest.vo.*;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailExcelVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailCreateReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailRespVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailExcelVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestDetailUpdateReqVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO; import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO;
@ -33,5 +39,21 @@ public interface CustomerreturnRequestDetailConvert {
PageResult<CustomerreturnRequestDetailRespVO> convertPage(PageResult<CustomerreturnRequestDetailDO> page); PageResult<CustomerreturnRequestDetailRespVO> convertPage(PageResult<CustomerreturnRequestDetailDO> page);
List<CustomerreturnRequestDetailExcelVO> convertList02(List<CustomerreturnRequestDetailDO> list); List<CustomerreturnRequestDetailExcelVO> convertList02(List<CustomerreturnRequestDetailDO> list);
CustomerreturnRequestDetailCreateReqVO convert1(CustomerreturnRequestDetailDO bean);
List<CustomerreturnRequestDetailDO> convertList03(List<CustomerreturnRequestDetailCreateReqVO> 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.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
CustomerreturnRequestDetailExcelVO convert(CustomerreturnRequestMainDO mainDO, CustomerreturnRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
CustomerreturnRequestImportErrorVO convert(CustomerreturnRequestMainCreateReqVO mainVo, CustomerreturnRequestDetailCreateReqVO detailVo);
} }

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

@ -4,11 +4,11 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailCreateReqVO; import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailExcelVO; import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailRespVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestDetailUpdateReqVO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO; import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestDetailDO;
@ -33,5 +33,20 @@ public interface CustomersettleRequestDetailConvert {
PageResult<CustomersettleRequestDetailRespVO> convertPage(PageResult<CustomersettleRequestDetailDO> page); PageResult<CustomersettleRequestDetailRespVO> convertPage(PageResult<CustomersettleRequestDetailDO> page);
List<CustomersettleRequestDetailExcelVO> convertList02(List<CustomersettleRequestDetailDO> list); List<CustomersettleRequestDetailExcelVO> convertList02(List<CustomersettleRequestDetailDO> 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.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
CustomersettleRequestDetailExcelVO convert(CustomersettleRequestMainDO mainDO, CustomersettleRequestDetailDO detailDO);
CustomersettleRequestImportErrorVO convert(CustomersettleRequestMainCreateReqVO mainVo, CustomersettleRequestDetailCreateReqVO detailVo);
CustomersettleRequestDetailCreateReqVO convert1(CustomersettleRequestDetailDO detailDO);
List<CustomersettleRequestDetailDO> convertList03(List<CustomersettleRequestDetailCreateReqVO> list);
} }

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/deliverRequest/DeliverRequestDetailConvert.java

@ -4,11 +4,11 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestDetailCreateReqVO; import com.win.module.wms.controller.deliverRequest.vo.*;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestDetailExcelVO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestDetailRespVO;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestDetailUpdateReqVO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO;
@ -34,4 +34,23 @@ public interface DeliverRequestDetailConvert {
List<DeliverRequestDetailExcelVO> convertList02(List<DeliverRequestDetailDO> list); List<DeliverRequestDetailExcelVO> convertList02(List<DeliverRequestDetailDO> list);
List<DeliverRequestDetailDO> convertList03(List<DeliverRequestDetailCreateReqVO> 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.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
DeliverRequestDetailExcelVO convert(DeliverRequestMainDO mainDO, DeliverRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
DeliverRequestImportErrorVO convert(DeliverRequestMainCreateReqVO mainVo, DeliverRequestDetailCreateReqVO detailVo);
DeliverRequestDetailCreateReqVO convert1(DeliverRequestDetailDO detailDO);
} }

29
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inventoryinitRequest/InventoryinitRequestDetailConvert.java

@ -1,12 +1,18 @@
package com.win.module.wms.convert.inventoryinitRequest; package com.win.module.wms.convert.inventoryinitRequest;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailCreateReqVO; import com.win.module.wms.controller.inventoryinitRequest.vo.*;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailExcelVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailRespVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailUpdateReqVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailExcelVO;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestDetailDO; import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestDetailDO;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import java.util.List; import java.util.List;
@ -18,6 +24,21 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface InventoryinitRequestDetailConvert { public interface InventoryinitRequestDetailConvert {
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
InventoryinitRequestMainImportErrorVO convert(InventoryinitRequestMainCreateReqVO mainVo, InventoryinitRequestDetailDO detailVo);
@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"),
})
InventoryinitRequestDetailExcelVO convert(InventoryinitRequestMainDO mainDO, InventoryinitRequestDetailDO detailDO);
InventoryinitRequestDetailConvert INSTANCE = Mappers.getMapper(InventoryinitRequestDetailConvert.class); InventoryinitRequestDetailConvert INSTANCE = Mappers.getMapper(InventoryinitRequestDetailConvert.class);

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestDetailConvert.java

@ -35,9 +35,10 @@ public interface IssueRequestDetailConvert {
List<IssueRequestDetailExcelVO> convertList02(List<IssueRequestDetailDO> list); List<IssueRequestDetailExcelVO> convertList02(List<IssueRequestDetailDO> list);
List<IssueRequestDetailDO> convertList03(List<IssueRequestDetailCreateReqVO> list); List<IssueRequestDetailDO> convertList03(List<IssueRequestDetailCreateReqVO> list);
List<IssueRequestDetailDO> convertList04(List<IssueRequestDetailUpdateReqVO> list); List<IssueRequestDetailDO> convertList04(List<IssueRequestDetailUpdateReqVO> list);
List<IssueRequestDetailDO> convertList05(List<IssueRequestDetailUpdateReqVO> list);
@Mappings({ @Mappings({
@Mapping(source = "mainDO.number", target = "number"), @Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"), @Mapping(source = "mainDO.remark", target = "remark"),

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java

@ -26,6 +26,7 @@ public interface IssueRequestMainConvert {
IssueRequestMainConvert INSTANCE = Mappers.getMapper(IssueRequestMainConvert.class); IssueRequestMainConvert INSTANCE = Mappers.getMapper(IssueRequestMainConvert.class);
IssueRequestMainDO convert(IssueRequestMainCreateReqVO bean); IssueRequestMainDO convert(IssueRequestMainCreateReqVO bean);
IssueRequestMainDO convert(IssueRequestMainBaseVO bean);
IssueRequestMainDO convert(IssueRequestMainUpdateReqVO bean); IssueRequestMainDO convert(IssueRequestMainUpdateReqVO bean);

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRequest/ProductputawayRequestDetailConvert.java

@ -4,11 +4,17 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailCreateReqVO; import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailExcelVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailCreateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailRespVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailExcelVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailUpdateReqVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO; import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
@ -33,5 +39,18 @@ public interface ProductputawayRequestDetailConvert {
PageResult<ProductputawayRequestDetailRespVO> convertPage(PageResult<ProductputawayRequestDetailDO> page); PageResult<ProductputawayRequestDetailRespVO> convertPage(PageResult<ProductputawayRequestDetailDO> page);
List<ProductputawayRequestDetailExcelVO> convertList02(List<ProductputawayRequestDetailDO> list); List<ProductputawayRequestDetailExcelVO> convertList02(List<ProductputawayRequestDetailDO> list);
List<ProductputawayRequestDetailDO> convertList03(List<ProductputawayRequestDetailCreateReqVO> 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.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
ProductputawayRequestDetailExcelVO convert(ProductputawayRequestMainDO mainDO, ProductputawayRequestDetailDO detailDO);
ProductputawayImportErrorVO convert(ProductputawayRequestMainCreateReqVO mainVo, ProductputawayRequestDetailDO detailVo);
} }

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productputawayRequest/ProductputawayRequestMainConvert.java

@ -4,11 +4,15 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO; import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainExcelVO; import com.win.module.wms.controller.purchaseclaimRequest.vo.*;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainRespVO; import com.win.module.wms.controller.workstation.vo.WorkstationImportExcelVo;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainUpdateReqVO; import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
@ -34,4 +38,8 @@ public interface ProductputawayRequestMainConvert {
List<ProductputawayRequestMainExcelVO> convertList02(List<ProductputawayRequestMainDO> list); List<ProductputawayRequestMainExcelVO> convertList02(List<ProductputawayRequestMainDO> list);
ProductputawayRequestMainDO convert(ProductputawayImportExcelVO bean);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productscrapRequest/ProductscrapRequestDetailConvert.java

@ -1,10 +1,11 @@
package com.win.module.wms.convert.productscrapRequest; package com.win.module.wms.convert.productscrapRequest;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailCreateReqVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailExcelVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailRespVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailUpdateReqVO; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO; import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@ -35,4 +36,6 @@ public interface ProductscrapRequestDetailConvert {
List<ProductscrapRequestDetailDO> convertList03(List<ProductscrapRequestDetailCreateReqVO> list); List<ProductscrapRequestDetailDO> convertList03(List<ProductscrapRequestDetailCreateReqVO> list);
ProductscrapRequestImportErrorVO convert(ProductscrapRequestMainCreateReqVO mainVo, ProductscrapRequestDetailDO detailVo);
} }

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

@ -61,6 +61,10 @@ public class CustomerreturnRequestDetailDO extends BaseDO {
* 从库位代码 * 从库位代码
*/ */
private String fromLocationCode; private String fromLocationCode;
/**
* 到库位代码
*/
private String toLocationCode;
/** /**
* 主表ID * 主表ID
*/ */

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

@ -28,10 +28,7 @@ public class CustomerreturnRequestMainDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
/**
* 申请单号
*/
private String requestNumber;
/** /**
* 发货记录单号 * 发货记录单号
*/ */

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java

@ -51,7 +51,7 @@ public class InventoryinitRequestMainDO extends BaseDO {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime creationTime; private LocalDateTime createTime;
/** /**
* 扩展属性 * 扩展属性
*/ */

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/issueRequest/IssueRequestDetailDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.issueRequest; package com.win.module.wms.dal.dataobject.issueRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -8,6 +9,8 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO; import com.win.framework.mybatis.core.dataobject.BaseDO;
import javax.validation.constraints.NotBlank;
/** /**
* 发料申请子 DO * 发料申请子 DO
* *
@ -40,10 +43,12 @@ public class IssueRequestDetailDO extends BaseDO {
* *
* 枚举 {@link TODO inventory_status 对应的类} * 枚举 {@link TODO inventory_status 对应的类}
*/ */
@NotBlank
private String inventoryStatus; private String inventoryStatus;
/** /**
* 包装号 * 包装号
*/ */
@NotBlank
private String packingNumber; private String packingNumber;
/** /**
* 器具号 * 器具号
@ -52,10 +57,12 @@ public class IssueRequestDetailDO extends BaseDO {
/** /**
* 批次 * 批次
*/ */
@NotBlank
private String batch; private String batch;
/** /**
* 到库位代码 * 到库位代码
*/ */
@NotBlank
private String toLocationCode; private String toLocationCode;
/** /**
* 主表ID * 主表ID

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/issueRequest/IssueRequestMainDO.java

@ -1,5 +1,6 @@
package com.win.module.wms.dal.dataobject.issueRequest; package com.win.module.wms.dal.dataobject.issueRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -9,6 +10,8 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO; import com.win.framework.mybatis.core.dataobject.BaseDO;
import javax.validation.constraints.NotBlank;
/** /**
* 发料申请主 DO * 发料申请主 DO
* *
@ -35,22 +38,26 @@ public class IssueRequestMainDO extends BaseDO {
/** /**
* 从仓库代码 * 从仓库代码
*/ */
@NotBlank
private String fromWarehouseCode; private String fromWarehouseCode;
/** /**
* 到仓库代码 * 到仓库代码
*/ */
@NotBlank
private String toWarehouseCode; private String toWarehouseCode;
/** /**
* 从库位类型范围 * 从库位类型范围
* *
* 枚举 {@link TODO location_type 对应的类} * 枚举 {@link TODO location_type 对应的类}
*/ */
@NotBlank
private String fromLocationTypes; private String fromLocationTypes;
/** /**
* 到库位类型范围 * 到库位类型范围
* *
* 枚举 {@link TODO location_type 对应的类} * 枚举 {@link TODO location_type 对应的类}
*/ */
@NotBlank
private String toLocationTypes; private String toLocationTypes;
/** /**
* 从库区代码范围 * 从库区代码范围

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnRecord/CustomerreturnRecordMainMapper.java

@ -22,7 +22,6 @@ public interface CustomerreturnRecordMainMapper extends BaseMapperX<Customerretu
default PageResult<CustomerreturnRecordMainDO> selectPage(CustomerreturnRecordMainPageReqVO reqVO) { default PageResult<CustomerreturnRecordMainDO> selectPage(CustomerreturnRecordMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRecordMainDO>() return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRecordMainDO>()
.eqIfPresent(CustomerreturnRecordMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getJobNumber, reqVO.getJobNumber()) .eqIfPresent(CustomerreturnRecordMainDO::getJobNumber, reqVO.getJobNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber()) .eqIfPresent(CustomerreturnRecordMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber()) .eqIfPresent(CustomerreturnRecordMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())
@ -60,7 +59,6 @@ public interface CustomerreturnRecordMainMapper extends BaseMapperX<Customerretu
} }
default List<CustomerreturnRecordMainDO> selectList(CustomerreturnRecordMainExportReqVO reqVO) { default List<CustomerreturnRecordMainDO> selectList(CustomerreturnRecordMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomerreturnRecordMainDO>() return selectList(new LambdaQueryWrapperX<CustomerreturnRecordMainDO>()
.eqIfPresent(CustomerreturnRecordMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getJobNumber, reqVO.getJobNumber()) .eqIfPresent(CustomerreturnRecordMainDO::getJobNumber, reqVO.getJobNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber()) .eqIfPresent(CustomerreturnRecordMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRecordMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber()) .eqIfPresent(CustomerreturnRecordMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())

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

@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExportReqVO; import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExportReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainPageReqVO; import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO; import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
@ -22,7 +23,6 @@ public interface CustomerreturnRequestMainMapper extends BaseMapperX<Customerret
default PageResult<CustomerreturnRequestMainDO> selectPage(CustomerreturnRequestMainPageReqVO reqVO) { default PageResult<CustomerreturnRequestMainDO> selectPage(CustomerreturnRequestMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRequestMainDO>() return selectPage(reqVO, new LambdaQueryWrapperX<CustomerreturnRequestMainDO>()
.eqIfPresent(CustomerreturnRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber()) .eqIfPresent(CustomerreturnRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber()) .eqIfPresent(CustomerreturnRequestMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getCustomerCode, reqVO.getCustomerCode()) .eqIfPresent(CustomerreturnRequestMainDO::getCustomerCode, reqVO.getCustomerCode())
@ -57,9 +57,12 @@ public interface CustomerreturnRequestMainMapper extends BaseMapperX<Customerret
default PageResult<CustomerreturnRequestMainDO> selectSenior(CustomConditions conditions) { default PageResult<CustomerreturnRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default CustomerreturnRequestMainDO selectByDeliverrecordnumberAndSupplierCode(String deliverrecordnumber) {
return selectOne(CustomerreturnRequestMainDO::getDeliverRecordNumber,deliverrecordnumber);
}
default List<CustomerreturnRequestMainDO> selectList(CustomerreturnRequestMainExportReqVO reqVO) { default List<CustomerreturnRequestMainDO> selectList(CustomerreturnRequestMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomerreturnRequestMainDO>() return selectList(new LambdaQueryWrapperX<CustomerreturnRequestMainDO>()
.eqIfPresent(CustomerreturnRequestMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber()) .eqIfPresent(CustomerreturnRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber()) .eqIfPresent(CustomerreturnRequestMainDO::getDeliverPlanNumber, reqVO.getDeliverPlanNumber())
.eqIfPresent(CustomerreturnRequestMainDO::getCustomerCode, reqVO.getCustomerCode()) .eqIfPresent(CustomerreturnRequestMainDO::getCustomerCode, reqVO.getCustomerCode())

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

@ -9,6 +9,7 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainExportReqVO; import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainExportReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainPageReqVO; import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO; import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -48,6 +49,10 @@ public interface CustomersettleRequestMainMapper extends BaseMapperX<Customerset
default PageResult<CustomersettleRequestMainDO> selectSenior(CustomConditions conditions) { default PageResult<CustomersettleRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default CustomersettleRequestMainDO selectByDeliverrecordnumberAndSupplierCode(String deliverrecordnumber) {
return selectOne(CustomersettleRequestMainDO::getDeliverRecordNumber,deliverrecordnumber);
}
default List<CustomersettleRequestMainDO> selectList(CustomersettleRequestMainExportReqVO reqVO) { default List<CustomersettleRequestMainDO> selectList(CustomersettleRequestMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<CustomersettleRequestMainDO>() return selectList(new LambdaQueryWrapperX<CustomersettleRequestMainDO>()
.eqIfPresent(CustomersettleRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber()) .eqIfPresent(CustomersettleRequestMainDO::getDeliverRecordNumber, reqVO.getDeliverRecordNumber())

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

@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainExportReqVO; import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainExportReqVO;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainPageReqVO; import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
@ -90,4 +91,8 @@ public interface DeliverRequestMainMapper extends BaseMapperX<DeliverRequestMain
.orderByDesc(DeliverRequestMainDO::getId)); .orderByDesc(DeliverRequestMainDO::getId));
} }
default DeliverRequestMainDO selectWorkShopCodeAndUseOnTheWayLocation(String customer) {
return selectOne(DeliverRequestMainDO::getCustomerCode, customer);
}
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/inventoryinitRequest/InventoryinitRequestMainMapper.java

@ -26,7 +26,7 @@ public interface InventoryinitRequestMainMapper extends BaseMapperX<Inventoryini
.eqIfPresent(InventoryinitRequestMainDO::getNumber, reqVO.getNumber()) .eqIfPresent(InventoryinitRequestMainDO::getNumber, reqVO.getNumber())
.eqIfPresent(InventoryinitRequestMainDO::getBusinessType, reqVO.getBusinessType()) .eqIfPresent(InventoryinitRequestMainDO::getBusinessType, reqVO.getBusinessType())
.eqIfPresent(InventoryinitRequestMainDO::getRemark, reqVO.getRemark()) .eqIfPresent(InventoryinitRequestMainDO::getRemark, reqVO.getRemark())
.betweenIfPresent(InventoryinitRequestMainDO::getCreationTime, reqVO.getCreationTime()) .betweenIfPresent(InventoryinitRequestMainDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(InventoryinitRequestMainDO::getCreator, reqVO.getCreator()) .eqIfPresent(InventoryinitRequestMainDO::getCreator, reqVO.getCreator())
.betweenIfPresent(InventoryinitRequestMainDO::getRequestTime, reqVO.getRequestTime()) .betweenIfPresent(InventoryinitRequestMainDO::getRequestTime, reqVO.getRequestTime())
.betweenIfPresent(InventoryinitRequestMainDO::getDueTime, reqVO.getDueTime()) .betweenIfPresent(InventoryinitRequestMainDO::getDueTime, reqVO.getDueTime())
@ -49,7 +49,7 @@ public interface InventoryinitRequestMainMapper extends BaseMapperX<Inventoryini
.eqIfPresent(InventoryinitRequestMainDO::getNumber, reqVO.getNumber()) .eqIfPresent(InventoryinitRequestMainDO::getNumber, reqVO.getNumber())
.eqIfPresent(InventoryinitRequestMainDO::getBusinessType, reqVO.getBusinessType()) .eqIfPresent(InventoryinitRequestMainDO::getBusinessType, reqVO.getBusinessType())
.eqIfPresent(InventoryinitRequestMainDO::getRemark, reqVO.getRemark()) .eqIfPresent(InventoryinitRequestMainDO::getRemark, reqVO.getRemark())
.betweenIfPresent(InventoryinitRequestMainDO::getCreationTime, reqVO.getCreationTime()) .betweenIfPresent(InventoryinitRequestMainDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(InventoryinitRequestMainDO::getCreator, reqVO.getCreator()) .eqIfPresent(InventoryinitRequestMainDO::getCreator, reqVO.getCreator())
.betweenIfPresent(InventoryinitRequestMainDO::getRequestTime, reqVO.getRequestTime()) .betweenIfPresent(InventoryinitRequestMainDO::getRequestTime, reqVO.getRequestTime())
.betweenIfPresent(InventoryinitRequestMainDO::getDueTime, reqVO.getDueTime()) .betweenIfPresent(InventoryinitRequestMainDO::getDueTime, reqVO.getDueTime())

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productputawayRequest/ProductputawayRequestMainMapper.java

@ -8,6 +8,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainExportReqVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainExportReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainPageReqVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -19,7 +20,9 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface ProductputawayRequestMainMapper extends BaseMapperX<ProductputawayRequestMainDO> { public interface ProductputawayRequestMainMapper extends BaseMapperX<ProductputawayRequestMainDO> {
default ProductputawayRequestMainDO selectByNumber(String number) {
return selectOne(ProductputawayRequestMainDO::getNumber, number);
}
default PageResult<ProductputawayRequestMainDO> selectPage(ProductputawayRequestMainPageReqVO reqVO) { default PageResult<ProductputawayRequestMainDO> selectPage(ProductputawayRequestMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ProductputawayRequestMainDO>() return selectPage(reqVO, new LambdaQueryWrapperX<ProductputawayRequestMainDO>()
.eqIfPresent(ProductputawayRequestMainDO::getSupplierCode, reqVO.getSupplierCode()) .eqIfPresent(ProductputawayRequestMainDO::getSupplierCode, reqVO.getSupplierCode())

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRequest/ProductscrapRequestMainMapper.java

@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainExportReqVO; import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainExportReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainPageReqVO; import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO; import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java

@ -103,6 +103,7 @@ public class BalanceServiceImpl implements BalanceService {
*/ */
@Override @Override
public List<BalanceDO> selectPackaging(String itemCode, String packingNumber, String batch, List<String> inventoryStatus, String locationCode) { public List<BalanceDO> selectPackaging(String itemCode, String packingNumber, String batch, List<String> inventoryStatus, String locationCode) {
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("item_code", itemCode); queryWrapper.eq("item_code", itemCode);
queryWrapper.eq("packing_number", packingNumber); queryWrapper.eq("packing_number", packingNumber);

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainService.java

@ -4,10 +4,10 @@ import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainCreateReqVO; import com.win.module.wms.controller.customerreturnRequest.vo.*;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExportReqVO; import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestMainCreateReqVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainPageReqVO; import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestMainImportErrorVO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainUpdateReqVO; import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO; import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
@ -79,4 +79,6 @@ public interface CustomerreturnRequestMainService {
*/ */
List<CustomerreturnRequestMainDO> getCustomerreturnRequestMainList(CustomerreturnRequestMainExportReqVO exportReqVO); List<CustomerreturnRequestMainDO> getCustomerreturnRequestMainList(CustomerreturnRequestMainExportReqVO exportReqVO);
public List<CustomerreturnRequestImportErrorVO> importCustomerreturnMainList(List<CustomerreturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
} }

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

@ -1,25 +1,50 @@
package com.win.module.wms.service.customerreturnRequest; package com.win.module.wms.service.customerreturnRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainCreateReqVO; import com.win.framework.common.util.validation.ValidationUtils;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExportReqVO; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainPageReqVO; import com.win.module.system.api.dict.DictDataApi;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainUpdateReqVO; import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.customerreturnRequest.vo.*;
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.*;
import com.win.module.wms.dal.mysql.customerreturnRequest.CustomerreturnRequestDetailMapper;
import com.win.module.wms.service.requestsetting.*;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.util.*;
import com.win.module.wms.service.location.*;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestDetailConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import com.win.module.wms.service.purchasereceiptRecord.*;
import com.win.module.wms.service.itembasic.*;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestDetailDO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Validator;
import java.time.LocalDateTime;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO; import com.win.module.wms.dal.dataobject.customerreturnRequest.CustomerreturnRequestMainDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert; import com.win.module.wms.convert.customerreturnRequest.CustomerreturnRequestMainConvert;
import com.win.module.wms.dal.mysql.customerreturnRequest.CustomerreturnRequestMainMapper; import com.win.module.wms.dal.mysql.customerreturnRequest.CustomerreturnRequestMainMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
/** /**
* 客户退货申请主 Service 实现类 * 客户退货申请主 Service 实现类
* *
@ -32,6 +57,32 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
@Resource @Resource
private CustomerreturnRequestMainMapper customerreturnRequestMainMapper; private CustomerreturnRequestMainMapper customerreturnRequestMainMapper;
@Resource
private CustomerreturnRequestDetailMapper customerreturnRequestDetailMapper;
@Resource
private RequestsettingService requestsettingService;
@Resource
private DeliverRecordMainService deliverRecordMainService;
@Resource
private ItembasicService itembasicService;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private DictDataApi dictDataApi;
@Resource
private LocationService locationService;
@Resource
private Validator validator;
@Override @Override
public Long createCustomerreturnRequestMain(CustomerreturnRequestMainCreateReqVO createReqVO) { public Long createCustomerreturnRequestMain(CustomerreturnRequestMainCreateReqVO createReqVO) {
// 插入 // 插入
@ -87,4 +138,190 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque
return customerreturnRequestMainMapper.selectList(exportReqVO); return customerreturnRequestMainMapper.selectList(exportReqVO);
} }
private void validatePurchaseclaimRequestMainExists(Long id) {
CustomerreturnRequestMainDO customerRequestMainDO = customerreturnRequestMainMapper.selectById(id);
if (customerRequestMainDO == null) {
return;
}else {
throw exception(CUSTOMERRETURN_REQUEST_NOT_EXISTS);
}
}
public String isqty(BigDecimal qty1, BigDecimal qty2) {
if(qty1.compareTo(qty2) < 0){
return "ture";
} else {
throw new UtilException("上架数量"+qty2+ "不能大于库存数量"+ qty1);
}
}
@Override
@Transactional
public List<CustomerreturnRequestImportErrorVO> importCustomerreturnMainList(List<CustomerreturnRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(CUSTOMERRETURN_REQUEST_NOT_EXISTS);
}
List< CustomerreturnRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
//主表校验方法
try {
DeliverRecordMainDO deliverRecordMainDO = deliverRecordMainService.selectsMainRecordExist(createReqVO.getDeliverRecordNumber());
createReqVO.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber());
createReqVO.setCustomerCode(deliverRecordMainDO.getCustomerCode());
createReqVO.setCustomerDockCode(deliverRecordMainDO.getCustomerDockCode());
createReqVO.setCreateTime(LocalDateTime.now());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
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.setToLocationTypes(businesstypeDO.getInLocationTypes());
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
createReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes());
}catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ValidationUtils.validate(validator, createReqVO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_REQUEST.getCode());
createReqVO.setNumber(number);
List<CustomerreturnRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<CustomerreturnRequestDetailDO> subDOList = CustomerreturnRequestDetailConvert.INSTANCE.convertList03(subList);
for(CustomerreturnRequestDetailDO 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() + ",";
}
try {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2());
detailDO.setItemName(itembasicDO.getName());
detailDO.setProjectCode(itembasicDO.getProject());
detailDO.setUom(itembasicDO.getUom());
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try {
locationService.selectLocation(detailDO.getFromLocationCode());
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
if(!detailDO.getFromLocationCode().isEmpty()){
jobUtils.ifInToLocationType(detailDO.getFromLocationCode(),businesstypeDO);
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
jobUtils.ifInFromLocationType(detailDO.getToLocationCode(),businesstypeDO);
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
jobUtils.ifInInventoryStatuses(detailDO.getInventoryStatus(),businesstypeDO);
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
if("客户寄售库".equals(detailDO.getFromLocationCode())){
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictLabel(detailDO.getInventoryStatus());
String value = dictDataRespDTO.getValue();
String[] businessArray = value.split(",");
List<String> business = Arrays.asList(businessArray);
List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDO.getItemCode(),detailDO.getPackingNumber(),detailDO.getBatch(),
detailDO.getFromLocationCode(),business);
try{
BalanceDO blance1 = balance.get(0);
isqty(detailDO.getQty(),blance1.getQty());
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
}
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
CustomerreturnRequestDetailCreateReqVO customerreturnRequestDetailCreateReqVO = CustomerreturnRequestDetailConvert.INSTANCE.convert1(detailDO);
CustomerreturnRequestImportErrorVO importVO = CustomerreturnRequestDetailConvert.INSTANCE.convert(createReqVO, customerreturnRequestDetailCreateReqVO);
if(!messageMain.equals("") || !messageDetail.equals("")){
importVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0,messageMain.length()-1));
errorList.add(importVO);
}else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
}
}
CustomerreturnRequestMainDO createObj = CustomerreturnRequestMainConvert.INSTANCE.convert(createReqVO);
if (errorList.isEmpty()) {
CustomerreturnRequestMainDO existCustomerreturnRequestMainDO = customerreturnRequestMainMapper.selectByDeliverrecordnumberAndSupplierCode(createReqVO.getDeliverRecordNumber());
if (existCustomerreturnRequestMainDO == null && mode != 3) {
customerreturnRequestMainMapper.insert(createObj);
customerreturnRequestDetailMapper.insertBatch(subDOList);
}
else if (existCustomerreturnRequestMainDO == null && mode != 2) {
customerreturnRequestMainMapper.updateById(createObj);
customerreturnRequestDetailMapper.updateBatch(subDOList);
}
}
});
//错误不为空并非部分更新,手工回滚
if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
} }

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

@ -4,10 +4,9 @@ import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainCreateReqVO; import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainExportReqVO; import com.win.module.wms.controller.issueRequest.vo.IssueRequestImportErrorVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainPageReqVO; import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO; import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
@ -79,4 +78,7 @@ public interface CustomersettleRequestMainService {
*/ */
List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomersettleRequestMainExportReqVO exportReqVO); List<CustomersettleRequestMainDO> getCustomersettleRequestMainList(CustomersettleRequestMainExportReqVO exportReqVO);
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainService(List<CustomersettleRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
} }

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

@ -1,14 +1,33 @@
package com.win.module.wms.service.customersettleRequest; package com.win.module.wms.service.customersettleRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainCreateReqVO; import com.win.framework.common.util.validation.ValidationUtils;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainExportReqVO; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainPageReqVO; import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.wms.controller.customersettleRequest.vo.CustomersettleRequestMainUpdateReqVO; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.customersettleRequest.vo.*;
import com.win.module.wms.convert.customersettleRequest.CustomersettleRequestDetailConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
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.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.customersettleRequest.CustomersettleRequestDetailMapper;
import com.win.module.wms.enums.DictTypeConstants;
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.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Validator;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO; import com.win.module.wms.dal.dataobject.customersettleRequest.CustomersettleRequestMainDO;
@ -32,6 +51,22 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
@Resource @Resource
private CustomersettleRequestMainMapper customersettleRequestMainMapper; private CustomersettleRequestMainMapper customersettleRequestMainMapper;
@Resource
private CustomersettleRequestDetailMapper customersettleRequestDetailMapper;
@Resource
private DeliverRecordMainService deliverRecordMainService;
@Resource
private RequestsettingService requestsettingService;
@Resource
private JobUtils jobUtils;
@Resource
private Validator validator;
@Resource
private SerialNumberApi serialNumberApi;
@Override @Override
public Long createCustomersettleRequestMain(CustomersettleRequestMainCreateReqVO createReqVO) { public Long createCustomersettleRequestMain(CustomersettleRequestMainCreateReqVO createReqVO) {
// 插入 // 插入
@ -87,4 +122,114 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque
return customersettleRequestMainMapper.selectList(exportReqVO); return customersettleRequestMainMapper.selectList(exportReqVO);
} }
@Override
@Transactional
public List<CustomersettleRequestImportErrorVO> customersettleRequestMainService(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);
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("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importVO);
} else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
}
}
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 (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
} }

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainService.java

@ -2,7 +2,6 @@ package com.win.module.wms.service.deliverRecord;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainCreateReqVO; import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainCreateReqVO;
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainExportReqVO; import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainExportReqVO;
@ -93,4 +92,23 @@ public interface DeliverRecordMainService {
*/ */
List<DeliverRecordMainDO> getDeliverRecordMainList(DeliverRecordMainExportReqVO exportReqVO); List<DeliverRecordMainDO> getDeliverRecordMainList(DeliverRecordMainExportReqVO exportReqVO);
/**
* Record-----QProdD_Main
* 校验成品发货记录
* author lianhongxi
* @param pnumber 单据号
* @return
*/
DeliverRecordMainDO selectsMainRecordExist(String pnumber);
/**
* Record-----QProdD_Detail
* 查询成品发货记录子表
* author lianhongxi
* @param pnumber 单据号
* @return
*/
List <DeliverRecordDetailDO> selectsDeliverRecordExist(String pnumber);
} }

29
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRecord/DeliverRecordMainServiceImpl.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainExportReq
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainPageReqVO; import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainPageReqVO;
import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainUpdateReqVO; import com.win.module.wms.controller.deliverRecord.vo.DeliverRecordMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO; import com.win.module.wms.dal.dataobject.deliverRecord.DeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.rule.RuleDO;
import com.win.module.wms.dal.mysql.deliverRecord.DeliverRecordDetailMapper; import com.win.module.wms.dal.mysql.deliverRecord.DeliverRecordDetailMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -98,6 +99,34 @@ public class DeliverRecordMainServiceImpl implements DeliverRecordMainService {
} }
} }
@Override @Override
public DeliverRecordMainDO selectsMainRecordExist(String pnumber){
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("number",pnumber);
DeliverRecordMainDO deliverRecordMainDO = deliverRecordMainMapper.selectOne(queryWrapper);
if(deliverRecordMainDO != null && "TRUE".equals(deliverRecordMainDO.getAvailable())){
return deliverRecordMainDO;
}
else{
throw new UtilException( "发货记录无效"+pnumber+"无效");
}
}
@Override
public List <DeliverRecordDetailDO> selectsDeliverRecordExist(String pnumber) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("number",pnumber);
List <DeliverRecordDetailDO> deliverRecordDetailDO = deliverRecordDetailMapper.selectList(queryWrapper);
if(!deliverRecordDetailDO.isEmpty()) {
for (DeliverRecordDetailDO detail : deliverRecordDetailDO) {
if (detail != null && "TRUE".equals(detail.getAvailable())) {
return deliverRecordDetailDO;
} else {
throw new UtilException("发货记录明细:单据号" + pnumber + "无效");
}
}
}
return null;
}
@Override
public List<DeliverRecordMainDO> getDeliverRecordMainList(Collection<Long> ids) { public List<DeliverRecordMainDO> getDeliverRecordMainList(Collection<Long> ids) {
return deliverRecordMainMapper.selectBatchIds(ids); return deliverRecordMainMapper.selectBatchIds(ids);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainService.java

@ -4,10 +4,9 @@ import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainCreateReqVO; import com.win.module.wms.controller.deliverRequest.vo.*;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainExportReqVO; import com.win.module.wms.controller.issueRequest.vo.IssueRequestImportErrorVO;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainPageReqVO; import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
@ -81,4 +80,7 @@ public interface DeliverRequestMainService {
*/ */
List<DeliverRequestMainDO> getDeliverRequestMainList(DeliverRequestMainExportReqVO exportReqVO); List<DeliverRequestMainDO> getDeliverRequestMainList(DeliverRequestMainExportReqVO exportReqVO);
public List<DeliverRequestImportErrorVO> importDeliverRequestList(List<DeliverRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
} }

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

@ -1,24 +1,48 @@
package com.win.module.wms.service.deliverRequest; package com.win.module.wms.service.deliverRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainCreateReqVO; import com.win.framework.common.util.validation.ValidationUtils;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainExportReqVO; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainPageReqVO; import com.win.module.system.api.dict.DictDataApi;
import com.win.module.wms.controller.deliverRequest.vo.DeliverRequestMainUpdateReqVO; import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.deliverRequest.vo.*;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestImportErrorVO;
import com.win.module.wms.convert.deliverRequest.DeliverRequestDetailConvert;
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO;
import com.win.module.wms.dal.mysql.deliverRequest.DeliverRequestDetailMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customer.*;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Validator;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.deliverRequest.DeliverRequestMainConvert; import com.win.module.wms.convert.deliverRequest.DeliverRequestMainConvert;
import com.win.module.wms.dal.mysql.deliverRequest.DeliverRequestMainMapper; import com.win.module.wms.dal.mysql.deliverRequest.DeliverRequestMainMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
import com.win.module.wms.service.deliverJob.*;
/** /**
* 发货申请主 Service 实现类 * 发货申请主 Service 实现类
@ -32,6 +56,29 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
@Resource @Resource
private DeliverRequestMainMapper deliverRequestMainMapper; private DeliverRequestMainMapper deliverRequestMainMapper;
@Resource
private DeliverRequestDetailMapper deliverRequestDetailMapper;
@Resource
private JobUtils jobUtils;
@Resource
private ItembasicService itembasicService;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private Validator validator;
@Resource
private DictDataApi dictDataApi;
@Resource
private CustomerService customerService;
@Resource
private RequestsettingService requestsettingService;
@Resource
private DeliverJobMainService deliverJobMainService;
@Override @Override
public Long createDeliverRequestMain(DeliverRequestMainCreateReqVO createReqVO) { public Long createDeliverRequestMain(DeliverRequestMainCreateReqVO createReqVO) {
// 插入 // 插入
@ -88,5 +135,127 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
public List<DeliverRequestMainDO> getDeliverRequestMainList(DeliverRequestMainExportReqVO exportReqVO) { public List<DeliverRequestMainDO> getDeliverRequestMainList(DeliverRequestMainExportReqVO exportReqVO) {
return deliverRequestMainMapper.selectList(exportReqVO); return deliverRequestMainMapper.selectList(exportReqVO);
} }
public String Isuom(String uom1, String uom2) {
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictValue(uom1);
String value = dictDataRespDTO.getLabel();
if(uom2.equals(value)){
return "ture";
}else {
throw new UtilException("计量单位"+uom2+"错误,应该是"+value);
}
}
public String Isqty(BigDecimal shippedqty, BigDecimal detailqty, BigDecimal orderqty,String sonumber,String soline,String itemcode) {
BigDecimal resultqty = orderqty.subtract(shippedqty);
if( resultqty.compareTo(detailqty)>0 )
return "TURE";
else{
throw new UtilException("发货数量"+detailqty+"大于订单号"+sonumber+"、订单行"+soline+"、物品代码"+itemcode+"的未发货数量"+ resultqty );
}
}
@Override
@Transactional
public List<DeliverRequestImportErrorVO> importDeliverRequestList(List<DeliverRequestMainCreateReqVO> datas, Integer mode, boolean updatePart){
if (CollUtil.isEmpty(datas)) {
throw exception(DELIVER_REQUEST_NOT_EXISTS);
}
List<DeliverRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
try{
customerService.selectCustomerExist(createReqVO.getCustomerCode());
}catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
createReqVO.setRequestTime(LocalDateTime.now());
try {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("DeliverRequest");
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("DeliverRequest");
createReqVO.setBusinessType(businesstypeDO.getCode());
createReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
createReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes());
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
createReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ValidationUtils.validate(validator, createReqVO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_REQUEST.getCode());
createReqVO.setNumber(number);
List<DeliverRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<DeliverRequestDetailDO> subDOList = DeliverRequestDetailConvert.INSTANCE.convertList03(subList);
for (DeliverRequestDetailDO detailDO : subDOList) {
String messageDetail = "";
try {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2());
detailDO.setItemName(itembasicDO.getName());
detailDO.setProjectCode(itembasicDO.getProject());
try{
Isuom(itembasicDO.getUom(),detailDO.getUom());
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try{
SaleDetailDO saleDetailDO =deliverJobMainService.saleDetailExist(detailDO.getSoNumber(),detailDO.getSoLine(),detailDO.getItemCode());
try{
if(saleDetailDO!=null){
Isqty(saleDetailDO.getShippedQty(),detailDO.getQty(),saleDetailDO.getOrderQty(),detailDO.getSoNumber(),detailDO.getSoLine(),detailDO.getItemCode());
}
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
DeliverRequestDetailCreateReqVO purchaseturnRequestDetailCreateReqVO = DeliverRequestDetailConvert.INSTANCE.convert1(detailDO);
DeliverRequestImportErrorVO importVO = DeliverRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseturnRequestDetailCreateReqVO);
if (!messageMain.equals("") || !messageDetail.equals("")) {
importVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importVO);
} else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
}
}
DeliverRequestMainDO createobj = DeliverRequestMainConvert.INSTANCE.convert(createReqVO);
if (errorList.isEmpty()) {
DeliverRequestMainDO existDeliverRequestMainDO = deliverRequestMainMapper.selectWorkShopCodeAndUseOnTheWayLocation(createReqVO.getCustomerCode());
if (existDeliverRequestMainDO == null && mode != 3) {
deliverRequestMainMapper.insert(createobj);
deliverRequestDetailMapper.insertBatch(subDOList);
} else if (existDeliverRequestMainDO != null && mode != 2) {
deliverRequestMainMapper.updateById(createobj);
deliverRequestDetailMapper.updateBatch(subDOList);
}
}
});
if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/enterprise/EnterpriseServiceImpl.java

@ -17,7 +17,7 @@ import com.win.module.wms.convert.enterprise.EnterpriseConvert;
import com.win.module.wms.dal.mysql.enterprise.EnterpriseMapper; import com.win.module.wms.dal.mysql.enterprise.EnterpriseMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.ENTERPRISE_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.*;
/** /**
* 企业 Service 实现类 * 企业 Service 实现类

168
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java

@ -1,26 +1,45 @@
package com.win.module.wms.service.inventoryinitRequest; package com.win.module.wms.service.inventoryinitRequest;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayImportErrorVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestDetailConvert;
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.util.*;
import com.win.module.wms.service.requestsetting.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventoryinitRequest.vo.*; import com.win.module.wms.controller.inventoryinitRequest.vo.*;
import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestDetailConvert; import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestDetailConvert;
import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestMainConvert; import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestDetailDO; import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestDetailDO;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO; import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO;
import com.win.module.wms.dal.mysql.inventoryinitRequest.InventoryinitRequestDetailMapper; import com.win.module.wms.dal.mysql.inventoryinitRequest.InventoryinitRequestDetailMapper;
import com.win.module.wms.dal.mysql.inventoryinitRequest.InventoryinitRequestMainMapper; import com.win.module.wms.dal.mysql.inventoryinitRequest.InventoryinitRequestMainMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Collection; import com.win.module.wms.service.itembasic.*;
import java.util.List; import com.win.module.wms.service.location.*;
import com.win.module.wms.service.itempackaging.*;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY; import com.win.module.wms.service.recordsetting.*;
/** /**
* 库存初始化申请主 Service 实现类 * 库存初始化申请主 Service 实现类
@ -33,8 +52,30 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
@Resource @Resource
private InventoryinitRequestMainMapper inventoryinitRequestMainMapper; private InventoryinitRequestMainMapper inventoryinitRequestMainMapper;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private RequestsettingService requestsettingService;
@Resource
private JobUtils jobUtils;
@Resource
private RecordsettingService recordsettingService;
@Resource @Resource
private InventoryinitRequestDetailMapper inventoryinitRequestDetailMapper; private InventoryinitRequestDetailMapper inventoryinitRequestDetailMapper;
@Resource
private ItempackagingService itempackagingService;
@Resource
private LocationService locationService;
@Resource
private ItembasicService itembasicService;
@Override @Override
public Long createInventoryinitRequestMain(InventoryinitRequestMainCreateReqVO createReqVO) { public Long createInventoryinitRequestMain(InventoryinitRequestMainCreateReqVO createReqVO) {
@ -67,7 +108,16 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
throw exception(INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS); throw exception(INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS);
} }
} }
private void validatesInventoryinitRequestMainExists(Long id) {
if (id == null) {
return;
}
InventoryinitRequestMainDO inventoryinitRequestMainDO = inventoryinitRequestMainMapper.selectById(id);
if (inventoryinitRequestMainDO == null) {
throw exception(INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS);
}
}
@Override @Override
public InventoryinitRequestMainDO getInventoryinitRequestMain(Long id) { public InventoryinitRequestMainDO getInventoryinitRequestMain(Long id) {
return inventoryinitRequestMainMapper.selectById(id); return inventoryinitRequestMainMapper.selectById(id);
@ -91,35 +141,119 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
return inventoryinitRequestMainMapper.selectList(exportReqVO); return inventoryinitRequestMainMapper.selectList(exportReqVO);
} }
@Override @Override
@Transactional
public List<InventoryinitRequestMainImportErrorVO> importInventoryinitRequestMainList(List<InventoryinitRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<InventoryinitRequestMainImportErrorVO> importInventoryinitRequestMainList(List<InventoryinitRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
} }
List<InventoryinitRequestMainImportErrorVO> errorList = new ArrayList<>(); List<InventoryinitRequestMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> { datas.forEach(createReqVO -> {
String message = "";
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList // 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList
boolean isError = false; boolean isError = false;
// try { if(mode != null) {
// if(mode != null){ try {
// validatePurchaseclaimRequestMainExists(null); validatesInventoryinitRequestMainExists(null);
// } } catch (Exception ex) {
// } catch (ServiceException ex) { isError = true;
// isError = true; message += ex.getMessage() + ",";
// importRemark += ex.getMessage() + ","; }
// } }
InventoryinitRequestMainDO createObj = InventoryinitRequestMainConvert.INSTANCE.convert(createReqVO); try {
inventoryinitRequestMainMapper.insert(createObj); RequestsettingDO requestsetting = requestsettingService.selectRequestsettingExist("TransferDeliverRequest");
createReqVO.setAutoAgree(requestsetting.getAutoAgree());
createReqVO.setAutoCommit(requestsetting.getAutoCommit());
createReqVO.setAutoExecute(requestsetting.getAutoExecute());
createReqVO.setDirectCreateRecord(requestsetting.getDirectCreateRecord());
}catch (Exception ex) {
isError = true;
message += ex.getMessage() + ",";
}
try {
BusinesstypeDO businesstype = jobUtils.selectDocumentSettingFromBusinessType("InventoryInitialRequest");
createReqVO.setBusinessType(businesstype.getCode());
}catch (Exception ex) {
isError = true;
message += ex.getMessage() + ",";
}
List<InventoryinitRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<InventoryinitRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<InventoryinitRequestDetailDO> subDOList = InventoryinitRequestDetailConvert.INSTANCE.convertList03(subList); List<InventoryinitRequestDetailDO> subDOList = InventoryinitRequestDetailConvert.INSTANCE.convertList03(subList);
// 新增子表数据 // 新增子表数据
for (InventoryinitRequestDetailDO detailDO : subDOList) { for (InventoryinitRequestDetailDO detailDO : subDOList) {
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList // 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
detailDO.setNumber(createReqVO.getNumber()); detailDO.setNumber(createReqVO.getNumber());
try{
LocationDO location = locationService.selectLocation(detailDO.getLocationCode());
detailDO.setAreaCode(location.getAreaCode());
detailDO.setLocationCode(location.getCode());
detailDO.setLocationGroupCode(location.getLocationGroupCode());
}catch (Exception ex) {
isError = true;
message += ex.getMessage() + ",";
}
try{
//TODO 传入的实体里没有itemcode detailDO.getItemCode()
ItembasicDO itembasic = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(itembasic.getDesc1());
detailDO.setItemDesc2(itembasic.getDesc2());
detailDO.setItemName(itembasic.getName());
detailDO.setUom(itembasic.getUom());
detailDO.setProjectCode(itembasic.getProject());
}catch (Exception ex) {
isError = true;
message += ex.getMessage() + ",";
} }
try{
//TODO 传入的实体里没有itemcode detailDO.getItemCode()
ItempackagingDO itempackaging = itempackagingService.selectItemPackagingExist(detailDO.getItemCode());
detailDO.setStdPackUnit(itempackaging.getStdPackUnit());
detailDO.setStdPackQty(itempackaging.getStdPackQty());
}catch (Exception ex) {
isError = true;
message += ex.getMessage() + ",";
}
if(isError){
InventoryinitRequestMainImportErrorVO importVO = InventoryinitRequestDetailConvert.INSTANCE.convert(createReqVO,detailDO);
importVO.setImportStatus("失败");
importVO.setImportRemark(message.substring(0, message.length() - 1));
errorList.add(importVO);
}else{
if(mode != 3) {
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
createReqVO.setNumber(number);
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
InventoryinitRequestMainDO createObj = InventoryinitRequestMainConvert.INSTANCE.convert(createReqVO);
inventoryinitRequestMainMapper.insert(createObj);
inventoryinitRequestDetailMapper.insertBatch(subDOList); inventoryinitRequestDetailMapper.insertBatch(subDOList);
}
else if( mode != 2){
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
createReqVO.setNumber(number);
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
InventoryinitRequestMainDO createObj = InventoryinitRequestMainConvert.INSTANCE.convert(createReqVO);
inventoryinitRequestMainMapper.updateById(createObj);
inventoryinitRequestDetailMapper.updateBatch(subDOList);
}
}
}
}); });
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList; return errorList;
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainService.java

@ -1,13 +1,12 @@
package com.win.module.wms.service.issueRequest; package com.win.module.wms.service.issueRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.issueRequest.vo.*; import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO; import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/** /**
* 发料申请主 Service 接口 * 发料申请主 Service 接口

136
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java

@ -2,39 +2,27 @@ package com.win.module.wms.service.issueRequest;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.util.validation.ValidationUtils; import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils; 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.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestImportErrorVO;
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.*; import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainImportErrorVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert; import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert;
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert;
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO; import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper; import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.productionline.ProductionlineService; import com.win.module.wms.service.productionline.ProductionlineService;
import com.win.module.wms.service.productionlineitem.ProductionlineitemService; import com.win.module.wms.service.productionlineitem.ProductionlineitemService;
@ -96,23 +84,31 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
private RuleService ruleService; private RuleService ruleService;
@Resource @Resource
private RequestsettingService requestsettingService; private RequestsettingService requestsettingService;
@Resource
private TrendsApi trendsApi;
@Override @Override
public Long createIssueRequestMain(IssueRequestMainCreateReqVO createReqVO) { public Long createIssueRequestMain(IssueRequestMainCreateReqVO createReqVO) {
// 插入 RequestsettingDO requestsettingDO = new RequestsettingDO();
IssueRequestMainDO issueRequestMain = IssueRequestMainConvert.INSTANCE.convert(createReqVO); IssueRequestMainDO issueRequestMainDO = validatorToCreate(createReqVO,requestsettingDO);
issueRequestMainMapper.insert(issueRequestMain); //调用自动执行方法
// 返回 if(RequestStatusEnum.HANDLING.getCode().equals(issueRequestMainDO.getStatus())) {
return issueRequestMain.getId();
}
trendsApi.createTrends(requestsettingDO.getId(), "IssueRequest", "增加了发料申请", TrendsTypeEnum.CREATE);
return issueRequestMainDO.getId();
} }
@Override @Override
public void updateIssueRequestMain(IssueRequestMainUpdateReqVO updateReqVO) { public void updateIssueRequestMain(IssueRequestMainUpdateReqVO updateReqVO) {
RequestsettingDO requestsettingDO = new RequestsettingDO();
// 校验存在 // 校验存在
validateIssueRequestMainExists(updateReqVO.getId()); validateIssueRequestMainExists(updateReqVO.getId());
// 更新 IssueRequestMainDO issueRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO);
IssueRequestMainDO updateObj = IssueRequestMainConvert.INSTANCE.convert(updateReqVO); if(RequestStatusEnum.HANDLING.getCode().equals(issueRequestMainDO.getStatus())) {
issueRequestMainMapper.updateById(updateObj);
}
trendsApi.createTrends(requestsettingDO.getId(), "IssueRequest", "增加了发料申请", TrendsTypeEnum.CREATE);
} }
@Override @Override
@ -247,79 +243,62 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
} }
//新增校验 //新增校验
private void validatorToCreate(IssueRequestMainCreateReqVO createReqVO) { private IssueRequestMainDO validatorToCreate(IssueRequestMainCreateReqVO createReqVO,RequestsettingDO requestsettingDO) {
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(createReqVO); BusinesstypeDO businesstypeDO = new BusinesstypeDO();
//主表校验 IssueRequestMainDO issueRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO);
this.validatorWorkshop(issueRequestMainDO.getWorkshopCode());
issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
issueRequestMainDO.setRequestTime(LocalDateTime.now());
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest");
issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree());
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit());
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute());
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
issueRequestMainDO.setBusinessType(businesstypeDO.getCode());
issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes());
issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
issueRequestMainDO.setNumber(number);
issueRequestMainMapper.insert(issueRequestMainDO);
//子表校验 //子表校验
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList); List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList);
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) { for (IssueRequestDetailDO issueRequestDetailDO : subDOList) {
ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode()); validateDetailMethod(issueRequestDetailDO,businesstypeDO,issueRequestMainDO);
this.validatorIfInType(itembasicDO.getType(), businesstypeDO);
this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom());
ProductionlineDO productionlineDO = validatorProductionLineCode(issueRequestDetailDO.getProductionLineCode());
issueRequestDetailDO.setToLocationCode(productionlineDO.getRawLocationCode());
WorkstationDO workstationDO = validatorWorkstation(issueRequestDetailDO.getWorkStationCode(), issueRequestMainDO.getWorkshopCode(), issueRequestDetailDO.getProductionLineCode());
issueRequestDetailDO.setToLocationCode(workstationDO.getRawLocationCode());
this.validatorProductionLineCodeAndpItemCodeExist(issueRequestDetailDO.getProductionLineCode(), issueRequestDetailDO.getItemCode());
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, issueRequestDetailDO.getItemCode(), null, null, null, null, null, null);
if (grounding == null) {
throw exception(555, "未查找到该条上架策略");
} else {
JSONObject json = JSONUtil.parseObj(grounding);
String locationCode = json.get("LocationCode").toString();
this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode);
} }
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
issueRequestMainDO.setNumber(number);
issueRequestMainMapper.insert(issueRequestMainDO);
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) {
issueRequestDetailDO.setMasterId(issueRequestMainDO.getId()); issueRequestDetailDO.setMasterId(issueRequestMainDO.getId());
issueRequestDetailDO.setNumber(number); issueRequestDetailDO.setNumber(issueRequestMainDO.getNumber());
issueRequestDetailMapper.insertBatch(subDOList);
} }
issueRequestDetailMapper.insertBatch(subDOList);
return issueRequestMainDO;
} }
//修改校验 //修改校验
private void validatorToUpdate(IssueRequestMainUpdateReqVO updateReqVO) { private IssueRequestMainDO validatorToUpdate(IssueRequestMainUpdateReqVO updateReqVO,RequestsettingDO requestsettingDO) {
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(updateReqVO); BusinesstypeDO businesstypeDO = new BusinesstypeDO();
//主表校验 IssueRequestMainDO issueRequestMainDO = validateMainMethod(updateReqVO,businesstypeDO,requestsettingDO);
validateIssueRequestMainExists(updateReqVO.getId()); //子表校验
List<IssueRequestDetailUpdateReqVO> subList = updateReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList05(subList);
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) {
validateDetailMethod(issueRequestDetailDO,businesstypeDO,issueRequestMainDO);
}
issueRequestMainMapper.updateById(issueRequestMainDO);
issueRequestDetailMapper.updateBatch(subDOList);
return issueRequestMainDO;
}
//校验主表公共方法(适用于新增/修改)
private IssueRequestMainDO validateMainMethod(IssueRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO,RequestsettingDO requestsettingDO){
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(baseVO);
validateIssueRequestMainExists(baseVO.getId());
this.validatorWorkshop(issueRequestMainDO.getWorkshopCode()); this.validatorWorkshop(issueRequestMainDO.getWorkshopCode());
issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
issueRequestMainDO.setRequestTime(LocalDateTime.now()); issueRequestMainDO.setRequestTime(LocalDateTime.now());
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest"); requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest");
issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree());
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit());
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute());
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest"); businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
issueRequestMainDO.setBusinessType(businesstypeDO.getCode()); issueRequestMainDO.setBusinessType(businesstypeDO.getCode());
issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes());
issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); return issueRequestMainDO;
issueRequestMainDO.setNumber(number); }
issueRequestMainMapper.insert(issueRequestMainDO); //校验子表公共方法(适用于新增/修改)
//子表校验 private void validateDetailMethod(IssueRequestDetailDO issueRequestDetailDO,BusinesstypeDO businesstypeDO,IssueRequestMainDO issueRequestMainDO) {
List<IssueRequestDetailCreateReqVO> subList = updateReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList);
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) {
validateIssueRequestDetailExists(issueRequestDetailDO.getId());
ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode()); ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode());
this.validatorIfInType(itembasicDO.getType(), businesstypeDO); this.validatorIfInType(itembasicDO.getType(), businesstypeDO);
this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom()); this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom());
@ -336,12 +315,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
String locationCode = json.get("LocationCode").toString(); String locationCode = json.get("LocationCode").toString();
this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode); this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode);
} }
issueRequestDetailDO.setMasterId(issueRequestMainDO.getId());
issueRequestDetailDO.setNumber(number);
issueRequestDetailMapper.insertBatch(subDOList);
}
} }
/** /**
* 校验导入并赋值一些参数 * 校验导入并赋值一些参数
* *
@ -408,13 +382,13 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try { try {
ProductionlineDO productionlineDO = validatorProductionLineCode(detailDo.getProductionLineCode()); ProductionlineDO productionlineDO = this.validatorProductionLineCode(detailDo.getProductionLineCode());
detailDo.setToLocationCode(productionlineDO.getRawLocationCode()); detailDo.setToLocationCode(productionlineDO.getRawLocationCode());
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try { try {
WorkstationDO workstationDO = validatorWorkstation(detailDo.getWorkStationCode(), mainDo.getWorkshopCode(), detailDo.getProductionLineCode()); WorkstationDO workstationDO = this.validatorWorkstation(detailDo.getWorkStationCode(), mainDo.getWorkshopCode(), detailDo.getProductionLineCode());
detailDo.setToLocationCode(workstationDO.getRawLocationCode()); detailDo.setToLocationCode(workstationDO.getRawLocationCode());
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java

@ -1,5 +1,4 @@
package com.win.module.wms.service.itembasic; package com.win.module.wms.service.itembasic;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -17,12 +16,10 @@ import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java

@ -223,7 +223,7 @@ public class ItempackagingServiceImpl implements ItempackagingService {
@Override @Override
public ItempackagingDO selectItemPackagingExist(String pitemCode){ public ItempackagingDO selectItemPackagingExist(String pitemCode){
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("itemcode",pitemCode); queryWrapper.eq("item_code",pitemCode);
ItempackagingDO itempackagingDO = itempackagingMapper.selectOne(queryWrapper); ItempackagingDO itempackagingDO = itempackagingMapper.selectOne(queryWrapper);
if(itempackagingDO != null && "TRUE".equals(itempackagingDO.getAvailable())){ if(itempackagingDO != null && "TRUE".equals(itempackagingDO.getAvailable())){
return itempackagingDO; return itempackagingDO;

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainService.java

@ -2,10 +2,7 @@ package com.win.module.wms.service.productputawayRequest;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO; import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainExportReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainPageReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import javax.validation.Valid; import javax.validation.Valid;
@ -81,4 +78,23 @@ public interface ProductputawayRequestMainService {
* @return 分页列表 * @return 分页列表
*/ */
PageResult<ProductputawayRequestMainDO> getProductputawayRequestMainSenior(CustomConditions conditions); PageResult<ProductputawayRequestMainDO> getProductputawayRequestMainSenior(CustomConditions conditions);
/**
* 批量导入物品基本信息
*
* @param importProductputaways 导入物品基本信息列表
* @param updatePart 是否支持更新
* @return 导入结果
*/
List<ProductputawayImportExcelVO> importProductputawayList(List<ProductputawayImportExcelVO> importProductputaways, Integer mode, boolean updatePart);
/**
* 批量导入采购索赔申请主信息
*
* @param datas 导入采购索赔申请主信息列表
* @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<ProductputawayImportErrorVO> importProductputawayRequestList(List<ProductputawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
} }

252
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java

@ -1,24 +1,47 @@
package com.win.module.wms.service.productputawayRequest; package com.win.module.wms.service.productputawayRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.util.StrUtil;
import com.google.common.annotations.VisibleForTesting;
import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.mysql.productputawayRequest.ProductputawayRequestDetailMapper;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainExportReqVO; import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainPageReqVO; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainUpdateReqVO; import com.win.module.wms.controller.productputawayRequest.vo.*;
import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert; import com.win.module.wms.convert.productputawayRequest.ProductputawayRequestMainConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO; import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.service.businesstype.*;
import com.win.module.wms.dal.mysql.productputawayRequest.ProductputawayRequestMainMapper; import com.win.module.wms.dal.mysql.productputawayRequest.ProductputawayRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import com.win.module.wms.convert.productputawayRequest.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import com.win.module.wms.service.location.*;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.PRODUCTPUTAWAY_REQUEST_MAIN_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.*;
import com.win.module.wms.service.recordsetting.*;
import com.win.module.wms.service.itembasic.*;
/** /**
* 制品上架申请主 Service 实现类 * 制品上架申请主 Service 实现类
@ -31,7 +54,31 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque
@Resource @Resource
private ProductputawayRequestMainMapper productputawayRequestMainMapper; private ProductputawayRequestMainMapper productputawayRequestMainMapper;
@Resource
private RequestsettingService requestsettingService;
@Resource
private ProductputawayRequestDetailMapper productputawayRequestDetailMapper;
@Resource
private ItembasicService itembasicService;
@Resource
private JobUtils jobUtils;
@Resource
private BusinesstypeService businesstypeService;
@Resource
private LocationService locationService;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private DictDataApi dictDataApi;
@Override @Override
public Long createProductputawayRequestMain(ProductputawayRequestMainCreateReqVO createReqVO) { public Long createProductputawayRequestMain(ProductputawayRequestMainCreateReqVO createReqVO) {
// 插入 // 插入
@ -88,4 +135,193 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque
public PageResult<ProductputawayRequestMainDO> getProductputawayRequestMainSenior(CustomConditions conditions) { public PageResult<ProductputawayRequestMainDO> getProductputawayRequestMainSenior(CustomConditions conditions) {
return productputawayRequestMainMapper.selectSenior(conditions); return productputawayRequestMainMapper.selectSenior(conditions);
} }
@Override
@Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
public List<ProductputawayImportExcelVO> importProductputawayList(List<ProductputawayImportExcelVO> importProductputaways, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(importProductputaways)) {
throw exception(WORKSTATION_IMPORT_LIST_IS_EMPTY);
}
List<ProductputawayImportExcelVO> errorList = new ArrayList<>();
importProductputaways.forEach(productputaway -> {
String massage = "";
// 校验,判断是否有不符合的原因
if(mode != null){
try{
validateProductputawayExists(null);
} catch(Exception ex){
massage += ex.getMessage() + ",";
}
if(StrUtil.isNotEmpty(massage)){
massage.substring(0,massage.length()-1);
errorList.add(productputaway);
}
// 判断如果不存在,在进行插入
if(errorList == null){
ProductputawayRequestMainDO existAccountcalendar = productputawayRequestMainMapper.selectByNumber(productputaway.getPackingNumber());
if (existAccountcalendar == null&& mode != 3) {
productputawayRequestMainMapper.insert(ProductputawayRequestMainConvert.INSTANCE.convert(productputaway));
}
else if (existAccountcalendar != null && mode != 2) {// 如果存在,判断是否允许更新
ProductputawayRequestMainDO productputawayDo = ProductputawayRequestMainConvert.INSTANCE.convert(productputaway);
productputawayDo.setId(existAccountcalendar.getId());
productputawayRequestMainMapper.updateById(productputawayDo);
}
}
}
});
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
private void validateproductputawayForCreateOrUpdate(Long id,String code,String workshopCode,String productionLineCode,String available) {
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
DataPermissionUtils.executeIgnore(() -> {
// 校验code唯一
});
}
@VisibleForTesting
private void validateProductputawayExists(Long id) {
if (id == null) {
return;
}
ProductputawayRequestMainDO productputaway = productputawayRequestMainMapper.selectById(id);
if (productputaway == null) {
throw exception(PRODUCTPUTAWAY_REQUEST_NOT_EXISTS);
}
}
public String Isuom(String uom1, String uom2) {
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictValue(uom1);
String value = dictDataRespDTO.getLabel();
if(uom2.equals(value)){
return "ture";
}else {
throw new UtilException("计量单位"+uom2+"错误,应该是"+value);
}
}
public String isqty(BigDecimal qty1, BigDecimal qty2) {
if(qty1.compareTo(qty2) < 0){
return "ture";
} else {
throw new UtilException("上架数量"+qty2+ "不能大于库存数量"+ qty1);
}
}
public List<ProductputawayImportErrorVO> importProductputawayRequestList(List<ProductputawayRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(PRODUCTPUTAWAY_REQUEST_NOT_EXISTS);
}
List<ProductputawayImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
String massage = "";
boolean isError = false;
RequestsettingDO requestsetting = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest");
createReqVO.setAutoCommit(requestsetting.getAutoCommit());
createReqVO.setAutoAgree(requestsetting.getAutoAgree());
createReqVO.setAutoExecute(requestsetting.getAutoExecute());
createReqVO.setDirectCreateRecord(requestsetting.getDirectCreateRecord());
List<ProductputawayRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<ProductputawayRequestDetailDO> subDOList = ProductputawayRequestDetailConvert.INSTANCE.convertList03(subList);
// 新增子表数据
for (ProductputawayRequestDetailDO detailDO : subDOList) {
if (mode != null) {
try {
validateProductputawayExists(null);
} catch (Exception ex) {
massage += ex.getMessage() + ",";
}
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
try {
ItembasicDO item = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(item.getDesc1());
detailDO.setItemDesc2(item.getDesc2());
detailDO.setItemName(item.getName());
detailDO.setProjectCode(item.getProject());
try{
Isuom(item.getUom(),detailDO.getUom());
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
} catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
try{
locationService.selectLocation(detailDO.getFromLocationCode());
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
try{
BusinesstypeDO bus = businesstypeService.selectBusinesstypeExist("ProductPutawayRequest");
createReqVO.setBusinessType(bus.getCode());
createReqVO.setFromLocationTypes(bus.getOutLocationTypes());
createReqVO.setToLocationTypes(bus.getInLocationTypes());
createReqVO.setFromAreaCodes(bus.getOutAreaCodes());
createReqVO.setToAreaCodes(bus.getInAreaCodes());
//TODO TB ---TB1 效验业务类型相关属性
try{
jobUtils.ifInToLocationType(detailDO.getFromLocationCode(),bus);
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictLabel(detailDO.getInventoryStatus());
String value = dictDataRespDTO.getValue();
String[] businessArray = value.split(",");
List<String> business = Arrays.asList(businessArray);
List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDO.getItemCode(), detailDO.getPackingNumber(),
detailDO.getBatch(), detailDO.getFromLocationCode(), business);
try{
BalanceDO blance1 = balance.get(0);
isqty(detailDO.getQty(),blance1.getQty());
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
if(isError) {
ProductputawayImportErrorVO importVO = ProductputawayRequestDetailConvert.INSTANCE.convert(createReqVO,detailDO);
importVO.setImportStatus("失败");
importVO.setImportRemark(massage.substring(0, massage.length() - 1));
errorList.add(importVO);
}
if(!isError) {
if( mode != 3) {
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
createReqVO.setNumber(number);
ProductputawayRequestMainDO createObj = ProductputawayRequestMainConvert.INSTANCE.convert(createReqVO);
productputawayRequestMainMapper.insert(createObj);
productputawayRequestDetailMapper.insertBatch(subDOList);
}
else if(mode != 2){
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
createReqVO.setNumber(number);
ProductputawayRequestMainDO createObj = ProductputawayRequestMainConvert.INSTANCE.convert(createReqVO);
productputawayRequestMainMapper.updateById(createObj);
productputawayRequestDetailMapper.updateBatch(subDOList);
}
}
}
}
});
return errorList;
}
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainService.java

@ -1,6 +1,13 @@
package com.win.module.wms.service.productscrapRequest; package com.win.module.wms.service.productscrapRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.*; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO; import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
@ -80,11 +87,12 @@ public interface ProductscrapRequestMainService {
/** /**
* 批量导入采购索赔申请主信息 * 批量导入采购索赔申请主信息
*
* @param datas 导入采购索赔申请主信息列表 * @param datas 导入采购索赔申请主信息列表
* @param mode 导入模式1更新2追加3覆盖 * @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新 * @param updatePart 是否支持更新
* @return 导入结果 * @return 导入结果
*/ */
public List<ProductscrapRequestMainImportErrorVO> importProductscrapRequestMainList(List<ProductscrapRequestMainCreateReqVO> datas, Integer mode, boolean updatePart); public List<ProductscrapRequestImportErrorVO> importProductscrapRequestList(List<ProductscrapRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
} }

202
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainServiceImpl.java

@ -1,7 +1,43 @@
package com.win.module.wms.service.productscrapRequest; package com.win.module.wms.service.productscrapRequest;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.google.common.annotations.VisibleForTesting;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.dal.mysql.productscrapRequest.*;
import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestDetailConvert;
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert;
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestDetailDO;
import com.win.module.wms.dal.dataobject.productputawayRequest.ProductputawayRequestMainDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import com.win.module.wms.service.itembasic.ItembasicService.*;
import java.math.BigDecimal;
import java.util.*;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.*; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestDetailConvert; import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestDetailConvert;
@ -19,8 +55,7 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.PRODUCTSCRAP_REQUEST_MAIN_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY;
/** /**
* 制品报废申请主 Service 实现类 * 制品报废申请主 Service 实现类
@ -37,6 +72,19 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
@Resource @Resource
private ProductscrapRequestDetailMapper productscrapRequestDetailMapper; private ProductscrapRequestDetailMapper productscrapRequestDetailMapper;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private DictDataApi dictDataApi;
@Resource
private JobUtils jobUtils;
@Resource
private ItembasicService itembasicService;
@Resource
private RequestsettingService requestsettingService;
@Override @Override
public Long createProductscrapRequestMain(ProductscrapRequestMainCreateReqVO createReqVO) { public Long createProductscrapRequestMain(ProductscrapRequestMainCreateReqVO createReqVO) {
// 插入 // 插入
@ -46,6 +94,18 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
return productscrapRequestMain.getId(); return productscrapRequestMain.getId();
} }
@VisibleForTesting
private void validateProductscrapExists(Long id) {
if (id == null) {
return;
}
ProductscrapRequestMainDO productscrap = productscrapRequestMainMapper.selectById(id);
if (productscrap == null) {
throw exception(PRODUCTSCRAP_REQUEST_NOT_EXISTS);
}
}
@Override @Override
public void updateProductscrapRequestMain(ProductscrapRequestMainUpdateReqVO updateReqVO) { public void updateProductscrapRequestMain(ProductscrapRequestMainUpdateReqVO updateReqVO) {
// 校验存在 // 校验存在
@ -92,36 +152,140 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
return productscrapRequestMainMapper.selectList(exportReqVO); return productscrapRequestMainMapper.selectList(exportReqVO);
} }
@Override public String Isuom(String uom1, String uom2) {
public List<ProductscrapRequestMainImportErrorVO> importProductscrapRequestMainList(List<ProductscrapRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictValue(uom1);
String value = dictDataRespDTO.getLabel();
if(uom2.equals(value)){
return "ture";
}else {
throw new UtilException("计量单位"+uom2+"错误,应该是"+value);
}
}
public String isqty(BigDecimal qty1, BigDecimal qty2) {
if(qty1.compareTo(qty2) < 0){
return "ture";
} else {
throw new UtilException("上架数量"+qty2+ "不能大于库存数量"+ qty1);
}
}
public List<ProductscrapRequestImportErrorVO> importProductscrapRequestList(List<ProductscrapRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); throw exception(PRODUCTSCRAP_REQUEST_NOT_EXISTS);
} }
List<ProductscrapRequestMainImportErrorVO> errorList = new ArrayList<>(); List<ProductscrapRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> { datas.forEach(createReqVO -> {
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList String massage = "";
boolean isError = false; boolean isError = false;
// try {
// if(mode != null){
// validatePurchaseclaimRequestMainExists(null);
// }
// } catch (ServiceException ex) {
// isError = true;
// importRemark += ex.getMessage() + ",";
// }
ProductscrapRequestMainDO createObj = ProductscrapRequestMainConvert.INSTANCE.convert(createReqVO);
productscrapRequestMainMapper.insert(createObj);
List<ProductscrapRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<ProductscrapRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<ProductscrapRequestDetailDO> subDOList = ProductscrapRequestDetailConvert.INSTANCE.convertList03(subList); List<ProductscrapRequestDetailDO> subDOList = ProductscrapRequestDetailConvert.INSTANCE.convertList03(subList);
// 新增子表数据
for (ProductscrapRequestDetailDO detailDO : subDOList) { for (ProductscrapRequestDetailDO detailDO : subDOList) {
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList if (mode != null) {
try{
validateProductscrapExists(null);
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
try{
ItembasicDO itembasic = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(itembasic.getDesc1());
detailDO.setItemDesc2(itembasic.getDesc2());
detailDO.setItemName(itembasic.getName());
detailDO.setProjectCode(itembasic.getProject());
try{
Isuom(detailDO.getUom(),itembasic.getUom());
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
try{
BusinesstypeDO businesstype = jobUtils.selectDocumentSettingFromBusinessType("ProductScrapRequest");
createReqVO.setBusinessType(businesstype.getCode());
createReqVO.setFromLocationTypes(businesstype.getInLocationTypes());
createReqVO.setFromAreaCodes(businesstype.getInAreaCodes());
try{
jobUtils.selectItembasicExist(itembasic.getType(),businesstype);
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
try{
jobUtils.ifInToLocationType(detailDO.getFromLocationCode(),businesstype);
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
try{
jobUtils.ifOutInventoryStatuses(detailDO.getInventoryStatus(),businesstype);
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
try{
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictLabel(detailDO.getInventoryStatus());
String value = dictDataRespDTO.getValue();
String[] businessArray = value.split(",");
List<String> business = Arrays.asList(businessArray);
List<BalanceDO> balance = jobUtils.selectlocationReturnManagementAccuracy(detailDO.getItemCode(),detailDO.getPackingNumber(),
detailDO.getBatch(),detailDO.getFromLocationCode(),business);
try{
BalanceDO blance1 = balance.get(0);
isqty(detailDO.getQty(),blance1.getQty());
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
}catch (Exception ex) {
isError = true;
massage += ex.getMessage() + ",";
}
if(isError) {
ProductscrapRequestImportErrorVO importVO = ProductscrapRequestDetailConvert.INSTANCE.convert(createReqVO,detailDO);
importVO.setImportStatus("失败");
importVO.setImportRemark(massage.substring(0, massage.length() - 1));
errorList.add(importVO);
}
if(!isError) {
detailDO.setNumber(createReqVO.getNumber()); detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
} }
if(!errorList.isEmpty()){
// 判断如果不存在,在进行插入
RequestsettingDO requestsetting = requestsettingService.selectRequestsettingExist("ProductPutawayRequest");
if(requestsetting != null) {
createReqVO.setAutoCommit(requestsetting.getAutoCommit());
createReqVO.setAutoAgree(requestsetting.getAutoAgree());
createReqVO.setAutoExecute(requestsetting.getAutoExecute());
createReqVO.setDirectCreateRecord(requestsetting.getDirectCreateRecord());
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode());
createReqVO.setNumber(number);
ProductscrapRequestMainDO createObj = ProductscrapRequestMainConvert.INSTANCE.convert(createReqVO);
productscrapRequestMainMapper.insert(createObj);
productscrapRequestDetailMapper.insertBatch(subDOList); productscrapRequestDetailMapper.insertBatch(subDOList);
}
}
}
}); });
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList; return errorList;
} }
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java

@ -183,11 +183,7 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest
} catch (Exception ex) { } catch (Exception ex) {
messageMain += ex.getMessage() + ","; messageMain += ex.getMessage() + ",";
} }
try{
ValidationUtils.validate(validator,createReqVO);
}catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try { try {
supplierService.selectSupplier(createReqVO.getSupplierCode()); supplierService.selectSupplier(createReqVO.getSupplierCode());
} catch (Exception ex) { } catch (Exception ex) {
@ -228,6 +224,11 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest
}catch (Exception ex) { }catch (Exception ex) {
messageDetail += ex.getMessage() + ","; messageDetail += ex.getMessage() + ",";
} }
try{
ValidationUtils.validate(validator,createReqVO);
}catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
PurchaseclaimRequestDetailCreateReqVO purchaseclaimRequestDetailCreateReqVO = PurchaseclaimRequestDetailConvert.INSTANCE.convert1(detailDO); PurchaseclaimRequestDetailCreateReqVO purchaseclaimRequestDetailCreateReqVO = PurchaseclaimRequestDetailConvert.INSTANCE.convert1(detailDO);
PurchaseclaimRequestImportErrorVO importVO = PurchaseclaimRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseclaimRequestDetailCreateReqVO); PurchaseclaimRequestImportErrorVO importVO = PurchaseclaimRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseclaimRequestDetailCreateReqVO);
//进行子表的错误统计 //进行子表的错误统计
@ -244,6 +245,7 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_REQUEST.getCode());
createReqVO.setNumber(number); createReqVO.setNumber(number);
} }
} }
if(errorList.isEmpty()){ if(errorList.isEmpty()){
// 判断如果不存在,在进行插入 // 判断如果不存在,在进行插入

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainService.java

@ -90,5 +90,5 @@ public interface SupplierdeliverRecordMainService {
* @param ppoLine 订单行 * @param ppoLine 订单行
* @return 供应商发货记录子 * @return 供应商发货记录子
*/ */
public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordMainDO(String psupplierCode,String pnumber, String pitemCode, String ppoNumber, String ppoLine); public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordMainDO(String psupplierCode,String pasnNumber, String pitemCode, String ppoNumber, String ppoLine);
} }

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainServiceImpl.java

@ -93,9 +93,9 @@ public class SupplierdeliverRecordMainServiceImpl implements SupplierdeliverReco
return supplierdeliverRecordMainMapper.selectList(exportReqVO); return supplierdeliverRecordMainMapper.selectList(exportReqVO);
} }
@Override @Override
public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordMainDO(String psupplierCode,String pnumber, String pitemCode, String ppoNumber, String ppoLine) { public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordMainDO(String psupplierCode,String pasnNumber, String pitemCode, String ppoNumber, String ppoLine) {
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("number",pnumber); queryWrapper.eq("asn_number",pasnNumber);
queryWrapper.eq("supplier_code",psupplierCode); queryWrapper.eq("supplier_code",psupplierCode);
SupplierdeliverRecordMainDO supplierdeliverRecordMainDO = supplierdeliverRecordMainMapper.selectOne(queryWrapper); SupplierdeliverRecordMainDO supplierdeliverRecordMainDO = supplierdeliverRecordMainMapper.selectOne(queryWrapper);
if(supplierdeliverRecordMainDO != null && "TRUE".equals(supplierdeliverRecordMainDO.getAvailable())){ if(supplierdeliverRecordMainDO != null && "TRUE".equals(supplierdeliverRecordMainDO.getAvailable())){
@ -104,7 +104,6 @@ public class SupplierdeliverRecordMainServiceImpl implements SupplierdeliverReco
queryWrapper1.eq("item_code",pitemCode); queryWrapper1.eq("item_code",pitemCode);
queryWrapper1.eq("po_number",ppoNumber); queryWrapper1.eq("po_number",ppoNumber);
queryWrapper1.eq("po_line",ppoLine); queryWrapper1.eq("po_line",ppoLine);
queryWrapper1.eq("number",pnumber);
SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordDetailMapper.selectOne(queryWrapper1); SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordDetailMapper.selectOne(queryWrapper1);
if(supplierdeliverRecordDetailDO != null){ if(supplierdeliverRecordDetailDO != null){
return supplierdeliverRecordDetailDO; return supplierdeliverRecordDetailDO;
@ -113,7 +112,7 @@ public class SupplierdeliverRecordMainServiceImpl implements SupplierdeliverReco
} }
}else { }else {
throw new UtilException( "发货订单无效" + pnumber + "无效"); throw new UtilException( "发货订单" + pasnNumber + "无效");
} }
} }
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

@ -374,7 +374,7 @@ public class JobUtils {
if (ifOutLocationType == true) { if (ifOutLocationType == true) {
return true; return true;
} else { } else {
throw new UtilException("出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型" + throw new UtilException("出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型与业务类型" +
businesstypeDO.getName() + "的出库库位类型" + businesstypeDO.getOutLocationTypes() + "不一致"); businesstypeDO.getName() + "的出库库位类型" + businesstypeDO.getOutLocationTypes() + "不一致");
} }
} }

Loading…
Cancel
Save