From 69375988c25ab3a53102b45293ae7a5884317851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E8=8D=A3=E6=99=9F?= <9691125+pan-rongsheng@user.noreply.gitee.com> Date: Tue, 30 Dec 2025 18:08:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=8B=93=E5=B1=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/erp/ErpMaterialController.java | 55 +++++++++++++------ .../erp/ErpErpMaterialCorrService.java | 2 + .../erp/ErpErpMaterialCorrServiceImpl.java | 5 ++ .../erp/service/erp/ErpMaterialService.java | 4 ++ .../service/erp/ErpMaterialServiceImpl.java | 37 ++++++++----- 5 files changed, 72 insertions(+), 31 deletions(-) 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 4f959433..2c25b78a 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 @@ -38,6 +38,7 @@ public class ErpMaterialController { @Resource private ErpMaterialService erpMaterialService; + @PostMapping("/create") @Operation(summary = "创建ERP物料数据") @PreAuthorize("@ss.hasPermission('sply:erp-material:create')") @@ -65,7 +66,7 @@ public class ErpMaterialController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除ERP物料数据") - @PreAuthorize("@ss.hasPermission('sply:erp-material:delete')") + @PreAuthorize("@ss.hasPermission('sply:erp-material:delete')") public CommonResult deleteErpMaterialList(@RequestBody BatchDeleteReqVO req) { erpMaterialService.deleteErpMaterialListByIds(req.getIds()); return success(true); @@ -93,12 +94,12 @@ public class ErpMaterialController { @PreAuthorize("@ss.hasPermission('sply:erp-material:export')") @ApiAccessLog(operateType = EXPORT) public void exportErpMaterialExcel(@Valid ErpMaterialPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = erpMaterialService.getErpMaterialPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "ERP物料数据.xls", "数据", ErpMaterialRespVO.class, - BeanUtils.toBean(list, ErpMaterialRespVO.class)); + BeanUtils.toBean(list, ErpMaterialRespVO.class)); } @PostMapping("/getErpMaterialTask") @@ -116,20 +117,38 @@ public class ErpMaterialController { PageResult pageResult = erpMaterialService.getErpMaterialPageAndOther(pageReqVO); return success(BeanUtils.toBean(pageResult, ErpMaterialRespVO.class)); } - //创建物料拓展关系 - @PostMapping("/createErpMaterialCorr") - @Operation(summary = "创建ERP物料关系") - @PreAuthorize("@ss.hasPermission('sply:erp-material:create')") - public CommonResult> createErpMaterialCorr(@Valid @RequestBody ErpMaterialCorrSaveReqVO erpMaterialCorrSaveReqVO) { - return success(erpMaterialService.createErpMaterialCorr(erpMaterialCorrSaveReqVO)); - } - //删除物料关系 - @DeleteMapping("/deleteErpMaterialCorr") - @Operation(summary = "删除ERP物料关系") - @PreAuthorize("@ss.hasPermission('sply:erp-material:delete')") - public CommonResult deleteErpMaterialCorr(@RequestBody BatchDeleteReqVO req) { - erpMaterialService.deleteErpMaterialCorr(req); - return success(true); - } + //创建物料拓展关系 + @PostMapping("/createErpMaterialCorr") + @Operation(summary = "创建ERP物料关系") + @PreAuthorize("@ss.hasPermission('sply:erp-material:create')") + public CommonResult> createErpMaterialCorr(@Valid @RequestBody ErpMaterialCorrSaveReqVO erpMaterialCorrSaveReqVO) { + return success(erpMaterialService.createErpMaterialCorr(erpMaterialCorrSaveReqVO)); + } + + //删除物料关系 + @DeleteMapping("/deleteErpMaterialCorr") + @Operation(summary = "删除ERP物料关系") + @PreAuthorize("@ss.hasPermission('sply:erp-material:delete')") + public CommonResult deleteErpMaterialCorr(@RequestBody BatchDeleteReqVO req) { + erpMaterialService.deleteErpMaterialCorr(req); + return success(true); + } + + //通过物料id查询物料详情 + @GetMapping("/getErpMaterialById") + @Operation(summary = "通过物料id查询物料详情") + @PreAuthorize("@ss.hasPermission('sply:erp-material:query')") + public CommonResult getErpMaterialById(@RequestParam("id") Long id) { + ErpMaterialDO erpMaterial = erpMaterialService.getErpMaterialById(id); + return success(BeanUtils.toBean(erpMaterial, ErpMaterialRespVO.class)); + } + //通过主物料查询子物料信息 + @GetMapping("/getErpMaterialByMainMaterialById") + @Operation(summary = "通过主物料查询子物料信息") + @PreAuthorize("@ss.hasPermission('sply:erp-material:query')") + public CommonResult> getErpMaterialByMainMaterial(@RequestParam("id") Long mainMaterialId) { + List erpMaterial = erpMaterialService.getErpMaterialByMainMaterial(mainMaterialId); + return success(BeanUtils.toBean(erpMaterial, ErpMaterialRespVO.class)); + } } \ 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/ErpErpMaterialCorrService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrService.java index 1abae0f7..e8d1a1f2 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrService.java @@ -15,4 +15,6 @@ import java.util.List; public interface ErpErpMaterialCorrService { List create(@Valid ErpMaterialCorrSaveReqVO reqVO); void deleteBatch(BatchDeleteReqVO reqVO); + + List getErpMaterialByMainMaterial(Long mainMaterialId); } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java index 3338e5cf..0a59dd29 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpErpMaterialCorrServiceImpl.java @@ -38,4 +38,9 @@ public class ErpErpMaterialCorrServiceImpl implements ErpErpMaterialCorrService{ public void deleteBatch(BatchDeleteReqVO reqVO) { erpErpMaterialCorrMapper.deleteByIds(reqVO.getIds()); } + + @Override + public List getErpMaterialByMainMaterial(Long mainMaterialId) { + return BeanUtils.toBean( erpErpMaterialCorrMapper.selectList(ErpMaterialCorrDO::getMaterialParentId, mainMaterialId), ErpMaterialCorrRspVO.class); + } } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java index 8acfb62a..ca0cbbf5 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialService.java @@ -73,4 +73,8 @@ public interface ErpMaterialService { List createErpMaterialCorr(ErpMaterialCorrSaveReqVO erpMaterialCorrSaveReqVO); void deleteErpMaterialCorr(BatchDeleteReqVO reqVO); + + ErpMaterialDO getErpMaterialById(Long id); + + List getErpMaterialByMainMaterial(Long mainMaterialId); } \ 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/ErpMaterialServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java index f0891592..8316f464 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java @@ -252,6 +252,30 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { erpMaterialCorrService.deleteBatch(reqVO); } + @Override + public ErpMaterialDO getErpMaterialById(Long id) { + CommonResult materialInfomation = materialInfomationApi.getMaterialInfomation(id); + return buildErpMaterialDOData(materialInfomation); + } + + @Override + public List getErpMaterialByMainMaterial(Long mainMaterial) { + List erpMaterialByMainMaterial = erpMaterialCorrService.getErpMaterialByMainMaterial(mainMaterial); + List erpMaterialDOList = new ArrayList<>(); + CommonResult> materialInfomationListByIds = materialInfomationApi.getMaterialInfomationListByIds(erpMaterialByMainMaterial.stream().map(ErpMaterialCorrRspVO::getMaterialId).toList()); + if (materialInfomationListByIds.getData() == null || materialInfomationListByIds.getData().isEmpty()) { + return erpMaterialDOList; + } + materialInfomationListByIds.getData().forEach( + materialInfomation -> { + ErpMaterialDO erpMaterialDO = buildErpMaterialDOData(CommonResult.success(materialInfomation)); + erpMaterialDOList.add(erpMaterialDO); + } + ); + + return erpMaterialDOList; + } + @Override @Transactional @XxlJob("getErpMaterialTask") @@ -374,17 +398,4 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { .collect(Collectors.toList()); myRedisConfig.updateRedisCache(key, existingNumbers); } - - public record MaterialAttribute( - String baseUnitCode, // 基础单位编码 - String baseUnitName, // 基础单位名称 - String shortDesc, // 物料短描述 - String longDesc, // 物料长描述 - String chalcoCode, // 中铝编码 - String zhongtongCode, // 中铜编码 - String specification, // 规格 - String texture, // 材质 - String recordTime// 记录时间 - ) { - } } \ No newline at end of file