Browse Source

Merge remote-tracking branch 'origin/master'

master
songguoqiang 2 years ago
parent
commit
8221f4bfd8
  1. 271
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/serialNumber/RuleCodeEnum.java
  2. 11
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/inventoryAction/InventoryActionEnum.java
  3. 83
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanMainController.java
  4. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainCreateReqVO.java
  5. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainImportErrorVO.java
  6. 45
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainImportVO.java
  7. 81
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/DemandforecastingMainController.java
  8. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/vo/DemandforecastingImportErrorVO.java
  9. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/vo/DemandforecastingImportVO.java
  10. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/vo/DemandforecastingMainCreateReqVO.java
  11. 83
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/InventorychangeRequestMainController.java
  12. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/vo/InventorychangeRequestMainCreateReqVO.java
  13. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/vo/InventorychangeRequestMainImportErrorVO.java
  14. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/vo/InventorychangeRequestMainImportVO.java
  15. 83
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/InventoryinitRequestMainController.java
  16. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainCreateReqVO.java
  17. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainImportErrorVO.java
  18. 63
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainImportVO.java
  19. 83
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/InventorymoveRequestMainController.java
  20. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/vo/InventorymoveRequestMainCreateReqVO.java
  21. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/vo/InventorymoveRequestMainImportErrorVO.java
  22. 64
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/vo/InventorymoveRequestMainImportVO.java
  23. 50
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java
  24. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/vo/ProductionMainCreateReqVO.java
  25. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/vo/ProductionMainImportErrorVO.java
  26. 63
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/vo/ProductionMainImportVO.java
  27. 84
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/ProductscrapRequestMainController.java
  28. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainCreateReqVO.java
  29. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainImportErrorVO.java
  30. 46
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainImportVO.java
  31. 81
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java
  32. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailBaseVO.java
  33. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailCreateReqVO.java
  34. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainBaseVO.java
  35. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainCreateReqVO.java
  36. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportErrorVO.java
  37. 64
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java
  38. 81
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java
  39. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainCreateReqVO.java
  40. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainImportErrorVO.java
  41. 38
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainImportVO.java
  42. 82
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java
  43. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainCreateReqVO.java
  44. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportErrorVO.java
  45. 64
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportVO.java
  46. 83
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/RepleinshRequestMainController.java
  47. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/vo/RepleinshRequestMainCreateReqVO.java
  48. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/vo/RepleinshRequestMainImportErrorVO.java
  49. 64
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/vo/RepleinshRequestMainImportVO.java
  50. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/RuleBaseVO.java
  51. 83
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/SaleMainController.java
  52. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/vo/SaleMainCreateReqVO.java
  53. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/vo/SaleMainImportErrorVO.java
  54. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/vo/SaleMainImportVO.java
  55. 79
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/SupplierdeliverRequestMainController.java
  56. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestMainCreateReqVO.java
  57. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestMainImportErrorVO.java
  58. 64
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestMainImportVO.java
  59. 82
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transaction/TransactionController.java
  60. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transaction/vo/TransactionBaseVO.java
  61. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transaction/vo/TransactionCreateReqListVO.java
  62. 67
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferlog/TransferlogController.java
  63. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferlog/vo/TransferlogBaseVO.java
  64. 81
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java
  65. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainCreateReqVO.java
  66. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainImportErrorVO.java
  67. 44
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainImportVO.java
  68. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/deliverPlan/DeliverPlanDetailConvert.java
  69. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/demandforecasting/DemandforecastingDetailConvert.java
  70. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inventorychangeRequest/InventorychangeRequestDetailConvert.java
  71. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inventoryinitRequest/InventoryinitRequestDetailConvert.java
  72. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inventorymoveRequest/InventorymoveRequestDetailConvert.java
  73. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/production/ProductionDetailConvert.java
  74. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productscrapRequest/ProductscrapRequestDetailConvert.java
  75. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchase/PurchaseDetailConvert.java
  76. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasePlan/PurchasePlanDetailConvert.java
  77. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRequest/PurchasereceiptRequestDetailConvert.java
  78. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshRequest/RepleinshRequestDetailConvert.java
  79. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/rule/RuleConvert.java
  80. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/sale/SaleDetailConvert.java
  81. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierdeliverRequest/SupplierdeliverRequestDetailConvert.java
  82. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/work/WorkDetailConvert.java
  83. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchaseclaimRequest/PurchaseclaimRequestDetailDO.java
  84. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transaction/TransactionDO.java
  85. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java
  86. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseclaimRequest/PurchaseclaimRequestMainMapper.java
  87. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/transaction/TransactionMapper.java
  88. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java
  89. 31
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java
  90. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainService.java
  91. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java
  92. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainService.java
  93. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java
  94. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainService.java
  95. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java
  96. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainService.java
  97. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java
  98. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainService.java
  99. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainServiceImpl.java
  100. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainService.java

271
win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/serialNumber/RuleCodeEnum.java

