diff --git a/adc-da-convert/pom.xml b/adc-da-convert/pom.xml index 49b7dbb2..f2b4d1ef 100644 --- a/adc-da-convert/pom.xml +++ b/adc-da-convert/pom.xml @@ -23,20 +23,26 @@ 3.0.0 + + + com.artofsolving + jodconverter + 2.2.1 + org.jodconverter jodconverter-core - 4.2.2 + 4.3.0 org.jodconverter jodconverter-spring-boot-starter - 4.2.2 + 4.3.0 org.jodconverter jodconverter-local - 4.2.2 + 4.3.0 diff --git a/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java b/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java index 5fd73037..503973d9 100644 --- a/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java +++ b/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java @@ -1,16 +1,20 @@ package com.adc.da.convert.common; +import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection; +import com.artofsolving.jodconverter.openoffice.converter.StreamOpenOfficeDocumentConverter; import org.apache.commons.lang.StringUtils; -import org.jodconverter.DocumentConverter; -import org.jodconverter.JodConverter; -import org.jodconverter.OfficeDocumentConverter; -import org.jodconverter.document.DefaultDocumentFormatRegistry; -import org.jodconverter.office.*; +import org.jodconverter.core.DocumentConverter; +import org.jodconverter.core.office.OfficeException; +import org.jodconverter.core.office.OfficeManager; +import org.jodconverter.core.office.OfficeUtils; +import org.jodconverter.local.JodConverter; +import org.jodconverter.local.office.LocalOfficeManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import java.io.*; +import java.net.ConnectException; public class DocConverterPdf { @@ -75,6 +79,35 @@ public class DocConverterPdf { */ private static final int openOfficePort = 8100; + /** + * + * @param input 初始文件的路径,例:C:\Users\...\Desktop\test\1.doc + * @param output 转换后的存储路径,例:C:\Users\...\Desktop\test\ + */ + public void convert(File input , File output){ + + if (!input.exists()){ + System.out.println("源文件不存在"); + return; + } + SocketOpenOfficeConnection connection = new SocketOpenOfficeConnection("0.0.0.0", 8100); +// SocketOpenOfficeConnection connection = new SocketOpenOfficeConnection("10.10.66.176", 8100); + try { + connection.connect(); + System.out.println("获取连接成功!"); + } catch (ConnectException e) { + System.out.println("获取连接失败!"); + e.printStackTrace(); + } +// OpenOfficeDocumentConverter converter = new OpenOfficeDocumentConverter(connection); + StreamOpenOfficeDocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection); + System.out.println("开始转换!"); + converter.convert(input, output); + System.out.println("转换成功!"); + System.out.println("关闭连接!"); + connection.disconnect(); + } + /** * 转化文档 * @param input @@ -113,7 +146,7 @@ public class DocConverterPdf { try { // in = new FileInputStream(docFile); // out = new FileOutputStream(convertPdfFile); - convertFile(docFile,convertPdfFile); + convert(docFile,convertPdfFile); // converter.convert(in).as(DefaultDocumentFormatRegistry.getFormatByMediaType(filesType)). // to(out).as(DefaultDocumentFormatRegistry.PDF); // close the connection 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 d172428e..66c976c8 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 @@ -571,13 +571,13 @@ public class SearchCenterServiceImpl implements SearchCenterService { boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getStandSort()+"*")); } if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standCode.keyword", "*"+searchInfoEO.getStandCode()+"*")); + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*")); } if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); } if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standName.keyword", "*"+searchInfoEO.getStandName()+"*")); + boolQueryBuilder.must(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getStandName()+"*")); } if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java index 6664c6bb..73534336 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java @@ -12,7 +12,9 @@ import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.sun.corba.se.spi.ior.iiop.IIOPFactories; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; @@ -21,9 +23,9 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.time.LocalDate; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; @EnableScheduling @Component @@ -205,37 +207,84 @@ public class ScheduledJob { /** - * 被多个标准代替的标准变为“被代替”,只有一个被代替的自动变为“废止” + * 被多个标准代替的标准变为“被代替”,只被一个标准代替的自动变为“废止” */ - QueryWrapper columns = new QueryWrapper<>(); - columns.select("DTBJH","STAND_ID"); - List> mapsDTBZH = sarStandAttrInfoDao.selectMaps(columns); + QueryWrapper columnForDTBJH = new QueryWrapper<>(); + + columnForDTBJH.select("DTBJH"); + //查询代替标准字段得到一个 被代替了的标准的id的键值对列表 + List> replaceStandIdMaps = sarStandAttrInfoDao.selectMaps(columnForDTBJH); + HashMap replaceIdCountMap = new HashMap<>(); + + + replaceStandIdMaps.forEach(item->{ + if (item!=null){ + //此标准代替的标准的标准号的数组 + String DTBJHStr = item.get("DTBJH").toString(); + + //数据格式: (GB 123-2000,GB 4233434-2021,GB 423423423-2021) + if (!DTBJHStr.equals("")){ + String[] DTBJHArray = DTBJHStr.split(","); + for (String DTBJH : DTBJHArray) { + String[] sortAndNumberAndYear = DTBJH.split("\\s+"); + String sort = sortAndNumberAndYear[0]; + + String[] numberAndYear = sortAndNumberAndYear[1].split("\\-"); + String number=numberAndYear[0]; + String year=numberAndYear[1]; + + QueryWrapper infoWrapper = new QueryWrapper<>(); + infoWrapper.select("ID") + .eq("STAND_SORT",sort) + .eq("STAND_NUMBER",number) + .eq("STAND_YEAR",year); + + + List> idMaps = sarStandardsInfoDao.selectMaps(infoWrapper); + String standId = idMaps.get(0).get("ID").toString(); + + //如果代替标准id已存在则映射为2不存在则添加并映射为1 + if (replaceIdCountMap.containsKey(standId)) { + replaceIdCountMap.replace(standId,2); + }else { + replaceIdCountMap.put(standId, 1); + } + } + + } + + - mapsDTBZH.forEach(item->{ - if (item.get("DTBJH")!=null && !item.get("DTBJH").toString().equals("")){ - String dtbzh = item.get("DTBJH").toString(); - String[] split = dtbzh.split(","); - SarStandardsInfo sarStandardsInfo = new SarStandardsInfo(); - sarStandardsInfo.setId(item.get("STAND_ID").toString()); - //一个被代替标准号时,文本状态更新为废止状态,两个及以上时更新为被代替状态 - switch (split.length){ - case 0 : - break; - case 1 : - sarStandardsInfo.setTextStatus("chblaarg77");//废止状态 - break; - default: - sarStandardsInfo.setTextStatus("qke0ckro2p");//被代替状态 - } - try { - sarStandardsInfoDao.updateById(sarStandardsInfo); - }catch (Exception e){ - System.out.println("代替标准状态更新:id为"+item.get("STAND_ID").toString()+"文本状态更新失败"); } + + }); + + + + + //一个被代替标准号时,文本状态更新为废止状态,两个及以上时更新为被代替状态 + SarStandardsInfo sarStandardsInfo = new SarStandardsInfo(); + for (String key : replaceIdCountMap.keySet()) { + switch (replaceIdCountMap.get(key)){ + case 1 : + sarStandardsInfo.setTextStatus("chblaarg77");//废止状态 + sarStandardsInfo.setId(key); + break; + default : + sarStandardsInfo.setTextStatus("qke0ckro2p");//被代替状态 + sarStandardsInfo.setId(key); + break; } - }); + + try { + sarStandardsInfoDao.updateById(sarStandardsInfo); + }catch (Exception e){ + System.out.println("代替标准状态更新:id为"+key+"文本状态更新失败"); + } + } + } } 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 8e784e58..bc01354b 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 @@ -241,6 +241,25 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 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_BUSS_STAND_ATTR_INFO"); @@ -250,24 +269,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl getMenuIdList = new ArrayList<>(); - if(userId != null){ - getMenuIdList= tsUserService.getResourceUserId(userId); - } - // List getMenuIdList = sarMenuEOService.queryRoleMenuIdList(page.getStandType() + "_STAND", null); - if (getMenuIdList != null && !getMenuIdList.isEmpty()) { - page.setMenuRoleList(getMenuIdList); - } else { - page.setMenuRoleList(null); - } -// List getMenuIdList = sarMenuEOService.queryRoleMenuIdList("BUSINESS_STAND",page.getMenuId()); - if(getMenuIdList != null && !getMenuIdList.isEmpty()) { - page.setMenuRoleList(getMenuIdList); - } - List ids = sarMenuEOService.getChildMenuList(page.getMenuId()); - if (ids != null && !ids.isEmpty()) { - page.setMenuAllChildrenIdList(ids); - } } page.setOrderBy("SAR_BUSSIONESS_STAND.issue_time is null,SAR_BUSSIONESS_STAND.issue_time desc,SAR_BUSSIONESS_STAND.id"); if(userId != null){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarBussionessStandEOPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarBussionessStandEOPage.java index a2263387..d2fee840 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarBussionessStandEOPage.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarBussionessStandEOPage.java @@ -12,6 +12,16 @@ import java.util.List; */ public class SarBussionessStandEOPage extends BasePage { + private String textStatusBuss; + + public String getTextStatusBuss() { + return textStatusBuss; + } + + public void setTextStatusBuss(String textStatusBuss) { + this.textStatusBuss = textStatusBuss; + } + private String modifyTime; private String modifyTime1; private String modifyTime2; @@ -111,6 +121,197 @@ public class SarBussionessStandEOPage extends BasePage { private String shunxu; private String sql; + // 新增字段 + 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; + + public String getFZRQBUSS() { + return FZRQBUSS; + } + + public void setFZRQBUSS(String FZRQBUSS) { + this.FZRQBUSS = FZRQBUSS; + } + + public String getFSRQBUSS() { + return FSRQBUSS; + } + + public void setFSRQBUSS(String FSRQBUSS) { + this.FSRQBUSS = FSRQBUSS; + } + + public String getFBGBUSS() { + return FBGBUSS; + } + + public void setFBGBUSS(String FBGBUSS) { + this.FBGBUSS = FBGBUSS; + } + + public String getBZSMBUSS() { + return BZSMBUSS; + } + + public void setBZSMBUSS(String BZSMBUSS) { + this.BZSMBUSS = BZSMBUSS; + } + + public String getLSBBBUSS() { + return LSBBBUSS; + } + + public void setLSBBBUSS(String LSBBBUSS) { + this.LSBBBUSS = LSBBBUSS; + } + + public String getQTWJBUSS() { + return QTWJBUSS; + } + + public void setQTWJBUSS(String QTWJBUSS) { + this.QTWJBUSS = QTWJBUSS; + } + + public String getQCDW() { + return QCDW; + } + + public void setQCDW(String QCDW) { + this.QCDW = QCDW; + } + + public String getQCRBUSS() { + return QCRBUSS; + } + + public void setQCRBUSS(String QCRBUSS) { + this.QCRBUSS = QCRBUSS; + } + + public String getWJSCRYBUSS() { + return WJSCRYBUSS; + } + + public void setWJSCRYBUSS(String WJSCRYBUSS) { + this.WJSCRYBUSS = WJSCRYBUSS; + } + + public String getSYCXCLASS() { + return SYCXCLASS; + } + + public void setSYCXCLASS(String SYCXCLASS) { + this.SYCXCLASS = SYCXCLASS; + } + + public String getNYLXCLASS() { + return NYLXCLASS; + } + + public void setNYLXCLASS(String NYLXCLASS) { + this.NYLXCLASS = NYLXCLASS; + } + + public String getSYCPXCLASS() { + return SYCPXCLASS; + } + + public void setSYCPXCLASS(String SYCPXCLASS) { + this.SYCPXCLASS = SYCPXCLASS; + } + + public String getTXLBBUSS() { + return TXLBBUSS; + } + + public void setTXLBBUSS(String TXLBBUSS) { + this.TXLBBUSS = TXLBBUSS; + } + + public String getVPPSBMBUSS() { + return VPPSBMBUSS; + } + + public void setVPPSBMBUSS(String VPPSBMBUSS) { + this.VPPSBMBUSS = VPPSBMBUSS; + } + + public String getVPPSCNBUSS() { + return VPPSCNBUSS; + } + + public void setVPPSCNBUSS(String VPPSCNBUSS) { + this.VPPSCNBUSS = VPPSCNBUSS; + } + + public String getDTQBBHBUSS() { + return DTQBBHBUSS; + } + + public void setDTQBBHBUSS(String DTQBBHBUSS) { + this.DTQBBHBUSS = DTQBBHBUSS; + } + + public String getBDTQBBHBUSS() { + return BDTQBBHBUSS; + } + + public void setBDTQBBHBUSS(String BDTQBBHBUSS) { + this.BDTQBBHBUSS = BDTQBBHBUSS; + } + + public String getXGJLBUSS() { + return XGJLBUSS; + } + + public void setXGJLBUSS(String XGJLBUSS) { + this.XGJLBUSS = XGJLBUSS; + } + + public String getXGLC() { + return XGLC; + } + + public void setXGLC(String XGLC) { + this.XGLC = XGLC; + } + + public String getGLWJBUSS() { + return GLWJBUSS; + } + + public void setGLWJBUSS(String GLWJBUSS) { + this.GLWJBUSS = GLWJBUSS; + } + + public String getXCSJBUSS() { + return XCSJBUSS; + } + + public void setXCSJBUSS(String XCSJBUSS) { + this.XCSJBUSS = XCSJBUSS; + } + public String getZqcrId() { return zqcrId; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java index 0e8f8207..6002aa1f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java @@ -9,6 +9,7 @@ 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; @@ -101,14 +102,18 @@ public class BussStandExportUtil { case "英文名称": value = sarStandardsInfoEO.getStandEnName(); break; - case "标准状态": + case "文本状态": value = sarStandardsInfoEO.getStandStatusShow(); break; case "标准实施日期": - if (sarStandardsInfoEO.getPutTime() != null) { - String issueTime = sdf.format(sarStandardsInfoEO.getPutTime()); - value = issueTime; + String putTime=""; + if (Date.class.equals(sarStandardsInfoEO.getPutTime())) { + putTime = sdf.format(sarStandardsInfoEO.getPutTime()); + + }else { + putTime=sarStandardsInfoEO.getPutTime(); } + value = putTime; break; case "代替企标编号": value = sarStandardsInfoEO.getReplaceStandNum(); @@ -117,10 +122,13 @@ public class BussStandExportUtil { value = sarStandardsInfoEO.getReplacedStandNum(); break; case "发布日期": - if (sarStandardsInfoEO.getIssueTime() != null) { - String issueTime = sdf.format(sarStandardsInfoEO.getIssueTime()); - value = issueTime; + String issueTime=""; + if (Date.class.equals(sarStandardsInfoEO.getIssueTime().getClass())){ + issueTime = sdf.format(sarStandardsInfoEO.getIssueTime()); + }else { + issueTime=sarStandardsInfoEO.getIssueTime(); } + value = issueTime; break; case "复审日期": String field1 = attrInfoMap.get(name); diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java index e0966339..4895a277 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java @@ -51,7 +51,7 @@ public class FieldConvertUtil { "个性化标签,政策文本,过程稿件,新车型实施日期(文本),在产车实施日期(文本),EOP实施日期(文本),SVPPS," + "相关部门,责任部门,FO,维护工程师,归口管理部门,发布机构,我司是否参与,相关资料"; - public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,标准状态,发布日期,标准实施日期," + + public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,文本状态,发布日期,标准实施日期," + "代替企标编号,被代替企标编号"; public static String exportAttrFieldNamesBuss = "SVPPS,规范性引用文件,废止日期,复审日期,密级,授权,相关部门," + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index 0aecf221..93d64a17 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -363,6 +363,17 @@ left join SAR_BUSS_STAND_ATTR_INFO on (SAR_BUSS_STAND_ATTR_INFO.STAND_ID = SAR_BUSSIONESS_STAND.id and SAR_BUSS_STAND_ATTR_INFO.valid_flag=0) where 1=1 + + + and put_time=#{putTime} + + + and issue_time=#{issueTime} + + + and text_status_buss=#{textStatusBuss} + +