From 6bddbb8e7775a320475c0b8ee5b525eb049ae992 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Wed, 29 Mar 2023 19:51:51 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E6=A0=87?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/SarBussStandAttrInfoExecl.java | 19 +- .../SarBussionessStandController.java | 4 +- .../service/ISarBussionessStandService.java | 2 +- .../impl/SarBussionessStandServiceImpl.java | 258 ++++++++++++++++-- .../service/ITsResourceService.java | 3 + .../service/impl/TsResourceServiceImpl.java | 9 + .../java/com/adc/da/sys/dao/DicTypeEODao.java | 3 + .../mybatis/mapper/sys/DicTypeEOMapper.xml | 17 ++ 8 files changed, 283 insertions(+), 32 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java index 321d8870..e873891a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java @@ -84,9 +84,24 @@ public class SarBussStandAttrInfoExecl extends BaseEntity { private String xgjh; - //附件 + //发布稿附件 + private String fbgbuss; + + //编制说明附件 + private String bzsmbuss; + + //历史版本附件 + private String lsbbbuss; + + //其他文件附件 private String qtwjbuss; + //修改单附件 + private String xgd; + + //关联文件附件 + private String glwjbuss; + //标准中文名称 private String standName; @@ -109,7 +124,7 @@ public class SarBussStandAttrInfoExecl extends BaseEntity { private String issueTime; //标准编号 - private String standCode; + private String standNumber; //标准英文名称 private String standEnName; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 0a0075bd..5ff436e6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -416,9 +416,9 @@ public class SarBussionessStandController extends BaseController importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file) throws Exception{ + public ResponseMessage importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file,String menuId) throws Exception{ - return sarBussionessStandEOService.importSarBussionessStandFile(file); + return sarBussionessStandEOService.importSarBussionessStandFile(file,menuId); } @ApiOperation(value = "|SarBussionessStand|判断原文译文") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java index 0e072d8e..a151748b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java @@ -58,7 +58,7 @@ public interface ISarBussionessStandService extends IService ResponseMessage emptyFileAnewStorage(String type); - ResponseMessage importSarBussionessStandFile(MultipartFile file)throws Exception; + ResponseMessage importSarBussionessStandFile(MultipartFile file,String menuId)throws Exception; ResponseMessage repetitionFile(); 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 3bb0dfd3..bf8fbf42 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 @@ -248,6 +248,8 @@ public class SarBussionessStandServiceImpl extends ServiceImpl dicTypeEOS = dicTypeEODao.selectByPidInfo(pid); List sarBussionessStandlist = this.baseMapper.selectStandardsInfoByKey(id); SarBussionessStand sarBussionessStandEO = new SarBussionessStand(); if(!sarBussionessStandlist.isEmpty()) { List newStandList = new ArrayList<>(); newStandList.add(sarBussionessStandlist.get(0)); attrInfoShowDetails(newStandList); + for (DicTypeEO data : dicTypeEOS){ + if(data.getDicTypeCode().equals(newStandList.get(0).getTextStatusBuss())){ + newStandList.get(0).setTextStatusBussShow(data.getDicTypeName()); + } + } sarBussionessStandEO = newStandList.get(0); } + //企标文本状态 return sarBussionessStandEO; } @@ -2022,9 +2033,16 @@ public class SarBussionessStandServiceImpl extends ServiceImpl importSarBussionessStandFile(MultipartFile file)throws Exception { + public ResponseMessage importSarBussionessStandFile(MultipartFile file,String menuId)throws Exception { + + List tsResources = tsResourceService.getByMenuId(menuId); + if (ObjectUtils.isEmpty(tsResources)){ + return Result.error("请选择目录进行导入"); + } + + //给出头部信息 - String[] headerExcel = {"企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,附件,企标类型,标准年份,"}; + String[] headerExcel = {"企标类别,标准年份,企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件,"}; //获取文件全称 String fileNameStr = file.getOriginalFilename(); @@ -2118,8 +2136,28 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100){ + return Result.error("企标类别输入过长"); + } + sarBussStandAttrInfo.setStandSort(standSort); + }else { + return Result.error("企标类别不能为空"); + } + + String standYear = rowList.get("标准年份"); + if (StringUtils.isNotBlank(standYear)){ + if (standYear.length() > 100){ + return Result.error("标准年份输入过长"); + } + sarBussStandAttrInfo.setStandYear(standYear); + }else { + return Result.error("标准年份不能为空"); + } + + String standNumber = rowList.get("企标编号"); + sarBussStandAttrInfo.setStandNumber(standNumber); String standName = rowList.get("中文名称"); if(StringUtils.isNotBlank(standName)){ @@ -2127,6 +2165,8 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 200){ return Result.error("输入的文本状态过长"); } - sarBussStandAttrInfo.setTextStatusBuss(textStatusBuss); + + switch (textStatusBuss){ + case "发布": + sarBussStandAttrInfo.setTextStatusBuss("6jnqba2mby"); + break; + case "被代替": + sarBussStandAttrInfo.setTextStatusBuss("quxujsuev5"); + break; + case "参考": + sarBussStandAttrInfo.setTextStatusBuss("01i8opy07d"); + break; + case "即将实施": + sarBussStandAttrInfo.setTextStatusBuss("rpvoxsvr60"); + break; + case "有效": + sarBussStandAttrInfo.setTextStatusBuss("9z741h2m3j"); + break; + case "直接上传": + sarBussStandAttrInfo.setTextStatusBuss("t769k1rkcy"); + break; + case "作废": + sarBussStandAttrInfo.setTextStatusBuss("3lqnlgmgcn"); + break; + case "待修订-指的其他企业标准": + sarBussStandAttrInfo.setTextStatusBuss("1w7cegukbs"); + break; + default: + return Result.error("请提供准确的文本状态"); + } + }else { + return Result.error("文本状态不能为空"); } SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd"); @@ -2246,7 +2316,68 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100){ - return Result.error("企标类型输入过长"); + String xgd = rowList.get("修改单附件"); + if (xgd != null && !xgd.equals("")) { + String[] split = xgd.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } + sarBussStandAttrInfo.setXgd(s); } - sarBussStandAttrInfo.setStandSort(standSort); } - String standYear = rowList.get("标准年份"); - if (StringUtils.isNotBlank(standYear)){ - if (standYear.length() > 100){ - return Result.error("标准年份输入过长"); + String glwjbuss = rowList.get("关联文件附件"); + if (glwjbuss != null && !glwjbuss.equals("")) { + String[] split = glwjbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } + sarBussStandAttrInfo.setGlwjbuss(s); } - sarBussStandAttrInfo.setStandYear(standYear); } List list = new ArrayList<>(); @@ -2368,6 +2523,12 @@ public class SarBussionessStandServiceImpl extends ServiceImplqueryWrapper = new QueryWrapper<>(); @@ -2378,13 +2539,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl lawsList = iSarBussionessStandService.selectStandardsByStandNumber(standCode); - //此处判断是否是带入的标准 if(StringUtils.isNotBlank(sarBussionessStand.getId())) { bussId = sarBussionessStand.getId(); @@ -2401,8 +2555,8 @@ public class SarBussionessStandServiceImpl extends ServiceImpl dicInfo = dicTypeEODao.getDicInfo("dic_type_code", "dic_type_name"); Map dicMap = dicInfo.stream() - .filter(item-> !item.getDicTypeName().isEmpty()) - .collect(Collectors.toMap(DicTypeEO::getDicTypeName,DicTypeEO::getDicTypeCode,(value1, value2 )->value2)); + .filter(item-> !item.getDicTypeCode().isEmpty()) + .collect(Collectors.toMap(DicTypeEO::getDicTypeCode,DicTypeEO::getDicTypeName,(value1, value2 )->value2)); for(SarBussStandAttrInfoExecl row : sarlist){ attrInfoDetailsImport(row); @@ -3951,4 +4105,54 @@ public class SarBussionessStandServiceImpl extends ServiceImpl saveSarBussionessStand(SarBussionessStand sarBussionessStandEO) throws Exception { + //标准信息表中插入一条数据 + sarBussionessStandEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarBussionessStandEO.setCreationTime(new Date()); + sarBussionessStandEO.setModifyTime(new Date()); + sarBussionessStandEO.setId(UUIDUtils.randomUUID20()); + + if (StringUtils.isEmpty(sarBussionessStandEO.getMenuId())){ + sarBussionessStandEO.setMenuId("3"); + } + //根据新建标准所在目录,确定此处是否需要在标准目录关联表中插入数据 + if (StringUtils.isNotEmpty(sarBussionessStandEO.getMenuId())) { + SarBussStandMenu sarStandMenuEO = new SarBussStandMenu(); + sarStandMenuEO.setBussStandId(sarBussionessStandEO.getId()); + sarStandMenuEO.setMenuId(sarBussionessStandEO.getMenuId()); + sarStandMenuEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarStandMenuEO.setId(UUIDUtils.randomUUID20()); + sarBussStandMenuEODao.insertSelective(sarStandMenuEO); + } + int insertresult = this.baseMapper.insert(sarBussionessStandEO); + if (insertresult >= 1) { + // 根据代替标准号 ,修改代替标准号标准中的,被代替标准号 + updateReplaceConnect(sarBussionessStandEO); + //编写预警信息 +// writeWarnings(sarBussionessStandEO); + // 处理属性表信息 + if (StringUtils.isNotBlank(sarBussionessStandEO.getSarStandAttrEOStr())) { + createStandAttrInfo(sarBussionessStandEO,false); + } + // 增加关联事件 + String sortName = sysInfoEOService.getDicNamesByCodes(sarBussionessStandEO.getStandSort(),"JKSADFH564S"); + String number = sortName + " " + sarBussionessStandEO.getStandCode(); + if (StringUtils.isNotBlank(sarBussionessStandEO.getStandYear())) { + number += "-" + sarBussionessStandEO.getStandYear(); + } + String content = "入库" + number + " 《" + sarBussionessStandEO.getStandName() + "》"; + String prcCreateUser = StringUtils.isNotBlank(sarBussionessStandEO.getPrcCreateUser()) ? sarBussionessStandEO.getPrcCreateUser() : ""; + sarUpdLogEOService.createBaseProcessLog(sarBussionessStandEO.getId(),"BUSINESS",content,prcCreateUser); + saveNewFeed(sarBussionessStandEO,"2"); + if(elasflag) { + attrInfoShowSearchDetails(sarBussionessStandEO,"add"); + createStandMQService.sendBussStandMQ(sarBussionessStandEO,"add"); + } + return Result.success("00", "插入数据成功", sarBussionessStandEO); + } else { + return Result.error("01", "插入输入过程中出错"); + } + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java index 13c08cd7..3eadc5af 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java @@ -59,4 +59,7 @@ public interface ITsResourceService extends IService { List getChildMenuList(String menuId); boolean dealWithData(); + + List getByMenuId(String menuId)throws Exception; + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java index 0815fd38..418fd126 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarResource.service.impl; +import com.adc.da.exception.AdcDaBaseException; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; @@ -490,6 +491,14 @@ public class TsResourceServiceImpl extends ServiceImpl getByMenuId(String menuId) throws Exception{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("PARENT_ID",menuId); + List tsResources = baseMapper.selectList(queryWrapper); + return tsResources; + } + public boolean dealData(TsResource tsResource,Map map){ if (null!=tsResource.getParentId() && !"".equals(tsResource.getParentId()) && !"0".equals(tsResource.getParentId())){ tsResource.setParentIds(tsResource.getParentIds()+tsResource.getParentId()+","); diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java index 18d9e1ac..ff865a8a 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java @@ -85,4 +85,7 @@ public interface DicTypeEODao extends BaseMapper { */ public List getDicInfo(@Param("filed") String... filed); + String selectByPid(@Param("Info") String Info); + + List selectByPidInfo(@Param("pid") String pid); } diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml index 2bcc302c..25d4c58b 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml @@ -614,4 +614,21 @@ + + + From fd2d8bbc57de21b5ce90d510c6f0b75d80ce982f Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Thu, 30 Mar 2023 15:36:23 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=B5=81=E7=A8=8B=E5=92=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adc/da/login/security/WebMvcConfig.java | 3 + .../SarBussionessStandController.java | 71 +- .../impl/SarBussionessStandServiceImpl.java | 814 ++++++++++-------- .../slrs/sarVppsTree/dao/SarVppsTreeDao.java | 7 + .../adc/da/utils/util/FieldConvertUtil.java | 2 + 5 files changed, 513 insertions(+), 384 deletions(-) diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index 3f94431f..6bfe49c5 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -156,6 +156,9 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/importSarBussionessStandFile"); addInterceptor.excludePathPatterns("/api/sarLawsDetailedList/sar-laws-detailed-list/importData"); + //企标标准导入模板下载 + addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/exportTemplateFile"); + //doc文檔重新轉換 addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/convertDocAll_GNW"); addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/convertDocAll_QB"); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 5ff436e6..89656a53 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -1,6 +1,7 @@ package com.adc.da.slrs.sarBussionessStand.controller; +import cn.hutool.core.util.ZipUtil; import com.adc.da.Log.BusinessType; import com.adc.da.Log.EpcLog; import com.adc.da.common.FileUnZip; @@ -21,6 +22,7 @@ import com.adc.da.http.PageInfo; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.util.LoginUserUtil; +import com.adc.da.util.UUIDUtils; import com.adc.da.util.exception.AdcDaBaseException; import com.adc.da.util.utils.IOUtils; import com.adc.da.util.utils.StringUtils; @@ -31,7 +33,10 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.ApiOperation; import org.apache.commons.io.FileUtils; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,9 +51,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; +import java.io.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; @@ -438,5 +441,67 @@ public class SarBussionessStandController extends BaseController importSarBussionessStandFile(MultipartFile file,String menuId)throws Exception { List tsResources = tsResourceService.getByMenuId(menuId); - if (ObjectUtils.isEmpty(tsResources)){ - return Result.error("请选择目录进行导入"); - } + if (ObjectUtils.isNotEmpty(tsResources)) { + //给出头部信息 + String[] headerExcel = {"企标类别,标准年份,企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件,"}; + //获取文件全称 + String fileNameStr = file.getOriginalFilename(); + //获取最后.的位置 + int pos = fileNameStr.lastIndexOf("."); + //获取压缩文件名称并以小写显示 + String fileStr = fileNameStr.substring(pos + 1).toLowerCase(); + //校验是否是zip文件 + if (!fileStr.equals("zip")) { + return Result.error("请上传zip格式的文件"); + } + //进行拼接获取文件名称 + String fileName = fileNameStr.substring(0, pos); + //获取路径和文件名称 + String path = filePath + "/" + fileName; - //给出头部信息 - String[] headerExcel = {"企标类别,标准年份,企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件,"}; - - //获取文件全称 - String fileNameStr = file.getOriginalFilename(); - //获取最后.的位置 - int pos = fileNameStr.lastIndexOf("."); - //获取压缩文件名称并以小写显示 - String fileStr = fileNameStr.substring(pos + 1).toLowerCase(); - //校验是否是zip文件 - if (!fileStr.equals("zip")){ - return Result.error("请上传zip格式的文件"); - } - //进行拼接获取文件名称 - String fileName = fileNameStr.substring(0,pos); - //获取路径和文件名称 - String path = filePath + "/" + fileName; - - File saveDirectory = new File(path); - //判断saveDirectory中是否是文件夹 - if (!saveDirectory.isDirectory()){ - saveDirectory.mkdir(); - } - //将文件写入到指定路径中 - FileUtils.copyInputStreamToFile(file.getInputStream(),new File(path + "/" + fileNameStr)); - int countSuccess = 0; - try { - //解压缩 - String zipEntryName = FileUnZip.unZipFiles(path + "/" + fileNameStr, path); - //获取文件信息 - List fileList = readImpExcelFile(zipEntryName); - //判断获取到的文件数量 - if (fileList.size() < 1){ - return Result.error("上传的文件是空文件"); - } - //File excelfile = fileList.get(0); - int excel = 0; - for (File fileInfo:fileList){ - String infoJson = ""; - if (fileInfo.getName().contains(".xls") || fileInfo.getName().contains(".xlsx")) { - excel =excel+1; - if (excel > 1){ - return Result.error("导入了多个Excel文件"); + File saveDirectory = new File(path); + //判断saveDirectory中是否是文件夹 + if (!saveDirectory.isDirectory()) { + saveDirectory.mkdir(); + } + //将文件写入到指定路径中 + FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path + "/" + fileNameStr)); + int countSuccess = 0; + try { + //解压缩 + String zipEntryName = FileUnZip.unZipFiles(path + "/" + fileNameStr, path); + //获取文件信息 + List fileList = readImpExcelFile(zipEntryName); + //判断获取到的文件数量 + if (fileList.size() < 1) { + return Result.error("上传的文件是空文件"); } - Workbook workbook = null; - try { - workbook = WorkbookFactory.create(fileInfo); - if (workbook != null){ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Sheet sheet = workbook.getSheetAt(0); - if (sheet != null){ - StringBuilder sb = new StringBuilder(); - //获取总条数 - int rowNum = sheet.getLastRowNum(); - //循环遍历 - for (int i = 0;i <= rowNum;i++){ - Row row = sheet.getRow(i); - Row headerRow = sheet.getRow(0); - boolean isBlank = sarLawsInfoEOService.isRowEmpty(row); - if (row != null && !isBlank) { - int columNos = headerRow.getLastCellNum();// 表头总共的列数 - Map rowList = new LinkedHashMap<>(); - for (int j = 0; j < columNos; j++) { - Cell cell = row.getCell(j); - Cell headerCell = headerRow.getCell(j); - if (cell != null) { - if (i == 0) { - cell.setCellType(CellType.STRING); - sb.append(cell.getStringCellValue() + ","); - } else { - if (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) { - Date d = cell.getDateCellValue(); - rowList.put(headerCell.getStringCellValue(), sdf.format(d)); - } else { - cell.setCellType(CellType.STRING); - rowList.put(headerCell.getStringCellValue(), cell.getStringCellValue()); - } - } - } else { - if (i != 0) { - rowList.put(headerCell.getStringCellValue(), ""); - } - } - } - String fields = StringUtils.join(headerExcel); - String excelHeader = sb.toString(); - if (!fields.equals(excelHeader)) { - workbook.close(); - //删除原上传文件 - FileUnZip.deleteDir(saveDirectory); - return Result.error("fail", "读取失败,请严格按照模板文件导入数据"); - } - SarBussStandAttrInfoExecl sarBussStandAttrInfo = new SarBussStandAttrInfoExecl(); - if (i != 0) { + //File excelfile = fileList.get(0); + int excel = 0; + for (File fileInfo : fileList) { + String infoJson = ""; + if (fileInfo.getName().contains(".xls") || fileInfo.getName().contains(".xlsx")) { + excel = excel + 1; + if (excel > 1) { + return Result.error("导入了多个Excel文件"); + } + Workbook workbook = null; + try { + workbook = WorkbookFactory.create(fileInfo); + if (workbook != null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Sheet sheet = workbook.getSheetAt(0); + if (sheet != null) { + StringBuilder sb = new StringBuilder(); + //获取总条数 + int rowNum = sheet.getLastRowNum(); + //循环遍历 + for (int i = 0; i <= rowNum; i++) { + Row row = sheet.getRow(i); + Row headerRow = sheet.getRow(0); + boolean isBlank = sarLawsInfoEOService.isRowEmpty(row); + if (row != null && !isBlank) { + int columNos = headerRow.getLastCellNum();// 表头总共的列数 + Map rowList = new LinkedHashMap<>(); + for (int j = 0; j < columNos; j++) { + Cell cell = row.getCell(j); + Cell headerCell = headerRow.getCell(j); + if (cell != null) { + if (i == 0) { + cell.setCellType(CellType.STRING); + sb.append(cell.getStringCellValue() + ","); + } else { + if (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) { + Date d = cell.getDateCellValue(); + rowList.put(headerCell.getStringCellValue(), sdf.format(d)); + } else { + cell.setCellType(CellType.STRING); + rowList.put(headerCell.getStringCellValue(), cell.getStringCellValue()); + } + } + } else { + if (i != 0) { + rowList.put(headerCell.getStringCellValue(), ""); + } + } + } + String fields = StringUtils.join(headerExcel); + String excelHeader = sb.toString(); + if (!fields.equals(excelHeader)) { + workbook.close(); + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + return Result.error("fail", "读取失败,请严格按照模板文件导入数据"); + } + SarBussStandAttrInfoExecl sarBussStandAttrInfo = new SarBussStandAttrInfoExecl(); + if (i != 0) { - String standSort = rowList.get("企标类别"); - if (StringUtils.isNotBlank(standSort)){ - if (standSort.length() > 100){ - return Result.error("企标类别输入过长"); - } - sarBussStandAttrInfo.setStandSort(standSort); - }else { - return Result.error("企标类别不能为空"); - } + String standSort = rowList.get("企标类别"); + if (StringUtils.isNotBlank(standSort)) { + if (standSort.length() > 100) { + return Result.error("企标类别输入过长"); + } + sarBussStandAttrInfo.setStandSort(standSort); + } else { + return Result.error("企标类别不能为空"); + } - String standYear = rowList.get("标准年份"); - if (StringUtils.isNotBlank(standYear)){ - if (standYear.length() > 100){ - return Result.error("标准年份输入过长"); - } - sarBussStandAttrInfo.setStandYear(standYear); - }else { - return Result.error("标准年份不能为空"); - } + String standYear = rowList.get("标准年份"); + if (StringUtils.isNotBlank(standYear)) { + if (standYear.length() > 100) { + return Result.error("标准年份输入过长"); + } + sarBussStandAttrInfo.setStandYear(standYear); + } else { + return Result.error("标准年份不能为空"); + } - String standNumber = rowList.get("企标编号"); - sarBussStandAttrInfo.setStandNumber(standNumber); + String standNumber = rowList.get("企标编号"); + sarBussStandAttrInfo.setStandNumber(standNumber); - String standName = rowList.get("中文名称"); - if(StringUtils.isNotBlank(standName)){ - if(standName.length()>100){ - return Result.error("输入的标准名称过长"); - } - sarBussStandAttrInfo.setStandName(standName); - }else { - return Result.error("中文名称不能为空"); - } + String standName = rowList.get("中文名称"); + if (StringUtils.isNotBlank(standName)) { + if (standName.length() > 100) { + return Result.error("输入的标准名称过长"); + } + sarBussStandAttrInfo.setStandName(standName); + } else { + return Result.error("中文名称不能为空"); + } - String standEnName = rowList.get("英文名称"); - sarBussStandAttrInfo.setStandEnName(standEnName); + String standEnName = rowList.get("英文名称"); + sarBussStandAttrInfo.setStandEnName(standEnName); - String textStatusBuss = rowList.get("文本状态"); - if (StringUtils.isNotBlank(textStatusBuss)){ - if (textStatusBuss.length() > 200){ - return Result.error("输入的文本状态过长"); - } + String textStatusBuss = rowList.get("文本状态"); + if (StringUtils.isNotBlank(textStatusBuss)) { + if (textStatusBuss.length() > 200) { + return Result.error("输入的文本状态过长"); + } - switch (textStatusBuss){ - case "发布": - sarBussStandAttrInfo.setTextStatusBuss("6jnqba2mby"); - break; - case "被代替": - sarBussStandAttrInfo.setTextStatusBuss("quxujsuev5"); - break; - case "参考": - sarBussStandAttrInfo.setTextStatusBuss("01i8opy07d"); - break; - case "即将实施": - sarBussStandAttrInfo.setTextStatusBuss("rpvoxsvr60"); - break; - case "有效": - sarBussStandAttrInfo.setTextStatusBuss("9z741h2m3j"); - break; - case "直接上传": - sarBussStandAttrInfo.setTextStatusBuss("t769k1rkcy"); - break; - case "作废": - sarBussStandAttrInfo.setTextStatusBuss("3lqnlgmgcn"); - break; - case "待修订-指的其他企业标准": - sarBussStandAttrInfo.setTextStatusBuss("1w7cegukbs"); - break; - default: - return Result.error("请提供准确的文本状态"); - } - }else { - return Result.error("文本状态不能为空"); - } + switch (textStatusBuss) { + case "发布": + sarBussStandAttrInfo.setTextStatusBuss("6jnqba2mby"); + break; + case "被代替": + sarBussStandAttrInfo.setTextStatusBuss("quxujsuev5"); + break; + case "参考": + sarBussStandAttrInfo.setTextStatusBuss("01i8opy07d"); + break; + case "即将实施": + sarBussStandAttrInfo.setTextStatusBuss("rpvoxsvr60"); + break; + case "有效": + sarBussStandAttrInfo.setTextStatusBuss("9z741h2m3j"); + break; + case "直接上传": + sarBussStandAttrInfo.setTextStatusBuss("t769k1rkcy"); + break; + case "作废": + sarBussStandAttrInfo.setTextStatusBuss("3lqnlgmgcn"); + break; + case "待修订-指的其他企业标准": + sarBussStandAttrInfo.setTextStatusBuss("1w7cegukbs"); + break; + default: + return Result.error("请提供准确的文本状态"); + } + } else { + return Result.error("文本状态不能为空"); + } - SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd"); + String issueTimeStr =rowList.get("发布日期"); + if (issueTimeStr.contains("-")) { + sarBussStandAttrInfo.setIssueTime(issueTimeStr); + }else { + return Result.error("发布日期格式必须为年-月-日"); + } - Date issueTime = sdfs.parse( rowList.get("发布日期")); - String issueTimeStr = sdfs.format(issueTime); - if (StringUtils.isNotBlank(issueTimeStr)){ - sarBussStandAttrInfo.setIssueTime(issueTimeStr); - } + String putTimeStr = rowList.get("企标实施日期"); + if (putTimeStr.contains("-")) { + sarBussStandAttrInfo.setPutTime(putTimeStr); + }else { + return Result.error("企标实施日期格式必须为年-月-日"); + } - Date putTime = sdfs.parse(rowList.get("企标实施日期")); - String putTimeStr = sdfs.format(putTime); - if (StringUtils.isNotBlank(putTimeStr)){ - sarBussStandAttrInfo.setPutTime(putTimeStr); - } + String revisionStatus = rowList.get("企标制修订状态"); + sarBussStandAttrInfo.setRevisionStatus(revisionStatus); + + String qcdw = rowList.get("起草部门"); + if (StringUtils.isNotBlank(qcdw)) { + if (qcdw.length() > 100) { + return Result.error("输入的起草部门过长"); + } + sarBussStandAttrInfo.setQcdw(qcdw); + } - String revisionStatus = rowList.get("企标制修订状态"); - sarBussStandAttrInfo.setRevisionStatus(revisionStatus); + String dtqbbhbuss = rowList.get("代替企标编号"); + sarBussStandAttrInfo.setDtqbbhbuss(dtqbbhbuss); - String qcdw = rowList.get("起草部门"); - if (StringUtils.isNotBlank(qcdw)){ - if (qcdw.length() > 100){ - return Result.error("输入的起草部门过长"); - } - sarBussStandAttrInfo.setQcdw(qcdw); - } - - String fzrqbuss = rowList.get("废止日期"); - if (StringUtils.isNotBlank(fzrqbuss)){ - sarBussStandAttrInfo.setFzrqbuss(fzrqbuss); - } + String fsrqbuss = rowList.get("复审日期"); + if (fsrqbuss.contains("-")) { + sarBussStandAttrInfo.setFsrqbuss(fsrqbuss); + }else { + return Result.error("复审日期格式必须为年-月-日"); + } - String dtqbbhbuss = rowList.get("代替企标编号"); - sarBussStandAttrInfo.setDtqbbhbuss(dtqbbhbuss); + String qcrbuss = rowList.get("起草人"); + if (StringUtils.isNotBlank(qcrbuss)) { + if (qcrbuss.length() > 100) { + return Result.error("输入的起草人过长"); + } + sarBussStandAttrInfo.setQcrbuss(qcrbuss); + } - String fsrqbuss = rowList.get("复审日期"); - if (StringUtils.isNotBlank(fsrqbuss)){ - sarBussStandAttrInfo.setFsrqbuss(fsrqbuss); - } - - - String qcrbuss = rowList.get("起草人"); - if (StringUtils.isNotBlank(qcrbuss)){ - if (qcrbuss.length() > 100){ - return Result.error("输入的起草人过长"); - } - sarBussStandAttrInfo.setQcrbuss(qcrbuss); - } - - String bdtqbbhbuss = rowList.get("被代替企标编号"); - sarBussStandAttrInfo.setBdtqbbhbuss(bdtqbbhbuss); + String bdtqbbhbuss = rowList.get("被代替企标编号"); + sarBussStandAttrInfo.setBdtqbbhbuss(bdtqbbhbuss); //// //采用标准 13 - String cybz = rowList.get("采用标准"); - sarBussStandAttrInfo.setCybz(cybz); + String cybz = rowList.get("采用标准"); + sarBussStandAttrInfo.setCybz(cybz); - String wjscrybuss = rowList.get("文件上传人员"); - sarBussStandAttrInfo.setWjscrybuss(wjscrybuss); + String wjscrybuss = rowList.get("文件上传人员"); + sarBussStandAttrInfo.setWjscrybuss(wjscrybuss); //// //采标程度 15 - String cycd = rowList.get("采标程度"); - sarBussStandAttrInfo.setCycd(cycd); + String cycd = rowList.get("采标程度"); + sarBussStandAttrInfo.setCycd(cycd); //// //引用标准 16 - String yybz = rowList.get("引用标准"); - sarBussStandAttrInfo.setYybz(yybz); + String yybz = rowList.get("引用标准"); + sarBussStandAttrInfo.setYybz(yybz); - String sycxclass = rowList.get("适用车型"); - sarBussStandAttrInfo.setSycxclass(sycxclass); + String sycxclass = rowList.get("适用车型"); + sarBussStandAttrInfo.setSycxclass(sycxclass); - String nylxclass = rowList.get("能源类型"); - sarBussStandAttrInfo.setNylxclass(nylxclass); + String nylxclass = rowList.get("能源类型"); + sarBussStandAttrInfo.setNylxclass(nylxclass); - String sycpxclass = rowList.get("适用产品线"); - sarBussStandAttrInfo.setSycpxclass(sycpxclass); + String sycpxclass = rowList.get("适用产品线"); + sarBussStandAttrInfo.setSycpxclass(sycpxclass); - String xcsjbuss = rowList.get("上传时间"); - if (StringUtils.isNotBlank(xcsjbuss)){ - sarBussStandAttrInfo.setXcsjbuss(xcsjbuss); - } + //上传时间 + Date date = new Date(); + String format = sdf.format(date); + sarBussStandAttrInfo.setXcsjbuss(format); - String txlbbuss = rowList.get("体系类别"); - sarBussStandAttrInfo.setTxlbbuss(txlbbuss); + String txlbbuss = rowList.get("体系类别"); + sarBussStandAttrInfo.setTxlbbuss(txlbbuss); //// //备案日期 22 - String barq = rowList.get("备案日期"); - sarBussStandAttrInfo.setBarq(barq); + String barq = rowList.get("备案日期"); + if (barq.contains("-")){ + sarBussStandAttrInfo.setBarq(barq); + }else { + return Result.error("备案日期格式必须为年-月-日"); + } + //// //关联模块-乘用车VPPS编码 23 - String cycvppsbmbuss = rowList.get("关联模块-乘用车VPPS编码"); - sarBussStandAttrInfo.setCycvppsbmbuss(cycvppsbmbuss); + String cycvppsbmbuss = rowList.get("关联模块-乘用车VPPS编码"); + sarBussStandAttrInfo.setCycvppsbmbuss(cycvppsbmbuss); -//// //关联模块--乘用车vpps中文名称 24 - String cycvppscnbuss = rowList.get("关联模块--乘用车vpps中文名称"); - sarBussStandAttrInfo.setCycvppscnbuss(cycvppscnbuss); + // 关联模块-乘用车VPPS名称 24 + String cycvppscnbuss = sarVppsTreeDao.getCycvppscnbuss(sarBussStandAttrInfo.getCycvppsbmbuss()); + sarBussStandAttrInfo.setCycvppscnbuss(cycvppscnbuss); //// //关联模块--卡车VPPS编码 25 - String kcvppsbmbuss = rowList.get("关联模块--卡车VPPS编码"); - sarBussStandAttrInfo.setKcvppsbmbuss(kcvppsbmbuss); + String kcvppsbmbuss = rowList.get("关联模块--卡车VPPS编码"); + sarBussStandAttrInfo.setKcvppsbmbuss(kcvppsbmbuss); -//// //关联模块--卡车vpps中文名称 26 - String kcvppscnbuss = rowList.get("关联模块--卡车vpps中文名称"); - sarBussStandAttrInfo.setKcvppscnbuss(kcvppscnbuss); + //关联模块--卡车VPPS名称 26 + String kcvppscnbuss = sarVppsTreeDao.getKcvppscnbuss(sarBussStandAttrInfo.getKcvppsbmbuss()); + sarBussStandAttrInfo.setKcvppscnbuss(kcvppscnbuss); + String fbgbuss = rowList.get("发布稿附件"); + if (fbgbuss != null && !fbgbuss.equals("")) { + String[] split = fbgbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setFbgbuss(s); + } + } - String fbgbuss = rowList.get("发布稿附件"); - if (fbgbuss != null && !fbgbuss.equals("")) { - String[] split = fbgbuss.split(","); - String s = ""; - if (split.length != 0) { - for (int j = 0; j < split.length; j++) { - String name = fileInfo.getName(); - String[] split1 = fileInfo.toString().split(name); - File files = new File(split1[0] + split[j]); - AttFileVo attFileVo = attFileEOService.saveFileInfo(files); - if (StringUtils.isNotBlank(attFileVo.getId())) { - s += "," + attFileVo.getAttId(); - } else { - s = attFileVo.getAttId(); - } - } - sarBussStandAttrInfo.setFbgbuss(s); - } - } + String bzsmbuss = rowList.get("编制说明附件"); + if (bzsmbuss != null && !bzsmbuss.equals("")) { + String[] split = bzsmbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setBzsmbuss(s); + } + } - String bzsmbuss = rowList.get("编制说明附件"); - if (bzsmbuss != null && !bzsmbuss.equals("")) { - String[] split = bzsmbuss.split(","); - String s = ""; - if (split.length != 0) { - for (int j = 0; j < split.length; j++) { - String name = fileInfo.getName(); - String[] split1 = fileInfo.toString().split(name); - File files = new File(split1[0] + split[j]); - AttFileVo attFileVo = attFileEOService.saveFileInfo(files); - if (StringUtils.isNotBlank(attFileVo.getId())) { - s += "," + attFileVo.getAttId(); - } else { - s = attFileVo.getAttId(); - } - } - sarBussStandAttrInfo.setBzsmbuss(s); - } - } + String lsbbbuss = rowList.get("历史版本附件"); + if (lsbbbuss != null && !lsbbbuss.equals("")) { + String[] split = lsbbbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setLsbbbuss(s); + } + } - String lsbbbuss = rowList.get("历史版本附件"); - if (lsbbbuss != null && !lsbbbuss.equals("")) { - String[] split = lsbbbuss.split(","); - String s = ""; - if (split.length != 0) { - for (int j = 0; j < split.length; j++) { - String name = fileInfo.getName(); - String[] split1 = fileInfo.toString().split(name); - File files = new File(split1[0] + split[j]); - AttFileVo attFileVo = attFileEOService.saveFileInfo(files); - if (StringUtils.isNotBlank(attFileVo.getId())) { - s += "," + attFileVo.getAttId(); - } else { - s = attFileVo.getAttId(); - } - } - sarBussStandAttrInfo.setLsbbbuss(s); - } - } + String qtwjbuss = rowList.get("其他文件附件"); + if (qtwjbuss != null && !qtwjbuss.equals("")) { + String[] split = qtwjbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx") || split2.equals("png")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx/png格式的附件"); + return Result.error(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx/png格式的附件"); + } + } + sarBussStandAttrInfo.setQtwjbuss(s); + } + } - String qtwjbuss = rowList.get("其他文件附件"); - if (qtwjbuss != null && !qtwjbuss.equals("")) { - String[] split = qtwjbuss.split(","); - String s = ""; - if (split.length != 0) { - for (int j = 0; j < split.length; j++) { - String name = fileInfo.getName(); - String[] split1 = fileInfo.toString().split(name); - File files = new File(split1[0] + split[j]); - AttFileVo attFileVo = attFileEOService.saveFileInfo(files); - if (StringUtils.isNotBlank(attFileVo.getId())) { - s += "," + attFileVo.getAttId(); - } else { - s = attFileVo.getAttId(); - } - } - sarBussStandAttrInfo.setQtwjbuss(s); - } - } + String xgd = rowList.get("修改单附件"); + if (xgd != null && !xgd.equals("")) { + String[] split = xgd.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setXgd(s); + } + } - String xgd = rowList.get("修改单附件"); - if (xgd != null && !xgd.equals("")) { - String[] split = xgd.split(","); - String s = ""; - if (split.length != 0) { - for (int j = 0; j < split.length; j++) { - String name = fileInfo.getName(); - String[] split1 = fileInfo.toString().split(name); - File files = new File(split1[0] + split[j]); - AttFileVo attFileVo = attFileEOService.saveFileInfo(files); - if (StringUtils.isNotBlank(attFileVo.getId())) { - s += "," + attFileVo.getAttId(); - } else { - s = attFileVo.getAttId(); - } - } - sarBussStandAttrInfo.setXgd(s); - } - } + String glwjbuss = rowList.get("关联文件附件"); + if (glwjbuss != null && !glwjbuss.equals("")) { + String[] split = glwjbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error(fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setGlwjbuss(s); + } + } - String glwjbuss = rowList.get("关联文件附件"); - if (glwjbuss != null && !glwjbuss.equals("")) { - String[] split = glwjbuss.split(","); - String s = ""; - if (split.length != 0) { - for (int j = 0; j < split.length; j++) { - String name = fileInfo.getName(); - String[] split1 = fileInfo.toString().split(name); - File files = new File(split1[0] + split[j]); - AttFileVo attFileVo = attFileEOService.saveFileInfo(files); - if (StringUtils.isNotBlank(attFileVo.getId())) { - s += "," + attFileVo.getAttId(); - } else { - s = attFileVo.getAttId(); - } - } - sarBussStandAttrInfo.setGlwjbuss(s); - } - } + List list = new ArrayList<>(); + list.add(sarBussStandAttrInfo); - List list = new ArrayList<>(); - list.add(sarBussStandAttrInfo); + com.alibaba.fastjson.JSONArray json = com.alibaba.fastjson.JSONArray.parseArray(JSON.toJSONString(list)); + com.alibaba.fastjson.JSONObject jsonObjects = null; + for (int j = 0; j < json.size(); j++) { + jsonObjects = json.getJSONObject(j); + } + infoJson = String.valueOf(jsonObjects); - com.alibaba.fastjson.JSONArray json = com.alibaba.fastjson.JSONArray.parseArray(JSON.toJSONString(list)); - com.alibaba.fastjson.JSONObject jsonObjects = null; - for (int j = 0; j < json.size(); j++) { - jsonObjects = json.getJSONObject(j); - } - infoJson = String.valueOf(jsonObjects); - - //入库 - processCreateBuss(infoJson); - countSuccess++; - } - } - } - } - } - }catch (Exception e){ - FileUnZip.deleteDir(saveDirectory); - return Result.error("导入失败,请查看需要导入的企标标准号和企标名称是否已存在"); - } - } - } - String msg = "成功导入" + countSuccess + "条"; - return Result.success("",msg,null); - }catch (Exception e){ - FileUnZip.deleteDir(saveDirectory); - return Result.error("导入失败,没有可导入的数据,请检查!"); - } + //入库 + processCreateBuss(infoJson); + countSuccess++; + } + } + } + } + } + } catch (Exception e) { + FileUnZip.deleteDir(saveDirectory); + return Result.error("导入失败,请查看需要导入的企标标准号和企标名称是否已存在"); + } + } + } + String msg = "成功导入" + countSuccess + "条"; + return Result.success("", msg, null); + } catch (Exception e) { + FileUnZip.deleteDir(saveDirectory); + return Result.error("导入失败,没有可导入的数据,请检查!"); + } + }else { + return Result.error("请选择目录进行导入"); + } } private static List readImpExcelFile(String path) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java index b91948c6..425473c5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java @@ -2,6 +2,8 @@ package com.adc.da.slrs.sarVppsTree.dao; import com.adc.da.slrs.sarVppsTree.entity.SarVppsTree; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

@@ -13,4 +15,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface SarVppsTreeDao extends BaseMapper { + @Select("select sar_vpps_tree.CHINESE_NAME from sar_vpps_tree where sar_vpps_tree.VPPS_CODE = #{cycvppsbmbuss} and sar_vpps_tree.TYPE = 'car';") + String getCycvppscnbuss(@Param("cycvppsbmbuss") String cycvppsbmbuss); + + @Select("select sar_vpps_tree.CHINESE_NAME from sar_vpps_tree where sar_vpps_tree.VPPS_CODE = #{kcvppsbmbuss} and sar_vpps_tree.TYPE = 'truck';") + String getKcvppscnbuss(@Param("kcvppsbmbuss") String kcvppsbmbuss); } 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 1d3cf766..f56e16a3 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 @@ -68,6 +68,8 @@ public class FieldConvertUtil { "在产车实施日期(项目),EOP实施日期(项目),实施说明,认证交付物,认证对象,监管类型,适用车辆类型,责任部门,相关部门,FO,项目评估角色," + "文本说明,标签,要求类型,清单类型,入库模块"; + public static String exportFieldName = "企标类别,标准年份,企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件"; + /*** * @Description: Clob类型 转String * @Author: super_liu From fc3704555acfccba4115842b0344240e2fe302d2 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Thu, 30 Mar 2023 16:47:43 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E6=A0=87?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/SarBussStandAttrInfoExecl.java | 2 ++ .../service/impl/SarBussionessStandServiceImpl.java | 9 +++++---- .../sarResource/service/impl/TsResourceServiceImpl.java | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java index e873891a..cc1a8c35 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java @@ -186,6 +186,8 @@ public class SarBussStandAttrInfoExecl extends BaseEntity { //备案日期 private String barq; + private String menuId; + @TableField(exist = false) private Map attrInfoMap = new LinkedHashMap<>(); 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 69d5d75e..767e8b85 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 @@ -2041,7 +2041,9 @@ public class SarBussionessStandServiceImpl extends ServiceImpl importSarBussionessStandFile(MultipartFile file,String menuId)throws Exception { List tsResources = tsResourceService.getByMenuId(menuId); - if (ObjectUtils.isNotEmpty(tsResources)) { + if (ObjectUtils.isEmpty(tsResources)) { + return Result.error("请选择需要导入的目录"); + } //给出头部信息 String[] headerExcel = {"企标类别,标准年份,企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件,"}; @@ -2486,6 +2488,8 @@ public class SarBussionessStandServiceImpl extends ServiceImpl list = new ArrayList<>(); list.add(sarBussStandAttrInfo); @@ -2516,9 +2520,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl readImpExcelFile(String path) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java index 418fd126..dc4a8ae9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java @@ -494,7 +494,7 @@ public class TsResourceServiceImpl extends ServiceImpl getByMenuId(String menuId) throws Exception{ QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PARENT_ID",menuId); + queryWrapper.eq("ID",menuId); List tsResources = baseMapper.selectList(queryWrapper); return tsResources; } From 4a18c684fa596b806bff7a72745d1ec8de780245 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Thu, 30 Mar 2023 19:07:03 +0800 Subject: [PATCH 04/22] =?UTF-8?q?=E6=8B=86=E5=88=86=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E8=A7=92=E6=A0=87=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarFileSplitInfoEOServiceImpl.java | 38 ++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java index 0eca5910..8464d391 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java @@ -17,8 +17,6 @@ import com.adc.da.slrs.standardSplit.service.SarFileSplitInfoEOService; import com.adc.da.sys.common.SelectionResult; import com.adc.da.sys.util.LoginUserUtil; import com.adc.da.sys.util.UUIDUtils; -import com.adc.da.utils.util.InitStandAttrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.ObjectUtils; @@ -37,7 +35,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.adc.da.common.SplitFilePragraTypeEnum; @@ -167,7 +164,9 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService try { AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); //String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); - String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName(); + //String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName(); + //String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName(); + String readFilePath = "C:/Users/syxy/Desktop/GB 1589-2016 汽车、挂车及汽车列车外廓尺寸、轴荷及质量限值.docx"; InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 XWPFDocument doc = new XWPFDocument(is); @@ -184,8 +183,9 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService String regex = "^[0-9]*$"; for (IBodyElement element : elements) { // 段落 + XWPFParagraph p = null; if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + p = (XWPFParagraph)element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -660,8 +660,36 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } private void addItermsConditionsOfTable(SarFileSplitItemsEO message, List itemsValList, XWPFTable table) throws IOException { + StringBuffer buffer = new StringBuffer(); StringBuilder tabaleStringNew = new StringBuilder(""); //将表格转为html字符串 + int numberOfRows = table.getNumberOfRows(); + for (int i = 0; i tableCells = table.getRow(i).getTableCells(); + for (int j = 0; j paragraphs = tableCells.get(j).getParagraphs(); + for (XWPFParagraph data : paragraphs){ + for (XWPFRun xwrun : data.getRuns()) { + VerticalAlign subscript = xwrun.getSubscript(); + String smalltext = xwrun.getText(0); + if (ObjectUtils.isNotEmpty(smalltext)) { + switch (subscript) { + case BASELINE: + xwrun.setText(smalltext); + break; + case SUBSCRIPT: + xwrun.setText("" + smalltext + ""); + break; + case SUPERSCRIPT: + xwrun.setText("" + smalltext + ""); + break; + } + } + } + } + } + } + ReadWordTable readWordTable = new ReadWordTable(); String tableStr = readWordTable.readTable(table); tabaleStringNew.append(tableStr); From ca11f4ea51866ed785e42c07c13fbafc32bb1820 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Thu, 30 Mar 2023 19:12:06 +0800 Subject: [PATCH 05/22] =?UTF-8?q?=E6=8B=86=E5=88=86=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E8=A7=92=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SarFileSplitInfoEOServiceImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java index 8464d391..2fc78646 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java @@ -164,9 +164,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService try { AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); //String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); - //String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName(); - //String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName(); - String readFilePath = "C:/Users/syxy/Desktop/GB 1589-2016 汽车、挂车及汽车列车外廓尺寸、轴荷及质量限值.docx"; + String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName(); InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 XWPFDocument doc = new XWPFDocument(is); From f47c1273da927666b3faefdb6167a09d6858fd47 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Thu, 30 Mar 2023 19:43:13 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E9=A6=96=E9=A1=B5=20=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=20=E6=8C=89=E9=92=AE=20=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=88=99=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/common/BusProcessName.java | 2 + .../controller/WorkFlowController.java | 15 +++++++ .../SarAgenldAcceptButtonController.java | 30 +++++++++++++ .../dao/SarAgenldAcceptButtonDao.java | 9 ++++ .../entity/SarAgenldAcceptButton.java | 43 +++++++++++++++++++ .../SarAgenldAcceptButtonServiceImpl.java | 43 +++++++++++++++++++ .../service/SarAgenldAcceptButtonService.java | 10 +++++ .../SarAgenIdAcceptButtonMapper.xml | 4 ++ 8 files changed, 156 insertions(+) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SarAgenldAcceptButtonController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SarAgenldAcceptButtonDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/SarAgenldAcceptButton.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SarAgenldAcceptButtonServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SarAgenldAcceptButtonService.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarAgenIdAcceptButton/SarAgenIdAcceptButtonMapper.xml diff --git a/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java b/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java index ca3e9ebd..7e4df154 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java +++ b/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java @@ -56,4 +56,6 @@ public class BusProcessName implements Serializable { private String isEnd; private String taskBackAssignee; + + private boolean showreceive; } diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java index 899bca1f..659095e0 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java @@ -13,6 +13,7 @@ import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.common.Page; import com.adc.da.login.util.JwtUtils; +import com.adc.da.slrs.StandardQA.service.Impl.SarAgenldAcceptButtonServiceImpl; import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanDao; import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan; import com.adc.da.slrs.esRevisePlan.service.IEsRevisePlanLogService; @@ -83,6 +84,9 @@ public class WorkFlowController { @Autowired private IEsRevisePlanLogService esRevisePlanLogService; + @Autowired + private SarAgenldAcceptButtonServiceImpl sarAgenldAcceptButtonService; + // @Autowired // private ExportExcelMapper exportExcelMapper; @@ -259,6 +263,7 @@ public class WorkFlowController { @ApiOperation(value = "管控流程接收任务") @GetMapping("/acceptTack") public Integer acceptTack(@RequestParam("nowEsId") String nowEsId, @RequestParam("oaFlag") String oaFlag, @RequestParam("taskId") String taskId) { + sarAgenldAcceptButtonService.add(taskId); return workFlowFeignClient.acceptTack(nowEsId,oaFlag,taskId); } @@ -507,6 +512,16 @@ public class WorkFlowController { pageInfo.setCount(Long.valueOf(0)); pageInfo.setPageSize(taskCommonQuery.getSize()); } + for (BusProcessName data : pageInfo.getList()){ + if(StringUtils.isNotBlank(data.getTaskIds())){ + String s = sarAgenldAcceptButtonService.selectIsNot(data.getTaskIds()); + if(s.equals("1")){ + data.setShowreceive(false); + }else { + data.setShowreceive(true); + } + } + } return pageInfo; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SarAgenldAcceptButtonController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SarAgenldAcceptButtonController.java new file mode 100644 index 00000000..cab58629 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SarAgenldAcceptButtonController.java @@ -0,0 +1,30 @@ +package com.adc.da.slrs.StandardQA.controller; + +import com.adc.da.slrs.StandardQA.service.SarAgenldAcceptButtonService; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/${restPath}/lawss/SarAgenldAcceptButton") +@Api(description = "|SarAgenldAcceptButton|") +public class SarAgenldAcceptButtonController { + + @Autowired + private SarAgenldAcceptButtonService sarAgenldAcceptButtonService; + + @GetMapping("/selectIsNot") + public String selectIsNot(String pid){ + return sarAgenldAcceptButtonService.selectIsNot(pid); + } + + @GetMapping("/add") + public ResponseMessage add(String id){ + sarAgenldAcceptButtonService.add(id); + return Result.success(); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SarAgenldAcceptButtonDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SarAgenldAcceptButtonDao.java new file mode 100644 index 00000000..a02c091a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SarAgenldAcceptButtonDao.java @@ -0,0 +1,9 @@ +package com.adc.da.slrs.StandardQA.dao; + +import com.adc.da.slrs.StandardQA.entity.SarAgenldAcceptButton; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +@Repository +public interface SarAgenldAcceptButtonDao extends BaseMapper { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/SarAgenldAcceptButton.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/SarAgenldAcceptButton.java new file mode 100644 index 00000000..3f124323 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/SarAgenldAcceptButton.java @@ -0,0 +1,43 @@ +package com.adc.da.slrs.StandardQA.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("sar_agenld_accept_button") +@ApiModel(value="SarAgenldAcceptButton对象", description="") +@Data +public class SarAgenldAcceptButton { + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "类型") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty(value = "类型") + @TableField("TYPE") + private String type; + + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SarAgenldAcceptButtonServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SarAgenldAcceptButtonServiceImpl.java new file mode 100644 index 00000000..2bb02d4b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SarAgenldAcceptButtonServiceImpl.java @@ -0,0 +1,43 @@ +package com.adc.da.slrs.StandardQA.service.Impl; + +import com.adc.da.slrs.StandardQA.dao.SarAgenldAcceptButtonDao; +import com.adc.da.slrs.StandardQA.entity.SarAgenldAcceptButton; +import com.adc.da.slrs.StandardQA.service.SarAgenldAcceptButtonService; +import com.adc.da.util.http.ResponseMessage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class SarAgenldAcceptButtonServiceImpl extends ServiceImpl implements SarAgenldAcceptButtonService { + + @Autowired + private SarAgenldAcceptButtonDao sarAgenldAcceptButtonDao; + + @Override + public String selectIsNot(String pid){ + QueryWrapper objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("TASK_ID",pid); + List sarAgenldAcceptButtons = sarAgenldAcceptButtonDao.selectList(objectQueryWrapper); + if(!sarAgenldAcceptButtons.isEmpty()){ + if(sarAgenldAcceptButtons.get(0).getType().equals("1")){ + return "1"; + } + } + return "0"; + } + + + public void add(String id) { + SarAgenldAcceptButton sarAgenldAcceptButton = new SarAgenldAcceptButton(); + sarAgenldAcceptButton.setTaskId(id); + sarAgenldAcceptButton.setType("1"); + sarAgenldAcceptButtonDao.insert(sarAgenldAcceptButton); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SarAgenldAcceptButtonService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SarAgenldAcceptButtonService.java new file mode 100644 index 00000000..308910b0 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SarAgenldAcceptButtonService.java @@ -0,0 +1,10 @@ +package com.adc.da.slrs.StandardQA.service; + +import com.adc.da.util.http.ResponseMessage; + +public interface SarAgenldAcceptButtonService { + + void add(String id); + + String selectIsNot(String pid); +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarAgenIdAcceptButton/SarAgenIdAcceptButtonMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarAgenIdAcceptButton/SarAgenIdAcceptButtonMapper.xml new file mode 100644 index 00000000..585e3510 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarAgenIdAcceptButton/SarAgenIdAcceptButtonMapper.xml @@ -0,0 +1,4 @@ + + + + From 5ad13178ffc47c360833fff434114f4d24b4633a Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Thu, 30 Mar 2023 20:43:09 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E6=A0=87?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarBussionessStandController.java | 6 +- .../impl/SarBussionessStandServiceImpl.java | 170 +++++++++++++++--- .../adc/da/slrs/sarUser/dao/TsUserDao.java | 3 + .../slrs/sarUser/service/ITsUserService.java | 2 + .../service/impl/TsUserServiceImpl.java | 6 + .../adc/da/utils/util/FieldConvertUtil.java | 10 +- 6 files changed, 173 insertions(+), 24 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 89656a53..6bb9f32f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -467,7 +467,8 @@ public class SarBussionessStandController extends BaseController rowList = new LinkedHashMap<>(); for (int j = 0; j < columNos; j++) { Cell cell = row.getCell(j); Cell headerCell = headerRow.getCell(j); if (cell != null) { - if (i == 0) { - cell.setCellType(CellType.STRING); - sb.append(cell.getStringCellValue() + ","); + if (i == 1) { +// cell.setCellType(CellType.STRING); +// sb.append(cell.getStringCellValue() + ","); } else { if (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) { Date d = cell.getDateCellValue(); @@ -2123,7 +2134,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { return Result.error("企标类别输入过长"); } - sarBussStandAttrInfo.setStandSort(standSort); + switch (standSort){ + case "BZJ": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "FT": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q-HD": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q-IOUM": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/ASB": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/BFC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/BQB": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/CBFC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FD": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FL": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT A": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT B": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT E": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT F": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT G": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT M": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT P": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT Q": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT R": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT S": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT T": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT V": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT X": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT Y": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT Z": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/MGB": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/QCBFC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/QCFLC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/SGZGS": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/SH": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/SY": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "QB/NE": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "QC/T": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "QJ/SH": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q房/AYJ": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "TFT": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "津Q/NK": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "鲁Q/LX": + sarBussStandAttrInfo.setStandSort(standSort); + break; + default: + return Result.error("请输入正确的企标类别"); + } } else { return Result.error("企标类别不能为空"); } - String standYear = rowList.get("标准年份"); + String standYear = rowList.get("*标准年份"); if (StringUtils.isNotBlank(standYear)) { if (standYear.length() > 100) { return Result.error("标准年份输入过长"); @@ -2162,7 +2290,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { return Result.error("输入的标准名称过长"); @@ -2175,7 +2303,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 200) { return Result.error("输入的文本状态过长"); @@ -2207,7 +2335,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl { Integer selectUserByRole(@Param("role") RoleUserDTO roleSelectDTO); List selectUserByRoleByPage(@Param("role") RoleUserDTO roleSelectDTO); + + @Select("select UNAME from ts_user where USID = #{userId}") + String selectByName(String userId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java index d850a34a..fd625467 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java @@ -90,4 +90,6 @@ public interface ITsUserService extends IService { List selectNameById(List strings,String type); IPage getAllUsers(TsUser tsUser); + + String userIdByName(String userId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java index cb59428d..d4310ff6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java @@ -522,5 +522,11 @@ public class TsUserServiceImpl extends ServiceImpl implements return tsUserPage; } + @Override + public String userIdByName(String userId) { + String userName = tsUserDao.selectByName(userId); + return userName; + } + } 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 f56e16a3..8042889b 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 @@ -68,7 +68,15 @@ public class FieldConvertUtil { "在产车实施日期(项目),EOP实施日期(项目),实施说明,认证交付物,认证对象,监管类型,适用车辆类型,责任部门,相关部门,FO,项目评估角色," + "文本说明,标签,要求类型,清单类型,入库模块"; - public static String exportFieldName = "企标类别,标准年份,企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件"; + public static String exportName = "填写说明\n" + + "1.导入数据从第三行开始,第一行为填写说明,第二行为表头,第三行是正式数据\n" + + "2.所有带*号的字段必须填写\n" + + "3.状态,类别字段是单选属性,必须和系统中的对应字段选项相匹配\n" + + "4.适用车型,能源类型,适用产品线字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" + + "5.发布日期,企标实施日期,复审日期字段为日期,必须精确到日\n" + + "6.编号,企标名称,企标英文名称字段为文本,填写文本内容"; + + public static String exportFieldName = "*企标类别,*标准年份,企标编号,*中文名称,英文名称,*文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,代替企标编号,复审日期,起草人,采用标准,采标程度,引用标准,适用车型,能源类型,适用产品线,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件"; /*** * @Description: Clob类型 转String From 7932c3d986d5ed69a7400b16d0e8a70e13531d72 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Fri, 31 Mar 2023 00:27:07 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E6=A0=87=E5=87=86?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarBussionessStandServiceImpl.java | 165 +++++++++++------- .../adc/da/utils/util/FieldConvertUtil.java | 2 +- 2 files changed, 102 insertions(+), 65 deletions(-) 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 f919566e..66272da0 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 @@ -2045,7 +2045,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { @@ -2287,20 +2290,17 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { - return Result.error("输入的标准名称过长"); + return Result.error("输入的企标名称过长"); } sarBussStandAttrInfo.setStandName(standName); } else { - return Result.error("中文名称不能为空"); + return Result.error("企标名称不能为空"); } - String standEnName = rowList.get("英文名称"); + String standEnName = rowList.get("企标英文名称"); sarBussStandAttrInfo.setStandEnName(standEnName); String textStatusBuss = rowList.get("*文本状态"); @@ -2308,7 +2308,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 200) { return Result.error("输入的文本状态过长"); } - switch (textStatusBuss) { case "发布": sarBussStandAttrInfo.setTextStatusBuss("6jnqba2mby"); @@ -2356,9 +2355,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { @@ -2367,18 +2363,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { @@ -2387,10 +2371,101 @@ public class SarBussionessStandServiceImpl extends ServiceImpl Date: Fri, 31 Mar 2023 09:25:11 +0800 Subject: [PATCH 09/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E6=A0=87=E5=87=86=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SarBussionessStandController.java | 4 ++-- .../service/ISarBussionessStandService.java | 2 +- .../service/impl/SarBussionessStandServiceImpl.java | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 6bb9f32f..fab3ae47 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -419,9 +419,9 @@ public class SarBussionessStandController extends BaseController importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file,String menuId) throws Exception{ + public ResponseMessage importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file,String menuId,String userId) throws Exception{ - return sarBussionessStandEOService.importSarBussionessStandFile(file,menuId); + return sarBussionessStandEOService.importSarBussionessStandFile(file,menuId,userId); } @ApiOperation(value = "|SarBussionessStand|判断原文译文") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java index a151748b..25a366cb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java @@ -58,7 +58,7 @@ public interface ISarBussionessStandService extends IService ResponseMessage emptyFileAnewStorage(String type); - ResponseMessage importSarBussionessStandFile(MultipartFile file,String menuId)throws Exception; + ResponseMessage importSarBussionessStandFile(MultipartFile file,String menuId,String userId)throws Exception; ResponseMessage repetitionFile(); 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 66272da0..7f9817de 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 @@ -2038,7 +2038,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl importSarBussionessStandFile(MultipartFile file,String menuId)throws Exception { + public ResponseMessage importSarBussionessStandFile(MultipartFile file,String menuId,String userId)throws Exception { List tsResources = tsResourceService.getByMenuId(menuId); if (ObjectUtils.isEmpty(tsResources)) { @@ -2466,7 +2466,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl Date: Fri, 31 Mar 2023 09:54:38 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E6=A0=87?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarBussionessStandServiceImpl.java | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) 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 7f9817de..2400a534 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 @@ -2341,17 +2341,22 @@ public class SarBussionessStandServiceImpl extends ServiceImpl Date: Fri, 31 Mar 2023 10:08:53 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E6=A0=87=E5=87=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SarBussionessStandServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 2400a534..5465ff1b 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 @@ -2486,8 +2486,9 @@ public class SarBussionessStandServiceImpl extends ServiceImpl Date: Fri, 31 Mar 2023 15:02:57 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SarBussionessStandController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index fab3ae47..0f88e75c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -479,6 +479,8 @@ public class SarBussionessStandController extends BaseController Date: Fri, 31 Mar 2023 15:36:11 +0800 Subject: [PATCH 13/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E6=A0=87=E5=87=86=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarBussionessStandServiceImpl.java | 106 ++++++++++-------- 1 file changed, 60 insertions(+), 46 deletions(-) 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 5465ff1b..a0227d72 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 @@ -2148,7 +2148,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl list = new ArrayList<>(); From 733c7c14f5a0a3f615d11ac4ba2430c7c070c512 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Fri, 31 Mar 2023 15:40:28 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=E9=97=AE=E7=AD=94=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=9B=9E=E7=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../da/FeignClient/workFlowFeignClient.java | 4 ++ .../workFlowFeignClientImpl.java | 8 +++ .../controller/WorkFlowController.java | 12 +++++ .../controller/AskQuestionsController.java | 49 +++++++++++++++++++ .../controller/ReplyController.java | 13 ++++- .../adc/da/slrs/StandardQA/entity/Reply.java | 3 ++ 6 files changed, 88 insertions(+), 1 deletion(-) diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java index 4b3f42c7..22ecb09c 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java @@ -475,4 +475,8 @@ public interface workFlowFeignClient { String getEsByWk(@RequestParam("prcId")String prcId); @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectBusProcessNew",method = RequestMethod.GET) String selectBusProcessNew(@RequestParam("taskId")String taskId); + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/deleteReplyToenNotice",method = RequestMethod.GET) + String deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer); + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectAskId",method = RequestMethod.GET) + String selectAskId(@RequestParam("taskId") String taskId); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java index 25847dd9..80f847a6 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java @@ -422,4 +422,12 @@ public class workFlowFeignClientImpl { public String selectBusProcessNew(@RequestParam("taskId")String taskId) { return workFlowFeignClient.selectBusProcessNew(taskId); } + + public String deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { + return workFlowFeignClient.deleteReplyToenNotice(taskId,answerer); + } + + public String selectAskId(@RequestParam("taskId") String taskId) { + return workFlowFeignClient.selectAskId(taskId); + } } diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java index 659095e0..d2a26126 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java @@ -973,4 +973,16 @@ public class WorkFlowController { public String selectBusProcessNew(@RequestParam("taskId") String taskId) { return workFlowFeignClient.selectBusProcessNew(taskId); } + + @ApiOperation(value = "问答中心(第一个人回答以后删除其他人的代办任务以及OA提醒)") + @GetMapping("/deleteReplyToenNotice") + public String deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { + return workFlowFeignClient.deleteReplyToenNotice(taskId,answerer); + } + + @ApiOperation(value = "问答中心(通过taskId获取提问Id)") + @GetMapping("/selectAskId") + public String selectAskId(@RequestParam("taskId") String taskId) { + return workFlowFeignClient.selectAskId(taskId); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java index de6da2a6..7693ce2c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java @@ -5,8 +5,11 @@ import com.adc.da.slrs.StandardQA.dao.AskQuestionsDao; import com.adc.da.slrs.StandardQA.entity.*; import com.adc.da.slrs.StandardQA.service.Impl.AskQuestionsServiceImpl; import com.adc.da.slrs.StandardQA.service.Impl.AskUserServiceImpl; +import com.adc.da.slrs.StandardQA.service.Impl.ReplyServiceImpl; import com.adc.da.slrs.StandardQA.service.Impl.SubscriptionServiceImpl; import com.adc.da.slrs.sarStandardsInfo.service.impl.SarStandardsInfoServiceImpl; +import com.adc.da.slrs.sarUser.dao.TsUserDao; +import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.util.LoginUserUtil; import com.adc.da.util.UUIDUtils; import com.adc.da.util.http.ResponseMessage; @@ -41,6 +44,12 @@ public class AskQuestionsController extends BaseController { @Autowired private AskUserServiceImpl askUserService; + @Autowired + private ReplyServiceImpl replyService; + + @Autowired + private TsUserDao tsUserDao; + @Autowired private SubscriptionServiceImpl subscriptionService; @@ -262,4 +271,44 @@ public class AskQuestionsController extends BaseController { return Result.success(askQuestionsList); } + @PostMapping("/selectQuestionReplyInfo") + public ResponseMessage selectQuestionReplyInfo(String id){ + List objects = new ArrayList<>(); + if(StringUtils.isNotBlank(id)){ + AskQuestions askQuestions = askQuestionsService.getById(id); + if(askQuestions!=null) { + TsUser tsUser = tsUserDao.selectById(askQuestions.getQuestioner()); + if(tsUser!=null){ + askQuestions.setQuestioner(tsUser.getUname()); + } + if(askQuestions.getClassification().equals("BUSINESS_STAND")){ + askQuestions.setClassification("企业标准"); + } + if(askQuestions.getClassification().equals("FOREIGN")){ + askQuestions.setClassification("海外标准"); + } + if(askQuestions.getClassification().equals("INLAND")){ + askQuestions.setClassification("国内标准"); + } + if(askQuestions.getClassification().equals("OTHER")){ + askQuestions.setClassification("公共标准"); + } + QueryWrapper replyQueryWrapper = new QueryWrapper<>(); + replyQueryWrapper.eq("ASK_ID", id); + List list = replyService.list(replyQueryWrapper); + if(!list.isEmpty()){ + for (Reply reply : list){ + TsUser ruser = tsUserDao.selectById(reply.getAnswerer()); + if(ruser!=null){ + reply.setAnswerer(ruser.getUname()); + } + } + } + objects.add(askQuestions); + objects.add(list); + } + } + return Result.success(objects); + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java index 9da0099c..0b5e2100 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java @@ -73,7 +73,6 @@ public class ReplyController extends BaseController { return Result.success("200","归档成功",null); } - @PostMapping("/listByPage") public ResponseMessage updateReply(@RequestBody ReplyPage reply){ return Result.success(replyService.listByPage(reply)); @@ -90,4 +89,16 @@ public class ReplyController extends BaseController { replyService.updateBatchById(replyList); return Result.success("200","编辑成功",null); } + + @PostMapping("/selectListSize") + public ResponseMessage selectListSize(String askId){ + //1:查询当前问题下是否有其他回答 如果是第一次回答则删除 其他人的代办任务,如果非第一次回答则跳过当前步骤 + QueryWrapper replyQueryWrapper = new QueryWrapper<>(); + replyQueryWrapper.eq("ASK_ID",askId); + List list = replyService.list(replyQueryWrapper); + if(list.isEmpty()){ + return Result.success(null); + } + return Result.success(list); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java index ddab429d..d89d86f0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java @@ -68,4 +68,7 @@ public class Reply extends BaseEntity { @TableField(exist = false) private List fileList; + + @TableField(exist = false) + private String taskId; } From 3e5b30f9ab571cb941e776a12ece9a79b2826a8d Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Fri, 31 Mar 2023 17:15:55 +0800 Subject: [PATCH 15/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E6=A0=87=E5=87=86=E5=AF=BC=E5=85=A5=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=98=AF=E5=90=A6=E6=9C=89=E6=95=88=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=98=AF=E6=97=A0=E6=95=88=E5=8F=AF=E4=BB=A5=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=90=8C=E5=90=8D=E7=9A=84=E4=BC=81=E6=A0=87=E7=BC=96?= =?UTF-8?q?=E5=8F=B7=E6=88=96=E4=BC=81=E6=A0=87=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarBussionessStandServiceImpl.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 a0227d72..a005e44a 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 @@ -2772,11 +2772,17 @@ public class SarBussionessStandServiceImpl extends ServiceImplqueryWrapper = new QueryWrapper<>(); queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) .eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName()); - Integer count = iSarBussionessStandService.count(queryWrapper); - if (count > 0){ - //return Result.error("当前企标标准号和企标名称已存在"); - throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); + List list = iSarBussionessStandService.list(queryWrapper); + Integer valIdFlag = 0; + for (SarBussionessStand stand :list){ + if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ + valIdFlag = stand.getValidFlag(); + if (valIdFlag == 0){ + throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); + } + } } + //此处判断是否是带入的标准 if(StringUtils.isNotBlank(sarBussionessStand.getId())) { bussId = sarBussionessStand.getId(); From 6d6edd5d4332d58b900d35c9464339fd62b6e873 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Mon, 3 Apr 2023 11:19:04 +0800 Subject: [PATCH 16/22] =?UTF-8?q?=E9=97=AE=E7=AD=94=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=9B=9E=E7=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/adc/da/FeignClient/workFlowFeignClient.java | 4 ++-- .../com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java | 2 +- .../com/adc/da/workFlow/controller/WorkFlowController.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java index 22ecb09c..8dc836e7 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java @@ -475,8 +475,8 @@ public interface workFlowFeignClient { String getEsByWk(@RequestParam("prcId")String prcId); @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectBusProcessNew",method = RequestMethod.GET) String selectBusProcessNew(@RequestParam("taskId")String taskId); - @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/deleteReplyToenNotice",method = RequestMethod.GET) - String deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer); + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/deleteReplyToenNotice",method = RequestMethod.POST) + List deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer); @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectAskId",method = RequestMethod.GET) String selectAskId(@RequestParam("taskId") String taskId); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java index 80f847a6..a0732e32 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java @@ -423,7 +423,7 @@ public class workFlowFeignClientImpl { return workFlowFeignClient.selectBusProcessNew(taskId); } - public String deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { + public List deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { return workFlowFeignClient.deleteReplyToenNotice(taskId,answerer); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java index d2a26126..86fae07e 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java @@ -976,7 +976,7 @@ public class WorkFlowController { @ApiOperation(value = "问答中心(第一个人回答以后删除其他人的代办任务以及OA提醒)") @GetMapping("/deleteReplyToenNotice") - public String deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { + public List deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { return workFlowFeignClient.deleteReplyToenNotice(taskId,answerer); } From c52c7208845099cbfe9561a393e664316013d7cb Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Mon, 3 Apr 2023 13:36:50 +0800 Subject: [PATCH 17/22] =?UTF-8?q?=E9=97=AE=E7=AD=94=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=9B=9E=E7=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/workFlow/controller/WorkFlowController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java index 86fae07e..51f07f9e 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java @@ -30,6 +30,7 @@ import com.adc.da.workFlow.service.WorkFlowService; import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import oracle.ucp.proxy.annotation.Post; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.util.IOUtils; @@ -975,7 +976,7 @@ public class WorkFlowController { } @ApiOperation(value = "问答中心(第一个人回答以后删除其他人的代办任务以及OA提醒)") - @GetMapping("/deleteReplyToenNotice") + @PostMapping("/deleteReplyToenNotice") public List deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { return workFlowFeignClient.deleteReplyToenNotice(taskId,answerer); } From 295dcdcce5a25c4bb7a99f721ba55251d4dd6968 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Mon, 3 Apr 2023 19:37:33 +0800 Subject: [PATCH 18/22] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=99=BD=E5=90=8D?= =?UTF-8?q?=E5=8D=95api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/adc/da/login/security/WebMvcConfig.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index 6bfe49c5..df3cd052 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -115,6 +115,8 @@ public class WebMvcConfig implements WebMvcConfigurer { //企业标准导出 addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/exportSarBussionessStand"); + addInterceptor.excludePathPatterns("/api/lawss/sarFileSplitItems/importSplitItemsZip"); + //预警导出 addInterceptor.excludePathPatterns("/api/sys/EarlyWarning/exportWarning"); From 5d7c299c238677ecbd56be03eb335f4d89a35629 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Mon, 3 Apr 2023 21:07:21 +0800 Subject: [PATCH 19/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E6=A0=87=E5=87=86=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD=E5=92=8C?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/SarBussStandAttrInfoExecl.java | 2 + .../SarBussionessStandController.java | 16 +- .../dao/SarBussionessStandDao.java | 3 + .../impl/SarBussionessStandServiceImpl.java | 199 +++++++++++------- .../adc/da/utils/util/FieldConvertUtil.java | 12 +- 5 files changed, 145 insertions(+), 87 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java index cc1a8c35..c0d91052 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java @@ -188,6 +188,8 @@ public class SarBussStandAttrInfoExecl extends BaseEntity { private String menuId; + private String standCode; + @TableField(exist = false) private Map attrInfoMap = new LinkedHashMap<>(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 0f88e75c..175047ca 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -38,6 +38,7 @@ import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -464,13 +465,10 @@ public class SarBussionessStandController extends BaseController { List getBussionessStandInfo(); void updateByIdInfo(@Param("strFile")String strFile, @Param("attfId")String attfId); + + @Select("select * from sar") + String setDtqbbhbuss(String dtqbbhbuss); } 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 a005e44a..96b0ebfb 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 @@ -79,6 +79,7 @@ import com.adc.da.sys.util.LoginUserUtil; import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.*; import com.adc.da.utils.util.DateUtil; +import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -121,6 +122,7 @@ import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.sql.Clob; +import java.sql.Connection; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -2045,7 +2047,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl jsonList = new ArrayList<>(); + SarBussStandAttrInfoExecl sarBussStandAttrInfo = new SarBussStandAttrInfoExecl(); for (File fileInfo : fileList) { - String infoJson = ""; if (fileInfo.getName().contains(".xls") || fileInfo.getName().contains(".xlsx")) { excel = excel + 1; if (excel > 1) { @@ -2125,10 +2128,15 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { @@ -2271,10 +2281,10 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { - return Result.error("标准年份输入过长"); + return Result.error("第"+ count +"行标准年份输入过长"); } sarBussStandAttrInfo.setStandYear(standYear); } else { - return Result.error("标准年份不能为空"); + return Result.error("第"+ count +"行标准年份不能为空"); } String standName = rowList.get("*企标名称"); if (StringUtils.isNotBlank(standName)) { if (standName.length() > 100) { - return Result.error("输入的企标名称过长"); + return Result.error("第"+ count +"行输入的企标名称过长"); } sarBussStandAttrInfo.setStandName(standName); } else { - return Result.error("企标名称不能为空"); + return Result.error("第"+ count +"行企标名称不能为空"); } String standEnName = rowList.get("企标英文名称"); @@ -2306,7 +2316,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 200) { - return Result.error("输入的文本状态过长"); + return Result.error("第"+ count +"行输入的文本状态过长"); } switch (textStatusBuss) { case "发布": @@ -2334,19 +2344,19 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { - return Result.error("输入的起草部门过长"); + return Result.error("第"+ count +"行输入的起草部门过长"); } sarBussStandAttrInfo.setQcdw(qcdw); } @@ -2371,7 +2381,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { - return Result.error("输入的起草人过长"); + return Result.error("第"+ count +"行输入的起草人过长"); } sarBussStandAttrInfo.setQcrbuss(qcrbuss); } @@ -2391,7 +2401,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl list = new ArrayList<>(); - list.add(sarBussStandAttrInfo); - - com.alibaba.fastjson.JSONArray json = com.alibaba.fastjson.JSONArray.parseArray(JSON.toJSONString(list)); - com.alibaba.fastjson.JSONObject jsonObjects = null; - for (int j = 0; j < json.size(); j++) { - jsonObjects = json.getJSONObject(j); + String standCode = ifCodeAndName(sarBussStandAttrInfo.getStandName(), sarBussStandAttrInfo.getStandSort(), sarBussStandAttrInfo.getStandYear(), sarBussStandAttrInfo.getStandNumber()); + sarBussStandAttrInfo.setStandCode(standCode); + String json = JSONUtils.toJSONString(sarBussStandAttrInfo); + if(StringUtils.isNotEmpty(json)){ + jsonList.add(json); } - infoJson = String.valueOf(jsonObjects); - - //入库 - processCreateBuss(infoJson); - countSuccess++; } } } @@ -2695,10 +2702,20 @@ public class SarBussionessStandServiceImpl extends ServiceImplqueryWrapper = new QueryWrapper<>(); + queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) + .eq(standName != null,"STAND_NAME",standName); + List list = iSarBussionessStandService.list(queryWrapper); + Integer valIdFlag = 0; + for (SarBussionessStand stand :list){ + if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ + valIdFlag = stand.getValidFlag(); + if (valIdFlag == 0){ + throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); + } + } + } + return sarBussionessStand.getStandCode(); + } + private static List readImpExcelFile(String path) { File file = new File(path); List resultlist = new ArrayList<>(); @@ -2764,24 +2813,24 @@ public class SarBussionessStandServiceImpl extends ServiceImplqueryWrapper = new QueryWrapper<>(); - queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) - .eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName()); - List list = iSarBussionessStandService.list(queryWrapper); - Integer valIdFlag = 0; - for (SarBussionessStand stand :list){ - if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ - valIdFlag = stand.getValidFlag(); - if (valIdFlag == 0){ - throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); - } - } - } +// //拼接企标编号 +// String standCode = sarBussionessStand.getStandSort() + " " + sarBussionessStand.getStandNumber() + "-" + sarBussionessStand.getStandYear(); +// sarBussionessStand.setStandCode(standCode); +// // 根据标准号判断数据是否已存在 +// //2021年4月9日 此处检查当前是否存在standId +// QueryWrapperqueryWrapper = new QueryWrapper<>(); +// queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) +// .eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName()); +// List list = iSarBussionessStandService.list(queryWrapper); +// Integer valIdFlag = 0; +// for (SarBussionessStand stand :list){ +// if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ +// valIdFlag = stand.getValidFlag(); +// if (valIdFlag == 0){ +// throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); +// } +// } +// } //此处判断是否是带入的标准 if(StringUtils.isNotBlank(sarBussionessStand.getId())) { 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 81115275..c3e01dd4 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 @@ -71,12 +71,14 @@ public class FieldConvertUtil { public static String exportName = "填写说明\n" + "1.导入数据从第三行开始,第一行为填写说明,第二行为表头,第三行是正式数据\n" + "2.所有带*号的字段必须填写\n" + - "3.状态,类别字段是单选属性,必须和系统中的对应字段选项相匹配\n" + - "4.适用车型,能源类型,适用产品线字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" + - "5.发布日期,企标实施日期,复审日期字段为日期,必须精确到日\n" + - "6.编号,企标名称,企标英文名称字段为文本,填写文本内容"; + "3.企标类别(例如:BZJ、FT、Q-HD、Q-IOUM、Q/ASB、Q/BFC、Q/BQB等),文本状态(包含:发布、被代替、参考、即将实施、有效、直接上传、作废、待修订-指的其他企业标准),采用标准(包含:IDT等同采用、NEQ非等效采用、MOD修改采用)字段是单选属性,必须和系统中的对应字段选项相匹配\n" + + "4.适用车型,能源类型,适用产品线字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文逗号分割\n" + + "5.发布日期,企标实施日期字段为年-月-日格式,必须精确到日,例如(2023-04-01)\n" + + "6.企标编号,企标名称,企标英文名称字段为文本,填写文本内容\n" + + "7.关联模块-乘用车VPPS编码和关联模块--卡车VPPS编码是填写数据库中已有的编码从而带出乘用车VPPS名称和卡车VPPS名称\n" + + "8.发布稿,编制说明,历史版本,其他文件,修改单,关联文件为附件文件,需要放在Excel文档同级目录中"; - public static String exportFieldName = "*企标类别,企标编号,*标准年份,*企标名称,企标英文名称,*文本状态,发布日期,企标实施日期,起草部门,起草人,适用车型,能源类型,适用产品线,体系类别,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,代替企标编号,采用标准,采标程度,引用标准,发布稿附件,编制说明附件,历史版本附件,其他文件附件,修改单附件,关联文件附件,"; + public static String exportFieldName = "*企标类别,企标编号,*标准年份,*企标名称,企标英文名称,*文本状态,发布日期,企标实施日期,起草部门,起草人,适用车型,能源类型,适用产品线,体系类别,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿,编制说明,历史版本,其他文件,修改单,代替企标编号,采用标准,采标程度,引用标准,关联文件,"; /*** * @Description: Clob类型 转String From d3c152f5b4de223bff31f0595a3e560b577d5ed5 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Mon, 3 Apr 2023 21:11:11 +0800 Subject: [PATCH 20/22] =?UTF-8?q?=E6=8B=86=E5=88=86=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarFileSplitItemsEOController.java | 33 +- .../dto/SarFileSplitItemsImportDto.java | 132 ++----- .../impl/SarFileSplitInfoEOServiceImpl.java | 14 + .../impl/SarFileSplitItemsEOServiceImpl.java | 326 ++++++++++-------- .../SarStandardsInfoMapper.xml | 9 + .../com/adc/da/att/util/CommonExportUtil.java | 269 +++++++++++++++ .../java/com/adc/da/att/util/ReadExcel.java | 175 ++++++++++ .../java/com/adc/da/att/util/WDWUtil.java | 164 +++++++++ .../java/com/adc/da/sys/dao/DicTypeEODao.java | 2 + .../mybatis/mapper/sys/DicTypeEOMapper.xml | 9 + 10 files changed, 870 insertions(+), 263 deletions(-) create mode 100644 adc-da-sys/src/main/java/com/adc/da/att/util/CommonExportUtil.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/att/util/ReadExcel.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/att/util/WDWUtil.java diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java index d1c53080..4a18ffbb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ZipUtil; import com.adc.da.att.controller.AttFileEOController; import com.adc.da.att.entity.AttFileEO; import com.adc.da.att.service.IAttFileEOService; +import com.adc.da.att.util.CommonExportUtil; import com.adc.da.base.web.BaseController; import com.adc.da.common.ConvertHtml2Excel; import com.adc.da.common.FileUnZip; @@ -546,8 +547,7 @@ public class SarFileSplitItemsEOController extends BaseController result = new ArrayList<>(); // 解析excel,并返回校验信息 @@ -583,6 +583,12 @@ public class SarFileSplitItemsEOController extends BaseController queryByPage(BasePage page) throws Exception{ @@ -735,6 +742,13 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService // } } } + + for (SarFileSplitInfoEO data : rows){ + List dicTypeEO = dicTypeEODao.selectPidByCode(data.getFileType()); + if(dicTypeEO!=null){ + data.setFileTypeShow(dicTypeEO.get(0).getDicTypeName()); + } + } return rows; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java index f3a28e60..5874079f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java @@ -71,6 +71,9 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic @Autowired private SarFileSplitInfoEOService sarFileSplitInfoEOService; + @Value("${elasticsearch.img}") + private String elasticsearchImg;//图片拆分自调地址 + @Override public Map getByPage(SarFileSplitItemsEOPage page) { @@ -468,7 +471,6 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic }else { infoId = UUIDUtils.randomUUID20(); } - //验证导入数据是否符合规则 Map map = validateImportDatas(list,filepath); boolean isOk = (boolean) map.get("result"); if (!isOk) { @@ -530,12 +532,13 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic List nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]); if (nowfilelist != null && !nowfilelist.isEmpty()) { AttFileVo attFileVo = attFileEOService.saveFileInfo(nowfilelist.get(0)); - if(attFileVo!=null){ + if (attFileVo != null) { isText = false; - String path = "file" + attFileVo.getFilePath()+attFileVo.getFileName(); - String imgCon = ""; + //String path = "E:/data/slrs/file" + attFileVo.getFilePath()+attFileVo.getOldFileName(); + String pathSrc = elasticsearchImg + "/api/att/attFile/getFileInfo?fileId=" + attFileVo.getId(); + String imgCon = ""; valEO.setType("IMG"); - valEO.setItemContent(imgCon); + valEO.setItemContent(imgCon + "

" + importDto.getMag() + "

"); } } if (isText) { @@ -564,12 +567,13 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic List nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]); if (nowfilelist != null && !nowfilelist.isEmpty()) { AttFileVo attFileVo = attFileEOService.saveFileInfo(nowfilelist.get(0)); - if(attFileVo!=null){ + if (attFileVo != null) { isText = false; - String path = "file" + attFileVo.getFilePath()+attFileVo.getFileName(); - String imgCon = ""; + //String path = "E:/data/slrs/file" + attFileVo.getFilePath()+attFileVo.getOldFileName(); + String pathSrc = elasticsearchImg + "/api/att/attFile/getFileInfo?fileId=" + attFileVo.getId(); + String imgCon = ""; valEO.setType("IMG"); - valEO.setItemContent(imgCon); + valEO.setItemContent(imgCon + "

" + importDto.getMag() + "

"); } } if (isText) { @@ -600,12 +604,13 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic List nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]); if (nowfilelist != null && !nowfilelist.isEmpty()) { AttFileVo attFileVo = attFileEOService.saveFileInfo(nowfilelist.get(0)); - if(attFileVo!=null){ + if (attFileVo != null) { isText = false; - String path = "file" + attFileVo.getFilePath()+attFileVo.getFileName(); - String imgCon = ""; + //String path = "E:/data/slrs/file" + attFileVo.getFilePath()+attFileVo.getOldFileName(); + String pathSrc = elasticsearchImg + "/api/att/attFile/getFileInfo?fileId=" + attFileVo.getId(); + String imgCon = ""; valEO.setType("IMG"); - valEO.setItemContent(imgCon); + valEO.setItemContent(imgCon + "

" + importDto.getMag() + "

"); } } if (isText) { @@ -629,6 +634,7 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic sarFileSplitInfoEO.setValidFlag(0); sarFileSplitInfoEO.setResult("1"); sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); + sarFileSplitInfoEO.setStandId(sarFileSplitInfoEO.getStandId()); sarFileSplitInfoEOService.insertSelective(sarFileSplitInfoEO); } @@ -640,6 +646,14 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic menuPidMap.put("总目录",menuid ); } for (SarFileSplitItemsEO itemsEO : addItemsEOList) { + List itemValEOList = itemsEO.getItemValEOList(); + if(itemValEOList!=null){ + String tupian = ""; + for (SarFileSplitItemsValEO data : itemValEOList){ + tupian = tupian+data.getItemContent(); + } + itemsEO.setItermsConditions(tupian); + } String menuIdT = createItemsInfo(itemsEO,infoId,countSuccess,menuPidMap); menuPidMap.put(itemsEO.getItemsNum(),menuIdT); countSuccess++; @@ -724,6 +738,11 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic int num = 0; //记录是第几条数据 //循环验证数据 for (SarFileSplitItemsImportDto dto : datas) { + + if(dto.getItemsNum().contains("模板说明")){ + continue; + } + i++; int countError = 0; //记录失败数据数量 DicTypeEO dic = new DicTypeEO(); @@ -755,148 +774,151 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic countError++; } } - String saveApplyCode = ""; - if (StringUtils.isNotEmpty(dto.getApplyArctic())) { - dto.setApplyArctic(dto.getApplyArctic().replace(",", ",")); - String applys[] = dto.getApplyArctic().split(","); - if(applys.length>20){ - errorMsg += "适用车型选项不能超过20个;"; - countError++; - } else if (dto.getApplyArctic().length() > 500) { - errorMsg += "适用车型不能超过500个字符;"; - countError++; - } else { - Set set = new HashSet(); - for (int a = 0; a < applys.length; a++) { - dic.setDicTypeName(applys[a]); - dic.setDicTypeCode("ENERGYTYPES"); - getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); - if (getDic.size() == 1) { - saveApplyCode += getDic.get(0).getDicTypeCode() + ","; - } else if (getDic.size() > 0) { - errorMsg += "适用车型" + applys[a] + "不明确;"; - countError++; - break; - } else { - errorMsg += "适用车型" + applys[a] + "不存在;"; - countError++; - break; - } - set.add(applys[a]); - if (a==applys.length-1 && applys.length != set.size()){ - errorMsg += "适用车型存在重复数据;"; - countError++; - } - } - if (!saveApplyCode.equals("")){ - dto.setApplyArctic(saveApplyCode.substring(0,saveApplyCode.length()-1)); - } - } - } - if(!claimStypelist.contains(dto.getClaimType())) { - if (StringUtils.isNotEmpty(dto.getClaimType())) { - dic.setDicTypeName(dto.getClaimType()); - dic.setDicTypeCode("REQUESTTYPE"); - if (dto.getClaimType().length() > 500) { - errorMsg += "要求类型不能超过500个字符;"; - countError++; - } else { - getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); - Set set = new HashSet(); - if (getDic != null) { - if (getDic.size() == 1) { - dto.setClaimType(getDic.get(0).getDicTypeCode()); - claimStypelist.add(getDic.get(0).getDicTypeCode()); - } else if (getDic.size() > 0) { - errorMsg += "要求类型不明确;"; - countError++; - } else { - errorMsg += "要求类型不存在;"; - countError++; - } - } else { - errorMsg += "要求类型不存在;"; - countError++; - } - } - } - } - if(StringUtils.isNotEmpty(dto.getItermsConditions())){ - if(dto.getItermsConditions().length() > 50000){ - errorMsg += "内容简介不能超过50000个字符;"; + // String saveApplyCode = ""; +// if (StringUtils.isNotEmpty(dto.getApplyArctic())) { +// dto.setApplyArctic(dto.getApplyArctic().replace(",", ",")); +// String applys[] = dto.getApplyArctic().split(","); +// if(applys.length>20){ +// errorMsg += "适用车型选项不能超过20个;"; +// countError++; +// } else if (dto.getApplyArctic().length() > 500) { +// errorMsg += "适用车型不能超过500个字符;"; +// countError++; +// } else { +// Set set = new HashSet(); +// for (int a = 0; a < applys.length; a++) { +// dic.setDicTypeName(applys[a]); +// dic.setDicTypeCode("ENERGYTYPES"); +// getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); +// if (getDic.size() == 1) { +// saveApplyCode += getDic.get(0).getDicTypeCode() + ","; +// } else if (getDic.size() > 0) { +// errorMsg += "适用车型" + applys[a] + "不明确;"; +// countError++; +// break; +// } else { +// errorMsg += "适用车型" + applys[a] + "不存在;"; +// countError++; +// break; +// } +// set.add(applys[a]); +// if (a==applys.length-1 && applys.length != set.size()){ +// errorMsg += "适用车型存在重复数据;"; +// countError++; +// } +// } +// if (!saveApplyCode.equals("")){ +// dto.setApplyArctic(saveApplyCode.substring(0,saveApplyCode.length()-1)); +// } +// } +// } +// if(!claimStypelist.contains(dto.getClaimType())) { +// if (StringUtils.isNotEmpty(dto.getClaimType())) { +// dic.setDicTypeName(dto.getClaimType()); +// dic.setDicTypeCode("REQUESTTYPE"); +// if (dto.getClaimType().length() > 500) { +// errorMsg += "要求类型不能超过500个字符;"; +// countError++; +// } else { +// getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); +// Set set = new HashSet(); +// if (getDic != null) { +// if (getDic.size() == 1) { +// dto.setClaimType(getDic.get(0).getDicTypeCode()); +// claimStypelist.add(getDic.get(0).getDicTypeCode()); +// } else if (getDic.size() > 0) { +// errorMsg += "要求类型不明确;"; +// countError++; +// } else { +// errorMsg += "要求类型不存在;"; +// countError++; +// } +// } else { +// errorMsg += "要求类型不存在;"; +// countError++; +// } +// } +// } +// } + if (StringUtils.isEmpty(dto.getMag())) { + errorMsg += "条款内容不能为空;"; + countError++; + } else { + if(dto.getMag().length() > 50000){ + errorMsg += "条款内容不能超过50000个字符;"; countError++; } } - if(!foList.contains(dto.getFo())) { - if (StringUtils.isNotEmpty(dto.getFo())) { - if (dto.getFo().length() > 200) { - errorMsg += "FO不能超过200个字符;"; - countError++; - } else { - String uname = roleEODao.getIdsByNames(dto.getFo().split(",")); - if (StringUtils.isNotBlank(uname)) { - dto.setFo(uname); - foList.addAll(Arrays.asList(uname.split(","))); - } else { - errorMsg += "FO不存在;"; - countError++; - } - } - } - } - if(!dutyEngineerList.contains(dto.getDutyEngineer())) { - if (StringUtils.isNotEmpty(dto.getDutyEngineer())) { - if (dto.getDutyEngineer().length() > 100) { - errorMsg += "责任工程师不能超过100个字符;"; - countError++; - } else { - String emList = roleEODao.getIdsByNames(dto.getDutyEngineer().split(",")); - if (StringUtils.isNotBlank(emList)) { - dto.setDutyEngineer(emList); - dutyEngineerList.addAll(Arrays.asList(dto.getDutyEngineer().split(","))); - } else { - errorMsg += "系统中没有用户:" + dto.getDutyEngineer(); - countError++; - } - } - } - } - if(StringUtils.isNotEmpty(dto.getSvpps())){ - if(dto.getSvpps().length() > 200){ - errorMsg += "SVPPS不能超过200个字符;"; - countError++; - }else { - String svppsShow = sysInfoEOService.getSvppsIdByName(dto.getSvpps()); - dto.setSvpps(svppsShow); - } - } - if(StringUtils.isNotEmpty(dto.getBusStandCover())){ - if(dto.getBusStandCover().length() > 200){ - errorMsg += "企标覆盖关系不能超过200个字符;"; - countError++; - }else { - List getDicType = dicTypeEODao.getDicTypeByDicCode("BZFGGXOUIUJ"); - for (DicTypeEO dicTypeEO:getDicType) { - if (dicTypeEO.getDicTypeName().equals(dto.getBusStandCover())){ - dto.setBusStandCover(dicTypeEO.getDicTypeCode()); - } - } - } - } - if(StringUtils.isNotBlank(dto.getResponsibleUnit())){ - if(dto.getResponsibleUnit().length() > 100){ - errorMsg += "责任部门不能超过100个字符;"; - countError++; - }else { - String id = sysInfoEOService.getOrgIdByName(dto.getResponsibleUnit(),"DEPART"); - if(StringUtils.isNotBlank(id)){ - dto.setResponsibleUnit(id); - } else { - errorMsg += "系统中没有部门"+dto.getResponsibleUnit(); - countError++; - } - } - } +// if(!foList.contains(dto.getFo())) { +// if (StringUtils.isNotEmpty(dto.getFo())) { +// if (dto.getFo().length() > 200) { +// errorMsg += "FO不能超过200个字符;"; +// countError++; +// } else { +// String uname = roleEODao.getIdsByNames(dto.getFo().split(",")); +// if (StringUtils.isNotBlank(uname)) { +// dto.setFo(uname); +// foList.addAll(Arrays.asList(uname.split(","))); +// } else { +// errorMsg += "FO不存在;"; +// countError++; +// } +// } +// } +// } +// if(!dutyEngineerList.contains(dto.getDutyEngineer())) { +// if (StringUtils.isNotEmpty(dto.getDutyEngineer())) { +// if (dto.getDutyEngineer().length() > 100) { +// errorMsg += "责任工程师不能超过100个字符;"; +// countError++; +// } else { +// String emList = roleEODao.getIdsByNames(dto.getDutyEngineer().split(",")); +// if (StringUtils.isNotBlank(emList)) { +// dto.setDutyEngineer(emList); +// dutyEngineerList.addAll(Arrays.asList(dto.getDutyEngineer().split(","))); +// } else { +// errorMsg += "系统中没有用户:" + dto.getDutyEngineer(); +// countError++; +// } +// } +// } +// } +// if(StringUtils.isNotEmpty(dto.getSvpps())){ +// if(dto.getSvpps().length() > 200){ +// errorMsg += "SVPPS不能超过200个字符;"; +// countError++; +// }else { +// String svppsShow = sysInfoEOService.getSvppsIdByName(dto.getSvpps()); +// dto.setSvpps(svppsShow); +// } +// } +// if(StringUtils.isNotEmpty(dto.getBusStandCover())){ +// if(dto.getBusStandCover().length() > 200){ +// errorMsg += "企标覆盖关系不能超过200个字符;"; +// countError++; +// }else { +// List getDicType = dicTypeEODao.getDicTypeByDicCode("BZFGGXOUIUJ"); +// for (DicTypeEO dicTypeEO:getDicType) { +// if (dicTypeEO.getDicTypeName().equals(dto.getBusStandCover())){ +// dto.setBusStandCover(dicTypeEO.getDicTypeCode()); +// } +// } +// } +// } +// if(StringUtils.isNotBlank(dto.getResponsibleUnit())){ +// if(dto.getResponsibleUnit().length() > 100){ +// errorMsg += "责任部门不能超过100个字符;"; +// countError++; +// }else { +// String id = sysInfoEOService.getOrgIdByName(dto.getResponsibleUnit(),"DEPART"); +// if(StringUtils.isNotBlank(id)){ +// dto.setResponsibleUnit(id); +// } else { +// errorMsg += "系统中没有部门"+dto.getResponsibleUnit(); +// countError++; +// } +// } +// } if (countError > 0) { stringMessage.add(errorMsg); } 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 84e3b2d4..68eda28d 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 @@ -1956,4 +1956,13 @@ + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/att/util/CommonExportUtil.java b/adc-da-sys/src/main/java/com/adc/da/att/util/CommonExportUtil.java new file mode 100644 index 00000000..d91616c3 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/att/util/CommonExportUtil.java @@ -0,0 +1,269 @@ +package com.adc.da.att.util; + +import com.adc.da.util.exception.AdcDaBaseException; +import com.adc.da.util.utils.IOUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; +import java.util.Map; + +/** + * @Description + * @Author liyawei + * @Create 2021/7/26 + */ +public class CommonExportUtil { + + private static final Logger logger = LoggerFactory.getLogger(CommonExportUtil.class); + + /** + * 导出excel + * @param columnList 数据库字段名集合 + * @param headerList 导出表头集合 + * @param datalist + * @param response + * @param request + * @param exportName + * @param tableName + * @throws Exception + */ + public static void exportExcel(List columnList, List headerList, List> datalist, HttpServletResponse response, HttpServletRequest request, + String exportName, String tableName) throws Exception{ + final OutputStream os = response.getOutputStream(); // 获得ServletOutputStream对象 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + //response.setHeader("Content-Disposition","attachment; filename=" + URLEncoder.encode(exportName+".xlsx", "UTF-8") + ';'); + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx", request)); + //导出excel + copyrightContractCount(columnList ,headerList ,datalist ,os ,tableName); + } + + /** + * + * @param fileName 文件名 + * @param headers 表头 + * @param desc 填写说明 + * @param response + * @param request + * @throws Exception + */ + public static void exportTemplate(String fileName , String[] headers , String desc, HttpServletResponse response, HttpServletRequest request) throws Exception { + // 声明一个工作薄 + XSSFWorkbook workbook = new XSSFWorkbook(); + // 生成一个表格 + XSSFSheet sheet = workbook.createSheet(); + //设置表格样式 + XSSFCellStyle cellStyle = (XSSFCellStyle) generateCommonCellStyle(workbook,true); + OutputStream os = response.getOutputStream(); + try{ + // 设置表格默认列宽度为15个字节 + //sheet.setDefaultColumnWidth((short) 18); + XSSFRow row = sheet.createRow(0); + for (short i = 0; i < headers.length; i++) { + XSSFCell cell = row.createCell(i); + XSSFRichTextString text = new XSSFRichTextString(headers[i]); + cell.setCellValue(text); + cell.setCellStyle(cellStyle); + + } + + // 如果填写说明存在,则创建 + if (StringUtils.isNotEmpty(desc)){ + XSSFRow descRow = sheet.createRow(1); + descRow.setHeightInPoints(80.0F); + XSSFCell descCell = descRow.createCell(0); + descCell.setCellValue(desc); + descCell.setCellStyle(generateDescCellStyle(workbook,true)); + + CellRangeAddress region = new CellRangeAddress(1, 1,0,headers.length); + sheet.addMergedRegion(region); + } + + response.setCharacterEncoding("UTF-8"); +// response.setContentType("application/force-download"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(fileName+".xlsx", request)); + response.flushBuffer(); + + workbook.write(os); + } catch (IOException e) { + logger.error("发生异常,异常信息为:"+e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + }finally { + workbook.close(); + IOUtils.closeQuietly(os); + } + } + /** + * 导出excel + * @param columnList + * @param headerList + * @param dataList + * @param os + * @param tableName + * @throws Exception + */ + public static void copyrightContractCount(List columnList,List headerList,List dataList ,OutputStream os,String tableName) throws Exception{ + try{ + Workbook workbook = new XSSFWorkbook(); + //产生通用单元格样式 + CellStyle style = generateCommonCellStyle(workbook,false); + //创建sheet表单,同时写入标题 + CellStyle titleStyle = generateCommonCellStyle(workbook,true); + Sheet sheet = generateSheet(workbook, tableName, columnList, titleStyle); + //写入标题行 + writeColumnName(sheet ,headerList ,titleStyle); + //写入数据行 + writeDataRow(sheet, columnList, dataList, style); + //输入excel文件 + workbook.write(os); + os.close(); + //os.flush(); + + if (workbook != null) { + workbook.close(); + } + } catch (IOException e) { + logger.error("发生异常,异常信息为:"+e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + }finally { + IOUtils.closeQuietly(os); + } + } + + /** + * 表格导入数据 + * @param sheet + * @param columnList + * @param dataList + * @param style + */ + public static void writeDataRow(Sheet sheet, List columnList, List> dataList, CellStyle style){ + //columnList 列数 + int rowIndex = 2; + for(int i = 0 ; i rowDataMap = dataList.get(i); + if (columnList != null && columnList.size() > 0) { + for (int j = 0; j < columnList.size() ;j++) { + //创建单元格 + Cell dataCell = dataRow.createCell(j); + //设置单元格样式 + dataCell.setCellStyle(style); + //从数据map中获取对应列的数据 + if(rowDataMap.get(columnList.get(j)) == null){ + continue; + } + String value = String.valueOf(rowDataMap.get(columnList.get(j))); + //将数据写入单元格 + dataCell.setCellValue(value); + } + } + } + } + + + /** + * 第二行设置导出的列名 + * @param sheet + * @param headerList + * @param style + */ + public static void writeColumnName(Sheet sheet , List headerList , CellStyle style){ + Row titleRow = sheet.createRow(1); + int index = 0; + for(int i = 0;i < headerList.size();i ++){ + Cell titleCell = titleRow.createCell(index); + titleCell.setCellStyle(style); + titleCell.setCellValue(headerList.get(i)); + index ++; + } + } + + /** + * 创建sheet表单,第一行合并单元格设置表格名 + * @param workbook + * @param tableName + * @param columnList + * @param style + * @return + */ + public static Sheet generateSheet(Workbook workbook, String tableName, List columnList, CellStyle style){ + //创建sheet表单 + Sheet sheet = workbook.createSheet(tableName); + //在表单中创建一行 + Row tableRow = sheet.createRow(0); + //在行中创建单元格 + for(int i = 0;i < columnList.size();i ++){ + Cell cell = tableRow.createCell(i); + cell.setCellStyle(style); + } + //获取第一个单元格 + Cell tableCell = tableRow.getCell(0); + //给第一个单元格添加数据 + tableCell.setCellValue(tableName); + //合并单元格 + sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, columnList.size()-1)); + return sheet; + } + + /** + * 设置单元格样式 + * @param workbook + * @return + */ + public static CellStyle generateCommonCellStyle(Workbook workbook, boolean isBold){ + //设置表格样式 + CellStyle cellStyle = workbook.createCellStyle(); + cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 + cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 + cellStyle.setBorderRight(BorderStyle.THIN); //右边框 + cellStyle.setBorderTop(BorderStyle.THIN); //上边框 + cellStyle.setAlignment(HorizontalAlignment.CENTER); // 水平居中 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 上下居中 + cellStyle.setWrapText(true); // 设置自动换行 + + Font headerFont = getFont(workbook, (short) 10,isBold); // 创建字体样式 + cellStyle.setFont(headerFont); // 为标题样式设置字体样式 + + return cellStyle; + } + + + /** + * 设置填写说明样式 + * @param workbook + * @return + */ + public static CellStyle generateDescCellStyle(Workbook workbook, boolean isBold){ + //设置表格样式 + CellStyle cellStyle = workbook.createCellStyle(); + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 上下居中 + cellStyle.setWrapText(true); // 设置自动换行 + + Font headerFont = getFont(workbook, (short) 10,isBold); // 创建字体样式 + cellStyle.setFont(headerFont); // 为标题样式设置字体样式 + + return cellStyle; + } + + public static Font getFont(Workbook workbook, short size, boolean isBold) { + Font font = workbook.createFont(); + font.setFontName("宋体"); // 字体样式 + font.setBold(isBold); // 是否加粗 + font.setFontHeightInPoints(size); // 字体大小 + return font; + } +} diff --git a/adc-da-sys/src/main/java/com/adc/da/att/util/ReadExcel.java b/adc-da-sys/src/main/java/com/adc/da/att/util/ReadExcel.java new file mode 100644 index 00000000..1f0e88da --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/att/util/ReadExcel.java @@ -0,0 +1,175 @@ +package com.adc.da.att.util; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; + +/** + * @des : excel信息读取 + * @author: duyunbao + * @email: 1114808306@qq.com + * @date 2017/10/27 17:06 + **/ +public class ReadExcel { + private static final Logger logger = LoggerFactory.getLogger(ReadExcel.class); + + /** + * 总行数 + */ + private int totalRows = 0; + /** + * 总条数 + */ + private int totalCells = 0; + /** + * 错误信息接收器 + */ + private String errorMsg; + + public ReadExcel() { + // 不做操作 + } + + public int getTotalRows() { + return totalRows; + } + + public int getTotalCells() { + return totalCells; + } + + public String getErrorInfo() {//获取错误信息 + return errorMsg; + } + + /** + * @method_name: validateExcel + * @des : 验证excel格式 + * @author: duyunbao + * @param: [filePath] + * @return: boolean + * @date: 2017/10/27 17:07 + **/ + public boolean validateExcel(String filePath) { + if (filePath == null || !(WDWUtil.isExcel2003(filePath) || WDWUtil.isExcel2007(filePath))) { + errorMsg = "文件名不是excel格式"; + return false; + } + return true; + } + + /** + * @method_name: getExcelInfo + * @des : 读EXCEL文件,获取信息集合 + * @author: duyunbao + * @param: [fileName, Mfile] + * @return: org.apache.poi.ss.usermodel.Workbook + * @date: 2017/10/27 17:08 + **/ + public Workbook getExcelInfo(String fileName, MultipartFile Mfile) { + Workbook wb = null; + //把spring文件上传的MultipartFile转换成CommonsMultipartFile类型 + CommonsMultipartFile cf = (CommonsMultipartFile) Mfile; //获取本地存储路径 + //初始化输入流 + InputStream is = null; + try { + //根据文件名判断文件是2003版本还是2007版本 + boolean isExcel2003 = true; + if (WDWUtil.isExcel2007(fileName)) { + isExcel2003 = false; + } + is = cf.getInputStream(); + //根据excel里面的内容读取客户信息 + wb = getExcelInfo(is, isExcel2003, wb); + is.close(); + } catch (Exception e) { + logger.error(e.getMessage(),e); + } finally { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + is = null; + logger.error(e.getMessage(),e); + } + } + } + return wb; + } + + /*** + * @method_name: getExcelInfo + * @des : 判断excel版本 + * @author: duyunbao + * @param: [is, isExcel2003, wb] + * @return: org.apache.poi.ss.usermodel.Workbook + * @date: 2017/10/27 17:08 + **/ + private Workbook getExcelInfo(InputStream is, boolean isExcel2003, Workbook wb) { + Workbook workbook =wb; + try { + /** 根据版本选择创建Workbook的方式 */ + //当excel是2003时 + if (isExcel2003) { + workbook = new HSSFWorkbook(is); + } else {//当excel是2007时 + workbook = new XSSFWorkbook(is); + } + } catch (IOException e) { + logger.error(e.getMessage(),e); + } + return workbook; + } + + /** + * 获取sheet的名称 + * @MethodName:getSheetName + * @author: 马晓晨 + * @email: 747052172@qq.com + * @date 2017年11月24日 上午9:49:22 + * @version V1.0 + * @param filename + * @param file + * @param sheetIndex + * @return + */ + public String getSheetName(String filename, MultipartFile file, Integer sheetIndex) { + Workbook wb = getExcelInfo(filename, file); + return wb.getSheetName(sheetIndex); + } + + /** + * + * @Title: encodeFileName + * @Description: 导出文件转换文件名称编码 + * @param @param fileNames + * @param @param request + * @param @return 设定文件 + * @return String 返回类型 + * @throws + */ + public static String encodeFileName(String fileNames , HttpServletRequest request) { + try { + String agent = request.getHeader("User-Agent"); + if (agent.contains("Firefox")) { + fileNames = new String(fileNames.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器 + } else { + fileNames = URLEncoder.encode(fileNames, "utf-8"); + //谷歌中空格变为+问题 + fileNames = fileNames.replaceAll("\\+","%20"); + } + } catch (Exception e) { + logger.error(e.getMessage(),e); + } + return fileNames ; + } +} \ No newline at end of file diff --git a/adc-da-sys/src/main/java/com/adc/da/att/util/WDWUtil.java b/adc-da-sys/src/main/java/com/adc/da/att/util/WDWUtil.java new file mode 100644 index 00000000..f2b90382 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/att/util/WDWUtil.java @@ -0,0 +1,164 @@ +package com.adc.da.att.util; + +import org.apache.commons.lang3.StringUtils; + +import java.util.regex.Pattern; + +/** + * @des : excel版本判断类 + * @author: duyunbao + * @email: 1114808306@qq.com + * @date 2017/10/27 16:59 + **/ +public class WDWUtil { + + /** + * @method_name: isExcel2003 + * @des :是否是2003的excel,返回true是2003 + * @author: duyunbao + * @param: [filePath] + * @return: boolean + * @date: 2017/10/27 16:57 + **/ + public static boolean isExcel2003(String filePath) { + return filePath.matches("^.+\\.(?i)(xls)$"); + } + + /** + * @method_name: isExcel2007 + * @des : 是否是2007的excel,返回true是2007 + * @author: duyunbao + * @param: [filePath] + * @return: boolean + * @date: 2017/10/27 16:57 + **/ + public static boolean isExcel2007(String filePath) { + return filePath.matches("^.+\\.(?i)(xlsx)$"); + } + + + /** + * 判断字符串是否是整数 + * @MethodName:isInteger + * @author: DuYunbao + * @date: 2018/5/22 18:00 + */ + public static boolean isNumeric(String str){ + for (int i = str.length();--i>=0;){ + if (!Character.isDigit(str.charAt(i))){ + return false; + } + } + return true; + } + + /**方法二:推荐,速度最快 + * 判断是否为整数 + * @param str 传入的字符串 + * @return 是整数返回true,否则返回false + */ + public static boolean isInteger(String str) { + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); + return pattern.matcher(str).matches(); + } + + /** + * 字母或数字 + * + * @MethodName:isLetterDigitOrChinese + * @author: DuYunbao + * @date: 2018/5/30 15:26 + */ + public static boolean isLetterOrNumber(String str) { + String regex = "^(\\d|[a-zA-Z])+$"; + return !str.matches(regex); + } + + /** + * 汉字、字母、() + * + * @MethodName:isLetterOrChineseOrChar1 + * @author: DuYunbao + * @date: 2018/5/30 15:53 + */ + public static boolean isLetterOrChineseOrChar1(String str) { + String regex = "[^\\a-\\z\\A-\\Z\\u4E00-\\u9FA5\\()\\()]"; + return str.matches(regex); + } + + /** + * 汉字、字母、数字 + * + * @MethodName:isLetterOrChineseOrNumber + * @author: DuYunbao + * @date: 2018/5/30 15:56 + */ + public static boolean isLetterOrChineseOrNumber(String str) { + String regex = "^[\\u4E00-\\u9FA5A-Za-z0-9]+$"; + return !str.matches(regex); + } + + /** + * 汉字、字母、()、-、下划线 + * + * @MethodName:isChineseOrLetterOrUnderlineOrChar1 + * @author: DuYunbao + * @date: 2018/5/30 16:03 + */ + public static boolean isChineseOrLetterOrUnderlineOrChar1(String str) { + String regex = "^[\\u4E00-\\u9FA5A-Za-z_\\-\\()\\()]+$"; + return !str.matches(regex); + } + + /** + * 数字 + * + * @MethodName:isNumbee + * @author: DuYunbao + * @date: 2018/5/30 16:09 + */ + public static boolean isNumber(String str) { + String regex = "\\D"; + return str.matches(regex); + } + + /** + * 数字、大写字母、- + * + * @MethodName:isNumberOrLowerLetterOrChar1 + * @author: DuYunbao + * @date: 2018/5/30 16:41 + */ + public static boolean isNumberOrLowerLetterOrChar1(String str) { + String regex = "^[A-Z0-9\\-]+$"; + return !str.matches(regex); + } + + /** + * 汉字、数字、字母、()、-、下划线 + * + * @MethodName:isChineseOrNumberOrLetterOrUnderlineOrChar + * @author: DuYunbao + * @date: 2018/5/30 16:45 + */ + public static boolean isChineseOrNumberOrLetterOrUnderlineOrChar(String str) { + String regex = "^[\\u4E00-\\u9FA5A-Za-z0-9_\\-\\()\\()]+$"; + return !str.matches(regex); + } + + + /** + * 去除整数含有小数点 + * @MethodName:subStr + * @author: DuYunbao + * @date: 2018/5/31 11:19 + */ + public static String subStr(String text) { + if (StringUtils.isNotEmpty(text)) { + if(text.contains(".0") && text.substring(text.length()-2,text.length()).equals(".0")) { + text = text.substring(0,text.length()-2); + } + } + return text; + } +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java index ff865a8a..2a62fec5 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java @@ -88,4 +88,6 @@ public interface DicTypeEODao extends BaseMapper { String selectByPid(@Param("Info") String Info); List selectByPidInfo(@Param("pid") String pid); + + List selectPidByCode(@Param("fileType") String fileType); } diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml index 25d4c58b..35a53608 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml @@ -631,4 +631,13 @@ WHERE DIC_ID = #{pid} + + From 47af72dcf361aed6542ebd4a6f9e44c6a900c2c0 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Mon, 3 Apr 2023 21:13:27 +0800 Subject: [PATCH 21/22] =?UTF-8?q?=E6=8B=86=E5=88=86=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/adc/da/login/security/WebMvcConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index df3cd052..74df1e57 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -115,7 +115,7 @@ public class WebMvcConfig implements WebMvcConfigurer { //企业标准导出 addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/exportSarBussionessStand"); - addInterceptor.excludePathPatterns("/api/lawss/sarFileSplitItems/importSplitItemsZip"); + addInterceptor.excludePathPatterns("/api/lawss/sarFileSplitItems/exportTemplate"); //预警导出 addInterceptor.excludePathPatterns("/api/sys/EarlyWarning/exportWarning"); From 46a977bd0c8bb330b17ca6ab9a5a2b8b13b85509 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Tue, 4 Apr 2023 09:32:54 +0800 Subject: [PATCH 22/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E6=A0=87?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SarBussionessStandServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 96b0ebfb..6dd1dac9 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 @@ -2163,7 +2163,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 100) { - return Result.error("企标类别输入过长"); + return Result.error("第"+ count +"行企标类别输入过长"); } switch (standSort){ case "BZJ": @@ -2691,7 +2691,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl