Merge remote-tracking branch 'origin/develop_master' into develop_1

This commit is contained in:
Mr.Z
2021-08-04 15:15:55 +08:00
23 changed files with 845 additions and 439 deletions
@@ -3,7 +3,7 @@
# 数据库配置
#=============================================
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test2?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
#spring.datasource.url = jdbc:mysql://10.96.10.171/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = root
spring.datasource.password = root
@@ -14,10 +14,10 @@ spring.application.name=FotonLAWSSystem
application.code=20200101
application.center=1
#==============================================
##Eruept
#eureka.client.allow-redirects=true
#eureka.client.register-with-eureka=true
#eureka.client.service-url.defaultZone=http://101.36.227.25:8761/eureka/
#Eruept
eureka.client.allow-redirects=true
eureka.client.register-with-eureka=true
eureka.client.service-url.defaultZone=http://62.234.136.153:8761/eureka/
#==============================================
# 邮箱配置1
@@ -64,4 +64,4 @@ OCR.ocrPath=D:/APPSOFT/LAWSOCRDEMO/OCRFILE/
# OCR文件请求下载或在线预览时URL
OCR.ocrDownPath=http://106.2.13.189:8089/downfile/
OCR.times=20
OCR.convertType=BOTH
OCR.convertType=BOTH
@@ -39,7 +39,7 @@ eureka.client.fetch-registry=true
#eureka.client.service-url.defaultZone=http://127.0.0.1:8671/eureka/
#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/
eureka.client.service-url.defaultZone=http://101.36.227.25:8761/eureka/
eureka.client.service-url.defaultZone=http://62.234.136.153:8761/eureka/
# 请求连接的超时时间 默认的时间为 1 秒
ribbon.ConnectTimeout=500000
@@ -1,7 +1,9 @@
package com.adc.da.search.entity;
import com.adc.da.base.page.BasePage;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -17,13 +19,103 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class SeniorSearchInfoEO extends BasePage {
private String standType;
/**
* -----------------------------FOTON-------------------------------------
* -------------------------- 动态属性字段---------------------------------
*/
@ApiModelProperty(value = "主键")
private String id;
@ApiModelProperty(value = "标准分类")
private String standType;
@ApiModelProperty(value = "国家地区")
private String country;
@ApiModelProperty(value = "标准类别")
private String standSort;
@ApiModelProperty(value = "标准编号")
private String standNumber;
@ApiModelProperty(value = "标准年份")
private String standYear;
@ApiModelProperty(value = "标准名称")
private String standName;
@ApiModelProperty(value = "标准英文名称")
private String standEnName;
@ApiModelProperty(value = "标准状态")
private String standState;
@ApiModelProperty(value = "标准性质")
private String standNature;
@ApiModelProperty(value = "标准发布日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date issueTime;
@ApiModelProperty(value = "实施日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date putTime;
@ApiModelProperty(value = "内容摘要")
private String synopsis;
@ApiModelProperty(value = "代替标准号")
private String replaceStandNum;
@ApiModelProperty(value = "被代替标准号")
private String replacedStandNum;
@ApiModelProperty(value = "代替部分标准号")
private String replacePartStandNum;
@ApiModelProperty(value = "被代替部分标准号")
private String replacedPartStandNum;
private String creationUser;
@ApiModelProperty(value = "是否有效")
private String validFlag;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date modifyTime;
@ApiModelProperty(value = "是否纳入认证清单(0否 1是)")
private String isRelateAccess;
@ApiModelProperty(value = "引用标准")
private String citeStand;
@ApiModelProperty(value = "被引用标准")
private String citedStand;
// 新添加字段
@ApiModelProperty(value = "文本状态")
private String textStatus;
@ApiModelProperty(value = "标准体系")
private String standSystem;
@ApiModelProperty(value = "新增修改时属性表信息")
private String sarStandAttrEOStr;
/**
* ---------其他字段------------
*/
//标准性质
private String nature;
//国家地区
private String country;
//标准类别
private String standSort;
//标准,文件号
private String numberShow;
//标准,文件名称
@@ -38,10 +130,6 @@ public class SeniorSearchInfoEO extends BasePage {
private String energyKind;
//采标程度
private String adoptExtent;
//标准状态
private String standState;
//发布日期
private Date issueTime;
//标准大类
private String bussBigClass;
//标准细类
@@ -55,21 +143,8 @@ public class SeniorSearchInfoEO extends BasePage {
private String selectIndex;
//高级搜索
//标准编号
private String standNumber;
//标准年份
private String standYear;
//标准英文名称
private String standEnName;
//代替标准号 手动输入可以多个,用","隔开
private String replaceStandNum;
//被代替标准号
private String replacedStandNum;
//采用国际标准号
private String interStandNum;
//实施日期
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date putTime;
//新生产车实施日期
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date newproductPutTime;
@@ -85,8 +160,6 @@ public class SeniorSearchInfoEO extends BasePage {
private String draftingUnit;
//关键词
private String tags;
//内容摘要
private String synopsis;
//责任部门
private String responsibleUnit;
//发布单位
@@ -156,4 +229,7 @@ public class SeniorSearchInfoEO extends BasePage {
private String stand_status;
private String isHigh;
}
@@ -0,0 +1,41 @@
package com.adc.da.search.sarStandAttrDetails.dao;
import com.adc.da.search.sarStandAttrDetails.entity.SarStandAttrDetails;
import com.adc.da.search.sarStandAttrDetails.page.SarStandAttrDetailsEOPage;
import com.adc.da.sys.common.SelectionResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author super_liu
* @since 2021-06-01
*/
@Repository
public interface SarStandAttrDetailsSearchDao extends BaseMapper<SarStandAttrDetails> {
List<SarStandAttrDetails> queryByPage(SarStandAttrDetailsEOPage page);
List<SarStandAttrDetails> queryByList(SarStandAttrDetailsEOPage page);
Integer queryByCount(SarStandAttrDetailsEOPage page);
int deleteByIds(@Param("idList") List<String> idList);
String selectAllFieldToStr(SarStandAttrDetailsEOPage page);
List<SelectionResult> selectFileFieldForSel(@Param("attrField") String attrField);
List<SelectionResult> selectFileFieldForSel1(@Param("attrField") String attrField);
String selectNameByField(@Param("attrField") String attrField, @Param("sarType") String sarType);
SarStandAttrDetails selectFieldByName(@Param("attrName") String attrName, @Param("sarType") String sarType);
}
@@ -0,0 +1,114 @@
package com.adc.da.search.sarStandAttrDetails.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-06-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarStandAttrDetails对象", description="")
public class SarStandAttrDetails extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
@ApiModelProperty(value = "属性字段")
@TableField("ATTR_FIELD")
private String attrField;
@ApiModelProperty(value = "属性名称")
@TableField("ATTR_NAME")
private String attrName;
@ApiModelProperty(value = "类型(INPUT_STR字符串输入框,INPUT_NUM数字输入框,SELECT_OPTION下拉框,DATE_PICKER日期选择,FILE文件,TEXTAREA文本框)")
@TableField("ATTR_TYPE")
private String attrType;
@ApiModelProperty(value = "属性字段长度")
@TableField("ATTR_LEN")
private Long attrLen;
@ApiModelProperty(value = "展示顺序")
@TableField("ORDER_NUM")
private Long orderNum;
@ApiModelProperty(value = "是否可编辑(0是,1否)")
@TableField("IS_EDIT")
private String isEdit;
@TableField("CREATION_USER")
private String creationUser;
@ApiModelProperty(value = "是否有效")
@TableField("VALID_FLAG")
private String validFlag;
@ApiModelProperty(value = "创建时间")
@TableField("CREATION_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date modifyTime;
@ApiModelProperty(value = "是否必填")
@TableField("IS_MUST")
private String isMust;
@ApiModelProperty(value = "是否展示")
@TableField("IS_SHOW_IMP")
private String isShowImp;
@ApiModelProperty(value = "展示区域")
@TableField("SHOW_REGION_ID")
private String showRegionId;
@ApiModelProperty(value = "下拉选项所用的值")
@TableField("SEL_VAL")
private String selVal;
@ApiModelProperty(value = "模块类型(STAND标准,LAWS政策)")
@TableField("SAR_TYPE")
private String sarType;
@ApiModelProperty(value = "是否作为检索条件")
@TableField("IS_SEARCH")
private String isSearch;
@ApiModelProperty(value = "是否预警")
@TableField("IS_WARN")
private String isWarn;
@ApiModelProperty(value = "是否检索字段")
@TableField("IS_JANSUO")
private String isJansuo;
@TableField(exist = false)
private String attrValue;
@TableField(exist = false)
private String areaName;
}
@@ -0,0 +1,46 @@
package com.adc.da.search.sarStandAttrDetails.page;
import com.adc.da.base.page.BasePage;
import lombok.Data;
/**
* <b>功能:</b>SAR_STAND_ATTR_DETAILS SarStandAttrDetailsEOPage<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-08-17 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
@Data
public class SarStandAttrDetailsEOPage extends BasePage {
private String id;
private String idOperator = "=";
private String attrField;
private String attrFieldOperator = "=";
private String attrName;
private String attrNameOperator = "=";
private String attrType;
private String attrTypeOperator = "=";
private String orderNum;
private String orderNumOperator = "=";
private String isEdit;
private String isEditOperator = "=";
private String creationUser;
private String creationUserOperator = "=";
private String validFlag;
private String validFlagOperator = "=";
private String creationTime;
private String creationTime1;
private String creationTime2;
private String creationTimeOperator = "=";
private String modifyTime;
private String modifyTime1;
private String modifyTime2;
private String modifyTimeOperator = "=";
private String attrLen;
private String attrLenOperator = "=";
private String[] idList;
private String notId;
private String sarType;
private String isSearch;
private String isWarn;
}
@@ -0,0 +1,24 @@
package com.adc.da.search.sarStandAttrDetails.service;
import com.adc.da.search.sarStandAttrDetails.entity.SarStandAttrDetails;
import com.adc.da.search.sarStandAttrDetails.page.SarStandAttrDetailsEOPage;
import com.adc.da.sys.common.SelectionResult;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author super_liu
* @since 2021-06-01
*/
public interface ISarStandAttrDetailsSearchService extends IService<SarStandAttrDetails> {
List<SelectionResult> selectFileFieldForSel(String attrField);
List<SelectionResult> selectFileFieldForSel1(String attrField);
}
@@ -0,0 +1,39 @@
package com.adc.da.search.sarStandAttrDetails.service.impl;
import com.adc.da.search.sarStandAttrDetails.dao.SarStandAttrDetailsSearchDao;
import com.adc.da.search.sarStandAttrDetails.entity.SarStandAttrDetails;
import com.adc.da.search.sarStandAttrDetails.service.ISarStandAttrDetailsSearchService;
import com.adc.da.sys.common.SelectionResult;
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 java.util.*;
/**
* <p>
* 服务实现类
* </p>
*
* @author super_liu
* @since 2021-06-01
*/
@Service
public class SarStandAttrDetailsSearchServiceImpl extends ServiceImpl<SarStandAttrDetailsSearchDao, SarStandAttrDetails> implements ISarStandAttrDetailsSearchService {
private static final Logger logger = LoggerFactory.getLogger(ISarStandAttrDetailsSearchService.class);
@Autowired
private SarStandAttrDetailsSearchDao dao;
public List<SelectionResult> selectFileFieldForSel(String attrField){
return dao.selectFileFieldForSel(attrField);
}
public List<SelectionResult> selectFileFieldForSel1(String attrField){
return dao.selectFileFieldForSel1(attrField);
}
}
@@ -1,9 +1,8 @@
package com.adc.da.search.service.impl;
import com.adc.da.person.dao.PersonSearchEODao;
import com.adc.da.search.entity.*;
import com.adc.da.search.service.SearchCenterService;
import com.alibaba.fastjson.JSONArray;
import com.adc.da.search.util.InitStandAttrSearchUtil;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
@@ -11,20 +10,14 @@ import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.lucene.search.function.CombineFunction;
import org.elasticsearch.common.lucene.search.function.FieldValueFactorFunction;
import org.elasticsearch.common.text.Text;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.RangeQueryBuilder;
import org.elasticsearch.index.query.functionscore.FieldValueFactorFunctionBuilder;
import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.bucket.range.Range;
import org.elasticsearch.search.aggregations.bucket.range.RangeAggregationBuilder;
import org.elasticsearch.search.aggregations.bucket.terms.StringTerms;
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
@@ -34,9 +27,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Component
@Slf4j
@@ -143,210 +136,32 @@ public class SearchCenterServiceImpl implements SearchCenterService {
return result;
}
public BoolQueryBuilder querySeniorMsg (SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder) {
/**
* 自动匹配动态字段条件查询 ES
* @param searchInfoEO
* @param boolQueryBuilder
* @return
*/
private BoolQueryBuilder querySeniorMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder) {
BoolQueryBuilder boolQueryBuilderMust = new BoolQueryBuilder();
String advanceStr = searchInfoEO.getAdvanceSearchVOStr();
List<SarAdvanceSearchVO> searchVOList = new ArrayList<>();
if (StringUtils.isNotBlank(advanceStr)) {
searchVOList = JSONArray.parseArray(advanceStr, SarAdvanceSearchVO.class);
}
if (searchVOList != null && !searchVOList.isEmpty()) {
List<SarAdvanceSearchVO> sarAdvanceSearchVOS = new ArrayList<>();
int size = searchVOList.size();
for (SarAdvanceSearchVO searchVO1 : searchVOList) {
SarAdvanceSearchVO sarAdvanceSearchVO = new SarAdvanceSearchVO();
if ("XCXSSRQ".equals(searchVO1.getField())||"ZCCSSRQ".equals(searchVO1.getField())||"EOPSSRQ".equals(searchVO1.getField())){
sarAdvanceSearchVO.setField(searchVO1.getField()+"1");
sarAdvanceSearchVO.setConnect("OR");
sarAdvanceSearchVO.setType("like");
sarAdvanceSearchVO.setValue("TBD");
sarAdvanceSearchVOS.add(sarAdvanceSearchVO);
}
}
searchVOList.addAll(sarAdvanceSearchVOS);
for (SarAdvanceSearchVO searchVO : searchVOList) {
if ("stand_state".equals(searchVO.getField())){
searchVO.setType("=");
}
String field = searchVO.getField();
String value = searchVO.getValue();
if ("WFSPJS".equals(field) || "SVPPS".equals(field)){
value = value.replace(","," , ");
}
//发布时间范围
if (StringUtils.isNotBlank(searchVO.getField()) &&("issue_time".equals(searchVO.getField()) || "put_time".equals(searchVO.getField()) || "FZRQ".equals(searchVO.getField())|| "FSRQ".equals(searchVO.getField()) ||"XCXSSRQ".equals(searchVO.getField())||"ZCCSSRQ".equals(searchVO.getField())||"EOPSSRQ".equals(searchVO.getField()))) {
String fieldName = "";
fieldName = searchVO.getField();
switch (searchVO.getField()){
case "issue_time" :
// boolQueryBuilderMust.mustNot(QueryBuilders.matchQuery(field, "已实施")).must(QueryBuilders.existsQuery(field)).mustNot(QueryBuilders.matchQuery(field, "N/A")).mustNot(QueryBuilders.matchQuery(field+".keyword", " ")).mustNot(QueryBuilders.matchQuery(field+".keyword", ""));
boolQueryBuilder.should(QueryBuilders.matchQuery(field + ".keyword" , "TBD"));
fieldName = ISSUE_TIME;
break;
case "put_time" :
// boolQueryBuilderMust.mustNot(QueryBuilders.matchQuery(field, "已实施")).must(QueryBuilders.existsQuery(field)).mustNot(QueryBuilders.matchQuery(field, "N/A")).mustNot(QueryBuilders.matchQuery(field+".keyword", " ")).mustNot(QueryBuilders.matchQuery(field+".keyword", ""));
boolQueryBuilder.should(QueryBuilders.matchQuery(field + ".keyword", "TBD"));
fieldName = "put_time_data";
break;
case "XCXSSRQ" :
// boolQueryBuilderMust.mustNot(QueryBuilders.matchQuery(field, "已实施")).must(QueryBuilders.existsQuery(field)).mustNot(QueryBuilders.matchQuery(field, "N/A")).mustNot(QueryBuilders.matchQuery(field+".keyword", " ")).mustNot(QueryBuilders.matchQuery(field+".keyword", ""));
boolQueryBuilder.should(QueryBuilders.matchQuery(field + ".keyword", "TBD"));
fieldName = "XCXSSRQ_data";
break;
case "ZCCSSRQ" :
// boolQueryBuilderMust.mustNot(QueryBuilders.matchQuery(field, "已实施")).must(QueryBuilders.existsQuery(field)).mustNot(QueryBuilders.matchQuery(field, "N/A")).mustNot(QueryBuilders.matchQuery(field+".keyword", " ")).mustNot(QueryBuilders.matchQuery(field+".keyword", ""));
boolQueryBuilder.should(QueryBuilders.matchQuery(field + ".keyword", "TBD"));
fieldName = "ZCCSSRQ_data";
break;
case "EOPSSRQ" :
// boolQueryBuilderMust.mustNot(QueryBuilders.matchQuery(field, "已实施")).must(QueryBuilders.existsQuery(field)).mustNot(QueryBuilders.matchQuery(field, "N/A")).mustNot(QueryBuilders.matchQuery(field+".keyword", " ")).mustNot(QueryBuilders.matchQuery(field+".keyword", ""));
boolQueryBuilder.should(QueryBuilders.matchQuery(field + ".keyword", "TBD"));
fieldName = "EOPSSRQ_data";
break;
default :
break;
}
Long beginTime = 0L;
Long endTime = 0L;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
beginTime = sdf.parse("1970-01-01 00:00:00").getTime();
} catch (ParseException e1) {
e1.printStackTrace();
}
try {
endTime = sdf.parse("2999-01-01 00:00:00").getTime();
} catch (ParseException e1) {
e1.printStackTrace();
}
Long starttime = 0L;
Long endtime = 0L;
try {
starttime = sdf.parse(searchVO.getTimeSt() +" 00:00:00").getTime();
starttime--;
} catch (ParseException e) {
try {
starttime = sdf.parse("1970-01-01 00:00:00").getTime();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
try {
endtime = sdf.parse(searchVO.getTimeEd()+" 23:59:59").getTime();
endtime++;
} catch (ParseException e) {
try {
endtime = sdf.parse("2999-01-01 00:00:00").getTime();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
if ("=".equals(searchVO.getType()) || "like".equals(searchVO.getType())) {
RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(fieldName ).from(starttime).to(endtime).includeLower(true).includeUpper(true);
if ("AND".equals(searchVO.getConnect())|| StringUtils.isBlank(searchVO.getConnect())) {
// RangeQueryBuilder rangeQueryBuilder1 = QueryBuilders.rangeQuery(fieldName ).from(1L).to(starttime).includeLower(true).includeUpper(true);
// RangeQueryBuilder rangeQueryBuilder2 = QueryBuilders.rangeQuery(fieldName ).from(endtime).to(endTime).includeLower(true).includeUpper(true);
// boolQueryBuilder.mustNot(rangeQueryBuilder1);
// boolQueryBuilder.mustNot(rangeQueryBuilder2);
// boolQueryBuilder.mustNot(rangeQueryBuilder3);
boolQueryBuilderMust.must(rangeQueryBuilder);
}else{
boolQueryBuilder.should(rangeQueryBuilder);
}
}else{
if ("!=".equals(searchVO.getType())){
RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(fieldName ).from(starttime).to(endtime).includeLower(true).includeUpper(true);
if ("AND".equals(searchVO.getConnect()) || StringUtils.isBlank(searchVO.getConnect())) {
boolQueryBuilder.mustNot(rangeQueryBuilder);
}else{
boolQueryBuilder.should(rangeQueryBuilder);
}
}
}
continue;
}
if (StringUtils.isNotBlank(field) && StringUtils.isNotBlank(value)) {
String type = searchVO.getType();
String connect = searchVO.getConnect();
if ("stand_name".equals(field) || "laws_name".equals(field)) {
field = "nameshow";
} else if ("stand_state".equals(field) || "laws_state".equals(field) || "stand_status".equals(field)) {
field = "statecode";
// }else if ("FZRQ".equals(field)){
// field = "FZRQString";
// }else if ("FSRQ".equals(field)){
// field = "FSRQString";
}
if (("FZRQString".equals(field) || "FSRQString".equals(field))){
List<String> values = new ArrayList<>(Arrays.asList(value.split("-")));
if ("=".equals(type) && ("AND".equals(connect) || StringUtils.isBlank(connect))) {
for (String va :values){
boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(field, "*"+va+"*"));
}
} else if ("=".equals(type) && ("OR".equals(connect) || StringUtils.isBlank(connect))) {
for (String va :values){
boolQueryBuilder.should(QueryBuilders.wildcardQuery(field, "*"+va+"*"));
}
// boolQueryBuilder.should(QueryBuilders.wildcardQuery(field, "*"+value+"*"));
} else if ("!=".equals(type) && ("AND".equals(connect) || StringUtils.isBlank(connect))) {
if ("FSRQString".equals(field)){
boolQueryBuilder.mustNot(QueryBuilders.matchQuery("FSRQDate", "*"+value.replace("-","")+"*"));
}else{
boolQueryBuilder.mustNot(QueryBuilders.matchQuery("FZRQDate", "*"+value.replace("-","")+"*"));
}
// boolQueryBuilder.mustNot(QueryBuilders.wildcardQuery(field, "*"+value+"*"));
} else if ("like".equals(type) && ("AND".equals(connect) || StringUtils.isBlank(connect))) {
for (String va :values){
boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(field, "*"+va+"*"));
}
// boolQueryBuilder.must(QueryBuilders.wildcardQuery(field, "*"+value+"*"));
} else if ("like".equals(type) && ("OR".equals(connect) || StringUtils.isBlank(connect))) {
for (String va :values){
boolQueryBuilder.should(QueryBuilders.wildcardQuery(field, "*"+va+"*"));
}
// boolQueryBuilder.should(QueryBuilders.wildcardQuery(field, "*"+value+"*"));
}
continue;
}
if ("XCXSSRQ1".equals(searchVO.getField())||"ZCCSSRQ1".equals(searchVO.getField())||"EOPSSRQ1".equals(searchVO.getField())){
searchVO.setField(searchVO.getField().substring(0,searchVO.getField().length()-1));
field = searchVO.getField();
}
//外发审批角色的企标 等于 查询
// if("WFSPJS".equals(field) && "=".equals(type)){
// field = "WFSPJSField";
// if (StringUtils.isNotBlank(value)){
// value = value.replace(" , ","");
// }
// }
// if("ZRBM".equals(field) && "=".equals(type)){
// field = "ZRBMField";
// if (StringUtils.isNotBlank(value)){
// value = value.replace(" , ","");
// }
// }
if ("FO".equals(field)){
value = value + " ";
}
// if (StringUtils.isBlank(connect) && size > 1){
// connect = "OR";
// }
if ("=".equals(type) && ("AND".equals(connect) || StringUtils.isBlank(connect))) {
boolQueryBuilderMust.must(QueryBuilders.termQuery(field+".keyword", value));
} else if ("=".equals(type) && ("OR".equals(connect) || StringUtils.isBlank(connect))) {
boolQueryBuilder.should(QueryBuilders.termQuery(field+".keyword", value));
} else if ("!=".equals(type) && ("AND".equals(connect) || StringUtils.isBlank(connect))) {
// boolQueryBuilder.mustNot(QueryBuilders.termQuery(field+".keyword", value));
boolQueryBuilder.mustNot(QueryBuilders.wildcardQuery(field+".keyword", "*"+value+"*"));
} else if ("like".equals(type) && ("AND".equals(connect) || StringUtils.isBlank(connect))) {
boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(field+".keyword", "*"+value+"*"));
// boolQueryBuilder.should(QueryBuilders.wildcardQuery(field, value));
} else if ("like".equals(type) && ("OR".equals(connect) || StringUtils.isBlank(connect))) {
boolQueryBuilder.should(QueryBuilders.wildcardQuery(field+".keyword", "*"+value+"*"));
}
}
String sarStandAttrEOStr = searchInfoEO.getSarStandAttrEOStr();
Map<String, String> sarStandAttrMap = JSONObject.fromObject(sarStandAttrEOStr);
// MAP通过JAVA8新特性流过滤NULL值或对象
Map<String, String> collectAttrMap = sarStandAttrMap.entrySet().stream().filter((e) -> e.getValue() != null).collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue));
String fieldInfo = InitStandAttrSearchUtil.queryField;
List<String> fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
// 动态存储属性字段 ---1
for (String field : fieldInfoList) {
if(collectAttrMap.containsKey(field)){
boolQueryBuilderMust.must(QueryBuilders.fuzzyQuery(field, "*"+collectAttrMap.get(field)+"*"));
}
}
boolQueryBuilder.should(boolQueryBuilderMust);
return boolQueryBuilder;
}
@@ -0,0 +1,219 @@
package com.adc.da.search.util;
import com.adc.da.search.sarStandAttrDetails.entity.SarStandAttrDetails;
import com.adc.da.search.sarStandAttrDetails.service.ISarStandAttrDetailsSearchService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Description: 启动项目时加载标准属性信息
* @Author: super_liu
* date: 2020/9/7 10:54
*/
@Component
public class InitStandAttrSearchUtil implements ApplicationRunner {
private static final Logger logger = LoggerFactory.getLogger(InitStandAttrSearchUtil.class);
@Autowired
private ISarStandAttrDetailsSearchService sarStandAttrDetailsEOService;
private final static List<String> standTypeList = new ArrayList<>();
private final static List<String> lawsTypeList = new ArrayList<>();
public final static List<String> standStateList = new ArrayList<>();
static {
standTypeList.add(SarTypeEnum.STAND.getValue());
standTypeList.add(SarTypeEnum.INLAND_STAND.getValue());
standTypeList.add(SarTypeEnum.FOREIGN_STAND.getValue());
lawsTypeList.add(SarTypeEnum.LAWS.getValue());
lawsTypeList.add(SarTypeEnum.INLAND_LAWS.getValue());
lawsTypeList.add(SarTypeEnum.FOREIGN_LAWS.getValue());
standStateList.add("DRAFT");
standStateList.add("ADVICE");
standStateList.add("RADYSUBMIT");
standStateList.add("SUBMIT");
standStateList.add("FJNVYX9Q7J");
standStateList.add("ZTJJSS");
standStateList.add("TOVOID");
standStateList.add("ZTXXYX");
standStateList.add("5E5Z3CELX6");
standStateList.add("N5KLTFLNRC");
}
// 标准属性字段信息
public static String queryField = ""; //所有属性表需要查询的字段以逗号分隔
public static String queryFieldNames = ""; //所有属性表需要查询的字段名以逗号分隔
public static List<String> queryFieldList = new ArrayList<>(); //所有属性表需要查询的字段
public static List<String> selectionFieldList = new ArrayList<>(); // 属性表下拉选项类型字段
public static List<String> fileFieldList = new ArrayList<>(); // 属性表文件类型字段
public static List<String> clobFieldList = new ArrayList<>(); // 属性表clob类型字段
public static List<String> timeFieldList = new ArrayList<>(); // 属性表日期类型字段
public static List<String> multiTimeFieldList = new ArrayList<>(); // 属性表多个日期类型字段
public static List<String> numFieldList = new ArrayList<>(); // 属性表数字类型字段
public static List<SarStandAttrDetails> standInlandAttrFieldList = new ArrayList<>(); // 全部国内标准字段属性
public static List<SarStandAttrDetails> standForeignAttrFieldList = new ArrayList<>(); // 全部海外标准字段属性
public static Map<String,String> selectFieldMap = new HashMap<>(); // 下拉属性字段及选项值
// 政策属性字段信息
public static String queryFieldLaws = ""; //所有属性表需要查询的字段以逗号分隔
public static String queryFieldNamesLaws = ""; //所有属性表需要查询的字段名以逗号分隔
public static List<String> queryFieldListLaws = new ArrayList<>(); //所有属性表需要查询的字段
public static List<String> selectionFieldListLaws = new ArrayList<>(); // 属性表下拉选项类型字段
public static List<String> fileFieldListLaws = new ArrayList<>(); // 属性表文件类型字段
public static List<String> clobFieldListLaws = new ArrayList<>(); // 属性表clob类型字段
public static List<String> timeFieldListLaws = new ArrayList<>(); // 属性表日期类型字段
public static List<String> multiTimeFieldListLaws = new ArrayList<>(); // 属性表多个日期类型字段
public static List<String> numFieldListLaws = new ArrayList<>(); // 属性表数字类型字段
public static List<SarStandAttrDetails> lawsInlandAttrFieldList = new ArrayList<>(); // 属性表数字类型字段
public static List<SarStandAttrDetails> lawsForeignAttrFieldList = new ArrayList<>(); // 全部政策字段属性
public static Map<String,String> selectFieldMapLaws = new HashMap<>(); // 下拉属性字段及选项值
// 企标属性字段信息
public static String queryFieldBuss = ""; //所有属性表需要查询的字段以逗号分隔
public static String queryFieldNamesBuss = ""; //所有属性表需要查询的字段名以逗号分隔
public static List<String> queryFieldListBuss = new ArrayList<>(); //所有属性表需要查询的字段
public static List<String> selectionFieldListBuss = new ArrayList<>(); // 属性表下拉选项类型字段
public static List<String> fileFieldListBuss = new ArrayList<>(); // 属性表文件类型字段
public static List<String> clobFieldListBuss = new ArrayList<>(); // 属性表clob类型字段
public static List<String> timeFieldListBuss = new ArrayList<>(); // 属性表日期类型字段
public static List<String> multiTimeFieldListBuss = new ArrayList<>(); // 属性表多个日期类型字段
public static List<String> numFieldListBuss = new ArrayList<>(); // 属性表数字类型字段
public static List<SarStandAttrDetails> bussAttrFieldList = new ArrayList<>(); // 全部企标字段属性
public static Map<String,String> selectFieldMapBuss = new HashMap<>(); // 下拉属性字段及选项值
@Override
public void run(ApplicationArguments args) throws Exception {
logger.info("项目启动时加载-搜索中心-查询标准属性类!");
// 属性表需要查询的字段
StringBuilder fieldInfoBuilder = new StringBuilder();
StringBuilder fieldInfoBuilderLaws = new StringBuilder();
StringBuilder fieldInfoBuilderBuss = new StringBuilder();
StringBuilder fieldInfoNameBuilder = new StringBuilder();
StringBuilder fieldInfoNameBuilderLaws = new StringBuilder();
StringBuilder fieldInfoNameBuilderBuss = new StringBuilder();
QueryWrapper qw = new QueryWrapper();
qw.eq("VALID_FLAG","0");
qw.orderByAsc("ORDER_NUM");
List<SarStandAttrDetails> getDetailsList = sarStandAttrDetailsEOService.list(qw);
if (getDetailsList != null && !getDetailsList.isEmpty()) {
logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到" + getDetailsList.size() + "条属性字段数据!");
for (SarStandAttrDetails detailsEO : getDetailsList) {
String sarType = detailsEO.getSarType();
String attrType = detailsEO.getAttrType();
if (standTypeList.contains(sarType)) {
if (!SarTypeEnum.FOREIGN_STAND.getValue().equals(sarType)) {
standInlandAttrFieldList.add(detailsEO);
}
if (!SarTypeEnum.INLAND_STAND.getValue().equals(sarType)) {
standForeignAttrFieldList.add(detailsEO);
}
fieldInfoBuilder.append(detailsEO.getAttrField() + ",");
fieldInfoNameBuilder.append(detailsEO.getAttrName() + ",");
queryFieldList.add(detailsEO.getAttrField());
if (StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType)) {
selectionFieldList.add(detailsEO.getAttrField());
selectFieldMap.put(detailsEO.getAttrField(),detailsEO.getSelVal());
} else if (StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
fileFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && detailsEO.getAttrLen() >= 4000) {
clobFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
timeFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PIC_OPTS.getValue().equals(attrType)) {
multiTimeFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
numFieldList.add(detailsEO.getAttrField());
}
} else if (lawsTypeList.contains(sarType)) {
if (!SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) {
lawsInlandAttrFieldList.add(detailsEO);
}
if (!SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) {
lawsForeignAttrFieldList.add(detailsEO);
}
fieldInfoBuilderLaws.append(detailsEO.getAttrField() + ",");
fieldInfoNameBuilderLaws.append(detailsEO.getAttrName() + ",");
queryFieldListLaws.add(detailsEO.getAttrField());
if (StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType)) {
selectionFieldListLaws.add(detailsEO.getAttrField());
selectFieldMapLaws.put(detailsEO.getAttrField(),detailsEO.getSelVal());
} else if (StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
fileFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && detailsEO.getAttrLen() >= 4000) {
clobFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
timeFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PIC_OPTS.getValue().equals(attrType)) {
multiTimeFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
numFieldListLaws.add(detailsEO.getAttrField());
}
} else if (SarTypeEnum.BUSS.getValue().equals(sarType)) {
bussAttrFieldList.add(detailsEO);
fieldInfoBuilderBuss.append(detailsEO.getAttrField() + ",");
fieldInfoNameBuilderBuss.append(detailsEO.getAttrName() + ",");
queryFieldListBuss.add(detailsEO.getAttrField());
if (StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType)) {
selectionFieldListBuss.add(detailsEO.getAttrField());
selectFieldMapBuss.put(detailsEO.getAttrField(),detailsEO.getSelVal());
} else if (StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
fileFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && detailsEO.getAttrLen() >= 4000) {
clobFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
timeFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PIC_OPTS.getValue().equals(attrType)) {
multiTimeFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
numFieldListBuss.add(detailsEO.getAttrField());
}
}
}
queryField = fieldInfoBuilder.toString();
queryFieldLaws = fieldInfoBuilderLaws.toString();
queryFieldBuss = fieldInfoBuilderBuss.toString();
if (StringUtils.isNotBlank(queryField)) {
queryField = queryField.substring(0,queryField.length()-1);
}
if (StringUtils.isNotBlank(queryFieldLaws)) {
queryFieldLaws = queryFieldLaws.substring(0,queryFieldLaws.length()-1);
}
if (StringUtils.isNotBlank(queryFieldBuss)) {
queryFieldBuss = queryFieldBuss.substring(0,queryFieldBuss.length()-1);
}
logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到属性字段为:" + queryField);
logger.info("项目启动时加载-搜索中心-查询政策属性类--查询到属性字段为:" + queryFieldLaws);
logger.info("项目启动时加载-搜索中心-查询企标属性类--查询到属性字段为:" + queryFieldBuss);
queryFieldNames = fieldInfoNameBuilder.toString();
queryFieldNamesLaws = fieldInfoNameBuilderLaws.toString();
queryFieldNamesBuss = fieldInfoNameBuilderBuss.toString();
if (StringUtils.isNotBlank(queryFieldNames)) {
queryFieldNames = queryFieldNames.substring(0,queryFieldNames.length()-1);
}
if (StringUtils.isNotBlank(queryFieldNamesLaws)) {
queryFieldNamesLaws = queryFieldNamesLaws.substring(0,queryFieldNamesLaws.length()-1);
}
if (StringUtils.isNotBlank(queryFieldNamesBuss)) {
queryFieldNamesBuss = queryFieldNamesBuss.substring(0,queryFieldNamesBuss.length()-1);
}
logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到属性字段名称为:" + queryFieldNames);
logger.info("项目启动时加载-搜索中心-查询政策属性类--查询到属性字段名称为:" + queryFieldNamesLaws);
logger.info("项目启动时加载-搜索中心-查询企标属性类--查询到属性字段名称为:" + queryFieldNamesBuss);
} else {
logger.error("项目启动时加载-搜索中心-查询标准属性类--未查询到属性字段数据!");
}
}
}
@@ -0,0 +1,43 @@
package com.adc.da.search.util;
/**
* 标准法规分类
* @author gaoyan
* date 2018/09/19
*/
public enum SarTypeEnum {
INLAND_STAND("INLAND_STAND","国内标准法规"),INLAND_LAWS("INLAND_LAWS","国内政策"),
FOREIGN_STAND("FOREIGN_STAND","国外标准法规"),FOREIGN_LAWS("FOREIGN_LAWS","国外政策"),
STAND("STAND","国内外标准法规"),
LAWS("LAWS","国内外政策"),
BUSINESS("BUSINESS","企业标准"),
BUSS("BUSS","企业标准"),
SPLIT("SPLIT","标准拆分"),
ACCESS("ACCESS","标准法规清单"),
// 增加清单临时分类代码 后续通过同步按钮同步时切换类型
INLAND_STAND_ACCESS("INLAND_STAND_ACCESS","国内标准法规清单"),
FOREIGN_STAND_ACCESS("FOREIGN_STAND_ACCESS","国外标准法规清单"),
FOREIGN_LAWS_ACCESS("FOREIGN_LAWS_ACCESS","国内外政策清单"),
BUSS_ACCESS("BUSS","企业标准清单"),
PRODUCT("PRODUCT","车型/项目库"),
RECORDS("RECORDS","企标备案库");
private String value;
private String lable;
private SarTypeEnum(String value, String lable) {
this.value = value;
this.lable = lable;
}
public String getValue() {
return value;
}
public String getLable() {
return lable;
}
}
@@ -0,0 +1,28 @@
package com.adc.da.search.util;
/**
* @Description: 属性类型枚举类
* @Author: super_liu
* date: 2020/8/17 17:02
*/
public enum StandAttrTypeEnum {
INPUT_STR("INPUT_STR","输入框(字符串)"),INPUT_NUM("INPUT_NUM","输入框(数字)"),
SELECT_OPTION("SEL_OPTION","单选下拉框"),SEL_OPTS("SEL_OPTS","多选下拉框"),DATE_PICKER("DATE_PICKER","日期选择"),
DATE_PIC_OPTS("DATE_PIC_OPTS","多日期选择"),FILE("FILE","文件"),
TEXTAREA("TEXTAREA","文本框") ;
private String value;
private String lable;
private StandAttrTypeEnum(String value, String lable) {
this.value = value;
this.lable = lable;
}
public String getValue() {
return value;
}
public String getLable() {
return lable;
}
}
@@ -5,6 +5,7 @@ import com.adc.da.slrs.otSvpps.service.IOtSvppsService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
import com.adc.da.slrs.sysInfo.service.SysInfoEOService;
import com.adc.da.utils.util.InitStandAttrUtil;
import com.rabbitmq.client.Channel;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
@@ -21,12 +22,8 @@ import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Component
public class SendStandMQService {
@@ -73,19 +70,17 @@ public class SendStandMQService {
String sarStandards = standMap.get("sarStandards").toString();
JSONObject jsonobject = JSONObject.fromObject(sarStandards);
SarStandardsInfo infoEO = (SarStandardsInfo) JSONObject.toBean(jsonobject,SarStandardsInfo.class);
String attr = infoEO.getSarStandAttrEOStr();
JSONObject jsonobject1 = JSONObject.fromObject(attr);
Map<String,Object> map = (Map)jsonobject1;
String GZZXX = String.valueOf(map.get("GZZXX"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr();
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
// 往索引表中插入数据
String getCodeName = "";
Map<String,Object> saveMap = new HashMap<>();
String baseSearchContent = "";
// 开始存放数据
// 开始存放数据 -------- 国内外标准 -----------
saveMap.put("id",infoEO.getId());
saveMap.put("BYYBJ", map.getOrDefault("BYYBJ", ""));
saveMap.put("BDTBH", map.getOrDefault("BDTBH", ""));
saveMap.put("BYYBJ", attrInfoMap.getOrDefault("BYYBJ", ""));
saveMap.put("BDTBH", attrInfoMap.getOrDefault("BDTBH", ""));
saveMap.put("country",infoEO.getCountry());
if (StringUtils.isNotEmpty(infoEO.getCountry())) {
@@ -109,41 +104,16 @@ public class SendStandMQService {
saveMap.put("standEnName",infoEO.getStandEnName());
saveMap.put("stand_en_name",infoEO.getStandEnName());
if ("1".equals(infoEO.getIsRelateAccess())) {
saveMap.put("isRelateAccess","A" );
}else{
saveMap.put("isRelateAccess","B" );
}
if (StringUtils.isNotEmpty(infoEO.getStandState())) {
String codeName = sysInfoEOService.getDicNamesByCodes(infoEO.getStandState());
saveMap.put("standstateshow",codeName);
}
saveMap.put("issueTime",infoEO.getIssueTime());
saveMap.put("issueTime",dateFormatToStr(infoEO.getIssueTime()));
String newDate = infoEO.getIssueTime();
if (StringUtils.isNotBlank(infoEO.getIssueTime()) && StringUtils.isNotBlank(infoEO.getIssueTime().trim()) && infoEO.getIssueTime().trim().length()>10) {
newDate = infoEO.getIssueTime().trim().substring(0,10);
}
saveMap.put("issue_time",newDate);
Date issue_time_data = null;
if (StringUtils.isNotBlank(infoEO.getIssueTime())) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
issue_time_data = format.parse(newDate+" 00:00:00");
} catch (ParseException ignored) {
}
}
if (issue_time_data != null) {
saveMap.put("issue_time_data",issue_time_data.getTime());
}else{
saveMap.put("issue_time_data",0L);
}
saveMap.put("synopsis",infoEO.getSynopsis());
saveMap.put("standType",infoEO.getStandType());
// 自定义属性字段
String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr();
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
if (attrInfoMap != null && !attrInfoMap.isEmpty()) {
attrInfoMap = sysInfoEOService.changeSelectInfo(attrInfoMap, "stand",baseSearchContent);
saveMap.putAll(attrInfoMap);
@@ -154,109 +124,15 @@ public class SendStandMQService {
saveMap.put("content",infoEO.getFileIds());
saveMap.put("CHJL",infoEO.getCHJL());
String SVPPSSting = "";
if (attrInfoMap != null) {
if (attrInfoMap.containsKey("SVPPS")){
String svpps = String.valueOf(attrInfoMap.get("SVPPS"));
List<String> ids = new ArrayList<>(Arrays.asList(svpps.split(",")));
for (String id: ids){
String num = "";
try {
OtSvpps otSvppsEO = otSvppsEOService.getById(id);
if (null != otSvppsEO) {
if ("NA".equals(otSvppsEO.getTNum())) {
if ("NA".equals(otSvppsEO.getSNum())) {
num = otSvppsEO.getFNum();
} else {
num = otSvppsEO.getSNum();
}
} else {
num = otSvppsEO.getTNum();
}
}
if ("".equals(SVPPSSting)){
SVPPSSting = num;
}else {
SVPPSSting = SVPPSSting + "," + num;
}
} catch (Exception e) {
e.printStackTrace();
}
}
saveMap.put("SVPPSName",SVPPSSting);
}
String fieldInfo = InitStandAttrUtil.queryField;
List<String> fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
// 动态存储属性字段
for (String field : fieldInfoList) {
saveMap.put(field,attrInfoMap.getOrDefault(field,""));
}
Date XCXSSRQ_data = null;
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("XCXSSRQ")))) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (String.valueOf(saveMap.get("XCXSSRQ")).trim().length()>10) {
XCXSSRQ_data = format.parse(String.valueOf(saveMap.get("XCXSSRQ")).trim().substring(0,10) + " 00:00:00");
saveMap.put("XCXSSRQ",String.valueOf(saveMap.get("XCXSSRQ")).trim().substring(0,10));
}else{
XCXSSRQ_data = format.parse(String.valueOf(saveMap.get("XCXSSRQ")).trim() + " 00:00:00");
saveMap.put("XCXSSRQ",String.valueOf(saveMap.get("XCXSSRQ")).trim());
}
} catch (ParseException ignored) {
}
}
if (XCXSSRQ_data != null) {
saveMap.put("XCXSSRQ_data",XCXSSRQ_data.getTime());
}else{
saveMap.put("XCXSSRQ_data",0L);
}
saveMap.put("XCXSSRQ",String.valueOf(saveMap.get("XCXSSRQ")+" "));
Date ZCCSSRQ_data = null;
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("ZCCSSRQ")))) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (String.valueOf(saveMap.get("ZCCSSRQ")).trim().length()>10) {
ZCCSSRQ_data = format.parse(String.valueOf(saveMap.get("ZCCSSRQ")).trim().substring(0, 10) + " 00:00:00");
saveMap.put("ZCCSSRQ",String.valueOf(saveMap.get("ZCCSSRQ")).trim().substring(0, 10));
}else {
ZCCSSRQ_data = format.parse(String.valueOf(saveMap.get("ZCCSSRQ")).trim() + " 00:00:00");
saveMap.put("ZCCSSRQ",String.valueOf(saveMap.get("ZCCSSRQ")).trim());
}
} catch (ParseException ignored) {
}
}
if (ZCCSSRQ_data != null) {
saveMap.put("ZCCSSRQ_data",ZCCSSRQ_data.getTime());
}else{
saveMap.put("ZCCSSRQ_data",0L);
}
saveMap.put("ZCCSSRQ",String.valueOf(saveMap.get("ZCCSSRQ")+" "));
Date EOPSSRQ_data = null;
String ESSRQ= null;
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("EOPSSRQ")))) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (String.valueOf(saveMap.get("EOPSSRQ")).trim().length()>10){
ESSRQ = String.valueOf(saveMap.get("EOPSSRQ")).trim().substring(0,10);
}else {
ESSRQ = String.valueOf(saveMap.get("EOPSSRQ")).trim();
}
EOPSSRQ_data = format.parse(ESSRQ + " 00:00:00");
} catch (ParseException ignored) {
}
map.put("EOPSSRQ",ESSRQ);
}
if (EOPSSRQ_data != null) {
saveMap.put("EOPSSRQ_data",EOPSSRQ_data.getTime());
}else{
saveMap.put("EOPSSRQ_data",0L);
}
saveMap.put("EOPSSRQ",String.valueOf(saveMap.get("EOPSSRQ")+" "));
if (map.containsKey("DXBZ")){
saveMap.put("DXBZ",map.get("DXBZ"));
}else{
saveMap.put("DXBZ","");
}
//当建立代替时,产生的没有文件的问题
if (StringUtils.isBlank(String.valueOf(saveMap.get("content")))) {
String context = String.valueOf(saveMap.get("FBGBJBD")) + ","
@@ -265,13 +141,13 @@ public class SendStandMQService {
+ String.valueOf(saveMap.get("BPG")) + ","
+ String.valueOf(saveMap.get("CA")) + ","
+ String.valueOf(saveMap.get("SSG")) + ","
+ String.valueOf(saveMap.get("JDWJ")) + ","
+ String.valueOf(saveMap.get("XGD")) + ","
+ String.valueOf(saveMap.get("KWJ")) + ","
+ String.valueOf(saveMap.get("ZBJBD"));
context = context.replace(",,", ",");
saveMap.put("content", context);
}
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("FO"))) && !"null".equals(String.valueOf(saveMap.get("FO")))){
saveMap.put("FO",String.valueOf(saveMap.get("FO"))+" ");
}
if("add".equals(addOrUpdate)){
sarStandardsInfoService.insertIntoIndexForMap(saveMap);
} else {
@@ -279,6 +155,20 @@ public class SendStandMQService {
}
}
private String dateFormatToStr(String dateStr){
if(dateStr == null || dateStr.equals("")){
return "";
}
String dateToStr = "";
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateToStr = dateFormat.format(dateFormat.parse(dateStr.trim().substring(0,10)));
}catch (Exception e){
e.getMessage();
}
return dateToStr;
}
public Map<String,Object> dealNumberMsg (Map<String,Object> saveMap,SarStandardsInfo infoEO,String getCodeName) {
if(StringUtils.isNotEmpty(infoEO.getStandYear())){
String number = getCodeName + " " + infoEO.getStandNumber() + "-" + infoEO.getStandYear();
@@ -52,6 +52,14 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
return Result.success("200",publicList);
}
@ApiOperation(value = "查询全部意见")
@GetMapping("/checkIsShow")
public ResponseMessage checkIsShow(DetAllStandDto detAllStandDto){
String publicList =sarPublicIdeaAllImpl.checkIsShow(detAllStandDto);
return Result.success("200",publicList);
}
@ApiOperation(value = "增加意见")
@PostMapping("/insetStand")
public ResponseMessage addAllStand(SarPublicIdeaAll sar){
@@ -17,6 +17,7 @@ import com.adc.da.base.web.BaseController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
@@ -68,6 +69,16 @@ public class SarPublicIdeaController extends BaseController<SarPublicIdea> {
@PostMapping("/addSarPublicIdea")
public ResponseMessage addSarPublicIdea(@RequestBody SarPublicIdea sarPublicIdea){
try{
Calendar c = Calendar.getInstance();
c.setTime(sarPublicIdea.getStartTime());
c.add(Calendar.DAY_OF_MONTH, 1);// 今天+1天
sarPublicIdea.setStartTime(c.getTime());
Calendar c2 = Calendar.getInstance();
c2.setTime(sarPublicIdea.getEndTime());
c2.add(Calendar.DAY_OF_MONTH, 2);// 今天+1天
sarPublicIdea.setEndTime(c2.getTime());
sarPublicIdeaService.save(sarPublicIdea);
}catch(Exception e){
return Result.error();
@@ -9,4 +9,5 @@ public class DetAllStandDto {
String cid;
String userId;
String endTime;
String Account;
}
@@ -26,4 +26,5 @@ public interface ISarPublicIdeaAllService extends IService<SarPublicIdeaAll> {
String updateById(SarPublicIdeaAll sarPublicIdeaAll, String autUserid);
String delete(DelStandDto delStandDto);
String del(String id);
String checkIsShow(DetAllStandDto detAllStandDto);
}
@@ -3,17 +3,17 @@ package com.adc.da.slrs.sarStandIdea.service.Impl;
import com.adc.da.slrs.sarLawsDetailedList.Util.BeanConverUtil;
import com.adc.da.slrs.sarStandIdea.dao.SarPublicIdeaAllDao;
import com.adc.da.slrs.sarStandIdea.entity.DelStandDto;
import com.adc.da.slrs.sarStandIdea.entity.DetAllStandDto;
import com.adc.da.slrs.sarStandIdea.entity.SarPublicIdeaAll;
import com.adc.da.slrs.sarStandIdea.entity.SarPublicIdeaAllSUD;
import com.adc.da.slrs.sarStandIdea.entity.*;
import com.adc.da.slrs.sarStandIdea.service.ISarPublicIdeaAllService;
import com.adc.da.sys.entity.LoginInfoEO;
import com.adc.da.util.LoginUserUtil;
import com.adc.da.util.UUIDUtils;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -25,7 +25,7 @@ import java.util.List;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author super_liu
@@ -38,10 +38,9 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
private SarPublicIdeaAllDao sarPublicIdeaAllDao;
@Override
public IPage<SarPublicIdeaAllSUD> selectAll(DetAllStandDto detAllStandDto){
if (detAllStandDto.getEndTime()!=null){
public IPage<SarPublicIdeaAllSUD> selectAll(DetAllStandDto detAllStandDto) {
if (detAllStandDto.getEndTime() != null) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date Time = null;
try {
@@ -50,18 +49,24 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
e.printStackTrace();
}
QueryWrapper<SarPublicIdeaAll> wrapper = new QueryWrapper<>();
wrapper.eq("CID",detAllStandDto.getCid());
Page<SarPublicIdeaAll> page = new Page<>(detAllStandDto.getPage(),detAllStandDto.getSize());
wrapper.eq("CID", detAllStandDto.getCid());
Page<SarPublicIdeaAll> page = new Page<>(detAllStandDto.getPage(), detAllStandDto.getSize());
IPage<SarPublicIdeaAll> userIPage = sarPublicIdeaAllDao.selectPage(page, wrapper);
System.out.println("总条数"+userIPage.getTotal());
System.out.println("总页数"+userIPage.getPages());
List<SarPublicIdeaAll> list= userIPage.getRecords();
System.out.println("总条数" + userIPage.getTotal());
System.out.println("总页数" + userIPage.getPages());
List<SarPublicIdeaAll> list = userIPage.getRecords();
List<SarPublicIdeaAllSUD> list1 = new ArrayList<>();
list1 = BeanConverUtil.converList(list, SarPublicIdeaAllSUD.class);
for (SarPublicIdeaAllSUD sud:list1){
if (Time.compareTo(new Date())>=0)sud.setIdeaKey(0);
else {sud.setIdeaKey(1);}
}
List<SarPublicIdeaAllSUD> partTwo = new ArrayList<>();
list.forEach(sarPublicIdeaAll -> {
SarPublicIdeaAllSUD sarPublicIdeaAllSUD=new SarPublicIdeaAllSUD();
BeanUtils.copyProperties(sarPublicIdeaAll,sarPublicIdeaAllSUD);
if (sarPublicIdeaAll.getUserId().equals(detAllStandDto.getUserId())){
list1.add(sarPublicIdeaAllSUD);
}else {
partTwo.add(sarPublicIdeaAllSUD);
}
});
list1.addAll(partTwo);
IPage<SarPublicIdeaAllSUD> userIPage1 = new Page<>();
userIPage1.setPages(userIPage.getPages());
userIPage1.setSize(userIPage.getSize());
@@ -69,19 +74,26 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
userIPage1.setCurrent(userIPage.getCurrent());
userIPage1.setRecords(list1);
return userIPage1;
}else {
} else {
QueryWrapper<SarPublicIdeaAll> wrapper = new QueryWrapper<>();
wrapper.eq("CID",detAllStandDto.getCid());
Page<SarPublicIdeaAll> page = new Page<>(detAllStandDto.getPage(),detAllStandDto.getSize());
wrapper.eq("CID", detAllStandDto.getCid());
Page<SarPublicIdeaAll> page = new Page<>(detAllStandDto.getPage(), detAllStandDto.getSize());
IPage<SarPublicIdeaAll> userIPage = sarPublicIdeaAllDao.selectPage(page, wrapper);
System.out.println("总条数"+userIPage.getTotal());
System.out.println("总页数"+userIPage.getPages());
List<SarPublicIdeaAll> list= userIPage.getRecords();
System.out.println("总条数" + userIPage.getTotal());
System.out.println("总页数" + userIPage.getPages());
List<SarPublicIdeaAll> list = userIPage.getRecords();
List<SarPublicIdeaAllSUD> list1 = new ArrayList<>();
list1 = BeanConverUtil.converList(list, SarPublicIdeaAllSUD.class);
for (SarPublicIdeaAllSUD sud:list1){
sud.setIdeaKey(0);
}
List<SarPublicIdeaAllSUD> partTwo = new ArrayList<>();
list.forEach(sarPublicIdeaAll -> {
SarPublicIdeaAllSUD sarPublicIdeaAllSUD=new SarPublicIdeaAllSUD();
BeanUtils.copyProperties(sarPublicIdeaAll,sarPublicIdeaAllSUD);
if (sarPublicIdeaAll.getUserId().equals(detAllStandDto.getUserId())){
list1.add(sarPublicIdeaAllSUD);
}else {
partTwo.add(sarPublicIdeaAllSUD);
}
});
list1.addAll(partTwo);
IPage<SarPublicIdeaAllSUD> userIPage1 = new Page<>();
userIPage1.setPages(userIPage.getPages());
userIPage1.setSize(userIPage.getSize());
@@ -90,9 +102,23 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
userIPage1.setRecords(list1);
return userIPage1;
}
}
@Override
public String checkIsShow(DetAllStandDto detAllStandDto) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date Time = null;
try {
Time = sdf.parse(detAllStandDto.getEndTime());
} catch (ParseException e) {
e.printStackTrace();
}
if (Time.compareTo(new Date()) >= 0) return "0";
else {
return "1";
}
}
@Override
@@ -105,10 +131,10 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
@Override
public String updateById(SarPublicIdeaAll sar, String autUserid) {
if(sar.getUserId().equals(autUserid)){
if (sar.getUserId().equals(autUserid)) {
sarPublicIdeaAllDao.updateById(sar);
return "修改成功";
}else {
} else {
return "修改失败";
}
@@ -116,9 +142,9 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
@Override
public String delete(DelStandDto delStandDto) {
if (delStandDto.getUserId().equals(delStandDto.getAutUserId())){
if (delStandDto.getUserId().equals(delStandDto.getAutUserId())) {
return del(delStandDto.getId());
}else {
} else {
return "删除失败,不能删除别人的意见";
}
@@ -45,13 +45,16 @@ public class SarStandMenu extends BaseEntity {
@TableField("VALID_FLAG")
private Integer validFlag;
@Transient
@TableField(exist = false)
private String oldMenuId;
@Transient
@TableField(exist = false)
private String standType;
@Transient
@TableField(exist = false)
private String[] idlist;
@Transient
@TableField(exist = false)
private List<String> menuIds;
@@ -157,7 +157,9 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
page.setAdvanceSearchStr(null);
}
}
page.setUserId(LoginUserUtil.getUserId());
if(page.getUserId() == null || page.getUserId().equals("")){
page.setUserId(LoginUserUtil.getUserId());
}
List<SarStandardsInfo> rows = sarStandardsInfoEOService.getSarStandardsInfoPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@@ -110,6 +110,9 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
@Value("${elas.flag}")
private boolean elasflag; //ES是否启用
@Value("${file.path}")
private String filePath;//文件存储路径
@Autowired
private SarStandardsInfoDao dao;
@@ -550,7 +553,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
Map<String, String> selectionMap = new HashMap<>();
Map<String, String> fileMap = new HashMap<>();
Map<String, String> multiTimeMap = new HashMap<>();
String fileIds = "";
List<String> fileIds = new ArrayList<>();
for (Map.Entry<String, String> entry : sarStandAttrMap.entrySet()) {
String attrKey = entry.getKey();
String attrValue = String.valueOf(entry.getValue());
@@ -571,7 +574,10 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
selectionMap.put(attrKey, attrValue);
} else if (InitStandAttrUtil.fileFieldList.contains(attrKey)) {
fileMap.put(attrKey, attrValue);
fileIds += attrValue + ",";
List<String> list= Arrays.asList(attrValue .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
fileIds.addAll(list);
// String attrValueStr = String.join(",", list);
// fileIds += attrValueStr + ",";
if (attrKey.equals("XXZLXX")) {
// this.saveMsgDynamicInfo(attrValue,sarStandardsInfoEO.getStandName(),sarStandardsInfoEO.getId(),sarStandardsInfoEO.getStandSort()+" "+sarStandardsInfoEO.getStandNumber()+"-"+sarStandardsInfoEO.getStandYear());
}
@@ -589,10 +595,14 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
attrValue = "'" + attrValue + "'";
}
valuesBuilder.append("," + attrValue);
sarStandardsInfoEO.setFileIds(fileIds);
}
}
}
if(!fileIds.isEmpty()){
sarStandardsInfoEO.setFileIds(String.join(",", fileIds));
}else {
sarStandardsInfoEO.setFileIds("");
}
String insertField = mustFields + fieldsBuilder.toString();
String insertValue = mustValues + valuesBuilder.toString();
int insertRes = sarStandAttrInfoEODao.insertStandAttr(insertField, insertValue);
@@ -2062,8 +2072,8 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
for (int i = 0; i < attidlist.length; i++) {
if(org.apache.commons.lang.StringUtils.isNotEmpty(attidlist[i]) ){
AttFileEO attFileEO = attFileEOService.getFileInfo(attidlist[i]);
//String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
String readFilePath = "E:\\上汽企标流程总览.pdf";
String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
// String readFilePath = "E:\\上汽企标流程总览.pdf";
try {
// 判断文件是docx还是PDF
if (null != attFileEO.getFileSuffix() && (attFileEO.getFileSuffix().equals("docx") || attFileEO.getFileSuffix().equals("doc") || attFileEO.getFileSuffix().equals("ppt") || attFileEO.getFileSuffix().equals("pptx"))) {
@@ -2117,15 +2127,15 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
}
// 根据文件attid 读取文件内容
if (org.apache.commons.lang.StringUtils.isNotEmpty(String.valueOf(attrInfoMap.get("content")))) {
String[] attidlist = String.valueOf(attrInfoMap.get("content")).split(" , ");
String[] attidlist = String.valueOf(attrInfoMap.get("content")).split(",");
StringBuilder content = new StringBuilder("");
for (int i = 0; i < attidlist.length; i++) {
if(org.apache.commons.lang.StringUtils.isNotEmpty(attidlist[i]) && !"null".equals(attidlist[i])){
if(StringUtils.isNotEmpty(attidlist[i]) && !"null".equals(attidlist[i])){
AttFileEO attFileEO = attFileEOService.getFileInfo(attidlist[i]);
//String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
try {
// 判断文件是docx还是PDF
/*if (attFileEO.getFileSuffix().equals("docx") || attFileEO.getFileSuffix().equals("doc")) {
if (attFileEO.getFileSuffix().equals("docx") || attFileEO.getFileSuffix().equals("doc")) {
if(attFileEO.getFileSuffix().equals("doc")){
FileInputStream fis = new FileInputStream(readFilePath);
WordExtractor wordExtractor = new WordExtractor(fis);
@@ -2148,12 +2158,12 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
// String[] lines = pdfFileInText.split("\\r?\\n");
content.append(pdfFileInText);
}
}*/
String readFilePath = "E:\\上汽企标流程总览.pdf";
FileInputStream fis = new FileInputStream(readFilePath);
WordExtractor wordExtractor = new WordExtractor(fis);
String txt = wordExtractor.getText();
content.append(txt);
}
// String readFilePath = "E:\\上汽企标流程总览.pdf";
// FileInputStream fis = new FileInputStream(readFilePath);
// WordExtractor wordExtractor = new WordExtractor(fis);
// String txt = wordExtractor.getText();
// content.append(txt);
} catch (Exception e) {
logger.error("搜索中心修改数据读取文档内容时失败");
logger.error(e.getMessage(),e);
@@ -534,8 +534,16 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
int rowCount = sarFileSplitInfoEODao.queryByCountOwn(page);
page.getPager().setRowCount(rowCount);
List<SarFileSplitInfoEO> rows = sarFileSplitInfoEODao.queryByPageOwn(page);
Map<String,String> map = new HashMap<>();
map.put("CA","草稿");
map.put("ZQYJG","征求意见稿");
map.put("BPG","报批稿");
map.put("SSG","送审稿");
map.put("FBGBJBD","发布稿(必读)");
if (rows != null && !rows.isEmpty()) {
for (SarFileSplitInfoEO infoEO : rows) {
infoEO.setFileTypeShow(String.valueOf(map.get(infoEO.getFileType())));
// if (!infoEO.getSplitStatus().equals("0") && infoEO.getShowNumber() == null){
// SarLawsInfoEOPage sarLawsInfoEOPage = new SarLawsInfoEOPage();
// sarLawsInfoEOPage.setId(infoEO.getStandId());
@@ -147,7 +147,7 @@
<!-- 根据id查询 SAR_STAND_FILE -->
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select <include refid="Base_Column_List" />
select <include refid="Base_Column_List" />
from SAR_STAND_FILE
where id = #{value} and valid_flag=0
@@ -283,7 +283,7 @@
SAR_STANDARDS_INFO.STAND_TYPE as sarType
FROM
SAR_STAND_FILE
LEFT JOIN SAR_STANDARDS_INFO ON ( SAR_STAND_FILE.STAND_ID = SAR_STANDARDS_INFO.ID AND SAR_STANDARDS_INFO.VALID_FLAG = 0 )
RIGHT JOIN SAR_STANDARDS_INFO ON ( SAR_STAND_FILE.STAND_ID = SAR_STANDARDS_INFO.ID AND SAR_STANDARDS_INFO.VALID_FLAG = 0 )
where SAR_STANDARDS_INFO.VALID_FLAG =0 and SAR_STAND_FILE.VALID_FLAG =0
<if test="fileSuffixList != null">
and SAR_STAND_FILE.file_suffix in
@@ -308,6 +308,7 @@
<if test="fileType != null">
and SAR_STANDARDS_INFO.STAND_TYPE = #{fileType}
</if>
GROUP BY STAND_ID
order by SAR_STAND_FILE.modify_time desc,SAR_STAND_FILE.id
) tmp_tb limit ${pager.startIndex-1},${pageSize}) a
</select>