Browse Source

Merge branch 'master' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0

# Conflicts:
#	win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestMainController.java
master
宋国强 2 years ago
parent
commit
4bc87a3fff
  1. 3
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/ErrorCodeConstants.java
  2. 8
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java
  3. 16
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  4. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java
  5. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java
  6. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExcelVO.java
  7. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExportReqVO.java
  8. 52
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java
  9. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/businesstype/BusinesstypeController.java
  10. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/carrier/CarrierController.java
  11. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configurationsetting/vo/ConfigurationsettingExcelVO.java
  12. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java
  13. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java
  14. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java
  15. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java
  16. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainBaseVO.java
  17. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainUpdateReqVO.java
  18. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/vo/DemandforecastingMainUpdateReqVO.java
  19. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java
  20. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/documentsetting/DocumentsettingController.java
  21. 96
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectin/ExpectinController.java
  22. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectin/vo/ExpectinBaseVO.java
  23. 98
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java
  24. 118
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestMainController.java
  25. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestImportErrorVO.java
  26. 60
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestImportVO.java
  27. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java
  28. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainCreateReqVO.java
  29. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainExcelVO.java
  30. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainExportReqVO.java
  31. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainPageReqVO.java
  32. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainUpdateReqVO.java
  33. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/vo/InventorychangeRequestMainUpdateReqVO.java
  34. 45
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/ItembasicController.java
  35. 59
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/ItempackagingController.java
  36. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/jobsetting/JobsettingController.java
  37. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java
  38. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/LocationgroupController.java
  39. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/owner/OwnerController.java
  40. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/paramsetting/vo/ParamsettingExcelVO.java
  41. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/ProcessController.java
  42. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExcelVO.java
  43. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExportReqVO.java
  44. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/ProductionlineController.java
  45. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExcelVO.java
  46. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExportReqVO.java
  47. 33
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/ProductionlineitemController.java
  48. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestDetailController.java
  49. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestMainController.java
  50. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestImportErrorVO.java
  51. 45
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestImportVO.java
  52. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestMainBaseVO.java
  53. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestMainCreateReqVO.java
  54. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainUpdateReqVO.java
  55. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainBaseVO.java
  56. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/ProjectController.java
  57. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExcelVO.java
  58. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExportReqVO.java
  59. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java
  60. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java
  61. 52
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/PurchasepriceController.java
  62. 41
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java
  63. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobDetailBaseVO.java
  64. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainUpdateReqVO.java
  65. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailBaseVO.java
  66. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailExcelVO.java
  67. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailExportReqVO.java
  68. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailPageReqVO.java
  69. 171
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailBaseVO.java
  70. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailCreateReqVO.java
  71. 158
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailExcelVO.java
  72. 158
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailExportReqVO.java
  73. 163
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailPageReqVO.java
  74. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailRespVO.java
  75. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailUpdateReqVO.java
  76. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java
  77. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainBaseVO.java
  78. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportVO.java
  79. 50
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java
  80. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestImportErrorVO.java
  81. 81
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestImportVO.java
  82. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainBaseVO.java
  83. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainCreateReqVO.java
  84. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainUpdateReqVO.java
  85. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java
  86. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestDetailBaseVO.java
  87. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestImportErrorVO.java
  88. 63
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestImportVO.java
  89. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java
  90. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainCreateReqVO.java
  91. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainUpdateReqVO.java
  92. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/recordsetting/RecordsettingController.java
  93. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/requestsetting/RequestsettingController.java
  94. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/SalepriceController.java
  95. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/shift/ShiftController.java
  96. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/shift/vo/ShiftExcelVO.java
  97. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/shift/vo/ShiftExportReqVO.java
  98. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/StdcostpriceController.java
  99. 44
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/SupplierController.java
  100. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java

3
win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/ErrorCodeConstants.java

@ -69,7 +69,8 @@ public interface ErrorCodeConstants {
ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1_002_007_001, "当前字典数据不存在"); ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1_002_007_001, "当前字典数据不存在");
ErrorCode DICT_DATA_NOT_ENABLE = new ErrorCode(1_002_007_002, "字典数据({})不处于开启状态,不允许选择"); ErrorCode DICT_DATA_NOT_ENABLE = new ErrorCode(1_002_007_002, "字典数据({})不处于开启状态,不允许选择");
ErrorCode DICT_DATA_VALUE_DUPLICATE = new ErrorCode(1_002_007_003, "已经存在该值的字典数据"); ErrorCode DICT_DATA_VALUE_DUPLICATE = new ErrorCode(1_002_007_003, "已经存在该值的字典数据");
ErrorCode DICT_DATA_NOT_EXIST = new ErrorCode(1_002_007_004, "当前字典数据不存在【{}】");
ErrorCode DICT_LABLE_NOT_EXIST = new ErrorCode(1_002_007_005, "当前字典标签不存在【{}】");
// ========== 通知公告 1-002-008-000 ========== // ========== 通知公告 1-002-008-000 ==========
ErrorCode NOTICE_NOT_FOUND = new ErrorCode(1_002_008_001, "当前通知公告不存在"); ErrorCode NOTICE_NOT_FOUND = new ErrorCode(1_002_008_001, "当前通知公告不存在");

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

@ -200,10 +200,10 @@ public class DictDataServiceImpl implements DictDataService {
if(dictDataDO != null && 0 == dictDataDO.getStatus()){ if(dictDataDO != null && 0 == dictDataDO.getStatus()){
return dictDataDO; return dictDataDO;
}else { }else {
throw new UtilException( "字典类型" + ptype + "的数据" + plabel + "无效"); throw exception(DICT_DATA_NOT_EXIST, "字典类型" + ptype + "的数据" + plabel + "无效");
} }
}else { }else {
throw new UtilException( "字典类型" + ptype + "无效"); throw exception(DICT_DATA_NOT_EXIST, "字典类型" + ptype + "无效");
} }
} }
@ -215,7 +215,7 @@ public class DictDataServiceImpl implements DictDataService {
if(dictDataDO != null && 0 == dictDataDO.getStatus()){ if(dictDataDO != null && 0 == dictDataDO.getStatus()){
return dictDataDO; return dictDataDO;
}else { }else {
throw new UtilException( "未查到字典相关标签"); throw exception(DICT_LABLE_NOT_EXIST, "未查到字典相关标签");
} }
} }
@Override @Override
@ -226,7 +226,7 @@ public class DictDataServiceImpl implements DictDataService {
if(dictDataDO != null && 0 == dictDataDO.getStatus()){ if(dictDataDO != null && 0 == dictDataDO.getStatus()){
return dictDataDO; return dictDataDO;
}else { }else {
throw new UtilException( "未查到字典相关标签"); throw exception(DICT_DATA_NOT_EXIST, "未查到字典相关键值");
} }
} }
} }

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

@ -22,7 +22,7 @@ public interface ErrorCodeConstants {
ErrorCode ITEMBASIC_IS_PHANTOM_NOT_EXISTS = new ErrorCode(1_000_020_010, "虚零件不存在"); ErrorCode ITEMBASIC_IS_PHANTOM_NOT_EXISTS = new ErrorCode(1_000_020_010, "虚零件不存在");
ErrorCode ITEMBASIC_ABC_CLASS_NOT_EXISTS = new ErrorCode(1_000_020_011, "ABC类不存在"); ErrorCode ITEMBASIC_ABC_CLASS_NOT_EXISTS = new ErrorCode(1_000_020_011, "ABC类不存在");
ErrorCode ITEMBASIC_TYPE_NOT_EXISTS = new ErrorCode(1_000_020_012, "类型不存在"); ErrorCode ITEMBASIC_TYPE_NOT_EXISTS = new ErrorCode(1_000_020_012, "类型不存在");
ErrorCode ITEMBASIC_VALIDITY_DAYS_NOT_EXISTS = new ErrorCode(1_000_020_013, "有效天数不存在{}"); ErrorCode ITEMBASIC_VALIDITY_DAYS_NOT_EXISTS = new ErrorCode(1_000_020_013, "有效天数不存在");
ErrorCode ITEMBASIC_AVAIABLE_NOT_EXISTS = new ErrorCode(1_000_020_014, "是否可用不存在"); ErrorCode ITEMBASIC_AVAIABLE_NOT_EXISTS = new ErrorCode(1_000_020_014, "是否可用不存在");
ErrorCode ITEMBASIC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_020_015, "导入物品基础信息不能为空"); ErrorCode ITEMBASIC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_020_015, "导入物品基础信息不能为空");
ErrorCode ITEMBASIC_EXCEPTION = new ErrorCode(1_000_020_016, "物品基础信息错误:【{}】"); ErrorCode ITEMBASIC_EXCEPTION = new ErrorCode(1_000_020_016, "物品基础信息错误:【{}】");
@ -62,6 +62,7 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTIONLINEITEM_PRODUCT_LINE_COED_NOT_EXISTS = new ErrorCode(1_000_024_003, "产线代码不存在"); ErrorCode PRODUCTIONLINEITEM_PRODUCT_LINE_COED_NOT_EXISTS = new ErrorCode(1_000_024_003, "产线代码不存在");
ErrorCode PRODUCTIONLINEITEM_ITEM_CODE_NOT_EXISTS = new ErrorCode(1_000_024_004, "物品代码不存在"); ErrorCode PRODUCTIONLINEITEM_ITEM_CODE_NOT_EXISTS = new ErrorCode(1_000_024_004, "物品代码不存在");
ErrorCode PRODUCTIONLINEITEM_AVAILABLE_NOT_EXISTS = new ErrorCode(1_000_024_005, "是否可用不存在"); ErrorCode PRODUCTIONLINEITEM_AVAILABLE_NOT_EXISTS = new ErrorCode(1_000_024_005, "是否可用不存在");
ErrorCode PRODUCTIONLINEITEM_NOT_EXIST = new ErrorCode(1_000_024_006, "生产线物料关系不存在【{}】");
//采购价格单ErrorCode //采购价格单ErrorCode
ErrorCode SUPPLIER_NOT_EXISTS = new ErrorCode(1_000_025_000, "供应商不存在"); ErrorCode SUPPLIER_NOT_EXISTS = new ErrorCode(1_000_025_000, "供应商不存在");
ErrorCode SUPPLIER_NOT_EXISTSNO = new ErrorCode(1_000_025_001, "代码已存在"); ErrorCode SUPPLIER_NOT_EXISTSNO = new ErrorCode(1_000_025_001, "代码已存在");
@ -200,6 +201,7 @@ public interface ErrorCodeConstants {
ErrorCode WORKSTATION_PRODUECTION_LINE_CODE_NOT_EXISTS = new ErrorCode(1_000_040_005, "生产线代码不存在"); ErrorCode WORKSTATION_PRODUECTION_LINE_CODE_NOT_EXISTS = new ErrorCode(1_000_040_005, "生产线代码不存在");
ErrorCode WORKSTATION_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_040_006, "导入工序不能为空"); ErrorCode WORKSTATION_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_040_006, "导入工序不能为空");
ErrorCode WORKSTATION_PRODUECTION_LINE_CODE_AND_WORKSTATION_RELATION_ERROR = new ErrorCode(1_000_040_007, "生产线代码与工位不匹配"); ErrorCode WORKSTATION_PRODUECTION_LINE_CODE_AND_WORKSTATION_RELATION_ERROR = new ErrorCode(1_000_040_007, "生产线代码与工位不匹配");
ErrorCode WORKSTATION_RELATION_ERROR = new ErrorCode(1_000_040_008, "车间,生产线代码与工位不匹配【{}】");
//工序ErrorCode //工序ErrorCode
ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_000_041_000, "工序不存在"); ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_000_041_000, "工序不存在");
ErrorCode PROCESS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_041_001, "导入工序数据不能为空"); ErrorCode PROCESS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_041_001, "导入工序数据不能为空");
@ -373,6 +375,8 @@ public interface ErrorCodeConstants {
//采购订单主ErrorCode //采购订单主ErrorCode
ErrorCode PURCHASE_MAIN_NOT_EXISTS = new ErrorCode(1_000_063_000, "采购订单主不存在"); ErrorCode PURCHASE_MAIN_NOT_EXISTS = new ErrorCode(1_000_063_000, "采购订单主不存在");
ErrorCode PURCHASE_CLOSED_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单已关闭"); ErrorCode PURCHASE_CLOSED_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单已关闭");
ErrorCode PURCHASE_MAIN_CANNOT_CLOSE = new ErrorCode(1_000_073_004, "采购订单状态不支持关闭");
ErrorCode PURCHASE_MAIN_EXISTS = new ErrorCode(1_000_073_004, "采购订单存在要货计划任务单");
//采购订单子ErrorCode //采购订单子ErrorCode
ErrorCode PURCHASE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单子不存在"); ErrorCode PURCHASE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单子不存在");
ErrorCode PURCHASE_DETAIL_ARGUMENT_NOT_EXISTS = new ErrorCode(1_000_063_002, "采购订单明细:订单号ppo_number、订单行pline_number、零件号pitem_code无效"); ErrorCode PURCHASE_DETAIL_ARGUMENT_NOT_EXISTS = new ErrorCode(1_000_063_002, "采购订单明细:订单号ppo_number、订单行pline_number、零件号pitem_code无效");
@ -424,10 +428,13 @@ public interface ErrorCodeConstants {
//采购收货任务子ErrorCode //采购收货任务子ErrorCode
ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在"); ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在");
ErrorCode PURCHASERECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_074_001, "采购收货记录子不存在"); ErrorCode PURCHASERECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_074_001, "采购收货记录子不存在");
ErrorCode PURCHASERECEIPT_RECORD_DETAIL_EXCEPTION = new ErrorCode(1_000_074_002, "采购收货记录明细问题【{}】");
//采购退货申请主ErrorCode //采购退货申请主ErrorCode
ErrorCode PURCHASERETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_075_000, "采购退货申请主不存在"); ErrorCode PURCHASERETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_075_000, "采购退货申请主不存在");
//采购退货申请子ErrorCode //采购退货申请子ErrorCode
ErrorCode PURCHASERETURN_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_075_001, "采购退货申请子不存在"); ErrorCode PURCHASERETURN_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_075_001, "采购退货申请子不存在");
ErrorCode PURCHASERETURN_REQUEST_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_075_002, "采购退货申请导入数据不能为空");
//采购退货任务主ErrorCode //采购退货任务主ErrorCode
ErrorCode PURCHASERETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_076_000, "采购退货任务主不存在"); ErrorCode PURCHASERETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_076_000, "采购退货任务主不存在");
//采购退货任务子ErrorCode //采购退货任务子ErrorCode
@ -441,6 +448,7 @@ public interface ErrorCodeConstants {
ErrorCode INSPECT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_078_000, "检验申请主不存在"); ErrorCode INSPECT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_078_000, "检验申请主不存在");
//检验申请子ErrorCode //检验申请子ErrorCode
ErrorCode INSPECT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_078_001, "检验申请子不存在"); ErrorCode INSPECT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_078_001, "检验申请子不存在");
ErrorCode INSPECT_REQUEST_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_078_002, "检验申请导入数据不能为空");
//检验任务主ErrorCode //检验任务主ErrorCode
ErrorCode INSPECT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_079_000, "检验任务主不存在"); ErrorCode INSPECT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_079_000, "检验任务主不存在");
//检验任务子ErrorCode //检验任务子ErrorCode
@ -454,6 +462,7 @@ public interface ErrorCodeConstants {
ErrorCode PUTAWAY_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_081_000, "上架申请主不存在"); ErrorCode PUTAWAY_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_081_000, "上架申请主不存在");
//上架申请子ErrorCode //上架申请子ErrorCode
ErrorCode PUTAWAY_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_081_001, "上架申请子不存在"); ErrorCode PUTAWAY_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_081_001, "上架申请子不存在");
ErrorCode PUTAWAY_REQUEST_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_081_002, "上架申请导入数据不能为空");
//上架任务主ErrorCode //上架任务主ErrorCode
ErrorCode PUTAWAY_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_082_000, "上架任务主不存在"); ErrorCode PUTAWAY_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_082_000, "上架任务主不存在");
//上架任务子ErrorCode //上架任务子ErrorCode
@ -548,6 +557,7 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTIONRETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_097_000, "生产退料申请主不存在"); ErrorCode PRODUCTIONRETURN_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_097_000, "生产退料申请主不存在");
//生产退料申请子ErrorCode //生产退料申请子ErrorCode
ErrorCode PRODUCTIONRETURN_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_097_001, "生产退料申请子不存在"); ErrorCode PRODUCTIONRETURN_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_097_001, "生产退料申请子不存在");
ErrorCode PRODUCTIONRETURN_REQUEST_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_097_002, "导入生产退料申请不能为空");
//生产退料申请主ErrorCode //生产退料申请主ErrorCode
ErrorCode PRODUCTIONRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_098_000, "生产退料任务主不存在"); ErrorCode PRODUCTIONRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_098_000, "生产退料任务主不存在");
//生产退料任务子ErrorCode //生产退料任务子ErrorCode
@ -658,6 +668,8 @@ public interface ErrorCodeConstants {
ErrorCode SALE_MAIN_NOT_EXISTS = new ErrorCode(1_000_117_000, "销售订单主不存在"); ErrorCode SALE_MAIN_NOT_EXISTS = new ErrorCode(1_000_117_000, "销售订单主不存在");
ErrorCode SALE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_117_001, "销售订单子不存在"); ErrorCode SALE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_117_001, "销售订单子不存在");
//发货计划ErrorCode //发货计划ErrorCode
//发货计划导入不能为空
ErrorCode DELIVERPLAN_MAIN_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_020_015, "导入发货计划不能为空");
ErrorCode DELIVER_PLAN_MAIN_NOT_EXISTS = new ErrorCode(1_000_118_000, "发货计划主不存在"); ErrorCode DELIVER_PLAN_MAIN_NOT_EXISTS = new ErrorCode(1_000_118_000, "发货计划主不存在");
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
@ -671,6 +683,8 @@ public interface ErrorCodeConstants {
//发货记录ErrorCode //发货记录ErrorCode
ErrorCode DELIVER_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_121_000, "发货记录主不存在"); ErrorCode DELIVER_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_121_000, "发货记录主不存在");
ErrorCode DELIVER_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_121_001, "发货记录子不存在"); ErrorCode DELIVER_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_121_001, "发货记录子不存在");
ErrorCode DELIVER_RECORD_DETAIL_EXCEPTION = new ErrorCode(1_000_121_002, "发货记录问题:【{}】");
ErrorCode DELIVER_ORDER_DETAIL_EXCEPTION = new ErrorCode(1_000_121_003, "发货订单问题:【{}】");
//客户收货申请ErrorCode //客户收货申请ErrorCode
ErrorCode CUSTOMERRECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_122_000, "客户收货申请主不存在"); ErrorCode CUSTOMERRECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_122_000, "客户收货申请主不存在");
ErrorCode CUSTOMERRECEIPT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_122_001, "客户收货申请主不存在"); ErrorCode CUSTOMERRECEIPT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_122_001, "客户收货申请主不存在");

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java

