From 16e38bd98dfadfed24255c41801b099c11f32646 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Mon, 6 Sep 2021 18:14:54 +0800 Subject: [PATCH] =?UTF-8?q?excl=E6=A0=87=E5=87=86=E5=86=99=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ImportExcelController.java | 1 + .../service/ImportExcelService.java | 3 + .../service/impl/ImportExcelServiceImpl.java | 409 ++++++++++++++++++ .../entity/SarBussStandAttrInfo.java | 4 +- 4 files changed, 416 insertions(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java index 84f3bdf3..7a725411 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java @@ -32,6 +32,7 @@ public class ImportExcelController extends BaseController { @PostMapping("/import") public ResponseMessage deleteList(MultipartFile file,MultipartFile file2) { Map> mapMap=importExcelService.getExcelData(file,file2); + importExcelService.storageExclData(mapMap); ResponseMessage responseMessage=new ResponseMessage(); responseMessage.setMessage(mapMap.toString()); responseMessage.isOk(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java index 008be67f..9c31347e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java @@ -11,4 +11,7 @@ public interface ImportExcelService extends IService { Map> getExcelData(MultipartFile file,MultipartFile file2); + + public int storageExclData(Map> importListMap); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java index 449298f9..47b10659 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java @@ -1,25 +1,81 @@ package com.adc.da.slrs.ImportExcelDatas.service.impl; +import com.adc.da.att.service.IAttFileEOService; +import com.adc.da.att.vo.AttFileVo; +import com.adc.da.mq.CreateStandMQService; +import com.adc.da.scheduled.dao.SarStandardInfoDao; import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService; +import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; +import com.adc.da.slrs.sarBussStandAttrInfo.entity.SarBussStandAttrInfo; +import com.adc.da.slrs.sarBussStandAttrInfo.service.impl.SarBussStandAttrInfoServiceImpl; +import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarBussionessStand.service.impl.SarBussionessStandServiceImpl; +import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; +import com.adc.da.slrs.sarStandAttrInfo.service.impl.SarStandAttrInfoServiceImpl; +import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; +import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; +import com.adc.da.slrs.sarStandardsInfo.service.impl.SarStandardsInfoServiceImpl; +import com.adc.da.slrs.standardSplit.entity.SarStandardsInfoEO; +import com.adc.da.util.UUIDUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.tdunning.math.stats.Sort; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.io.InputStream; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; @Service public class ImportExcelServiceImpl extends ServiceImpl implements ImportExcelService { + @Autowired + private IAttFileEOService attFileEOService; + + @Autowired + private CreateStandMQService createStandMQService; + + @Autowired + private SarStandardsInfoServiceImpl sarStandardsInfoService; + + @Autowired + private SarStandardsInfoDao sarStandardInfoDao; + + @Autowired + private SarStandAttrInfoDao sarStandAttrInfoDao; + + @Autowired + private SarBussionessStandDao sarBussionessStandDao; + + @Autowired + private SarBussStandAttrInfoDao sarBussStandAttrInfoDao; + + @Autowired + private SarBussionessStandServiceImpl sarBussionessStandService; + + @Autowired + private SarBussStandAttrInfoServiceImpl sarBussStandAttrInfoService; + + @Autowired + private SarStandAttrInfoServiceImpl sarStandAttrInfoService; + + private final static String GN = "GB,GB/T,QC/T,GJB,JB,JT,HG,YV,SY,SH,GA,HJ,QB,JG,NB,JC,YS/T,FZ/T,TB/T,JJG,SJ/T,T/TBPS" + ",NB/T,CJ/T,YS/T,SJ/T,BB/T,SN/T,SB/T,MH/T,DB11,SZDB/Z,HKG,T/ZSA,CSAE,T/CAS,T/CADA,T/CHTS,T/ITS,T/BJQC"; private final static String QB = "Q/QCBFC,Q/FT,Q/FL,Q/QCFLC,Q/BQB,Q/SGT," + @@ -227,4 +283,357 @@ public class ImportExcelServiceImpl extends ServiceImpl> importListMap) { + + + /** + * 海外标准 + */ + importListMap.get("HWBZ").forEach(item->{ + + String standID = UUIDUtils.randomUUID20(); + + SarStandardsInfo sarStandardsInfo = parseImportDtoToStandardsInfo(item, standID); + + + if (sarStandardsInfo!=null) + { + SarStandAttrInfo sarStandAttrInfo = parseImportDtoToStandAttrInfo(item, standID); + + sarStandardsInfo.setValidFlag("0"); + sarStandardsInfo.setStandType("FOREIGN"); + QueryWrapper standSaveWrapper = new QueryWrapper<>(); + standSaveWrapper + .eq("STAND_SORT",sarStandardsInfo.getStandSort()) + .eq("STAND_NUMBER",sarStandardsInfo.getStandNumber()) + .eq("STAND_YEAR",sarStandardsInfo.getStandYear()); + + SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); + if (one!=null){ + sarStandardsInfo.setId(one.getId()); + + sarStandardsInfoService.update(sarStandardsInfo,standSaveWrapper); + QueryWrapper standAttrWrapper = new QueryWrapper<>(); + standAttrWrapper.eq("STAND_ID",one.getId()); + + sarStandAttrInfo.setStandId(one.getId()); + sarStandAttrInfoService.update(sarStandAttrInfo,standAttrWrapper); + }else { + sarStandardsInfoService.save(sarStandardsInfo); + String field="ID,STAND_ID,VALID_FLAG,DTBJH,SSRQ"; + String value="\'"+sarStandAttrInfo.getId()+"\'"+","+ "\'"+sarStandAttrInfo.getStandId()+"\'"+","+"\'"+"0"+"\'"; + + + if (sarStandAttrInfo.getDtbjh()!=null){ + value+=","+"\'"+sarStandAttrInfo.getDtbjh()+"\'"; + } + + if (sarStandAttrInfo.getSsrq()!=null){ + value+=","+"\'"+sarStandAttrInfo.getSsrq()+"\'"; + } + sarStandAttrInfoDao.insertStandAttr(field,value); +// sarStandAttrInfoDao.insert(sarStandAttrInfo); +// sarStandAttrInfoService.save(sarStandAttrInfo); + + + } + + + } + + + }); + + + + /** + * 国内标准 + */ + + importListMap.get("GNBZ").forEach(item->{ + String standID = UUIDUtils.randomUUID20(); + + SarStandardsInfo sarStandardsInfo = parseImportDtoToStandardsInfo(item, standID); + + if (sarStandardsInfo!=null){ + SarStandAttrInfo sarStandAttrInfo = parseImportDtoToStandAttrInfo(item, standID); + + sarStandardsInfo.setValidFlag("0"); + sarStandardsInfo.setStandType("INLAND"); + + + QueryWrapper standSaveWrapper = new QueryWrapper<>(); + standSaveWrapper + .eq("STAND_SORT",sarStandardsInfo.getStandSort()) + .eq("STAND_NUMBER",sarStandardsInfo.getStandNumber()) + .eq("STAND_YEAR",sarStandardsInfo.getStandYear()); + + + SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); + if (one!=null){ + sarStandardsInfo.setId(one.getId()); + sarStandardsInfoService.update(sarStandardsInfo,standSaveWrapper); + + QueryWrapper standAttrWrapper = new QueryWrapper<>(); + standAttrWrapper.eq("STAND_ID",one.getId()); + sarStandAttrInfo.setStandId(one.getId()); + sarStandAttrInfoService.update(sarStandAttrInfo,standAttrWrapper); + }else { + + + sarStandardsInfoService.save(sarStandardsInfo); + + + String field="ID,STAND_ID,VALID_FLAG,DTBJH,SSRQ"; + String value="\'"+sarStandAttrInfo.getId()+"\'"+","+"\'"+sarStandAttrInfo.getStandId()+"\'"+","+"\'"+"0"+"\'"; + + + if (sarStandAttrInfo.getDtbjh()!=null){ + value+=","+"\'"+sarStandAttrInfo.getDtbjh()+"\'"; + } + + if (sarStandAttrInfo.getSsrq()!=null){ + value+=","+"\'"+sarStandAttrInfo.getSsrq()+"\'"; + } + sarStandAttrInfoDao.insertStandAttr(field,value); +// sarStandAttrInfoDao.insert(sarStandAttrInfo); +// sarStandAttrInfoService.save(sarStandAttrInfo); + } + }else { + importListMap.get("error").add(item); + } + + + }); + + /** + * 企业标准 + */ + + importListMap.get("QYBZ").forEach(item->{ + String standId=UUIDUtils.randomUUID20(); + + SarBussionessStand sarBussionessStand = parseImportDtoToSarBussionessStand(item, standId); + + SarBussStandAttrInfo sarBussStandAttrInfo = parseImportDtoToSarBussStandAttrInfo(item, standId); + + + + try { + QueryWrapper saveWrapper = new QueryWrapper<>(); + saveWrapper.eq("STAND_CODE",item.getStandId()); + SarBussionessStand one = sarBussionessStandService.getOne(saveWrapper); + if (one!=null){ + sarBussionessStandService.update(sarBussionessStand,saveWrapper); + + QueryWrapper bussAttrWrapper = new QueryWrapper<>(); + bussAttrWrapper.eq("STAND_ID",one.getId()); + sarBussStandAttrInfoService.update(sarBussStandAttrInfo,bussAttrWrapper); + sarBussStandAttrInfoDao.updateStandInfo(one.getId(),"GLWJBUSS",sarBussStandAttrInfo.getGlwj()); + + }else { + sarBussionessStandService.save(sarBussionessStand); + sarBussStandAttrInfoService.save(sarBussStandAttrInfo); + + sarBussStandAttrInfoDao.updateStandInfo(sarBussStandAttrInfo.getStandId(),"GLWJBUSS",sarBussStandAttrInfo.getGlwj()); + } + + + + }catch (Exception e){ + importListMap.get("error").add(item); + System.out.println("issueTime====Hello======"+sarBussionessStand.getIssueTime()+"===hello====="+item); + e.printStackTrace(); + + } + + + + }); + + + + + importListMap.get("error"); + String head="standId,standName,standNameEN,publishTime,implementedTime" + + ",standStatus,replaceId,path"; + String headStr="标准号,标准名称,英文名称,发布时间,实施时间,标准状态,代替标准号,附件路径"; + + + List error = importListMap.get("error"); + System.out.println(error); + + + return 0; + } + + + + + + + public SarStandardsInfo parseImportDtoToStandardsInfo(ImportDto importDto,String standId){ + + String sort=""; + String number=""; + String year=""; + try { + String[] sortAndNumberAndYear = importDto.getStandId().split("\\s+"); + sort = sortAndNumberAndYear[0]; + String[] numberAndYear = sortAndNumberAndYear[1].split("\\-"); + number=numberAndYear[0]; + year=numberAndYear[1]; + + }catch (Exception e){ + System.out.println("id为"+importDto.getStandId()+"格式无法解析"); + return null; + } + + SarStandardsInfo sarStandardsInfo = new SarStandardsInfo(); + sarStandardsInfo.setId(standId); + + + sarStandardsInfo.setStandSort(sort); + sarStandardsInfo.setStandNumber(number); + sarStandardsInfo.setStandYear(year); + + sarStandardsInfo.setStandName(importDto.getStandName()); + sarStandardsInfo.setStandEnName(importDto.getStandNameEN()); + sarStandardsInfo.setIssueTime(importDto.getPublishTime());//标准发布日期 + + String standStatus = importDto.getStandStatus(); + if ("有效".equals(standStatus)){ + sarStandardsInfo.setTextStatus("vsaga7nwub");//现行有效 + } + + return sarStandardsInfo; + } + + + + public SarStandAttrInfo parseImportDtoToStandAttrInfo(ImportDto importDto,String standId) { + + + + SarStandAttrInfo sarStandAttrInfo = new SarStandAttrInfo(); + sarStandAttrInfo.setId(UUIDUtils.randomUUID20()); + sarStandAttrInfo.setStandId(standId); + sarStandAttrInfo.setDtbjh(importDto.getReplaceId()); + sarStandAttrInfo.setSsrq(importDto.getImplementedTime()); + sarStandAttrInfo.setValidFlag("0"); + + +// Arrays.stream(path).limit(2,path.length); + + if (importDto.getPath()!=null) + { + String path[] = importDto.getPath().split("/"); + String realPath=""; + for (int i = 4; i < path.length; i++) { + realPath=realPath+"\\"+path[i]; + + } + + + File file = new File("C:\\Users\\22501\\Desktop\\foton\\2021\\" + realPath); + if (file.exists()){ + AttFileVo fileInfo = attFileEOService.saveFileInfo(file); + HashMap fileMap = new HashMap<>(); + + + + /** + * * @Param: [standId, fileMap] fileMap + */ + fileMap.put("GLWJ",fileInfo.getAttId()); + try { + sarStandardsInfoService.createStandFile(standId,fileMap); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("创建标准文件异常"); + } + + sarStandAttrInfo.setGlwj(fileInfo.getAttId()); + } + + + } + + + return sarStandAttrInfo; + + } + + + + + + public SarBussionessStand parseImportDtoToSarBussionessStand(ImportDto importDto,String standId){ + + + SarBussionessStand sarBussionessStand = new SarBussionessStand(); + sarBussionessStand.setId(standId); + sarBussionessStand.setStandCode(importDto.getStandId()); + sarBussionessStand.setStandName(importDto.getStandName()); + sarBussionessStand.setStandEnName(importDto.getStandNameEN()); + sarBussionessStand.setIssueTime(importDto.getPublishTime()); + sarBussionessStand.setPutTime(importDto.getImplementedTime()); + sarBussionessStand.setReplacedStandNum(importDto.getReplaceId()); + sarBussionessStand.setValidFlag(0); + if ("有效".equals(importDto.getStandStatus())){ + sarBussionessStand.setTextStatusBuss("vsaga7nwub"); + } + return sarBussionessStand; + } + + + public SarBussStandAttrInfo parseImportDtoToSarBussStandAttrInfo(ImportDto importDto,String standId){ + SarBussStandAttrInfo sarBussStandAttrInfo = new SarBussStandAttrInfo(); + sarBussStandAttrInfo.setId(UUIDUtils.randomUUID20()); + sarBussStandAttrInfo.setStandId(standId); + sarBussStandAttrInfo.setValidFlag("0"); + + + + if (importDto.getPath()!=null) + { + String path[] = importDto.getPath().split("/"); + String realPath=""; + for (int i = 4; i < path.length; i++) { + realPath=realPath+"\\"+path[i]; + + } + + + File file = new File("C:\\Users\\22501\\Desktop\\foton\\2021\\" + realPath); + if (file.exists()){ + AttFileVo fileInfo = attFileEOService.saveFileInfo(file); + HashMap fileMap = new HashMap<>(); + + + + /** + * * @Param: [standId, fileMap] fileMap + */ + fileMap.put("GLWJBUSS",fileInfo.getAttId()); + try { + sarBussionessStandService.createStandFile(standId,fileMap); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("创建标准文件异常"); + } + + sarBussStandAttrInfo.setGlwj(fileInfo.getAttId()); + + } + + + + } + return sarBussStandAttrInfo; + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java index b0019e1d..34ced68e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java @@ -14,7 +14,7 @@ import org.springframework.format.annotation.DateTimeFormat; /** *

- * + * *

* * @author super_liu @@ -52,6 +52,8 @@ public class SarBussStandAttrInfo extends BaseEntity { @TableField("MODIFY_TIME") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date modifyTime; + + private String glwj; // // @TableField("SVPPS") // private String svpps;