From 4387eed5a279c8bf8d546013dcacd5c5bf6a7796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 19 Jan 2024 18:50:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0srms=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/config/shiro/ShiroConfig.java | 7 + .../srms/controller/SrmsApiController.java | 35 +-- .../docking/srms/dto/ProductDesign.java | 30 +++ .../srms/mapper/LawsStandardMapper.java | 13 +- .../srms/mapper/xml/LawsStandardMapper.xml | 43 +++- .../docking/srms/service/SrmsApiService.java | 11 + .../srms/service/impl/SrmsApiServiceImpl.java | 237 +++++++++++------- .../docking/srms/{dto => vo}/StandardVO.java | 2 +- 8 files changed, 257 insertions(+), 121 deletions(-) create mode 100644 laws-modules-docking/src/main/java/com/jero/modules/docking/srms/dto/ProductDesign.java rename laws-modules-docking/src/main/java/com/jero/modules/docking/srms/{dto => vo}/StandardVO.java (93%) 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 830fa96a..ff802ee8 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 @@ -150,6 +150,13 @@ public class ShiroConfig { //拆分标准查看图片 filterChainDefinitionMap.put("/sys/split/file/getImage", "anon"); + // 获取token + filterChainDefinitionMap.put("/srms/getByToken", "anon"); + // 标准法规文档查询 + filterChainDefinitionMap.put("/srms/getByLawsFileList", "anon"); + // 设计导航-产品设计条款查询 + filterChainDefinitionMap.put("/srms/getByLawsProductDesign", "anon"); + // 添加自己的过滤器并且取名为jwt Map filterMap = new HashMap<>(1); //如果cloudServer为空 则说明是单体 需要加载跨域配置【微服务跨域切换】 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 b1661597..462f1a59 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 @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; +import com.jero.modules.docking.srms.dto.ProductDesign; import com.jero.modules.docking.srms.service.SrmsApiService; import com.jero.modules.docking.srms.vo.ByFileRows; import com.jero.modules.docking.utils.ResponsesUtil; @@ -68,21 +69,21 @@ public class SrmsApiController { } } -// @ApiOperation("设计导航-产品设计条款查询") -// @PostMapping("/getByLawsDesignNavigation") -// public JSONObject getByLawsDesignNavigation(@RequestBody JSONObject json, HttpServletRequest req){ -// try { -// Result re = srmsApiService.getByLawsFileList(json,req); -// if(!re.isSuccess()){ -// return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr(re.getMessage())); -// } -// JSONArray jsonArray = re.getResult(); -// JSONObject jsonResponses = ResponsesUtil.getJsonOk(); -// jsonResponses.put("Rows",jsonArray); -// return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses); -// }catch (Exception e){ -// log.error("获取token异常:",e); -// return ResponsesUtil.getJsonResult(json.get("MessageHeader"),ResponsesUtil.getJsonErr("操作失败")); -// } -// } + @ApiOperation("设计导航-产品设计条款查询") + @PostMapping("/getByLawsProductDesign") + public JSONObject getByLawsProductDesign(@RequestBody JSONObject json, HttpServletRequest req){ + try { + Result> re = srmsApiService.getByLawsProductDesign(json,req); + if(!re.isSuccess()){ + return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr(re.getMessage())); + } + List list = re.getResult(); + JSONObject jsonResponses = ResponsesUtil.getJsonOk(); + jsonResponses.put("Rows",list); + return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses); + }catch (Exception e){ + log.error("获取token异常:",e); + return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr("操作失败")); + } + } } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/dto/ProductDesign.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/dto/ProductDesign.java new file mode 100644 index 00000000..4aed4c10 --- /dev/null +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/dto/ProductDesign.java @@ -0,0 +1,30 @@ +package com.jero.modules.docking.srms.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author lqt + * @version 1.0 + * @date 2024/1/19 17:48 + */ +@Data +public class ProductDesign implements Serializable { + /** + * 设计导航唯一值 + */ + private String id; + /** + * 标准编号 + */ + private String standardNumber; + /** + * 条款标签 + */ + private String queryLabels; + /** + * 条款内容 + */ + private String itemContent; +} diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/LawsStandardMapper.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/LawsStandardMapper.java index 9eb2a97e..637cf9c1 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/LawsStandardMapper.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/LawsStandardMapper.java @@ -1,6 +1,6 @@ package com.jero.modules.docking.srms.mapper; -import com.jero.modules.docking.srms.dto.StandardVO; +import com.jero.modules.docking.srms.vo.StandardVO; import com.jero.modules.docking.srms.vo.ByFileRows; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -25,4 +25,15 @@ public interface LawsStandardMapper{ */ List getStandard(@Param("standard") StandardVO standard); + /** + * + * @author LQT + * @date 2024/1/19 15:43 + * @param standardNumber + * @param queryLabels + * @return java.util.List + */ + String getStandardByProductDesign(@Param("standardNumber") String standardNumber, + @Param("queryLabels") String queryLabels); + } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/xml/LawsStandardMapper.xml b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/xml/LawsStandardMapper.xml index a05fcd9d..01887a34 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/xml/LawsStandardMapper.xml +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/mapper/xml/LawsStandardMapper.xml @@ -13,10 +13,10 @@ from laws_domestic_standard where del_flag = 0 and instr(part_name,#{standard.partCategoryNum}) > 0 - and standard_number = #{standard.standardNumber} + and standard_number like concat(concat('%',#{standard.standardNumber}),'%') - and standard_name = #{standard.standardName} + and standard_name like concat(concat('%',#{standard.standardName}),'%') and standard_state = #{standard.standardState} @@ -28,10 +28,10 @@ from laws_overseas_standard where del_flag = 0 and instr(part_name,#{standard.partCategoryNum}) > 0 - and standard_number = #{standard.standardNumber} + and standard_number like concat(concat('%',#{standard.standardNumber}),'%') - and standard_name = #{standard.standardName} + and standard_name like concat(concat('%',#{standard.standardName}),'%') and standard_state = #{standard.standardState} @@ -43,10 +43,10 @@ from laws_enterprise_standard where del_flag = 0 and instr(part_name,#{standard.partCategoryNum}) > 0 - and standard_number = #{standard.standardNumber} + and standard_number like concat(concat('%',#{standard.standardNumber}),'%') - and standard_name = #{standardVO.standardName} + and standard_name like concat(concat('%',#{standard.standardName}),'%') and standard_state = #{standard.standardState} @@ -66,4 +66,35 @@ + 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 af4ca3f9..cf1b0ee3 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 @@ -2,6 +2,7 @@ package com.jero.modules.docking.srms.service; import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; +import com.jero.modules.docking.srms.dto.ProductDesign; import com.jero.modules.docking.srms.vo.ByFileRows; import javax.servlet.http.HttpServletRequest; @@ -32,4 +33,14 @@ public interface SrmsApiService { * @return com.alibaba.fastjson.JSONObject */ Result> getByLawsFileList(JSONObject json, HttpServletRequest req); + + /** + * 设计导航-产品设计条款查询 + * @author LQT + * @date 2024/1/19 17:32 + * @param json + * @param req + * @return com.jero.common.api.vo.Result + */ + Result> getByLawsProductDesign(JSONObject json, HttpServletRequest req); } 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 c26cd20c..c912b897 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,6 +1,7 @@ package com.jero.modules.docking.srms.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.vo.Result; @@ -9,7 +10,8 @@ import com.jero.common.system.util.JwtUtil; import com.jero.common.util.RedisUtil; import com.jero.common.util.TokenUtils; import com.jero.modules.docking.srms.dto.ByTokenRequests; -import com.jero.modules.docking.srms.dto.StandardVO; +import com.jero.modules.docking.srms.dto.ProductDesign; +import com.jero.modules.docking.srms.vo.StandardVO; import com.jero.modules.docking.srms.mapper.LawsStandardMapper; import com.jero.modules.docking.srms.service.SrmsApiService; import com.jero.modules.docking.srms.vo.ByFileRows; @@ -18,9 +20,6 @@ import com.jero.modules.docking.srms.vo.SarFileSplitMenu; import com.jero.modules.docking.srms.vo.SplitResult; import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit; import com.jero.modules.laws.documenttool.mapper.LawsDocumentSplitMapper; -import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; -import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; -import com.jero.modules.laws.standard.service.ILawsOverseasStandardService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.entity.SarFileSplitInfoEO; @@ -32,12 +31,12 @@ import com.jero.modules.system.service.ILoginService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -58,12 +57,6 @@ public class SrmsApiServiceImpl implements SrmsApiService { @Resource private RedisUtil redisUtil; @Resource - private ILawsDomesticStandardService lawsDomesticStandardService; - @Resource - private ILawsOverseasStandardService lawsOverseasStandardService; - @Resource - private ILawsEnterpriseStandardService lawsEnterpriseStandardService; - @Resource private ISarFileSplitMenuEOService sarFileSplitMenuEOService; @Resource private ISarFileSplitInfoService sarFileSplitInfoService; @@ -83,12 +76,15 @@ public class SrmsApiServiceImpl implements SrmsApiService { private String secret; private static final String SRMS_TOKEN = "srms_token_"; + private static final String REQUESTS = "Requests"; + private static final String SYS_ERR = "系统验证失败"; + @Override public Result getByToken(JSONObject json) { try { - ByTokenRequests byTokenRequests = JSON.parseObject(JSON.toJSONString(json.get("Requests")),ByTokenRequests.class); + ByTokenRequests byTokenRequests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS)),ByTokenRequests.class); // 验证数据必填项 if(StringUtils.isAllBlank(byTokenRequests.getUsername()) || StringUtils.isBlank(byTokenRequests.getAppkey()) @@ -96,7 +92,7 @@ public class SrmsApiServiceImpl implements SrmsApiService { return Result.error("必填项不能为空"); } if(!Objects.equals(appKey,byTokenRequests.getAppkey()) || !Objects.equals(secret,byTokenRequests.getSecret())){ - return Result.error("系统验证失败"); + return Result.error(SYS_ERR); } Result re = Result.OK(); String tokenKey = SRMS_TOKEN + byTokenRequests.getUsername(); @@ -119,19 +115,19 @@ public class SrmsApiServiceImpl implements SrmsApiService { @Override public Result> getByLawsFileList(JSONObject json, HttpServletRequest req) { + // 验证token + String token = req.getHeader("X-Access-Token"); + if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){ + Result.error(SYS_ERR); + } + JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS))); + // 零部件-分类内部码(精准查询) + String partCategoryNum = getStr(requests, "partCategoryNum"); + if(StringUtils.isBlank(partCategoryNum)){ + Result.error("零部件-分类内部码不能为空"); + } try { - // 验证token - String token = req.getHeader("X-Access-Token"); - if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){ - Result.error("系统验证失败"); - } - JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get("Requests"))); StandardVO standardVO = new StandardVO(); - // 零部件-分类内部码(精准查询) - String partCategoryNum = getStr(requests, "partCategoryNum"); - if(StringUtils.isBlank(partCategoryNum)){ - Result.error("零部件-分类内部码不能为空"); - } standardVO.setPartCategoryNum(partCategoryNum); // 零部件-分类名称 String partCategoryName = getStr(requests, "partCategoryName"); @@ -146,14 +142,7 @@ public class SrmsApiServiceImpl implements SrmsApiService { String standardState = getStr(requests, "standardState"); standardVO.setStandardState(standardState); // 是否存在拆分信息,默认false; true-是,false-否 - if(!Objects.isNull(requests.get("hasSplit"))){ - Boolean hasSplit = Boolean.parseBoolean(requests.get("hasSplit").toString()); - if(hasSplit){ - standardVO.setHasSplit("1"); - }else{ - standardVO.setHasSplit("2"); - } - } + setHasSplit(requests, standardVO); // 备用字段1 String remark1 = getStr(requests, "Remark1"); // 备用字段2 @@ -162,70 +151,7 @@ public class SrmsApiServiceImpl implements SrmsApiService { String remark3 = getStr(requests, "Remark3"); // 备用字段4 String remark4 = getStr(requests, "Remark4"); - - List listByFileRows = lawsStandardMapper.getStandard(standardVO); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - if(!CollectionUtils.isEmpty(listByFileRows)){ - List listFileId = listByFileRows.stream().map(ByFileRows::getId).collect(Collectors.toList()); - LambdaQueryWrapper queryOssFile = new LambdaQueryWrapper<>(); - queryOssFile.in(OSSFile::getStandardId,listFileId); - queryOssFile.eq(OSSFile::getStandardFileType,"publish_of_original"); - queryOssFile.orderByDesc(OSSFile::getCreateTime); - List listOssFile = ossFileService.list(queryOssFile); - for (ByFileRows byFileRows : listByFileRows) { - byFileRows.setPartCategoryNum(partCategoryNum); - byFileRows.setStandardState_dictText(sysBaseAPI.translateDict("standard_state", byFileRows.getStandardState())); - if(!CollectionUtils.isEmpty(listOssFile)){ - List listFile = listOssFile.stream().filter(o->Objects.equals(o.getStandardId(),byFileRows.getId())).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listFile)){ - listFile = listFile.stream().sorted(Comparator.comparing(OSSFile::getCreateTime).reversed()).collect(Collectors.toList()); - byFileRows.setStandardUrl(listFile.get(0).getUrl()); - } - } - LambdaQueryWrapper querySarFileSplitInfoEo = new LambdaQueryWrapper<>(); - querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getStandardId,byFileRows.getId()); - querySarFileSplitInfoEo.isNull(SarFileSplitInfoEO::getPublishBeforeId); - querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getFileType,"publish_of_original"); - SarFileSplitInfoEO sarFileSplitInfoEo = sarFileSplitInfoService.getOne(querySarFileSplitInfoEo,false); - if(!Objects.isNull(sarFileSplitInfoEo)){ - SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage(); - page.setValidFlag("0"); - page.setOrderBy("display_seq asc"); - page.setInfoId(sarFileSplitInfoEo.getId()); - List getList = sarFileSplitMenuEOService.queryByApiList(page); - if(!CollectionUtils.isEmpty(getList)){ - List listSarFileSplitMenu = new ArrayList<>(); - for (SarFileSplitMenuEO sarFileSplitMenuEo : getList) { - SarFileSplitMenu sarFileSplitMenu = new SarFileSplitMenu(); - sarFileSplitMenu.setId(sarFileSplitMenuEo.getId()); - sarFileSplitMenu.setPid(sarFileSplitMenuEo.getPId()); - sarFileSplitMenu.setItemName(sarFileSplitMenuEo.getItemName()); - sarFileSplitMenu.setName(sarFileSplitMenuEo.getName()); - listSarFileSplitMenu.add(sarFileSplitMenu); - } - SplitResult splitResult = new SplitResult(); - if(!CollectionUtils.isEmpty(listSarFileSplitMenu)){ - List listIds = listSarFileSplitMenu.stream().map(SarFileSplitMenu::getId).collect(Collectors.toList()); - LambdaQueryWrapper queryLawsDocumentSplit = new LambdaQueryWrapper<>(); - queryLawsDocumentSplit.in(LawsDocumentSplit::getMenuId,listIds); - queryLawsDocumentSplit.eq(LawsDocumentSplit::getDelFlag,"0"); - List listLawsDocumentSplit = lawsDocumentSplitMapper.selectList(queryLawsDocumentSplit); - if(!CollectionUtils.isEmpty(listLawsDocumentSplit)){ - List listDocumentSplitDetail = JSON.parseArray(JSON.toJSONString(listLawsDocumentSplit),DocumentSplitDetail.class); - splitResult.setDocumentSplitDetail(listDocumentSplitDetail); - } - - List finalResult = listSarFileSplitMenu; - listSarFileSplitMenu = listSarFileSplitMenu.stream().filter(v -> StringUtils.isBlank(v.getPid())) - .peek(v -> v.setChildren(createChildList(v, finalResult))).collect(Collectors.toList()); - splitResult.setSarFileSplitMenuEO(JSON.toJSONString(listSarFileSplitMenu)); - } - - byFileRows.setSplitResult(splitResult); - } - } - } - } + List listByFileRows = getByFileRows(partCategoryNum, standardVO); return Result.OK(listByFileRows); }catch (Exception e){ log.error("标准法规文档查询异常:",e); @@ -233,6 +159,85 @@ public class SrmsApiServiceImpl implements SrmsApiService { } } + @Nullable + private List getByFileRows(String partCategoryNum, StandardVO standardVO) { + List listByFileRows = lawsStandardMapper.getStandard(standardVO); + if(CollectionUtils.isEmpty(listByFileRows)) { + return listByFileRows; + } + List listFileId = listByFileRows.stream().map(ByFileRows::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryOssFile = new LambdaQueryWrapper<>(); + queryOssFile.in(OSSFile::getStandardId,listFileId); + queryOssFile.eq(OSSFile::getStandardFileType,"publish_of_original"); + queryOssFile.orderByDesc(OSSFile::getCreateTime); + List listOssFile = ossFileService.list(queryOssFile); + for (ByFileRows byFileRows : listByFileRows) { + byFileRows.setPartCategoryNum(partCategoryNum); + byFileRows.setStandardState_dictText(sysBaseAPI.translateDict("standard_state", byFileRows.getStandardState())); + if(!CollectionUtils.isEmpty(listOssFile)){ + List listFile = listOssFile.stream().filter(o-> Objects.equals(o.getStandardId(),byFileRows.getId())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listFile)){ + listFile = listFile.stream().sorted(Comparator.comparing(OSSFile::getCreateTime).reversed()).collect(Collectors.toList()); + byFileRows.setStandardUrl(listFile.get(0).getUrl()); + } + } + LambdaQueryWrapper querySarFileSplitInfoEo = new LambdaQueryWrapper<>(); + querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getStandardId,byFileRows.getId()); + querySarFileSplitInfoEo.isNull(SarFileSplitInfoEO::getPublishBeforeId); + querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getFileType,"publish_of_original"); + SarFileSplitInfoEO sarFileSplitInfoEo = sarFileSplitInfoService.getOne(querySarFileSplitInfoEo,false); + if(!Objects.isNull(sarFileSplitInfoEo)){ + SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage(); + page.setValidFlag("0"); + page.setOrderBy("display_seq asc"); + page.setInfoId(sarFileSplitInfoEo.getId()); + List getList = sarFileSplitMenuEOService.queryByApiList(page); + if(!CollectionUtils.isEmpty(getList)){ + List listSarFileSplitMenu = new ArrayList<>(); + for (SarFileSplitMenuEO sarFileSplitMenuEo : getList) { + SarFileSplitMenu sarFileSplitMenu = new SarFileSplitMenu(); + sarFileSplitMenu.setId(sarFileSplitMenuEo.getId()); + sarFileSplitMenu.setPid(sarFileSplitMenuEo.getPId()); + sarFileSplitMenu.setItemName(sarFileSplitMenuEo.getItemName()); + sarFileSplitMenu.setName(sarFileSplitMenuEo.getName()); + listSarFileSplitMenu.add(sarFileSplitMenu); + } + SplitResult splitResult = new SplitResult(); + if(!CollectionUtils.isEmpty(listSarFileSplitMenu)){ + List listIds = listSarFileSplitMenu.stream().map(SarFileSplitMenu::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryLawsDocumentSplit = new LambdaQueryWrapper<>(); + queryLawsDocumentSplit.in(LawsDocumentSplit::getMenuId,listIds); + queryLawsDocumentSplit.eq(LawsDocumentSplit::getDelFlag,"0"); + List listLawsDocumentSplit = lawsDocumentSplitMapper.selectList(queryLawsDocumentSplit); + if(!CollectionUtils.isEmpty(listLawsDocumentSplit)){ + List listDocumentSplitDetail = JSON.parseArray(JSON.toJSONString(listLawsDocumentSplit),DocumentSplitDetail.class); + splitResult.setDocumentSplitDetail(listDocumentSplitDetail); + } + + List finalResult = listSarFileSplitMenu; + listSarFileSplitMenu = listSarFileSplitMenu.stream().filter(v -> StringUtils.isBlank(v.getPid())) + .peek(v -> v.setChildren(createChildList(v, finalResult))).collect(Collectors.toList()); + splitResult.setSarFileSplitMenuEO(JSON.toJSONString(listSarFileSplitMenu)); + } + + byFileRows.setSplitResult(splitResult); + } + } + } + return listByFileRows; + } + + private void setHasSplit(JSONObject requests, StandardVO standardVO) { + if(!Objects.isNull(requests.get("hasSplit"))){ + Boolean hasSplit = Boolean.parseBoolean(requests.get("hasSplit").toString()); + if(hasSplit){ + standardVO.setHasSplit("1"); + }else{ + standardVO.setHasSplit("2"); + } + } + } + private String getStr(JSONObject requests, String partCategoryNum) { return requests.containsKey(partCategoryNum) ? requests.get(partCategoryNum).toString() : ""; } @@ -242,4 +247,44 @@ public class SrmsApiServiceImpl implements SrmsApiService { .peek(v -> v.setChildren(createChildList(v, treeList))) .collect(Collectors.toList()); } + + @Override + public Result> getByLawsProductDesign(JSONObject json, HttpServletRequest req) { + // 验证token + String token = req.getHeader("X-Access-Token"); + if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){ + Result.error(SYS_ERR); + } + JSONArray requests = JSON.parseArray(JSON.toJSONString(json.get(REQUESTS))); + if(CollectionUtils.isEmpty(requests)){ + Result.error("必填项不能为空"); + } + List listProductDesign = new ArrayList<>(); + for (Object request : requests) { + JSONObject js = JSON.parseObject(JSON.toJSONString(request)); + // todo || !js.containsKey("queryLabels") + if(!js.containsKey("ID") || !js.containsKey("standardNumber") ){ + Result.error("必填项不能为空"); + } + // todo || Objects.isNull(js.get("queryLabels")) + if(Objects.isNull(js.get("ID")) || Objects.isNull(js.get("standardNumber"))){ + Result.error("必填项不能为空"); + } + ProductDesign productDesign = new ProductDesign(); + productDesign.setId(js.get("ID").toString()); + productDesign.setStandardNumber(js.get("standardNumber").toString()); + productDesign.setQueryLabels(js.get("queryLabels").toString()); + listProductDesign.add(productDesign); + } + try { + for (ProductDesign productDesign : listProductDesign) { + String str = lawsStandardMapper.getStandardByProductDesign(productDesign.getStandardNumber(),productDesign.getQueryLabels()); + productDesign.setItemContent(str); + } + return Result.OK(listProductDesign); + }catch (Exception e){ + log.error("标准法规文档查询异常:",e); + return Result.error("操作失败" + e.getMessage()); + } + } } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/dto/StandardVO.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/vo/StandardVO.java similarity index 93% rename from laws-modules-docking/src/main/java/com/jero/modules/docking/srms/dto/StandardVO.java rename to laws-modules-docking/src/main/java/com/jero/modules/docking/srms/vo/StandardVO.java index 36c543e9..9bac12cb 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/dto/StandardVO.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/srms/vo/StandardVO.java @@ -1,4 +1,4 @@ -package com.jero.modules.docking.srms.dto; +package com.jero.modules.docking.srms.vo; import lombok.Data;