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

This commit is contained in:
yanyizhou
2021-09-06 18:29:25 +08:00
10 changed files with 374 additions and 66 deletions
+9 -3
View File
@@ -23,20 +23,26 @@
<version>3.0.0</version>
</dependency>
<!-- openOffice 和 jobconverter-->
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-core</artifactId>
<version>4.2.2</version>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-spring-boot-starter</artifactId>
<version>4.2.2</version>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.2.2</version>
<version>4.3.0</version>
</dependency>
<!-- openOffice end-->
<dependency>
@@ -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
@@ -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()+"*"));
@@ -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<SarStandAttrInfo> columns = new QueryWrapper<>();
columns.select("DTBJH","STAND_ID");
List<Map<String, Object>> mapsDTBZH = sarStandAttrInfoDao.selectMaps(columns);
QueryWrapper<SarStandAttrInfo> columnForDTBJH = new QueryWrapper<>();
columnForDTBJH.select("DTBJH");
//查询代替标准字段得到一个 被代替了的标准的id的键值对列表
List<Map<String, Object>> replaceStandIdMaps = sarStandAttrInfoDao.selectMaps(columnForDTBJH);
HashMap<String, Integer> 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<SarStandardsInfo> infoWrapper = new QueryWrapper<>();
infoWrapper.select("ID")
.eq("STAND_SORT",sort)
.eq("STAND_NUMBER",number)
.eq("STAND_YEAR",year);
List<Map<String, Object>> 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+"文本状态更新失败");
}
}
}
}
@@ -241,6 +241,25 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
page = (SarBussionessStandEOPage)JSONObject.toBean(jsonObject, SarBussionessStandEOPage.class);
page.setPage(1);
page.setPageSize(10000);
//查询当前登录人角色拥有权限的菜单
if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){
QueryWrapper<TsResource> qw = new QueryWrapper<>();
qw.eq("ID",page.getMenuId());
qw.isNull("PARENT_ID");
List<TsResource> children = iTsResourceService.list(qw);
if(children.isEmpty() && !page.getMenuId().equals("nomenu")){
List<String> getMenuIdList = tsUserService.getResourceUserId(page.getUserId());
if (getMenuIdList != null && !getMenuIdList.isEmpty()) {
page.setMenuRoleList(getMenuIdList);
} else {
page.setMenuRoleList(null);
}
List<String> ids = iTsResourceService.getChildMenuList(page.getMenuId());
if (ids != null && !ids.isEmpty()) {
page.setMenuAllChildrenIdList(ids);
}
}
}
if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
List<SarAdvanceSearchVO> 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<SarBussionessStan
page.setAdvanceSearchStr(null);
}
}
List<String> getMenuIdList = new ArrayList<>();
if(userId != null){
getMenuIdList= tsUserService.getResourceUserId(userId);
}
// List<String> getMenuIdList = sarMenuEOService.queryRoleMenuIdList(page.getStandType() + "_STAND", null);
if (getMenuIdList != null && !getMenuIdList.isEmpty()) {
page.setMenuRoleList(getMenuIdList);
} else {
page.setMenuRoleList(null);
}
// List<String> getMenuIdList = sarMenuEOService.queryRoleMenuIdList("BUSINESS_STAND",page.getMenuId());
if(getMenuIdList != null && !getMenuIdList.isEmpty()) {
page.setMenuRoleList(getMenuIdList);
}
List<String> 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){
@@ -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;
}
@@ -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);
@@ -51,7 +51,7 @@ public class FieldConvertUtil {
"个性化标签,政策文本,过程稿件,新车型实施日期(文本),在产车实施日期(文本),EOP实施日期(文本),SVPPS," +
"相关部门,责任部门,FO,维护工程师,归口管理部门,发布机构,我司是否参与,相关资料";
public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,标准状态,发布日期,标准实施日期," +
public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,文本状态,发布日期,标准实施日期," +
"代替企标编号,被代替企标编号";
public static String exportAttrFieldNamesBuss = "SVPPS,规范性引用文件,废止日期,复审日期,密级,授权,相关部门," +
@@ -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
<trim suffixOverrides="," >
<if test="putTime!=null">
and put_time=#{putTime}
</if>
<if test="issueTime!=null">
and issue_time=#{issueTime}
</if>
<if test="textStatusBuss!=null">
and text_status_buss=#{textStatusBuss}
</if>
<if test="standCode != null" >
<!-- and (
(concat(dicstandSort.DIC_TYPE_NAME, ' ', SAR_BUSSIONESS_STAND.STAND_CODE, '-', SAR_BUSSIONESS_STAND.STAND_YEAR)
@@ -308,7 +308,6 @@
<if test="fileType != null">
and SAR_STANDARDS_INFO.STAND_TYPE = #{fileType}
</if>
GROUP BY STAND_ID
order by SAR_STAND_FILE.modify_time desc,SAR_STAND_FILE.id
) tmp_tb limit ${pager.startIndex-1},${pageSize}) a
</select>