diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java
index 3b64ef82..d25ebf10 100644
--- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java
+++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java
@@ -36,6 +36,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
* AWG 接口
*/
addInterceptor.excludePathPatterns("/api/regulations/searchStandData");
+ addInterceptor.excludePathPatterns("/api/regulationsTDM/standData");
/**
* TODO 测试流程 开放 login 接口 正式环境 关闭
*/
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/controller/StandDataTDMController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/controller/StandDataTDMController.java
new file mode 100644
index 00000000..261bd317
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/controller/StandDataTDMController.java
@@ -0,0 +1,63 @@
+package com.adc.da.slrs.regulationsTDM.controller;
+
+
+import com.adc.da.base.web.BaseController;
+import com.adc.da.http.Result;
+import com.adc.da.slrs.regulationsTDM.entity.StandResult;
+import com.adc.da.slrs.regulationsTDM.entity.SearchStandContext;
+import com.adc.da.slrs.regulationsTDM.entity.StandData;
+import com.adc.da.slrs.regulationsTDM.entity.StandMessageCodeEnum;
+import com.adc.da.slrs.regulationsTDM.service.IStandDataTDMService;
+import com.adc.da.util.utils.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ *
+ * 标准信息表 前端控制器
+ *
+ *
+ * @author super_liu
+ * @since 2021-07-13
+ */
+@RestController
+@Api(tags = "福田标准法规--TDM查询标准")
+@RequestMapping("/api/regulationsTDM")
+public class StandDataTDMController extends BaseController {
+
+ private static final Logger logger = LoggerFactory.getLogger(StandDataTDMController.class);
+
+ @Autowired
+ private IStandDataTDMService iStandDataTDMService;
+ /**
+ * 标准查询列表接口
+ *
+ * @param
+ * @return
+ */
+ @ApiOperation(value = "|regulationsTDM|标准查询列表接口")
+ @PostMapping("/standData")
+ public String searchStandData(@RequestBody SearchStandContext searchStandContext){
+ if(searchStandContext.getPage() == 0
+ || StringUtils.isEmpty(searchStandContext.getType())){
+ return StandResult.toJson(Result.error(StandMessageCodeEnum.ERROR_PARAM.getCode(),
+ "page/type 为必填项 且page不可为0"));
+ }
+ List rows = iStandDataTDMService.searchStandData(searchStandContext);
+ return StandResult.toJson(Result.success(getPageInfo(searchStandContext.getPager(), rows)));
+ }
+
+ private String verifyObj(String str){
+ return (str == null || str.equals("")) ? "" : str;
+ }
+}
+
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/dao/StandDataTDMDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/dao/StandDataTDMDao.java
new file mode 100644
index 00000000..aac0e3c7
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/dao/StandDataTDMDao.java
@@ -0,0 +1,26 @@
+package com.adc.da.slrs.regulationsTDM.dao;
+
+import com.adc.da.slrs.regulationsTDM.entity.SearchStandContext;
+import com.adc.da.slrs.regulationsTDM.entity.StandData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 标准信息表 Mapper 接口
+ *
+ *
+ * @author super_liu
+ */
+@Repository
+public interface StandDataTDMDao extends BaseMapper {
+
+ List searchStandData(SearchStandContext searchStandContext);
+ List searchBussData(SearchStandContext searchStandContext);
+
+ List searchStandDataThree(SearchStandContext searchStandContext);
+
+}
+
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/SearchStandContext.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/SearchStandContext.java
new file mode 100644
index 00000000..1b03e3f2
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/SearchStandContext.java
@@ -0,0 +1,24 @@
+package com.adc.da.slrs.regulationsTDM.entity;
+
+import com.adc.da.base.page.BasePage;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description: TODO
+ * @author: super_liu
+ * @date: 2022年04月25日 12:05
+ */
+@Data
+public class SearchStandContext extends BasePage {
+
+ // 标准查询条件
+ @ApiModelProperty(value = "页数")
+ private Integer page;
+
+ @ApiModelProperty(value = "区分类别(GB:国内外标准 QB:企业标准)")
+ private String type;
+
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/SearchStandResult.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/SearchStandResult.java
new file mode 100644
index 00000000..192dba9f
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/SearchStandResult.java
@@ -0,0 +1,46 @@
+package com.adc.da.slrs.regulationsTDM.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.poi.ss.formula.functions.T;
+
+import java.util.List;
+
+/**
+ * @Description: TODO
+ * @author: super_liu
+ * @date: 2022年04月25日 12:05
+ */
+@Data
+public class SearchStandResult {
+
+ @ApiModelProperty(value = "返回状态 200 正常,-1 系统错误, -10 参数错误")
+ @JSONField(ordinal=1)
+ private String respCode;
+
+ @ApiModelProperty(value = "true:成功 false:失败")
+ @JSONField(ordinal=2)
+ private Boolean ok;
+
+ @ApiModelProperty(value = "正常返回空字符串,系统错误时返回系统异常信息及对应描述")
+ @JSONField(ordinal=3)
+ private String message;
+
+ private T data;
+
+
+ public SearchStandResult(String respCode, String message, boolean ok, T data) {
+ this.respCode = respCode;
+ this.message = message;
+ this.ok = ok;
+ this.data = data;
+ }
+
+ public SearchStandResult(String respCode, String message, boolean ok) {
+ this.respCode = respCode;
+ this.message = message;
+ this.ok = ok;
+ }
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandData.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandData.java
new file mode 100644
index 00000000..a81db2dc
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandData.java
@@ -0,0 +1,54 @@
+package com.adc.da.slrs.regulationsTDM.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: TODO
+ * @author: super_liu
+ * @date: 2022年04月25日 12:05
+ */
+@Data
+public class StandData {
+
+ @ApiModelProperty(value = "标准ID")
+ @JSONField(ordinal=1)
+ private String id;
+
+ @ApiModelProperty(value = "标准类型")
+ @JSONField(ordinal=2)
+ private String standType;
+
+ @ApiModelProperty(value = "标准分类")
+ @JSONField(ordinal=3)
+ private String standSort;
+
+ @ApiModelProperty(value = "标准号")
+ @JSONField(ordinal=4)
+ private String standNumber;
+
+ @ApiModelProperty(value = "年代号")
+ @JSONField(ordinal=5)
+ private String standYear;
+
+ @ApiModelProperty(value = "标准名称")
+ @JSONField(ordinal=6)
+ private String standName;
+
+ @ApiModelProperty(value = "标准英文名称")
+ @JSONField(ordinal=7)
+ private String standEnName;
+
+ @ApiModelProperty(value = "标准分类+空格+标准号+空格+标准名称")
+ @JSONField(ordinal=8)
+ private String documentName;
+
+ @ApiModelProperty(value = "当前标准跳转到本系统内的链接地址")
+ @JSONField(ordinal=9)
+ private String documentUrl;
+
+ @ApiModelProperty(value = "代替标准号")
+ @JSONField(ordinal=10)
+ private String dtbzh;
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandMessageCodeEnum.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandMessageCodeEnum.java
new file mode 100644
index 00000000..e326a7d0
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandMessageCodeEnum.java
@@ -0,0 +1,23 @@
+package com.adc.da.slrs.regulationsTDM.entity;
+
+/**
+ * @Description: TODO
+ * @author: super_liu
+ * @date: 2022年04月25日 14:58
+ */
+public enum StandMessageCodeEnum {
+ SUCCESS("200"),
+ ERROR_SYS("-1"),
+ ERROR_PARAM("-10"),
+ SOURCE("SRMS");
+
+ private String code;
+
+ private StandMessageCodeEnum(String code) {
+ this.code = code;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandResult.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandResult.java
new file mode 100644
index 00000000..0d9b6bbe
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/entity/StandResult.java
@@ -0,0 +1,33 @@
+package com.adc.da.slrs.regulationsTDM.entity;
+
+import com.adc.da.http.ResponseMessage;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+import java.util.List;
+
+/**
+ * @Description: TODO
+ * @author: super_liu
+ * @date: 2022年04月25日 14:56
+ */
+public class StandResult {
+
+ public static SearchStandResult success(String code,String message,T t) {
+ return new SearchStandResult(code, message, true, t);
+ }
+
+ public static SearchStandResult error(String code,String message) {
+ return new SearchStandResult(code, message, true);
+ }
+
+ public static String toJson(ResponseMessage searchStandResult){
+ GsonBuilder gsonBuilder = getGsonBuilder();
+ Gson json = gsonBuilder.create();
+ return json.toJson(searchStandResult);
+ }
+
+ private static GsonBuilder getGsonBuilder() {
+ return new GsonBuilder().disableHtmlEscaping().serializeNulls().enableComplexMapKeySerialization().serializeSpecialFloatingPointValues().setLenient();
+ }
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/service/IStandDataTDMService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/service/IStandDataTDMService.java
new file mode 100644
index 00000000..897f923e
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/service/IStandDataTDMService.java
@@ -0,0 +1,21 @@
+package com.adc.da.slrs.regulationsTDM.service;
+
+import com.adc.da.http.ResponseMessage;
+import com.adc.da.slrs.regulationsTDM.entity.SearchStandContext;
+import com.adc.da.slrs.regulationsTDM.entity.StandData;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ *
+ * 标准信息表 服务类
+ *
+ *
+ * @author super_liu
+ */
+public interface IStandDataTDMService extends IService {
+
+ List searchStandData(SearchStandContext searchStandContext);
+}
+
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/service/impl/StandDataTDMServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/service/impl/StandDataTDMServiceImpl.java
new file mode 100644
index 00000000..0dc17de3
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/regulationsTDM/service/impl/StandDataTDMServiceImpl.java
@@ -0,0 +1,84 @@
+package com.adc.da.slrs.regulationsTDM.service.impl;
+
+import com.adc.da.slrs.regulationsTDM.entity.*;
+import com.adc.da.slrs.regulationsTDM.dao.StandDataTDMDao;
+import com.adc.da.slrs.regulationsTDM.service.IStandDataTDMService;
+import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao;
+import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import sun.misc.BASE64Encoder;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ *
+ * 标准信息表 服务实现类
+ *
+ *
+ * @author super_liu
+ * @date: 2022年04月25日 14:56
+ */
+@Service
+public class StandDataTDMServiceImpl extends ServiceImpl implements IStandDataTDMService {
+
+ private static final Logger logger = LoggerFactory.getLogger(StandDataTDMServiceImpl.class);
+
+ private String webUrl = "https://srms.foton.com.cn/#/loginStandDetails";
+
+ @Autowired
+ private SarStandardsInfoDao sarStandardInfoDao;
+
+ @Autowired
+ private SarBussionessStandDao sarBussionessStandDao;
+
+ @Override
+ public List searchStandData(SearchStandContext searchStandContext){
+ List standDataQuery = new ArrayList<>();
+ searchStandContext.setPageSize(100);
+ QueryWrapper queryCount = new QueryWrapper();
+ queryCount.eq("VALID_FLAG","0");
+ if("GB".equals(searchStandContext.getType().toUpperCase())){
+ int count = sarStandardInfoDao.selectCount(queryCount);
+ searchStandContext.getPager().setRowCount(count);
+ standDataQuery = this.baseMapper.searchStandData(searchStandContext);
+ }else if("QB".equals(searchStandContext.getType().toUpperCase())){
+ int count = sarBussionessStandDao.selectCount(queryCount);
+ searchStandContext.getPager().setRowCount(count);
+ standDataQuery = this.baseMapper.searchBussData(searchStandContext);
+ }
+ if(!standDataQuery.isEmpty()){
+ // 重组数据集合 只需documentName 及 documentUrl
+ standDataQuery.stream().peek(standData -> {
+ standData.setDocumentName(verifyObj(standData.getStandSort(),standData.getStandNumber(),standData.getStandName()));
+ standData.setDocumentUrl(webUrl+"?dataId="+standData.getId()+"&datatype="+standData.getStandType());
+ }).collect(Collectors.toList());
+ }
+ return standDataQuery;
+ }
+
+ private String verifyObj(String str1,String str2,String str3){
+ String res1 = (str1 == null || str1.equals("")) ? "" : (str1+" ");
+ String res2 = (str2 == null || str2.equals("")) ? "" : (str2+" ");
+ String res3 = (str3 == null || str3.equals("")) ? "" : str3;
+ return res1 + res2 + res3;
+ }
+ private String encode(String str){
+ String encodeStr = new BASE64Encoder().encodeBuffer(str.getBytes()).replaceAll("[\r\n]", "");
+ return encodeStr;
+ }
+
+ private String errFilter(String str){
+ if (str.contains("Cause")){
+ str = str.split("Cause")[0].replaceAll("\\r\\n###","");
+ }
+ return str;
+ }
+}
diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/regulationsTDM/RegulationsTDMMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/regulationsTDM/RegulationsTDMMapper.xml
new file mode 100644
index 00000000..7603b46d
--- /dev/null
+++ b/adc-da-slrs/src/main/resources/mybatis/mapper/regulationsTDM/RegulationsTDMMapper.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+