@ -2,140 +2,143 @@ package com.win.module.system.enums.serialNumber;
public enum RuleCodeEnum {
PURCHASE_CLAIM_RECORD("PurchaseClaimRecord"),
PURCHASE_ORDER("PurchaseOrder"),
WORK_ORDER("WorkOrder"),
SALE_ORDER("SaleOrder"),
PURCHASE_PLAN("PurchasePlan"),
WORK_PLAN("WorkPlan"),
MATERIAL_PREPARE_PLAN("MaterialPreparePlan"),
DELIVER_PLAN("DeliverPlan"),
PRODUCT_PREPARE_PLAN("ProductPreparePlan"),
COUNT_PLAN("CountPlan"),
PURCHASE_PREDICTION("PurchasePrediction"),
SUPPLIER_EVALUATION("SupplierEvaluation"),
SUPPLIER_DELIVER_REQUEST("SupplierDeliverRequest"),
PURCHASE_RECEIPT_REQUEST("PurchaseReceiptRequest"),
PURCHASE_RETURN_REQUEST("PurchaseReturnRequest"),
PURCHASE_CLAIM_REQUEST("PurchaseClaimRequest"),
SUPPLIER_INVOICE_REQUEST("SupplierInvoiceRequest"),
INSPECT_REQUEST("InspectRequest"),
PURCHASE_PUTAWAY_REQUEST("PurchasePutawayRequest"),
REPLEINMENT_REQUEST("RepleinmentRequest"),
PICK_REQUEST("PickRequest"),
ISSUE_REQUEST("IssueRequest"),
RETURN_TO_STORE_REQUEST("ReturnToStoreRequest"),
RETURN_TO_HOLD("ReturnToHOld"),
PRODUCT_RECEIPT_REQUEST("ProductReceiptRequest"),
PRODUCT_PUTAWAY_REQUEST("ProductPutawayRequest"),
PRODUCT_DISASSEMBLE_REQUEST("ProductDisassembleRequest"),
PRODUCT_REPAIR_REQUEST("ProductRepairRequest"),
PRODUCT_SCRAP_REQUEST("ProductScrapRequest"),
DELIVER_REQUEST("DeliverRequest"),
CUSTOMER_REJECT_REQUEST("CustomerRejectRequest"),
CUSTOMER_SETTLE_REQUEST("CustomerSettleRequest"),
INVENTORY_INITIAL_REQUEST("InventoryInitialRequest"),
MOVE_REQUEST("MoveRequest"),
OK_TO_HOLD_REQUEST("OkToHoldRequest"),
HOLD_TO_OK_REQUEST("HoldToOkRequest"),
HOLD_TO_SCRAP_REQUEST("HoldToScrapRequest"),
OK_TO_SCRAP_REQUEST("OktoScrapRequest"),
SCRAP_TO_HOLD_REQUEST("ScrapToHoldRequest"),
TRANSFER_REQUEST("TransferRequest"),
UNPLANNED_RECEIPT_REQUEST("UnplannedReceiptRequest"),
UNPLANNED_DELIVER_REQUEST("UnplannedDeliverRequest"),
SCRAP_REQUEST("ScrapRequest"),
COUNT_REQUEST("CountRequest"),
COUNT_ADJUST_REQUEST("CountAdjustRequest"),
QTY_ADJUST_REQUEST("QtyAdjustRequest"),
OFFLINE_SETTLEMENT_REQUEST("OfflineSettlementRequest"),
ONLINE_SETTLEMENT_REQUEST("OnlineSettlementRequest"),
INVENTORY_MOVE_REQUEST("InventoryMoveRequest"),
INVENTORY_CHANGE_REQUEST("InventoryChangeRequest"),
PRODUCTION_RETURN_REQUEST("ProductionReturnRequest"),
CUSTOMER_RECEIPT_REQUEST("CustomerReceiptRequest"),
CHECK_RE_REQUEST("CheckReRequest"),
PURCHASE_RECEIPT_JOB("PurchaseReceiptJob"),
PURCHASE_RETURN_JOB("PurchaseReturnJob"),
INSPECT_JOB("InspectJob"),
PURCHASE_PUTAWAY_JOB("PurchasePutawayJob"),
PICK_JOB("PickJob"),
ISSUE_JOB("IssueJob"),
ISSUE_RECEIPT_JOB("IssueReceiptJob"),
REPLEINMENT_JOB("RepleinmentJob"),
RETURN_TO_STORE_JOB("ReturnToStoreJob"),
RETURN_TO_HOLD_JOB("ReturnToHoldJob"),
MOVE_JOB("MoveJob"),
OK_TO_HOLD_JOB("OkToHoldJob"),
HOLD_TO_OK_JOB("HoldToOkJob"),
HOLD_TO_SCRAP_JOB("HoldToScrapJob"),
OK_TO_SCRAP_JOB("OkToScrapJob"),
SCRAP_TO_HOLD_JOB("ScrapToHoldJob"),
TRANSFER_DELIVER_JOB("TransferDeliverJob"),
TRANSFER_RECEIPT_JOB("TransferReceiptJob"),
UNPLANNED_RECEIPT_JOB("UnplannedReceiptJob"),
UNPLANNED_DELIVER_JOB("UnplannedDeliverJob"),
SCRAP_JOB("ScrapJob"),
PRODUCT_RECEIPT_JOB("ProductReceiptJob"),
PRODUCT_PUTAWAY_JOB("ProductPutawayJob"),
PRODUCT_SCRAP_JOB("ProductScrapJob"),
DELIVER_JOB("DeliverJob"),
CUSTOMER_REJECT_JOB("CustomerRejectJob"),
COUNT_JOB("CountJob"),
INVENTORY_MOVE_JOB("InventoryMoveJob"),
PRODUCTION_RETURN_JOB("ProductionReturnJob"),
PRODUCTION_RECEIPT_JOB("ProductionReceiptJob"),
CHECK_JOB("CheckJob"),
PRODUCT_DISMANTLE_JOB("ProductDismantleJob"),
SUPPLIER_DELIVER_RECORD("SupplierDeliverRecord"),
PURCHASE_RECEIPT_RECORD("PurchaseReceiptRecord"),
PURCHASE_RETURN_RECORD("PurchaseReturnRecord"),
SUPPLIER_CLAIM_RECORD("SupplierClaimRecord"),
SUPPLIER_INVOICE_RECORD("SupplierInvoiceRecord"),
INSPECT_RECORD("InspectRecord"),
PURCHASE_PUTAWAY_RECORD("PurchasePutawayRecord"),
ISSUE_RECORD("IssueRecord"),
ISSUE_RECEIPT_RECORD("IssueReceiptRecord"),
PICK_RECORD("PickRecord"),
REPLEINMENT_RECORD("RepleinmentRecord"),
PRODUCT_RECEIPT_RECORD("ProductReceiptRecord"),
PRODUCT_PUTAWAY_RECORD("ProductPutawayRecord"),
RETURN_TO_STORE_RECORD("ReturnToStoreRecord"),
RETURN_TO_HOLD_RECORD("ReturnToHoldRecord"),
PRODUCT_DISASSEMBLE_RECORD("ProductDisassembleRecord"),
PRODUCT_REPAIR_RECORD("ProductRepairRecord"),
PRODUCT_SCRAP_RECORD("ProductScrapRecord"),
DELIVER_RECORD("DeliverRecord"),
CHECK_RECORD("CheckRecord"),
CUSTOMER_REJECT_RECORD("CustomerRejectRecord"),
INVENTORY_INITIAL_RECORD("InventoryInitialRecord"),
MOVE_RECORD("MoveRecord"),
OK_TO_HOLD_RECORD("OkToHoldRecord"),
HOLD_TO_OK_RECORD("HoldToOkRecord"),
HOLD_TO_SCRAP_RECORD("HoldToScrapRecord"),
OK_TO_SCRAP_RECORD("OktoScrapRecord"),
SCRAP_TO_HOLD_RECORD("ScrapToHoldRecord"),
TRANSFER_DELIVER_RECORD("TransferDeliverRecord"),
TRANSFER_RECEIPT_RECORD("TransferReceiptRecord"),
UNPLANNED_RECEIPT_RECORD("UnplannedReceiptRecord"),
UNPLANNED_DELIVER_RECORD("UnplannedDeliverRecord"),
SCRAP_RECORD("ScrapRecord"),
COUNT_RECORD("CountRecord"),
COUNT_ADJUST_RECORD("CountAdjustRecord"),
QTY_ADJUST_RECORD("QtyAdjustRecord"),
SPLIT_PACKAGE_RECORD("SplitPackageRecord"),
MERGE_PACKAGE_RECORD("MergePackageRecord"),
OVER_PACKAGE_RECORD("OverPackageRecord"),
CONTAINER_BIND_RECORD("ContainerBindRecord"),
CONTAINER_UNBIND_RECORD("ContainerUnbindRecord"),
OFFLINE_SETTLEMENT_RECORD("OfflineSettlementRecord"),
ONLINE_SETTLEMENT_RECORD("OnlineSettlementRecord"),
CUSTOMER_RECEIPT_RECORD("CustomerReceiptRecord"),
PRODUCTION_RECEIPT_RECORD("ProductionReceiptRecord"),
CUSTOMER_SETTLE_RECORD("CustomerSettleRecord"),
INVENTORY_CHANGE_RECORD("InventoryChangeRecord"),
INVENTORY_MOVE_RECORD("InventoryMoveRecord"),
ASN_NUMBER("AsnNumber");
PURCHASE_ORDER("PurchaseOrder"), // 采购订单
WORK_ORDER("WorkOrder"), // 生产订单
SALE_ORDER("SaleOrder"), // 销售订单
PURCHASE_PLAN("PurchasePlan"), // 采购计划
WORK_PLAN("WorkPlan"), // 生产计划
MATERIAL_PREPARE_PLAN("MaterialPreparePlan"), // 备料计划
DELIVER_PLAN("DeliverPlan"), // 发货计划
PRODUCT_PREPARE_PLAN("ProductPreparePlan"), // 备货计划
COUNT_PLAN("CountPlan"), // 盘点计划
PURCHASE_PREDICTION("PurchasePrediction"), // 要货预测
SUPPLIER_EVALUATION("SupplierEvaluation"), // 供应商评价
SUPPLIER_DELIVER_REQUEST("SupplierDeliverRequest"), // 供应商发货申请
PURCHASE_RECEIPT_REQUEST("PurchaseReceiptRequest"), // 采购收货申请
PURCHASE_RETURN_REQUEST("PurchaseReturnRequest"), // 采购退货申请
PURCHASE_CLAIM_REQUEST("PurchaseClaimRequest"), // 采购索赔申请
SUPPLIER_INVOICE_REQUEST("SupplierInvoiceRequest"), // 供应商发票申请
INSPECT_REQUEST("InspectRequest"), // 到货检验申请
PURCHASE_PUTAWAY_REQUEST("PurchasePutawayRequest"), // 采购上架申请
REPLEINMENT_REQUEST("RepleinmentRequest"), // 补料申请
PICK_REQUEST("PickRequest"), // 拣料申请
ISSUE_REQUEST("IssueRequest"), // 发料申请
RETURN_TO_STORE_REQUEST("ReturnToStoreRequest"), // 合格退料申请
RETURN_TO_HOLD("ReturnToHOld"), // 隔离退料申请
PRODUCT_RECEIPT_REQUEST("ProductReceiptRequest"), // 制品收货申请
PRODUCT_PUTAWAY_REQUEST("ProductPutawayRequest"), // 制品上架申请
PRODUCT_DISASSEMBLE_REQUEST("ProductDisassembleRequest"), // 制品拆解申请
PRODUCT_REPAIR_REQUEST("ProductRepairRequest"), // 制品返修申请
PRODUCT_SCRAP_REQUEST("ProductScrapRequest"), // 制品报废申请
DELIVER_REQUEST("DeliverRequest"), // 发货申请
CUSTOMER_REJECT_REQUEST("CustomerRejectRequest"), // 客户退货申请
CUSTOMER_SETTLE_REQUEST("CustomerSettleRequest"), // 客户结算申请
INVENTORY_INITIAL_REQUEST("InventoryInitialRequest"), // 库存初始化申请
MOVE_REQUEST("MoveRequest"), // 位移申请
OK_TO_HOLD_REQUEST("OkToHoldRequest"), // 合格转隔离申请
HOLD_TO_OK_REQUEST("HoldToOkRequest"), // 隔离转合格申请
HOLD_TO_SCRAP_REQUEST("HoldToScrapRequest"), // 隔离转报废申请
OK_TO_SCRAP_REQUEST("OktoScrapRequest"), // 合格转报废申请
SCRAP_TO_HOLD_REQUEST("ScrapToHoldRequest"), // 报废转隔离申请
TRANSFER_REQUEST("TransferRequest"), // 调拨申请
UNPLANNED_RECEIPT_REQUEST("UnplannedReceiptRequest"), // 计划外入库申请
UNPLANNED_DELIVER_REQUEST("UnplannedDeliverRequest"), // 计划外出库申请
SCRAP_REQUEST("ScrapRequest"), // 报废出库申请
COUNT_REQUEST("CountRequest"), // 盘点申请
COUNT_ADJUST_REQUEST("CountAdjustRequest"), // 盘点调整申请
QTY_ADJUST_REQUEST("QtyAdjustRequest"), // 数量调整申请
OFFLINE_SETTLEMENT_REQUEST("OfflineSettlementRequest"), // 下线结算申请
ONLINE_SETTLEMENT_REQUEST("OnlineSettlementRequest"), // 上线结算申请
INVENTORY_MOVE_REQUEST("InventoryMoveRequest"), // 库存转移申请
INVENTORY_CHANGE_REQUEST("InventoryChangeRequest"), // 库存修改申请
PRODUCTION_RETURN_REQUEST("ProductionReturnRequest"), // 生产退料申请
CUSTOMER_RECEIPT_REQUEST("CustomerReceiptRequest"), // 客户收货申请
CHECK_RE_REQUEST("CheckReRequest"), // 校验比对申请
PURCHASE_RECEIPT_JOB("PurchaseReceiptJob"), // 采购收货任务
PURCHASE_RETURN_JOB("PurchaseReturnJob"), // 采购退货任务
INSPECT_JOB("InspectJob"), // 到货检验任务
PURCHASE_PUTAWAY_JOB("PurchasePutawayJob"), // 原料上架任务
PICK_JOB("PickJob"), // 拣料任务
ISSUE_JOB("IssueJob"), // 发料任务
ISSUE_RECEIPT_JOB("IssueReceiptJob"), // 发料接收任务
REPLEINMENT_JOB("RepleinmentJob"), // 补料任务
RETURN_TO_STORE_JOB("ReturnToStoreJob"), // 合格退料任务
RETURN_TO_HOLD_JOB("ReturnToHoldJob"), // 隔离退料任务
MOVE_JOB("MoveJob"), // 自由移动任务
OK_TO_HOLD_JOB("OkToHoldJob"), // 合格转隔离任务
HOLD_TO_OK_JOB("HoldToOkJob"), // 隔离转合格任务
HOLD_TO_SCRAP_JOB("HoldToScrapJob"), // 隔离转报废任务
OK_TO_SCRAP_JOB("OkToScrapJob"), // 合格转报废任务
SCRAP_TO_HOLD_JOB("ScrapToHoldJob"), // 报废转隔离任务
TRANSFER_DELIVER_JOB("TransferDeliverJob"), // 调拨发货任务
TRANSFER_RECEIPT_JOB("TransferReceiptJob"), // 调拨收货任务
UNPLANNED_RECEIPT_JOB("UnplannedReceiptJob"), // 计划外入库任务
UNPLANNED_DELIVER_JOB("UnplannedDeliverJob"), // 计划外出库任务
SCRAP_JOB("ScrapJob"), // 报废出库任务
PRODUCT_RECEIPT_JOB("ProductReceiptJob"), // 制品收货任务
PRODUCT_PUTAWAY_JOB("ProductPutawayJob"), // 制品上架任务
PRODUCT_SCRAP_JOB("ProductScrapJob"), // 制品报废任务
DELIVER_JOB("DeliverJob"), // 发货任务
CUSTOMER_REJECT_JOB("CustomerRejectJob"), // 客户退货任务
COUNT_JOB("CountJob"), // 盘点任务
INVENTORY_MOVE_JOB("InventoryMoveJob"), // 库存转移任务
PRODUCTION_RETURN_JOB("ProductionReturnJob"), // 生产退料任务
PRODUCTION_RECEIPT_JOB("ProductionReceiptJob"), // 生产收料任务
CHECK_JOB("CheckJob"), // 检验比对任务
PRODUCT_DISMANTLE_JOB("ProductDismantleJob"), // 制品拆解任务
SUPPLIER_DELIVER_RECORD("SupplierDeliverRecord"), // 供应商发货记录
PURCHASE_RECEIPT_RECORD("PurchaseReceiptRecord"), // 采购收货记录
PURCHASE_RETURN_RECORD("PurchaseReturnRecord"), // 采购退货记录
SUPPLIER_CLAIM_RECORD("SupplierClaimRecord"), // 供应商索赔记录
SUPPLIER_INVOICE_RECORD("SupplierInvoiceRecord"), // 供应商发票记录
INSPECT_RECORD("InspectRecord"), // 到货检验记录
PURCHASE_PUTAWAY_RECORD("PurchasePutawayRecord"), // 原料上架记录
ISSUE_RECORD("IssueRecord"), // 发料记录
ISSUE_RECEIPT_RECORD("IssueReceiptRecord"), // 发料接收记录
PICK_RECORD("PickRecord"), // 拣料记录
REPLEINMENT_RECORD("RepleinmentRecord"), // 补料记录
PRODUCT_RECEIPT_RECORD("ProductReceiptRecord"), // 制品收货记录
PRODUCT_PUTAWAY_RECORD("ProductPutawayRecord"), // 制品上架记录
RETURN_TO_STORE_RECORD("ReturnToStoreRecord"), // 生产退料记录
RETURN_TO_HOLD_RECORD("ReturnToHoldRecord"), // 退料上架记录
PRODUCT_DISASSEMBLE_RECORD("ProductDisassembleRecord"), // 制品拆解记录
PRODUCT_REPAIR_RECORD("ProductRepairRecord"), // 制品返修记录
PRODUCT_SCRAP_RECORD("ProductScrapRecord"), // 制品报废记录
DELIVER_RECORD("DeliverRecord"), // 发货记录
CHECK_RECORD("CheckRecord"), // 校验记录
CUSTOMER_REJECT_RECORD("CustomerRejectRecord"), // 客户退货记录
INVENTORY_INITIAL_RECORD("InventoryInitialRecord"), // 库存初始化记录
MOVE_RECORD("MoveRecord"), // 位移记录
OK_TO_HOLD_RECORD("OkToHoldRecord"), // 合格转隔离记录
HOLD_TO_OK_RECORD("HoldToOkRecord"), // 隔离转合格记录
HOLD_TO_SCRAP_RECORD("HoldToScrapRecord"), // 隔离转报废记录
OK_TO_SCRAP_RECORD("OktoScrapRecord"), // 合格转报废记录
SCRAP_TO_HOLD_RECORD("ScrapToHoldRecord"), // 报废转隔离记录
TRANSFER_DELIVER_RECORD("TransferDeliverRecord"), // 调拨发出记录
TRANSFER_RECEIPT_RECORD("TransferReceiptRecord"), // 调拨接收记录
UNPLANNED_RECEIPT_RECORD("UnplannedReceiptRecord"), // 计划外入库记录
UNPLANNED_DELIVER_RECORD("UnplannedDeliverRecord"), // 计划外出库记录
SCRAP_RECORD("ScrapRecord"), // 报废出库记录
COUNT_RECORD("CountRecord"), // 盘点记录
COUNT_ADJUST_RECORD("CountAdjustRecord"), // 盘点调整记录
QTY_ADJUST_RECORD("QtyAdjustRecord"), // 数量调整记录
SPLIT_PACKAGE_RECORD("SplitPackageRecord"), // 拆包记录
MERGE_PACKAGE_RECORD("MergePackageRecord"), // 合包记录
OVER_PACKAGE_RECORD("OverPackageRecord"), // 翻包记录
CONTAINER_BIND_RECORD("ContainerBindRecord"), // 器具绑定记录
CONTAINER_UNBIND_RECORD("ContainerUnbindRecord"), // 器具解绑记录
OFFLINE_SETTLEMENT_RECORD("OfflineSettlementRecord"), // 下线结算记录
ONLINE_SETTLEMENT_RECORD("OnlineSettlementRecord"), // 上线结算记录
CUSTOMER_RECEIPT_RECORD("CustomerReceiptRecord"), // 客户收货记录
PRODUCTION_RECEIPT_RECORD("ProductionReceiptRecord"), // 生产收料记录
PURCHASE_CLAIM_RECORD("PurchaseClaimRecord"), // 采购索赔记录
CUSTOMER_SETTLE_RECORD("CustomerSettleRecord"), // 客户结算记录
INVENTORY_CHANGE_RECORD("InventoryChangeRecord"), // 库存修改记录
INVENTORY_MOVE_RECORD("InventoryMoveRecord"), // 库存转移记录
ASN_NUMBER("AsnNumber"), // 发货单号
INVENTORY_TRANSACTION("InventoryTransaction"), // 库存事务
TRANSFER_LOG("TransferLog"), // 库存转移日志
;
private final String code;

11
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/inventoryAction/InventoryActionEnum.java

@ -0,0 +1,11 @@
package com.win.module.wms.enums.inventoryAction;
/**
* 订单状态枚举
*/
public enum InventoryActionEnum {
OUT,// 出库
IN; // 入库
}

83
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanMainController.java

@ -1,34 +1,36 @@
package com.win.module.wms.controller.deliverPlan;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
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 com.win.module.wms.controller.deliverPlan.vo.*;
import com.win.module.wms.convert.deliverPlan.DeliverPlanMainConvert;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import com.win.module.wms.service.deliverPlan.DeliverPlanMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.deliverPlan.vo.*;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import com.win.module.wms.convert.deliverPlan.DeliverPlanMainConvert;
import com.win.module.wms.service.deliverPlan.DeliverPlanMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 发货计划主")
@RestController
@ -120,4 +122,43 @@ public class DeliverPlanMainController {
ExcelUtils.write(response, "发货计划主.xls", "数据", DeliverPlanMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入发货计划信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<DeliverPlanMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "发货计划信息导入模板.xlsx", "发货计划信息列表", DeliverPlanMainImportVO.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:deliver-plan-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<DeliverPlanMainImportVO> list = ExcelUtils.read(file, DeliverPlanMainImportVO.class);
ConvertUtil<DeliverPlanMainCreateReqVO> convertUtil = new ConvertUtil<>(DeliverPlanMainCreateReqVO.class);
List<DeliverPlanMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<DeliverPlanMainImportErrorVO> errorList = deliverPlanMainService.importDeliverPlanMainList(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);
}
}

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

@ -1,7 +1,12 @@
package com.win.module.wms.controller.deliverPlan.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 发货计划主创建 Request VO")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class DeliverPlanMainCreateReqVO extends DeliverPlanMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<DeliverPlanDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/vo/DeliverPlanMainImportErrorVO.java

@ -0,0 +1,25 @@
package com.win.module.wms.controller.deliverPlan.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 DeliverPlanMainImportErrorVO extends DeliverPlanMainImportVO {
@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/deliverPlan/vo/DeliverPlanMainImportVO.java

@ -0,0 +1,45 @@
package com.win.module.wms.controller.deliverPlan.vo;
import com.alibaba.excel.annotation.ExcelProperty;
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 DeliverPlanMainImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("客户")
private String customerCode;
@ExcelProperty("计划日期")
private String planDate;
//子表数据
@ExcelProperty("销售订单号")
private String soNumber;
@ExcelProperty("销售订单行")
private BigDecimal soLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("计划数量")
private BigDecimal qty;
@ExcelProperty("计量单位")
private String uom;
}

81
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/DemandforecastingMainController.java

@ -1,34 +1,36 @@
package com.win.module.wms.controller.demandforecasting;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.demandforecasting.vo.*;
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 com.win.module.wms.convert.demandforecasting.DemandforecastingMainConvert;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingMainDO;
import com.win.module.wms.service.demandforecasting.DemandforecastingMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.demandforecasting.DemandforecastingMainDO;
import com.win.module.wms.convert.demandforecasting.DemandforecastingMainConvert;
import com.win.module.wms.service.demandforecasting.DemandforecastingMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 要货预测主")
@RestController
@ -122,4 +124,43 @@ public class DemandforecastingMainController {
ExcelUtils.write(response, "要货预测主.xls", "数据", DemandforecastingMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入要货预测信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<DemandforecastingImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "要货预测信息导入模板.xlsx", "要货预测信息列表", DemandforecastingImportVO.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:purchaseclaim-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<DemandforecastingImportVO> list = ExcelUtils.read(file, DemandforecastingImportVO.class);
ConvertUtil<DemandforecastingMainCreateReqVO> convertUtil = new ConvertUtil<>(DemandforecastingMainCreateReqVO.class);
List<DemandforecastingMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<DemandforecastingImportErrorVO> errorList = demandforecastingMainService.importDemandforecastingRequestList(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/demandforecasting/vo/DemandforecastingImportErrorVO.java

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

53
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/vo/DemandforecastingImportVO.java

@ -0,0 +1,53 @@
package com.win.module.wms.controller.demandforecasting.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class DemandforecastingImportVO {
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("版本号")
private String version;
//子表数据
@ExcelProperty("预测时间类型")
private String predictTimeType;
@ExcelProperty("预测日期")
private LocalDateTime predictTime;
@ExcelProperty("订单号")
@ColumnWidth(value = 16)
private String po_number;
@ExcelProperty("订单行")
@ColumnWidth(value = 16)
private LocalDateTime dueTime;
@ExcelProperty("物品代码")
private String departmentCode;
@ExcelProperty("计划数量")
private String autoCommit;
@ExcelProperty("计量单位")
private String autoAgree;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/vo/DemandforecastingMainCreateReqVO.java

@ -1,12 +1,20 @@
package com.win.module.wms.controller.demandforecasting.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 要货预测主创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DemandforecastingMainCreateReqVO extends DemandforecastingMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<DemandforecastingDetailCreateReqVO> subList;
}

83
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/InventorychangeRequestMainController.java

@ -1,34 +1,36 @@
package com.win.module.wms.controller.inventorychangeRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
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 com.win.module.wms.controller.inventorychangeRequest.vo.*;
import com.win.module.wms.convert.inventorychangeRequest.InventorychangeRequestMainConvert;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestMainDO;
import com.win.module.wms.service.inventorychangeRequest.InventorychangeRequestMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.inventorychangeRequest.vo.*;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestMainDO;
import com.win.module.wms.convert.inventorychangeRequest.InventorychangeRequestMainConvert;
import com.win.module.wms.service.inventorychangeRequest.InventorychangeRequestMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 库存修改申请主")
@RestController
@ -121,4 +123,43 @@ public class InventorychangeRequestMainController {
ExcelUtils.write(response, "库存修改申请主.xls", "数据", InventorychangeRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入库存修改申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<InventorychangeRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "库存修改申请信息导入模板.xlsx", "发货计划信息列表", InventorychangeRequestMainImportVO.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:deliver-plan-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<InventorychangeRequestMainImportVO> list = ExcelUtils.read(file, InventorychangeRequestMainImportVO.class);
ConvertUtil<InventorychangeRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(InventorychangeRequestMainCreateReqVO.class);
List<InventorychangeRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<InventorychangeRequestMainImportErrorVO> errorList = inventorychangeRequestMainService.importInventorychangeRequestMainList(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);
}
}

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

@ -1,12 +1,19 @@
package com.win.module.wms.controller.inventorychangeRequest.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 库存修改申请主创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InventorychangeRequestMainCreateReqVO extends InventorychangeRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<InventorychangeRequestDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/vo/InventorychangeRequestMainImportErrorVO.java

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

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorychangeRequest/vo/InventorychangeRequestMainImportVO.java

@ -0,0 +1,34 @@
package com.win.module.wms.controller.inventorychangeRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
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 InventorychangeRequestMainImportVO {
//子表数据
@ExcelProperty("零件号")
private String itemCode;
@ExcelProperty("包装号")
private String fromPackingNumber;
@ExcelProperty("器具号")
private String fromContainerNumber;
@ExcelProperty("批次")
private String fromBatch;
@ExcelProperty("库存状态")
private String fromInventoryStatus;
@ExcelProperty("来源库位")
private String fromLocationCode;
}

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

@ -1,34 +1,36 @@
package com.win.module.wms.controller.inventoryinitRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
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 com.win.module.wms.controller.inventoryinitRequest.vo.*;
import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestMainConvert;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO;
import com.win.module.wms.service.inventoryinitRequest.InventoryinitRequestMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.inventoryinitRequest.vo.*;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO;
import com.win.module.wms.convert.inventoryinitRequest.InventoryinitRequestMainConvert;
import com.win.module.wms.service.inventoryinitRequest.InventoryinitRequestMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 库存初始化申请主")
@RestController
@ -121,4 +123,43 @@ public class InventoryinitRequestMainController {
ExcelUtils.write(response, "库存初始化申请主.xls", "数据", InventoryinitRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入库存初始化申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<InventoryinitRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "库存初始化申请信息导入模板.xlsx", "库存初始化申请信息列表", InventoryinitRequestMainImportVO.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:inventoryinit-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<InventoryinitRequestMainImportVO> list = ExcelUtils.read(file, InventoryinitRequestMainImportVO.class);
ConvertUtil<InventoryinitRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(InventoryinitRequestMainCreateReqVO.class);
List<InventoryinitRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<InventoryinitRequestMainImportErrorVO> errorList = inventoryinitRequestMainService.importInventoryinitRequestMainList(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);
}
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.inventoryinitRequest.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 库存初始化申请主创建 Request VO")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class InventoryinitRequestMainCreateReqVO extends InventoryinitRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<InventoryinitRequestDetailCreateReqVO> subList;
}

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventoryinitRequest/vo/InventoryinitRequestMainImportErrorVO.java

@ -0,0 +1,26 @@
package com.win.module.wms.controller.inventoryinitRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.module.wms.controller.purchase.vo.PurchaseMainImportVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InventoryinitRequestMainImportErrorVO extends PurchaseMainImportVO {
@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/inventoryinitRequest/vo/InventoryinitRequestMainImportVO.java

@ -0,0 +1,63 @@
package com.win.module.wms.controller.inventoryinitRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class InventoryinitRequestMainImportVO{
//主表数据
@ExcelProperty("仓库代码")
private String warehouseCode;
//子表数据
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("替代批次")
private String altBatch;
@ExcelProperty("到货日期")
@ColumnWidth(value = 16)
private String arriveDate;
@ExcelProperty("生产日期")
@ColumnWidth(value = 16)
private String produceDate;
@ExcelProperty("过期日期")
private String expireDate;
@ExcelProperty("库存状态")
private LocalDateTime inventoryStatus;
@ExcelProperty("库位代码")
private String locationCode;
@ExcelProperty("数量")
private String qty;
@ExcelProperty("计量单位")
private String uom;
}

83
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/InventorymoveRequestMainController.java

@ -1,34 +1,36 @@
package com.win.module.wms.controller.inventorymoveRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
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 com.win.module.wms.controller.inventorymoveRequest.vo.*;
import com.win.module.wms.convert.inventorymoveRequest.InventorymoveRequestMainConvert;
import com.win.module.wms.dal.dataobject.inventorymoveRequest.InventorymoveRequestMainDO;
import com.win.module.wms.service.inventorymoveRequest.InventorymoveRequestMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.inventorymoveRequest.vo.*;
import com.win.module.wms.dal.dataobject.inventorymoveRequest.InventorymoveRequestMainDO;
import com.win.module.wms.convert.inventorymoveRequest.InventorymoveRequestMainConvert;
import com.win.module.wms.service.inventorymoveRequest.InventorymoveRequestMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 库存转移申请主")
@RestController
@ -122,4 +124,43 @@ public class InventorymoveRequestMainController {
ExcelUtils.write(response, "库存转移申请主.xls", "数据", InventorymoveRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入发货计划信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<InventorymoveRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "发货计划信息导入模板.xlsx", "发货计划信息列表", InventorymoveRequestMainImportVO.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:deliver-plan-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<InventorymoveRequestMainImportVO> list = ExcelUtils.read(file, InventorymoveRequestMainImportVO.class);
ConvertUtil<InventorymoveRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(InventorymoveRequestMainCreateReqVO.class);
List<InventorymoveRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<InventorymoveRequestMainImportErrorVO> errorList = inventorymoveRequestMainService.importInventorymoveRequestMainList(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);
}
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/vo/InventorymoveRequestMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.inventorymoveRequest.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 库存转移申请主创建 Request VO")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class InventorymoveRequestMainCreateReqVO extends InventorymoveRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List< InventorymoveRequestDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/vo/InventorymoveRequestMainImportErrorVO.java

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

64
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inventorymoveRequest/vo/InventorymoveRequestMainImportVO.java

@ -0,0 +1,64 @@
package com.win.module.wms.controller.inventorymoveRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class InventorymoveRequestMainImportVO {
//主表数据
@ExcelProperty("订单类型")
private String type;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("行号")
private String hang;
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("联系人姓名")
private String contactName;
@ExcelProperty("联系人电话")
@ColumnWidth(value = 16)
private String contactPhone;
@ExcelProperty("联系人电子邮件")
@ColumnWidth(value = 16)
private String contactEmail;
@ExcelProperty("是否寄存订单")
private String isConsignment;
@ExcelProperty("截止日期")
private LocalDateTime dueDate;
//子表数据
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal orderQty;
@ExcelProperty("计量单位")
private String uom;
@ExcelProperty("超收百分比")
private BigDecimal overReceivingPercent;
}

50
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java

@ -3,27 +3,34 @@ package com.win.module.wms.controller.production;
import com.win.framework.common.pojo.CommonResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.production.vo.*;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportVO;
import com.win.module.wms.convert.production.ProductionMainConvert;
import com.win.module.wms.dal.dataobject.production.ProductionMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.production.ProductionMainService;
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.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -121,4 +128,43 @@ public class ProductionMainController {
return success(result);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入生产计划信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<PurchaseclaimRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
mapDropDown.put(16, purchaseReturnReason);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "生产计划信息导入模板.xlsx", "生产计划信息列表", PurchaseclaimRequestImportVO.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:production-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<ProductionMainImportVO> list = ExcelUtils.read(file, ProductionMainImportVO.class);
ConvertUtil<ProductionMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductionMainCreateReqVO.class);
List<ProductionMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<ProductionMainImportErrorVO> errorList = productionMainService.importProductionMainList(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);
}
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/vo/ProductionMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.production.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 生产计划主创建 Request VO")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class ProductionMainCreateReqVO extends ProductionMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<ProductionDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/vo/ProductionMainImportErrorVO.java

@ -0,0 +1,25 @@
package com.win.module.wms.controller.production.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 ProductionMainImportErrorVO extends ProductionMainImportVO {
@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/production/vo/ProductionMainImportVO.java

@ -0,0 +1,63 @@
package com.win.module.wms.controller.production.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class ProductionMainImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("顺序")
private String hang;
@ExcelProperty("车间")
private String supplierCode;
@ExcelProperty("生产线")
private String contactName;
@ExcelProperty("班次")
@ColumnWidth(value = 16)
private String contactPhone;
@ExcelProperty("班组")
@ColumnWidth(value = 16)
private String contactEmail;
@ExcelProperty("计划日期")
private LocalDateTime isConsignment;
@ExcelProperty("订单行")
private String woLine;
@ExcelProperty("订单号")
private String woNumber;
//子表数据
@ExcelProperty("Bom版本")
private String itemCode;
@ExcelProperty("物品代码")
private BigDecimal orderQty;
@ExcelProperty("计划数量")
private String uom;
@ExcelProperty("计量单位")
private BigDecimal overReceivingPercent;
}

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

@ -1,35 +1,36 @@
package com.win.module.wms.controller.productscrapRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productscrapRequest.vo.*;
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 com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.service.productscrapRequest.ProductscrapRequestMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert;
import com.win.module.wms.service.productscrapRequest.ProductscrapRequestMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 制品报废申请主")
@RestController
@ -122,4 +123,45 @@ public class ProductscrapRequestMainController {
ExcelUtils.write(response, "制品报废申请主.xls", "数据", ProductscrapRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入制品报废申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<ProductscrapRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "制品报废申请信息导入模板.xlsx", "制品报废申请信息列表", ProductscrapRequestMainImportVO.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:productscrap-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<ProductscrapRequestMainImportVO> list = ExcelUtils.read(file, ProductscrapRequestMainImportVO.class);
ConvertUtil<ProductscrapRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(ProductscrapRequestMainCreateReqVO.class);
List<ProductscrapRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<ProductscrapRequestMainImportErrorVO> errorList = productscrapRequestMainService.importProductscrapRequestMainList(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);
}
}

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

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

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainImportErrorVO.java

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

46
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainImportVO.java

@ -0,0 +1,46 @@
package com.win.module.wms.controller.productscrapRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
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 ProductscrapRequestMainImportVO {
//子表数据
@ExcelProperty("零件号")
private String itemCode;
@ExcelProperty("包装号")
private String packingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("数量")
private String qty;
@ExcelProperty("记录单位")
private String uom ;
@ExcelProperty("来源库位")
private String fromLocationCode;
@ExcelProperty("原因")
private String reason;
}

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

@ -1,34 +1,36 @@
package com.win.module.wms.controller.purchase;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchase.vo.*;
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 com.win.module.wms.convert.purchase.PurchaseMainConvert;
import com.win.module.wms.dal.dataobject.purchase.PurchaseMainDO;
import com.win.module.wms.service.purchase.PurchaseMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.purchase.PurchaseMainDO;
import com.win.module.wms.convert.purchase.PurchaseMainConvert;
import com.win.module.wms.service.purchase.PurchaseMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 采购订单主")
@RestController
@ -121,4 +123,43 @@ public class PurchaseMainController {
ExcelUtils.write(response, "采购订单主.xls", "数据", PurchaseMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入采购订单模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<PurchaseMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "采购订单导入模板.xlsx", "采购订单列表", PurchaseMainImportVO.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:purchaseclaim-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<PurchaseMainImportVO> list = ExcelUtils.read(file, PurchaseMainImportVO.class);
ConvertUtil<PurchaseMainCreateReqVO> convertUtil = new ConvertUtil<>(PurchaseMainCreateReqVO.class);
List<PurchaseMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<PurchaseMainImportErrorVO> errorList = purchaseMainService.importPurchaseMaintList(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);
}
}

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailBaseVO.java

@ -1,23 +1,12 @@
package com.win.module.wms.controller.purchase.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.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 lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -31,7 +20,6 @@ public class PurchaseDetailBaseVO {
@Schema(description = "id", example = "id")
private Long id;
@Schema(description = "行号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "行号不能为空")
private String lineNumber;

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailCreateReqVO.java

@ -1,7 +1,9 @@
package com.win.module.wms.controller.purchase.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 采购订单子创建 Request VO")
@Data

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

@ -1,15 +1,12 @@
package com.win.module.wms.controller.purchase.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import 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;

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainCreateReqVO.java

@ -1,12 +1,21 @@
package com.win.module.wms.controller.purchase.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 采购订单主创建 Request VO")
import java.util.List;
@Schema(description = "管理后台 - 采购索赔申请主创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PurchaseMainCreateReqVO extends PurchaseMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PurchaseDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportErrorVO.java

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

64
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java

@ -0,0 +1,64 @@
package com.win.module.wms.controller.purchase.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class PurchaseMainImportVO {
//主表数据
@ExcelProperty("单据号")
private String number;
@ExcelProperty("供应商代码")
private String supplierCode;
//日程/离散
@ExcelProperty("订单类型")
private String type;
@ExcelProperty("联系人姓名")
private String contactName;
@ExcelProperty("联系人电话")
@ColumnWidth(value = 16)
private String contactPhone;
@ExcelProperty("联系人电子邮件")
@ColumnWidth(value = 16)
private String contactEmail;
@ExcelProperty("是否寄存订单")
private String isConsignment;
@ExcelProperty("截止日期")
private LocalDateTime dueDate;
//子表数据
@ExcelProperty("单据号")
private String poNumber;
@ExcelProperty("行号")
private String poLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal orderQty;
@ExcelProperty("计量单位")
private String uom;
@ExcelProperty("超收百分比")
private BigDecimal overReceivingPercent;
}

81
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java

@ -1,34 +1,36 @@
package com.win.module.wms.controller.purchasePlan;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasePlan.vo.*;
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 com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO;
import com.win.module.wms.service.purchasePlan.PurchasePlanMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.purchasePlan.PurchasePlanMainDO;
import com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert;
import com.win.module.wms.service.purchasePlan.PurchasePlanMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 要货计划主")
@RestController
@ -121,4 +123,43 @@ public class PurchasePlanMainController {
ExcelUtils.write(response, "要货计划主.xls", "数据", PurchasePlanMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入要货计划信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<PurchasePlanMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "要货计划信息导入模板.xlsx", "要货计划信息列表", PurchasePlanMainImportVO.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:purchase-plan-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<PurchasePlanMainImportVO> list = ExcelUtils.read(file, PurchasePlanMainImportVO.class);
ConvertUtil<PurchasePlanMainCreateReqVO> convertUtil = new ConvertUtil<>(PurchasePlanMainCreateReqVO.class);
List<PurchasePlanMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<PurchasePlanMainImportErrorVO> errorList = purchasePlanMainService.importPurchasePlanMainList(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);
}
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.purchasePlan.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 要货计划主创建 Request VO")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class PurchasePlanMainCreateReqVO extends PurchasePlanMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PurchasePlanDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainImportErrorVO.java

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

38
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainImportVO.java

@ -0,0 +1,38 @@
package com.win.module.wms.controller.purchasePlan.vo;
import com.alibaba.excel.annotation.ExcelProperty;
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 PurchasePlanMainImportVO {
//主表数据
@ExcelProperty("供应商代码")
private String supplierCode;
//子表数据
@ExcelProperty("订单号")
private String poNumber;
@ExcelProperty("订单行")
private BigDecimal poLine;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("计划数量")
private String planQty;
@ExcelProperty("计量单位")
private String uom;
}

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

@ -1,35 +1,36 @@
package com.win.module.wms.controller.purchasereceiptRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
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 com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.service.purchasereceiptRequest.PurchasereceiptRequestMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.service.purchasereceiptRequest.PurchasereceiptRequestMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 采购收货申请主")
@RestController
@ -122,4 +123,43 @@ public class PurchasereceiptRequestMainController {
ExcelUtils.write(response, "采购收货申请主.xls", "数据", PurchasereceiptRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入采购收货申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<PurchasereceiptRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "采购收货申请信息导入模板.xlsx", "采购收货申请信息列表", PurchasereceiptRequestMainImportVO.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:purchasereceipt-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<PurchasereceiptRequestMainImportVO> list = ExcelUtils.read(file, PurchasereceiptRequestMainImportVO.class);
ConvertUtil<PurchasereceiptRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(PurchasereceiptRequestMainCreateReqVO.class);
List<PurchasereceiptRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<PurchasereceiptRequestMainImportErrorVO> errorList = purchasereceiptRequestMainService.importPurchasereceiptRequestMainList(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);
}
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.purchasereceiptRequest.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 采购收货申请主创建 Request VO")
@Data
@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class PurchasereceiptRequestMainCreateReqVO extends PurchasereceiptRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<PurchasereceiptRequestDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestMainImportErrorVO.java

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

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

@ -0,0 +1,64 @@
package com.win.module.wms.controller.purchasereceiptRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class PurchasereceiptRequestMainImportVO {
//主表数据
@ExcelProperty("供应商代码")
private String supplier_code;
@ExcelProperty("订单号")
private String po_number;
@ExcelProperty("订单行")
private String po_line;
@ExcelProperty("物品代码")
private String item_code;
@ExcelProperty("批次")
private String batch;
@ExcelProperty("数量")
@ColumnWidth(value = 16)
private String qty;
@ExcelProperty("计量单位")
@ColumnWidth(value = 16)
private String uom;
@ExcelProperty("到货日期")
private String isConsignment;
@ExcelProperty("生产日期")
private LocalDateTime dueDate;
//子表数据
@ExcelProperty("过期日期")
private String itemCode;
@ExcelProperty("承运商")
private String orderQty;
@ExcelProperty("运输方式")
private String aa;
@ExcelProperty("车牌号")
private BigDecimal overReceivingPercent;
}

83
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/RepleinshRequestMainController.java

@ -1,34 +1,36 @@
package com.win.module.wms.controller.repleinshRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
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 com.win.module.wms.controller.repleinshRequest.vo.*;
import com.win.module.wms.convert.repleinshRequest.RepleinshRequestMainConvert;
import com.win.module.wms.dal.dataobject.repleinshRequest.RepleinshRequestMainDO;
import com.win.module.wms.service.repleinshRequest.RepleinshRequestMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.repleinshRequest.vo.*;
import com.win.module.wms.dal.dataobject.repleinshRequest.RepleinshRequestMainDO;
import com.win.module.wms.convert.repleinshRequest.RepleinshRequestMainConvert;
import com.win.module.wms.service.repleinshRequest.RepleinshRequestMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 补料申请主")
@RestController
@ -122,4 +124,43 @@ public class RepleinshRequestMainController {
ExcelUtils.write(response, "补料申请主.xls", "数据", RepleinshRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入补料申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<RepleinshRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "补料申请信息导入模板.xlsx", "补料申请信息列表", RepleinshRequestMainImportVO.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:repleinsh-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<RepleinshRequestMainImportVO> list = ExcelUtils.read(file, RepleinshRequestMainImportVO.class);
ConvertUtil<RepleinshRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(RepleinshRequestMainCreateReqVO.class);
List<RepleinshRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<RepleinshRequestMainImportErrorVO> errorList = repleinshRequestMainService.importRepleinshRequestMainList(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);
}
}

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/vo/RepleinshRequestMainCreateReqVO.java

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

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/vo/RepleinshRequestMainImportErrorVO.java

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

64
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshRequest/vo/RepleinshRequestMainImportVO.java

@ -0,0 +1,64 @@
package com.win.module.wms.controller.repleinshRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class RepleinshRequestMainImportVO {
//主表数据
@ExcelProperty("订单类型")
private String type;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("行号")
private String hang;
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("联系人姓名")
private String contactName;
@ExcelProperty("联系人电话")
@ColumnWidth(value = 16)
private String contactPhone;
@ExcelProperty("联系人电子邮件")
@ColumnWidth(value = 16)
private String contactEmail;
@ExcelProperty("是否寄存订单")
private String isConsignment;
@ExcelProperty("截止日期")
private LocalDateTime dueDate;
//子表数据
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal orderQty;
@ExcelProperty("计量单位")
private String uom;
@ExcelProperty("超收百分比")
private BigDecimal overReceivingPercent;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/RuleBaseVO.java

@ -12,7 +12,6 @@ import javax.validation.constraints.NotNull;
@Data
public class RuleBaseVO {
@Schema(description = "id", example = "id")
private Long id;

83
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/SaleMainController.java

@ -1,34 +1,36 @@
package com.win.module.wms.controller.sale;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
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 com.win.module.wms.controller.sale.vo.*;
import com.win.module.wms.convert.sale.SaleMainConvert;
import com.win.module.wms.dal.dataobject.sale.SaleMainDO;
import com.win.module.wms.service.sale.SaleMainService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.sale.vo.*;
import com.win.module.wms.dal.dataobject.sale.SaleMainDO;
import com.win.module.wms.convert.sale.SaleMainConvert;
import com.win.module.wms.service.sale.SaleMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 销售订单主")
@RestController
@ -122,4 +124,43 @@ public class SaleMainController {
ExcelUtils.write(response, "销售订单主.xls", "数据", SaleMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入销售订单信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<SaleMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "销售订单信息导入模板.xlsx", "销售订单信息列表", SaleMainImportVO.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:sale-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<SaleMainImportVO> list = ExcelUtils.read(file, SaleMainImportVO.class);
ConvertUtil<SaleMainCreateReqVO> convertUtil = new ConvertUtil<>(SaleMainCreateReqVO.class);
List<SaleMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<SaleMainImportErrorVO> errorList = saleMainService.importSaleMainList(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);
}
}

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/vo/SaleMainCreateReqVO.java

@ -1,12 +1,19 @@
package com.win.module.wms.controller.sale.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 销售订单主创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SaleMainCreateReqVO extends SaleMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<SaleDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/vo/SaleMainImportErrorVO.java

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

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/sale/vo/SaleMainImportVO.java

@ -0,0 +1,65 @@
package com.win.module.wms.controller.sale.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
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 SaleMainImportVO {
//主表数据
@ExcelProperty("单据号")
private String number;
@ExcelProperty("客户代码")
private String hang;
@ExcelProperty("订单类型")
private String supplierCode;
@ExcelProperty("订单日期")
private String contactName;
@ExcelProperty("截止日期")
@ColumnWidth(value = 16)
private String contactPhone;
@ExcelProperty("版本")
@ColumnWidth(value = 16)
private String contactEmail;
@ExcelProperty("税率")
private String isConsignment;
//子表数据
@ExcelProperty("项目代码")
private String itemCode;
@ExcelProperty("行号")
private BigDecimal orderQty;
@ExcelProperty("物品代码")
private String uom;
@ExcelProperty("订单数量")
private BigDecimal overRecPercent;
@ExcelProperty("订单数量")
private BigDecimal overReceivint;
@ExcelProperty("计量单位")
private BigDecimal overReceivingPercen;
@ExcelProperty("单价")
private BigDecimal overReceivingPerce;
@ExcelProperty("金额")
private BigDecimal overReceivingPer;
}

79
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/SupplierdeliverRequestMainController.java

@ -1,28 +1,36 @@
package com.win.module.wms.controller.supplierdeliverRequest;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.*;
import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestMainConvert;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO;
import com.win.module.wms.service.supplierdeliverRequest.SupplierdeliverRequestMainService;
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.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO;
import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestMainConvert;
import com.win.module.wms.service.supplierdeliverRequest.SupplierdeliverRequestMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 供应商发货申请主")
@RestController
@ -116,4 +124,43 @@ public class SupplierdeliverRequestMainController {
ExcelUtils.write(response, "供应商发货申请主.xls", "数据", SupplierdeliverRequestMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入供应商发货申请信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<SupplierdeliverRequestMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "供应商发货申请信息导入模板.xlsx", "供应商发货申请信息列表", SupplierdeliverRequestMainImportVO.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:supplierdeliver-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<SupplierdeliverRequestMainImportVO> list = ExcelUtils.read(file, SupplierdeliverRequestMainImportVO.class);
ConvertUtil<SupplierdeliverRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(SupplierdeliverRequestMainCreateReqVO.class);
List<SupplierdeliverRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<SupplierdeliverRequestMainImportErrorVO> errorList = supplierdeliverRequestMainService.importSupplierdeliverRequestMainList(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);
}
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestMainCreateReqVO.java

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

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestMainImportErrorVO.java

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

64
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestMainImportVO.java

@ -0,0 +1,64 @@
package com.win.module.wms.controller.supplierdeliverRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class SupplierdeliverRequestMainImportVO {
//主表数据
@ExcelProperty("订单类型")
private String type;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("行号")
private String hang;
@ExcelProperty("供应商代码")
private String supplierCode;
@ExcelProperty("联系人姓名")
private String contactName;
@ExcelProperty("联系人电话")
@ColumnWidth(value = 16)
private String contactPhone;
@ExcelProperty("联系人电子邮件")
@ColumnWidth(value = 16)
private String contactEmail;
@ExcelProperty("是否寄存订单")
private String isConsignment;
@ExcelProperty("截止日期")
private LocalDateTime dueDate;
//子表数据
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal orderQty;
@ExcelProperty("计量单位")
private String uom;
@ExcelProperty("超收百分比")
private BigDecimal overReceivingPercent;
}

82
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transaction/TransactionController.java

@ -1,35 +1,30 @@
package com.win.module.wms.controller.transaction;
import com.win.framework.common.pojo.CommonResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.transaction.vo.*;
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 com.win.module.wms.convert.transaction.TransactionConvert;
import com.win.module.wms.dal.dataobject.transaction.TransactionDO;
import com.win.module.wms.service.transaction.TransactionService;
import io.swagger.v3.oas.annotations.Operation;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
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 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.transaction.vo.*;
import com.win.module.wms.dal.dataobject.transaction.TransactionDO;
import com.win.module.wms.convert.transaction.TransactionConvert;
import com.win.module.wms.service.transaction.TransactionService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 库存事务")
@RestController
@ -46,44 +41,17 @@ public class TransactionController {
@PostMapping("/create")
@Operation(summary = "创建库存事务")
@PreAuthorize("@ss.hasPermission('wms:transaction:create')")
public CommonResult<String> createTransaction(@Valid @RequestBody TransactionCreateReqVO createReqVO) {
return success(transactionService.createTransaction(createReqVO));
public CommonResult<Integer> createTransaction(@Valid @RequestBody List<TransactionCreateReqVO> createReqVOList) {
return success(transactionService.createTransaction(createReqVOList));
}
@PutMapping("/update")
@Operation(summary = "更新库存事务")
@PreAuthorize("@ss.hasPermission('wms:transaction:update')")
public CommonResult<Boolean> updateTransaction(@Valid @RequestBody TransactionUpdateReqVO updateReqVO) {
transactionService.updateTransaction(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除库存事务")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:transaction:delete')")
public CommonResult<Boolean> deleteTransaction(@RequestParam("id") Long id) {
transactionService.deleteTransaction(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得库存事务")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('wms:transaction:query')")
public CommonResult<TransactionRespVO> getTransaction(@RequestParam("id") String id) {
TransactionDO transaction = transactionService.getTransaction(id);
return success(TransactionConvert.INSTANCE.convert(transaction));
@PostMapping("/createTransactionAndTransferLog")
@Operation(summary = "创建库存事务并增加库存转运日志")
@PreAuthorize("@ss.hasPermission('wms:transaction:create')")
public CommonResult<Integer> createTransactionAndTransferLog(@Valid @RequestBody TransactionCreateReqListVO transactionCreateReqListVO) {
return success(transactionService.createTransaction(transactionCreateReqListVO.getTransactionList(), transactionCreateReqListVO.getTransferlogList()));
}
@GetMapping("/list")
@Operation(summary = "获得库存事务列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:transaction:query')")
public CommonResult<List<TransactionRespVO>> getTransactionList(@RequestParam("ids") Collection<String> ids) {
List<TransactionDO> list = transactionService.getTransactionList(ids);
return success(TransactionConvert.INSTANCE.convertList(list));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:Transaction:query')")
@ -97,6 +65,7 @@ public class TransactionController {
}
return success(result);
}
@GetMapping("/page")
@Operation(summary = "获得库存事务分页")
@PreAuthorize("@ss.hasPermission('wms:transaction:query')")
@ -109,8 +78,7 @@ public class TransactionController {
@Operation(summary = "导出库存事务 Excel")
@PreAuthorize("@ss.hasPermission('wms:transaction:export')")
@OperateLog(type = EXPORT)
public void exportTransactionExcel(@Valid TransactionExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
public void exportTransactionExcel(@Valid TransactionExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
List<TransactionDO> list = transactionService.getTransactionList(exportReqVO);
// 导出 Excel
List<TransactionExcelVO> datas = TransactionConvert.INSTANCE.convertList02(list);

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transaction/vo/TransactionBaseVO.java

@ -1,17 +1,12 @@
package com.win.module.wms.controller.transaction.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
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;
@ -26,7 +21,6 @@ public class TransactionBaseVO {
private Long id;
@Schema(description = "事务号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "事务号不能为空")
private String number;
@Schema(description = "事务类型", requiredMode = Schema.RequiredMode.REQUIRED)

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transaction/vo/TransactionCreateReqListVO.java

@ -0,0 +1,24 @@
package com.win.module.wms.controller.transaction.vo;
import com.win.module.wms.controller.transferlog.vo.TransferlogCreateReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 库存事务创建 Request VO")
@Data
@ToString(callSuper = true)
public class TransactionCreateReqListVO {
/**
* 库存事务列表
*/
private List<TransactionCreateReqVO> transactionList;
/**
* 库存转移日志列表
*/
private List<TransferlogCreateReqVO> transferlogList;
}

67
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferlog/TransferlogController.java

@ -1,35 +1,35 @@
package com.win.module.wms.controller.transferlog;
import com.win.framework.common.pojo.CommonResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.transferlog.vo.*;
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 com.win.module.wms.controller.transferlog.vo.TransferlogExcelVO;
import com.win.module.wms.controller.transferlog.vo.TransferlogExportReqVO;
import com.win.module.wms.controller.transferlog.vo.TransferlogPageReqVO;
import com.win.module.wms.controller.transferlog.vo.TransferlogRespVO;
import com.win.module.wms.convert.transferlog.TransferlogConvert;
import com.win.module.wms.dal.dataobject.transferlog.TransferlogDO;
import com.win.module.wms.service.transferlog.TransferlogService;
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.servlet.http.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collection;
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 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.transferlog.vo.*;
import com.win.module.wms.dal.dataobject.transferlog.TransferlogDO;
import com.win.module.wms.convert.transferlog.TransferlogConvert;
import com.win.module.wms.service.transferlog.TransferlogService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 库存转移日志")
@RestController
@ -43,21 +43,6 @@ public class TransferlogController {
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建库存转移日志")
@PreAuthorize("@ss.hasPermission('wms:transferlog:create')")
public CommonResult<String> createTransferlog(@Valid @RequestBody TransferlogCreateReqVO createReqVO) {
return success(transferlogService.createTransferlog(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新库存转移日志")
@PreAuthorize("@ss.hasPermission('wms:transferlog:update')")
public CommonResult<Boolean> updateTransferlog(@Valid @RequestBody TransferlogUpdateReqVO updateReqVO) {
transferlogService.updateTransferlog(updateReqVO);
return success(true);
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:itembasic:query')")
@ -71,14 +56,6 @@ public class TransferlogController {
}
return success(result);
}
@DeleteMapping("/delete")
@Operation(summary = "删除库存转移日志")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:transferlog:delete')")
public CommonResult<Boolean> deleteTransferlog(@RequestParam("id") Long id) {
transferlogService.deleteTransferlog(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得库存转移日志")

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferlog/vo/TransferlogBaseVO.java

@ -24,7 +24,6 @@ public class TransferlogBaseVO {
private Long id;
@Schema(description = "日志号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "日志号不能为空")
private String number;
@Schema(description = "事务类型", requiredMode = Schema.RequiredMode.REQUIRED)

81
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java

@ -1,29 +1,36 @@
package com.win.module.wms.controller.work;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
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.dto.AdminUserRespDTO;
import com.win.module.wms.controller.work.vo.*;
import com.win.module.wms.convert.work.WorkMainConvert;
import com.win.module.wms.dal.dataobject.work.WorkMainDO;
import com.win.module.wms.service.work.WorkMainService;
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.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.dal.dataobject.work.WorkMainDO;
import com.win.module.wms.convert.work.WorkMainConvert;
import com.win.module.wms.service.work.WorkMainService;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 生产订单主")
@RestController
@ -88,7 +95,7 @@ public class WorkMainController {
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:workMain:query')")
@PreAuthorize("@ss.hasPermission('wms:work-main:query')")
public CommonResult<PageResult<WorkMainRespVO>> getWorkMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<WorkMainDO> pageResult = workMainService.getWorkMainSenior(conditions);
PageResult<WorkMainRespVO> result = WorkMainConvert.INSTANCE.convertPage(pageResult);
@ -99,6 +106,7 @@ public class WorkMainController {
}
return success(result);
}
@GetMapping("/export-excel")
@Operation(summary = "导出生产订单主 Excel")
@PreAuthorize("@ss.hasPermission('wms:work-main:export')")
@ -116,4 +124,43 @@ public class WorkMainController {
ExcelUtils.write(response, "生产订单主.xls", "数据", WorkMainExcelVO.class, datas);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入采购索赔信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<WorkMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出
ExcelUtils.write(response, "采购索赔信息导入模板.xlsx", "采购索赔信息列表", WorkMainImportVO.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:work-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<WorkMainImportVO> list = ExcelUtils.read(file, WorkMainImportVO.class);
ConvertUtil<WorkMainCreateReqVO> convertUtil = new ConvertUtil<>(WorkMainCreateReqVO.class);
List<WorkMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<WorkMainImportErrorVO> errorList = workMainService.importWorkMainList(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);
}
}

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainCreateReqVO.java

@ -1,7 +1,12 @@
package com.win.module.wms.controller.work.vo;
import lombok.*;
import com.win.framework.excel.core.annotations.SubObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 生产订单主创建 Request VO")
@Data
@ -9,4 +14,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
@ToString(callSuper = true)
public class WorkMainCreateReqVO extends WorkMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<WorkDetailCreateReqVO> subList;
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainImportErrorVO.java

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

44
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainImportVO.java

@ -0,0 +1,44 @@
package com.win.module.wms.controller.work.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 采购索赔申请子 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class WorkMainImportVO {
//主表数据
@ExcelProperty("单据号")
private String number;
@ExcelProperty("客户代码")
private String customerCode;
@ExcelProperty("订单日期")
private LocalDateTime orderDate;
@ExcelProperty("截止日期")
private String dueDate;
//子表数据
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("订单数量")
private BigDecimal orderQty;
@ExcelProperty("计量单位")
private String uom;
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/deliverPlan/DeliverPlanDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.deliverPlan;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanDetailCreateReqVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanDetailExcelVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanDetailRespVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanDetailDO;
import java.util.List;
/**
* 发货计划子 Convert
@ -34,4 +33,6 @@ public interface DeliverPlanDetailConvert {
List<DeliverPlanDetailExcelVO> convertList02(List<DeliverPlanDetailDO> list);
List<DeliverPlanDetailDO> convertList03(List<DeliverPlanDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/demandforecasting/DemandforecastingDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.demandforecasting;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingDetailCreateReqVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingDetailExcelVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingDetailRespVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingDetailDO;
import java.util.List;
/**
* 要货预测子 Convert
@ -34,4 +33,6 @@ public interface DemandforecastingDetailConvert {
List<DemandforecastingDetailExcelVO> convertList02(List<DemandforecastingDetailDO> list);
List<DemandforecastingDetailDO> convertList03(List<DemandforecastingDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inventorychangeRequest/InventorychangeRequestDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.inventorychangeRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestDetailCreateReqVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestDetailExcelVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestDetailRespVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestDetailDO;
import java.util.List;
/**
* 库存修改申请子 Convert
@ -34,4 +33,6 @@ public interface InventorychangeRequestDetailConvert {
List<InventorychangeRequestDetailExcelVO> convertList02(List<InventorychangeRequestDetailDO> list);
List<InventorychangeRequestDetailDO> convertList03(List<InventorychangeRequestDetailCreateReqVO> list);
}

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

@ -1,16 +1,15 @@
package com.win.module.wms.convert.inventoryinitRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailCreateReqVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailExcelVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailRespVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestDetailDO;
import java.util.List;
/**
* 库存初始化申请子 Convert
@ -34,4 +33,6 @@ public interface InventoryinitRequestDetailConvert {
List<InventoryinitRequestDetailExcelVO> convertList02(List<InventoryinitRequestDetailDO> list);
List<InventoryinitRequestDetailDO> convertList03(List<InventoryinitRequestDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/inventorymoveRequest/InventorymoveRequestDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.inventorymoveRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestDetailCreateReqVO;
import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestDetailExcelVO;
import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestDetailRespVO;
import com.win.module.wms.controller.inventorymoveRequest.vo.InventorymoveRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.inventorymoveRequest.InventorymoveRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.inventorymoveRequest.InventorymoveRequestDetailDO;
import java.util.List;
/**
* 库存转移申请子 Convert
@ -34,4 +33,6 @@ public interface InventorymoveRequestDetailConvert {
List<InventorymoveRequestDetailExcelVO> convertList02(List<InventorymoveRequestDetailDO> list);
List<InventorymoveRequestDetailDO> convertList03(List<InventorymoveRequestDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/production/ProductionDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.production;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.production.vo.ProductionDetailCreateReqVO;
import com.win.module.wms.controller.production.vo.ProductionDetailExcelVO;
import com.win.module.wms.controller.production.vo.ProductionDetailRespVO;
import com.win.module.wms.controller.production.vo.ProductionDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.production.ProductionDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.production.ProductionDetailDO;
import java.util.List;
/**
* 生产计划子 Convert
@ -34,4 +33,6 @@ public interface ProductionDetailConvert {
List<ProductionDetailExcelVO> convertList02(List<ProductionDetailDO> list);
List<ProductionDetailDO> convertList03(List<ProductionDetailCreateReqVO> list);
}

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

@ -1,16 +1,15 @@
package com.win.module.wms.convert.productscrapRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailCreateReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailExcelVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailRespVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import java.util.List;
/**
* 制品报废申请子 Convert
@ -34,4 +33,6 @@ public interface ProductscrapRequestDetailConvert {
List<ProductscrapRequestDetailExcelVO> convertList02(List<ProductscrapRequestDetailDO> list);
List<ProductscrapRequestDetailDO> convertList03(List<ProductscrapRequestDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchase/PurchaseDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.purchase;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchase.vo.PurchaseDetailCreateReqVO;
import com.win.module.wms.controller.purchase.vo.PurchaseDetailExcelVO;
import com.win.module.wms.controller.purchase.vo.PurchaseDetailRespVO;
import com.win.module.wms.controller.purchase.vo.PurchaseDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO;
import java.util.List;
/**
* 采购订单子 Convert
@ -34,4 +33,6 @@ public interface PurchaseDetailConvert {
List<PurchaseDetailExcelVO> convertList02(List<PurchaseDetailDO> list);
List<PurchaseDetailDO> convertList03(List<PurchaseDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasePlan/PurchasePlanDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.purchasePlan;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailCreateReqVO;
import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailExcelVO;
import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailRespVO;
import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO;
import java.util.List;
/**
* 要货计划子 Convert
@ -34,4 +33,6 @@ public interface PurchasePlanDetailConvert {
List<PurchasePlanDetailExcelVO> convertList02(List<PurchasePlanDetailDO> list);
List<PurchasePlanDetailDO> convertList03(List<PurchasePlanDetailCreateReqVO> list);
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereceiptRequest/PurchasereceiptRequestDetailConvert.java

@ -1,13 +1,15 @@
package com.win.module.wms.convert.purchasereceiptRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailExcelVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailRespVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import java.util.List;
/**
* 采购收货申请子 Convert
@ -31,4 +33,6 @@ public interface PurchasereceiptRequestDetailConvert {
List<PurchasereceiptRequestDetailExcelVO> convertList02(List<PurchasereceiptRequestDetailDO> list);
List<PurchasereceiptRequestDetailDO> convertList03(List<PurchasereceiptRequestDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshRequest/RepleinshRequestDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.repleinshRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.repleinshRequest.vo.RepleinshRequestDetailCreateReqVO;
import com.win.module.wms.controller.repleinshRequest.vo.RepleinshRequestDetailExcelVO;
import com.win.module.wms.controller.repleinshRequest.vo.RepleinshRequestDetailRespVO;
import com.win.module.wms.controller.repleinshRequest.vo.RepleinshRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.repleinshRequest.RepleinshRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.repleinshRequest.RepleinshRequestDetailDO;
import java.util.List;
/**
* 补料申请子 Convert
@ -34,4 +33,6 @@ public interface RepleinshRequestDetailConvert {
List<RepleinshRequestDetailExcelVO> convertList02(List<RepleinshRequestDetailDO> list);
List<RepleinshRequestDetailDO> convertList03(List<RepleinshRequestDetailCreateReqVO> list);
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/rule/RuleConvert.java

@ -29,5 +29,6 @@ public interface RuleConvert {
List<RuleRespVO> convertList(List<RuleDO> list);
PageResult<RuleRespVO> convertPage(PageResult<RuleDO> page);
RuleDO convert(RuleRespVO bean);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/sale/SaleDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.sale;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.sale.vo.SaleDetailCreateReqVO;
import com.win.module.wms.controller.sale.vo.SaleDetailExcelVO;
import com.win.module.wms.controller.sale.vo.SaleDetailRespVO;
import com.win.module.wms.controller.sale.vo.SaleDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO;
import java.util.List;
/**
* 销售订单子 Convert
@ -34,4 +33,6 @@ public interface SaleDetailConvert {
List<SaleDetailExcelVO> convertList02(List<SaleDetailDO> list);
List<SaleDetailDO> convertList03(List<SaleDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierdeliverRequest/SupplierdeliverRequestDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.supplierdeliverRequest;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailExcelVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailRespVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO;
import java.util.List;
/**
* 供应商发货申请子 Convert
@ -34,4 +33,6 @@ public interface SupplierdeliverRequestDetailConvert {
List<SupplierdeliverRequestDetailExcelVO> convertList02(List<SupplierdeliverRequestDetailDO> list);
List<SupplierdeliverRequestDetailDO> convertList03(List<SupplierdeliverRequestDetailCreateReqVO> list);
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/work/WorkDetailConvert.java

@ -1,16 +1,15 @@
package com.win.module.wms.convert.work;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.work.vo.WorkDetailCreateReqVO;
import com.win.module.wms.controller.work.vo.WorkDetailExcelVO;
import com.win.module.wms.controller.work.vo.WorkDetailRespVO;
import com.win.module.wms.controller.work.vo.WorkDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import java.util.List;
/**
* 生产订单子 Convert
@ -34,4 +33,6 @@ public interface WorkDetailConvert {
List<WorkDetailExcelVO> convertList02(List<WorkDetailDO> list);
List<WorkDetailDO> convertList03(List<WorkDetailCreateReqVO> list);
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchaseclaimRequest/PurchaseclaimRequestDetailDO.java

@ -1,12 +1,8 @@
package com.win.module.wms.dal.dataobject.purchaseclaimRequest;
import com.sun.xml.bind.v2.TODO;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/transaction/TransactionDO.java

@ -1,16 +1,14 @@
package com.win.module.wms.dal.dataobject.transaction;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 库存事务 DO
@ -29,8 +27,8 @@ public class TransactionDO extends BaseDO {
/**
* id
*/
@TableId(type = IdType.INPUT)
private String id;
@TableId(type = IdType.AUTO)
private Long id;
/**
* 事务号
*/

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java

@ -11,12 +11,14 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.balance.vo.BalanceCreateReqVO;
import com.win.module.wms.controller.balance.vo.BalanceExportReqVO;
import com.win.module.wms.controller.balance.vo.BalancePageReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.balance.BalanceConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.rule.RuleDO;
import com.win.module.wms.enums.inventoryAction.InventoryActionEnum;
import org.apache.ibatis.annotations.Mapper;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import static com.win.module.wms.enums.ErrorCodeConstants.LOCATION_DISABLE_NEGATIVE;
@ -32,7 +34,7 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
/**
* 更新库存余额数量出库qty是负数
*/
default Boolean updateBalanceQty(BalanceCreateReqVO reqVO, RuleDO ruleDO) {
default Boolean updateBalanceQty(BalanceCreateReqVO reqVO, RuleRespVO ruleRespVO, String inventoryAction) {
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("packing_number", reqVO.getPackingNumber());
queryWrapper.eq("item_code", reqVO.getItemCode());
@ -45,20 +47,26 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
balanceDO = BalanceConvert.INSTANCE.convert(reqVO);
result = this.insert(balanceDO);
} else {//存在只更新数量
balanceDO.setQty(balanceDO.getQty().add(reqVO.getQty()));
BigDecimal qtyNew = reqVO.getQty();
BigDecimal amountNew = reqVO.getAmount();
//出库变负数
if (InventoryActionEnum.OUT.equals(inventoryAction)) {
qtyNew = BigDecimal.ZERO.subtract(qtyNew);
amountNew = BigDecimal.ZERO.subtract(amountNew);
}
balanceDO.setQty(balanceDO.getQty().add(qtyNew));
//计算单价和金额
BigDecimal amount = balanceDO.getAmount().add(reqVO.getAmount());
balanceDO.setAmount(amount);
balanceDO.setSinglePrice(amount.divide(balanceDO.getQty()));
balanceDO.setAmount(balanceDO.getAmount().add(amountNew));
balanceDO.setSinglePrice(balanceDO.getAmount().divide(balanceDO.getQty(), 2, RoundingMode.HALF_UP));
result = this.updateById(balanceDO);
}
if(balanceDO.getQty().compareTo(BigDecimal.ZERO) == 0) {// 此处增加判断是否允许零库存
JSONObject jsonObject = new JSONObject(ruleDO.getCondition());
JSONObject jsonObject = new JSONObject(ruleRespVO.getCondition());
if(!"TRUE".equals(jsonObject.getStr("EnableKeepZero"))) {
this.deleteById(balanceDO.getId());
}
} else if(balanceDO.getQty().compareTo(BigDecimal.ZERO) < 0) {// 此处增加判断是否允许负库存
JSONObject jsonObject = new JSONObject(ruleDO.getCondition());
JSONObject jsonObject = new JSONObject(ruleRespVO.getCondition());
if(!"TRUE".equals(jsonObject.getStr("EnableNegative"))) {
throw new ServiceException(LOCATION_DISABLE_NEGATIVE);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchaseclaimRequest/PurchaseclaimRequestMainMapper.java

@ -7,6 +7,7 @@ import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainExportReqVO;
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.apache.ibatis.annotations.Mapper;
@ -43,6 +44,10 @@ public interface PurchaseclaimRequestMainMapper extends BaseMapperX<Purchaseclai
.orderByDesc(PurchaseclaimRequestMainDO::getId));
}
default PurchaseclaimRequestMainDO selectByAsnNumberAndSupplierCode(String asnNumber,String supplierCode) {
return selectOne(PurchaseclaimRequestMainDO::getAsnNumber, asnNumber,PurchaseclaimRequestMainDO::getSupplierCode,supplierCode);
}
default PageResult<PurchaseclaimRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/transaction/TransactionMapper.java

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.transaction;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.transaction.vo.TransactionExportReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionPageReqVO;
import com.win.module.wms.dal.dataobject.transaction.TransactionDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 库存事务 Mapper
*
@ -47,8 +47,7 @@ public interface TransactionMapper extends BaseMapperX<TransactionDO> {
.eqIfPresent(TransactionDO::getAreaCode, reqVO.getAreaCode())
.eqIfPresent(TransactionDO::getLocationGroupCode, reqVO.getLocationGroupCode())
.eqIfPresent(TransactionDO::getErpLocationCode, reqVO.getErpLocationCode())
.eqIfPresent(TransactionDO::getOwnerCode, reqVO.getOwnerCode())
.orderByDesc(TransactionDO::getId));
.eqIfPresent(TransactionDO::getOwnerCode, reqVO.getOwnerCode()));
}
default PageResult<TransactionDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java

@ -8,6 +8,7 @@ import com.win.module.wms.controller.countPlan.vo.CountPlanMainCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.framework.common.pojo.PageResult;
@ -79,4 +80,12 @@ public interface CountPlanMainService {
*/
List<CountPlanMainDO> getCountPlanMainList(CountPlanMainExportReqVO exportReqVO);
/**
* Plan----VCount
* 校验盘点计划
* @author chenfang
* @param pnumber
* @return
*/
CountPlanDetailDO selectCountPlanExist(String pnumber);
}

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

@ -1,10 +1,14 @@
package com.win.module.wms.service.countPlan;
import cn.hutool.core.exceptions.UtilException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.mysql.countPlan.CountPlanDetailMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -32,6 +36,9 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
@Resource
private CountPlanMainMapper countPlanMainMapper;
@Resource
private CountPlanDetailMapper countPlanDetailMapper;
@Override
public Long createCountPlanMain(CountPlanMainCreateReqVO createReqVO) {
// 插入
@ -87,4 +94,28 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
return countPlanMainMapper.selectList(exportReqVO);
}
@Override
public CountPlanDetailDO selectCountPlanExist(String pnumber){
QueryWrapper queryWrapperMain = new QueryWrapper();
queryWrapperMain.eq("number",pnumber);
queryWrapperMain.eq("available","TRUE");
CountPlanMainDO countPlanMainDO = countPlanMainMapper.selectOne(queryWrapperMain);
if(countPlanMainDO != null){
if(!"ClOSE".equals(countPlanMainDO.getStatus())){
QueryWrapper queryWrapperDetail = new QueryWrapper();
queryWrapperDetail.eq("number",pnumber);
queryWrapperDetail.eq("available","TRUE");
CountPlanDetailDO countPlanDetailDO = countPlanDetailMapper.selectOne(queryWrapperDetail);
if(countPlanDetailDO != null){
return countPlanDetailDO;
}else {
throw new UtilException("盘点计划" + pnumber + "无效");
}
}else {
throw new UtilException("盘点计划" + pnumber + "已关闭");
}
}else {
throw new UtilException("盘点计划" + pnumber + "无效");
}
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainService.java

@ -86,10 +86,9 @@ public interface CustomerreturnJobMainService {
* @param pnumber 单据号
* @param psupplierCode 供应商代码
* @param pitemCode 物品代码
* @param plineNumber 行号
* @return 采购订单子列表
*/
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode, String ppoNumber,String poLine);
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode,String poLine);
/**
* 校验销售订单明细
*

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

@ -97,8 +97,8 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe
}
//校验采购订单明细
@Override
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode, String ppoNumber,String poLine) {
PurchaseDetailDO purchaseDetailDO = purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode, ppoNumber,poLine);
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode,String poLine) {
PurchaseDetailDO purchaseDetailDO = purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode,poLine);
return purchaseDetailDO;
}
@Override

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainService.java

@ -87,10 +87,9 @@ public interface DeliverJobMainService {
* @param pnumber 单据号
* @param psupplierCode 供应商代码
* @param pitemCode 物品代码
* @param plineNumber 行号
* @return 采购订单子列表
*/
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode, String ppoNumber,String poLine);
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode,String poLine);
/**
* Order----VS
* 校验销售订单明细

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

@ -99,8 +99,8 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService {
}
//校验采购订单明细
@Override
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode, String ppoNumber,String poLine) {
PurchaseDetailDO purchaseDetailDO = purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode, ppoNumber,poLine);
public PurchaseDetailDO productionDetailExist(String pnumber, String psupplierCode, String pitemCode,String poLine) {
PurchaseDetailDO purchaseDetailDO = purchaseMainService.selectPurchaseDetailDoExist(pnumber, psupplierCode, pitemCode,poLine);
return purchaseDetailDO;
}
@Override

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainService.java

@ -1,15 +1,13 @@
package com.win.module.wms.service.deliverPlan;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainCreateReqVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainExportReqVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainPageReqVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.deliverPlan.vo.*;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
* 发货计划主 Service 接口
@ -79,4 +77,13 @@ public interface DeliverPlanMainService {
*/
List<DeliverPlanMainDO> getDeliverPlanMainList(DeliverPlanMainExportReqVO exportReqVO);
/**
* 批量导入采购索赔申请主信息
* @param datas 导入采购索赔申请主信息列表
* @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<DeliverPlanMainImportErrorVO> importDeliverPlanMainList(List<DeliverPlanMainCreateReqVO> datas, Integer mode, boolean updatePart);
}

61
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java

@ -1,24 +1,26 @@
package com.win.module.wms.service.deliverPlan;
import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainCreateReqVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainExportReqVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainPageReqVO;
import com.win.module.wms.controller.deliverPlan.vo.DeliverPlanMainUpdateReqVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.deliverPlan.vo.*;
import com.win.module.wms.convert.deliverPlan.DeliverPlanDetailConvert;
import com.win.module.wms.convert.deliverPlan.DeliverPlanMainConvert;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanDetailDO;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import com.win.module.wms.dal.mysql.deliverPlan.DeliverPlanDetailMapper;
import com.win.module.wms.dal.mysql.deliverPlan.DeliverPlanMainMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.DELIVER_PLAN_MAIN_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY;
/**
* 发货计划主 Service 实现类
@ -31,6 +33,8 @@ public class DeliverPlanMainServiceImpl implements DeliverPlanMainService {
@Resource
private DeliverPlanMainMapper deliverPlanMainMapper;
@Resource
private DeliverPlanDetailMapper deliverPlanDetailMapper;
@Override
public Long createDeliverPlanMain(DeliverPlanMainCreateReqVO createReqVO) {
@ -86,5 +90,36 @@ public class DeliverPlanMainServiceImpl implements DeliverPlanMainService {
public List<DeliverPlanMainDO> getDeliverPlanMainList(DeliverPlanMainExportReqVO exportReqVO) {
return deliverPlanMainMapper.selectList(exportReqVO);
}
@Override
public List<DeliverPlanMainImportErrorVO> importDeliverPlanMainList(List<DeliverPlanMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
}
List<DeliverPlanMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList
boolean isError = false;
// try {
// if(mode != null){
// validatePurchaseclaimRequestMainExists(null);
// }
// } catch (ServiceException ex) {
// isError = true;
// importRemark += ex.getMessage() + ",";
// }
DeliverPlanMainDO createObj =DeliverPlanMainConvert.INSTANCE.convert(createReqVO);
deliverPlanMainMapper.insert(createObj);
List<DeliverPlanDetailCreateReqVO> subList = createReqVO.getSubList();
List<DeliverPlanDetailDO> subDOList = DeliverPlanDetailConvert.INSTANCE.convertList03(subList);
// 新增子表数据
for (DeliverPlanDetailDO detailDO : subDOList) {
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
detailDO.setNumber(createReqVO.getNumber());
}
deliverPlanDetailMapper.insertBatch(subDOList);
});
return errorList;
}
}

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainService.java

@ -1,15 +1,13 @@
package com.win.module.wms.service.demandforecasting;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainCreateReqVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainExportReqVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainPageReqVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.demandforecasting.vo.*;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingMainDO;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
* 要货预测主 Service 接口
@ -81,4 +79,14 @@ public interface DemandforecastingMainService {
*/
List<DemandforecastingMainDO> getDemandforecastingMainList(DemandforecastingMainExportReqVO exportReqVO);
/**
* 批量导入采购索赔申请主信息
*
* @param datas 导入采购索赔申请主信息列表
* @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<DemandforecastingImportErrorVO> importDemandforecastingRequestList(List<DemandforecastingMainCreateReqVO> datas, Integer mode, boolean updatePart);
}

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java

@ -1,24 +1,28 @@
package com.win.module.wms.service.demandforecasting;
import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainCreateReqVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainExportReqVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainPageReqVO;
import com.win.module.wms.controller.demandforecasting.vo.DemandforecastingMainUpdateReqVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.wms.controller.demandforecasting.vo.*;
import com.win.module.wms.convert.demandforecasting.DemandforecastingDetailConvert;
import com.win.module.wms.convert.demandforecasting.DemandforecastingMainConvert;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingDetailDO;
import com.win.module.wms.dal.dataobject.demandforecasting.DemandforecastingMainDO;
import com.win.module.wms.dal.mysql.demandforecasting.DemandforecastingDetailMapper;
import com.win.module.wms.dal.mysql.demandforecasting.DemandforecastingMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.DEMANDFORECASTING_MAIN_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY;
/**
* 要货预测主 Service 实现类
@ -31,6 +35,8 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe
@Resource
private DemandforecastingMainMapper demandforecastingMainMapper;
@Resource
private DemandforecastingDetailMapper demandforecastingDetailMapper;
@Override
public Long createDemandforecastingMain(DemandforecastingMainCreateReqVO createReqVO) {
@ -88,4 +94,37 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe
return demandforecastingMainMapper.selectList(exportReqVO);
}
public List<DemandforecastingImportErrorVO> importDemandforecastingRequestList(List<DemandforecastingMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
}
List<DemandforecastingImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList
boolean isError = false;
// try {
// if(mode != null){
// validatePurchaseclaimRequestMainExists(null);
// }
// } catch (ServiceException ex) {
// isError = true;
// importRemark += ex.getMessage() + ",";
// }
// }
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
DemandforecastingMainDO createObj = DemandforecastingMainConvert.INSTANCE.convert(createReqVO);
demandforecastingMainMapper.insert(createObj);
List<DemandforecastingDetailCreateReqVO> subList = createReqVO.getSubList();
List<DemandforecastingDetailDO> subDOList = DemandforecastingDetailConvert.INSTANCE.convertList03(subList);
// 新增子表数据
for (DemandforecastingDetailDO detailDO : subDOList) {
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
detailDO.setMasterId(createReqVO.getId());
detailDO.setNumber(createReqVO.getNumber());
}
demandforecastingDetailMapper.insertBatch(subDOList);
});
return errorList;
}
}

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainService.java

@ -1,15 +1,13 @@
package com.win.module.wms.service.inventorychangeRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainCreateReqVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainExportReqVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainPageReqVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventorychangeRequest.vo.*;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestMainDO;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
* 库存修改申请主 Service 接口
@ -79,4 +77,13 @@ public interface InventorychangeRequestMainService {
*/
List<InventorychangeRequestMainDO> getInventorychangeRequestMainList(InventorychangeRequestMainExportReqVO exportReqVO);
/**
* 批量导入采购索赔申请主信息
* @param datas 导入采购索赔申请主信息列表
* @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<InventorychangeRequestMainImportErrorVO> importInventorychangeRequestMainList(List<InventorychangeRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
}

61
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainServiceImpl.java

@ -1,24 +1,26 @@
package com.win.module.wms.service.inventorychangeRequest;
import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainCreateReqVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainExportReqVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainPageReqVO;
import com.win.module.wms.controller.inventorychangeRequest.vo.InventorychangeRequestMainUpdateReqVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventorychangeRequest.vo.*;
import com.win.module.wms.convert.inventorychangeRequest.InventorychangeRequestDetailConvert;
import com.win.module.wms.convert.inventorychangeRequest.InventorychangeRequestMainConvert;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestDetailDO;
import com.win.module.wms.dal.dataobject.inventorychangeRequest.InventorychangeRequestMainDO;
import com.win.module.wms.dal.mysql.inventorychangeRequest.InventorychangeRequestDetailMapper;
import com.win.module.wms.dal.mysql.inventorychangeRequest.InventorychangeRequestMainMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.INVENTORYCHANGE_REQUEST_MAIN_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY;
/**
* 库存修改申请主 Service 实现类
@ -31,6 +33,8 @@ public class InventorychangeRequestMainServiceImpl implements InventorychangeReq
@Resource
private InventorychangeRequestMainMapper inventorychangeRequestMainMapper;
@Resource
private InventorychangeRequestDetailMapper inventorychangeRequestDetailMapper;
@Override
public Long createInventorychangeRequestMain(InventorychangeRequestMainCreateReqVO createReqVO) {
@ -87,4 +91,35 @@ public class InventorychangeRequestMainServiceImpl implements InventorychangeReq
return inventorychangeRequestMainMapper.selectList(exportReqVO);
}
@Override
public List<InventorychangeRequestMainImportErrorVO> importInventorychangeRequestMainList(List<InventorychangeRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
}
List<InventorychangeRequestMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList
boolean isError = false;
// try {
// if(mode != null){
// validatePurchaseclaimRequestMainExists(null);
// }
// } catch (ServiceException ex) {
// isError = true;
// importRemark += ex.getMessage() + ",";
// }
InventorychangeRequestMainDO createObj = InventorychangeRequestMainConvert.INSTANCE.convert(createReqVO);
inventorychangeRequestMainMapper.insert(createObj);
List<InventorychangeRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<InventorychangeRequestDetailDO> subDOList = InventorychangeRequestDetailConvert.INSTANCE.convertList03(subList);
// 新增子表数据
for (InventorychangeRequestDetailDO detailDO : subDOList) {
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
detailDO.setNumber(createReqVO.getNumber());
}
inventorychangeRequestDetailMapper.insertBatch(subDOList);
});
return errorList;
}
}

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainService.java

@ -1,15 +1,13 @@
package com.win.module.wms.service.inventoryinitRequest;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestMainCreateReqVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestMainExportReqVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestMainPageReqVO;
import com.win.module.wms.controller.inventoryinitRequest.vo.InventoryinitRequestMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.inventoryinitRequest.vo.*;
import com.win.module.wms.dal.dataobject.inventoryinitRequest.InventoryinitRequestMainDO;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
* 库存初始化申请主 Service 接口
@ -79,4 +77,13 @@ public interface InventoryinitRequestMainService {
*/
List<InventoryinitRequestMainDO> getInventoryinitRequestMainList(InventoryinitRequestMainExportReqVO exportReqVO);
/**
* 批量导入采购索赔申请主信息
* @param datas 导入采购索赔申请主信息列表
* @param mode 导入模式1更新2追加3覆盖
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<InventoryinitRequestMainImportErrorVO> importInventoryinitRequestMainList(List<InventoryinitRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
}

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

Loading…
Cancel
Save