@ -9,7 +9,9 @@ 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.accountcalendar.vo.*; import com.win.module.wms.controller.accountcalendar.vo.*;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarRespVO;
import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert; import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert;
import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.accountcalendar.AccountcalendarService; import com.win.module.wms.service.accountcalendar.AccountcalendarService;
@ -92,7 +94,13 @@ public class AccountcalendarController {
@PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')") @PreAuthorize("@ss.hasPermission('wms:accountcalendar:query')")
public CommonResult<PageResult<AccountcalendarRespVO>> getAccountcalendarPage(@Valid AccountcalendarPageReqVO pageVO) { public CommonResult<PageResult<AccountcalendarRespVO>> getAccountcalendarPage(@Valid AccountcalendarPageReqVO pageVO) {
PageResult<AccountcalendarDO> pageResult = accountcalendarService.getAccountcalendarPage(pageVO); PageResult<AccountcalendarDO> pageResult = accountcalendarService.getAccountcalendarPage(pageVO);
return success(AccountcalendarConvert.INSTANCE.convertPage(pageResult)); PageResult<AccountcalendarRespVO> result = AccountcalendarConvert.INSTANCE.convertPage(pageResult);
for(AccountcalendarRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java

@ -9,7 +9,9 @@ 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.areabasic.vo.*; import com.win.module.wms.controller.areabasic.vo.*;
import com.win.module.wms.controller.dock.vo.DockRespVO;
import com.win.module.wms.convert.areabasic.AreabasicConvert; import com.win.module.wms.convert.areabasic.AreabasicConvert;
import com.win.module.wms.convert.dock.DockConvert;
import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.areabasic.AreabasicService; import com.win.module.wms.service.areabasic.AreabasicService;
@ -91,7 +93,13 @@ public class AreabasicController {
@PreAuthorize("@ss.hasPermission('wms:areabasic:query')") @PreAuthorize("@ss.hasPermission('wms:areabasic:query')")
public CommonResult<PageResult<AreabasicRespVO>> getAreabasicPage(@Valid AreabasicPageReqVO pageVO) { public CommonResult<PageResult<AreabasicRespVO>> getAreabasicPage(@Valid AreabasicPageReqVO pageVO) {
PageResult<AreabasicDO> pageResult = areabasicService.getAreabasicPage(pageVO); PageResult<AreabasicDO> pageResult = areabasicService.getAreabasicPage(pageVO);
return success(AreabasicConvert.INSTANCE.convertPage(pageResult)); PageResult<AreabasicRespVO> result = AreabasicConvert.INSTANCE.convertPage(pageResult);
for(AreabasicRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExcelVO.java

@ -23,9 +23,6 @@ public class AreabasicExcelVO {
@ExcelProperty("名称") @ExcelProperty("名称")
private String name; private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty("仓库代码") @ExcelProperty("仓库代码")
private String warehouseCode; private String warehouseCode;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/vo/AreabasicExportReqVO.java

@ -18,9 +18,6 @@ public class AreabasicExportReqVO {
@Schema(description = "名称") @Schema(description = "名称")
private String name; private String name;
@Schema(description = "描述")
private String description;
@Schema(description = "仓库代码") @Schema(description = "仓库代码")
private String warehouseCode; private String warehouseCode;

52
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java

@ -9,8 +9,13 @@ 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.bom.vo.*; import com.win.module.wms.controller.bom.vo.*;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.itempackaging.vo.ItempackagingRespVO;
import com.win.module.wms.convert.bom.BomConvert; import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.itempackaging.ItempackagingConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO; import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.bom.BomService; import com.win.module.wms.service.bom.BomService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -78,21 +83,19 @@ public class BomController {
return success(BomConvert.INSTANCE.convert(bom)); return success(BomConvert.INSTANCE.convert(bom));
} }
@GetMapping("/list")
@Operation(summary = "获得物料清单列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:bom:query')")
public CommonResult<List<BomRespVO>> getBomList(@RequestParam("ids") Collection<Long> ids) {
List<BomDO> list = bomService.getBomList(ids);
return success(BomConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得物料清单分页") @Operation(summary = "获得物料清单分页")
@PreAuthorize("@ss.hasPermission('wms:bom:query')") @PreAuthorize("@ss.hasPermission('wms:bom:query')")
public CommonResult<PageResult<BomRespVO>> getBomPage(@Valid BomPageReqVO pageVO) { public CommonResult<PageResult<BomRespVO>> getBomPage(@Valid BomPageReqVO pageVO) {
PageResult<BomDO> pageResult = bomService.getBomPage(pageVO); PageResult<BomDO> pageResult = bomService.getBomPage(pageVO);
return success(BomConvert.INSTANCE.convertPage(pageResult)); PageResult<BomRespVO> result =BomConvert.INSTANCE.convertPage(pageResult);
for(BomRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@ -117,21 +120,34 @@ public class BomController {
public void exportBomExcel(@Valid BomExportReqVO exportReqVO, public void exportBomExcel(@Valid BomExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<BomDO> list = bomService.getBomList(exportReqVO); List<BomDO> list = bomService.getBomList(exportReqVO);
// 导出 Excel
List<BomExcelVO> datas = BomConvert.INSTANCE.convertList02(list);
for(BomExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
List<BomExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物品基本信息.xlsx", "数据", BomExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出物料清单 Excel")
@PreAuthorize("@ss.hasPermission('wms:bom:export')")
@OperateLog(type = EXPORT)
public void exportBomExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<BomDO> list = bomService.getBomList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<BomExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物料清单.xlsx", "数据", BomExcelVO.class, resultList, mapDropDown);
}
private List<BomExcelVO> getExcelVo(List<BomDO> list, Map<Integer, String[]> mapDropDown) {
String[] componentUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] componentUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(2, componentUom); mapDropDown.put(2, componentUom);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(7, available); mapDropDown.put(7, available);
ExcelUtils.write(response, "物料清单.xls", "数据", BomExcelVO.class, datas,mapDropDown); // 导出 Excel
List<BomExcelVO> resultList = BomConvert.INSTANCE.convertList02(list);
for(BomExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return resultList;
} }
@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 {

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/businesstype/BusinesstypeController.java

@ -9,7 +9,9 @@ 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.businesstype.vo.*; import com.win.module.wms.controller.businesstype.vo.*;
import com.win.module.wms.controller.transactiontype.vo.TransactiontypeRespVO;
import com.win.module.wms.convert.businesstype.BusinesstypeConvert; import com.win.module.wms.convert.businesstype.BusinesstypeConvert;
import com.win.module.wms.convert.transactiontype.TransactiontypeConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.businesstype.BusinesstypeService; import com.win.module.wms.service.businesstype.BusinesstypeService;
@ -92,7 +94,13 @@ public class BusinesstypeController {
@PreAuthorize("@ss.hasPermission('wms:businesstype:query')") @PreAuthorize("@ss.hasPermission('wms:businesstype:query')")
public CommonResult<PageResult<BusinesstypeRespVO>> getBusinesstypePage(@Valid BusinesstypePageReqVO pageVO) { public CommonResult<PageResult<BusinesstypeRespVO>> getBusinesstypePage(@Valid BusinesstypePageReqVO pageVO) {
PageResult<BusinesstypeDO> pageResult = businesstypeService.getBusinesstypePage(pageVO); PageResult<BusinesstypeDO> pageResult = businesstypeService.getBusinesstypePage(pageVO);
return success(BusinesstypeConvert.INSTANCE.convertPage(pageResult)); PageResult<BusinesstypeRespVO> result = BusinesstypeConvert.INSTANCE.convertPage(pageResult);
for(BusinesstypeRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/carrier/CarrierController.java

@ -11,7 +11,9 @@ import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.carrier.vo.CarrierExcelVO; import com.win.module.wms.controller.carrier.vo.CarrierExcelVO;
import com.win.module.wms.controller.carrier.vo.CarrierRespVO; import com.win.module.wms.controller.carrier.vo.CarrierRespVO;
import com.win.module.wms.controller.carrier.vo.*; import com.win.module.wms.controller.carrier.vo.*;
import com.win.module.wms.controller.owner.vo.OwnerRespVO;
import com.win.module.wms.convert.carrier.CarrierConvert; import com.win.module.wms.convert.carrier.CarrierConvert;
import com.win.module.wms.convert.owner.OwnerConvert;
import com.win.module.wms.dal.dataobject.carrier.CarrierDO; import com.win.module.wms.dal.dataobject.carrier.CarrierDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.carrier.CarrierService; import com.win.module.wms.service.carrier.CarrierService;
@ -94,7 +96,13 @@ public class CarrierController {
@PreAuthorize("@ss.hasPermission('wms:carrier:query')") @PreAuthorize("@ss.hasPermission('wms:carrier:query')")
public CommonResult<PageResult<CarrierRespVO>> getCarrierPage(@Valid CarrierPageReqVO pageVO) { public CommonResult<PageResult<CarrierRespVO>> getCarrierPage(@Valid CarrierPageReqVO pageVO) {
PageResult<CarrierDO> pageResult = carrierService.getCarrierPage(pageVO); PageResult<CarrierDO> pageResult = carrierService.getCarrierPage(pageVO);
return success(CarrierConvert.INSTANCE.convertPage(pageResult)); PageResult<CarrierRespVO> result = CarrierConvert.INSTANCE.convertPage(pageResult);
for(CarrierRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configurationsetting/vo/ConfigurationsettingExcelVO.java

@ -43,7 +43,8 @@ public class ConfigurationsettingExcelVO {
@ExcelProperty("描述") @ExcelProperty("描述")
private String description; private String description;
@ExcelProperty("必填") @ExcelProperty(value = "必填", converter = DictConvert.class)
@DictFormat("true_false")
private String isRequired; private String isRequired;
@ExcelProperty("创建时间") @ExcelProperty("创建时间")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java

@ -8,7 +8,9 @@ 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.accountcalendar.vo.AccountcalendarRespVO;
import com.win.module.wms.controller.currencyexchange.vo.*; import com.win.module.wms.controller.currencyexchange.vo.*;
import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert;
import com.win.module.wms.convert.currencyexchange.CurrencyexchangeConvert; import com.win.module.wms.convert.currencyexchange.CurrencyexchangeConvert;
import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -92,7 +94,13 @@ public class CurrencyexchangeController {
@PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')") @PreAuthorize("@ss.hasPermission('wms:currencyexchange:query')")
public CommonResult<PageResult<CurrencyexchangeRespVO>> getCurrencyexchangePage(@Valid CurrencyexchangePageReqVO pageVO) { public CommonResult<PageResult<CurrencyexchangeRespVO>> getCurrencyexchangePage(@Valid CurrencyexchangePageReqVO pageVO) {
PageResult<CurrencyexchangeDO> pageResult = currencyexchangeService.getCurrencyexchangePage(pageVO); PageResult<CurrencyexchangeDO> pageResult = currencyexchangeService.getCurrencyexchangePage(pageVO);
return success(CurrencyexchangeConvert.INSTANCE.convertPage(pageResult)); PageResult<CurrencyexchangeRespVO> result = CurrencyexchangeConvert.INSTANCE.convertPage(pageResult);
for(CurrencyexchangeRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得货币转换分页") @Operation(summary = "高级搜索获得货币转换分页")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java

@ -10,7 +10,9 @@ 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.customer.vo.CustomerImportExcelVo; import com.win.module.wms.controller.customer.vo.CustomerImportExcelVo;
import com.win.module.wms.controller.customer.vo.*; import com.win.module.wms.controller.customer.vo.*;
import com.win.module.wms.controller.itempackaging.vo.ItempackagingRespVO;
import com.win.module.wms.convert.customer.CustomerConvert; import com.win.module.wms.convert.customer.CustomerConvert;
import com.win.module.wms.convert.itempackaging.ItempackagingConvert;
import com.win.module.wms.dal.dataobject.customer.CustomerDO; import com.win.module.wms.dal.dataobject.customer.CustomerDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.customer.CustomerService; import com.win.module.wms.service.customer.CustomerService;
@ -92,7 +94,13 @@ public class CustomerController {
@PreAuthorize("@ss.hasPermission('wms:customer:query')") @PreAuthorize("@ss.hasPermission('wms:customer:query')")
public CommonResult<PageResult<CustomerRespVO>> getCustomerPage(@Valid CustomerPageReqVO pageVO) { public CommonResult<PageResult<CustomerRespVO>> getCustomerPage(@Valid CustomerPageReqVO pageVO) {
PageResult<CustomerDO> pageResult = customerService.getCustomerPage(pageVO); PageResult<CustomerDO> pageResult = customerService.getCustomerPage(pageVO);
return success(CustomerConvert.INSTANCE.convertPage(pageResult)); PageResult<CustomerRespVO> result = CustomerConvert.INSTANCE.convertPage(pageResult);
for(CustomerRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得客户分页") @Operation(summary = "高级搜索获得客户分页")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java

@ -8,7 +8,9 @@ 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.customer.vo.CustomerRespVO;
import com.win.module.wms.controller.customerdock.vo.*; import com.win.module.wms.controller.customerdock.vo.*;
import com.win.module.wms.convert.customer.CustomerConvert;
import com.win.module.wms.convert.customerdock.CustomerdockConvert; import com.win.module.wms.convert.customerdock.CustomerdockConvert;
import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -92,7 +94,13 @@ public class CustomerdockController {
@PreAuthorize("@ss.hasPermission('wms:customerdock:query')") @PreAuthorize("@ss.hasPermission('wms:customerdock:query')")
public CommonResult<PageResult<CustomerdockRespVO>> getCustomerdockPage(@Valid CustomerdockPageReqVO pageVO) { public CommonResult<PageResult<CustomerdockRespVO>> getCustomerdockPage(@Valid CustomerdockPageReqVO pageVO) {
PageResult<CustomerdockDO> pageResult = customerdockService.getCustomerdockPage(pageVO); PageResult<CustomerdockDO> pageResult = customerdockService.getCustomerdockPage(pageVO);
return success(CustomerdockConvert.INSTANCE.convertPage(pageResult)); PageResult<CustomerdockRespVO> result = CustomerdockConvert.INSTANCE.convertPage(pageResult);
for(CustomerdockRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得客户月台分页") @Operation(summary = "高级搜索获得客户月台分页")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java

@ -8,7 +8,9 @@ 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.customerdock.vo.CustomerdockRespVO;
import com.win.module.wms.controller.customeritem.vo.*; import com.win.module.wms.controller.customeritem.vo.*;
import com.win.module.wms.convert.customerdock.CustomerdockConvert;
import com.win.module.wms.convert.customeritem.CustomeritemConvert; import com.win.module.wms.convert.customeritem.CustomeritemConvert;
import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -92,7 +94,13 @@ public class CustomeritemController {
@PreAuthorize("@ss.hasPermission('wms:customeritem:query')") @PreAuthorize("@ss.hasPermission('wms:customeritem:query')")
public CommonResult<PageResult<CustomeritemRespVO>> getCustomeritemPage(@Valid CustomeritemPageReqVO pageVO) { public CommonResult<PageResult<CustomeritemRespVO>> getCustomeritemPage(@Valid CustomeritemPageReqVO pageVO) {
PageResult<CustomeritemDO> pageResult = customeritemService.getCustomeritemPage(pageVO); PageResult<CustomeritemDO> pageResult = customeritemService.getCustomeritemPage(pageVO);
return success(CustomeritemConvert.INSTANCE.convertPage(pageResult)); PageResult<CustomeritemRespVO> result = CustomeritemConvert.INSTANCE.convertPage(pageResult);
for(CustomeritemRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得客户物品分页") @Operation(summary = "高级搜索获得客户物品分页")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainBaseVO.java

@ -1,16 +1,9 @@
package com.win.module.wms.controller.deliverPlan.vo; package com.win.module.wms.controller.deliverPlan.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
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 org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/** /**

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainUpdateReqVO.java

@ -1,12 +1,20 @@
package com.win.module.wms.controller.deliverPlan.vo; package com.win.module.wms.controller.deliverPlan.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
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 DeliverPlanMainUpdateReqVO extends DeliverPlanMainBaseVO { public class DeliverPlanMainUpdateReqVO extends DeliverPlanMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<DeliverPlanDetailUpdateReqVO> subList;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/vo/DemandforecastingMainUpdateReqVO.java

@ -1,12 +1,19 @@
package com.win.module.wms.controller.demandforecasting.vo; package com.win.module.wms.controller.demandforecasting.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
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 DemandforecastingMainUpdateReqVO extends DemandforecastingMainBaseVO { public class DemandforecastingMainUpdateReqVO extends DemandforecastingMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<DemandforecastingDetailUpdateReqVO> subList;
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java

@ -8,7 +8,9 @@ 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.dock.vo.*; import com.win.module.wms.controller.dock.vo.*;
import com.win.module.wms.controller.warehouse.vo.WarehouseRespVO;
import com.win.module.wms.convert.dock.DockConvert; import com.win.module.wms.convert.dock.DockConvert;
import com.win.module.wms.convert.warehouse.WarehouseConvert;
import com.win.module.wms.dal.dataobject.dock.DockDO; import com.win.module.wms.dal.dataobject.dock.DockDO;
import com.win.module.wms.dal.mysql.dock.DockMapper; import com.win.module.wms.dal.mysql.dock.DockMapper;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -93,7 +95,13 @@ public class DockController {
@PreAuthorize("@ss.hasPermission('wms:dock:query')") @PreAuthorize("@ss.hasPermission('wms:dock:query')")
public CommonResult<PageResult<DockRespVO>> getDockPage(@Valid DockPageReqVO pageVO) { public CommonResult<PageResult<DockRespVO>> getDockPage(@Valid DockPageReqVO pageVO) {
PageResult<DockDO> pageResult = dockService.getDockPage(pageVO); PageResult<DockDO> pageResult = dockService.getDockPage(pageVO);
return success(DockConvert.INSTANCE.convertPage(pageResult)); PageResult<DockRespVO> result = DockConvert.INSTANCE.convertPage(pageResult);
for(DockRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/documentsetting/DocumentsettingController.java

@ -8,7 +8,9 @@ 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.businesstype.vo.BusinesstypeRespVO;
import com.win.module.wms.controller.documentsetting.vo.*; import com.win.module.wms.controller.documentsetting.vo.*;
import com.win.module.wms.convert.businesstype.BusinesstypeConvert;
import com.win.module.wms.convert.documentsetting.DocumentsettingConvert; import com.win.module.wms.convert.documentsetting.DocumentsettingConvert;
import com.win.module.wms.dal.dataobject.documentsetting.DocumentsettingDO; import com.win.module.wms.dal.dataobject.documentsetting.DocumentsettingDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -92,7 +94,13 @@ public class DocumentsettingController {
@PreAuthorize("@ss.hasPermission('wms:documentsetting:query')") @PreAuthorize("@ss.hasPermission('wms:documentsetting:query')")
public CommonResult<PageResult<DocumentsettingRespVO>> getDocumentsettingPage(@Valid DocumentsettingPageReqVO pageVO) { public CommonResult<PageResult<DocumentsettingRespVO>> getDocumentsettingPage(@Valid DocumentsettingPageReqVO pageVO) {
PageResult<DocumentsettingDO> pageResult = documentsettingService.getDocumentsettingPage(pageVO); PageResult<DocumentsettingDO> pageResult = documentsettingService.getDocumentsettingPage(pageVO);
return success(DocumentsettingConvert.INSTANCE.convertPage(pageResult)); PageResult<DocumentsettingRespVO> result = DocumentsettingConvert.INSTANCE.convertPage(pageResult);
for(DocumentsettingRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")

96
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectin/ExpectinController.java

@ -1,34 +1,34 @@
package com.win.module.wms.controller.expectin; package com.win.module.wms.controller.expectin;
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.excel.core.util.ExcelUtils;
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 org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.expectin.vo.ExpectinExcelVO;
import javax.annotation.Resource; import com.win.module.wms.controller.expectin.vo.ExpectinExportReqVO;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.controller.expectin.vo.ExpectinPageReqVO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.controller.expectin.vo.ExpectinRespVO;
import io.swagger.v3.oas.annotations.tags.Tag; import com.win.module.wms.convert.expectin.ExpectinConvert;
import io.swagger.v3.oas.annotations.Parameter; import com.win.module.wms.dal.dataobject.expectin.ExpectinDO;
import com.win.module.wms.service.expectin.ExpectinService;
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.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.servlet.http.HttpServletResponse;
import java.util.*; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
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 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.expectin.vo.*;
import com.win.module.wms.dal.dataobject.expectin.ExpectinDO;
import com.win.module.wms.convert.expectin.ExpectinConvert;
import com.win.module.wms.service.expectin.ExpectinService;
@Tag(name = "管理后台 - 预计入库存") @Tag(name = "管理后台 - 预计入库存")
@RestController @RestController
@ -42,28 +42,22 @@ public class ExpectinController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create") @DeleteMapping("/delete")
@Operation(summary = "创建预计入库存") @Operation(summary = "根据任务号删除预计入库存")
@PreAuthorize("@ss.hasPermission('wms:expectin:create')") @Parameter(name = "jobNumber", description = "任务号", required = true)
public CommonResult<String> createExpectin(@Valid @RequestBody ExpectinCreateReqVO createReqVO) { @PreAuthorize("@ss.hasPermission('wms:expectin:delete')")
return success(expectinService.createExpectin(createReqVO)); public CommonResult<Boolean> deleteExpectin(@RequestParam("jobNumber") String jobNumber) {
} Integer result = expectinService.deleteExpectinByJobNumber(jobNumber);
return success(result > 0);
@PutMapping("/update")
@Operation(summary = "更新预计入库存")
@PreAuthorize("@ss.hasPermission('wms:expectin:update')")
public CommonResult<Boolean> updateExpectin(@Valid @RequestBody ExpectinUpdateReqVO updateReqVO) {
expectinService.updateExpectin(updateReqVO);
return success(true);
} }
@DeleteMapping("/delete") @DeleteMapping("/deleteByJobNumber")
@Operation(summary = "删除预计入库存") @Operation(summary = "删除预计入库存")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:expectin:delete')") @PreAuthorize("@ss.hasPermission('wms:expectin:delete')")
public CommonResult<Boolean> deleteExpectin(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteExpectin(@RequestParam("id") Long id) {
expectinService.deleteExpectin(id); Integer result = expectinService.deleteExpectin(id);
return success(true); return success(result > 0);
} }
@GetMapping("/get") @GetMapping("/get")
@ -75,15 +69,6 @@ public class ExpectinController {
return success(ExpectinConvert.INSTANCE.convert(expectin)); return success(ExpectinConvert.INSTANCE.convert(expectin));
} }
@GetMapping("/list")
@Operation(summary = "获得预计入库存列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:expectin:query')")
public CommonResult<List<ExpectinRespVO>> getExpectinList(@RequestParam("ids") Collection<String> ids) {
List<ExpectinDO> list = expectinService.getExpectinList(ids);
return success(ExpectinConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得预计入库存分页") @Operation(summary = "获得预计入库存分页")
@PreAuthorize("@ss.hasPermission('wms:expectin:query')") @PreAuthorize("@ss.hasPermission('wms:expectin:query')")
@ -110,14 +95,25 @@ public class ExpectinController {
@Operation(summary = "导出预计入库存 Excel") @Operation(summary = "导出预计入库存 Excel")
@PreAuthorize("@ss.hasPermission('wms:expectin:export')") @PreAuthorize("@ss.hasPermission('wms:expectin:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportExpectinExcel(@Valid ExpectinExportReqVO exportReqVO, public void exportExpectinExcel(@Valid ExpectinExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<ExpectinDO> list = expectinService.getExpectinList(exportReqVO); List<ExpectinDO> list = expectinService.getExpectinList(exportReqVO);
// 导出 Excel
List<ExpectinExcelVO> datas = ExpectinConvert.INSTANCE.convertList02(list); List<ExpectinExcelVO> datas = ExpectinConvert.INSTANCE.convertList02(list);
for(ExpectinExcelVO vo : datas) { for(ExpectinExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "预计入库存.xls", "数据", ExpectinExcelVO.class, datas);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出预计入库存 Excel")
@PreAuthorize("@ss.hasPermission('wms:expectin:export')")
@OperateLog(type = EXPORT)
public void exportExpectinExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<ExpectinDO> list = expectinService.getExpectinList(conditions);
List<ExpectinExcelVO> datas = ExpectinConvert.INSTANCE.convertList02(list);
for(ExpectinExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
} }
ExcelUtils.write(response, "预计入库存.xls", "数据", ExpectinExcelVO.class, datas); ExcelUtils.write(response, "预计入库存.xls", "数据", ExpectinExcelVO.class, datas);

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectin/vo/ExpectinBaseVO.java

@ -1,10 +1,10 @@
package com.win.module.wms.controller.expectin.vo; package com.win.module.wms.controller.expectin.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.*;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import javax.validation.constraints.*;
/** /**
* 预计入库存 Base VO提供给添加修改详细的子 VO 使用 * 预计入库存 Base VO提供给添加修改详细的子 VO 使用

98
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java

@ -1,34 +1,34 @@
package com.win.module.wms.controller.expectout; package com.win.module.wms.controller.expectout;
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.excel.core.util.ExcelUtils;
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 org.springframework.web.bind.annotation.*; import com.win.module.wms.controller.expectout.vo.ExpectoutExcelVO;
import javax.annotation.Resource; import com.win.module.wms.controller.expectout.vo.ExpectoutExportReqVO;
import org.springframework.validation.annotation.Validated; import com.win.module.wms.controller.expectout.vo.ExpectoutPageReqVO;
import org.springframework.security.access.prepost.PreAuthorize; import com.win.module.wms.controller.expectout.vo.ExpectoutRespVO;
import io.swagger.v3.oas.annotations.tags.Tag; import com.win.module.wms.convert.expectout.ExpectoutConvert;
import io.swagger.v3.oas.annotations.Parameter; import com.win.module.wms.dal.dataobject.expectout.ExpectoutDO;
import com.win.module.wms.service.expectout.ExpectoutService;
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.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.servlet.http.HttpServletResponse;
import java.util.*; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
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 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.expectout.vo.*;
import com.win.module.wms.dal.dataobject.expectout.ExpectoutDO;
import com.win.module.wms.convert.expectout.ExpectoutConvert;
import com.win.module.wms.service.expectout.ExpectoutService;
@Tag(name = "管理后台 - 预计出库存") @Tag(name = "管理后台 - 预计出库存")
@RestController @RestController
@ -42,28 +42,22 @@ public class ExpectoutController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建预计出库存")
@PreAuthorize("@ss.hasPermission('wms:expectout:create')")
public CommonResult<String> createExpectout(@Valid @RequestBody ExpectoutCreateReqVO createReqVO) {
return success(expectoutService.createExpectout(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新预计出库存")
@PreAuthorize("@ss.hasPermission('wms:expectout:update')")
public CommonResult<Boolean> updateExpectout(@Valid @RequestBody ExpectoutUpdateReqVO updateReqVO) {
expectoutService.updateExpectout(updateReqVO);
return success(true);
}
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除预计出库存") @Operation(summary = "删除预计出库存")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:expectout:delete')") @PreAuthorize("@ss.hasPermission('wms:expectout:delete')")
public CommonResult<Boolean> deleteExpectout(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteExpectout(@RequestParam("id") Long id) {
expectoutService.deleteExpectout(id); int result = expectoutService.deleteExpectout(id);
return success(true); return success(result > 0);
}
@DeleteMapping("/deleteByJobNumber")
@Operation(summary = "根据任务号删除预计出库存")
@Parameter(name = "jobNumber", description = "任务号", required = true)
@PreAuthorize("@ss.hasPermission('wms:expectout:delete')")
public CommonResult<Boolean> deleteExpectout(@RequestParam("jobNumber") String jobNumber) {
int result = expectoutService.deleteExpectoutByJobNumber(jobNumber);
return success(result > 0);
} }
@GetMapping("/get") @GetMapping("/get")
@ -75,15 +69,6 @@ public class ExpectoutController {
return success(ExpectoutConvert.INSTANCE.convert(expectout)); return success(ExpectoutConvert.INSTANCE.convert(expectout));
} }
@GetMapping("/list")
@Operation(summary = "获得预计出库存列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:expectout:query')")
public CommonResult<List<ExpectoutRespVO>> getExpectoutList(@RequestParam("ids") Collection<String> ids) {
List<ExpectoutDO> list = expectoutService.getExpectoutList(ids);
return success(ExpectoutConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得预计出库存分页") @Operation(summary = "获得预计出库存分页")
@PreAuthorize("@ss.hasPermission('wms:expectout:query')") @PreAuthorize("@ss.hasPermission('wms:expectout:query')")
@ -110,14 +95,25 @@ public class ExpectoutController {
@Operation(summary = "导出预计出库存 Excel") @Operation(summary = "导出预计出库存 Excel")
@PreAuthorize("@ss.hasPermission('wms:expectout:export')") @PreAuthorize("@ss.hasPermission('wms:expectout:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportExpectoutExcel(@Valid ExpectoutExportReqVO exportReqVO, public void exportExpectoutExcel(@Valid ExpectoutExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<ExpectoutDO> list = expectoutService.getExpectoutList(exportReqVO); List<ExpectoutDO> list = expectoutService.getExpectoutList(exportReqVO);
// 导出 Excel
List<ExpectoutExcelVO> datas = ExpectoutConvert.INSTANCE.convertList02(list); List<ExpectoutExcelVO> datas = ExpectoutConvert.INSTANCE.convertList02(list);
for(ExpectoutExcelVO vo : datas) { for(ExpectoutExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "预计出库存.xls", "数据", ExpectoutExcelVO.class, datas);
}
@GetMapping("/export-excel-senior")
@Operation(summary = "导出预计出库存 Excel")
@PreAuthorize("@ss.hasPermission('wms:expectout:export')")
@OperateLog(type = EXPORT)
public void exportExpectoutExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<ExpectoutDO> list = expectoutService.getExpectoutList(conditions);
List<ExpectoutExcelVO> datas = ExpectoutConvert.INSTANCE.convertList02(list);
for(ExpectoutExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
} }
ExcelUtils.write(response, "预计出库存.xls", "数据", ExpectoutExcelVO.class, datas); ExcelUtils.write(response, "预计出库存.xls", "数据", ExpectoutExcelVO.class, datas);

118
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/InspectRequestMainController.java

@ -1,44 +1,38 @@
package com.win.module.wms.controller.inspectRequest; package com.win.module.wms.controller.inspectRequest;
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.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils;
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.inspectRequest.vo.*; import com.win.module.wms.controller.inspectRequest.vo.*;
import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailExcelVO; import com.win.module.wms.convert.inspectRequest.InspectRequestMainConvert;
import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailExportReqVO; import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestMainDO;
import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestMainRespVO; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.convert.inspectRequest.InspectRequestDetailConvert; import com.win.module.wms.service.inspectRequest.InspectRequestMainService;
import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert;
import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert;
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO;
import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO;
import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO;
import com.win.module.wms.service.inspectRequest.InspectRequestDetailService;
import org.springframework.web.bind.annotation.*;
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 io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.*; import javax.annotation.Resource;
import javax.servlet.http.*; import javax.servlet.http.HttpServletResponse;
import java.util.*; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
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 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.dal.dataobject.inspectRequest.InspectRequestMainDO;
import com.win.module.wms.convert.inspectRequest.InspectRequestMainConvert;
import com.win.module.wms.service.inspectRequest.InspectRequestMainService;
@Tag(name = "管理后台 - 检验申请主") @Tag(name = "管理后台 - 检验申请主")
@RestController @RestController
@ -48,9 +42,6 @@ public class InspectRequestMainController {
@Resource @Resource
private InspectRequestMainService inspectRequestMainService; private InspectRequestMainService inspectRequestMainService;
@Resource
private InspectRequestDetailService inspectRequestDetailService;
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@ -65,8 +56,8 @@ public class InspectRequestMainController {
@Operation(summary = "更新检验申请主") @Operation(summary = "更新检验申请主")
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:update')") @PreAuthorize("@ss.hasPermission('wms:inspect-request-main:update')")
public CommonResult<Boolean> updateInspectRequestMain(@Valid @RequestBody InspectRequestMainUpdateReqVO updateReqVO) { public CommonResult<Boolean> updateInspectRequestMain(@Valid @RequestBody InspectRequestMainUpdateReqVO updateReqVO) {
inspectRequestMainService.updateInspectRequestMain(updateReqVO); int result = inspectRequestMainService.updateInspectRequestMain(updateReqVO);
return success(true); return success(result > 0);
} }
@DeleteMapping("/delete") @DeleteMapping("/delete")
@ -74,8 +65,8 @@ public class InspectRequestMainController {
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:delete')") @PreAuthorize("@ss.hasPermission('wms:inspect-request-main:delete')")
public CommonResult<Boolean> deleteInspectRequestMain(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteInspectRequestMain(@RequestParam("id") Long id) {
inspectRequestMainService.deleteInspectRequestMain(id); int result = inspectRequestMainService.deleteInspectRequestMain(id);
return success(true); return success(result > 0);
} }
@GetMapping("/get") @GetMapping("/get")
@ -133,22 +124,43 @@ public class InspectRequestMainController {
ExcelUtils.write(response, "检验申请主.xls", "数据", InspectRequestMainExcelVO.class, datas); ExcelUtils.write(response, "检验申请主.xls", "数据", InspectRequestMainExcelVO.class, datas);
} }
@GetMapping("/getInspectRequestById") @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:inspect-request-main:query')") // 手动创建导出 demo
public CommonResult<InspectRequestMainRespVO> getInspectRequestById(@RequestParam("id") Long id) { List<InspectRequestImportVO> list = new ArrayList<>();
InspectRequestMainDO inspectRequestMain = inspectRequestMainService.getInspectRequestMain(id); Map<Integer, String[]> mapDropDown = new HashMap<>();
InspectRequestMainRespVO result = InspectRequestMainConvert.INSTANCE.convert(inspectRequestMain); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
if(result==null) { mapDropDown.put(8, uom);
return success(result); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
}; mapDropDown.put(9, inventoryStatus);
InspectRequestDetailExportReqVO reqVO = new InspectRequestDetailExportReqVO(); // 输出
reqVO.setMasterId(result.getId()); ExcelUtils.write(response, "检验申请信息导入模板.xlsx", "检验申请信息列表", InspectRequestImportVO.class, list, mapDropDown);
List<InspectRequestDetailDO> list = inspectRequestDetailService.getInspectRequestDetailList(reqVO);
List<InspectRequestDetailExcelVO> vos = InspectRequestDetailConvert.INSTANCE.convertList02(list);
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: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<InspectRequestImportVO> list = ExcelUtils.read(file, InspectRequestImportVO.class);
ConvertUtil<InspectRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(InspectRequestMainCreateReqVO.class);
List<InspectRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<InspectRequestImportErrorVO> errorList = inspectRequestMainService.importInspectRequestList(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);
}
} }

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestImportErrorVO.java

@ -0,0 +1,25 @@
package com.win.module.wms.controller.inspectRequest.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 InspectRequestImportErrorVO extends InspectRequestImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

60
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestImportVO.java

@ -0,0 +1,60 @@
package com.win.module.wms.controller.inspectRequest.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;
/**
* 供应商发票申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class InspectRequestImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("采购收货记录单号")
private String purchaseReceiptRecordNumber;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@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;
}

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java

@ -1,15 +1,14 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.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.Data;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/** /**
@ -30,6 +29,7 @@ public class InspectRequestMainBaseVO {
@NotNull(message = "供应商代码不能为空") @NotNull(message = "供应商代码不能为空")
private String supplierCode; private String supplierCode;
@OnlyOne
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空") @NotNull(message = "单据号不能为空")
private String number; private String number;
@ -113,11 +113,11 @@ public class InspectRequestMainBaseVO {
@Schema(description = "收货数量", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "收货数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "收货数量不能为空") @NotNull(message = "收货数量不能为空")
private Integer receiveQty; private BigDecimal receiveQty;
@Schema(description = "样品数量", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "样品数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "样品数量不能为空") @NotNull(message = "样品数量不能为空")
private Integer sampleQty; private BigDecimal sampleQty;
@Schema(description = "货主代码") @Schema(description = "货主代码")
private String ownerCode; private String ownerCode;

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainCreateReqVO.java

@ -1,12 +1,20 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO;
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 InspectRequestMainCreateReqVO extends InspectRequestMainBaseVO { public class InspectRequestMainCreateReqVO extends InspectRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<InspectRequestDetailCreateReqVO> subList;
} }

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainExcelVO.java

@ -1,16 +1,12 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -100,10 +96,10 @@ public class InspectRequestMainExcelVO {
private String uom; private String uom;
@ExcelProperty("收货数量") @ExcelProperty("收货数量")
private Integer receiveQty; private BigDecimal receiveQty;
@ExcelProperty("样品数量") @ExcelProperty("样品数量")
private Integer sampleQty; private BigDecimal sampleQty;
@ExcelProperty("货主代码") @ExcelProperty("货主代码")
private String ownerCode; private String ownerCode;

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainExportReqVO.java

@ -1,12 +1,12 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam; import lombok.Data;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat; 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; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 检验申请主 Excel 导出 Request VO,参数和 InspectRequestMainPageReqVO 是一致的") @Schema(description = "管理后台 - 检验申请主 Excel 导出 Request VO,参数和 InspectRequestMainPageReqVO 是一致的")
@ -90,10 +90,10 @@ public class InspectRequestMainExportReqVO {
private String uom; private String uom;
@Schema(description = "收货数量") @Schema(description = "收货数量")
private Integer receiveQty; private BigDecimal receiveQty;
@Schema(description = "样品数量") @Schema(description = "样品数量")
private Integer sampleQty; private BigDecimal sampleQty;
@Schema(description = "货主代码") @Schema(description = "货主代码")
private String ownerCode; private String ownerCode;

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainPageReqVO.java

@ -1,10 +1,13 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam; import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -92,10 +95,10 @@ public class InspectRequestMainPageReqVO extends PageParam {
private String uom; private String uom;
@Schema(description = "收货数量") @Schema(description = "收货数量")
private Integer receiveQty; private BigDecimal receiveQty;
@Schema(description = "样品数量") @Schema(description = "样品数量")
private Integer sampleQty; private BigDecimal sampleQty;
@Schema(description = "货主代码") @Schema(description = "货主代码")
private String ownerCode; private String ownerCode;

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainUpdateReqVO.java

@ -1,12 +1,19 @@
package com.win.module.wms.controller.inspectRequest.vo; package com.win.module.wms.controller.inspectRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
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 InspectRequestMainUpdateReqVO extends InspectRequestMainBaseVO { public class InspectRequestMainUpdateReqVO extends InspectRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<InspectRequestDetailUpdateReqVO> subList;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/vo/InventorychangeRequestMainUpdateReqVO.java

@ -1,12 +1,19 @@
package com.win.module.wms.controller.inventorychangeRequest.vo; package com.win.module.wms.controller.inventorychangeRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
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 InventorychangeRequestMainUpdateReqVO extends InventorychangeRequestMainBaseVO { public class InventorychangeRequestMainUpdateReqVO extends InventorychangeRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<InventorychangeRequestDetailUpdateReqVO> subList;
} }

45
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itembasic/ItembasicController.java

@ -9,6 +9,8 @@ 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.purchasereceiptRequest.vo.PurchasereceiptRequestMainExcelVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.controller.itembasic.vo.*; import com.win.module.wms.controller.itembasic.vo.*;
import com.win.module.wms.convert.itembasic.ItembasicConvert; import com.win.module.wms.convert.itembasic.ItembasicConvert;
@ -20,6 +22,7 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters; 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.stereotype.Component;
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;
@ -105,15 +108,6 @@ public class ItembasicController {
return success(ItembasicConvert.INSTANCE.convert(itembasic)); return success(ItembasicConvert.INSTANCE.convert(itembasic));
} }
@GetMapping("/list")
@Operation(summary = "获得物品基本信息列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:itembasic:query')")
public CommonResult<List<ItembasicRespVO>> getItembasicList(@RequestParam("ids") Collection<Long> ids) {
List<ItembasicDO> list = itembasicService.getItembasicList(ids);
return success(ItembasicConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得物品基本信息分页") @Operation(summary = "获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:itembasic:query')") @PreAuthorize("@ss.hasPermission('wms:itembasic:query')")
@ -149,21 +143,28 @@ public class ItembasicController {
public void exportItembasicExcel(@Valid ItembasicExportReqVO exportReqVO, public void exportItembasicExcel(@Valid ItembasicExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<ItembasicDO> list = itembasicService.getItembasicList(exportReqVO); List<ItembasicDO> list = itembasicService.getItembasicList(exportReqVO);
// 导出 Excel
List<ItembasicExcelVO> datas = ItembasicConvert.INSTANCE.convertList02(list);
for(ItembasicExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ItembasicExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物品基本信息.xlsx", "数据", ItembasicExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出物品基本信息 Excel")
@PreAuthorize("@ss.hasPermission('wms:itembasic:export')")
@OperateLog(type = EXPORT)
public void exportItembasicExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<ItembasicDO> list = itembasicService.getItembasicList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ItembasicExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物品基本信息.xlsx", "数据", ItembasicExcelVO.class, resultList, mapDropDown);
}
private List<ItembasicExcelVO> getExcelVo(List<ItembasicDO> list, Map<Integer, String[]> mapDropDown) {
String[] status = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.ITEM_STATUS); String[] status = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.ITEM_STATUS);
mapDropDown.put(4, status); mapDropDown.put(4, status);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(5, uom); mapDropDown.put(5, uom);
String[] altUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] altUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(6, altUom); mapDropDown.put(6, altUom);
mapDropDown.put(6, altUom);
String[] isStdPack = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] isStdPack = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(7, isStdPack); mapDropDown.put(7, isStdPack);
String[] enableBuy = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] enableBuy = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
@ -192,8 +193,16 @@ public class ItembasicController {
mapDropDown.put(20, eqLevel); mapDropDown.put(20, eqLevel);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(22, available); mapDropDown.put(22, available);
ExcelUtils.write(response, "物品基本信息.xlsx", "数据", ItembasicExcelVO.class, datas,mapDropDown); // 导出 Excel
List<ItembasicExcelVO> resultList = ItembasicConvert.INSTANCE.convertList02(list);
for(ItembasicExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return resultList;
} }
@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 {

59
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/itempackaging/ItempackagingController.java

@ -8,8 +8,12 @@ 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.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.itembasic.vo.ItembasicRespVO;
import com.win.module.wms.controller.itempackaging.vo.*; import com.win.module.wms.controller.itempackaging.vo.*;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.itempackaging.ItempackagingConvert; import com.win.module.wms.convert.itempackaging.ItempackagingConvert;
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.itempackaging.ItempackagingDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.itempackaging.ItempackagingService; import com.win.module.wms.service.itempackaging.ItempackagingService;
@ -77,21 +81,27 @@ public class ItempackagingController {
return success(ItempackagingConvert.INSTANCE.convert(itempackaging)); return success(ItempackagingConvert.INSTANCE.convert(itempackaging));
} }
@GetMapping("/list") // @GetMapping("/list")
@Operation(summary = "获得物品包装信息 列表") // @Operation(summary = "获得物品包装信息 列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") // @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") // @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')")
public CommonResult<List<ItempackagingRespVO>> getItempackagingList(@RequestParam("ids") Collection<Long> ids) { // public CommonResult<List<ItempackagingRespVO>> getItempackagingList(@RequestParam("ids") Collection<Long> ids) {
List<ItempackagingDO> list = itempackagingService.getItempackagingList(ids); // List<ItempackagingDO> list = itempackagingService.getItempackagingList(ids);
return success(ItempackagingConvert.INSTANCE.convertList(list)); // return success(ItempackagingConvert.INSTANCE.convertList(list));
} // }
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得物品包装信息分页") @Operation(summary = "获得物品包装信息分页")
@PreAuthorize("@ss.hasPermission('wms:itempackaging:query')") @PreAuthorize("@ss.hasPermission('wms:itempackaging:query')")
public CommonResult<PageResult<ItempackagingRespVO>> getItempackagingPage(@Valid ItempackagingPageReqVO pageVO) { public CommonResult<PageResult<ItempackagingRespVO>> getItempackagingPage(@Valid ItempackagingPageReqVO pageVO) {
PageResult<ItempackagingDO> pageResult = itempackagingService.getItempackagingPage(pageVO); PageResult<ItempackagingDO> pageResult = itempackagingService.getItempackagingPage(pageVO);
return success(ItempackagingConvert.INSTANCE.convertPage(pageResult)); PageResult<ItempackagingRespVO> result = ItempackagingConvert.INSTANCE.convertPage(pageResult);
for(ItempackagingRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@ -114,14 +124,21 @@ public class ItempackagingController {
public void exportItempackagingExcel(@Valid ItempackagingExportReqVO exportReqVO, public void exportItempackagingExcel(@Valid ItempackagingExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<ItempackagingDO> list = itempackagingService.getItempackagingList(exportReqVO); List<ItempackagingDO> list = itempackagingService.getItempackagingList(exportReqVO);
// 导出 Excel
List<ItempackagingExcelVO> datas = ItempackagingConvert.INSTANCE.convertList02(list);
for(ItempackagingExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ItempackagingExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物品基本信息.xlsx", "数据", ItempackagingExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出物品包装信息 Excel")
@PreAuthorize("@ss.hasPermission('wms:itembasic:export')")
@OperateLog(type = EXPORT)
public void exportItempackagingExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<ItempackagingDO> list = itempackagingService.getItempackagingList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ItempackagingExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物品包装信息.xlsx", "数据", ItempackagingExcelVO.class, resultList, mapDropDown);
}
private List<ItempackagingExcelVO> getExcelVo(List<ItempackagingDO> list, Map<Integer, String[]> mapDropDown) {
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(1, uom); mapDropDown.put(1, uom);
String[] description = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] description = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
@ -136,9 +153,17 @@ public class ItempackagingController {
mapDropDown.put(11, altPackUnit4);; mapDropDown.put(11, altPackUnit4);;
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(13, available);; mapDropDown.put(13, available);;
ExcelUtils.write(response, "物品包装信息 .xls", "数据", ItempackagingExcelVO.class, datas,mapDropDown); // 导出 Excel
List<ItempackagingExcelVO> resultList = ItempackagingConvert.INSTANCE.convertList02(list);
for(ItempackagingExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return resultList;
} }
@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 {

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/jobsetting/JobsettingController.java

@ -9,7 +9,9 @@ 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.jobsetting.vo.*; import com.win.module.wms.controller.jobsetting.vo.*;
import com.win.module.wms.controller.requestsetting.vo.RequestsettingRespVO;
import com.win.module.wms.convert.jobsetting.JobsettingConvert; import com.win.module.wms.convert.jobsetting.JobsettingConvert;
import com.win.module.wms.convert.requestsetting.RequestsettingConvert;
import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO; import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.jobsetting.JobsettingService; import com.win.module.wms.service.jobsetting.JobsettingService;
@ -92,7 +94,13 @@ public class JobsettingController {
@PreAuthorize("@ss.hasPermission('wms:jobsetting:query')") @PreAuthorize("@ss.hasPermission('wms:jobsetting:query')")
public CommonResult<PageResult<JobsettingRespVO>> getJobsettingPage(@Valid JobsettingPageReqVO pageVO) { public CommonResult<PageResult<JobsettingRespVO>> getJobsettingPage(@Valid JobsettingPageReqVO pageVO) {
PageResult<JobsettingDO> pageResult = jobsettingService.getJobsettingPage(pageVO); PageResult<JobsettingDO> pageResult = jobsettingService.getJobsettingPage(pageVO);
return success(JobsettingConvert.INSTANCE.convertPage(pageResult)); PageResult<JobsettingRespVO> result = JobsettingConvert.INSTANCE.convertPage(pageResult);
for(JobsettingRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/location/LocationController.java

@ -10,7 +10,9 @@ 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.location.vo.*; import com.win.module.wms.controller.location.vo.*;
import com.win.module.wms.controller.locationgroup.vo.LocationgroupRespVO;
import com.win.module.wms.convert.location.LocationConvert; import com.win.module.wms.convert.location.LocationConvert;
import com.win.module.wms.convert.locationgroup.LocationgroupConvert;
import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.expectout.ExpectoutMapper; import com.win.module.wms.dal.mysql.expectout.ExpectoutMapper;
@ -108,7 +110,13 @@ public class LocationController {
@PreAuthorize("@ss.hasPermission('wms:location:query')") @PreAuthorize("@ss.hasPermission('wms:location:query')")
public CommonResult<PageResult<LocationRespVO>> getLocationPage(@Valid LocationPageReqVO pageVO) { public CommonResult<PageResult<LocationRespVO>> getLocationPage(@Valid LocationPageReqVO pageVO) {
PageResult<LocationDO> pageResult = locationService.getLocationPage(pageVO); PageResult<LocationDO> pageResult = locationService.getLocationPage(pageVO);
return success(LocationConvert.INSTANCE.convertPage(pageResult)); PageResult<LocationRespVO> result = LocationConvert.INSTANCE.convertPage(pageResult);
for(LocationRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/locationgroup/LocationgroupController.java

@ -8,7 +8,9 @@ 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.areabasic.vo.AreabasicRespVO;
import com.win.module.wms.controller.locationgroup.vo.*; import com.win.module.wms.controller.locationgroup.vo.*;
import com.win.module.wms.convert.areabasic.AreabasicConvert;
import com.win.module.wms.convert.locationgroup.LocationgroupConvert; import com.win.module.wms.convert.locationgroup.LocationgroupConvert;
import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO; import com.win.module.wms.dal.dataobject.locationgroup.LocationgroupDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -90,7 +92,13 @@ public class LocationgroupController {
@PreAuthorize("@ss.hasPermission('wms:locationgroup:query')") @PreAuthorize("@ss.hasPermission('wms:locationgroup:query')")
public CommonResult<PageResult<LocationgroupRespVO>> getLocationgroupPage(@Valid LocationgroupPageReqVO pageVO) { public CommonResult<PageResult<LocationgroupRespVO>> getLocationgroupPage(@Valid LocationgroupPageReqVO pageVO) {
PageResult<LocationgroupDO> pageResult = locationgroupService.getLocationgroupPage(pageVO); PageResult<LocationgroupDO> pageResult = locationgroupService.getLocationgroupPage(pageVO);
return success(LocationgroupConvert.INSTANCE.convertPage(pageResult)); PageResult<LocationgroupRespVO> result = LocationgroupConvert.INSTANCE.convertPage(pageResult);
for(LocationgroupRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/owner/OwnerController.java

@ -9,7 +9,9 @@ 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.owner.vo.*; import com.win.module.wms.controller.owner.vo.*;
import com.win.module.wms.controller.recordsetting.vo.RecordsettingRespVO;
import com.win.module.wms.convert.owner.OwnerConvert; import com.win.module.wms.convert.owner.OwnerConvert;
import com.win.module.wms.convert.recordsetting.RecordsettingConvert;
import com.win.module.wms.dal.dataobject.owner.OwnerDO; import com.win.module.wms.dal.dataobject.owner.OwnerDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.owner.OwnerService; import com.win.module.wms.service.owner.OwnerService;
@ -92,7 +94,13 @@ public class OwnerController {
@PreAuthorize("@ss.hasPermission('wms:owner:query')") @PreAuthorize("@ss.hasPermission('wms:owner:query')")
public CommonResult<PageResult<OwnerRespVO>> getOwnerPage(@Valid OwnerPageReqVO pageVO) { public CommonResult<PageResult<OwnerRespVO>> getOwnerPage(@Valid OwnerPageReqVO pageVO) {
PageResult<OwnerDO> pageResult = ownerService.getOwnerPage(pageVO); PageResult<OwnerDO> pageResult = ownerService.getOwnerPage(pageVO);
return success(OwnerConvert.INSTANCE.convertPage(pageResult)); PageResult<OwnerRespVO> result = OwnerConvert.INSTANCE.convertPage(pageResult);
for(OwnerRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/paramsetting/vo/ParamsettingExcelVO.java

@ -47,7 +47,8 @@ public class ParamsettingExcelVO {
@ExcelProperty("描述") @ExcelProperty("描述")
private String description; private String description;
@ExcelProperty("必填") @ExcelProperty(value = "必填", converter = DictConvert.class)
@DictFormat("true_false")
private String isRequired; private String isRequired;
@ExcelProperty("创建时间") @ExcelProperty("创建时间")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/ProcessController.java

@ -9,7 +9,9 @@ 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.process.vo.*; import com.win.module.wms.controller.process.vo.*;
import com.win.module.wms.controller.workstation.vo.WorkstationRespVO;
import com.win.module.wms.convert.process.ProcessConvert; import com.win.module.wms.convert.process.ProcessConvert;
import com.win.module.wms.convert.workstation.WorkstationConvert;
import com.win.module.wms.dal.dataobject.process.ProcessDO; import com.win.module.wms.dal.dataobject.process.ProcessDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.process.ProcessService; import com.win.module.wms.service.process.ProcessService;
@ -92,7 +94,13 @@ public class ProcessController {
@PreAuthorize("@ss.hasPermission('wms:process:query')") @PreAuthorize("@ss.hasPermission('wms:process:query')")
public CommonResult<PageResult<ProcessRespVO>> getProcessPage(@Valid ProcessPageReqVO pageVO) { public CommonResult<PageResult<ProcessRespVO>> getProcessPage(@Valid ProcessPageReqVO pageVO) {
PageResult<ProcessDO> pageResult = processService.getProcessPage(pageVO); PageResult<ProcessDO> pageResult = processService.getProcessPage(pageVO);
return success(ProcessConvert.INSTANCE.convertPage(pageResult)); PageResult<ProcessRespVO> result = ProcessConvert.INSTANCE.convertPage(pageResult);
for(ProcessRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExcelVO.java

@ -23,9 +23,6 @@ public class ProcessExcelVO {
@ExcelProperty("名称") @ExcelProperty("名称")
private String name; private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty(value = "类型", converter = DictConvert.class) @ExcelProperty(value = "类型", converter = DictConvert.class)
@DictFormat("process_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat("process_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String type; private String type;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/process/vo/ProcessExportReqVO.java

@ -18,9 +18,6 @@ public class ProcessExportReqVO {
@Schema(description = "名称") @Schema(description = "名称")
private String name; private String name;
@Schema(description = "描述")
private String description;
@Schema(description = "类型") @Schema(description = "类型")
private String type; private String type;

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/ProductionlineController.java

@ -9,7 +9,9 @@ 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.productionline.vo.*; import com.win.module.wms.controller.productionline.vo.*;
import com.win.module.wms.controller.workshop.vo.WorkshopRespVO;
import com.win.module.wms.convert.productionline.ProductionlineConvert; import com.win.module.wms.convert.productionline.ProductionlineConvert;
import com.win.module.wms.convert.workshop.WorkshopConvert;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productionline.ProductionlineService; import com.win.module.wms.service.productionline.ProductionlineService;
@ -91,7 +93,13 @@ public class ProductionlineController {
@PreAuthorize("@ss.hasPermission('wms:productionline:query')") @PreAuthorize("@ss.hasPermission('wms:productionline:query')")
public CommonResult<PageResult<ProductionlineRespVO>> getProductionlinePage(@Valid ProductionlinePageReqVO pageVO) { public CommonResult<PageResult<ProductionlineRespVO>> getProductionlinePage(@Valid ProductionlinePageReqVO pageVO) {
PageResult<ProductionlineDO> pageResult = productionlineService.getProductionlinePage(pageVO); PageResult<ProductionlineDO> pageResult = productionlineService.getProductionlinePage(pageVO);
return success(ProductionlineConvert.INSTANCE.convertPage(pageResult)); PageResult<ProductionlineRespVO> result = ProductionlineConvert.INSTANCE.convertPage(pageResult);
for(ProductionlineRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExcelVO.java

@ -23,9 +23,6 @@ public class ProductionlineExcelVO {
@ExcelProperty("名称") @ExcelProperty("名称")
private String name; private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty(value = "类型", converter = DictConvert.class) @ExcelProperty(value = "类型", converter = DictConvert.class)
@DictFormat("production_line_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat("production_line_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String type; private String type;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionline/vo/ProductionlineExportReqVO.java

@ -18,9 +18,6 @@ public class ProductionlineExportReqVO {
@Schema(description = "名称") @Schema(description = "名称")
private String name; private String name;
@Schema(description = "描述")
private String description;
@Schema(description = "类型") @Schema(description = "类型")
private String type; private String type;

33
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/ProductionlineitemController.java

@ -8,8 +8,11 @@ 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.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.productionlineitem.vo.*; import com.win.module.wms.controller.productionlineitem.vo.*;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.productionlineitem.ProductionlineitemConvert; import com.win.module.wms.convert.productionlineitem.ProductionlineitemConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO; import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.productionlineitem.ProductionlineitemService; import com.win.module.wms.service.productionlineitem.ProductionlineitemService;
@ -78,15 +81,6 @@ public class ProductionlineitemController {
return success(ProductionlineitemConvert.INSTANCE.convert(productionlineitem)); return success(ProductionlineitemConvert.INSTANCE.convert(productionlineitem));
} }
@GetMapping("/list")
@Operation(summary = "获得生产线物料关系列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')")
public CommonResult<List<ProductionlineitemRespVO>> getProductionlineitemList(@RequestParam("ids") Collection<Long> ids) {
List<ProductionlineitemDO> list = productionlineitemService.getProductionlineitemList(ids);
return success(ProductionlineitemConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得生产线物料关系分页") @Operation(summary = "获得生产线物料关系分页")
@PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')") @PreAuthorize("@ss.hasPermission('wms:productionlineitem:query')")
@ -102,14 +96,29 @@ public class ProductionlineitemController {
public void exportProductionlineitemExcel(@Valid ProductionlineitemExportReqVO exportReqVO, public void exportProductionlineitemExcel(@Valid ProductionlineitemExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<ProductionlineitemDO> list = productionlineitemService.getProductionlineitemList(exportReqVO); List<ProductionlineitemDO> list = productionlineitemService.getProductionlineitemList(exportReqVO);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ProductionlineitemExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "生产线物料关系.xlsx", "数据", ProductionlineitemExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出生产线物料关系 Excel")
@PreAuthorize("@ss.hasPermission('wms:productionlineitem:export')")
@OperateLog(type = EXPORT)
public void exportProductionlineitemExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<ProductionlineitemDO> list = productionlineitemService.getProductionlineitemList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<ProductionlineitemExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "生产线物料关系.xlsx", "数据", ProductionlineitemExcelVO.class, resultList, mapDropDown);
}
private List<ProductionlineitemExcelVO> getExcelVo(List<ProductionlineitemDO> list, Map<Integer, String[]> mapDropDown) {
// 导出 Excel // 导出 Excel
List<ProductionlineitemExcelVO> datas = ProductionlineitemConvert.INSTANCE.convertList02(list); List<ProductionlineitemExcelVO> resultList = ProductionlineitemConvert.INSTANCE.convertList02(list);
for(ProductionlineitemExcelVO vo : datas) { for(ProductionlineitemExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
} }
ExcelUtils.write(response, "生产线物料关系.xls", "数据", ProductionlineitemExcelVO.class, datas); return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获得导入生产线物料关系模板") @Operation(summary = "获得导入生产线物料关系模板")

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/ProductionreturnRequestDetailController.java

@ -10,6 +10,7 @@ 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.convert.productionreturnRequest.ProductionreturnRequestDetailConvert;
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestDetailService; import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestDetailService;
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;
@ -43,15 +44,15 @@ public class ProductionreturnRequestDetailController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建生产退料申请子") @Operation(summary = "创建生产退料申请子")
@PreAuthorize("@ss.hasPermission('wms:productionreturn-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:productionreturn-request-detail:create')")
public CommonResult<Long> createProductionreturnRequestDetail(@Valid @RequestBody ProductionreturnRequestDetailCreateReqVO createReqVO) { public CommonResult<Long> createProductionreturnRequestDetail(@Valid @RequestBody ProductionreturnRequestDetailCreateReqVO createReqVO, @RequestBody RequestsettingDO requestsettingDO) {
return success(productionreturnRequestDetailService.createProductionreturnRequestDetail(createReqVO)); return success(productionreturnRequestDetailService.createProductionreturnRequestDetail(createReqVO,requestsettingDO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新生产退料申请子") @Operation(summary = "更新生产退料申请子")
@PreAuthorize("@ss.hasPermission('wms:productionreturn-request-detail:update')") @PreAuthorize("@ss.hasPermission('wms:productionreturn-request-detail:update')")
public CommonResult<Boolean> updateProductionreturnRequestDetail(@Valid @RequestBody ProductionreturnRequestDetailUpdateReqVO updateReqVO) { public CommonResult<Boolean> updateProductionreturnRequestDetail(@Valid @RequestBody ProductionreturnRequestDetailUpdateReqVO updateReqVO, @RequestBody RequestsettingDO requestsettingDO) {
productionreturnRequestDetailService.updateProductionreturnRequestDetail(updateReqVO); productionreturnRequestDetailService.updateProductionreturnRequestDetail(updateReqVO,requestsettingDO);
return success(true); return success(true);
} }

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

@ -3,6 +3,8 @@ 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;
@ -10,21 +12,28 @@ 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.convert.productionreturnRequest.ProductionreturnRequestDetailConvert;
import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert; import com.win.module.wms.convert.productionreturnRequest.ProductionreturnRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; 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.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.service.productionreturnRequest.ProductionreturnRequestDetailService; 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.time.LocalDateTime;
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;
@ -38,7 +47,6 @@ public class ProductionreturnRequestMainController {
@Resource @Resource
private ProductionreturnRequestMainService productionreturnRequestMainService; private ProductionreturnRequestMainService productionreturnRequestMainService;
@Resource @Resource
private ProductionreturnRequestDetailService productionreturnRequestDetailService; private ProductionreturnRequestDetailService productionreturnRequestDetailService;
@ -48,15 +56,15 @@ public class ProductionreturnRequestMainController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建生产退料申请主") @Operation(summary = "创建生产退料申请主")
@PreAuthorize("@ss.hasPermission('wms:productionreturn-request-main:create')") @PreAuthorize("@ss.hasPermission('wms:productionreturn-request-main:create')")
public CommonResult<Long> createProductionreturnRequestMain(@Valid @RequestBody ProductionreturnRequestMainCreateReqVO createReqVO) { public CommonResult<Long> createProductionreturnRequestMain(@Valid @RequestBody ProductionreturnRequestMainCreateReqVO createReqVO,@RequestBody BusinesstypeDO businesstypeDO,@RequestBody RequestsettingDO requestsettingDO) {
return success(productionreturnRequestMainService.createProductionreturnRequestMain(createReqVO)); return success(productionreturnRequestMainService.createProductionreturnRequestMain(createReqVO,businesstypeDO,requestsettingDO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新生产退料申请主") @Operation(summary = "更新生产退料申请主")
@PreAuthorize("@ss.hasPermission('wms:productionreturn-request-main:update')") @PreAuthorize("@ss.hasPermission('wms:productionreturn-request-main:update')")
public CommonResult<Boolean> updateProductionreturnRequestMain(@Valid @RequestBody ProductionreturnRequestMainUpdateReqVO updateReqVO) { public CommonResult<Boolean> updateProductionreturnRequestMain(@Valid @RequestBody ProductionreturnRequestMainUpdateReqVO updateReqVO,@RequestBody BusinesstypeDO businesstypeDO,@RequestBody RequestsettingDO requestsettingDO) {
productionreturnRequestMainService.updateProductionreturnRequestMain(updateReqVO); productionreturnRequestMainService.updateProductionreturnRequestMain(updateReqVO,businesstypeDO,requestsettingDO);
return success(true); return success(true);
} }
@ -144,4 +152,44 @@ public class ProductionreturnRequestMainController {
return success(result); return success(result);
} }
@GetMapping("/get-import-template")
@Operation(summary = "获得导入生产退料申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<ProductionreturnRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(8, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom);
// 输出
ExcelUtils.write(response, "生产退料信息导入模板.xlsx", "生产退料申请信息列表", ProductionreturnRequestImportVO.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:productionreturn-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,
@RequestParam(value = "businesstypeDO")BusinesstypeDO businesstypeDO,
@RequestParam(value = "requestsettingDO")RequestsettingDO requestsettingDO) throws Exception {
List<ProductionreturnRequestImportVO> list = ExcelUtils.read(file, ProductionreturnRequestImportVO.class);
ConvertUtil<ProductionreturnRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductionreturnRequestMainCreateReqVO.class);
List<ProductionreturnRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<ProductionreturnRequestImportErrorVO> errorList = productionreturnRequestMainService.importProductionreturnRequestList(createReqVOList, mode, updatePart,businesstypeDO,requestsettingDO);
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);
}
} }

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestImportErrorVO.java

@ -0,0 +1,25 @@
package com.win.module.wms.controller.productionreturnRequest.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 ProductionreturnRequestImportErrorVO extends ProductionreturnRequestImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

45
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestImportVO.java

@ -0,0 +1,45 @@
package com.win.module.wms.controller.productionreturnRequest.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;
/**
* 生产退料申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class ProductionreturnRequestImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("车间代码")
private String workshopCode;
@ExcelProperty("生产线代码")
private String productionLineCode;
@ExcelProperty("工位代码")
private String workStationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private String 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/productionreturnRequest/vo/ProductionreturnRequestMainBaseVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.productionreturnRequest.vo; package com.win.module.wms.controller.productionreturnRequest.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.*;
@ -34,6 +35,7 @@ public class ProductionreturnRequestMainBaseVO {
@Schema(description = "从库区代码范围") @Schema(description = "从库区代码范围")
private String fromAreaCodes; private String fromAreaCodes;
@OnlyOne
@Schema(description = "单据号") @Schema(description = "单据号")
private String number; private String number;

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreturnRequest/vo/ProductionreturnRequestMainCreateReqVO.java

@ -1,12 +1,21 @@
package com.win.module.wms.controller.productionreturnRequest.vo; package com.win.module.wms.controller.productionreturnRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO;
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 ProductionreturnRequestMainCreateReqVO extends ProductionreturnRequestMainBaseVO { public class ProductionreturnRequestMainCreateReqVO extends ProductionreturnRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<ProductionreturnRequestDetailCreateReqVO> subList;
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRequest/vo/ProductputawayRequestMainUpdateReqVO.java

@ -1,9 +1,12 @@
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 com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailUpdateReqVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import java.util.List;
@Schema(description = "管理后台 - 制品上架申请主更新 Request VO") @Schema(description = "管理后台 - 制品上架申请主更新 Request VO")
@Data @Data
@ -15,4 +18,7 @@ public class ProductputawayRequestMainUpdateReqVO extends ProductputawayRequestM
@NotNull(message = "id不能为空") @NotNull(message = "id不能为空")
private Long id; private Long id;
@SubObject
@Schema(description = "子表数据")
private List<ProductputawayRequestDetailUpdateReqVO> subList;
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainBaseVO.java

@ -3,10 +3,6 @@ package com.win.module.wms.controller.productscrapRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne; 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;
@ -24,23 +20,19 @@ public class ProductscrapRequestMainBaseVO {
private Long id; private Long id;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从仓库代码不能为空")
private String fromWarehouseCode; private String fromWarehouseCode;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@OnlyOne @OnlyOne
@NotNull(message = "单据号不能为空")
private String number; private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空")
private String businessType; private String businessType;
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime; private LocalDateTime createTime;
@ -70,11 +62,9 @@ public class ProductscrapRequestMainBaseVO {
private String updater; private String updater;
@Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位类型范围不能为空")
private String fromLocationTypes; private String fromLocationTypes;
@Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库区代码范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库区代码范围不能为空")
private String fromAreaCodes; private String fromAreaCodes;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/ProjectController.java

@ -8,7 +8,9 @@ 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.customeritem.vo.CustomeritemRespVO;
import com.win.module.wms.controller.project.vo.*; import com.win.module.wms.controller.project.vo.*;
import com.win.module.wms.convert.customeritem.CustomeritemConvert;
import com.win.module.wms.convert.project.ProjectConvert; import com.win.module.wms.convert.project.ProjectConvert;
import com.win.module.wms.dal.dataobject.project.ProjectDO; import com.win.module.wms.dal.dataobject.project.ProjectDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -103,7 +105,13 @@ public class ProjectController {
@PreAuthorize("@ss.hasPermission('wms:project:query')") @PreAuthorize("@ss.hasPermission('wms:project:query')")
public CommonResult<PageResult<ProjectRespVO>> getProjectPage(@Valid ProjectPageReqVO pageVO) { public CommonResult<PageResult<ProjectRespVO>> getProjectPage(@Valid ProjectPageReqVO pageVO) {
PageResult<ProjectDO> pageResult = projectService.getProjectPage(pageVO); PageResult<ProjectDO> pageResult = projectService.getProjectPage(pageVO);
return success(ProjectConvert.INSTANCE.convertPage(pageResult)); PageResult<ProjectRespVO> result = ProjectConvert.INSTANCE.convertPage(pageResult);
for(ProjectRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExcelVO.java

@ -23,9 +23,6 @@ public class ProjectExcelVO {
@ExcelProperty("名称") @ExcelProperty("名称")
private String name; private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty("客户代码") @ExcelProperty("客户代码")
private String customerCode; private String customerCode;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/project/vo/ProjectExportReqVO.java

@ -18,9 +18,6 @@ public class ProjectExportReqVO {
@Schema(description = "名称") @Schema(description = "名称")
private String name; private String name;
@Schema(description = "描述")
private String description;
@Schema(description = "客户代码") @Schema(description = "客户代码")
private String customerCode; private String customerCode;

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java

@ -144,7 +144,7 @@ public class PurchaseMainController {
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true") @Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
}) })
@PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:import')") @PreAuthorize("@ss.hasPermission('wms:purchase-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response, public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode, @RequestParam(value = "mode") Integer mode,
@ -162,4 +162,13 @@ public class PurchaseMainController {
return success(returnMap); return success(returnMap);
} }
@PutMapping("/close")
@Operation(summary = "关闭采购订单申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:close')")
public CommonResult<Boolean> closePurchaseMain(@RequestParam("id") Long id) {
Integer count = purchaseMainService.closePurchaseMain(id);
return success(count > 0);
}
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseclaimRequest/PurchaseclaimRequestMainController.java

@ -66,7 +66,7 @@ public class PurchaseclaimRequestMainController {
@Operation(summary = "更新采购索赔申请主") @Operation(summary = "更新采购索赔申请主")
@PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:update')") @PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:update')")
public CommonResult<Boolean> updatePurchaseclaimRequestMain(@Valid @RequestBody PurchaseclaimRequestMainUpdateReqVO updateReqVO) { public CommonResult<Boolean> updatePurchaseclaimRequestMain(@Valid @RequestBody PurchaseclaimRequestMainUpdateReqVO updateReqVO) {
Integer result = purchaseclaimRequestMainService.updatePurchaseclaimRequestMain(updateReqVO); Long result = purchaseclaimRequestMainService.updatePurchaseclaimRequestMain(updateReqVO);
return success(result > 0); return success(result > 0);
} }

52
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchaseprice/PurchasepriceController.java

@ -8,8 +8,13 @@ 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.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.purchaseprice.vo.*; import com.win.module.wms.controller.purchaseprice.vo.*;
import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceRespVO;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert; import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert;
import com.win.module.wms.convert.stdcostprice.StdcostpriceConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.purchaseprice.PurchasepriceService; import com.win.module.wms.service.purchaseprice.PurchasepriceService;
@ -89,21 +94,19 @@ public class PurchasepriceController {
return success(PurchasepriceConvert.INSTANCE.convert(purchaseprice)); return success(PurchasepriceConvert.INSTANCE.convert(purchaseprice));
} }
@GetMapping("/list")
@Operation(summary = "获得采购价格单列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')")
public CommonResult<List<PurchasepriceRespVO>> getPurchasepriceList(@RequestParam("ids") Collection<Long> ids) {
List<PurchasepriceDO> list = purchasepriceService.getPurchasepriceList(ids);
return success(PurchasepriceConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得采购价格单分页") @Operation(summary = "获得采购价格单分页")
@PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')") @PreAuthorize("@ss.hasPermission('wms:purchaseprice:query')")
public CommonResult<PageResult<PurchasepriceRespVO>> getPurchasepricePage(@Valid PurchasepricePageReqVO pageVO) { public CommonResult<PageResult<PurchasepriceRespVO>> getPurchasepricePage(@Valid PurchasepricePageReqVO pageVO) {
PageResult<PurchasepriceDO> pageResult = purchasepriceService.getPurchasepricePage(pageVO); PageResult<PurchasepriceDO> pageResult = purchasepriceService.getPurchasepricePage(pageVO);
return success(PurchasepriceConvert.INSTANCE.convertPage(pageResult)); PageResult<PurchasepriceRespVO> result = PurchasepriceConvert.INSTANCE.convertPage(pageResult);
for(PurchasepriceRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@ -113,18 +116,33 @@ public class PurchasepriceController {
public void exportPurchasepriceExcel(@Valid PurchasepriceExportReqVO exportReqVO, public void exportPurchasepriceExcel(@Valid PurchasepriceExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<PurchasepriceDO> list = purchasepriceService.getPurchasepriceList(exportReqVO); List<PurchasepriceDO> list = purchasepriceService.getPurchasepriceList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasepriceExcelVO> datas = PurchasepriceConvert.INSTANCE.convertList02(list); List<PurchasepriceExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(PurchasepriceExcelVO vo : datas) { ExcelUtils.write(response, "采购价格单.xlsx", "数据",PurchasepriceExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段 @PostMapping("/export-excel-senior")
vo.setCreator(user.getNickname()); @Operation(summary = "导出采购价格单 Excel")
} Map<Integer, String[]> mapDropDown = new HashMap<>(); @PreAuthorize("@ss.hasPermission('wms:purchaseprice:export')")
@OperateLog(type = EXPORT)
public void exportItembasicExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<PurchasepriceDO> list = purchasepriceService.getPurchasepriceList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<PurchasepriceExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "采购价格单.xlsx", "数据",PurchasepriceExcelVO.class, resultList, mapDropDown);
}
private List<PurchasepriceExcelVO> getExcelVo(List<PurchasepriceDO> list, Map<Integer, String[]> mapDropDown) {
String[] currency = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.CURRENCY); String[] currency = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.CURRENCY);
mapDropDown.put(2, currency); mapDropDown.put(2, currency);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(4, available); mapDropDown.put(4, available);
ExcelUtils.write(response, "采购价格单.xls", "数据", PurchasepriceExcelVO.class, datas,mapDropDown); // 导出 Excel
List<PurchasepriceExcelVO> resultList = PurchasepriceConvert.INSTANCE.convertList02(list);
for(PurchasepriceExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获得导入采购价格单模板") @Operation(summary = "获得导入采购价格单模板")

41
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java

@ -52,22 +52,6 @@ public class PurchasereceiptJobMainController {
@Resource @Resource
private AdminUserApi userApi; private AdminUserApi userApi;
@Operation(summary = "承接任务")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:accept')")
@PostMapping(value = "/accept/{id}")
public CommonResult<Boolean> accept(@PathVariable("id") Long id) {
int result = purchasereceiptJobMainService.accept(id);
return success(result > 0);
}
@Operation(summary = "取消承接任务")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:cancel-accept')")
@PostMapping(value = "/cancelAccept/{id}")
public CommonResult<Boolean> cancelAccept(@PathVariable("id") Long id) {
int result = purchasereceiptJobMainService.cancelAccept(id);
return success(result > 0);
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得采购收货任务主分页") @Operation(summary = "获得采购收货任务主分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:query')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:query')")
@ -189,4 +173,29 @@ public class PurchasereceiptJobMainController {
return success(countByStatus); return success(countByStatus);
} }
@Operation(summary = "承接任务")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:accept')")
@PostMapping(value = "/accept/{id}")
public CommonResult<Boolean> accept(@PathVariable("id") Long id) {
int result = purchasereceiptJobMainService.accept(id);
return success(result > 0);
}
@Operation(summary = "取消承接任务")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:cancel-accept')")
@PostMapping(value = "/cancelAccept/{id}")
public CommonResult<Boolean> cancelAccept(@PathVariable("id") Long id) {
int result = purchasereceiptJobMainService.cancelAccept(id);
return success(result > 0);
}
@PutMapping("/execute")
@Operation(summary = "执行采购收货任务主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:execute')")
public CommonResult<Boolean> excutePurchasereceiptJobMain(@Valid @RequestBody PurchasereceiptJobMainUpdateReqVO updateReqVO) {
Integer count = purchasereceiptJobMainService.excutePurchasereceiptJobMain(updateReqVO);
return success(count > 0);
}
} }

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobDetailBaseVO.java

@ -1,18 +1,11 @@
package com.win.module.wms.controller.purchasereceiptJob.vo; package com.win.module.wms.controller.purchasereceiptJob.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.*; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -120,4 +113,13 @@ public class PurchasereceiptJobDetailBaseVO {
@Schema(description = "到货主代码") @Schema(description = "到货主代码")
private String toOwnerCode; private String toOwnerCode;
@Schema(description = "实际数量")
private BigDecimal handleQty;
@Schema(description = "到包装号")
private String toPackingNumber;
@Schema(description = "到际批次")
private String toBatch;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainUpdateReqVO.java

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

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailBaseVO.java

@ -1,20 +1,12 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo; package com.win.module.wms.controller.purchasereceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.*; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.time.LocalDateTime; import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -80,10 +72,10 @@ public class PurchasereceiptRecordDetailBaseVO {
private String toLocationGroupCode; private String toLocationGroupCode;
@Schema(description = "从库区代码") @Schema(description = "从库区代码")
private String fromAreaCodes; private String fromAreaCode;
@Schema(description = "到库区代码") @Schema(description = "到库区代码")
private String toAreaCodes; private String toAreaCode;
@Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单号不能为空") @NotNull(message = "订单号不能为空")

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailExcelVO.java

@ -1,22 +1,12 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo; package com.win.module.wms.controller.purchasereceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
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.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -70,10 +60,10 @@ public class PurchasereceiptRecordDetailExcelVO {
private String toLocationGroupCode; private String toLocationGroupCode;
@ExcelProperty("从库区代码") @ExcelProperty("从库区代码")
private String fromAreaCodes; private String fromAreaCode;
@ExcelProperty("到库区代码") @ExcelProperty("到库区代码")
private String toAreaCodes; private String toAreaCode;
@ExcelProperty("订单号") @ExcelProperty("订单号")
private String poNumber; private String poNumber;

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailExportReqVO.java

@ -62,10 +62,10 @@ public class PurchasereceiptRecordDetailExportReqVO {
private String toLocationGroupCode; private String toLocationGroupCode;
@Schema(description = "从库区代码") @Schema(description = "从库区代码")
private String fromAreaCodes; private String fromAreaCode;
@Schema(description = "到库区代码") @Schema(description = "到库区代码")
private String toAreaCodes; private String toAreaCode;
@Schema(description = "订单号") @Schema(description = "订单号")
private String poNumber; private String poNumber;

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailPageReqVO.java

@ -67,10 +67,10 @@ public class PurchasereceiptRecordDetailPageReqVO extends PageParam {
private String toLocationGroupCode; private String toLocationGroupCode;
@Schema(description = "从库区代码") @Schema(description = "从库区代码")
private String fromAreaCodes; private String fromAreaCode;
@Schema(description = "到库区代码") @Schema(description = "到库区代码")
private String toAreaCodes; private String toAreaCode;
@Schema(description = "订单号") @Schema(description = "订单号")
private String poNumber; private String poNumber;

171
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailBaseVO.java

@ -0,0 +1,171 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
* 采购收货记录子 Base VO提供给添加修改详细的子 VO 使用
* 如果子 VO 存在差异的字段请不要添加到这里影响 Swagger 文档生成
*/
@Data
public class PurchaseshortageDetailBaseVO {
@Schema(description = "从包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从包装号不能为空")
private String fromPackingNumber;
@Schema(description = "到包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到包装号不能为空")
private String toPackingNumber;
@Schema(description = "从器具号")
private String fromContainerNumber;
@Schema(description = "到器具号")
private String toContainerNumber;
@Schema(description = "从批次")
private String fromBatch;
@Schema(description = "替代批次")
private String altBatch;
@Schema(description = "到货日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到货日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime arriveDate;
@Schema(description = "生产日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "生产日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime produceDate;
@Schema(description = "过期日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "过期日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime expireDate;
@Schema(description = "库存状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "库存状态不能为空")
private String inventoryStatus;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "到库位代码")
private String toLocationCode;
@Schema(description = "从库位组代码")
private String fromLocationGroupCode;
@Schema(description = "到库位组代码")
private String toLocationGroupCode;
@Schema(description = "从库区代码")
private String fromAreaCodes;
@Schema(description = "到库区代码")
private String toAreaCodes;
@Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单号不能为空")
private String poNumber;
@Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单行不能为空")
private String poLine;
@Schema(description = "标包数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标包数量不能为空")
private BigDecimal stdPackQty;
@Schema(description = "标包单位", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标包单位不能为空")
private String stdPackUnit;
@Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "数量不能为空")
private BigDecimal qty;
@Schema(description = "单位")
private String uom;
@Schema(description = "供应商计量数量")
private BigDecimal supplierQty;
@Schema(description = "供应商计量单位")
private String supplierUom;
@Schema(description = "转换率")
private BigDecimal convertRate;
@Schema(description = "目检结果")
private String visualInspectResult;
@Schema(description = "目检照片")
private String visualInspectPhotos;
@Schema(description = "不合格原因", example = "不对")
private String failedReason;
@Schema(description = "单价", example = "25384")
private BigDecimal singlePrice;
@Schema(description = "金额")
private BigDecimal amount;
@Schema(description = "任务明细ID", example = "20190")
private String jobDetailId;
@Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "物品名称", example = "赵六")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "主表ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30925")
@NotNull(message = "主表ID不能为空")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "地点ID", example = "25612")
private String siteId;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "代码")
private String code;
@Schema(description = "接口类型", example = "1")
private String interfaceType;
@Schema(description = "从货主代码")
private String fromOwnerCode;
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "到批次")
private String toBatch;
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailCreateReqVO.java

@ -0,0 +1,14 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 采购收货记录子创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PurchaseshortageDetailCreateReqVO extends PurchaseshortageDetailBaseVO {
}

158
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailExcelVO.java

@ -0,0 +1,158 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购收货记录子 Excel VO
*
* @author 超级管理员
*/
@Data
public class PurchaseshortageDetailExcelVO {
@ExcelProperty("id")
private Long id;
@ExcelProperty("从包装号")
private String fromPackingNumber;
@ExcelProperty("到包装号")
private String toPackingNumber;
@ExcelProperty("从器具号")
private String fromContainerNumber;
@ExcelProperty("到器具号")
private String toContainerNumber;
@ExcelProperty("从批次")
private String fromBatch;
@ExcelProperty("替代批次")
private String altBatch;
@ExcelProperty("到货日期")
private LocalDateTime arriveDate;
@ExcelProperty("生产日期")
private LocalDateTime produceDate;
@ExcelProperty("过期日期")
private LocalDateTime expireDate;
@ExcelProperty("库存状态")
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty("从库位组代码")
private String fromLocationGroupCode;
@ExcelProperty("到库位组代码")
private String toLocationGroupCode;
@ExcelProperty("从库区代码")
private String fromAreaCodes;
@ExcelProperty("到库区代码")
private String toAreaCodes;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty("标包数量")
private BigDecimal stdPackQty;
@ExcelProperty("标包单位")
private String stdPackUnit;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty("单位")
private String uom;
@ExcelProperty("供应商计量数量")
private BigDecimal supplierQty;
@ExcelProperty("供应商计量单位")
private String supplierUom;
@ExcelProperty("转换率")
private BigDecimal convertRate;
@ExcelProperty("目检结果")
private String visualInspectResult;
@ExcelProperty("目检照片")
private String visualInspectPhotos;
@ExcelProperty("不合格原因")
private String failedReason;
@ExcelProperty("单价")
private BigDecimal singlePrice;
@ExcelProperty("金额")
private BigDecimal amount;
@ExcelProperty("任务明细ID")
private String jobDetailId;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("主表ID")
private Long masterId;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("地点ID")
private String siteId;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("代码")
private String code;
@ExcelProperty("接口类型")
private String interfaceType;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("到货主代码")
private String toOwnerCode;
@ExcelProperty("到批次")
private String toBatch;
}

158
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailExportReqVO.java

@ -0,0 +1,158 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
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;
@Schema(description = "管理后台 - 采购收货记录子 Excel 导出 Request VO,参数和 PurchaseshortageDetailPageReqVO 是一致的")
@Data
public class PurchaseshortageDetailExportReqVO {
@Schema(description = "从包装号")
private String fromPackingNumber;
@Schema(description = "到包装号")
private String toPackingNumber;
@Schema(description = "从器具号")
private String fromContainerNumber;
@Schema(description = "到器具号")
private String toContainerNumber;
@Schema(description = "从批次")
private String fromBatch;
@Schema(description = "替代批次")
private String altBatch;
@Schema(description = "到货日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] arriveDate;
@Schema(description = "生产日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] produceDate;
@Schema(description = "过期日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] expireDate;
@Schema(description = "库存状态", example = "1")
private String inventoryStatus;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "到库位代码")
private String toLocationCode;
@Schema(description = "从库位组代码")
private String fromLocationGroupCode;
@Schema(description = "到库位组代码")
private String toLocationGroupCode;
@Schema(description = "从库区代码")
private String fromAreaCodes;
@Schema(description = "到库区代码")
private String toAreaCodes;
@Schema(description = "订单号")
private String poNumber;
@Schema(description = "订单行")
private String poLine;
@Schema(description = "标包数量")
private BigDecimal stdPackQty;
@Schema(description = "标包单位")
private String stdPackUnit;
@Schema(description = "数量")
private BigDecimal qty;
@Schema(description = "单位")
private String uom;
@Schema(description = "供应商计量数量")
private BigDecimal supplierQty;
@Schema(description = "供应商计量单位")
private String supplierUom;
@Schema(description = "转换率")
private BigDecimal convertRate;
@Schema(description = "目检结果")
private String visualInspectResult;
@Schema(description = "目检照片")
private String visualInspectPhotos;
@Schema(description = "不合格原因", example = "不对")
private String failedReason;
@Schema(description = "单价", example = "25384")
private BigDecimal singlePrice;
@Schema(description = "金额")
private BigDecimal amount;
@Schema(description = "任务明细ID", example = "20190")
private String jobDetailId;
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "物品名称", example = "赵六")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "主表ID", example = "30925")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "地点ID", example = "25612")
private String siteId;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "代码")
private String code;
@Schema(description = "接口类型", example = "1")
private String interfaceType;
@Schema(description = "从货主代码")
private String fromOwnerCode;
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "到批次")
private String toBatch;
}

163
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailPageReqVO.java

@ -0,0 +1,163 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 采购收货记录子分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PurchaseshortageDetailPageReqVO extends PageParam {
@Schema(description = "从包装号")
private String fromPackingNumber;
@Schema(description = "到包装号")
private String toPackingNumber;
@Schema(description = "从器具号")
private String fromContainerNumber;
@Schema(description = "到器具号")
private String toContainerNumber;
@Schema(description = "从批次")
private String fromBatch;
@Schema(description = "替代批次")
private String altBatch;
@Schema(description = "到货日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] arriveDate;
@Schema(description = "生产日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] produceDate;
@Schema(description = "过期日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] expireDate;
@Schema(description = "库存状态", example = "1")
private String inventoryStatus;
@Schema(description = "从库位代码")
private String fromLocationCode;
@Schema(description = "到库位代码")
private String toLocationCode;
@Schema(description = "从库位组代码")
private String fromLocationGroupCode;
@Schema(description = "到库位组代码")
private String toLocationGroupCode;
@Schema(description = "从库区代码")
private String fromAreaCodes;
@Schema(description = "到库区代码")
private String toAreaCodes;
@Schema(description = "订单号")
private String poNumber;
@Schema(description = "订单行")
private String poLine;
@Schema(description = "标包数量")
private BigDecimal stdPackQty;
@Schema(description = "标包单位")
private String stdPackUnit;
@Schema(description = "数量")
private BigDecimal qty;
@Schema(description = "单位")
private String uom;
@Schema(description = "供应商计量数量")
private BigDecimal supplierQty;
@Schema(description = "供应商计量单位")
private String supplierUom;
@Schema(description = "转换率")
private BigDecimal convertRate;
@Schema(description = "目检结果")
private String visualInspectResult;
@Schema(description = "目检照片")
private String visualInspectPhotos;
@Schema(description = "不合格原因", example = "不对")
private String failedReason;
@Schema(description = "单价", example = "25384")
private BigDecimal singlePrice;
@Schema(description = "金额")
private BigDecimal amount;
@Schema(description = "任务明细ID", example = "20190")
private String jobDetailId;
@Schema(description = "物品代码")
private String itemCode;
@Schema(description = "物品名称", example = "赵六")
private String itemName;
@Schema(description = "物品描述1")
private String itemDesc1;
@Schema(description = "物品描述2")
private String itemDesc2;
@Schema(description = "主表ID", example = "30925")
private Long masterId;
@Schema(description = "单据号")
private String number;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "地点ID", example = "25612")
private String siteId;
@Schema(description = "项目代码")
private String projectCode;
@Schema(description = "代码")
private String code;
@Schema(description = "接口类型", example = "1")
private String interfaceType;
@Schema(description = "从货主代码")
private String fromOwnerCode;
@Schema(description = "到货主代码")
private String toOwnerCode;
@Schema(description = "到批次")
private String toBatch;
}

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailRespVO.java

@ -0,0 +1,19 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 采购收货记录子 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PurchaseshortageDetailRespVO extends PurchaseshortageDetailBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26980")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createTime;
}

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchaseshortageDetailUpdateReqVO.java

@ -0,0 +1,20 @@
package com.win.module.wms.controller.purchasereceiptRecord.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 采购收货记录子更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PurchaseshortageDetailUpdateReqVO extends PurchaseshortageDetailBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26980")
@NotNull(message = "id不能为空")
private Long id;
}

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

@ -127,7 +127,7 @@ public class PurchasereceiptRequestMainController {
ExcelUtils.write(response, "采购收货申请主.xlsx", "数据", PurchasereceiptRequestMainExcelVO.class, resultList, mapDropDown); ExcelUtils.write(response, "采购收货申请主.xlsx", "数据", PurchasereceiptRequestMainExcelVO.class, resultList, mapDropDown);
} }
@GetMapping("/export-excel-senior") @PostMapping("/export-excel-senior")
@Operation(summary = "导出采购收货申请主 Excel") @Operation(summary = "导出采购收货申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:export')") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainBaseVO.java

@ -58,6 +58,7 @@ public class PurchasereceiptRequestMainBaseVO {
@Schema(description = "到月台代码") @Schema(description = "到月台代码")
private String toDockCode; private String toDockCode;
@OnlyOne
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
private String number; private String number;

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

@ -23,6 +23,8 @@ import java.time.LocalDateTime;
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题 @Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class PurchasereceiptRequestMainImportVO { public class PurchasereceiptRequestMainImportVO {
@ExcelProperty("单据号")
private String number;
//主表数据 //主表数据
@ExcelProperty("供应商代码") @ExcelProperty("供应商代码")
private String supplierCode; private String supplierCode;

50
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java

@ -1,9 +1,13 @@
package com.win.module.wms.controller.purchasereturnRequest; package com.win.module.wms.controller.purchasereturnRequest;
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.controller.purchasereturnRequest.vo.*; import com.win.module.wms.controller.purchasereturnRequest.vo.*;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService; import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService;
@ -17,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 +38,7 @@ import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert; import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert;
import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestMainService; import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 采购退货申请主") @Tag(name = "管理后台 - 采购退货申请主")
@RestController @RestController
@ -128,6 +135,49 @@ public class PurchasereturnRequestMainController {
ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, datas); ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, datas);
} }
@GetMapping("/get-import-template")
@Operation(summary = "获得导入采购退货信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<PurchasereturnRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(11, inventoryStatus);
String[] reason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
mapDropDown.put(13, reason);
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
mapDropDown.put(15, transferMode);
// 输出
ExcelUtils.write(response, "采购退货信息导入模板.xlsx", "采购退货信息列表", PurchasereturnRequestImportVO.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:purchasereturn-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<PurchasereturnRequestImportVO> list = ExcelUtils.read(file, PurchasereturnRequestImportVO.class);
ConvertUtil<PurchasereturnRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(PurchasereturnRequestMainCreateReqVO.class);
List<PurchasereturnRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<PurchasereturnRequestImportErrorVO> errorList = purchasereturnRequestMainService.importPurchasereturnRequestList(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);
}
@GetMapping("/getPurchasereturnRequestById") @GetMapping("/getPurchasereturnRequestById")
@Operation(summary = "APP获得采购退货申请主子表明细列表") @Operation(summary = "APP获得采购退货申请主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestImportErrorVO.java

@ -0,0 +1,25 @@
package com.win.module.wms.controller.purchasereturnRequest.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 PurchasereturnRequestImportErrorVO extends PurchasereturnRequestImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

81
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestImportVO.java

@ -0,0 +1,81 @@
package com.win.module.wms.controller.purchasereturnRequest.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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* 供应商发票申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class PurchasereturnRequestImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("采购收货记录单号")
private String purchaseReceiptRecordNumber;
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@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(value = "原因", converter = DictConvert.class)
@DictFormat(DictTypeConstants.PURCHASE_RETURN_REASON)
private String reason;
@ExcelProperty("承运商")
private String carrierCode;
@ExcelProperty(value = "运输方式", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRANSFER_MODE)
private String transferMode;
@ExcelProperty("车牌号")
private String vehiclePlateNumber;
}

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainBaseVO.java

@ -1,11 +1,8 @@
package com.win.module.wms.controller.purchasereturnRequest.vo; package com.win.module.wms.controller.purchasereturnRequest.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;
@ -44,12 +41,12 @@ public class PurchasereturnRequestMainBaseVO {
private String vehiclePlateNumber; private String vehiclePlateNumber;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从仓库代码不能为空")
private String fromWarehouseCode; private String fromWarehouseCode;
@Schema(description = "到仓库代码") @Schema(description = "到仓库代码")
private String toWarehouseCode; private String toWarehouseCode;
@OnlyOne
@Schema(description = "单据号") @Schema(description = "单据号")
private String number; private String number;

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainCreateReqVO.java

@ -1,12 +1,19 @@
package com.win.module.wms.controller.purchasereturnRequest.vo; package com.win.module.wms.controller.purchasereturnRequest.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 PurchasereturnRequestMainCreateReqVO extends PurchasereturnRequestMainBaseVO { public class PurchasereturnRequestMainCreateReqVO extends PurchasereturnRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PurchasereturnRequestDetailCreateReqVO> subList;
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainUpdateReqVO.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.purchasereturnRequest.vo; package com.win.module.wms.controller.purchasereturnRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
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 PurchasereturnRequestMainUpdateReqVO extends PurchasereturnRequestMainBaseVO { public class PurchasereturnRequestMainUpdateReqVO extends PurchasereturnRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PurchasereturnRequestDetailUpdateReqVO> subList;
} }

53
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java

@ -1,9 +1,13 @@
package com.win.module.wms.controller.putawayRequest; package com.win.module.wms.controller.putawayRequest;
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.controller.putawayRequest.vo.*; import com.win.module.wms.controller.putawayRequest.vo.*;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert; import com.win.module.wms.convert.putawayRequest.PutawayRequestDetailConvert;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestDetailDO;
import com.win.module.wms.service.putawayRequest.PutawayRequestDetailService; import com.win.module.wms.service.putawayRequest.PutawayRequestDetailService;
@ -16,6 +20,8 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; 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;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
@ -27,6 +33,7 @@ import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO; import com.win.module.wms.dal.dataobject.putawayRequest.PutawayRequestMainDO;
import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert; import com.win.module.wms.convert.putawayRequest.PutawayRequestMainConvert;
import com.win.module.wms.service.putawayRequest.PutawayRequestMainService; import com.win.module.wms.service.putawayRequest.PutawayRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 上架申请主") @Tag(name = "管理后台 - 上架申请主")
@RestController @RestController
@ -118,7 +125,26 @@ public class PutawayRequestMainController {
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
} }
ExcelUtils.write(response, "上架申请主.xls", "数据", PutawayRequestMainExcelVO.class, datas); Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(8, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom);
ExcelUtils.write(response, "上架申请主.xls", "数据", PutawayRequestMainExcelVO.class, datas,mapDropDown);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入上架申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<PutawayRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(8, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(10, uom);
// 输出
ExcelUtils.write(response, "上架申请信息导入模板.xlsx", "上架申请信息列表", PutawayRequestImportVO.class, list, mapDropDown);
} }
@GetMapping("/getPutawayRequestById") @GetMapping("/getPutawayRequestById")
@ -139,4 +165,29 @@ public class PutawayRequestMainController {
return success(result); 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:putaway-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<PutawayRequestImportVO> list = ExcelUtils.read(file, PutawayRequestImportVO.class);
ConvertUtil<PutawayRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(PutawayRequestMainCreateReqVO.class);
List<PutawayRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<PutawayRequestImportErrorVO> errorList = putawayRequestMainService.importPutawayRequestList(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);
}
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestDetailBaseVO.java

@ -92,4 +92,6 @@ public class PutawayRequestDetailBaseVO {
@Schema(description = "到货主代码") @Schema(description = "到货主代码")
private String toOwnerCode; private String toOwnerCode;
@Schema(description = "主表id")
private Long masterId;
} }

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestImportErrorVO.java

@ -0,0 +1,25 @@
package com.win.module.wms.controller.putawayRequest.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 PutawayRequestImportErrorVO extends PutawayRequestImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

63
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestImportVO.java

@ -0,0 +1,63 @@
package com.win.module.wms.controller.putawayRequest.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;
/**
* 上架申请 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class PutawayRequestImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private String poLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
@ExcelProperty("来源库位")
private String fromLocationCode;
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.putawayRequest.vo; package com.win.module.wms.controller.putawayRequest.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.*;
@ -37,6 +38,7 @@ public class PutawayRequestMainBaseVO {
@Schema(description = "从库区代码范围") @Schema(description = "从库区代码范围")
private String fromAreaCodes; private String fromAreaCodes;
@OnlyOne
@Schema(description = "单据号") @Schema(description = "单据号")
private String number; private String number;
@ -101,8 +103,4 @@ public class PutawayRequestMainBaseVO {
@NotNull(message = "直接生成记录不能为空") @NotNull(message = "直接生成记录不能为空")
private String directCreateRecord; private String directCreateRecord;
} }

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainCreateReqVO.java

@ -1,12 +1,19 @@
package com.win.module.wms.controller.putawayRequest.vo; package com.win.module.wms.controller.putawayRequest.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 PutawayRequestMainCreateReqVO extends PutawayRequestMainBaseVO { public class PutawayRequestMainCreateReqVO extends PutawayRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PutawayRequestDetailCreateReqVO> subList;
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainUpdateReqVO.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.putawayRequest.vo; package com.win.module.wms.controller.putawayRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
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 PutawayRequestMainUpdateReqVO extends PutawayRequestMainBaseVO { public class PutawayRequestMainUpdateReqVO extends PutawayRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PutawayRequestDetailUpdateReqVO> subList;
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/recordsetting/RecordsettingController.java

@ -8,7 +8,9 @@ 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.jobsetting.vo.JobsettingRespVO;
import com.win.module.wms.controller.recordsetting.vo.*; import com.win.module.wms.controller.recordsetting.vo.*;
import com.win.module.wms.convert.jobsetting.JobsettingConvert;
import com.win.module.wms.convert.recordsetting.RecordsettingConvert; import com.win.module.wms.convert.recordsetting.RecordsettingConvert;
import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO; import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -103,7 +105,13 @@ public class RecordsettingController {
@PreAuthorize("@ss.hasPermission('wms:recordsetting:query')") @PreAuthorize("@ss.hasPermission('wms:recordsetting:query')")
public CommonResult<PageResult<RecordsettingRespVO>> getRecordsettingPage(@Valid RecordsettingPageReqVO pageVO) { public CommonResult<PageResult<RecordsettingRespVO>> getRecordsettingPage(@Valid RecordsettingPageReqVO pageVO) {
PageResult<RecordsettingDO> pageResult = recordsettingService.getRecordsettingPage(pageVO); PageResult<RecordsettingDO> pageResult = recordsettingService.getRecordsettingPage(pageVO);
return success(RecordsettingConvert.INSTANCE.convertPage(pageResult)); PageResult<RecordsettingRespVO> result = RecordsettingConvert.INSTANCE.convertPage(pageResult);
for(RecordsettingRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/requestsetting/RequestsettingController.java

@ -8,7 +8,9 @@ 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.documentsetting.vo.DocumentsettingRespVO;
import com.win.module.wms.controller.requestsetting.vo.*; import com.win.module.wms.controller.requestsetting.vo.*;
import com.win.module.wms.convert.documentsetting.DocumentsettingConvert;
import com.win.module.wms.convert.requestsetting.RequestsettingConvert; import com.win.module.wms.convert.requestsetting.RequestsettingConvert;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -104,7 +106,13 @@ public class RequestsettingController {
@PreAuthorize("@ss.hasPermission('wms:requestsetting:query')") @PreAuthorize("@ss.hasPermission('wms:requestsetting:query')")
public CommonResult<PageResult<RequestsettingRespVO>> getRequestsettingPage(@Valid RequestsettingPageReqVO pageVO) { public CommonResult<PageResult<RequestsettingRespVO>> getRequestsettingPage(@Valid RequestsettingPageReqVO pageVO) {
PageResult<RequestsettingDO> pageResult = requestsettingService.getRequestsettingPage(pageVO); PageResult<RequestsettingDO> pageResult = requestsettingService.getRequestsettingPage(pageVO);
return success(RequestsettingConvert.INSTANCE.convertPage(pageResult)); PageResult<RequestsettingRespVO> result = RequestsettingConvert.INSTANCE.convertPage(pageResult);
for(RequestsettingRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/saleprice/SalepriceController.java

@ -8,8 +8,10 @@ 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.project.vo.ProjectRespVO;
import com.win.module.wms.controller.saleprice.vo.*; import com.win.module.wms.controller.saleprice.vo.*;
import com.win.module.wms.controller.saleprice.vo.SalepriceImportExcelVo; import com.win.module.wms.controller.saleprice.vo.SalepriceImportExcelVo;
import com.win.module.wms.convert.project.ProjectConvert;
import com.win.module.wms.convert.saleprice.SalepriceConvert; import com.win.module.wms.convert.saleprice.SalepriceConvert;
import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -93,7 +95,13 @@ public class SalepriceController {
@PreAuthorize("@ss.hasPermission('wms:saleprice:query')") @PreAuthorize("@ss.hasPermission('wms:saleprice:query')")
public CommonResult<PageResult<SalepriceRespVO>> getSalepricePage(@Valid SalepricePageReqVO pageVO) { public CommonResult<PageResult<SalepriceRespVO>> getSalepricePage(@Valid SalepricePageReqVO pageVO) {
PageResult<SalepriceDO> pageResult = salepriceService.getSalepricePage(pageVO); PageResult<SalepriceDO> pageResult = salepriceService.getSalepricePage(pageVO);
return success(SalepriceConvert.INSTANCE.convertPage(pageResult)); PageResult<SalepriceRespVO> result = SalepriceConvert.INSTANCE.convertPage(pageResult);
for(SalepriceRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得销售价格单信息分页") @Operation(summary = "高级搜索获得销售价格单信息分页")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/shift/ShiftController.java

@ -8,8 +8,10 @@ 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.carrier.vo.CarrierRespVO;
import com.win.module.wms.controller.shift.vo.*; import com.win.module.wms.controller.shift.vo.*;
import com.win.module.wms.controller.shift.vo.ShiftImportExcelVo; import com.win.module.wms.controller.shift.vo.ShiftImportExcelVo;
import com.win.module.wms.convert.carrier.CarrierConvert;
import com.win.module.wms.convert.shift.ShiftConvert; import com.win.module.wms.convert.shift.ShiftConvert;
import com.win.module.wms.dal.dataobject.shift.ShiftDO; import com.win.module.wms.dal.dataobject.shift.ShiftDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
@ -91,7 +93,13 @@ public class ShiftController {
@PreAuthorize("@ss.hasPermission('wms:shift:query')") @PreAuthorize("@ss.hasPermission('wms:shift:query')")
public CommonResult<PageResult<ShiftRespVO>> getShiftPage(@Valid ShiftPageReqVO pageVO) { public CommonResult<PageResult<ShiftRespVO>> getShiftPage(@Valid ShiftPageReqVO pageVO) {
PageResult<ShiftDO> pageResult = shiftService.getShiftPage(pageVO); PageResult<ShiftDO> pageResult = shiftService.getShiftPage(pageVO);
return success(ShiftConvert.INSTANCE.convertPage(pageResult)); PageResult<ShiftRespVO> result = ShiftConvert.INSTANCE.convertPage(pageResult);
for(ShiftRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得班次信息分页") @Operation(summary = "高级搜索获得班次信息分页")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/shift/vo/ShiftExcelVO.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.shift.vo; package com.win.module.wms.controller.shift.vo;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
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.*;
@ -27,9 +29,6 @@ public class ShiftExcelVO {
@ExcelProperty("名称") @ExcelProperty("名称")
private String name; private String name;
@ExcelProperty("描述")
private String description;
@ExcelProperty("开始时间") @ExcelProperty("开始时间")
private LocalDateTime beginTime; private LocalDateTime beginTime;
@ -51,10 +50,12 @@ public class ShiftExcelVO {
@ExcelProperty("创建者ID") @ExcelProperty("创建者ID")
private String creator; private String creator;
@ExcelProperty("是否跨天") @ExcelProperty(value = "是否跨天", converter = DictConvert.class)
@DictFormat("true_false")
private String endAtNextDay; private String endAtNextDay;
@ExcelProperty("是否可用") @ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat("true_false")
private String available; private String available;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/shift/vo/ShiftExportReqVO.java

@ -19,9 +19,6 @@ public class ShiftExportReqVO {
@Schema(description = "名称") @Schema(description = "名称")
private String name; private String name;
@Schema(description = "描述")
private String description;
@Schema(description = "开始时间") @Schema(description = "开始时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] beginTime; private LocalDateTime[] beginTime;

53
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/StdcostpriceController.java

@ -8,9 +8,15 @@ 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.bom.vo.BomRespVO;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.stdcostprice.vo.*; import com.win.module.wms.controller.stdcostprice.vo.*;
import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceImportExcelVo; import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceImportExcelVo;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.stdcostprice.StdcostpriceConvert; import com.win.module.wms.convert.stdcostprice.StdcostpriceConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.stdcostprice.StdcostpriceService; import com.win.module.wms.service.stdcostprice.StdcostpriceService;
@ -79,21 +85,19 @@ public class StdcostpriceController {
return success(StdcostpriceConvert.INSTANCE.convert(stdcostprice)); return success(StdcostpriceConvert.INSTANCE.convert(stdcostprice));
} }
@GetMapping("/list")
@Operation(summary = "获得标准成本价格单列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')")
public CommonResult<List<StdcostpriceRespVO>> getStdcostpriceList(@RequestParam("ids") Collection<Long> ids) {
List<StdcostpriceDO> list = stdcostpriceService.getStdcostpriceList(ids);
return success(StdcostpriceConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得标准成本价格单分页") @Operation(summary = "获得标准成本价格单分页")
@PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')") @PreAuthorize("@ss.hasPermission('wms:stdcostprice:query')")
public CommonResult<PageResult<StdcostpriceRespVO>> getStdcostpricePage(@Valid StdcostpricePageReqVO pageVO) { public CommonResult<PageResult<StdcostpriceRespVO>> getStdcostpricePage(@Valid StdcostpricePageReqVO pageVO) {
PageResult<StdcostpriceDO> pageResult = stdcostpriceService.getStdcostpricePage(pageVO); PageResult<StdcostpriceDO> pageResult = stdcostpriceService.getStdcostpricePage(pageVO);
return success(StdcostpriceConvert.INSTANCE.convertPage(pageResult)); PageResult<StdcostpriceRespVO> result = StdcostpriceConvert.INSTANCE.convertPage(pageResult);
for(StdcostpriceRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@ -117,18 +121,33 @@ public class StdcostpriceController {
public void exportStdcostpriceExcel(@Valid StdcostpriceExportReqVO exportReqVO, public void exportStdcostpriceExcel(@Valid StdcostpriceExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<StdcostpriceDO> list = stdcostpriceService.getStdcostpriceList(exportReqVO); List<StdcostpriceDO> list = stdcostpriceService.getStdcostpriceList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<StdcostpriceExcelVO> datas = StdcostpriceConvert.INSTANCE.convertList02(list); List<StdcostpriceExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(StdcostpriceExcelVO vo : datas) { ExcelUtils.write(response, "标准成本价格单.xlsx", "数据", StdcostpriceExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段 @PostMapping("/export-excel-senior")
vo.setCreator(user.getNickname()); @Operation(summary = "导出标准成本价格单 Excel")
} Map<Integer, String[]> mapDropDown = new HashMap<>(); @PreAuthorize("@ss.hasPermission('wms:stdcostprice:export')")
@OperateLog(type = EXPORT)
public void exportStdcostpriceExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<StdcostpriceDO> list = stdcostpriceService.getStdcostpriceList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<StdcostpriceExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "标准成本价格单.xlsx", "数据", StdcostpriceExcelVO.class, resultList, mapDropDown);
}
private List<StdcostpriceExcelVO> getExcelVo(List<StdcostpriceDO> list, Map<Integer, String[]> mapDropDown) {
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(4, available); mapDropDown.put(4, available);
String[] currency = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.CURRENCY); String[] currency = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.CURRENCY);
mapDropDown.put(2, currency); mapDropDown.put(2, currency);
ExcelUtils.write(response, "标准成本价格单.xls", "数据", StdcostpriceExcelVO.class, datas,mapDropDown); // 导出 Excel
List<StdcostpriceExcelVO> resultList = StdcostpriceConvert.INSTANCE.convertList02(list);
for(StdcostpriceExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获得导入标准成本价格单信息模板") @Operation(summary = "获得导入标准成本价格单信息模板")

44
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplier/SupplierController.java

@ -8,8 +8,13 @@ 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.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.itempackaging.vo.ItempackagingRespVO;
import com.win.module.wms.controller.supplier.vo.*; import com.win.module.wms.controller.supplier.vo.*;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.itempackaging.ItempackagingConvert;
import com.win.module.wms.convert.supplier.SupplierConvert; import com.win.module.wms.convert.supplier.SupplierConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.supplier.SupplierDO; import com.win.module.wms.dal.dataobject.supplier.SupplierDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.supplier.SupplierService; import com.win.module.wms.service.supplier.SupplierService;
@ -103,7 +108,13 @@ public class SupplierController {
@PreAuthorize("@ss.hasPermission('wms:supplier:query')") @PreAuthorize("@ss.hasPermission('wms:supplier:query')")
public CommonResult<PageResult<SupplierRespVO>> getSupplierPage(@Valid SupplierPageReqVO pageVO) { public CommonResult<PageResult<SupplierRespVO>> getSupplierPage(@Valid SupplierPageReqVO pageVO) {
PageResult<SupplierDO> pageResult = supplierService.getSupplierPage(pageVO); PageResult<SupplierDO> pageResult = supplierService.getSupplierPage(pageVO);
return success(SupplierConvert.INSTANCE.convertPage(pageResult)); PageResult<SupplierRespVO> result = SupplierConvert.INSTANCE.convertPage(pageResult);
for(SupplierRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@ -113,20 +124,35 @@ public class SupplierController {
public void exportSupplierExcel(@Valid SupplierExportReqVO exportReqVO, public void exportSupplierExcel(@Valid SupplierExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<SupplierDO> list = supplierService.getSupplierList(exportReqVO); List<SupplierDO> list = supplierService.getSupplierList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<SupplierExcelVO> datas = SupplierConvert.INSTANCE.convertList02(list); List<SupplierExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(SupplierExcelVO vo : datas) { ExcelUtils.write(response, "供应商.xlsx", "数据", SupplierExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段 @PostMapping("/export-excel-senior")
vo.setCreator(user.getNickname()); @Operation(summary = "导出供应商 Excel")
} Map<Integer, String[]> mapDropDown = new HashMap<>(); @PreAuthorize("@ss.hasPermission('wms:supplier:export')")
@OperateLog(type = EXPORT)
public void exportSupplierExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<SupplierDO> list = supplierService.getSupplierList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<SupplierExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "供应商.xlsx", "数据", SupplierExcelVO.class, resultList, mapDropDown);
}
private List<SupplierExcelVO> getExcelVo(List<SupplierDO> list, Map<Integer, String[]> mapDropDown) {
String[] currency = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.CURRENCY); String[] currency = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.CURRENCY);
mapDropDown.put(11, currency); mapDropDown.put(11, currency);
String[] type = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SUPPLIER_TYPE); String[] type = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SUPPLIER_TYPE);
mapDropDown.put(13, type); mapDropDown.put(13, type);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(14, available); mapDropDown.put(14, available);
ExcelUtils.write(response, "供应商.xls", "数据", SupplierExcelVO.class, datas,mapDropDown); // 导出 Excel
List<SupplierExcelVO> resultList = SupplierConvert.INSTANCE.convertList02(list);
for(SupplierExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获得导入供应商模板") @Operation(summary = "获得导入供应商模板")

53
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplieritem/SupplieritemController.java

@ -8,8 +8,13 @@ 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.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.purchaseprice.vo.PurchasepriceRespVO;
import com.win.module.wms.controller.supplieritem.vo.*; import com.win.module.wms.controller.supplieritem.vo.*;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert;
import com.win.module.wms.convert.supplieritem.SupplieritemConvert; import com.win.module.wms.convert.supplieritem.SupplieritemConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.supplieritem.SupplieritemService;
@ -78,21 +83,19 @@ public class SupplieritemController {
return success(SupplieritemConvert.INSTANCE.convert(supplieritem)); return success(SupplieritemConvert.INSTANCE.convert(supplieritem));
} }
@GetMapping("/list")
@Operation(summary = "获得供应商物品列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:supplieritem:query')")
public CommonResult<List<SupplieritemRespVO>> getSupplieritemList(@RequestParam("ids") Collection<Long> ids) {
List<SupplieritemDO> list = supplieritemService.getSupplieritemList(ids);
return success(SupplieritemConvert.INSTANCE.convertList(list));
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得供应商物品分页") @Operation(summary = "获得供应商物品分页")
@PreAuthorize("@ss.hasPermission('wms:supplieritem:query')") @PreAuthorize("@ss.hasPermission('wms:supplieritem:query')")
public CommonResult<PageResult<SupplieritemRespVO>> getSupplieritemPage(@Valid SupplieritemPageReqVO pageVO) { public CommonResult<PageResult<SupplieritemRespVO>> getSupplieritemPage(@Valid SupplieritemPageReqVO pageVO) {
PageResult<SupplieritemDO> pageResult = supplieritemService.getSupplieritemPage(pageVO); PageResult<SupplieritemDO> pageResult = supplieritemService.getSupplieritemPage(pageVO);
return success(SupplieritemConvert.INSTANCE.convertPage(pageResult)); PageResult<SupplieritemRespVO> result = SupplieritemConvert.INSTANCE.convertPage(pageResult);
for(SupplieritemRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@ -115,13 +118,21 @@ public class SupplieritemController {
public void exportSupplieritemExcel(@Valid SupplieritemExportReqVO exportReqVO, public void exportSupplieritemExcel(@Valid SupplieritemExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<SupplieritemDO> list = supplieritemService.getSupplieritemList(exportReqVO); List<SupplieritemDO> list = supplieritemService.getSupplieritemList(exportReqVO);
// 导出 Excel Map<Integer, String[]> mapDropDown = new HashMap<>();
List<SupplieritemExcelVO> datas = SupplieritemConvert.INSTANCE.convertList02(list); List<SupplieritemExcelVO> resultList = this.getExcelVo(list, mapDropDown);
for(SupplieritemExcelVO vo : datas) { ExcelUtils.write(response, "供应商物品.xlsx", "数据", SupplieritemExcelVO.class, resultList, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); }
//后端创建个字段作为前端展示的虚拟字段 @PostMapping("/export-excel-senior")
vo.setCreator(user.getNickname()); @Operation(summary = "导出供应商物品 Excel")
} Map<Integer, String[]> mapDropDown = new HashMap<>(); @PreAuthorize("@ss.hasPermission('wms:supplieritem:export')")
@OperateLog(type = EXPORT)
public void exportSupplieritemExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<SupplieritemDO> list = supplieritemService.getSupplieritemList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<SupplieritemExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "供应商物品.xlsx", "数据", SupplieritemExcelVO.class, resultList, mapDropDown);
}
private List<SupplieritemExcelVO> getExcelVo(List<SupplieritemDO> list, Map<Integer, String[]> mapDropDown) {
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(13, available); mapDropDown.put(13, available);
String[] supplierUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] supplierUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
@ -132,9 +143,15 @@ public class SupplieritemController {
mapDropDown.put(7, altPackUnit); mapDropDown.put(7, altPackUnit);
String[] settlementType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SETTLEMENT_TYPE); String[] settlementType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SETTLEMENT_TYPE);
mapDropDown.put(12, settlementType); mapDropDown.put(12, settlementType);
ExcelUtils.write(response, "供应商物品.xls", "数据", SupplieritemExcelVO.class, datas,mapDropDown); // 导出 Excel
List<SupplieritemExcelVO> resultList = SupplieritemConvert.INSTANCE.convertList02(list);
for(SupplieritemExcelVO vo : resultList) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return resultList;
} }
@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 {

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save