diff --git a/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java b/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java index b1a4f053..283b735a 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java +++ b/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java @@ -242,6 +242,29 @@ public class SeniorSearchInfoEO extends BasePage { private String queryStatus; + private String lawsType; + private String lawsNumber; + private String lawsName; + private String lawsEnName; + private String lawsNo; + private String issueCompany; + private String commentCycleDate; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date commentCycleStart; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date commentCycleEnd; + private String lawsTextState; + private String lawsSyqy; + private String lawsSycx; + private String lawsYear; + private String lawsNotisyncNum; + private String lawsBulletin; + private String lawsLabel; + private String lawsRemark; + + } diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 69bf2e73..571a0f68 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -536,205 +536,112 @@ public class SearchCenterServiceImpl implements SearchCenterService { //检索国内外政策数据 public BoolQueryBuilder queryLawsMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder, SearchRequestBuilder searchRequestBuilder) throws Exception{ - String numbershowStr = "numbershow"; - String nameshowStr = "nameshow"; - String replacedStandNumStr = "replaced_stand_num"; - String replaceStandNumStr = "replace_stand_num"; - //国家,国内外标准,国内外法规有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getCountry())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getCountry().equals("all") && !searchInfoEO.getCountry().equals("[]")) { -// String[] arrlist = searchInfoEO.getCountry().split(","); -// boolQueryBuilder.must(QueryBuilders.termsQuery("country.keyword", arrlist)); - boolQueryBuilder.must(QueryBuilders.matchQuery("country", searchInfoEO.getCountry())); - } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsType())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsType.keyword", "*"+searchInfoEO.getLawsType()+"*")); } - //标准性质,国内外标准,法规有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getNature())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getNature().equals("all") && !searchInfoEO.getNature().equals("[]")) { - String[] arrlist = searchInfoEO.getNature().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("nature.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsNumber())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsNumber.keyword", "*"+searchInfoEO.getLawsNumber()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getSYCLLX())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getSYCLLX().equals("all") && !searchInfoEO.getSYCLLX().equals("[]") ) { - String[] arrlist = searchInfoEO.getSYCLLX().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("SYCLLX.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsName.keyword", "*"+searchInfoEO.getLawsName()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getWSSFCY())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getWSSFCY().equals("all") && !searchInfoEO.getWSSFCY().equals("[]") ) { - String[] arrlist = searchInfoEO.getWSSFCY().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("WSSFCY.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsEnName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsEnName.keyword", "*"+searchInfoEO.getLawsEnName()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getCBCD())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getCBCD().equals("all") && !searchInfoEO.getCBCD().equals("[]") ) { - String[] arrlist = searchInfoEO.getCBCD().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("CBCD.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsNo())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsNo.keyword", "*"+searchInfoEO.getLawsNo()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getZRLX())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getZRLX().equals("all") && !searchInfoEO.getZRLX().equals("[]") ) { - String[] arrlist = searchInfoEO.getZRLX().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("ZRLX.keyword", arrlist)); - } - } - //编号,国内外标准,国内外法规,企业标准 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getNumberShow())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery(numbershowStr, "*"+searchInfoEO.getNumberShow()+"*")); - } - //名称,国内外标准,国内外法规,企业标准 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getNameShow())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery(nameshowStr, "*"+searchInfoEO.getNameShow()+"*")); - } - //发布部门 - if (StringUtils.isNotBlank(searchInfoEO.getIssueUnit())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("issueUnit", searchInfoEO.getIssueUnit())); - } - //文件状态,国内外标准,国内外法规,企业标准 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getStandState())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getStandState().equals("all") && !searchInfoEO.getStandState().equals("[]")) { - String[] arrlist = searchInfoEO.getStandState().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("statecode.keyword", arrlist)); - //boolQueryBuilder.must(QueryBuilders.matchQuery("statecode", searchInfoEO.getStandState())); - } - } - //代替文件号 - if (StringUtils.isNotBlank(searchInfoEO.getReplaceStandNum())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("replace_laws_num", searchInfoEO.getReplaceStandNum())); - } - //适用车型,国内外标准,国内外法规,企业标准 有此属性 录入可多选 - if (StringUtils.isNotBlank(searchInfoEO.getApplyArctic())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getApplyArctic().equals("all") && !searchInfoEO.getApplyArctic().equals("[]")) { - boolQueryBuilder.must(QueryBuilders.matchQuery("apply_arctic", searchInfoEO.getApplyArctic())); - } - } - //能源种类,国内外标准,国内外法规,企业标准 有此属性 录入可多选 - if (StringUtils.isNotBlank(searchInfoEO.getEnergyKind())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getEnergyKind().equals("all") && !searchInfoEO.getEnergyKind().equals("[]") ) { - boolQueryBuilder.must(QueryBuilders.matchQuery("energy_kind", searchInfoEO.getEnergyKind())); - } - } - //适用认证,国内外标准,国内外法规 有此属性 录入可多选 - if (StringUtils.isNotBlank(searchInfoEO.getApplyAuth())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getApplyAuth().equals("all") && !searchInfoEO.getApplyAuth().equals("[]")) { - boolQueryBuilder.must(QueryBuilders.matchQuery("apply_auth", searchInfoEO.getApplyAuth())); - } - } - //责任部门 - if (StringUtils.isNotBlank(searchInfoEO.getResponsibleUnit())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("responsibleUnit", searchInfoEO.getResponsibleUnit())); - } - //发布日期 + if (searchInfoEO.getIssueTime() != null) { Long starttime = searchInfoEO.getIssueTime().getTime(); Long endtime = searchInfoEO.getIssueTime().getTime(); RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //实施日期,国内外标准,国内外法规,企业标准 有此属性 - if (searchInfoEO.getPutTime() != null) { - Long starttime = searchInfoEO.getPutTime().getTime(); - Long endtime = searchInfoEO.getPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("put_time").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + if (StringUtils.isNotBlank(searchInfoEO.getIssueCompany())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("issueCompany.keyword", "*"+searchInfoEO.getIssueCompany()+"*")); + } + if (searchInfoEO.getIssueTime() != null) { + Long startTime = searchInfoEO.getIssueTime().getTime(); + Long endTime = searchInfoEO.getIssueTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(startTime).to(endTime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //内容摘要 - if (StringUtils.isNotBlank(searchInfoEO.getSynopsis())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("synopsis", searchInfoEO.getSynopsis())); - } - //标准英文名称 - if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("standEnName", searchInfoEO.getStandEnName())); - } - //新定型车实施日期 - if (searchInfoEO.getNewcarPutTime() != null) { - Long starttime = searchInfoEO.getNewcarPutTime().getTime(); - Long endtime = searchInfoEO.getNewcarPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("newcarPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + if (searchInfoEO.getCommentCycleStart() != null) { + Long startTime = searchInfoEO.getCommentCycleStart().getTime(); + Long endTime = searchInfoEO.getCommentCycleStart().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("commentCycleStart_data").format(EPOCH_MILLIS).from(startTime).to(endTime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //在产车实施日期 - if (searchInfoEO.getProductPutTime() != null) { - Long starttime = searchInfoEO.getProductPutTime().getTime(); - Long endtime = searchInfoEO.getProductPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("productPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + if (searchInfoEO.getCommentCycleEnd() != null) { + Long startTime = searchInfoEO.getCommentCycleEnd().getTime(); + Long endTime = searchInfoEO.getCommentCycleEnd().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("commentCycleEnd_data").format(EPOCH_MILLIS).from(startTime).to(endTime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //新生产车实施日期 - if (searchInfoEO.getNewproductPutTime() != null) { - Long starttime = searchInfoEO.getNewproductPutTime().getTime(); - Long endtime = searchInfoEO.getNewproductPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("newproductPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } - //新生产车实施日期 - if (searchInfoEO.getRegisterPutTime() != null) { - Long starttime = searchInfoEO.getRegisterPutTime().getTime(); - Long endtime = searchInfoEO.getRegisterPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("registerPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } - //被代替标准号 - if (StringUtils.isNotBlank(searchInfoEO.getReplacedStandNum())) { - boolQueryBuilder.must(QueryBuilders.matchQuery(replacedStandNumStr, searchInfoEO.getReplacedStandNum())); - } - //关键词 - if (StringUtils.isNotBlank(searchInfoEO.getTags())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("standTag", searchInfoEO.getTags())); - } - //所属类别,国内外标准, 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getCategory())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getCategory().equals("all") && !searchInfoEO.getCategory().equals("[]")) { - boolQueryBuilder.must(QueryBuilders.matchQuery("category", searchInfoEO.getCategory())); + + if (StringUtils.isNotBlank(searchInfoEO.getLawsTextState())) { + List list = Arrays.asList(searchInfoEO.getLawsTextState().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("lawsTextState.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsTextState.keyword", "*"+searchInfoEO.getLawsTextState()+"*")); } } - //发布时间范围 - if (searchInfoEO.getIssueTimeSt() != null || searchInfoEO.getIssueTimeEd() != null) { - Long starttime = 0L; - Long endtime = 0L; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - if (searchInfoEO.getIssueTimeSt() != null) { - starttime = searchInfoEO.getIssueTimeSt().getTime(); - } else { - starttime = sdf.parse("1970-01-01 00:00:00").getTime(); + if (StringUtils.isNotBlank(searchInfoEO.getLawsSyqy())) { + List list = Arrays.asList(searchInfoEO.getLawsSyqy().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("lawsSyqy.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsSyqy.keyword", "*"+searchInfoEO.getLawsSyqy()+"*")); } - if (searchInfoEO.getIssueTimeEd() != null) { - endtime = searchInfoEO.getIssueTimeEd().getTime(); - } else { - endtime = sdf.parse("2999-01-01 00:00:00").getTime(); - } - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); } - if (searchInfoEO.getPutTimeSt() != null || searchInfoEO.getPutTimeEd() != null) { - Long starttime = 0L; - Long endtime = 0L; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - if (searchInfoEO.getPutTimeSt() != null) { - starttime = searchInfoEO.getPutTimeSt().getTime(); - } else { - starttime = sdf.parse("1970-01-01 00:00:00").getTime(); + if (StringUtils.isNotBlank(searchInfoEO.getLawsSycx())) { + List list = Arrays.asList(searchInfoEO.getLawsSycx().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("lawsSycx.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsSycx.keyword", "*"+searchInfoEO.getLawsSycx()+"*")); } - if (searchInfoEO.getPutTimeEd() != null) { - endtime = searchInfoEO.getPutTimeEd().getTime(); - } else { - endtime = sdf.parse("2999-01-01 00:00:00").getTime(); - } - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(PUT_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); } + + if (StringUtils.isNotBlank(searchInfoEO.getIsRelateAccess())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("isRelateAccess.keyword", "*"+searchInfoEO.getIsRelateAccess()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsYear())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsYear.keyword", "*"+searchInfoEO.getLawsYear()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsNotisyncNum())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsNotisyncNum.keyword", "*"+searchInfoEO.getLawsNotisyncNum()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsBulletin())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsBulletin.keyword", "*"+searchInfoEO.getLawsBulletin()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsLabel())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsLabel.keyword", "*"+searchInfoEO.getLawsLabel()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsRemark())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsRemark.keyword", "*"+searchInfoEO.getLawsRemark()+"*")); + } + querySeniorMsg(searchInfoEO,boolQueryBuilder); return boolQueryBuilder; } @@ -801,8 +708,8 @@ public class SearchCenterServiceImpl implements SearchCenterService { List fieldNameList = new ArrayList<>(); String[] standStr = {"content","standSort","standNumber","standYear","stand_name","standEnName","standNatureName", "textStatusName","isRelateAccessName","numbershow","standSystem"}; - String[] lawsStr = {"content", - "standSort","stand_code","standYear","stand_name","standEnName","textStatusBuss"}; + String[] lawsStr = {"content","lawsType","lawsNumber","lawsName","lawsEnName","lawsNo","issueTime","issueCompany","commentCycleStart", + "commentCycleEnd","lawsTextState","lawsSyqy","lawsSycx","isRelateAccess","lawsYear","lawsNotisyncNum","lawsBulletin","lawsLabel","lawsRemark"}; String[] bussstandStr = {"content","standSort","stand_code","standYear","stand_name","standEnName","textStatusBuss"}; for (String field : fieldList) { // 关键字查询属性字段 diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java index 21240490..e6593226 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java @@ -243,34 +243,42 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { attrInfoMap.put(key, "null"); } } - fullTextSearchEO.put("title",attrInfoMap.get("numbershow")+" "+attrInfoMap.get("nameshow")); + fullTextSearchEO.put("title",attrInfoMap.get("lawsNumber")+" "+attrInfoMap.get("lawsNumber")); StringBuilder contentBuilder = new StringBuilder(); - contentBuilder.append("适用区域: ").append(attrInfoMap.get("countryShow")).append(" "); - contentBuilder.append("政策状态: ").append(attrInfoMap.get("standstateshow")).append(" "); - contentBuilder.append("政策号: ").append(attrInfoMap.get("numbershow")).append(" "); - contentBuilder.append("政策名称: ").append(attrInfoMap.get("nameshow")).append(" "); - contentBuilder.append("英文名称: ").append(attrInfoMap.get("standEnName")).append(" "); + contentBuilder.append("政策分类: ").append(attrInfoMap.get("lawsTypeName")).append(" "); + contentBuilder.append("政策编号: ").append(attrInfoMap.get("lawsNumber")).append(" "); + contentBuilder.append("中文名称: ").append(attrInfoMap.get("lawsName")).append(" "); + contentBuilder.append("英文名称: ").append(attrInfoMap.get("lawsEnName")).append(" "); + contentBuilder.append("政策文号: ").append(attrInfoMap.get("lawsNo")).append(" "); // contentBuilder.append("发布日期:"+attrInfoMap.get("issueTime")+" "); - contentBuilder.append("纳入标准法规清单的国家/地区: ").append(attrInfoMap.get("accessCountry")).append(" "); - contentBuilder.append("代替政策编号: ").append(attrInfoMap.get("replaceLawsNum")).append(" "); - contentBuilder.append("重要度: ").append(attrInfoMap.get("isRelateAccess")).append(" "); - contentBuilder.append("要求类型: ").append(attrInfoMap.get("YQLXShow")).append(" "); - contentBuilder.append("适用车辆类型: ").append(attrInfoMap.get("SYCLLXShow")).append(" "); -// contentBuilder.append("监管类型:"+attrInfoMap.get("")+" "); - contentBuilder.append("监管类型: ").append(attrInfoMap.get("ZRLXShow")).append(" "); - contentBuilder.append("个性化标签: ").append(attrInfoMap.get("GXHBQShow")).append(" "); - contentBuilder.append("新车型实施日期(文本): ").append(attrInfoMap.get("XCXSSRQ")).append(" "); - contentBuilder.append("在产车实施日期(文本): ").append(attrInfoMap.get("ZCCSSRQ")).append(" "); - contentBuilder.append("EOP实施日期(文本): ").append(attrInfoMap.get("EOPSSRQ")).append(" "); - contentBuilder.append("维护工程师: ").append(attrInfoMap.get("ZCGCSShow")).append(" "); - contentBuilder.append("组织标准起草的执行机构/单位: ").append(attrInfoMap.get("FBJGShow")).append(" "); - contentBuilder.append("SVPPS: ").append(attrInfoMap.get("SVPPSName")).append(" "); - contentBuilder.append("相关部门: ").append(attrInfoMap.get("XGBMShow")).append(" "); - contentBuilder.append("责任部门: ").append(attrInfoMap.get("ZRBMShow")).append(" "); - contentBuilder.append("FO: ").append(attrInfoMap.get("FOShow")).append(" "); - contentBuilder.append("归口管理部门: ").append(attrInfoMap.get("GKGLBMShow")).append(" "); - contentBuilder.append("我司是否参与: ").append(attrInfoMap.get("WSSFCYShow")).append(" "); - contentBuilder.append("相关流程: ").append(attrInfoMap.get("XGLC")).append(" "); + contentBuilder.append("地区: ").append(attrInfoMap.get("country")).append(" "); + contentBuilder.append("发文日期: ").append(attrInfoMap.get("issueTime")).append(" "); + contentBuilder.append("发文单位: ").append(attrInfoMap.get("issueCompany")).append(" "); + contentBuilder.append("征集意见周期-起始时间: ").append(attrInfoMap.get("commentCycleStart")).append(" "); + contentBuilder.append("征集意见周期-结束时间: ").append(attrInfoMap.get("commentCycleEnd")).append(" "); + contentBuilder.append("文本状态: ").append(attrInfoMap.get("lawsTextStateName")).append(" "); + contentBuilder.append("适用区域: ").append(attrInfoMap.get("lawsSyqyName")).append(" "); + contentBuilder.append("适用车型: ").append(attrInfoMap.get("lawsSycxName")).append(" "); + contentBuilder.append("是否纳入认证清单: ").append(attrInfoMap.get("isRelateAccessName")).append(" "); + contentBuilder.append("年度: ").append(attrInfoMap.get("lawsYearName")).append(" "); + contentBuilder.append("福田转发通知文号: ").append(attrInfoMap.get("lawsNotisyncNum")).append(" "); + contentBuilder.append("信息简报: ").append(attrInfoMap.get("lawsBulletin")).append(" "); + contentBuilder.append("标签: ").append(attrInfoMap.get("lawsLabel")).append(" "); + contentBuilder.append("备注: ").append(attrInfoMap.get("lawsRemark")).append(" "); + contentBuilder.append("实施日期(文本): ").append(attrInfoMap.get("SSRQLAWSName")).append(" "); + contentBuilder.append("新车型实施日期(文本): ").append(attrInfoMap.get("XCXSSRQLAWSName")).append(" "); + contentBuilder.append("在产车实施日期(文本): ").append(attrInfoMap.get("ZCXSSRQLAWSName")).append(" "); + contentBuilder.append("发布机构: ").append(attrInfoMap.get("FBJGLAWSName")).append(" "); + contentBuilder.append("我司参与深度: ").append(attrInfoMap.get("CYSDLAWSName")).append(" "); + contentBuilder.append("投稿人: ").append(attrInfoMap.get("TGRLAWSName")).append(" "); + contentBuilder.append("投稿单位: ").append(attrInfoMap.get("TGRLAWSName")).append(" "); + contentBuilder.append("能源类型: ").append(attrInfoMap.get("NYLXLAWSName")).append(" "); + contentBuilder.append("适用认证: ").append(attrInfoMap.get("YYRZLAWSName")).append(" "); + contentBuilder.append("责任部门: ").append(attrInfoMap.get("ZRBMLAWSName")).append(" "); + contentBuilder.append("责任工程师: ").append(attrInfoMap.get("ZRGCSLAWSName")).append(" "); + contentBuilder.append("代替文件号: ").append(attrInfoMap.get("DTWJHLAWSName")).append(" "); + contentBuilder.append("被代替文件号: ").append(attrInfoMap.get("BDTWJHLAWSName")).append(" "); + contentBuilder.append("引用标准&政策: ").append(attrInfoMap.get("YYBZZCLAWSName")).append(" "); // contentBuilder.append("相关资料:"+attrInfoMap.get("")+" "); if (attrInfoMap.containsKey("content")){ if (null !=attrInfoMap.get("content") && StringUtils.isNotBlank(String.valueOf(attrInfoMap.get("content")))){ @@ -285,10 +293,10 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { StringBuilder textContent = replaceAll(contentBuilder, "null", "--"); fullTextSearchEO.put("textContent",textContent.toString()); - if (null != attrInfoMap.get("issue_time") && !"".equals(attrInfoMap.get("issue_time")) && !"null".equals(attrInfoMap.get("issue_time"))) { - fullTextSearchEO.put("issue_time", attrInfoMap.get("issue_time")); + if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) { + fullTextSearchEO.put("issue_time", attrInfoMap.get("issueTime")); }else { - fullTextSearchEO.put("issue_time", ""); + fullTextSearchEO.put("issue_time", "--"); } }else if ("bussstand".equals(attrInfoMap.get("type"))){ diff --git a/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java b/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java index 84b94060..3caafc2e 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java +++ b/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java @@ -11,6 +11,7 @@ import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -37,9 +38,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { 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()); + lawsTypeList.add(SarTypeEnum.LAWS_STAND.getValue()); standStateList.add("DRAFT"); standStateList.add("ADVICE"); standStateList.add("RADYSUBMIT"); @@ -78,6 +77,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { public static List numFieldListLaws = new ArrayList<>(); // 属性表数字类型字段 public static List lawsInlandAttrFieldList = new ArrayList<>(); // 属性表数字类型字段 public static List lawsForeignAttrFieldList = new ArrayList<>(); // 全部政策字段属性 + public static List lawsStandAttrFieldList = new ArrayList<>(); // 全部政策字段属性 public static Map selectFieldMapLaws = new HashMap<>(); // 下拉属性字段及选项值 // 企标属性字段信息 @@ -95,7 +95,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { - logger.info("项目启动时加载-搜索中心-查询标准属性类!"); + logger.info("项目启动时加载--查询标准属性类!"); // 属性表需要查询的字段 StringBuilder fieldInfoBuilder = new StringBuilder(); StringBuilder fieldInfoBuilderLaws = new StringBuilder(); @@ -108,7 +108,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { qw.orderByAsc("ORDER_NUM"); List getDetailsList = sarStandAttrDetailsEOService.list(qw); if (getDetailsList != null && !getDetailsList.isEmpty()) { - logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到" + getDetailsList.size() + "条属性字段数据!"); + logger.info("项目启动时加载--查询标准属性类--查询到" + getDetailsList.size() + "条属性字段数据!"); for (SarStandAttrDetails detailsEO : getDetailsList) { String sarType = detailsEO.getSarType(); String attrType = detailsEO.getAttrType(); @@ -137,12 +137,16 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { 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)) { + if (SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) { lawsForeignAttrFieldList.add(detailsEO); } + if (SarTypeEnum.LAWS_STAND.getValue().equals(sarType)) { + lawsStandAttrFieldList.add(detailsEO); + } + + if (SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) { + lawsInlandAttrFieldList.add(detailsEO); + } fieldInfoBuilderLaws.append(detailsEO.getAttrField() + ","); fieldInfoNameBuilderLaws.append(detailsEO.getAttrName() + ","); queryFieldListLaws.add(detailsEO.getAttrField()); @@ -193,9 +197,9 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { if (StringUtils.isNotBlank(queryFieldBuss)) { queryFieldBuss = queryFieldBuss.substring(0,queryFieldBuss.length()-1); } - logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到属性字段为:" + queryField); - logger.info("项目启动时加载-搜索中心-查询政策属性类--查询到属性字段为:" + queryFieldLaws); - logger.info("项目启动时加载-搜索中心-查询企标属性类--查询到属性字段为:" + queryFieldBuss); + logger.info("项目启动时加载--查询标准属性类--查询到属性字段为:" + queryField); + logger.info("项目启动时加载--查询政策属性类--查询到属性字段为:" + queryFieldLaws); + logger.info("项目启动时加载--查询企标属性类--查询到属性字段为:" + queryFieldBuss); queryFieldNames = fieldInfoNameBuilder.toString(); queryFieldNamesLaws = fieldInfoNameBuilderLaws.toString(); queryFieldNamesBuss = fieldInfoNameBuilderBuss.toString(); @@ -208,11 +212,11 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { if (StringUtils.isNotBlank(queryFieldNamesBuss)) { queryFieldNamesBuss = queryFieldNamesBuss.substring(0,queryFieldNamesBuss.length()-1); } - logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到属性字段名称为:" + queryFieldNames); - logger.info("项目启动时加载-搜索中心-查询政策属性类--查询到属性字段名称为:" + queryFieldNamesLaws); - logger.info("项目启动时加载-搜索中心-查询企标属性类--查询到属性字段名称为:" + queryFieldNamesBuss); + logger.info("项目启动时加载--查询标准属性类--查询到属性字段名称为:" + queryFieldNames); + logger.info("项目启动时加载--查询政策属性类--查询到属性字段名称为:" + queryFieldNamesLaws); + logger.info("项目启动时加载--查询企标属性类--查询到属性字段名称为:" + queryFieldNamesBuss); } else { - logger.error("项目启动时加载-搜索中心-查询标准属性类--未查询到属性字段数据!"); + logger.error("项目启动时加载--查询标准属性类--未查询到属性字段数据!"); } } diff --git a/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java b/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java index 6a0731ca..6ffdf0e8 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java +++ b/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java @@ -11,6 +11,7 @@ public enum SarTypeEnum { FOREIGN_STAND("FOREIGN_STAND","国外标准法规"),FOREIGN_LAWS("FOREIGN_LAWS","国外政策"), STAND("STAND","国内外标准法规"), LAWS("LAWS","国内外政策"), + LAWS_STAND("LAWS_STAND","国内外政策"), BUSINESS("BUSINESS","企业标准"), BUSS("BUSS","企业标准"), SPLIT("SPLIT","标准拆分"), diff --git a/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java b/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java index cc804198..d41522ac 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java +++ b/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java @@ -11,6 +11,7 @@ public enum SarTypeEnum { FOREIGN_STAND("FOREIGN_STAND","国外标准法规"),FOREIGN_LAWS("FOREIGN_LAWS","国外政策"), STAND("STAND","国内外标准法规"), LAWS("LAWS","国内外政策"), + LAWS_STAND("LAWS_STAND","国内外政策"), BUSINESS("BUSINESS","企业标准"), BUSS("BUSS","企业标准"), SPLIT("SPLIT","标准拆分"), diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java index 1ac295d6..d72f08db 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java @@ -2,6 +2,7 @@ package com.adc.da.mq; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarLawsInfo.entity.SarLawsInfo; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; import net.sf.json.JSONObject; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -32,15 +33,17 @@ public class CreateStandMQService { this.rabbitTemplate.convertAndSend("stand-exchange_SQ_GSAR_RELEASE", "stand-key_SQ_GSAR_RELEASE", standMap); } - public void sendLawsMQ(SarLawsInfo sarLawsInfoEO, String addOrUpdate) throws Exception{ - JSONObject json = JSONObject.fromObject(sarLawsInfoEO); - String sarLawsInfoStr = json.toString(); + public void sendLawsMQ(SarLawsStandInfo sarLawsStandInfo, String addOrUpdate) throws Exception{ +// JSONObject json = JSONObject.fromObject(sarLawsStandInfo); + com.alibaba.fastjson.JSONObject object = (com.alibaba.fastjson.JSONObject) com.alibaba.fastjson.JSONObject.toJSON(sarLawsStandInfo); + + String sarLawsInfoStr = object.toString(); Map lawsMap = new HashMap(); lawsMap.put("sarLaws", sarLawsInfoStr); lawsMap.put("addOrUpdate", addOrUpdate); //发送消息队列 - this.rabbitTemplate.convertAndSend("laws-exchange_SQ_GSAR", "laws-key_SQ_GSAR", lawsMap); + this.rabbitTemplate.convertAndSend("laws-exchange_SQ_GSAR_RELEASE", "laws-key_SQ_GSAR_RELEASE", lawsMap); } public void sendBussStandMQ(Object sarBussionessStandEO, String addOrUpdate) throws Exception{ diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java new file mode 100644 index 00000000..92c47cc2 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java @@ -0,0 +1,314 @@ +package com.adc.da.mq; + +import com.adc.da.slrs.otSvpps.service.IOtSvppsService; +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; +import com.adc.da.slrs.sysInfo.service.SysInfoEOService; +import com.adc.da.sys.dao.DicTypeEODao; +import com.adc.da.utils.util.InitStandAttrUtil; +import com.alibaba.fastjson.JSON; +import com.rabbitmq.client.Channel; +import net.sf.json.JSONObject; +import org.apache.commons.lang.StringUtils; +import org.json.JSONTokener; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +@Component +public class SendLawsMQService { + + @Autowired + private ISarStandardsInfoService sarStandardsInfoService; + + @Autowired + private SysInfoEOService sysInfoEOService; + + @Autowired + private DicTypeEODao dicTypeEODao; + + private static final Logger logger = LoggerFactory.getLogger(SendLawsMQService.class); + + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createLawsMQ_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "laws-exchange_SQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "laws-key_SQ_GSAR_RELEASE")) + public void createMQ(Map bussMap, Message message, Channel channel) throws Exception{ + try{ + try{ + Thread.sleep(5000); + insertOrUpdateBussInfo(bussMap); + }catch(InterruptedException e){ + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("搜索中心国内外政策消息队列进入转换前失败!"); + logger.error(e.getMessage(),e); + } finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag,false); + logger.debug("消息确认成功!!!!!!!!!"); + } + } + + public void insertOrUpdateBussInfo(Map bussMap) throws Exception { + String addOrUpdate = bussMap.get("addOrUpdate").toString(); + String sarBuss = bussMap.get("sarLaws").toString(); +// JSONObject jsonobject = JSONObject.fromObject(sarBuss); + SarLawsStandInfo infoEO = com.alibaba.fastjson.JSONObject.parseObject(sarBuss,SarLawsStandInfo.class); + +// SarLawsStandInfo infoEO = (SarLawsStandInfo) JSONObject.toBean(jsonobject,SarLawsStandInfo.class); + + String FZRQFSRQ = null; + if ("updateFromAct".equals(addOrUpdate)){ + addOrUpdate = "update"; + FZRQFSRQ = "1"; + } + + String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr(); + Map attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr); + Map infoMap = infoEO.getAttrInfoCaseMap(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + //修改索引信息表 + // 往索引表中插入数据 + String baseSearchContent = ""; + String getCodeName = ""; + Map saveMap = new HashMap<>(); + + //发布日期 高级查询 + saveMap.put("issueTime",dateFormatToStr(infoEO.getIssueTime())); + 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(dateFormatToStr(infoEO.getIssueTime())+" 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",-1000000000000000000L); + } + + //征集意见周期-起始时间 + saveMap.put("commentCycleStart",dateFormatToStr(infoEO.getCommentCycleStart())); + Date commentCycleStart_data = null; + if (StringUtils.isNotBlank(infoEO.getCommentCycleStart())) { + try { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + commentCycleStart_data = format.parse(dateFormatToStr(infoEO.getCommentCycleStart())+" 00:00:00"); + } catch (ParseException ignored) { + } + } + if (commentCycleStart_data != null) { + saveMap.put("commentCycleStart_data",commentCycleStart_data.getTime()); + }else{ + saveMap.put("commentCycleStart_data",-1000000000000000000L); + } + + //征集意见周期-结束时间 + saveMap.put("commentCycleEnd",dateFormatToStr(infoEO.getCommentCycleEnd())); + Date commentCycleEnd_data = null; + if (StringUtils.isNotBlank(infoEO.getCommentCycleStart())) { + try { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + commentCycleEnd_data = format.parse(dateFormatToStr(infoEO.getCommentCycleStart())+" 00:00:00"); + } catch (ParseException ignored) { + } + } + if (commentCycleEnd_data != null) { + saveMap.put("commentCycleEnd_data",commentCycleEnd_data.getTime()); + }else{ + saveMap.put("commentCycleEnd_data",-1000000000000000000L); + } + + saveMap.put("id",infoEO.getId()); + String lawsTypeName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsType())){ + List valArr = Arrays.asList(infoEO.getLawsType().split(",")); + lawsTypeName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsType",infoEO.getLawsType()); + saveMap.put("lawsTypeName",lawsTypeName); + saveMap.put("lawsNumber",infoEO.getLawsNumber()); + saveMap.put("lawsName",infoEO.getLawsName()); + saveMap.put("lawsEnName",infoEO.getLawsEnName()); + saveMap.put("lawsNo",infoEO.getLawsNo()); + saveMap.put("issueCompany",infoEO.getIssueCompany()); + String lawsSyqyName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsSyqy())){ + List valArr = Arrays.asList(infoEO.getLawsSyqy().split(",")); + lawsSyqyName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsSyqy",infoEO.getLawsSyqy()); + saveMap.put("lawsSyqyName",lawsSyqyName); + String lawsSycxName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsSycx())){ + List valArr = Arrays.asList(infoEO.getLawsSycx().split(",")); + lawsSycxName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsSycx",infoEO.getLawsSycx()); + saveMap.put("lawsSycxName",lawsSycxName); + String isRelateAccessName = ""; + if(infoEO.getIsRelateAccess() != null && StringUtils.isNotBlank(infoEO.getIsRelateAccess())){ + if(infoEO.getIsRelateAccess().equals("1")){ + isRelateAccessName = "是"; + }else { + isRelateAccessName = "否"; + } + } + saveMap.put("isRelateAccess",infoEO.getIsRelateAccess()); + saveMap.put("isRelateAccessName",isRelateAccessName); + String lawsYearName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsYear())){ + List valArr = Arrays.asList(infoEO.getLawsYear().split(",")); + lawsYearName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsYear",infoEO.getLawsYear()); + saveMap.put("lawsYearName",lawsYearName); + saveMap.put("lawsNotisyncNum",infoEO.getLawsNotisyncNum()); + saveMap.put("lawsBulletin",infoEO.getLawsBulletin()); + String lawsLabelName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsLabel())){ + List valArr = Arrays.asList(infoEO.getLawsLabel().split(",")); + lawsLabelName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsLabel",infoEO.getLawsLabel()); + saveMap.put("lawsLabelName",lawsLabelName); + saveMap.put("lawsRemark",infoEO.getLawsRemark()); + String lawsTextStateName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsTextState())){ + List valArr = Arrays.asList(infoEO.getLawsTextState().split(",")); + lawsTextStateName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsTextState",infoEO.getLawsTextState()); + saveMap.put("lawsTextStateName",lawsTextStateName); + //新加字段 + saveMap.put("country",infoEO.getCountry()); + if(StringUtils.isNotEmpty(infoEO.getCountry())){ + String codeName = sysInfoEOService.getDicNamesByCodes(infoEO.getCountry()); + saveMap.put("countryShow",codeName); + } + // 自定义属性字段 + if (attrInfoMap != null && !attrInfoMap.isEmpty()) { + attrInfoMap = sysInfoEOService.changeSelectInfo(attrInfoMap, "laws",baseSearchContent); + saveMap.putAll(attrInfoMap); + } + + saveMap.put("type","laws"); + saveMap.put("validFlag","0"); + saveMap.put("content",infoEO.getFileIds()); + + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + + // 动态存储属性字段 + for (String field : fieldInfoList) { + saveMap.put(field,attrInfoMap.getOrDefault(field,"")); + String fieldValue = ""; + String fieldFilter = field.toLowerCase(); + if(infoMap.get(fieldFilter) != null && StringUtils.isNotBlank(infoMap.get(fieldFilter).toString())){ + Object json= new JSONTokener(infoMap.get(fieldFilter).toString()).nextValue(); + if(!json.toString().equals("null")){ + fieldValue = infoMap.get(fieldFilter).toString(); + } + } + saveMap.put(field+"Name",fieldValue); + } + + //当建立代替时,产生的没有文件的问题 + if (StringUtils.isBlank(String.valueOf(saveMap.get("content")))) { + String context = filterStringIsNotBlank(String.valueOf(saveMap.get("ZCWBLAWS")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("GCWBLAWS")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("JDWJLAWS")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("GLWJLAWS")),true); + context = context.replace(",,", ","); + saveMap.put("content", context); + } + if("add".equals(addOrUpdate)){ + sarStandardsInfoService.insertIntoIndexForMap(saveMap); + } else { + sarStandardsInfoService.updateIntoIndexForMap(saveMap); + } + } + + private String filterStringIsNotBlank(String str,boolean boo){ + String f = ","; + return (str == null || str.equals("") || str.equals("null")) ? "" : (boo ? str+f : str); + } + + 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 dealNumberMsg (Map saveMap,SarBussionessStand infoEO,String getCodeName) { + /*if(StringUtils.isNotEmpty(infoEO.getStandYear())){ + String num = getCodeName + " " + infoEO.getStandCode() + "-" + infoEO.getStandYear(); + saveMap.put("numbershow",num); + int index = infoEO.getStandCode().indexOf("."); + int index1 = infoEO.getStandCode().indexOf(":"); + String numberExpNull = ""; + if(index > -1){ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + num.replaceAll(" ","") + + "-" + getCodeName + infoEO.getStandCode().substring(0,index) + "-" + infoEO.getStandCode().substring(0,index); + }else if(index1 > -1){ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + num.replaceAll(" ","") + + "-" + getCodeName + infoEO.getStandCode().substring(0,index1) + "-" + infoEO.getStandCode().substring(0,index1); + }else{ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + num.replaceAll(" ",""); + } + } else { + String number = getCodeName + " " + infoEO.getStandCode(); + saveMap.put("numbershow",number); + String numberExpNull = ""; + int index = infoEO.getStandCode().indexOf("."); + if(index > -1){ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + number.replaceAll(" ","") + + "-" + getCodeName + infoEO.getStandCode().substring(0,index) + "-" + infoEO.getStandCode().substring(0,index); + }else{ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + number.replaceAll(" ",""); + } + saveMap.put("numberExpNull",numberExpNull); + }*/ + String number = infoEO.getStandCode(); + saveMap.put("numbershow",number); + String numberExpNull = ""; + int index = infoEO.getStandCode().indexOf("."); + if(index > -1){ + numberExpNull = infoEO.getStandCode() + "-" + number.replaceAll(" ","") + + "-" + infoEO.getStandCode().substring(0,index) + "-" + infoEO.getStandCode().substring(0,index); + }else{ + numberExpNull = infoEO.getStandCode() + "-" + number.replaceAll(" ",""); + } + saveMap.put("numberExpNull",numberExpNull); + return saveMap; + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 229c613b..9e0b430d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -865,10 +865,10 @@ public class SarBussionessStandServiceImpl extends ServiceImpl getAttrMap = row.getAttrInfoMap(); + Map getAttrMap = row.getAttrInfoCaseMap(); if (getAttrMap != null && getAttrMap.size() > 0) { for (Map.Entry entry : getAttrMap.entrySet()) { - String name = entry.getKey(); + String name = entry.getKey().toUpperCase(); String value = ""; List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/dao/SarLawsAttrInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/dao/SarLawsAttrInfoDao.java index 8707ba7e..00da5665 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/dao/SarLawsAttrInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/dao/SarLawsAttrInfoDao.java @@ -4,6 +4,7 @@ import com.adc.da.slrs.sarLawsAttrInfo.entity.SarLawsAttrInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import io.swagger.models.auth.In; import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; import java.util.Map; @@ -15,6 +16,7 @@ import java.util.Map; * @author super_liu * @since 2021-06-04 */ +@Repository public interface SarLawsAttrInfoDao extends BaseMapper { void deleteLawsAttr(@Param("fieldInfo") String fieldInfo); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/controller/SarLawsFileController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/controller/SarLawsFileController.java new file mode 100644 index 00000000..1205d921 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/controller/SarLawsFileController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.sarLawsFile.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsFile|") +@RequestMapping("/sarLawsFile/sar-laws-file") +public class SarLawsFileController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/dao/SarLawsFileDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/dao/SarLawsFileDao.java new file mode 100644 index 00000000..534dff86 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/dao/SarLawsFileDao.java @@ -0,0 +1,40 @@ +package com.adc.da.slrs.sarLawsFile.dao; + +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Repository +public interface SarLawsFileDao extends BaseMapper { + + List selectFileBylawsId(String lawsId); + + List selectFileBylawsIdAndId(SarLawsFile laws); + + List selectFileByAttId(String attId); + + List selectFileMsgByAttId(String attId); + + List selectFileByResId(SarLawsFile sarBussStandFileEO); + + int deleteBylawsId(String standId); + + int insertForeach(List list); //批量新增 + + int insertSelective(SarLawsFile sarBussStandFile); + + int updateByPrimaryKeySelective(SarLawsFile sarBussStandFile); + + int deleteByPrimaryKey(String value); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/entity/SarLawsFile.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/entity/SarLawsFile.java new file mode 100644 index 00000000..7cdd6112 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/entity/SarLawsFile.java @@ -0,0 +1,98 @@ +package com.adc.da.slrs.sarLawsFile.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableField; +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; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsFile对象", description="") +public class SarLawsFile extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableField("ID") + private String id; + + @ApiModelProperty(value = "政策ID") + @TableField("LAWS_ID") + private String lawsId; + + @ApiModelProperty(value = "政策文件分类") + @TableField("LAWS_FILE_CLASSIFY") + private String lawsFileClassify; + + @ApiModelProperty(value = "文件主键") + @TableField("ATT_ID") + private String attId; + + @ApiModelProperty(value = "文件名称") + @TableField("FILE_NAME") + private String fileName; + + @ApiModelProperty(value = "文件后缀") + @TableField("FILE_SUFFIX") + private String fileSuffix; + + @ApiModelProperty(value = "使用模式(SOURCE_FILE原文件,WEB_FILE转换后文件)") + @TableField("USE_MODEL") + private String useModel; + + @ApiModelProperty(value = "加密密码") + @TableField("PASSWORD") + private String password; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + @ApiModelProperty(value = "转换原文件id") + @TableField("ORI_ATT_ID") + private String oriAttId; + + + @TableField(exist = false) + private List idList = new ArrayList<>(); + + @TableField(exist = false) + private String useModule; + @TableField(exist = false) + private String resId; + @TableField(exist = false) + private Integer pageCount; + @TableField(exist = false) + private String fileOldName; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/ISarLawsFileService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/ISarLawsFileService.java new file mode 100644 index 00000000..333c80c8 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/ISarLawsFileService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarLawsFile.service; + +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsFileService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/impl/SarLawsFileServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/impl/SarLawsFileServiceImpl.java new file mode 100644 index 00000000..5586e2af --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/impl/SarLawsFileServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.sarLawsFile.service.impl; + +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.adc.da.slrs.sarLawsFile.dao.SarLawsFileDao; +import com.adc.da.slrs.sarLawsFile.service.ISarLawsFileService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsFileServiceImpl extends ServiceImpl implements ISarLawsFileService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java index 7defe663..817149b8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java @@ -2,9 +2,12 @@ package com.adc.da.slrs.sarLawsInfo.dao; import com.adc.da.slrs.sarLawsInfo.entity.SarLawsInfo; import com.adc.da.slrs.sarLawsInfo.page.SarLawsInfoEOPage; +import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; +import java.util.Date; import java.util.List; /** @@ -15,6 +18,7 @@ import java.util.List; * @author super_liu * @since 2021-06-01 */ +@Repository public interface SarLawsInfoDao extends BaseMapper { Integer selectLawsColumn(@Param("columnName") String columnName); @@ -22,4 +26,85 @@ public interface SarLawsInfoDao extends BaseMapper { List queryByPage(SarLawsInfoEOPage page); Integer queryByCount(SarLawsInfoEOPage page); + + /** + * @return com.adc.da.lawss.entity.SarLawsInfo + * @Author yangxuenan + * @Description 通过id查询详细信息 + * Date 2018/9/21 16:42 + * @Param [id] + **/ + SarLawsInfo selectInfoById(String id); + + /** + * @return java.util.List + * @Author yangxuenan + * @Description 分页查询配置法规 + * Date 2018/9/30 17:02 + * @Param [page] + **/ + List queryConfigLawsByPage(SarLawsInfoEOPage page); + + int queryConfigLawsByCount(SarLawsInfoEOPage page); + + + //liwenxuan:标准法规更新数量及清单:国内法规 + Integer selectCounterLawsCountINLAND(Date visitTime); + + //liwenxuan:标准法规更新数量及清单:国内法规All + Integer selectCounterLawsCountINLANDAll(); + + //liwenxuan:标准法规更新数量及清单:国外法规 + Integer selectCounterLawsCountFOREIGN(Date visitTime); + + //liwenxuan:标准法规更新数量及清单:国外法规All + Integer selectCounterLawsCountFOREIGNAll(); + + /** + * 功能描述: 通过文件号查询详细信息 + * + * @param: [Number] + * @return: com.adc.da.lawss.entity.SarLawsInfo + * @auther: SYT + * @date: 2018/10/11 20:34 + */ + List selectInfoByNumber(@Param("number") String number, @Param("resName") String resName, @Param("type") String type); + + + /** + * 搜索中心查询相关推荐 + * + * @param: + * @auther: gaoyan + * @date: 2018/11/10 9:22 + */ + List selectRecommendLaws(SarLawsInfoEOPage pagenew); + + List selectCloseLaws(SarLawsInfoEOPage pagenew); + + /** + * 功能描述: 查询所有小于当前时间的即将实施的条目 + * + * @param: [lawsEO] + * @return: java.util.List + * @auther: SYT + * @date: 2018/11/16 15:24 + */ + List queryByPutTimeList(SarLawsInfo lawsEO); + + int updateSarStandReplaced(SarLawsInfo lawsInfoEO); + + int updateRelacedNumByNumber(SarLawsInfoEOPage lawsInfoEO); + + List selectLawsInfoByIdAndRole(SarLawsInfoEOPage lawsEOPage); + + int queryByCountForES(SarLawsInfoEOPage lawsEOPage); + + List queryByPageForES(SarLawsInfoEOPage lawsEOPage); + + int updateByPrimaryKeyForSynchron(SarLawsInfo SarLawsInfo); + + int deleteByPrimaryKeyFlag(String id); + + SarLawsInfo selectByPrimaryKeyAndTime(SarLawsInfo lawsEO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/controller/SarLawsItemValController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/controller/SarLawsItemValController.java new file mode 100644 index 00000000..2476d097 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/controller/SarLawsItemValController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.sarLawsItemVal.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsItemVal|") +@RequestMapping("/sarLawsItemVal/sar-laws-item-val") +public class SarLawsItemValController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/dao/SarLawsItemValDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/dao/SarLawsItemValDao.java new file mode 100644 index 00000000..7390a128 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/dao/SarLawsItemValDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarLawsItemVal.dao; + +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface SarLawsItemValDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/entity/SarLawsItemVal.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/entity/SarLawsItemVal.java new file mode 100644 index 00000000..bda17ee6 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/entity/SarLawsItemVal.java @@ -0,0 +1,59 @@ +package com.adc.da.slrs.sarLawsItemVal.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsItemVal对象", description="") +public class SarLawsItemVal extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "法规条目ID") + @TableField("LAWS_ITEM_ID") + private String lawsItemId; + + @ApiModelProperty(value = "参数类型") + @TableField("PROPERTY_TYPE") + private String propertyType; + + @ApiModelProperty(value = "参数内容") + @TableField("PROPERTY_VAL") + private String propertyVal; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private BigDecimal validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + private LocalDateTime creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + private LocalDateTime modifyTime; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/ISarLawsItemValService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/ISarLawsItemValService.java new file mode 100644 index 00000000..db17c23b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/ISarLawsItemValService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarLawsItemVal.service; + +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsItemValService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/impl/SarLawsItemValServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/impl/SarLawsItemValServiceImpl.java new file mode 100644 index 00000000..5390b598 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/impl/SarLawsItemValServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.sarLawsItemVal.service.impl; + +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import com.adc.da.slrs.sarLawsItemVal.dao.SarLawsItemValDao; +import com.adc.da.slrs.sarLawsItemVal.service.ISarLawsItemValService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsItemValServiceImpl extends ServiceImpl implements ISarLawsItemValService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java index 16940b4a..06beab49 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java @@ -6,6 +6,7 @@ import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; import java.util.List; import java.util.Set; @@ -18,6 +19,7 @@ import java.util.Set; * @author super_liu * @since 2021-06-02 */ +@Repository public interface SarLawsItemsDao extends BaseMapper { Set selectClaimTypesByStandId(@Param("standId") String standId, @Param("fileType") String fileType, @Param("idList") String[] idList); @@ -25,4 +27,6 @@ public interface SarLawsItemsDao extends BaseMapper { Set selectSvppsByStandId(@Param("standId") String standId, @Param("fileType") String fileType, @Param("idList") String[] idList); List queryByList(SarLawsItemsEOPage page); + + int deleteByStandIdAndFileType(@Param("standId") String standId, @Param("fileType") String fileType); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/controller/SarLawsMenuController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/controller/SarLawsMenuController.java new file mode 100644 index 00000000..de02d5af --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/controller/SarLawsMenuController.java @@ -0,0 +1,81 @@ +package com.adc.da.slrs.sarLawsMenu.controller; + + +import com.adc.da.slrs.sarBussStandMenu.service.ISarBussStandMenuService; +import com.adc.da.slrs.sarLawsMenu.service.ISarLawsMenuService; +import com.adc.da.slrs.sarResource.entity.TsResource; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.sys.util.UUIDUtils; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +import java.util.List; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsMenu|") +@RequestMapping("/sarLawsMenu/sar-laws-menu") +public class SarLawsMenuController extends BaseController { + + @Autowired + private ISarLawsMenuService lawsMenuService; + + @Autowired + private ITsResourceService sarMenuEOService; + + @ApiOperation(value = "|SarBussStandMenuEO|修改") + @PutMapping("/removeStandInfo") +// @RequiresPermissions("lawss:sarStandMenu:update") + public ResponseMessage removeStandInfo(@RequestBody SarLawsMenu standardsInfoEO) throws Exception { + String[] idList = standardsInfoEO.getIdlist(); + int count = 0; + if(idList != null){ + for(String id : idList){ + SarLawsMenu menuEO = new SarLawsMenu(); + menuEO.setLawsId(id); + menuEO.setMenuId(standardsInfoEO.getMenuId()); + //删除所选目录下关联 + String oldMenuId = standardsInfoEO.getOldMenuId(); + if (StringUtils.isEmpty(oldMenuId)) { + oldMenuId = standardsInfoEO.getMenuId(); + } + menuEO.setOldMenuId(oldMenuId); + count += lawsMenuService.deleteByMenuId(menuEO); + //查询是否还有与其他节点的关联,若没有则增加与根节点的关联 + List getList = lawsMenuService.selectAllMenuByStandId(menuEO); + if (getList == null || getList.isEmpty()) { + // 查询根节点 + TsResource sarMenuEO = new TsResource(); + sarMenuEO.setSorDivide("BUSINESS_STAND"); + List getRootMenu = sarMenuEOService.queryMenuByDis(sarMenuEO); + menuEO.setMenuId(getRootMenu.get(0).getId()); + menuEO.setId(UUIDUtils.randomUUID20()); + menuEO.setValidFlag(0); + lawsMenuService.save(menuEO); + } + } + } + if(count>0){ + return Result.success("0","移除成功!",true); + } else { + return Result.error("移除失败!"); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/dao/SarLawsMenuDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/dao/SarLawsMenuDao.java new file mode 100644 index 00000000..40ea0076 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/dao/SarLawsMenuDao.java @@ -0,0 +1,37 @@ +package com.adc.da.slrs.sarLawsMenu.dao; + +import com.adc.da.slrs.sarBussStandMenu.entity.NewmenuOldmenuVO; +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Repository +public interface SarLawsMenuDao extends BaseMapper { + List selectByLawsInfo(SarLawsMenu sarLawsMenuEO); + + int updateMenuidByMenuid(NewmenuOldmenuVO var1); + + List selectByLawsId(String lawsId); + + void deleteByLawsId(String lawsId); + + List selectMenuByMenuParentId(SarLawsMenu sarLawsMenuEO); + + int updateByLawsIdAndMenuId(SarLawsMenu sarLawsMenuEO); + + int deleteByLawsIdAndMenuId(SarLawsMenu sarLawsMenuEO); + + List selectAllMenuByStandId(SarLawsMenu sarStandMenuEO); + + int deleteByMenuId(SarLawsMenu sarLawsMenuEO); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenu.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenu.java new file mode 100644 index 00000000..357bf9bd --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenu.java @@ -0,0 +1,57 @@ +package com.adc.da.slrs.sarLawsMenu.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsMenu对象", description="") +public class SarLawsMenu extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "法规ID") + @TableField("LAWS_ID") + private String lawsId; + + @ApiModelProperty(value = "目录ID") + @TableField("MENU_ID") + private String menuId; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @TableField(exist = false) + private String oldMenuId; + + @TableField(exist = false) + private String[] idlist; + + @TableField(exist = false) + private List menuIds; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenuEOPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenuEOPage.java new file mode 100644 index 00000000..57a5d015 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenuEOPage.java @@ -0,0 +1,87 @@ +package com.adc.da.slrs.sarLawsMenu.entity; + +import com.adc.da.sys.common.BasePage; + + +/** + * 功能:SAR_LAWS_MENU SarLawsMenuEOPage
+ * 作者:code generator
+ * 日期: 2018-09-03
+ * 版权所有:版权归北京卡达克数据技术中心所有。
+ */ +public class SarLawsMenuEOPage extends BasePage { + + private String validFlag; + private String validFlagOperator = "="; + private String menuId; + private String menuIdOperator = "="; + private String lawsId; + private String lawsIdOperator = "="; + private String id; + private String idOperator = "="; + + public String getValidFlag() { + return this.validFlag; + } + + public void setValidFlag(String validFlag) { + this.validFlag = validFlag; + } + + public String getValidFlagOperator() { + return this.validFlagOperator; + } + + public void setValidFlagOperator(String validFlagOperator) { + this.validFlagOperator = validFlagOperator; + } + + public String getMenuId() { + return this.menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getMenuIdOperator() { + return this.menuIdOperator; + } + + public void setMenuIdOperator(String menuIdOperator) { + this.menuIdOperator = menuIdOperator; + } + + public String getLawsId() { + return this.lawsId; + } + + public void setLawsId(String lawsId) { + this.lawsId = lawsId; + } + + public String getLawsIdOperator() { + return this.lawsIdOperator; + } + + public void setLawsIdOperator(String lawsIdOperator) { + this.lawsIdOperator = lawsIdOperator; + } + + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIdOperator() { + return this.idOperator; + } + + public void setIdOperator(String idOperator) { + this.idOperator = idOperator; + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/ISarLawsMenuService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/ISarLawsMenuService.java new file mode 100644 index 00000000..57958324 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/ISarLawsMenuService.java @@ -0,0 +1,22 @@ +package com.adc.da.slrs.sarLawsMenu.service; + +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsMenuService extends IService { + + List selectAllMenuByStandId(SarLawsMenu sarStandMenuEO); + + int deleteByMenuId (SarLawsMenu sarStandMenuEO); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/impl/SarLawsMenuServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/impl/SarLawsMenuServiceImpl.java new file mode 100644 index 00000000..717da250 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/impl/SarLawsMenuServiceImpl.java @@ -0,0 +1,37 @@ +package com.adc.da.slrs.sarLawsMenu.service.impl; + +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.adc.da.slrs.sarLawsMenu.dao.SarLawsMenuDao; +import com.adc.da.slrs.sarLawsMenu.service.ISarLawsMenuService; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsMenuServiceImpl extends ServiceImpl implements ISarLawsMenuService { + + @Autowired + private ITsResourceService sarMenuEOService; + + public int deleteByMenuId (SarLawsMenu sarStandMenuEO){ + List menuIds = sarMenuEOService.getChildMenuList(sarStandMenuEO.getOldMenuId()); + sarStandMenuEO.setMenuIds(menuIds); + return this.baseMapper.deleteByMenuId(sarStandMenuEO); + } + + @Override + public List selectAllMenuByStandId(SarLawsMenu sarStandMenuEO){ + return this.baseMapper.selectAllMenuByStandId(sarStandMenuEO); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/controller/SarLawsStandInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/controller/SarLawsStandInfoController.java new file mode 100644 index 00000000..6fe6490b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/controller/SarLawsStandInfoController.java @@ -0,0 +1,247 @@ +package com.adc.da.slrs.sarLawsStandInfo.controller; + + +import com.adc.da.common.ReadExcel; +import com.adc.da.excel.poi.excel.ExcelExportUtil; +import com.adc.da.exception.AdcDaBaseException; +import com.adc.da.person.service.IPersonCollectEOService; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; +import com.adc.da.http.PageInfo; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandardsInfo.entity.StandardsInfoExcelVO; +import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.sys.entity.DicTypeEO; +import com.adc.da.sys.service.IDicTypeEOService; +import com.adc.da.util.utils.StringUtils; +import com.adc.da.utils.util.LawsStandExportUtil; +import com.adc.da.utils.util.SarAdvanceSearchUtil; +import com.adc.da.utils.util.StandExportUtil; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.util.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import io.swagger.annotations.Api; +import com.adc.da.base.web.BaseController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Date; +import java.util.List; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-25 +*/ +@RestController +@Api(description = "|SarLawsStandInfo|") +@RequestMapping("/${restPath}/lawss/sarLawsInfo") +public class SarLawsStandInfoController extends BaseController { + + private static final Logger logger = LoggerFactory.getLogger(SarLawsStandInfoController.class); + + @Autowired + private ISarLawsStandInfoService sarLawsInfoEOService; + + @Autowired + private IPersonCollectEOService personCollectEOService; + + @Autowired + private ITsResourceService iTsResourceService; + + + @Autowired + private ITsUserService tsUserService; + + @Autowired + private IDicTypeEOService dicTypeEOService; + + @ApiOperation(value = "|SarLawsInfoEO|分页查询") + @GetMapping("/page") + /*@RequiresPermissions("lawss:sarLawsInfo:page")*/ + public ResponseMessage> page(SarLawsStandInfoPage page) throws Exception { + if (null != page.getNowOrderBy()) { + switch (page.getNowOrderBy()) { + case 1: + page.setOrderByA("a.issueTime");//发布日期 + break; + case 2: + page.setOrderByA("SAR_LAWS_ATTR_INFO.XCXSSRQLAWS");//新车型实施日期 + break; + case 3: + page.setOrderByA("SAR_LAWS_ATTR_INFO.ZCXSSRQLAWS");//在产车实施日期 + break; + case 4: + page.setOrderByA("a.LAWS_TEXT_STATE");//文本状态 + break; + case 5: + page.setOrderByA("paixu"); + break; + case 6: + page.setOrderByA("SAR_LAWS_ATTR_INFO.SSRQ"); + break; + default: + page.setNowOrder(null); + break; + } + if (null != page.getNowOrder()) { + switch (page.getNowOrder()) { + case 1: + page.setOrder1("desc"); + break; + case 2: + page.setOrder1("asc"); + default: + page.setOrder1(null); + break; + } + } + } + + + if (com.adc.da.util.utils.StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { + List searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class); + String advanceStr = SarAdvanceSearchUtil.createSql(searchList,"SAR_LAWS_ATTR_INFO"); + if (StringUtils.isNotBlank(advanceStr)) { + page.setAdvanceSearchStr(advanceStr); + } else { + page.setAdvanceSearchStr(null); + } + } + + List rows = sarLawsInfoEOService.getSarStandardsInfoPage(page); + return Result.success(getPageInfo(page.getPager(), rows)); + } + + @ApiOperation(value = "|SarLawsStandInfo|详情") + @GetMapping("/getStandInfoById") + //@RequiresPermissions("lawss:sarStandardsInfo:get") + public ResponseMessage find(String id) throws Exception { + SarLawsStandInfo result = sarLawsInfoEOService.selectStandardsInfoByKey(id); + return Result.success(result); + } + + @ApiOperation(value = "|SarLawsStandInfo|详情") + @GetMapping("/getStandInfoUpdateById") + //@RequiresPermissions("lawss:sarStandardsInfo:get") + public ResponseMessage getStandInfoUpdateById(String id) throws Exception { + SarLawsStandInfo result = sarLawsInfoEOService.selectStandardsInfoUpdateByKey(id); + String collectId = personCollectEOService.queryCollectByUserAndId(id); + result.setCollectId(collectId); + return Result.success(result); + } + + @ApiOperation(value = "|SarLawsStandInfo|导出excel") + @GetMapping(value = "/exportStandardsInfoExcel") + public void exportStandardsInfoExcel(String exportContent, String exportType, String exportName,String userId, HttpServletResponse response, + HttpServletRequest request) throws Exception { + OutputStream os = null; + Workbook workbook = null; + try { + if(StringUtils.isEmpty(exportName)||exportName.equals("null")){ + exportName="政策库"; + } + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx",request)); + response.setContentType("application/force-download"); + // 导出所有数据 + List data = sarLawsInfoEOService.getExportData(exportType,exportContent,userId); + workbook = LawsStandExportUtil.exportDatas(data); + + os = response.getOutputStream(); + workbook.write(os); + os.flush(); + } catch (IOException e) { + logger.error(e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + } finally { + IOUtils.closeQuietly(os); + } + } + + @ApiOperation(value = "|SarLawsStandInfo|确认配置标准") + @PostMapping("/saveStandardsMenu") + //@RequiresPermissions("lawss:sarBussionessStand:saveStandardsMenu") + public ResponseMessage saveStandardsMenu(@RequestBody SarLawsStandInfoPage standardsInfoEO){ + if ("wdsc".equals(standardsInfoEO.getMenuId()) || "gxhbq".equals(standardsInfoEO.getMenuId())) { + return Result.error("所选节点不支持配置标准"); + } else { + SarLawsStandInfoPage standlist = sarLawsInfoEOService.updateStandardsMenu(standardsInfoEO); + return Result.success(standardsInfoEO); + } + } + + @ApiOperation(value = "|SarLawsStandInfo|企业标准修改") + @PostMapping(value = "/updateSarLawsStandInfo") + public ResponseMessage updateSarLawsStandInfo(@RequestBody SarLawsStandInfo sarLawsStandInfo) throws Exception { + sarLawsStandInfo.setModifyTime(new Date()); + sarLawsInfoEOService.updateSarLawsStandInfo(sarLawsStandInfo); + return Result.success("","修改成功",sarLawsStandInfo); + } + + @ApiOperation(value = "|SarLawsStandInfo|删除") + @PostMapping("deleteSarLawsStandInfo") + public ResponseMessage delete(String ids) throws Exception { + SarLawsStandInfoPage sarLawsStandInfoPage = new SarLawsStandInfoPage(); + sarLawsStandInfoPage.setIdlist(ids.split(",")); + ResponseMessage result = sarLawsInfoEOService.deleteSarLawsStandInfo(sarLawsStandInfoPage); + logger.info("delete from SAR_BUSSIONESS_STAND where id = {}", ids); + return result; + } + + /** + * 新增过程中验证标准号 + * + * @param page + * @return + */ + @ApiOperation(value = "|SarLawsStandInfo|验证输入的标准号") + @PostMapping("/validateStandNumber") + //@RequiresPermissions("lawss:sarStandardsInfo:selectReplaceStandNum") + public ResponseMessage validateStandNumber(SarLawsStandInfoPage page) throws Exception { + String sortName = ""; + String standNumShow = ""; + List getDicCode = dicTypeEOService.getDicEOByDicTypeCode(page.getStandSort()); + if(getDicCode!= null && getDicCode.size()>0){ + sortName = getDicCode.get(0).getDicTypeName(); + } + if (StringUtils.isNotEmpty(page.getLawsNumber())) { + List standlist = sarLawsInfoEOService.selectStandardsByStandNumber(page.getLawsNumber()); + if (standlist.size() > 0) { + if (StringUtils.isNotEmpty(page.getId())) { + // 如果是修改,判断id是否一样 + for (int i = 0; i < standlist.size(); i++) { + if (standlist.get(i).getId().equals(page.getId())) { + continue; + } else { + return Result.error(standNumShow + "政策编号已存在"); + } + } + return Result.success(); + } else { + return Result.error(standNumShow + "政策编号已存在"); + } + } else { + return Result.success(); + } + } else { + return Result.success(); + } + } + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/dao/SarLawsStandInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/dao/SarLawsStandInfoDao.java new file mode 100644 index 00000000..8ca5a2a3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/dao/SarLawsStandInfoDao.java @@ -0,0 +1,30 @@ +package com.adc.da.slrs.sarLawsStandInfo.dao; + +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Repository +public interface SarLawsStandInfoDao extends BaseMapper { + + List getSarStandardsInfoPage(SarLawsStandInfoPage page); + + int getSarStandardsInfoCount(SarLawsStandInfoPage page); + + List selectStandardsInfoByKey(String id); + + List getSarStandardsExportInfo(SarLawsStandInfoPage page); + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfo.java new file mode 100644 index 00000000..96c2c794 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfo.java @@ -0,0 +1,243 @@ +package com.adc.da.slrs.sarLawsStandInfo.entity; + +import com.adc.da.att.vo.AttFileVo; +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; + +import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails; +import com.adc.da.slrs.standardSplit.entity.SarStandAttrDetailsEO; +import com.adc.da.sys.entity.DicTypeEO; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.util.*; + +import com.baomidou.mybatisplus.annotation.TableField; +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 oracle.sql.DATE; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsStandInfo对象", description="") +public class SarLawsStandInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "政策分类 共四级,逐级选择-配置管理中维护") + @TableField("LAWS_TYPE") + private String lawsType; + + @ApiModelProperty(value = "政策编号") + @TableField("LAWS_NUMBER") + private String lawsNumber; + + @ApiModelProperty(value = "中文名称") + @TableField("LAWS_NAME") + private String lawsName; + + @ApiModelProperty(value = "英文名称") + @TableField("LAWS_EN_NAME") + private String lawsEnName; + + @ApiModelProperty(value = "政策文号") + @TableField("LAWS_NO") + private String lawsNo; + + @ApiModelProperty(value = "发文日期") + @TableField("ISSUE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTime; + + @ApiModelProperty(value = "发文单位") + @TableField("ISSUE_COMPANY") + private String issueCompany; + + @ApiModelProperty(value = "征集意见周期-起始时间") + @TableField("COMMENT_CYCLE_START") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleStart; + + @ApiModelProperty(value = "征集意见周期-结束时间") + @TableField("COMMENT_CYCLE_END") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleEnd; + + @ApiModelProperty(value = "文件状态-配置管理中维护") + @TableField("LAWS_TEXT_STATE") + private String lawsTextState; + + @ApiModelProperty(value = "适用区域-配置管理中维护") + @TableField("LAWS_SYQY") + private String lawsSyqy; + + @ApiModelProperty(value = "适用车型-配置管理中维护") + @TableField("LAWS_SYCX") + private String lawsSycx; + + @ApiModelProperty(value = "是/否(选择否,只有政策、政策中文名称是必填项目)") + @TableField("IS_RELATE_ACCESS") + private String isRelateAccess; + + @ApiModelProperty(value = "年度-可在配置管理中维护,根据发布日期自动带入可手动修改") + @TableField("LAWS_YEAR") + private String lawsYear; + + @ApiModelProperty(value = "福田转发通知文号") + @TableField("LAWS_NOTISYNC_NUM") + private String lawsNotisyncNum; + + @ApiModelProperty(value = "信息简报 xxx期次xxx板块") + @TableField("LAWS_BULLETIN") + private String lawsBulletin; + + @ApiModelProperty(value = "标签-可在配置管理中维护") + @TableField("LAWS_LABEL") + private String lawsLabel; + + @ApiModelProperty(value = "备注") + @TableField("LAWS_REMARK") + private String lawsRemark; + + @ApiModelProperty(value = "国家地区") + @TableField("COUNTRY") + private String country; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + @ApiModelProperty(value = "参数1") + @TableField("PARAM1") + private Long param1; + + @ApiModelProperty(value = "参数2") + @TableField("PARAM2") + private String param2; + + // 非表字段 + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String firstPutTime; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String putTimeShow; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTimeShow; + + @TableField(exist = false) + private String issueTimeStr; + + @TableField(exist = false) + private String putTimeStr; + + //目录ID 非标准信息表中的字段 + @TableField(exist = false) + private String menuId; + + @TableField(exist = false) + private String menuParentId; + + @TableField(exist = false) + private String standStatusShow; // 标准状态下拉框 --单选 + + @TableField(exist = false) + private String standNatrueShow; + + @TableField(exist = false) + private String standSortShow; + + @TableField(exist = false) + private String applyCountryShow; + + @TableField(exist = false) + private List standFileList = new ArrayList(); + + @TableField(exist = false) + private List opinionFilesList = new ArrayList(); + + @TableField(exist = false) + private List relevanceFileList = new ArrayList(); + + @TableField(exist = false) + private String collectId; + + //文件的类型 + @TableField(exist = false) + private String standFileClassify; + + //文件的下载id + @TableField(exist = false) + private String attId; + + //记录是否修改了替代文件号 + @TableField(exist = false) + private int upReplaceNumFlag; + //记录是否修改了文件号 + @TableField(exist = false) + private int upNumFlag; + // 数据库新加的字段 + + @TableField(exist = false) + private String remark;//备注 + + @TableField(exist = false) + private Map attrInfoMap = new LinkedHashMap<>(); //属性表字段与值 + + @TableField(exist = false) + private Map attrInfoCaseMap = new LinkedHashMap<>(); //属性表字段与值小写前端带入渲染 + + @TableField(exist = false) + private String sarStandAttrEOStr; //新增修改时属性表信息 + + @TableField(exist = false) + private String fileIds; //全部文件ID + + @TableField(exist = false) + private List attrInfoList = new ArrayList<>(); + + @TableField(exist = false) + private String standTextStatusShow; // 标准文本状态显示名称 + // 以下为非表中字段 + @TableField(exist = false) + private String countryShow; //国家地区显示名称 + @TableField(exist = false) + private String standStateShow; // 标准状态显示名称 + @TableField(exist = false) + private String standNatureShow; // 标准性质显示名称 + @TableField(exist = false) + private List dicTypeList = new ArrayList(); // 记录标准涉及到的所有数据字典数据 + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfoPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfoPage.java new file mode 100644 index 00000000..483337b0 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfoPage.java @@ -0,0 +1,256 @@ +package com.adc.da.slrs.sarLawsStandInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.adc.da.base.page.BasePage; +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 oracle.sql.DATE; + +import java.util.Date; +import java.util.List; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Data +public class SarLawsStandInfoPage extends BasePage { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "政策分类 共四级,逐级选择-配置管理中维护") + private String lawsType; + + @ApiModelProperty(value = "政策编号") + private String lawsNumber; + + @ApiModelProperty(value = "中文名称") + private String lawsName; + + @ApiModelProperty(value = "英文名称") + private String lawsEnName; + + @ApiModelProperty(value = "政策文号") + private String lawsNo; + + @ApiModelProperty(value = "发文日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTime; + + @ApiModelProperty(value = "发文单位") + private String issueCompany; + + @ApiModelProperty(value = "征集意见周期-起始时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleStart; + + @ApiModelProperty(value = "征集意见周期-结束时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleEnd; + + @ApiModelProperty(value = "文件状态-配置管理中维护") + private String lawsTextState; + + @ApiModelProperty(value = "适用区域-配置管理中维护") + private String lawsSyqy; + + @ApiModelProperty(value = "适用车型-配置管理中维护") + private String lawsSycx; + + @ApiModelProperty(value = "是/否(选择否,只有政策、政策中文名称是必填项目)") + private String isRelateAccess; + + @ApiModelProperty(value = "年度-可在配置管理中维护,根据发布日期自动带入可手动修改") + private String lawsYear; + + @ApiModelProperty(value = "福田转发通知文号") + private String lawsNotisyncNum; + + @ApiModelProperty(value = "信息简报 xxx期次xxx板块") + private String lawsBulletin; + + @ApiModelProperty(value = "标签-可在配置管理中维护") + private String lawsLabel; + + @ApiModelProperty(value = "备注") + private String lawsRemark; + + @ApiModelProperty(value = "国家地区") + private String country; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "是否有效") + private String validFlag; + + @ApiModelProperty(value = "创建时间") + private String creationTime; + + @ApiModelProperty(value = "修改时间") + private String modifyTime; + + @ApiModelProperty(value = "参数1") + private String param1; + + @ApiModelProperty(value = "参数2") + private String param2; + + private String[] commentCycleDate; + private String modifyTime1; + private String modifyTime2; + private String modifyTimeOperator = "="; + private String creationTime1; + private String creationTime2; + private String creationTimeOperator = "="; + private String validFlagOperator = "="; + private String putUser; + private String putUserOperator = "="; + private String citationUser; + private String citationUserOperator = "="; + private String responsibleUnit; + private String responsibleUnitOperator = "="; + private String standFile; + private String standFileOperator = "="; + private String tags; + private String tagsOperator = "="; + private String standStatus; + private String standStatusOperator = "="; + private String replacedStandNum; + private String replacedStandNumOperator = "="; + private String replaceStandNum; + private String replaceStandNumOperator = "="; + private String quoteStand; + private String quoteStandOperator = "="; + private String firstPutTime; + private String firstPutTime1; + private String firstPutTime2; + private String firstPutTimeOperator = "="; + private String putYear; + private String putYear1; + private String putYear2; + private String putYearOperator = "="; + private String putTime; + private String putTime1; + private String putTime2; + private String putTimeOperator = "="; + private String issueTime1; + private String issueTime2; + private String issueTimeOperator = "="; + private String energyKind; + private String energyKindOperator = "="; + private String applyArctic; + private String applyArcticOperator = "="; + private String standEnName; + private String standEnNameOperator = "="; + private String standName; + private String standNameOperator = "="; + private String standCode; + private String standCodeOperator = "="; + private String classifyCode; + private String classifyCodeOperator = "="; + private String standSubclass; + private String standSubclassOperator = "="; + private String standGenera; + private String standGeneraOperator = "="; + private String idOperator = "="; + private String menuId; + private List menuIdList; + private String[] idlist; + //为了在sql中区分修改操作 + private String updateFlag; + // 数据库新增字段 + private String applyCountry; + private String standYear; + private String applyCountryOperator = "="; + private String standNature; + private String standNatureOperator = "="; + private String synopsis; + private String synopsisOperator = "="; + private String standSort; + private String standSortOperator = "="; + private String opinionFile; + private String opinionFileOperator = "="; + private String relevanceFile; + private String relevanceFileOperator = "="; + private String remark; + private String remarkOperator = "="; + + private List roleIds; + private String rootMenuId; + private String orgName; + private List menuRoleList; + private String[] replacedStandNumList; + private String numberName; + + // 树结构增加搜索条件 + private String collectMenuId; + private String advanceSearchVOStr; + private String advanceSearchStr; + private List menuAllChildrenIdList; + private String userId; + + private String zqcrId; + + private String textStatusBuss; + + // 新增字段 + private String FZRQBUSS; + private String FSRQBUSS; + private String FBGBUSS; + private String BZSMBUSS; + private String LSBBBUSS; + private String QTWJBUSS; + private String QCDW; + private String QCRBUSS; + private String WJSCRYBUSS; + private String SYCXCLASS; + private String NYLXCLASS; + private String SYCPXCLASS; + private String TXLBBUSS; + private String VPPSBMBUSS; + private String VPPSCNBUSS; + private String DTQBBHBUSS; + private String BDTQBBHBUSS; + private String XGJLBUSS; + private String XGLC; + private String GLWJBUSS; + private String XCSJBUSS; + + //页面排序 + private String paixu; + private String shunxu; + private String sql; + + // 树结构增加搜索条件 + @TableField(exist = false) + private String labelMenuId; + @TableField(exist = false) + private String ids; + @TableField(exist = false) + private String proType; + @TableField(exist = false) + private Integer nowOrder; + @TableField(exist = false) + private Integer nowOrderBy; + @TableField(exist = false) + private String orderByA = "a.issue_time"; + @TableField(exist = false) + private String orderBy1 = "SAR_LAWS_STAND_INFO.issue_time"; + @TableField(exist = false) + private String order1 = "desc"; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/ISarLawsStandInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/ISarLawsStandInfoService.java new file mode 100644 index 00000000..0a4f84b1 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/ISarLawsStandInfoService.java @@ -0,0 +1,38 @@ +package com.adc.da.slrs.sarLawsStandInfo.service; + +import com.adc.da.http.ResponseMessage; +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +public interface ISarLawsStandInfoService extends IService { + + List selectStandardsByStandNumber(String replaceStandNum); + + ResponseMessage deleteSarLawsStandInfo(SarLawsStandInfoPage page) throws Exception; + + SarLawsStandInfo updateSarLawsStandInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception; + + SarLawsStandInfoPage updateStandardsMenu(SarLawsStandInfoPage standardsInfoEO); + + List getExportData(String exportType, String exportContent,String userId) throws Exception; + + List getSarStandardsInfoPage(SarLawsStandInfoPage page) throws Exception; + + SarLawsStandInfo selectStandardsInfoByKey(String id) throws Exception; + + SarLawsStandInfo selectStandardsInfoUpdateByKey(String id) throws Exception; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java new file mode 100644 index 00000000..8e9bea6c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java @@ -0,0 +1,812 @@ +package com.adc.da.slrs.sarLawsStandInfo.service.impl; + +import com.adc.da.att.entity.AttFileEO; +import com.adc.da.att.service.IAttFileEOService; +import com.adc.da.common.SarTypeEnum; +import com.adc.da.common.SelectionTypeEnum; +import com.adc.da.common.UseModuleEnum; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.login.util.UserUtils; +import com.adc.da.mq.CreateMQService; +import com.adc.da.mq.CreateStandMQService; +import com.adc.da.person.dao.PersonCollectEODao; +import com.adc.da.person.entity.TsPersonCollect; +import com.adc.da.person.page.PersonCollectEOPage; +import com.adc.da.person.service.IPersonCollectEOService; +import com.adc.da.search.entity.StandLawsEO; +import com.adc.da.search.service.StandLawsSearchService; +import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao; +import com.adc.da.slrs.otConvertMq.entity.OtConvertMq; +import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; +import com.adc.da.slrs.sarBussStandFile.dao.SarBussStandFileDao; +import com.adc.da.slrs.sarBussStandItems.dao.SarBussStandItemsDao; +import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao; +import com.adc.da.slrs.sarBussStandVal.dao.SarBussStandValDao; +import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; +import com.adc.da.slrs.sarLawsAttrInfo.dao.SarLawsAttrInfoDao; +import com.adc.da.slrs.sarLawsAttrInfo.entity.SarLawsAttrInfo; +import com.adc.da.slrs.sarLawsFile.dao.SarLawsFileDao; +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.adc.da.slrs.sarLawsInfo.dao.SarLawsInfoDao; +import com.adc.da.slrs.sarLawsItems.dao.SarLawsItemsDao; +import com.adc.da.slrs.sarLawsMenu.dao.SarLawsMenuDao; +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarLawsStandInfo.dao.SarLawsStandInfoDao; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService; +import com.adc.da.slrs.sarLawsVal.dao.SarLawsValDao; +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.adc.da.slrs.sarResource.entity.TsResource; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; +import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; +import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; +import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.slrs.sysInfo.service.SysInfoEOService; +import com.adc.da.sys.constant.ValueStateEnum; +import com.adc.da.sys.dao.DicTypeEODao; +import com.adc.da.sys.util.LoginUserUtil; +import com.adc.da.util.UUIDUtils; +import com.adc.da.utils.util.FieldConvertUtil; +import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.SarAdvanceSearchUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import net.sf.json.JSONObject; +import org.apache.commons.lang.StringUtils; +import org.json.JSONTokener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.sql.Clob; +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Service +public class SarLawsStandInfoServiceImpl extends ServiceImpl implements ISarLawsStandInfoService { + + + @Value("${elas.flag}") + private boolean elasflag; //ES是否启用 + + @Value("${file.path}") + private String filePath;//文件存储路径 + + @Autowired + private IPersonCollectEOService personCollectEOService; + + @Autowired + private ITsResourceService iTsResourceService; + + @Autowired + private ITsUserService tsUserService; + + @Autowired + private IAttFileEOService attFileEOService; + + @Autowired + private DicTypeEODao dicTypeEODao; + + @Autowired + private SysInfoEOService sysInfoEOService; + + @Autowired + private SarLawsMenuDao sarLawsMenuDao; + + @Autowired + private OtConvertMqDao otConvertEODao; + + @Autowired + private CreateMQService convertMq; + + @Autowired + private SarLawsValDao sarBussStandValEODao; + + @Autowired + private SarLawsFileDao sarBussStandFileEODao; + + @Autowired + private CreateStandMQService createStandMQService; + + @Autowired + private ISarUpdLogService sarUpdLogEOService; + + @Autowired + private ITsResourceService sarMenuEOService; + + @Autowired + private PersonCollectEODao personCollectEODao; + + @Autowired + private SarLawsAttrInfoDao sarLawsAttrInfoDao; + + @Autowired + private SarLawsItemsDao sarLawsItemsDao; + + @Autowired + private StandLawsSearchService standLawsSearchService; + + @Override + public List getSarStandardsInfoPage(SarLawsStandInfoPage page) throws Exception { + //查询当前登录人角色拥有权限的菜单 + String userId = UserUtils.getUserId(); + if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(userId)){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ID",page.getMenuId()); + qw.isNull("PARENT_ID"); + List children = iTsResourceService.list(qw); + if(children.isEmpty() && !page.getMenuId().equals("nomenu")){ + List getMenuIdList = tsUserService.getResourceUserId(userId); + if (!getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } + List ids = iTsResourceService.getChildMenuList(userId); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } + } + Integer rowCount = this.baseMapper.getSarStandardsInfoCount(page); + page.getPager().setRowCount(rowCount); + List rows = this.baseMapper.getSarStandardsInfoPage(page); + attrInfoCollect(rows); + return rows; + } + + /*** + * @Description: 处理属性表数据 + * @Param: [sarlist] + * @Return: void + */ + public void attrInfo (List sarlist) throws Exception { + for(SarLawsStandInfo row : sarlist){ + attrInfoDetails(row); + } + } + + public void attrInfoCollect (List sarlist) throws Exception { + List collectResIds = sarlist.stream().map(SarLawsStandInfo::getId).collect(Collectors.toList()); + Map collectMap = personCollectEOService.queryCollectByUserAndIds(collectResIds); + for (SarLawsStandInfo row : sarlist) { + if(collectMap != null && collectMap.get(row.getId()) != null){ + row.setCollectId(collectMap.get(row.getId())); + } + } + } + + + @Override + public SarLawsStandInfo selectStandardsInfoByKey(String id) throws Exception{ + List sarLawsStandInfoList = this.baseMapper.selectStandardsInfoByKey(id); + SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); + if(!sarLawsStandInfoList.isEmpty()) { + List newStandList = new ArrayList<>(); + newStandList.add(sarLawsStandInfoList.get(0)); + attrInfoShowDetails(newStandList); + sarLawsStandInfo = newStandList.get(0); + } + return sarLawsStandInfo; + } + + @Override + public SarLawsStandInfo selectStandardsInfoUpdateByKey(String id) throws Exception{ + List sarLawsStandInfoList = this.baseMapper.selectStandardsInfoByKey(id); + SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); + if(!sarLawsStandInfoList.isEmpty()) { + List newStandList = new ArrayList<>(); + newStandList.add(sarLawsStandInfoList.get(0)); + attrInfo(newStandList); + sarLawsStandInfo = newStandList.get(0); + } + return sarLawsStandInfo; + } + + public void attrInfoDetails (SarLawsStandInfo row) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); + row.setCollectId(collectId); + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarLawsAttrInfoDao.selectLawsFieldAndData(fieldInfo,row.getId()); + if (InitStandAttrUtil.clobFieldListLaws != null && !InitStandAttrUtil.clobFieldListLaws.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldListLaws) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField,fieldValue); + } + } + // 组织机构和人员 + Map newMap = new HashMap<>(); + if(getAttrMap != null){ + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + Object value1 = entry.getValue(); + if (value1 != null && value1.toString().equals("\"null\"")){ + entry.setValue(""); + } + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + String value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapLaws.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getOrgNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.USERLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getUserNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + value = sysInfoEOService.getRoleNamesByIds(value); + newMap.put(name + "Name",value); + } + } + } + getAttrMap.putAll(newMap); + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + + row.setAttrInfoMap(getAttrMap); + } + } + + private Map transformUpperCase(Map orgMap) { + Map resultMap = new HashMap<>(); + + for (Map.Entry entry : orgMap.entrySet()) { + String newKey = entry.getKey().toLowerCase(); + resultMap.put(newKey, orgMap.get(entry.getKey())); + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && !InitStandAttrUtil.fileFieldListLaws.isEmpty() && InitStandAttrUtil.fileFieldListLaws.contains(entry.getKey())) { + String value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + if(!fileObj.isEmpty()){ + resultMap.put(newKey + "Name", fileObj.get(0).getOldFileName()); + } + } + } + } + + return resultMap; + } + + public void attrInfoShowDetails(List sarlist) throws Exception { + for (SarLawsStandInfo row : sarlist) { + attrInfoDetails(row); + Map getAttrMap = row.getAttrInfoMap(); + if (getAttrMap != null && getAttrMap.size() > 0) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && InitStandAttrUtil.fileFieldListLaws.size() > 0 && InitStandAttrUtil.fileFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + }else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + entry.setValue(value); + } + } + } + } + } + + @Override + public List getExportData(String exportType, String exportContent,String userId) throws Exception { + SarLawsStandInfoPage page = new SarLawsStandInfoPage(); + if ("apart".equals(exportType)) { + page.setIdlist(exportContent.split(",")); + } else { + JSONObject jsonObject = JSONObject.fromObject(exportContent); + page = (SarLawsStandInfoPage)JSONObject.toBean(jsonObject, SarLawsStandInfoPage.class); + page.setPage(1); + page.setPageSize(10000); + //查询当前登录人角色拥有权限的菜单 + if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ID",page.getMenuId()); + qw.isNull("PARENT_ID"); + List children = iTsResourceService.list(qw); + if(children.isEmpty() && !page.getMenuId().equals("nomenu")){ + List getMenuIdList = tsUserService.getResourceUserId(page.getUserId()); + if (getMenuIdList != null && !getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } + List ids = iTsResourceService.getChildMenuList(page.getMenuId()); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } + } + if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { + List searchList = com.alibaba.fastjson.JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class); + String advanceStr = SarAdvanceSearchUtil.createSql(searchList,"SAR_LAWS_ATTR_INFO"); + if (com.adc.da.util.utils.StringUtils.isNotBlank(advanceStr)) { + page.setAdvanceSearchStr(advanceStr); + } else { + page.setAdvanceSearchStr(null); + } + } + } + page.setOrderBy("SAR_LAWS_ATTR_INFO.issue_time is null,SAR_LAWS_ATTR_INFO.issue_time desc,SAR_LAWS_ATTR_INFO.id"); + if(userId != null){ + page.setUserId(userId); + }else { + page.setUserId(LoginUserUtil.getUserId()); + } + List rows = this.baseMapper.getSarStandardsExportInfo(page); + attrInfoShow(rows); + return rows; + } + + public void attrInfoShow (List sarlist) throws Exception { + for(SarLawsStandInfo row : sarlist){ + attrInfoDetails(row); + Map getAttrMap = row.getAttrInfoMap(); + Map getNewMap = new LinkedHashMap<>(); + if (getAttrMap != null && getAttrMap.size() > 0) { + String svppsTip = ""; + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && InitStandAttrUtil.fileFieldListLaws.size() > 0 && InitStandAttrUtil.fileFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapLaws.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + if("ZYQCR".equals(name)||"QTQCR".equals(name)){ + if(getAttrMap.get(name + "Name")!=null && !getAttrMap.get(name + "Name").equals("")){ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + }else{ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + } else { + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + entry.setValue(value); + } + } + getAttrMap.put("SVPPSTips",svppsTip); + } + } + } + + @Override + public SarLawsStandInfoPage updateStandardsMenu(SarLawsStandInfoPage standardsInfoEO) { + SarLawsMenu sarStandMenuEO = new SarLawsMenu(); + String nowMenuId = standardsInfoEO.getMenuId(); + sarStandMenuEO.setMenuId(nowMenuId); + for (int i = 0; i < standardsInfoEO.getIdlist().length; i++) { + sarStandMenuEO.setLawsId(standardsInfoEO.getIdlist()[i]); + sarStandMenuEO.setId(null); + sarStandMenuEO.setValidFlag(0); + // 根据当前目录查询所在父节点 + String secondLevelId = ""; + List getMenuPIds = iTsResourceService.getParentMenuId(nowMenuId); + if (getMenuPIds != null && getMenuPIds.size() > 1) { + int idSize = getMenuPIds.size(); + secondLevelId = getMenuPIds.get(idSize-1); + } else { + secondLevelId = nowMenuId; + } + //查询标准是否已在 当前父节点中 + SarLawsMenu standMenuEOQuery = new SarLawsMenu(); + standMenuEOQuery.setMenuId(secondLevelId); + standMenuEOQuery.setLawsId(standardsInfoEO.getIdlist()[i]); + List menuIds = iTsResourceService.getChildMenuList(secondLevelId); + standMenuEOQuery.setMenuIds(menuIds); + List getInfo = sarLawsMenuDao.selectMenuByMenuParentId(standMenuEOQuery); + //删除节点与根节点的关联 + SarLawsMenu sarStandMenuDel = new SarLawsMenu(); + sarStandMenuDel.setLawsId(standardsInfoEO.getIdlist()[i]); + sarStandMenuDel.setMenuId(standardsInfoEO.getRootMenuId()); + sarLawsMenuDao.deleteByLawsIdAndMenuId(sarStandMenuDel); + if (getInfo == null || getInfo.isEmpty()) { + sarStandMenuEO.setId(UUIDUtils.randomUUID20()); + sarLawsMenuDao.insert(sarStandMenuEO); + } else { + sarStandMenuEO.setOldMenuId(secondLevelId); + List menuOldIds = iTsResourceService.getChildMenuList(secondLevelId); + sarStandMenuEO.setMenuIds(menuOldIds); + sarLawsMenuDao.updateByLawsIdAndMenuId(sarStandMenuEO); + } + } + return standardsInfoEO; + } + + public SarLawsStandInfo updateSarLawsStandInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception { + String standId = sarLawsStandInfo.getId(); + SarLawsStandInfo beforeStandEO = this.baseMapper.selectById(standId); + if(beforeStandEO!=null){ + attrInfoDetails(beforeStandEO); + } + //规范性引用文件,如有数据,删除以前关联 + int resultCount = this.baseMapper.updateById(sarLawsStandInfo); + if (resultCount >= 1) { + // 修改属性表数据 + sarLawsAttrInfoDao.deleteLawsAttrByStandId(standId); + + // + sarBussStandValEODao.deleteDataBylawsId(standId); + + //删除文件详情表数据 + sarBussStandFileEODao.deleteBylawsId(standId); + SarLawsFile sarBussStandFileEO = new SarLawsFile(); + sarBussStandFileEO.setLawsId(standId); + sarBussStandFileEO.setIdList(null); + List listFile = sarBussStandFileEODao.selectFileBylawsIdAndId(sarBussStandFileEO); + if (listFile != null) { + if (!listFile.isEmpty()) { + for (int f = 0; f < listFile.size(); f++) { + //删除转换表ot_convert数据 + otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); + } + } + } + createStandAttrInfo(sarLawsStandInfo); + // 根据代替标准号 ,修改代替标准号标准中的,被代替标准号 +// updateReplaceConnect(sarLawsStandInfo); + //修改收藏分享编号名称 + updateCollectAndShare(sarLawsStandInfo); + // 记录修改日志 + saveUpdateLog(sarLawsStandInfo,beforeStandEO); + if (elasflag) { + attrInfoShowSearchDetails(sarLawsStandInfo,"upd"); + createStandMQService.sendLawsMQ(sarLawsStandInfo, "update"); + } + } + return sarLawsStandInfo; + } + + public void attrInfoShowSearchDetails(SarLawsStandInfo row,String type) throws Exception { + if (row != null) { + attrInfoSearchDetails(row,type); + Map getAttrMap = row.getAttrInfoCaseMap(); + if (getAttrMap != null && getAttrMap.size() > 0) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey().toUpperCase(); + String value = ""; + List valArr = new ArrayList<>(); + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + if(StringUtils.isNotBlank(entry.getValue().toString())){ + Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + if(json instanceof org.json.JSONArray){ + valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); + }else { + value = entry.getValue().toString(); + valArr = Arrays.asList(value.split(",")); + } + if(!valArr.isEmpty()){ + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + } + entry.setValue(value); + } + } + } + } + } + + public void attrInfoSearchDetails(SarLawsStandInfo row,String type) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); + row.setCollectId(collectId); + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = new TreeMap<>(); + if(type.equals("add")){ + String sarStandAttrEOStr = row.getSarStandAttrEOStr(); + getAttrMap = JSONObject.fromObject(sarStandAttrEOStr); + }else { + getAttrMap = sarLawsAttrInfoDao.selectLawsFieldAndData(fieldInfo, row.getId()); + } + if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldList) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField, fieldValue); + } + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + +// row.setAttrInfoMap(getAttrMap); + } + } + + public void saveUpdateLog(SarLawsStandInfo sarStandardsInfoEO,SarLawsStandInfo beforeSarStandardsInfo) throws Exception{ + Map newMap = new HashMap<>(); + Map oldMap = beforeSarStandardsInfo.getAttrInfoMap(); + String attrStr = sarStandardsInfoEO.getSarStandAttrEOStr(); + if (StringUtils.isNotBlank(attrStr)) { + newMap = JSONObject.fromObject(attrStr); + } + newMap = changeMap(sarStandardsInfoEO,newMap); + oldMap = changeMap(beforeSarStandardsInfo,oldMap); + String sortName = sysInfoEOService.getDicNamesByCodes(sarStandardsInfoEO.getLawsType()); + String number = sortName + " " + sarStandardsInfoEO.getLawsNumber(); + String content = number + " 《" + sarStandardsInfoEO.getLawsName()+" " + sarStandardsInfoEO.getLawsEnName() + "》"; + sarUpdLogEOService.createUpdateLog(SarTypeEnum.BUSINESS.getValue(),sarStandardsInfoEO.getId(),oldMap,newMap,content); + } + + public Map changeMap (SarLawsStandInfo sarStandardsInfoEO,Map map) { +// map.put("country",verifyObj(sarStandardsInfoEO.getApplyCountry())); + map.put("lawsType",verifyObj(sarStandardsInfoEO.getLawsType())); + map.put("lawsNumber",verifyObj(sarStandardsInfoEO.getLawsNumber())); + map.put("lawsName",verifyObj(sarStandardsInfoEO.getLawsName())); + map.put("lawsEnName",verifyObj(sarStandardsInfoEO.getLawsEnName())); + map.put("lawsNo",verifyObj(sarStandardsInfoEO.getLawsNo())); + return map; + } + + private Object verifyObj(Object str){ + return str == null ? "" : str; + } + + public void updateCollectAndShare(SarLawsStandInfo sarLawsStandInfo) throws Exception { + //修改收藏表中 + String number = sarLawsStandInfo.getLawsNumber()+ ")"; + PersonCollectEOPage personCollectEOPage = new PersonCollectEOPage(); + personCollectEOPage.setValidFlag("0"); + personCollectEOPage.setCollectResId(sarLawsStandInfo.getId()); + List listCollect = personCollectEOService.queryByList(personCollectEOPage); + if (listCollect != null && listCollect.size() > 0) { + for (TsPersonCollect getCollect : listCollect) { + TsPersonCollect collectEO = new TsPersonCollect(); + collectEO.setId(getCollect.getId()); + collectEO.setCollectTitle(sarLawsStandInfo.getLawsName() + " " + "( 编号:" + number); + personCollectEOService.updateByPrimaryKeySelective(collectEO); + } + } + } + + /*** + * @Description: 新增属性表数据 + * @Date: 2020/9/8 9:53 + * @Param: [sarStandardsInfoEO] + * @Return: void + */ + public void createStandAttrInfo (SarLawsStandInfo sarBussionessStandEO) throws Exception { + String sarStandAttrEOStr = sarBussionessStandEO.getSarStandAttrEOStr(); + String mustFields = FieldConvertUtil.mustFieldsLaws; + String mustValues = FieldConvertUtil.mustValues(sarBussionessStandEO.getId()); + // 将字符串转为map进行解析 + Map sarStandAttrMap = JSONObject.fromObject(sarStandAttrEOStr); + StringBuilder fieldsBuilder = new StringBuilder(); + StringBuilder valuesBuilder = new StringBuilder(); + Map selectionMap = new HashMap<>(); + Map fileMap = new HashMap<>(); + Map multiTimeMap = new HashMap<>(); + String fileIds = ""; + for (Map.Entry entry : sarStandAttrMap.entrySet()) { + String attrKey = entry.getKey(); + String attrValue = entry.getValue(); + if (InitStandAttrUtil.queryFieldListLaws != null && !InitStandAttrUtil.queryFieldListLaws.isEmpty()) { + if (InitStandAttrUtil.queryFieldListLaws.contains(attrKey)) { + fieldsBuilder.append("," + attrKey); + // 多选项,文件类型需要单独处理 向子表添加数据 + if (InitStandAttrUtil.selectionFieldListLaws.contains(attrKey)) { + selectionMap.put(attrKey,attrValue); + } else if (InitStandAttrUtil.fileFieldListLaws.contains(attrKey)) { + fileMap.put(attrKey,attrValue); + fileIds += attrValue + ","; + } else if (InitStandAttrUtil.multiTimeFieldList.contains(attrKey)) { + multiTimeMap.put(attrKey,attrValue); + } + // 不同类型存储数据需单独处理值 + if (InitStandAttrUtil.numFieldListLaws.contains(attrKey)) { + if (StringUtils.isBlank(attrValue)) { + attrValue = "null"; + } + } else if (InitStandAttrUtil.timeFieldListLaws.contains(attrKey)) { + attrValue = FieldConvertUtil.changeTimeValue(attrValue); + } else { + attrValue = "'" + attrValue + "'"; + } + valuesBuilder.append("," + attrValue); + sarBussionessStandEO.setFileIds(fileIds); + } + } + } + String insertField = mustFields + fieldsBuilder.toString(); + String insertValue = mustValues + valuesBuilder.toString(); + int insertRes = sarLawsAttrInfoDao.insertLawsAttr(insertField,insertValue); + if (insertRes > 0) { + // 多选项处理 + createStandVal(sarBussionessStandEO.getId(),selectionMap); + // 文件处理 + createStandFile(sarBussionessStandEO.getId(),fileMap); + // 多时间处理 +// createStandPutTime(sarBussionessStandEO.getId(),multiTimeMap); + } + } + + /*** + * @Description: 多选项处理 + * @Author: yangxuenan + * @Date: 2020/9/8 14:37 + * @Param: [sarStandardsInfoEO, selectionMap] + * @Return: void + */ + public void createStandVal (String standId,Map selectionMap) { + if (selectionMap != null && selectionMap.size() > 0) { + List standValList = new ArrayList<>(); + for (Map.Entry entry : selectionMap.entrySet()) { + String value = entry.getValue(); + String field = entry.getKey(); + if (StringUtils.isNotBlank(value)) { + String[] valArr = value.trim().split(","); + for (String val : valArr) { + SarLawsVal sarStandValEO = new SarLawsVal(); + sarStandValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarStandValEO.setCreationTime(new Date()); + sarStandValEO.setModifyTime(new Date()); + sarStandValEO.setLawsId(standId); + sarStandValEO.setId(UUIDUtils.randomUUID20()); + sarStandValEO.setPropertyType(field); + sarStandValEO.setPropertyVal(val); + standValList.add(sarStandValEO); + } + } + } + if (standValList != null && !standValList.isEmpty()) { + sarBussStandValEODao.insertForeach(standValList); + } + } + } + + /*** + * @Description: 文件处理 + * @Author: yangxuenan + * @Date: 2020/9/8 15:01 + * @Param: [standId, fileMap] + * @Return: void + */ + public void createStandFile (String standId,Map fileMap) throws Exception { + if (fileMap != null && fileMap.size() > 0) { + List standFileList = new ArrayList<>(); + for (Map.Entry entry : fileMap.entrySet()) { + String value = entry.getValue(); + String field = entry.getKey(); + if (StringUtils.isNotBlank(value)) { + List fileList = attFileEOService.getMultiFileInfos(value); + if (fileList != null && !fileList.isEmpty()) { + createStandFileAppend(standId,field,fileList,standFileList); + } + } + } + if (standFileList != null && !standFileList.isEmpty()) { + sarBussStandFileEODao.insertForeach(standFileList); + } + } + } + + public void createStandFileAppend (String standId,String field,List fileList,List standFileList) throws Exception { + for (AttFileEO fileInfo : fileList) { + SarLawsFile sarStandFileEO = new SarLawsFile(); + sarStandFileEO.setCreationUser(LoginUserUtil.getUserId()); + sarStandFileEO.setCreationTime(new Date()); + sarStandFileEO.setModifyTime(new Date()); + sarStandFileEO.setValidFlag(0); + sarStandFileEO.setLawsId(standId); //标准ID + sarStandFileEO.setUseModel(UseModuleEnum.SOURCE_FILE.getValue()); //文件使用模式 + sarStandFileEO.setId(com.adc.da.sys.util.UUIDUtils.randomUUID20()); + sarStandFileEO.setAttId(fileInfo.getId()); //文件ID + sarStandFileEO.setLawsFileClassify(field); //文件分类 + sarStandFileEO.setFileName(fileInfo.getOldFileName()); + sarStandFileEO.setFileSuffix(fileInfo.getFileSuffix()); + sarStandFileEO.setOriAttId(fileInfo.getId()); + standFileList.add(sarStandFileEO); + //文档转换 + if ("pdf".equals(fileInfo.getFileSuffix()) || "PDF".equals(fileInfo.getFileSuffix())) { + SarLawsFile newFileEO = new SarLawsFile(); + newFileEO.setCreationUser(LoginUserUtil.getUserId()); + newFileEO.setCreationTime(new Date()); + newFileEO.setModifyTime(new Date()); + newFileEO.setValidFlag(0); + newFileEO.setLawsId(standId); //标准ID + newFileEO.setId(com.adc.da.sys.util.UUIDUtils.randomUUID20()); + newFileEO.setAttId(fileInfo.getId()); //文件ID + newFileEO.setLawsFileClassify(field); //文件分类 + newFileEO.setFileName(fileInfo.getOldFileName()); + newFileEO.setFileSuffix(fileInfo.getFileSuffix()); + newFileEO.setUseModel(UseModuleEnum.WEB_FILE.getValue()); //文件使用模式 //文件名称@@@@@@@需要修改 + newFileEO.setOriAttId(fileInfo.getId()); + standFileList.add(newFileEO); + } else { + String filePath = fileInfo.getFilePath() + fileInfo.getFileName(); + OtConvertMq convert = new OtConvertMq(); + convert.setLawsId(standId); + convert.setAttId(fileInfo.getId()); + convert.setFilePath(filePath); + convert.setAddOrUp("0"); + convert.setFileSuffix(fileInfo.getFileSuffix()); + convert.setStandFileClassify(field); + convert.setConvertType(SarTypeEnum.LAWS_STAND.getValue()); + convertMq.sendMQ(convert); + } + } + } + + @Override + public ResponseMessage deleteSarLawsStandInfo(SarLawsStandInfoPage page) throws Exception { + SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); + sarLawsStandInfo.setValidFlag(1); + sarLawsStandInfo.setModifyTime(new Date()); + for (String id : page.getIdlist()) { + //删除标准表 + sarLawsStandInfo.setId(id); + this.baseMapper.updateById(sarLawsStandInfo); + // 删除标准属性表 + sarLawsAttrInfoDao.deleteLawsAttrByStandId(id); + // 删除条款 + sarLawsItemsDao.deleteByStandIdAndFileType(id,null); + //删除收藏表中数据 + personCollectEODao.deleteByResId(id); + //删除标准关联的value表 + sarBussStandValEODao.deleteDataBylawsId(id); + List listFile = sarBussStandFileEODao.selectFileBylawsId(id); + if (listFile != null) { + if (!listFile.isEmpty()) { + for (int f = 0; f < listFile.size(); f++) { + sarBussStandFileEODao.deleteByPrimaryKey(listFile.get(f).getId()); + //删除文件信息表数据 +// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId()); + //删除转换表ot_convert数据 + otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); + } + } + } + if(elasflag) { + //删除成功后,将索引中对应数据删除 + StandLawsEO standLawsEO = new StandLawsEO(); + standLawsEO.setId(sarLawsStandInfo.getId()); + standLawsEO.setType("laws"); + standLawsSearchService.deleteStandLawsSearch(standLawsEO); + } + + } + return Result.success("0", "删除成功", sarLawsStandInfo); + } + + public List selectStandardsByStandNumber(String replaceStandNum) { + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("LAWS_NUMBER",replaceStandNum); + wrapper.eq("VALID_FLAG",0); + return this.baseMapper.selectList(wrapper); + } + + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/controller/SarLawsValController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/controller/SarLawsValController.java new file mode 100644 index 00000000..962f541a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/controller/SarLawsValController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.sarLawsVal.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsVal|") +@RequestMapping("/sarLawsVal/sar-laws-val") +public class SarLawsValController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/dao/SarLawsValDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/dao/SarLawsValDao.java new file mode 100644 index 00000000..51dc4689 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/dao/SarLawsValDao.java @@ -0,0 +1,24 @@ +package com.adc.da.slrs.sarLawsVal.dao; + +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Repository +public interface SarLawsValDao extends BaseMapper { + + //通过标准id删除表中数据 + int deleteDataBylawsId(String standId); + + int insertForeach(List list); //批量新增 +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/entity/SarLawsVal.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/entity/SarLawsVal.java new file mode 100644 index 00000000..ee02c769 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/entity/SarLawsVal.java @@ -0,0 +1,64 @@ +package com.adc.da.slrs.sarLawsVal.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableField; +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; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsVal对象", description="") +public class SarLawsVal extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "法规ID") + @TableField("LAWS_ID") + private String lawsId; + + @ApiModelProperty(value = "参数类型") + @TableField("PROPERTY_TYPE") + private String propertyType; + + @ApiModelProperty(value = "参数内容") + @TableField("PROPERTY_VAL") + private String propertyVal; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/ISarLawsValService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/ISarLawsValService.java new file mode 100644 index 00000000..a4f2349f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/ISarLawsValService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarLawsVal.service; + +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsValService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/impl/SarLawsValServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/impl/SarLawsValServiceImpl.java new file mode 100644 index 00000000..01a90c0d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/impl/SarLawsValServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.sarLawsVal.service.impl; + +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.adc.da.slrs.sarLawsVal.dao.SarLawsValDao; +import com.adc.da.slrs.sarLawsVal.service.ISarLawsValService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsValServiceImpl extends ServiceImpl implements ISarLawsValService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java index a54e33b7..1a2c55e6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java @@ -77,6 +77,8 @@ public class SarStandAttrDetailsController extends BaseController getLawsStandList = InitStandAttrUtil.lawsStandAttrFieldList; + resultMap.put(SarTypeEnum.LAWS_STAND.getValue(),getLawsStandList); List getInlandLawsList = InitStandAttrUtil.lawsInlandAttrFieldList; resultMap.put(SarTypeEnum.INLAND_LAWS.getValue(),getInlandLawsList); List getForeignLawsList = InitStandAttrUtil.lawsForeignAttrFieldList; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java index 464d7fb9..0923070d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java @@ -66,6 +66,7 @@ public class SarStandAttrDetailsServiceImpl extends ServiceImpl numFieldListLaws = new ArrayList<>(); // 属性表数字类型字段 public static List lawsInlandAttrFieldList = new ArrayList<>(); // 属性表数字类型字段 public static List lawsForeignAttrFieldList = new ArrayList<>(); // 全部政策字段属性 + public static List lawsStandAttrFieldList = new ArrayList<>(); // 全部政策字段属性 public static Map selectFieldMapLaws = new HashMap<>(); // 下拉属性字段及选项值 // 企标属性字段信息 @@ -141,12 +140,16 @@ public class InitStandAttrUtil implements ApplicationRunner { 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)) { + if (SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) { lawsForeignAttrFieldList.add(detailsEO); } + if (SarTypeEnum.LAWS_STAND.getValue().equals(sarType)) { + lawsStandAttrFieldList.add(detailsEO); + } + + if (SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) { + lawsInlandAttrFieldList.add(detailsEO); + } fieldInfoBuilderLaws.append(detailsEO.getAttrField() + ","); fieldInfoNameBuilderLaws.append(detailsEO.getAttrName() + ","); queryFieldListLaws.add(detailsEO.getAttrField()); diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/LawsStandExportUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/LawsStandExportUtil.java new file mode 100644 index 00000000..c5388ff0 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/LawsStandExportUtil.java @@ -0,0 +1,176 @@ +package com.adc.da.utils.util; + +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 标准导出工具 + * date: 2020/9/16 14:09 + */ +public class LawsStandExportUtil { + + private static final Logger logger = LoggerFactory.getLogger(LawsStandExportUtil.class); + + + public static Workbook exportDatas (List datas) { + Workbook workbook = new XSSFWorkbook(); + try { + StringBuilder attrBud = new StringBuilder(); + List detailsEOList = InitStandAttrUtil.lawsStandAttrFieldList; + Map attrInfoMap = new HashMap<>(); + for (SarStandAttrDetails detailsEO : detailsEOList) { + if (!InitStandAttrUtil.fileFieldListLaws.contains(detailsEO.getAttrField())) { + attrBud.append(detailsEO.getAttrName() + ","); + attrInfoMap.put(detailsEO.getAttrName(),detailsEO.getAttrField()); + } + } + String header = FieldConvertUtil.exportBaseFieldNamesLaws + "," + attrBud.toString(); + //创建工作表对象 + Sheet sheet = workbook.createSheet(); + // 创建头部 + createHeader(workbook,sheet,header); + // 创建数据 + createDatas(workbook,sheet,datas,header,attrInfoMap); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + return workbook; + } + + public static void createHeader(Workbook workbook,Sheet sheet,String header){ + CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + Row rowHeader = sheet.createRow(0);//开始创建标题行 + if (StringUtils.isNotBlank(header)) { + String[] headerArr = header.split(","); + for (int i=0;i < headerArr.length; i++) { + rowHeader.createCell(i).setCellValue(headerArr[i]); +// rowHeader.createCell(i).setCellStyle(cellStyle); + } + } + } + + public static void createDatas(Workbook workbook,Sheet sheet,List datas, + String header,Map attrInfoMap) throws Exception{ + CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + if (datas != null && !datas.isEmpty()) { + for (int i=0;i < datas.size(); i++) { + SarLawsStandInfo sarStandardsInfoEO = datas.get(i); + Row row = sheet.createRow(i+1); + String[] headerArr = header.split(","); + int sheetNum = 0; + for (String headerName : headerArr) { + String value = getValueByName(headerName,sarStandardsInfoEO,attrInfoMap); + if (StringUtils.isBlank(value) || "null".equals(value)) { + value = ""; + } + row.createCell(sheetNum).setCellValue(value); + sheetNum++; + } + } + } + } + + // 根据表头返回相应值 + public static String getValueByName (String name,SarLawsStandInfo sarStandardsInfoEO,Map attrInfoMap) throws Exception{ + String value = ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Map attrValueMap = sarStandardsInfoEO.getAttrInfoMap(); + switch (name) { + case "政策分类": + value = sarStandardsInfoEO.getLawsType(); + break; + case "政策编号": + value = sarStandardsInfoEO.getLawsNumber(); + break; + case "中文名称": + value = sarStandardsInfoEO.getLawsName(); + break; + case "英文名称": + value = sarStandardsInfoEO.getLawsEnName(); + break; + case "政策文号": + value = sarStandardsInfoEO.getLawsNo(); + break; + case "发文日期": + String issueTime=""; + if (Date.class.equals(sarStandardsInfoEO.getIssueTime())) { + issueTime = sdf.format(sarStandardsInfoEO.getIssueTime()); + + }else { + issueTime=sarStandardsInfoEO.getIssueTime(); + } + value = issueTime; + break; + case "发文单位": + value = sarStandardsInfoEO.getIssueCompany(); + break; + case "征集意见周期-起始时间": + String commentCycleStart=""; + if (Date.class.equals(sarStandardsInfoEO.getCommentCycleStart().getClass())){ + commentCycleStart = sdf.format(sarStandardsInfoEO.getCommentCycleStart()); + }else { + commentCycleStart=sarStandardsInfoEO.getCommentCycleStart(); + } + value = commentCycleStart; + break; + case "征集意见周期-结束时间": + String commentCycleEnd=""; + if (Date.class.equals(sarStandardsInfoEO.getCommentCycleEnd().getClass())){ + commentCycleEnd = sdf.format(sarStandardsInfoEO.getCommentCycleEnd()); + }else { + commentCycleEnd=sarStandardsInfoEO.getCommentCycleEnd(); + } + value = commentCycleEnd; + break; + case "文本状态": + value = sarStandardsInfoEO.getStandStatusShow(); + break; + case "适用区域": + value = sarStandardsInfoEO.getLawsSyqy(); + break; + case "适用车型": + value = sarStandardsInfoEO.getLawsSycx(); + break; + case "是否纳入认证清单": + value = sarStandardsInfoEO.getIsRelateAccess() != null ? (sarStandardsInfoEO.getIsRelateAccess().equals("1")?"是":"否"): ""; + break; + case "年度": + value = sarStandardsInfoEO.getLawsYear(); + break; + case "福田转发通知文号": + value = sarStandardsInfoEO.getLawsNotisyncNum(); + break; + case "信息简报": + value = sarStandardsInfoEO.getLawsBulletin(); + break; + case "标签": + value = sarStandardsInfoEO.getLawsLabel(); + break; + case "备注": + value = sarStandardsInfoEO.getLawsRemark(); + break; + default: + String field = attrInfoMap.get(name); + if (attrValueMap != null) { + value = String.valueOf(attrValueMap.get(field)); + } + break; + } + return value; + } + +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsFile/SarLawsFileMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsFile/SarLawsFileMapper.xml new file mode 100644 index 00000000..9992bbad --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsFile/SarLawsFileMapper.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + modify_time, creation_time, valid_flag, use_model, att_id, laws_id, id,file_suffix,file_name,laws_file_classify, + password,creation_user,ori_att_id + + + + + where 1=1 + + + and modify_time ${modifyTimeOperator} #{modifyTime} + + + and modify_time >= #{modifyTime1} + + + and modify_time <= #{modifyTime2} + + + and creation_time ${creationTimeOperator} #{creationTime} + + + and creation_time >= #{creationTime1} + + + and creation_time <= #{creationTime2} + + + and valid_flag ${validFlagOperator} #{validFlag} + + + and use_model ${useModuleOperator} #{useModule} + + + and att_id ${attIdOperator} #{attId} + + + and res_id ${resIdOperator} #{resId} + + + and laws_id ${lawsIdOperator} #{lawsId} + + + and id ${idOperator} #{id} + + + + + + insert into SAR_LAWS_FILE + + modify_time, + creation_time, + valid_flag, + use_model, + att_id, + laws_id, + id, + file_suffix, + file_name, + laws_file_classify, + password, + creation_user, + ori_att_id, + + + #{modifyTime, jdbcType=TIMESTAMP}, + #{creationTime, jdbcType=TIMESTAMP}, + #{validFlag, jdbcType=INTEGER}, + #{useModule, jdbcType=VARCHAR}, + #{attId, jdbcType=VARCHAR}, + #{lawsId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + #{fileSuffix, jdbcType=VARCHAR}, + #{fileName, jdbcType=VARCHAR}, + #{lawsFileClassify, jdbcType=VARCHAR}, + #{password, jdbcType=VARCHAR}, + #{creationUser, jdbcType=VARCHAR}, + #{oriAttId, jdbcType=VARCHAR}, + + + + + + update SAR_LAWS_FILE + + + ori_att_id = #{oriAttId}, + + + modify_time = #{modifyTime}, + + + creation_time = #{creationTime}, + + + valid_flag = #{validFlag}, + + + use_model = #{useModule}, + + + att_id = #{attId}, + + + laws_id = #{lawsId}, + + + where id = #{id} + + + + + + + + delete from SAR_LAWS_FILE + where id = #{value} + + + + + + + + + + + + + + + + + + + + + + + + delete from SAR_LAWS_FILE + where laws_id = #{value} + + + + + insert into SAR_LAWS_FILE + () + values + + (#{item.modifyTime, jdbcType=TIMESTAMP}, + #{item.creationTime, jdbcType=TIMESTAMP}, + #{item.validFlag, jdbcType=INTEGER}, + #{item.useModel, jdbcType=VARCHAR}, + #{item.attId, jdbcType=VARCHAR}, + #{item.lawsId, jdbcType=VARCHAR}, + #{item.id, jdbcType=VARCHAR}, + #{item.fileSuffix, jdbcType=VARCHAR}, + #{item.fileName, jdbcType=VARCHAR}, + #{item.lawsFileClassify, jdbcType=VARCHAR}, + #{item.password, jdbcType=VARCHAR}, + #{item.creationUser, jdbcType=VARCHAR}, + #{item.oriAttId, jdbcType=VARCHAR}) + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItemVal/SarLawsItemValMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItemVal/SarLawsItemValMapper.xml new file mode 100644 index 00000000..dea8be10 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItemVal/SarLawsItemValMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml index 808c40ad..cc1e59fa 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml @@ -264,4 +264,13 @@ and file_type = #{fileType} + + + delete from SAR_LAWS_ITEMS + where laws_id = #{standId} + + and file_type = #{fileType} + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsMenu/SarLawsMenuMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsMenu/SarLawsMenuMapper.xml new file mode 100644 index 00000000..04021a76 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsMenu/SarLawsMenuMapper.xml @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + valid_flag, menu_id, laws_id, id + + + + + where 1=1 + + + and valid_flag ${validFlagOperator} #{validFlag} + + + and menu_id ${menuIdOperator} #{menuId} + + + and laws_id ${lawsIdOperator} #{lawsId} + + + and id ${idOperator} #{id} + + + + + + + + insert into SAR_LAWS_MENU() + values (#{validFlag, jdbcType=INTEGER}, #{menuId, jdbcType=VARCHAR}, #{lawsId, jdbcType=VARCHAR}, #{id, jdbcType=VARCHAR}) + + + + + + insert into SAR_LAWS_MENU + + valid_flag, + menu_id, + laws_id, + id, + + + #{validFlag, jdbcType=INTEGER}, + #{menuId, jdbcType=VARCHAR}, + #{lawsId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + + + + + + update SAR_LAWS_MENU + set valid_flag = #{validFlag}, + menu_id = #{menuId}, + laws_id = #{lawsId} + where id = #{id} + + + + + update SAR_LAWS_MENU + + + valid_flag = #{validFlag}, + + + menu_id = #{menuId}, + + + laws_id = #{lawsId}, + + + where id = #{id} + + + + update SAR_LAWS_MENU + set menu_id = #{newMenuid} + where menu_id = #{oldMenuid} + + + + + + + + delete from SAR_LAWS_MENU + where id = #{value} + + + + + + + + + + + + + + + + + + delete from SAR_LAWS_MENU + where laws_id = #{value} + + + + + + + update SAR_BUSS_STAND_MENU + + + menu_id = #{menuId}, + + + where laws_id = #{lawsId} + and MENU_ID in + + #{item} + + + + + delete from SAR_LAWS_MENU + where laws_id = #{lawsId} + and MENU_ID in (select SAR_MENU.id from SAR_MENU + where VALID_FLAG=0 start with id=#{oldMenuId} connect by prior id= parent_id) + + + + delete from SAR_LAWS_MENU + where laws_id = #{lawsId, jdbcType=VARCHAR} and MENU_ID = #{menuId, jdbcType=VARCHAR} + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsStandInfo/SarLawsStandInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsStandInfo/SarLawsStandInfoMapper.xml new file mode 100644 index 00000000..0eafbbc4 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsStandInfo/SarLawsStandInfoMapper.xml @@ -0,0 +1,299 @@ + + + + + + + + + + + + + where 1=1 and SAR_LAWS_STAND_INFO.valid_flag=0 + + + and SAR_LAWS_STAND_INFO.id ${idOperator} #{id} + + + + and SAR_LAWS_STAND_INFO.LAWS_TYPE like concat(concat('%',#{lawsType}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NUMBER like concat(concat('%',#{lawsNumber}),'%') + + + and LAWS_NAME like concat(concat('%',#{lawsName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{lawsEnName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NO like concat(concat('%',#{lawsNo}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.ISSUE_TIME,'%Y-%m-%d') = #{issueTime} + + + and SAR_LAWS_STAND_INFO.ISSUE_COMPANY like concat(concat('%',#{issueCompany}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleStart},'%Y-%m-%d') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleEnd},'%Y-%m-%d') + + + and SAR_LAWS_STAND_INFO.LAWS_TYPE = #{lawsTextState} + + + and FIND_IN_SET(#{lawsSyqy},SAR_LAWS_STAND_INFO.LAWS_SYQY) + + + and FIND_IN_SET(#{lawsSycx},SAR_LAWS_STAND_INFO.LAWS_SYCX) + + + and SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS = #{isRelateAccess} + + + and SAR_LAWS_STAND_INFO.LAWS_YEAR like concat(concat('%',#{lawsYear}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM like concat(concat('%',#{lawsNotisyncNum}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_BULLETIN like concat(concat('%',#{lawsBulletin}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_LABEL like concat(concat('%',#{lawsLabel}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_REMARK like concat(concat('%',#{lawsRemark}),'%') + + + + and SAR_LAWS_STAND_INFO.country = #{country} + + + + + + left join SAR_STAND_MENU ON SAR_LAWS_STAND_INFO.id = SAR_STAND_MENU.stand_id + where 1=1 and SAR_LAWS_STAND_INFO.valid_flag=0 + + + + and SAR_LAWS_STAND_INFO.LAWS_TYPE like concat(concat('%',#{lawsType}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NUMBER like concat(concat('%',#{lawsNumber}),'%') + + + and (LAWS_NAME like concat(concat('%',#{numberName}),'%') + or SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{numberName}),'%')) + + + and LAWS_NAME like concat(concat('%',#{lawsName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{lawsEnName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NO like concat(concat('%',#{lawsNo}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.ISSUE_TIME,'%Y-%m-%d') = #{issueTime} + + + and SAR_LAWS_STAND_INFO.ISSUE_COMPANY like concat(concat('%',#{issueCompany}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleStart},'%Y-%m-%d') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleEnd},'%Y-%m-%d') + + + and SAR_LAWS_STAND_INFO.LAWS_TEXT_STATE = #{lawsTextState} + + + and FIND_IN_SET(#{lawsSyqy},SAR_LAWS_STAND_INFO.LAWS_SYQY) + + + and FIND_IN_SET(#{lawsSycx},SAR_LAWS_STAND_INFO.LAWS_SYCX) + + + and SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS = #{isRelateAccess} + + + and SAR_LAWS_STAND_INFO.LAWS_YEAR like concat(concat('%',#{lawsYear}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM like concat(concat('%',#{lawsNotisyncNum}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_BULLETIN like concat(concat('%',#{lawsBulletin}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_LABEL like concat(concat('%',#{lawsLabel}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_REMARK like concat(concat('%',#{lawsRemark}),'%') + + + + and SAR_LAWS_STAND_INFO.country = #{country} + + + + and SAR_STAND_MENU.MENU_ID in + + #{item} + + + + + + and SAR_STAND_MENU.MENU_ID in + + #{item} + + + + + and SAR_LAWS_STAND_INFO.id in + + #{item} + + + + + + and SAR_LAWS_STAND_INFO.id in ( + select COLLECT_RES_ID from TS_PERSON_COLLECT where TS_PERSON_COLLECT.VALID_FLAG=0 + and (collect_type='INLAND_STAND' or collect_type='FOREIGN_STAND') + and TS_PERSON_COLLECT.user_id=#{userId} + ) + + + + + LEFT JOIN TS_DICTYPE dicstandTextStatus ON ( + dicstandTextStatus.dic_type_code = a.LAWS_TEXT_STATE + AND dicstandTextStatus.dic_id IS NOT NULL + AND dicstandTextStatus.valid_flag = 0 + ) + left join SAR_LAWS_ATTR_INFO on (SAR_LAWS_ATTR_INFO.LAWS_ID = a.id and SAR_LAWS_ATTR_INFO.valid_flag=0) + where 1=1 + + + and (${advanceSearchStr}) + + + + + + DISTINCT SAR_LAWS_STAND_INFO.ID, + SAR_LAWS_STAND_INFO.LAWS_TYPE, + SAR_LAWS_STAND_INFO.LAWS_NUMBER, + SAR_LAWS_STAND_INFO.LAWS_NAME, + SAR_LAWS_STAND_INFO.LAWS_EN_NAME, + SAR_LAWS_STAND_INFO.LAWS_NO, + SAR_LAWS_STAND_INFO.ISSUE_TIME, + SAR_LAWS_STAND_INFO.ISSUE_COMPANY, + SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START, + SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END, + SAR_LAWS_STAND_INFO.LAWS_TEXT_STATE, + SAR_LAWS_STAND_INFO.LAWS_SYQY, + SAR_LAWS_STAND_INFO.LAWS_SYCX, + SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS, + SAR_LAWS_STAND_INFO.LAWS_YEAR, + SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM, + SAR_LAWS_STAND_INFO.LAWS_BULLETIN, + SAR_LAWS_STAND_INFO.LAWS_LABEL, + SAR_LAWS_STAND_INFO.LAWS_REMARK, + SAR_LAWS_STAND_INFO.COUNTRY, + SAR_LAWS_STAND_INFO.MODIFY_TIME + + + + + + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsVal/SarLawsValMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsVal/SarLawsValMapper.xml new file mode 100644 index 00000000..ee57f3ee --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsVal/SarLawsValMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + modify_time, creation_time, valid_flag, property_val, property_type, laws_id, id + + + + + where 1=1 + + + and modify_time ${modifyTimeOperator} #{modifyTime} + + + and modify_time >= #{modifyTime1} + + + and modify_time <= #{modifyTime2} + + + and creation_time ${creationTimeOperator} #{creationTime} + + + and creation_time >= #{creationTime1} + + + and creation_time <= #{creationTime2} + + + and valid_flag ${validFlagOperator} #{validFlag} + + + and property_val ${propertyValOperator} #{propertyVal} + + + and property_type ${propertyTypeOperator} #{propertyType} + + + and laws_id ${lawsIdOperator} #{lawsId} + + + and id ${idOperator} #{id} + + + + + + + insert into SAR_LAWS_VAL() + values (#{modifyTime, jdbcType=TIMESTAMP}, #{creationTime, jdbcType=TIMESTAMP}, #{validFlag, jdbcType=INTEGER}, #{propertyVal, jdbcType=VARCHAR}, #{propertyType, jdbcType=VARCHAR}, #{lawsId, jdbcType=VARCHAR}, #{id, jdbcType=VARCHAR}) + + + + + insert into SAR_LAWS_VAL + + modify_time, + creation_time, + valid_flag, + property_val, + property_type, + laws_id, + id, + + + #{modifyTime, jdbcType=TIMESTAMP}, + #{creationTime, jdbcType=TIMESTAMP}, + #{validFlag, jdbcType=INTEGER}, + #{propertyVal, jdbcType=VARCHAR}, + #{propertyType, jdbcType=VARCHAR}, + #{lawsId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + + + + + + + + + + + + + delete from SAR_LAWS_VAL + where laws_id = #{lawsId} + + + + insert into SAR_LAWS_VAL + () + values + + (#{item.modifyTime, jdbcType=TIMESTAMP}, + #{item.creationTime, jdbcType=TIMESTAMP}, + #{item.validFlag, jdbcType=INTEGER}, + #{item.propertyVal, jdbcType=VARCHAR}, + #{item.propertyType, jdbcType=VARCHAR}, + #{item.lawsId, jdbcType=VARCHAR}, + #{item.id, jdbcType=VARCHAR}) + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml index b981614a..fbed0e59 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml @@ -687,17 +687,6 @@ and TS_PERSON_COLLECT.user_id=#{userId} ) - - - and SAR_STAND_ATTR_INFO.GXHBQ is not null - - - and SAR_STAND_ATTR_INFO.GXHBQ like concat(concat('%',#{labelMenuId}),'%') - - - - and SAR_STAND_ATTR_INFO.CLLX = #{applyArctic} - @@ -710,6 +699,16 @@ ) left join SAR_STAND_ATTR_INFO on (SAR_STAND_ATTR_INFO.stand_id = a.id and SAR_STAND_ATTR_INFO.valid_flag=0) where 1=1 + + and SAR_STAND_ATTR_INFO.GXHBQ is not null + + + and SAR_STAND_ATTR_INFO.GXHBQ like concat(concat('%',#{labelMenuId}),'%') + + + + and SAR_STAND_ATTR_INFO.CLLX = #{applyArctic} + and (${advanceSearchStr}) diff --git a/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java b/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java index 5ffdf75d..2e91e397 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java @@ -43,10 +43,10 @@ public class PersonCollectEOController extends BaseController { **/ @ApiOperation(value = "|PersonCollectEO|分页查询") @GetMapping("/page") - public ResponseMessage> page(Integer pageNo, Integer pageSize, String collectTitle, String userId) throws Exception { + public ResponseMessage> page(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) throws Exception { - return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,userId); + return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,modeType,userId); } diff --git a/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java b/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java index 6fb76e39..de22ce6c 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java @@ -27,6 +27,6 @@ public interface IPersonCollectEOService extends IService { int updateByPrimaryKeySelective(TsPersonCollect tsPersonCollect) throws Exception; - public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String modeType, String collectTitle); + public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId); } diff --git a/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java index a3cff03e..9dd19ed2 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java @@ -129,13 +129,15 @@ public class PersonCollectEOServiceImpl extends ServiceImpl> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String userId) { + public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) { BasePage basePage = new BasePage(); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("user_id",userId); if (collectTitle != null && !collectTitle.equals("")){ wrapper.like("collect_title",collectTitle); - + } + if (modeType != null && !modeType.equals("")){ + wrapper.eq("collect_type",modeType); } if (pageNo != null) {