From 6a25cd9c2c41921c8adc396f37a5168e53c15404 Mon Sep 17 00:00:00 2001 From: liss <1780094091@qq.com> Date: Mon, 12 Jan 2026 11:37:57 +0800 Subject: [PATCH] =?UTF-8?q?erp=20=E4=BB=A3=E7=A0=81=E6=9D=83=E9=99=90?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/erp/ErpAssetController.java | 2 +- .../admin/erp/ErpBomController.java | 2 +- .../admin/erp/ErpCompanyController.java | 2 +- .../admin/erp/ErpContractController.java | 16 +++--- .../admin/erp/ErpCostcenterController.java | 2 +- .../admin/erp/ErpCustomerController.java | 2 +- .../admin/erp/ErpFactoryController.java | 18 +++--- .../admin/erp/ErpInternalOrderController.java | 2 +- .../admin/erp/ErpMaterialController.java | 2 +- .../admin/erp/ErpProcessController.java | 2 +- .../erp/ErpProductiveOrderController.java | 2 +- .../erp/ErpProductiveVersionController.java | 2 +- .../ErpPurchaseOrganizationController.java | 2 +- .../erp/ErpSalesOrganizationController.java | 2 +- .../admin/erp/ErpWarehouseController.java | 18 ++++-- .../dal/dataobject/erp/ErpWarehouseDO.java | 3 + .../erp/dal/mysql/erp/ErpWarehouseMapper.java | 9 +++ .../erp/service/erp/ErpFactoryService.java | 2 + .../service/erp/ErpFactoryServiceImpl.java | 5 ++ .../erp/service/erp/ErpWarehouseService.java | 2 + .../service/erp/ErpWarehouseServiceImpl.java | 57 ++++++++++++++++++- 21 files changed, 118 insertions(+), 36 deletions(-) diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpAssetController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpAssetController.java index a1297479..6f3f64de 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpAssetController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpAssetController.java @@ -103,7 +103,7 @@ public class ErpAssetController { @PostMapping("/getErpAssetTask") @Operation(summary = "定时获得erp更新资产卡片") - @PreAuthorize("@ss.hasPermission('sply:erp-asset:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-asset:sync')") public CommonResult getErpAssetTask() { erpAssetService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpBomController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpBomController.java index 0ebb7bd9..20b347be 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpBomController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpBomController.java @@ -103,7 +103,7 @@ public class ErpBomController { @PostMapping("/getErpBomTask") @Operation(summary = "定时获得erp更新物料清单(BOM)") - @PreAuthorize("@ss.hasPermission('sply:erp-bom:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-bom:sync')") public CommonResult getErpBomTask() { erpBomService.callErpRfcInterface(); return CommonResult.success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCompanyController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCompanyController.java index acb54733..e6d131b6 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCompanyController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCompanyController.java @@ -103,7 +103,7 @@ public class ErpCompanyController { @PostMapping("/getErpCompanyTask") @Operation(summary = "定时获得erp更新公司") - @PreAuthorize("@ss.hasPermission('sply:erp-company:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-company:sync')") public CommonResult getErpCompanyTask() { erpCompanyService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpContractController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpContractController.java index 3f1e3260..d2376c9d 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpContractController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpContractController.java @@ -40,14 +40,14 @@ public class ErpContractController { @PostMapping("/create") @Operation(summary = "创建ERP合同映射") - @PreAuthorize("@ss.hasPermission('bse:erp-contract:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:create')") public CommonResult createErpContract(@Valid @RequestBody ErpContractSaveReqVO createReqVO) { return success(erpContractService.createErpContract(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新ERP合同映射") - @PreAuthorize("@ss.hasPermission('bse:erp-contract:update')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:update')") public CommonResult updateErpContract(@Valid @RequestBody ErpContractSaveReqVO updateReqVO) { erpContractService.updateErpContract(updateReqVO); return success(true); @@ -56,7 +56,7 @@ public class ErpContractController { @DeleteMapping("/delete") @Operation(summary = "删除ERP合同映射") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bse:erp-contract:delete')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:delete')") public CommonResult deleteErpContract(@RequestParam("id") Long id) { erpContractService.deleteErpContract(id); return success(true); @@ -65,7 +65,7 @@ public class ErpContractController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除ERP合同映射") - @PreAuthorize("@ss.hasPermission('bse:erp-contract:delete')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:delete')") public CommonResult deleteErpContractList(@RequestBody BatchDeleteReqVO req) { erpContractService.deleteErpContractListByIds(req.getIds()); return success(true); @@ -74,7 +74,7 @@ public class ErpContractController { @GetMapping("/get") @Operation(summary = "获得ERP合同映射") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bse:erp-contract:query')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:query')") public CommonResult getErpContract(@RequestParam("id") Long id) { ErpContractDO erpContract = erpContractService.getErpContract(id); return success(BeanUtils.toBean(erpContract, ErpContractRespVO.class)); @@ -82,7 +82,7 @@ public class ErpContractController { @GetMapping("/page") @Operation(summary = "获得ERP合同映射分页") - @PreAuthorize("@ss.hasPermission('bse:erp-contract:query')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:query')") public CommonResult> getErpContractPage(@Valid ErpContractPageReqVO pageReqVO) { PageResult pageResult = erpContractService.getErpContractPage(pageReqVO); return success(BeanUtils.toBean(pageResult, ErpContractRespVO.class)); @@ -90,7 +90,7 @@ public class ErpContractController { @GetMapping("/export-excel") @Operation(summary = "导出ERP合同映射 Excel") - @PreAuthorize("@ss.hasPermission('bse:erp-contract:export')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:export')") @ApiAccessLog(operateType = EXPORT) public void exportErpContractExcel(@Valid ErpContractPageReqVO pageReqVO, HttpServletResponse response) throws IOException { @@ -103,7 +103,7 @@ public class ErpContractController { @PostMapping("/getErpContractTask") @Operation(summary = "定时获得erp更新合同") - @PreAuthorize("@ss.hasPermission('sply:erp-contract:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-contract:sync')") public CommonResult getErpContractTask() { erpContractService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCostcenterController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCostcenterController.java index dbc7582e..34e88d83 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCostcenterController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCostcenterController.java @@ -103,7 +103,7 @@ public class ErpCostcenterController { @PostMapping("/getErpCostcenterTask") @Operation(summary = "定时获得erp更新成本中心") - @PreAuthorize("@ss.hasPermission('sply:erp-costcenter:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-costcenter:sync')") public CommonResult getErpCostcenterTask() { erpCostcenterService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCustomerController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCustomerController.java index ccef6de6..57ad17c4 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCustomerController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpCustomerController.java @@ -103,7 +103,7 @@ public class ErpCustomerController { @PostMapping("/getErpCustomerTask") @Operation(summary = "定时获得erp更新客商主数据") - @PreAuthorize("@ss.hasPermission('sply:erp-customer:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-customer:sync')") public CommonResult getErpCustomerTask() { erpCustomerService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java index 34dcb527..15d4948a 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java @@ -40,14 +40,14 @@ public class ErpFactoryController { @PostMapping("/create") @Operation(summary = "创建ERP工厂") - @PreAuthorize("@ss.hasPermission('base:erp-factory:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:create')") public CommonResult createErpFactory(@Valid @RequestBody ErpFactorySaveReqVO createReqVO) { return success(erpFactoryService.createErpFactory(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新ERP工厂") - @PreAuthorize("@ss.hasPermission('base:erp-factory:update')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:update')") public CommonResult updateErpFactory(@Valid @RequestBody ErpFactorySaveReqVO updateReqVO) { erpFactoryService.updateErpFactory(updateReqVO); return success(true); @@ -56,7 +56,7 @@ public class ErpFactoryController { @DeleteMapping("/delete") @Operation(summary = "删除ERP工厂") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('base:erp-factory:delete')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:delete')") public CommonResult deleteErpFactory(@RequestParam("id") Long id) { erpFactoryService.deleteErpFactory(id); return success(true); @@ -65,7 +65,7 @@ public class ErpFactoryController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除ERP工厂") - @PreAuthorize("@ss.hasPermission('base:erp-factory:delete')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:delete')") public CommonResult deleteErpFactoryList(@RequestBody BatchDeleteReqVO req) { erpFactoryService.deleteErpFactoryListByIds(req.getIds()); return success(true); @@ -74,7 +74,7 @@ public class ErpFactoryController { @GetMapping("/get") @Operation(summary = "获得ERP工厂") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('base:erp-factory:query')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:query')") public CommonResult getErpFactory(@RequestParam("id") Long id) { ErpFactoryDO erpFactory = erpFactoryService.getErpFactory(id); return success(BeanUtils.toBean(erpFactory, ErpFactoryRespVO.class)); @@ -82,7 +82,7 @@ public class ErpFactoryController { @GetMapping("/page") @Operation(summary = "获得ERP工厂分页") - @PreAuthorize("@ss.hasPermission('base:erp-factory:query')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:query')") public CommonResult> getErpFactoryPage(@Valid ErpFactoryPageReqVO pageReqVO) { PageResult pageResult = erpFactoryService.getErpFactoryPage(pageReqVO); return success(BeanUtils.toBean(pageResult, ErpFactoryRespVO.class)); @@ -90,7 +90,7 @@ public class ErpFactoryController { @GetMapping("/export-excel") @Operation(summary = "导出ERP工厂 Excel") - @PreAuthorize("@ss.hasPermission('base:erp-factory:export')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:export')") @ApiAccessLog(operateType = EXPORT) public void exportErpFactoryExcel(@Valid ErpFactoryPageReqVO pageReqVO, HttpServletResponse response) throws IOException { @@ -103,7 +103,7 @@ public class ErpFactoryController { @PutMapping("/enable-list") @Operation(summary = "批量更新") - @PreAuthorize("@ss.hasPermission('base:erp-factory:update')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:update')") public CommonResult enableFactoryList(@RequestBody List saveReqVOS) { erpFactoryService.enableFactoryList(saveReqVOS); return success(true); @@ -111,7 +111,7 @@ public class ErpFactoryController { @PostMapping("/getErpFactoryTask") @Operation(summary = "定时获得erp工厂数据") - @PreAuthorize("@ss.hasPermission('base:erp-factory:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-factory:sync')") public CommonResult getErpFactoryTask() { erpFactoryService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpInternalOrderController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpInternalOrderController.java index b23b6c6e..92c2e8f8 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpInternalOrderController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpInternalOrderController.java @@ -103,7 +103,7 @@ public class ErpInternalOrderController { @PostMapping("/getErpInternalOrderTask") @Operation(summary = "定时获得erp更新内部订单数据") - @PreAuthorize("@ss.hasPermission('sply:erp-internal-order:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-internal-order:sync')") public CommonResult getErpInternalOrderTask() { erpInternalOrderService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java index fe3daa6f..229c137a 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java @@ -105,7 +105,7 @@ public class ErpMaterialController { @PostMapping("/getErpMaterialTask") @Operation(summary = "定时获得erp更新物料") - @PreAuthorize("@ss.hasPermission('sply:erp-material:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-material:sync')") public CommonResult getErpMaterialTask() { erpMaterialService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProcessController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProcessController.java index abec5f1e..1cdca08a 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProcessController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProcessController.java @@ -103,7 +103,7 @@ public class ErpProcessController { @PostMapping("/getErpProcessTask") @Operation(summary = "定时获得erp更新工艺路线") - @PreAuthorize("@ss.hasPermission('sply:erp-process:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-process:sync')") public CommonResult getErpProcessTask() { erpProcessService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveOrderController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveOrderController.java index 2918c1bd..8ccdef0e 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveOrderController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveOrderController.java @@ -103,7 +103,7 @@ public class ErpProductiveOrderController { @PostMapping("/getErpProductiveOrderTask") @Operation(summary = "定时获得erp更新生产订单") - @PreAuthorize("@ss.hasPermission('sply:erp-productive-order:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-productive-order:sync')") public CommonResult getErpProductiveOrderTask() { erpProductiveOrderService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java index 894a89f4..e8eb5bf3 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java @@ -103,7 +103,7 @@ public class ErpProductiveVersionController { @PostMapping("/getErpProductiveVersionTask") @Operation(summary = "定时获得erp更新生产版本") - @PreAuthorize("@ss.hasPermission('sply:erp-productive-version:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-productive-version:sync')") public CommonResult getErpProductiveVersionTask() { erpProductiveVersionService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpPurchaseOrganizationController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpPurchaseOrganizationController.java index f7d7d2ee..cd223717 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpPurchaseOrganizationController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpPurchaseOrganizationController.java @@ -103,7 +103,7 @@ public class ErpPurchaseOrganizationController { @PostMapping("/getErpPurchaseOrganizationTask") @Operation(summary = "定时获得erp更新采购组织") - @PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:sync')") public CommonResult getErpPurchaseOrganizationTask() { erpPurchaseOrganizationService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpSalesOrganizationController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpSalesOrganizationController.java index e06afad7..b9dc1002 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpSalesOrganizationController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpSalesOrganizationController.java @@ -103,7 +103,7 @@ public class ErpSalesOrganizationController { @PostMapping("/getErpSalesOrganizationTask") @Operation(summary = "定时获得erp更新销售组织") - @PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:sync')") public CommonResult getErpSalesOrganizationTask() { erpSalesOrganizationService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java index 6406ccae..afe9f3b4 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java @@ -65,7 +65,7 @@ public class ErpWarehouseController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除ERP库位") - @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:delete')") + @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:delete')") public CommonResult deleteErpWarehouseList(@RequestBody BatchDeleteReqVO req) { erpWarehouseService.deleteErpWarehouseListByIds(req.getIds()); return success(true); @@ -88,22 +88,30 @@ public class ErpWarehouseController { return success(pageResult); } + @GetMapping("/page-distinct-factory") + @Operation(summary = "获得ERP库位分页,根据工厂去重") + @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:query')") + public CommonResult> getErpWarehousePageDistinctByFactory(@Valid ErpWarehousePageReqVO pageReqVO) { + PageResult pageResult = erpWarehouseService.getErpWarehousePageDistinctByFactory(pageReqVO); + return success(BeanUtils.toBean(pageResult, ErpWarehouseRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出ERP库位 Excel") @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:export')") @ApiAccessLog(operateType = EXPORT) public void exportErpWarehouseExcel(@Valid ErpWarehousePageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = BeanUtils.toBean(erpWarehouseService.getErpWarehousePage(pageReqVO).getList(), ErpWarehouseDO.class); // 导出 Excel ExcelUtils.write(response, "ERP库位.xls", "数据", ErpWarehouseRespVO.class, - BeanUtils.toBean(list, ErpWarehouseRespVO.class)); + BeanUtils.toBean(list, ErpWarehouseRespVO.class)); } @PutMapping("/enable-list") @Operation(summary = "批量更新") - @PreAuthorize("@ss.hasPermission('base:warehouse:update')") + @PreAuthorize("@ss.hasPermission('sply:warehouse:update')") public CommonResult enableWarehouseList(@RequestBody List saveReqVOS) { erpWarehouseService.enableWarehouseList(saveReqVOS); return success(true); @@ -111,7 +119,7 @@ public class ErpWarehouseController { @PostMapping("/getErpWarehouseTask") @Operation(summary = "定时获得erp更新库位") - @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:create')") + @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:sync')") public CommonResult getErpWarehouseTask() { erpWarehouseService.callErpRfcInterface(); return success(true); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java index 2b3c94e7..e35b346d 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java @@ -31,6 +31,9 @@ public class ErpWarehouseDO extends BusinessBaseDO { */ @TableField("FACT_NUM") private String factoryNumber; + + @TableField("CPN_NUM") + private String companyNumber; /** * 工厂名称;将查询参数存入 */ diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpWarehouseMapper.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpWarehouseMapper.java index 2eb30e18..7ef9ea6b 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpWarehouseMapper.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpWarehouseMapper.java @@ -3,7 +3,9 @@ package com.zt.plat.module.erp.dal.mysql.erp; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.erp.controller.admin.erp.vo.ErpSalesOrganizationPageReqVO; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpWarehousePageReqVO; +import com.zt.plat.module.erp.dal.dataobject.erp.ErpSalesOrganizationDO; import com.zt.plat.module.erp.dal.dataobject.erp.ErpWarehouseDO; import org.apache.ibatis.annotations.Mapper; @@ -17,6 +19,13 @@ import java.util.List; @Mapper public interface ErpWarehouseMapper extends BaseMapperX { + default List selectList(ErpWarehousePageReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(ErpWarehouseDO::getNumber, reqVO.getNumber()) + .likeIfPresent(ErpWarehouseDO::getName, reqVO.getName()) + .orderByDesc(ErpWarehouseDO::getId)); + } + String selectMaxCode(); List getPageByReq(ErpWarehousePageReqVO pageReqVO); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java index 5f9cb98b..ced94092 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java @@ -61,6 +61,8 @@ public interface ErpFactoryService { */ PageResult getErpFactoryPage(ErpFactoryPageReqVO pageReqVO); + List getErpFactoryList(); + void callErpRfcInterface(); void enableFactoryList(List saveReqVOS); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryServiceImpl.java index de94d559..9794fd5f 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryServiceImpl.java @@ -171,6 +171,11 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { return new PageResult<>(pageList, (long) total); } + @Override + public List getErpFactoryList() { + return erpFactoryMapper.selectList(new LambdaQueryWrapperX()); + } + @Override public void enableFactoryList(List saveReqVOS) { List updateObj = BeanUtils.toBean(saveReqVOS, ErpFactoryDO.class); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java index fe8683e0..d8241155 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java @@ -65,4 +65,6 @@ public interface ErpWarehouseService { void callErpRfcInterface(); void enableWarehouseList(List saveReqVOS); + + PageResult getErpWarehousePageDistinctByFactory(ErpWarehousePageReqVO pageReqVO); } \ No newline at end of file diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseServiceImpl.java index 549cab16..3178287c 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseServiceImpl.java @@ -8,6 +8,7 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.erp.dal.dataobject.erp.ErpFactoryDO; +import com.zt.plat.module.erp.dal.mysql.erp.ErpFactoryMapper; import com.zt.plat.module.erp.utils.ErpConfig; import com.zt.plat.module.erp.utils.MyRedisConfig; import com.zt.plat.module.erp.enums.OftenEnum; @@ -40,6 +41,8 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { @Resource private ErpWarehouseMapper erpWarehouseMapper; + @Resource + private ErpFactoryService erpFactoryService; @Resource private MyRedisConfig myRedisConfig; @@ -148,6 +151,44 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { } } +@Override +public PageResult getErpWarehousePageDistinctByFactory(ErpWarehousePageReqVO pageReqVO) { + // 获取所有数据 + List allList = erpWarehouseMapper.selectList(pageReqVO); + if (allList == null) { + allList = Collections.emptyList(); + } + + // 按工厂编码去重,保留第一个出现的元素 + List distinctList = allList.stream() + .collect(Collectors.toMap( + ErpWarehouseDO::getFactoryNumber, + warehouse -> warehouse, + (existing, replacement) -> existing, + LinkedHashMap::new)) // 保持原始顺序 + .values() + .stream() + .collect(Collectors.toList()); + + // 分页处理 + int pageNo = pageReqVO.getPageNo(); + int pageSize = pageReqVO.getPageSize(); + long total = distinctList.size(); + + // 计算分页起始和结束位置 + int fromIndex = (pageNo - 1) * pageSize; + int toIndex = (int) Math.min((long) fromIndex + pageSize, total); + + // 如果起始位置超出范围,则返回空列表 + if (fromIndex >= total) { + return new PageResult<>(Collections.emptyList(), total); + } + + // 截取当前页数据 + List pageList = distinctList.subList(fromIndex, toIndex); + return new PageResult<>(pageList, total); +} + @Override public PageResult getErpWarehousePage(ErpWarehousePageReqVO pageReqVO) { @@ -203,6 +244,15 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { JSONArray dataArrayALL = new JSONArray(); String factKey = "erpMap" + OftenEnum.FuncnrEnum.工厂信息.getFuncnr(); Map redisCache = myRedisConfig.getRedisCacheMap(factKey); + + List erpFactoryList = erpFactoryService.getErpFactoryList(); + Map factoryMap = new HashMap<>(); + if (CollUtil.isNotEmpty(erpFactoryList)){ + for (ErpFactoryDO erpFactoryDO : erpFactoryList){ + factoryMap.put(erpFactoryDO.getNumber(),erpFactoryDO.getErpCompanyNumber()); + } + } + if (CollUtil.isEmpty(redisCache)) { throw exception(ERP_FACTORY_NOT_EXISTS); } @@ -229,7 +279,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { } // 2. 处理公司数据,区分新增和更新 - ProcessingResult result = processData(dataArrayALL, funcnrEnum); + ProcessingResult result = processData(dataArrayALL, funcnrEnum,factoryMap); // 3. 批量保存数据 saveData(result); @@ -238,7 +288,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { /** * 处理数据,区分新增和更新 */ - private ProcessingResult processData(JSONArray dataArray, OftenEnum.FuncnrEnum funcnr) { + private ProcessingResult processData(JSONArray dataArray, OftenEnum.FuncnrEnum funcnr,Map factoryMap) { String key = "erpMap" + funcnr.getFuncnr(); Map numbers = myRedisConfig.getRedisCacheMap(key); List toUpdate = new ArrayList<>(); @@ -252,6 +302,9 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { DO.setName(dataJson.getString("LGOBE")); DO.setNumber(dataJson.getString("LGORT").trim()); DO.setFactoryNumber(dataJson.getString("WERKS")); + if (DO.getFactoryNumber() != null && factoryMap != null){ + DO.setCompanyNumber(factoryMap.get(DO.getFactoryNumber())); + } DO.setType("ERP"); String number = dataJson.getString("WERKS").trim() + "-" + dataJson.getString("LGORT").trim(); if (numbers.get(number) != null) {