From 55a820a5de2af3d1d98ecb50cfe3d7080e86166d Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 29 Apr 2024 17:42:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=91=E5=AE=9A=E9=9B=B6=E9=83=A8?= =?UTF-8?q?=E4=BB=B6PDM=E7=9B=B8=E5=85=B3=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/config/shiro/ShiroConfig.java | 2 + .../controller/LawsBindPartController.java | 27 +++- .../bindPart/entity/BindPartStandardVO.java | 2 +- .../bindPart/entity/LawsBindPart.java | 8 +- .../bindPart/entity/LawsBindPartDoc.java | 2 +- .../mapper/LawsBindPartDocMapper.java | 4 +- .../bindPart/mapper/LawsBindPartMapper.java | 5 +- .../mapper/xml/LawsBindPartDocMapper.xml | 4 +- .../mapper/xml/LawsBindPartMapper.xml | 10 +- .../service/ILawsBindPartDocService.java | 4 +- .../service/ILawsBindPartService.java | 25 ++- .../impl/LawsBindPartDocServiceImpl.java | 8 +- .../service/impl/LawsBindPartServiceImpl.java | 81 ++++++++-- .../srms/controller/SrmsApiController.java | 25 +++ .../docking/srms/service/SrmsApiService.java | 34 +++++ .../srms/service/impl/SrmsApiServiceImpl.java | 142 ++++++++++++++++++ 16 files changed, 335 insertions(+), 48 deletions(-) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/controller/LawsBindPartController.java (85%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/entity/BindPartStandardVO.java (97%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/entity/LawsBindPart.java (94%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/entity/LawsBindPartDoc.java (96%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/mapper/LawsBindPartDocMapper.java (74%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/mapper/LawsBindPartMapper.java (75%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/mapper/xml/LawsBindPartDocMapper.xml (83%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/mapper/xml/LawsBindPartMapper.xml (91%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/service/ILawsBindPartDocService.java (70%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/service/ILawsBindPartService.java (73%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/service/impl/LawsBindPartDocServiceImpl.java (60%) rename {laws-modules/src/main/java/com/jero/modules/laws => laws-modules-docking/src/main/java/com/jero/modules/docking}/bindPart/service/impl/LawsBindPartServiceImpl.java (72%) diff --git a/laws-base/laws-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/laws-base/laws-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index deada7e3..caf03ea8 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -168,6 +168,8 @@ public class ShiroConfig { filterChainDefinitionMap.put("/srms/getByLawsStandardPage", "anon"); // 分页查询标准数据 filterChainDefinitionMap.put("/srms/syncPartData", "anon"); + // PDM获取零部件号绑定的法规数据 + filterChainDefinitionMap.put("/srms/bindPartStandardInfo", "anon"); // 添加自己的过滤器并且取名为jwt Map filterMap = new HashMap<>(1); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/controller/LawsBindPartController.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/controller/LawsBindPartController.java similarity index 85% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/controller/LawsBindPartController.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/controller/LawsBindPartController.java index 2ca8baec..7d411ec6 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/controller/LawsBindPartController.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/controller/LawsBindPartController.java @@ -1,4 +1,4 @@ -package com.jero.modules.laws.bindPart.controller; +package com.jero.modules.docking.bindPart.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.common.api.vo.Result; @@ -6,9 +6,9 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.exception.JeroBootException; import com.jero.common.util.MessageUtils; -import com.jero.modules.laws.bindPart.entity.BindPartStandardVO; -import com.jero.modules.laws.bindPart.entity.LawsBindPart; -import com.jero.modules.laws.bindPart.service.ILawsBindPartService; +import com.jero.modules.docking.bindPart.entity.BindPartStandardVO; +import com.jero.modules.docking.bindPart.entity.LawsBindPart; +import com.jero.modules.docking.bindPart.service.ILawsBindPartService; import com.jero.modules.laws.documenttool.service.IDocumentSplitService; import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.page.SarFileSplitMenuEOPage; @@ -25,7 +25,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -52,12 +51,24 @@ public class LawsBindPartController { @RequiresPermissions("sys:bindingPart:search") public Result> queryPageList(LawsBindPart lawsBindPart, @RequestParam(name="pageNo", defaultValue="1") @ApiParam("页码") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") @ApiParam("页面显示数量") Integer pageSize, - HttpServletRequest req) { - IPage pageList= lawsBindPartService.queryPage(lawsBindPart, pageNo, pageSize, req); + @RequestParam(name="pageSize", defaultValue="10") @ApiParam("页面显示数量") Integer pageSize) { + IPage pageList= lawsBindPartService.queryPage(lawsBindPart, pageNo, pageSize); return Result.OK(pageList); } + @AutoLog(value = "绑定零部件-是否显示使用绑定关系") + @ApiOperation(value="绑定零部件-是否显示使用绑定关系", notes="绑定零部件-是否显示使用绑定关系") + @GetMapping(value = "/isShowUseBindRelation") + public Result isShowUseBindRelation(LawsBindPart lawsBindPart) { + return Result.OK(lawsBindPartService.isShowUseBindRelation(lawsBindPart)); + } + + @AutoLog(value = "绑定零部件-使用绑定关系") + @ApiOperation(value="绑定零部件-使用绑定关系", notes="绑定零部件-使用绑定关系") + @GetMapping(value = "/useBindRelation") + public Result useBindRelation(@RequestParam("id") String id) { + return Result.OK(lawsBindPartService.useBindRelation(id)); + } /** * 添加 diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/BindPartStandardVO.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/BindPartStandardVO.java similarity index 97% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/BindPartStandardVO.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/BindPartStandardVO.java index 4b542d7d..51c5fd16 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/BindPartStandardVO.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/BindPartStandardVO.java @@ -1,4 +1,4 @@ -package com.jero.modules.laws.bindPart.entity; +package com.jero.modules.docking.bindPart.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/LawsBindPart.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/LawsBindPart.java similarity index 94% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/LawsBindPart.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/LawsBindPart.java index a890cb39..1038c7c0 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/LawsBindPart.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/LawsBindPart.java @@ -1,4 +1,4 @@ -package com.jero.modules.laws.bindPart.entity; +package com.jero.modules.docking.bindPart.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -75,6 +75,12 @@ public class LawsBindPart implements Serializable { @ApiModelProperty(value = "零部件号") private String partNo; + /** + * 零部件分类码 + */ + @ApiModelProperty(value = "零部件分类码") + private String partCategoryNum; + /** * 零部件名称 */ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/LawsBindPartDoc.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/LawsBindPartDoc.java similarity index 96% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/LawsBindPartDoc.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/LawsBindPartDoc.java index d2c474ec..9b020dd1 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/entity/LawsBindPartDoc.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/entity/LawsBindPartDoc.java @@ -1,4 +1,4 @@ -package com.jero.modules.laws.bindPart.entity; +package com.jero.modules.docking.bindPart.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/LawsBindPartDocMapper.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/LawsBindPartDocMapper.java similarity index 74% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/LawsBindPartDocMapper.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/LawsBindPartDocMapper.java index abda866b..deadc844 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/LawsBindPartDocMapper.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/LawsBindPartDocMapper.java @@ -1,6 +1,6 @@ -package com.jero.modules.laws.bindPart.mapper; +package com.jero.modules.docking.bindPart.mapper; -import com.jero.modules.laws.bindPart.entity.LawsBindPartDoc; +import com.jero.modules.docking.bindPart.entity.LawsBindPartDoc; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/LawsBindPartMapper.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/LawsBindPartMapper.java similarity index 75% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/LawsBindPartMapper.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/LawsBindPartMapper.java index 097d15e0..acd1b3fe 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/LawsBindPartMapper.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/LawsBindPartMapper.java @@ -1,8 +1,7 @@ -package com.jero.modules.laws.bindPart.mapper; +package com.jero.modules.docking.bindPart.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.jero.modules.laws.bindPart.entity.BindPartStandardVO; -import com.jero.modules.laws.bindPart.entity.LawsBindPart; +import com.jero.modules.docking.bindPart.entity.LawsBindPart; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/xml/LawsBindPartDocMapper.xml b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/xml/LawsBindPartDocMapper.xml similarity index 83% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/xml/LawsBindPartDocMapper.xml rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/xml/LawsBindPartDocMapper.xml index 9db3bc9b..75787075 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/xml/LawsBindPartDocMapper.xml +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/xml/LawsBindPartDocMapper.xml @@ -2,9 +2,9 @@ - + - + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/xml/LawsBindPartMapper.xml b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/xml/LawsBindPartMapper.xml similarity index 91% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/xml/LawsBindPartMapper.xml rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/xml/LawsBindPartMapper.xml index d020be3a..bba0e8ae 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/mapper/xml/LawsBindPartMapper.xml +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/mapper/xml/LawsBindPartMapper.xml @@ -1,8 +1,8 @@ - + - + @@ -25,7 +25,7 @@ bind_user,bind_time - SELECT bp.id, bp.part_no, @@ -75,6 +75,8 @@ GROUP BY - bp.id + bp.id, bp.create_time + ORDER BY + bp.create_time DESC diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/ILawsBindPartDocService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/ILawsBindPartDocService.java similarity index 70% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/ILawsBindPartDocService.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/ILawsBindPartDocService.java index 5927e9cc..d4d3aacf 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/ILawsBindPartDocService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/ILawsBindPartDocService.java @@ -1,6 +1,6 @@ -package com.jero.modules.laws.bindPart.service; +package com.jero.modules.docking.bindPart.service; -import com.jero.modules.laws.bindPart.entity.LawsBindPartDoc; +import com.jero.modules.docking.bindPart.entity.LawsBindPartDoc; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/ILawsBindPartService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/ILawsBindPartService.java similarity index 73% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/ILawsBindPartService.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/ILawsBindPartService.java index 44945f87..2690ce40 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/ILawsBindPartService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/ILawsBindPartService.java @@ -1,12 +1,10 @@ -package com.jero.modules.laws.bindPart.service; +package com.jero.modules.docking.bindPart.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.jero.modules.laws.bindPart.entity.BindPartStandardVO; -import com.jero.modules.laws.bindPart.entity.LawsBindPart; +import com.jero.modules.docking.bindPart.entity.BindPartStandardVO; +import com.jero.modules.docking.bindPart.entity.LawsBindPart; import com.baomidou.mybatisplus.extension.service.IService; -import com.jero.modules.laws.system.entity.LawsContactManage; -import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -22,10 +20,9 @@ public interface ILawsBindPartService extends IService { * @param lawsBindPart * @param pageNo * @param pageSize - * @param req * @return */ - IPage queryPage(LawsBindPart lawsBindPart, Integer pageNo, Integer pageSize, HttpServletRequest req); + IPage queryPage(LawsBindPart lawsBindPart, Integer pageNo, Integer pageSize); /** * 保存 @@ -75,4 +72,18 @@ public interface ILawsBindPartService extends IService { * @return */ IPage selectStandard(BindPartStandardVO bindPartStandardVO, Integer pageNo, Integer pageSize); + + /** + * 是否显示使用绑定关系按钮 + * @param id + * @return + */ + LawsBindPart useBindRelation(String id); + + /** + * 使用绑定关系 + * @param lawsBindPart + * @return + */ + LawsBindPart isShowUseBindRelation(LawsBindPart lawsBindPart); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/impl/LawsBindPartDocServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/impl/LawsBindPartDocServiceImpl.java similarity index 60% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/impl/LawsBindPartDocServiceImpl.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/impl/LawsBindPartDocServiceImpl.java index c0eff358..2ec5b2f1 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/impl/LawsBindPartDocServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/impl/LawsBindPartDocServiceImpl.java @@ -1,9 +1,9 @@ -package com.jero.modules.laws.bindPart.service.impl; +package com.jero.modules.docking.bindPart.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.modules.laws.bindPart.entity.LawsBindPartDoc; -import com.jero.modules.laws.bindPart.service.ILawsBindPartDocService; -import com.jero.modules.laws.bindPart.mapper.LawsBindPartDocMapper; +import com.jero.modules.docking.bindPart.entity.LawsBindPartDoc; +import com.jero.modules.docking.bindPart.mapper.LawsBindPartDocMapper; +import com.jero.modules.docking.bindPart.service.ILawsBindPartDocService; import org.springframework.stereotype.Service; /** diff --git a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/impl/LawsBindPartServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/impl/LawsBindPartServiceImpl.java similarity index 72% rename from laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/impl/LawsBindPartServiceImpl.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/impl/LawsBindPartServiceImpl.java index 13b0d4e5..6856b8d9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/bindPart/service/impl/LawsBindPartServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/bindPart/service/impl/LawsBindPartServiceImpl.java @@ -1,22 +1,22 @@ -package com.jero.modules.laws.bindPart.service.impl; +package com.jero.modules.docking.bindPart.service.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.common.constant.enums.TableEnum; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; -import com.jero.modules.laws.bindPart.entity.BindPartStandardVO; -import com.jero.modules.laws.bindPart.entity.LawsBindPart; -import com.jero.modules.laws.bindPart.entity.LawsBindPartDoc; -import com.jero.modules.laws.bindPart.service.ILawsBindPartDocService; -import com.jero.modules.laws.bindPart.service.ILawsBindPartService; -import com.jero.modules.laws.bindPart.mapper.LawsBindPartMapper; +import com.jero.modules.docking.bindPart.entity.BindPartStandardVO; +import com.jero.modules.docking.bindPart.entity.LawsBindPart; +import com.jero.modules.docking.bindPart.entity.LawsBindPartDoc; +import com.jero.modules.docking.bindPart.mapper.LawsBindPartMapper; +import com.jero.modules.docking.bindPart.service.ILawsBindPartDocService; +import com.jero.modules.docking.bindPart.service.ILawsBindPartService; +import com.jero.modules.docking.srms.service.SrmsApiService; import com.jero.modules.laws.enterprise.util.BeanCopyUtils; -import com.jero.modules.laws.standard.controller.LawsDomesticController; -import com.jero.modules.laws.standard.controller.LawsOverseasController; import com.jero.modules.laws.standard.entity.LawsDomesticStandard; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.entity.LawsOverseasStandard; @@ -26,11 +26,11 @@ import com.jero.modules.laws.standard.service.ILawsOverseasStandardService; import com.jero.modules.onlyoffice.entity.StandardFileType; import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.service.ISarFileSplitInfoService; +import com.jero.modules.sys.utils.UserUtils; import com.jero.modules.tag.enums.TableNameEnum; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.stream.Collectors; @@ -63,8 +63,11 @@ public class LawsBindPartServiceImpl extends ServiceImpl queryPage(LawsBindPart lawsBindPart, Integer pageNo, Integer pageSize, HttpServletRequest req) { + public IPage queryPage(LawsBindPart lawsBindPart, Integer pageNo, Integer pageSize) { IPage page = new Page<>(pageNo, pageSize); lawsBindPartMapper.page(page, lawsBindPart); return page; @@ -224,8 +227,60 @@ public class LawsBindPartServiceImpl extends ServiceImpl lawsBindPartDocLambdaQueryWrapper = new LambdaQueryWrapper<>(); + lawsBindPartDocLambdaQueryWrapper.eq(LawsBindPartDoc::getBindId, id); + List list = lawsBindPartDocService.list(lawsBindPartDocLambdaQueryWrapper); + list.forEach(b -> { + b.setId(null); + b.setBindId(newId); + }); + lawsBindPartDocService.saveBatch(list); + return null; + } - + /** + 1、如当前零部件绑定关系数据为空,则查询法规绑定关系中 当前零部件分类树下是否有绑定关系,无则进入序号3;有则获取零部件分类、零部件编号调用PDM的接口,判断零部件编号是否在当前的零部件分类下。 + 2、在零部件分类下则 弹框文字提醒:【当前零部件分类结构下已有XXXX绑定标准关联关系,是否引入对应关系?】(XXXX指第一次绑定的零部件名称+编号)。 + 3、如某分类的第一个零部件第一次绑定,进入法规系统点击新增/编辑,弹窗中自动带出零部件号、零部件名称和绑定人员。需要选择标准以及该标准下的条款,其中标准为单选,条款可以多选。绑定成功后,在列表最上方生成一条数据。pdm可以获取到零部件绑定的全部标准信息。 + * @param lawsBindPart + * @return + */ + @Override + public LawsBindPart isShowUseBindRelation(LawsBindPart lawsBindPart) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(LawsBindPart::getPartCategoryNum, lawsBindPart.getPartCategoryNum()); + List list = this.list(lambdaQueryWrapper); + // 第一次绑定不显示使用绑定关系 + if (list == null || list.isEmpty()) { + return null; + } + for (LawsBindPart existBind : list) { + // 调用PDM判断零部件编号是否在当前的零部件分类下 +// boolean validPartBelong = srmsApiService.validPartBelong(lawsBindPart.getPartNo(), lawsBindPart.getPartName(), existBind.getPartCategoryNum()); + boolean validPartBelong = true; + if (validPartBelong) { + return existBind; + } + // 零部件编号和零部件分类码绑定关系发生变更,所以需要将系统中存储的所有该零部件号的零部件分类码清空 + existBind.setPartCategoryNum(null); + updateById(existBind); + } + return null; + } } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/controller/SrmsApiController.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/controller/SrmsApiController.java index 1f8ca185..e0b4a8a3 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/controller/SrmsApiController.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/controller/SrmsApiController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.constant.CommonConstant; +import com.jero.common.exception.JeroBootException; import com.jero.modules.docking.srms.entity.LawsPartStandard; import com.jero.modules.docking.srms.service.SrmsApiService; import com.jero.modules.docking.srms.vo.ByFileRows; @@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; +import java.util.Objects; /** * @author lqt @@ -187,4 +189,27 @@ public class SrmsApiController { return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErrUpper("操作失败",CommonConstant.SC_INTERNAL_SERVER_ERROR_500)); } } + + @AutoLog(value = "PDM获取零部件号绑定的法规数据信息") + @PostMapping("/bindPartStandardInfo") + public JSONObject getBindPartStandardInfo(@RequestBody JSONObject json) { + JSONObject messageHandler = JSON.parseObject(JSON.toJSONString(json.get(MESSAGE_HEADER))); + String uuid = messageHandler.get("UUID").toString(); + try { + List rows = srmsApiService.getBindPartStandardInfo(json); + JSONObject resultJson = new JSONObject(); + resultJson.put("MessageHeader", srmsApiService.getMessageHandler("interface_id", uuid)); + JSONObject jsonResponses = ResponsesUtil.getJsonOkUpper(); + if (!Objects.isNull(rows)) { + jsonResponses.put("Rows", rows); + } + resultJson.put("Responses", jsonResponses); + return resultJson; + } catch (Exception e) { + log.error("PDM获取零部件号绑定的法规数据信息异常:", e); + return ResponsesUtil.getJsonResult( + srmsApiService.getMessageHandler("interface_id", uuid), + ResponsesUtil.getJsonErrUpper("操作失败", CommonConstant.SC_INTERNAL_SERVER_ERROR_500)); + } + } } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/SrmsApiService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/SrmsApiService.java index 59603244..18dcc894 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/SrmsApiService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/SrmsApiService.java @@ -6,6 +6,7 @@ import com.jero.common.api.vo.Result; import com.jero.modules.docking.srms.vo.ByFileRows; import com.jero.modules.docking.srms.vo.StandardPageVO; import com.jero.modules.docking.srms.vo.StandardTree; +import com.jero.modules.docking.bindPart.entity.LawsBindPart; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -103,4 +104,37 @@ public interface SrmsApiService { */ Result> getEStandardInfo(JSONObject json, HttpServletRequest req); + /** + * 获取固定的MessageHandler + * @param interfaceId + * @return com.jero.common.api.vo.Result> + */ + JSONObject getMessageHandler(String interfaceId, String uuid); + + /** + * PDM验证零部件号是否可修改 + * + * @return com.jero.common.api.vo.Result> + * @author CHH + * @date 2024/4/28 15:08 + */ + boolean validPartNoEdit(String partNo, String partName, String bindUserInfo); + + /** + * PDM校验某个零部件是否所属于某个零部件分类 + * @author CHH + * @date 2024/4/28 15:08 + * @return com.jero.common.api.vo.Result> + */ + boolean validPartBelong(String partNo, String partName, String partCategoryNum); + + /** + * 获取零部件号绑定的法规数据 + * @author CHH + * @date 2024/4/28 15:08 + * @param json + * @return com.jero.common.api.vo.Result> + */ + List getBindPartStandardInfo(JSONObject json); + } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/impl/SrmsApiServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/impl/SrmsApiServiceImpl.java index 64e3a8d3..3db477d4 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/impl/SrmsApiServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/service/impl/SrmsApiServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.docking.srms.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -10,6 +11,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.base.CaseFormat; import com.jero.common.api.vo.Result; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.MD5Util; @@ -24,10 +26,14 @@ import com.jero.modules.docking.srms.service.ILawsPartStandardService; import com.jero.modules.docking.srms.service.ILawsSysApiInfoService; import com.jero.modules.docking.srms.service.SrmsApiService; import com.jero.modules.docking.srms.vo.*; +import com.jero.modules.docking.bindPart.entity.LawsBindPart; +import com.jero.modules.docking.bindPart.service.ILawsBindPartService; import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit; import com.jero.modules.laws.documenttool.mapper.LawsDocumentSplitMapper; import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.entity.PartName; +import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; import com.jero.modules.laws.standard.service.ILawsTreeNodeService; import com.jero.modules.laws.standard.service.PartNameService; import com.jero.modules.oss.entity.OSSFile; @@ -93,6 +99,12 @@ public class SrmsApiServiceImpl implements SrmsApiService { @Resource private RestTemplate restTemplate; + @Resource + private ILawsBindPartService lawsBindPartService; + + @Resource + private ILawsEnterpriseStandardService esService; + @Value("${srms.font_url_pdf}") private String fontUrlPdf; @Value("${srms.back_url_pdf}") @@ -110,7 +122,18 @@ public class SrmsApiServiceImpl implements SrmsApiService { @Value("${srms.part_standard_url}") private String partStandardUrl; + @Value("${bindPart.pdm_Ip}") + private String pdmIp; + + @Value("${bindPart.edit_valid_url}") + private String editValidUrl; + + @Value("${bindPart.part_belong_url}") + private String partBelongUrl; + private static final String REQUESTS = "Requests"; + + private static final String MESSAGE_HANDLER = "MessageHeader"; private static final String SYS_ERR = "访问受限,token授权过期"; private static final String STANDARD_NAME = "standardName"; private static final String STANDARD_NUMBER = "standardNumber"; @@ -741,4 +764,123 @@ public class SrmsApiServiceImpl implements SrmsApiService { return Result.error("操作失败" + e.getMessage()); } } + + @Override + public JSONObject getMessageHandler(String interfaceId, String uuid) { + if (StrUtil.isBlank(uuid)) { + uuid = UUID.randomUUID().toString(); + } + JSONObject messageHeader = new JSONObject(); + String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); + messageHeader.put("Interface_ID", interfaceId); + messageHeader.put("UUID", uuid); + messageHeader.put("MessageId", ""); + messageHeader.put("Sender", "SRMS"); + messageHeader.put("Receiver", "PDM"); + messageHeader.put("SendDate", date.substring(0, 8)); + messageHeader.put("SendTime", date.substring(8)); + return messageHeader; + } + + @Override + public boolean validPartNoEdit(String partNo, String partName, String bindUserInfo) { + try { + JSONObject all = new JSONObject(); + // todo Interface_ID,UUID + all.put(MESSAGE_HANDLER, getMessageHandler("interfaceId", null)); + JSONObject requests = new JSONObject(); + requests.put("PartNum", partNo); + requests.put("PartName", partName); + requests.put("BindUserInfo", bindUserInfo); + requests.put("Remark1", ""); + requests.put("Remark2", ""); + requests.put("Remark3", ""); + all.put(REQUESTS, requests); + // todo url + JSONObject reData = restTemplate.postForObject(pdmIp + editValidUrl, all, JSONObject.class); + log.info(JSON.toJSONString(reData)); + if (!Objects.isNull(reData) && reData.containsKey("Success")) { + String success = reData.getString("Success"); + if ("true".equals(success)) { + log.info("验证零部件号是否可修改接口成功"); + return true; + } + if ("false".equals(success)) { + log.error("验证零部件号是否可修改接口失败"); + return false; + } + } + } catch (Exception e) { + log.error("验证零部件号是否可修改异常", e); + } + return false; + } + + @Override + public boolean validPartBelong(String partNo, String partName, String partCategoryNum) { + try { + JSONObject all = new JSONObject(); + // todo Interface_ID,UUID + all.put(MESSAGE_HANDLER, getMessageHandler("interfaceId", null)); + JSONObject requests = new JSONObject(); + requests.put("PartNum", partNo); + requests.put("PartName", partName); + requests.put("PartCategoryNum", partCategoryNum); + requests.put("PartCategoryName", ""); + requests.put("Remark1", ""); + requests.put("Remark2", ""); + requests.put("Remark3", ""); + all.put(REQUESTS, requests); + // todo url + JSONObject reData = restTemplate.postForObject(pdmIp + partBelongUrl, all, JSONObject.class); + log.info(JSON.toJSONString(reData)); + if (!Objects.isNull(reData) && reData.containsKey("Success")) { + String success = reData.getString("Success"); + if ("true".equals(success)) { + log.info("校验某个零部件是否所属于某个零部件分类接口成功"); + return true; + } + if ("false".equals(success)) { + log.error("校验某个零部件是否所属于某个零部件分类接口失败"); + return false; + } + } + } catch (Exception e) { + log.error("校验某个零部件是否所属于某个零部件分类异常", e); + } + return false; + } + + @Override + public List getBindPartStandardInfo(JSONObject json) { + JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS))); + String partNum = requests.get("PartNum").toString(); + if (StrUtil.isBlank(partNum)) { + throw new JeroBootException("零部件编号PartNum不能为空"); + } + LawsBindPart lawsBindPart = new LawsBindPart(); + lawsBindPart.setPartNo(partNum); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(LawsBindPart::getPartNo, partNum); + List lawsBindPartList = lawsBindPartService.list(lambdaQueryWrapper); + List listObj = new ArrayList<>(); + if (!CollectionUtils.isEmpty(lawsBindPartList)) { + // 设置标准名称 + Set standardIdSet = lawsBindPartList.stream().map(LawsBindPart::getStandardId).collect(Collectors.toSet()); + List lawsStandardList = esService.listByIds(standardIdSet); + for (LawsEnterpriseStandard es : lawsStandardList) { + JSONObject rows = new JSONObject(); + rows.put("PartNum", lawsBindPartList.get(0).getPartName()); + rows.put("PartName", lawsBindPartList.get(0).getPartName()); + rows.put("StandardNumber", es.getStandardNumber()); + rows.put("StandardName", es.getStandardName()); + rows.put("Remark1", ""); + rows.put("Remark2", ""); + rows.put("Remark3", ""); + listObj.add(rows); + } + } + return listObj; + } }