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 abe68add..a8be5802 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 @@ -67,6 +67,14 @@ public class SarBussStandAttrInfo extends BaseEntity { @TableField(exist = false) private String glwj; + + @ApiModelProperty(value = "译文件") + @TableField("TRANSLATION") + private String translation; + + @ApiModelProperty(value = "原文件") + @TableField("FBGBUSS") + private String fbgbuss; // // @TableField("SVPPS") // private String svpps; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java index 0fe7c5cb..9da70f84 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarBussionessStand.dao; +import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; @@ -119,5 +120,7 @@ public interface SarBussionessStandDao extends BaseMapper { void importSarBussionessStand(SarBussionessStand sarBussionessStands); + + List selectListInfo(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/OldSystem.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/OldSystem.java new file mode 100644 index 00000000..b4505ed9 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/OldSystem.java @@ -0,0 +1,33 @@ +package com.adc.da.slrs.sarBussionessStand.entity; + +import lombok.Data; + +@Data +public class OldSystem { + + //kmpro_addon34 与 buss_id 对应 + private String loreDocId; + //lore_depot_sort + private String sortId; + //lore_attache + private String fileSign; + //lore_attache + private String fileSrc; + //lore_depot_sort + private String sortSign; + + //新系统返回数据所需要的 + private String attfid; + + private String standId; + + private String buildId; + + + // 需要组合的数据 + private String attFileId; + + private String original; + + private String Translation; +} 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 3d145986..09f243aa 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 @@ -55,8 +55,9 @@ public interface ISarBussionessStandService extends IService void convertDocAllQB(List list); void checkFileByEncrypt(); + + ResponseMessage emptyFileAnewStorage(); - ResponseMessage importSarBussionessStand(List> dataList, String filepath)throws Exception; - + ResponseMessage importSarBussionessStandFile(MultipartFile file); } 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 bfb656a9..2ba13653 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 @@ -41,6 +41,7 @@ import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; import com.adc.da.slrs.sarBussStandSn.service.ISarBussStandSnService; import com.adc.da.slrs.sarBussStandVal.dao.SarBussStandValDao; import com.adc.da.slrs.sarBussStandVal.entity.SarBussStandVal; +import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; @@ -55,6 +56,7 @@ import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService; import com.adc.da.slrs.sarResource.entity.TsResource; import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; import com.adc.da.slrs.sarStandFile.entity.SarStandFile; import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; @@ -229,6 +231,9 @@ public class SarBussionessStandServiceImpl extends ServiceImpl importSarBussionessStandFile(MultipartFile file) throws Exception { + public ResponseMessage importSarBussionessStandFile(MultipartFile file) { //给出头部信息 String[] headerExcel = {"企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,附件,企标类型,标准年份,"}; @@ -2028,7 +2033,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl SarBussionessStandList = sarBussionessStandEODao.selectListInfo(); + List SarStandardsInfoList = sarStandardsInfoDao.selectListInfo(); + // 获取 kmpro_addon34 表的 lore_doc_id + List oldSystemInfoList = sarStandardsInfoDao.selectOldSystemInfo(); + //组合数据 + List oldArr = new ArrayList(); + List oldInfoArr = new ArrayList(); + //文件id + List fileIdList = new ArrayList<>(); + //文件路径 + List fileSrcList = new ArrayList<>(); + //国内海外 + for (OldSystem oldSystem: oldSystemInfoList){ + for (OldSystem SarStandardsInfo: SarStandardsInfoList){ + //lore_doc_id 与 DUILD_Id + if(StringUtils.isNotBlank(SarStandardsInfo.getBuildId())){ + if(oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())){ + //查询文件是否是多个 是否存在 + List fileList = sarStandardsInfoDao.OldSystemFile(oldSystem.getLoreDocId()); + if(!fileList.isEmpty()){ + if(fileList.size()==1){ + //判断文件是否存在 重新存入文件 获取id 存入att 表 + OldSystem old = new OldSystem(); + File file = new File(fileList.get(0).getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + //文件id 和数据id + if(attFileVo != null) { + fileIdList.add(attFileVo.getId()); + fileSrcList.add(fileList.get(0).getFileSrc()); + old.setStandId(SarStandardsInfo.getStandId()); + old.setSortSign(SarStandardsInfo.getSortSign()); + //判断存入原本版本 还是译文版本 + if (SarStandardsInfo.getSortSign().contains("译")) { + old.setTranslation(attFileVo.getId()); + } else { + old.setOriginal(attFileVo.getId()); + } + oldArr.add(old); + } + }else { + String yuan = ""; + String yi = ""; + OldSystem old = new OldSystem(); + //每一个文件 都是一个英文版 或者译文版 + // 如果每一个文件是 那我必然不能 这样子拼接 + // 应该是先判断他是 英文版 还是译文版 然后再 去拼接 + for (OldSystem src:fileList){ + File file = new File(src.getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + if(attFileVo != null) { + if (SarStandardsInfo.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + attFileVo.getId(); + } else { + yi = attFileVo.getId(); + } + if (StringUtils.isNotBlank(yi)) { + old.setTranslation(yi); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + attFileVo.getId(); + } else { + yuan = attFileVo.getId(); + } + if (StringUtils.isNotBlank(yuan)) { + old.setOriginal(yuan); + } + } + fileSrcList.add(src.getFileSrc()); + fileIdList.add(attFileVo.getId()); + } + } + old.setStandId(SarStandardsInfo.getStandId()); + oldArr.add(old); + } + } + } + } + } + } + // 企业 + for (OldSystem oldSystem: oldSystemInfoList){ + for (OldSystem sarBussionessStand: SarBussionessStandList){ + //lore_doc_id 与 DUILD_Id + if(StringUtils.isNotBlank(sarBussionessStand.getBuildId())){ + if(oldSystem.getLoreDocId().equals(sarBussionessStand.getBuildId())){ + //查询文件是否是多个 是否存在 + List fileList = sarStandardsInfoDao.OldSystemFile(oldSystem.getLoreDocId()); + if(!fileList.isEmpty()){ + if(fileList.size()==1){ + //判断文件是否存在 重新存入文件 获取id 存入att 表 + OldSystem old = new OldSystem(); + File file = new File(fileList.get(0).getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + //文件id 和数据id + if(attFileVo != null) { + fileIdList.add(attFileVo.getId()); + fileSrcList.add(fileList.get(0).getFileSrc()); + old.setStandId(sarBussionessStand.getStandId()); + old.setSortSign(sarBussionessStand.getSortSign()); + //判断存入原本版本 还是译文版本 + if (sarBussionessStand.getSortSign().contains("译")) { + old.setTranslation(attFileVo.getId()); + } else { + old.setOriginal(attFileVo.getId()); + } + oldInfoArr.add(old); + } + }else { + String yuan = ""; + String yi = ""; + OldSystem old = new OldSystem(); + for (OldSystem src:fileList) { + File file = new File(src.getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + if (attFileVo != null) { + if (sarBussionessStand.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + attFileVo.getId(); + } else { + yi = attFileVo.getId(); + } + old.setTranslation(yi); + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + attFileVo.getId(); + } else { + yuan = attFileVo.getId(); + } + old.setOriginal(yuan); + } + fileSrcList.add(src.getFileSrc()); + fileIdList.add(attFileVo.getId()); + } + } + old.setStandId(sarBussionessStand.getStandId()); + oldInfoArr.add(old); + } + } + } + } + } + } - 三: 进行数据关联 - 1:先跟 海外和国内的数据 进行对比 找到 kmpro_addon34表的lore_doc_id字段 与 新系统中数据表sar_standards_info表的BUILD_ID字段, - 2:对应老系统中数据表kmpro_addon34表的lore_doc_id字段 相同则进入 - 四:关联数据的文件存储 - 1: 判断能不能找到 - 2: 如果能找到 则重新存入, - 3: 鉴定是否是原文 还是 译文 进行分类存储 或者进行标识存储 - 4: 数据库增加字段,与老系统进行对应 - - 数据存储的时候,建立一种表 这张表存储的数据是 需要转码的文件 - 五: 数据对应上 以后 要进行换换 线上进行预览 (待) - 六: es数据进行同步 - */ - return null; + // 获取完整数据以后 数据库 增加字段, 然后区分是否是译文 原文 然后 进行保存 通过 id 可以找到对应的数据 + // 企业 + for(OldSystem data : oldInfoArr) { + SarBussStandAttrInfo sarBussStandAttrInfo = new SarBussStandAttrInfo(); + String id = sarBussStandAttrInfoEODao.selectFieldValByStandId("id", data.getStandId()); + if(StringUtils.isNotBlank(id)) { + sarBussStandAttrInfo.setId(id); + sarBussStandAttrInfo.setFbgbuss(data.getOriginal()); + sarBussStandAttrInfo.setTranslation(data.getTranslation()); + } + sarBussStandAttrInfoEODao.updateById(sarBussStandAttrInfo); + } + //海外 国内 + for(OldSystem data : oldInfoArr) { + SarStandAttrInfo sarStandAttrInfo = new SarStandAttrInfo(); + String id = sarStandAttrInfoEODao.selectFieldValByStandId("id", data.getStandId()); + if(StringUtils.isNotBlank(id)) { + sarStandAttrInfo.setId(id); + sarStandAttrInfo.setFbgbjbd(data.getOriginal()); + sarStandAttrInfo.setTranslation(data.getTranslation()); + } + sarStandAttrInfoEODao.updateById(sarStandAttrInfo); + } + //文件删除 +// for (String s : fileSrcList){ +// File file = new File(s); +// file.delete(); +// } + return Result.success(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java index 146b2b83..6ba76937 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java @@ -238,5 +238,9 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("BDTBZH") private String bdtbzh; + @ApiModelProperty(value = "译文件") + @TableField("TRANSLATION") + private String translation; + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java index dfc26280..9cd6472b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarStandardsInfo.dao; +import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarStandardsInfo.entity.DSarStandardDTO; import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; @@ -99,4 +100,9 @@ public interface SarStandardsInfoDao extends BaseMapper { List dealWithDS(@Param("type") String standType, @Param("status")List strings); + List selectOldSystemInfo(); + + List selectListInfo(); + + List OldSystemFile(@Param("loreDocId") String loreDocId); } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index 870c8a9f..b4bb66ee 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -1225,4 +1225,12 @@ #{standSn, jdbcType=VARCHAR}, + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml index 620dbeb5..a5344aa3 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 @@ -1888,4 +1888,37 @@ + + + + + +