添加srms接口
This commit is contained in:
+47
-3
@@ -1,12 +1,14 @@
|
||||
package com.jero.modules.docking.srms.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
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.srms.vo.StandardPageVO;
|
||||
import com.jero.modules.docking.srms.vo.StandardTree;
|
||||
import com.jero.modules.docking.utils.ResponsesUtil;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -64,7 +66,7 @@ public class SrmsApiController {
|
||||
jsonResponses.put("Rows",list);
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses);
|
||||
}catch (Exception e){
|
||||
log.error("获取token异常:",e);
|
||||
log.error("标准法规文档查询异常:",e);
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr("操作失败"));
|
||||
}
|
||||
}
|
||||
@@ -82,7 +84,49 @@ public class SrmsApiController {
|
||||
jsonResponses.put("Rows",list);
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses);
|
||||
}catch (Exception e){
|
||||
log.error("获取token异常:",e);
|
||||
log.error("设计导航-产品设计条款查询异常:",e);
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr("操作失败"));
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("获取所有体系数据")
|
||||
@PostMapping("/getByLawsSystem")
|
||||
public JSONObject getByLawsSystem(@RequestBody JSONObject json, HttpServletRequest req){
|
||||
try {
|
||||
Result<List<StandardTree>> re = srmsApiService.getByLawsSystem(json,req);
|
||||
if(!re.isSuccess()){
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr(re.getMessage()));
|
||||
}
|
||||
List<StandardTree> list = re.getResult();
|
||||
JSONObject jsonResponses = ResponsesUtil.getJsonOk();
|
||||
jsonResponses.put("Rows",JSON.toJSONString(list));
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses);
|
||||
}catch (Exception e){
|
||||
log.error("获取所有体系数据异常:",e);
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr("操作失败"));
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("分页查询标准数据")
|
||||
@PostMapping("/getByLawsStandardPage")
|
||||
public JSONObject getByLawsStandardPage(@RequestBody JSONObject json, HttpServletRequest req){
|
||||
try {
|
||||
Result<IPage<StandardPageVO>> re = srmsApiService.getByLawsStandardPage(json,req);
|
||||
if(!re.isSuccess()){
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr(re.getMessage()));
|
||||
}
|
||||
IPage<StandardPageVO> page = re.getResult();
|
||||
JSONObject jsonPage = new JSONObject();
|
||||
jsonPage.put("current",page.getCurrent());
|
||||
jsonPage.put("pages",page.getPages());
|
||||
jsonPage.put("size",page.getSize());
|
||||
jsonPage.put("total",page.getTotal());
|
||||
jsonPage.put("Rows_Result",page.getRecords());
|
||||
JSONObject jsonResponses = ResponsesUtil.getJsonOk();
|
||||
jsonResponses.put("Result",jsonPage);
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),jsonResponses);
|
||||
}catch (Exception e){
|
||||
log.error("分页查询标准数据异常:",e);
|
||||
return ResponsesUtil.getJsonResult(json.get(MESSAGE_HEADER),ResponsesUtil.getJsonErr("操作失败"));
|
||||
}
|
||||
}
|
||||
|
||||
+9
-1
@@ -1,7 +1,12 @@
|
||||
package com.jero.modules.docking.srms.mapper;
|
||||
|
||||
import com.jero.modules.docking.srms.vo.StandardVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.docking.srms.vo.ByFileRows;
|
||||
import com.jero.modules.docking.srms.vo.StandardPageVO;
|
||||
import com.jero.modules.docking.srms.vo.StandardVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -36,4 +41,7 @@ public interface LawsStandardMapper{
|
||||
String getStandardByProductDesign(@Param("standardNumber") String standardNumber,
|
||||
@Param("queryLabels") String queryLabels);
|
||||
|
||||
IPage<StandardPageVO> getByLawsStandardPage(Page<StandardPageVO> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<StandardPageVO> queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
+20
@@ -97,4 +97,24 @@
|
||||
left join laws_document_split l on s.id = l.info_id and l.del_flag = 0
|
||||
where l.item_content is not null and l.item_content != '' limit 1
|
||||
</select>
|
||||
|
||||
<select id="getByLawsStandardPage" resultType="com.jero.modules.docking.srms.vo.StandardPageVO">
|
||||
select laws.* from (
|
||||
SELECT
|
||||
id,standard_number,standard_name,standard_english_name,standard_state,standard_system,release_date,implementation_date,part_name as partCategoryNum
|
||||
FROM laws_domestic_standard
|
||||
union all
|
||||
SELECT
|
||||
id,standard_number,standard_name,standard_english_name,standard_state,standard_system,release_date,implementation_date,part_name as partCategoryNum
|
||||
FROM laws_enterprise_standard
|
||||
union all
|
||||
SELECT
|
||||
id,standard_number,standard_name,standard_english_name,standard_state,standard_system,release_date,implementation_date,part_name as partCategoryNum
|
||||
FROM laws_overseas_standard
|
||||
) laws
|
||||
left join laws_node_relation l on l.unique_relation_flag = laws.id
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+24
@@ -1,9 +1,12 @@
|
||||
package com.jero.modules.docking.srms.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.docking.srms.dto.ProductDesign;
|
||||
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 javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
@@ -43,4 +46,25 @@ public interface SrmsApiService {
|
||||
* @return com.jero.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
|
||||
*/
|
||||
Result<List<ProductDesign>> getByLawsProductDesign(JSONObject json, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 获取所有体系数据
|
||||
* @author LQT
|
||||
* @date 2024/1/19 17:32
|
||||
* @param json
|
||||
* @param req
|
||||
* @return com.jero.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
|
||||
*/
|
||||
Result<List<StandardTree>> getByLawsSystem(JSONObject json, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 分页查询标准数据
|
||||
* @author LQT
|
||||
* @date 2024/1/19 17:32
|
||||
* @param json
|
||||
* @param req
|
||||
* @return com.jero.common.api.vo.Result<com.alibaba.fastjson.JSONObject>
|
||||
*/
|
||||
Result<IPage<StandardPageVO>> getByLawsStandardPage(JSONObject json, HttpServletRequest req);
|
||||
|
||||
}
|
||||
|
||||
+279
-73
@@ -4,6 +4,9 @@ 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.util.JwtUtil;
|
||||
@@ -11,15 +14,15 @@ 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.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;
|
||||
import com.jero.modules.docking.srms.vo.DocumentSplitDetail;
|
||||
import com.jero.modules.docking.srms.vo.SarFileSplitMenu;
|
||||
import com.jero.modules.docking.srms.vo.SplitResult;
|
||||
import com.jero.modules.docking.srms.vo.*;
|
||||
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.PartName;
|
||||
import com.jero.modules.laws.standard.service.ILawsTreeNodeService;
|
||||
import com.jero.modules.laws.standard.service.PartNameService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
@@ -28,19 +31,18 @@ import com.jero.modules.split.page.SarFileSplitMenuEOPage;
|
||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
|
||||
import com.jero.modules.system.service.ILoginService;
|
||||
import com.jero.modules.tag.enums.TableNameEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.regexp.RE;
|
||||
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.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -64,11 +66,15 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
private LawsDocumentSplitMapper lawsDocumentSplitMapper;
|
||||
@Resource
|
||||
private LawsStandardMapper lawsStandardMapper;
|
||||
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IOSSFileService ossFileService;
|
||||
@Resource
|
||||
private ILawsTreeNodeService lawsTreeNodeService;
|
||||
@Resource
|
||||
private PartNameService partNameService;
|
||||
|
||||
|
||||
@Value("${srms.app_key}")
|
||||
private String appKey;
|
||||
@@ -78,6 +84,11 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
private static final String SRMS_TOKEN = "srms_token_";
|
||||
private static final String REQUESTS = "Requests";
|
||||
private static final String SYS_ERR = "系统验证失败";
|
||||
private static final String STANDARD_NAME = "standardName";
|
||||
private static final String STANDARD_NUMBER = "standardNumber";
|
||||
private static final String PUBLISH_OF_ORIGINAL = "publish_of_original";
|
||||
private static final String X_ACCESS_TOKEN = "X-Access-Token";
|
||||
private static final String ADD_NOT_NULL = "必填项不能为空";
|
||||
|
||||
|
||||
|
||||
@@ -89,7 +100,7 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
if(StringUtils.isAllBlank(byTokenRequests.getUsername())
|
||||
|| StringUtils.isBlank(byTokenRequests.getAppkey())
|
||||
|| StringUtils.isBlank(byTokenRequests.getSecret())){
|
||||
return Result.error("必填项不能为空");
|
||||
return Result.error(ADD_NOT_NULL);
|
||||
}
|
||||
if(!Objects.equals(appKey,byTokenRequests.getAppkey()) || !Objects.equals(secret,byTokenRequests.getSecret())){
|
||||
return Result.error(SYS_ERR);
|
||||
@@ -116,15 +127,15 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
@Override
|
||||
public Result<List<ByFileRows>> getByLawsFileList(JSONObject json, HttpServletRequest req) {
|
||||
// 验证token
|
||||
String token = req.getHeader("X-Access-Token");
|
||||
String token = req.getHeader(X_ACCESS_TOKEN);
|
||||
if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){
|
||||
Result.error(SYS_ERR);
|
||||
return Result.error(SYS_ERR);
|
||||
}
|
||||
JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS)));
|
||||
// 零部件-分类内部码(精准查询)
|
||||
String partCategoryNum = getStr(requests, "partCategoryNum");
|
||||
if(StringUtils.isBlank(partCategoryNum)){
|
||||
Result.error("零部件-分类内部码不能为空");
|
||||
return Result.error("零部件-分类内部码不能为空");
|
||||
}
|
||||
try {
|
||||
StandardVO standardVO = new StandardVO();
|
||||
@@ -133,24 +144,16 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
String partCategoryName = getStr(requests, "partCategoryName");
|
||||
standardVO.setPartCategoryName(partCategoryName);
|
||||
// 标准编号
|
||||
String standardNumber = getStr(requests, "standardNumber");
|
||||
String standardNumber = getStr(requests, STANDARD_NUMBER);
|
||||
standardVO.setStandardNumber(standardNumber);
|
||||
// 标准名称
|
||||
String standardName = getStr(requests, "standardName");
|
||||
String standardName = getStr(requests, STANDARD_NAME);
|
||||
standardVO.setStandardName(standardName);
|
||||
// 标准状态
|
||||
String standardState = getStr(requests, "standardState");
|
||||
standardVO.setStandardState(standardState);
|
||||
// 是否存在拆分信息,默认false; true-是,false-否
|
||||
setHasSplit(requests, standardVO);
|
||||
// 备用字段1
|
||||
String remark1 = getStr(requests, "Remark1");
|
||||
// 备用字段2
|
||||
String remark2 = getStr(requests, "Remark2");
|
||||
// 备用字段3
|
||||
String remark3 = getStr(requests, "Remark3");
|
||||
// 备用字段4
|
||||
String remark4 = getStr(requests, "Remark4");
|
||||
List<ByFileRows> listByFileRows = getByFileRows(partCategoryNum, standardVO);
|
||||
return Result.OK(listByFileRows);
|
||||
}catch (Exception e){
|
||||
@@ -168,11 +171,20 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
List<String> listFileId = listByFileRows.stream().map(ByFileRows::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<OSSFile> queryOssFile = new LambdaQueryWrapper<>();
|
||||
queryOssFile.in(OSSFile::getStandardId,listFileId);
|
||||
queryOssFile.eq(OSSFile::getStandardFileType,"publish_of_original");
|
||||
queryOssFile.eq(OSSFile::getStandardFileType,PUBLISH_OF_ORIGINAL);
|
||||
queryOssFile.orderByDesc(OSSFile::getCreateTime);
|
||||
List<OSSFile> listOssFile = ossFileService.list(queryOssFile);
|
||||
// 查询零件名称
|
||||
LambdaQueryWrapper<PartName> queryPartName = new LambdaQueryWrapper<>();
|
||||
queryPartName.eq(PartName::getCode,partCategoryNum);
|
||||
PartName partName = partNameService.getOne(queryPartName,false);
|
||||
|
||||
for (ByFileRows byFileRows : listByFileRows) {
|
||||
byFileRows.setPartCategoryNum(partCategoryNum);
|
||||
if(!Objects.isNull(partName)){
|
||||
byFileRows.setPartCategoryName(partName.getName());
|
||||
}
|
||||
|
||||
byFileRows.setStandardState_dictText(sysBaseAPI.translateDict("standard_state", byFileRows.getStandardState()));
|
||||
if(!CollectionUtils.isEmpty(listOssFile)){
|
||||
List<OSSFile> listFile = listOssFile.stream().filter(o-> Objects.equals(o.getStandardId(),byFileRows.getId())).collect(Collectors.toList());
|
||||
@@ -184,52 +196,56 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
LambdaQueryWrapper<SarFileSplitInfoEO> querySarFileSplitInfoEo = new LambdaQueryWrapper<>();
|
||||
querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getStandardId,byFileRows.getId());
|
||||
querySarFileSplitInfoEo.isNull(SarFileSplitInfoEO::getPublishBeforeId);
|
||||
querySarFileSplitInfoEo.eq(SarFileSplitInfoEO::getFileType,"publish_of_original");
|
||||
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<SarFileSplitMenuEO> getList = sarFileSplitMenuEOService.queryByApiList(page);
|
||||
if(!CollectionUtils.isEmpty(getList)){
|
||||
List<SarFileSplitMenu> 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<String> listIds = listSarFileSplitMenu.stream().map(SarFileSplitMenu::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<LawsDocumentSplit> queryLawsDocumentSplit = new LambdaQueryWrapper<>();
|
||||
queryLawsDocumentSplit.in(LawsDocumentSplit::getMenuId,listIds);
|
||||
queryLawsDocumentSplit.eq(LawsDocumentSplit::getDelFlag,"0");
|
||||
List<LawsDocumentSplit> listLawsDocumentSplit = lawsDocumentSplitMapper.selectList(queryLawsDocumentSplit);
|
||||
if(!CollectionUtils.isEmpty(listLawsDocumentSplit)){
|
||||
List<DocumentSplitDetail> listDocumentSplitDetail = JSON.parseArray(JSON.toJSONString(listLawsDocumentSplit),DocumentSplitDetail.class);
|
||||
splitResult.setDocumentSplitDetail(listDocumentSplitDetail);
|
||||
}
|
||||
|
||||
List<SarFileSplitMenu> 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);
|
||||
}
|
||||
}
|
||||
addSarFileSplitInfoEO(byFileRows, sarFileSplitInfoEo);
|
||||
}
|
||||
return listByFileRows;
|
||||
}
|
||||
|
||||
private void addSarFileSplitInfoEO(ByFileRows byFileRows, SarFileSplitInfoEO sarFileSplitInfoEo) {
|
||||
if(!Objects.isNull(sarFileSplitInfoEo)){
|
||||
SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage();
|
||||
page.setValidFlag("0");
|
||||
page.setOrderBy("display_seq asc");
|
||||
page.setInfoId(sarFileSplitInfoEo.getId());
|
||||
List<SarFileSplitMenuEO> getList = sarFileSplitMenuEOService.queryByApiList(page);
|
||||
if(!CollectionUtils.isEmpty(getList)){
|
||||
List<SarFileSplitMenu> 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<String> listIds = listSarFileSplitMenu.stream().map(SarFileSplitMenu::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<LawsDocumentSplit> queryLawsDocumentSplit = new LambdaQueryWrapper<>();
|
||||
queryLawsDocumentSplit.in(LawsDocumentSplit::getMenuId,listIds);
|
||||
queryLawsDocumentSplit.eq(LawsDocumentSplit::getDelFlag,"0");
|
||||
List<LawsDocumentSplit> listLawsDocumentSplit = lawsDocumentSplitMapper.selectList(queryLawsDocumentSplit);
|
||||
if(!CollectionUtils.isEmpty(listLawsDocumentSplit)){
|
||||
List<DocumentSplitDetail> listDocumentSplitDetail = JSON.parseArray(JSON.toJSONString(listLawsDocumentSplit),DocumentSplitDetail.class);
|
||||
splitResult.setDocumentSplitDetail(listDocumentSplitDetail);
|
||||
}
|
||||
|
||||
List<SarFileSplitMenu> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setHasSplit(JSONObject requests, StandardVO standardVO) {
|
||||
if(!Objects.isNull(requests.get("hasSplit"))){
|
||||
Boolean hasSplit = Boolean.parseBoolean(requests.get("hasSplit").toString());
|
||||
boolean hasSplit = Boolean.parseBoolean(requests.get("hasSplit").toString());
|
||||
if(hasSplit){
|
||||
standardVO.setHasSplit("1");
|
||||
}else{
|
||||
@@ -251,28 +267,28 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
@Override
|
||||
public Result<List<ProductDesign>> getByLawsProductDesign(JSONObject json, HttpServletRequest req) {
|
||||
// 验证token
|
||||
String token = req.getHeader("X-Access-Token");
|
||||
String token = req.getHeader(X_ACCESS_TOKEN);
|
||||
if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){
|
||||
Result.error(SYS_ERR);
|
||||
return Result.error(SYS_ERR);
|
||||
}
|
||||
JSONArray requests = JSON.parseArray(JSON.toJSONString(json.get(REQUESTS)));
|
||||
if(CollectionUtils.isEmpty(requests)){
|
||||
Result.error("必填项不能为空");
|
||||
return Result.error(ADD_NOT_NULL);
|
||||
}
|
||||
List<ProductDesign> 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("必填项不能为空");
|
||||
if(!js.containsKey("ID") || !js.containsKey(STANDARD_NUMBER) ){
|
||||
Result.error(ADD_NOT_NULL);
|
||||
}
|
||||
// todo || Objects.isNull(js.get("queryLabels"))
|
||||
if(Objects.isNull(js.get("ID")) || Objects.isNull(js.get("standardNumber"))){
|
||||
Result.error("必填项不能为空");
|
||||
if(Objects.isNull(js.get("ID")) || Objects.isNull(js.get(STANDARD_NUMBER))){
|
||||
Result.error(ADD_NOT_NULL);
|
||||
}
|
||||
ProductDesign productDesign = new ProductDesign();
|
||||
productDesign.setId(js.get("ID").toString());
|
||||
productDesign.setStandardNumber(js.get("standardNumber").toString());
|
||||
productDesign.setStandardNumber(js.get(STANDARD_NUMBER).toString());
|
||||
productDesign.setQueryLabels(js.get("queryLabels").toString());
|
||||
listProductDesign.add(productDesign);
|
||||
}
|
||||
@@ -283,8 +299,198 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|
||||
}
|
||||
return Result.OK(listProductDesign);
|
||||
}catch (Exception e){
|
||||
log.error("标准法规文档查询异常:",e);
|
||||
log.error("设计导航-产品设计条款查询异常:",e);
|
||||
return Result.error("操作失败" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<StandardTree>> getByLawsSystem(JSONObject json, HttpServletRequest req) {
|
||||
// 验证token
|
||||
String token = req.getHeader(X_ACCESS_TOKEN);
|
||||
if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){
|
||||
return Result.error(SYS_ERR);
|
||||
}
|
||||
JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS)));
|
||||
String nodeName = "";
|
||||
if(!Objects.isNull(requests) && requests.containsKey("nodeName")){
|
||||
nodeName = requests.get("nodeName").toString();
|
||||
}
|
||||
try {
|
||||
List<StandardTree> listStandardTreeAll = new ArrayList<>();
|
||||
// 企业标准
|
||||
List<LawsTreeNodeModel> listEnterprise = lawsTreeNodeService.queryTreeNodeList(TableNameEnum.ENTERPRISE_STANDARDS.getValue(), nodeName, "1");
|
||||
getStandardTree(listStandardTreeAll, listEnterprise);
|
||||
// 国内标准
|
||||
List<LawsTreeNodeModel> listDomestic = lawsTreeNodeService.queryTreeNodeList(TableNameEnum.DOMESTIC_REGULATIONS.getValue(), nodeName, "1");
|
||||
getStandardTree(listStandardTreeAll, listDomestic);
|
||||
// 海外标准
|
||||
List<LawsTreeNodeModel> listForeign = lawsTreeNodeService.queryTreeNodeList(TableNameEnum.FOREIGN_REGULATIONS.getValue(), nodeName, "1");
|
||||
getStandardTree(listStandardTreeAll, listForeign);
|
||||
|
||||
return Result.OK(listStandardTreeAll);
|
||||
}catch (Exception e){
|
||||
log.error("获取所有体系数据异常:",e);
|
||||
return Result.error("操作失败" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private void getStandardTree(List<StandardTree> listStandardTreeAll, List<LawsTreeNodeModel> listEnterprise) {
|
||||
if (!CollectionUtils.isEmpty(listEnterprise)) {
|
||||
Optional<LawsTreeNodeModel> op = listEnterprise.stream().filter(o -> StringUtils.isBlank(o.getParentId())).findFirst();
|
||||
if (op.isPresent()) {
|
||||
LawsTreeNodeModel lawsTreeNodeModel = op.get();
|
||||
StandardTree standardTree = new StandardTree();
|
||||
standardTree.setNodeCode(lawsTreeNodeModel.getNodeCode());
|
||||
standardTree.setNodeName(lawsTreeNodeModel.getNodeName());
|
||||
if (!CollectionUtils.isEmpty(lawsTreeNodeModel.getChildren())) {
|
||||
List<StandardTree> sub = getTree(lawsTreeNodeModel.getChildren());
|
||||
if (!CollectionUtils.isEmpty(sub)) {
|
||||
standardTree.setChildren(sub);
|
||||
}
|
||||
}
|
||||
listStandardTreeAll.add(standardTree);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<StandardTree> getTree(List<LawsTreeNodeModel> listEnterprise){
|
||||
if(CollectionUtils.isEmpty(listEnterprise)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<StandardTree> list = new ArrayList<>();
|
||||
for (LawsTreeNodeModel treeNodeModel : listEnterprise) {
|
||||
StandardTree obj = new StandardTree();
|
||||
obj.setNodeCode(treeNodeModel.getNodeCode());
|
||||
obj.setNodeName(treeNodeModel.getNodeName());
|
||||
List<LawsTreeNodeModel> listSub = treeNodeModel.getChildren();
|
||||
if(!CollectionUtils.isEmpty(listSub)){
|
||||
List<StandardTree> listStandardTree = getTree(listSub);
|
||||
if(!CollectionUtils.isEmpty(listStandardTree)){
|
||||
obj.setChildren(listStandardTree);
|
||||
}
|
||||
}
|
||||
list.add(obj);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<IPage<StandardPageVO>> getByLawsStandardPage(JSONObject json, HttpServletRequest req) {
|
||||
// 验证token
|
||||
String token = req.getHeader(X_ACCESS_TOKEN);
|
||||
if(StringUtils.isBlank(token) || !Objects.equals(TokenUtils.getTokenByRequest(req),token)){
|
||||
return Result.error(SYS_ERR);
|
||||
}
|
||||
JSONObject requests = JSON.parseObject(JSON.toJSONString(json.get(REQUESTS)));
|
||||
if(Objects.isNull(requests)){
|
||||
return Result.error(ADD_NOT_NULL);
|
||||
}
|
||||
String pageNoKey = "pageNo";
|
||||
String pageSizeKey = "pageSize";
|
||||
if(!requests.containsKey(pageNoKey) || !requests.containsKey(pageSizeKey) ){
|
||||
return Result.error(ADD_NOT_NULL);
|
||||
}
|
||||
try {
|
||||
Long.parseLong(requests.get(pageNoKey).toString());
|
||||
Long.parseLong(requests.get(pageSizeKey).toString());
|
||||
}catch (Exception e){
|
||||
return Result.error(ADD_NOT_NULL);
|
||||
}
|
||||
QueryWrapper<StandardPageVO> queryStandardPageVO = new QueryWrapper<>();
|
||||
setQuery(requests, queryStandardPageVO);
|
||||
String columnKey = "column";
|
||||
if(requests.containsKey(columnKey) && !StringUtils.isBlank(requests.get(columnKey).toString())){
|
||||
String[] column = requests.get(columnKey).toString().split(",");
|
||||
String[] order = null;
|
||||
String orderKey = "order";
|
||||
if(requests.containsKey(orderKey) && StringUtils.isBlank(requests.get(orderKey).toString())){
|
||||
order = requests.get(orderKey).toString().split(",");
|
||||
if(column.length != order.length){
|
||||
return Result.error("排序参数异常");
|
||||
}
|
||||
}
|
||||
setOrder(queryStandardPageVO, column, order);
|
||||
}
|
||||
Page<StandardPageVO> page = new Page<>(Long.parseLong(requests.get(pageNoKey).toString()),
|
||||
Long.parseLong(requests.get(pageSizeKey).toString()));
|
||||
IPage<StandardPageVO> pageList =lawsStandardMapper.getByLawsStandardPage(page,queryStandardPageVO);
|
||||
getListStandardPageVO(pageList);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
private void setQuery(JSONObject requests, QueryWrapper<StandardPageVO> queryStandardPageVO) {
|
||||
String nodeCodeKey = "nodeCode";
|
||||
if(requests.containsKey(nodeCodeKey) && !StringUtils.isEmpty(requests.get(nodeCodeKey).toString())){
|
||||
String nodeCode = requests.get(nodeCodeKey).toString();
|
||||
queryStandardPageVO.eq(!StringUtils.isEmpty(nodeCode),"l.node_code",nodeCode);
|
||||
}
|
||||
if(requests.containsKey(STANDARD_NUMBER) && !StringUtils.isEmpty(requests.get(STANDARD_NUMBER).toString())){
|
||||
String standardNumber = requests.get(STANDARD_NUMBER).toString();
|
||||
queryStandardPageVO.like("standard_number",standardNumber);
|
||||
}
|
||||
if(requests.containsKey(STANDARD_NAME) && !StringUtils.isEmpty(requests.get(STANDARD_NAME).toString())){
|
||||
String standardName = requests.get(STANDARD_NAME).toString();
|
||||
queryStandardPageVO.like("standard_name",standardName);
|
||||
}
|
||||
}
|
||||
|
||||
private void setOrder(QueryWrapper<StandardPageVO> queryStandardPageVO, String[] column, String[] order) {
|
||||
for (int i = 0; i < column.length; i++) {
|
||||
if(Objects.isNull(order)){
|
||||
queryStandardPageVO.orderByDesc(column[i]);
|
||||
}else{
|
||||
if(Objects.equals(order[i],"asc") || Objects.equals(order[i],"ASC")){
|
||||
queryStandardPageVO.orderByAsc(column[i]);
|
||||
}else{
|
||||
queryStandardPageVO.orderByDesc(column[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void getListStandardPageVO(IPage<StandardPageVO> pageList) {
|
||||
List<StandardPageVO> listStandardPageVO = pageList.getRecords();
|
||||
if(CollectionUtils.isEmpty(listStandardPageVO)){
|
||||
return;
|
||||
}
|
||||
List<String> listFileId = listStandardPageVO.stream().map(StandardPageVO::getId).collect(Collectors.toList());
|
||||
QueryWrapper<OSSFile> queryOssFile = new QueryWrapper<>();
|
||||
queryOssFile.eq("lower(right(url, 4))",".pdf");
|
||||
queryOssFile.lambda().in(OSSFile::getStandardId,listFileId);
|
||||
queryOssFile.lambda().eq(OSSFile::getStandardFileType,PUBLISH_OF_ORIGINAL);
|
||||
queryOssFile.lambda().orderByDesc(OSSFile::getCreateTime);
|
||||
List<OSSFile> listOssFile = ossFileService.list(queryOssFile);
|
||||
|
||||
List<StandardPageVO> listStandardPageVOPartName = listStandardPageVO.stream().filter(o->!StringUtils.isBlank(o.getPartCategoryNum())).collect(Collectors.toList());
|
||||
List<PartName> listPartName = new ArrayList<>();
|
||||
if(!CollectionUtils.isEmpty(listStandardPageVOPartName)){
|
||||
List<String> listPartCategoryNum = listStandardPageVOPartName.stream().map(StandardPageVO::getPartCategoryNum).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listPartCategoryNum)){
|
||||
// 零件号查询
|
||||
LambdaQueryWrapper<PartName> queryPartName = new LambdaQueryWrapper<>();
|
||||
queryPartName.in(PartName::getCode, Arrays.stream(String.join(",",listPartCategoryNum).split(",")).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()));
|
||||
listPartName = partNameService.list(queryPartName);
|
||||
}
|
||||
}
|
||||
|
||||
for (StandardPageVO standardPageVO : listStandardPageVO) {
|
||||
standardPageVO.setStandardState_dictText(sysBaseAPI.translateDict("standard_state", standardPageVO.getStandardState()));
|
||||
if(!CollectionUtils.isEmpty(listOssFile)){
|
||||
List<OSSFile> listOssFileOne = listOssFile.stream().filter(o-> Objects.equals(o.getStandardId(),standardPageVO.getId())).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listOssFileOne)){
|
||||
listOssFileOne = listOssFileOne.stream().sorted(Comparator.comparing(OSSFile::getCreateTime).reversed()).collect(Collectors.toList());
|
||||
standardPageVO.setStandardUrl(listOssFileOne.get(0).getUrl());
|
||||
}
|
||||
}
|
||||
// 零件号查询
|
||||
if(!CollectionUtils.isEmpty(listPartName)){
|
||||
List<PartName> listPartNameNew = listPartName.stream().filter(o->Arrays.asList(standardPageVO.getPartCategoryNum().split(",")).contains(o.getCode())).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listPartNameNew)){
|
||||
List<String> listName = listPartNameNew.stream().map(PartName::getName).collect(Collectors.toList());
|
||||
standardPageVO.setPartCategoryName(String.join(",",listName));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.jero.modules.docking.srms.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lqt
|
||||
* @version 1.0
|
||||
* @date 2024/1/19 14:58
|
||||
*/
|
||||
@Data
|
||||
public class StandardPageVO implements Serializable {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private String id;
|
||||
/**
|
||||
* 零部件-分类内部码(精准查询)
|
||||
*/
|
||||
private String partCategoryNum;
|
||||
/**
|
||||
* 零部件-分类名称
|
||||
*/
|
||||
private String partCategoryName;
|
||||
/**
|
||||
* 标准编号
|
||||
*/
|
||||
private String standardNumber;
|
||||
/**
|
||||
* 标准名称
|
||||
*/
|
||||
private String standardName;
|
||||
/**
|
||||
* 标准英文名称
|
||||
*/
|
||||
private String standardEnglishName;
|
||||
|
||||
/**
|
||||
* 标准状态
|
||||
*/
|
||||
private String standardState;
|
||||
/**
|
||||
* 标准状态
|
||||
*/
|
||||
private String standardState_dictText;
|
||||
/**
|
||||
* 发布日期(转成字符串传)
|
||||
* 示例:2024-01-05
|
||||
*/
|
||||
private String releaseDate;
|
||||
/**
|
||||
* 实施日期
|
||||
* 示例:2024-01-05
|
||||
*/
|
||||
private String implementationDate;
|
||||
/**
|
||||
* 标准跳转链接,即发布稿查看链接(url+at信息),试验存在
|
||||
*/
|
||||
private String standardUrl;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.jero.modules.docking.srms.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lqt
|
||||
* @version 1.0
|
||||
* @date 2024/1/21 18:44
|
||||
*/
|
||||
@Data
|
||||
public class StandardTree implements Serializable {
|
||||
/**
|
||||
* 节点编码
|
||||
*/
|
||||
private String nodeCode;
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
private String nodeName;
|
||||
/**
|
||||
* 子集
|
||||
*/
|
||||
private List<StandardTree> children;
|
||||
}
|
||||
Reference in New Issue
Block a user