From cf570dbe6ca9fec41f4c51c308a5c23d6a966593 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Tue, 14 Mar 2023 11:34:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=91=E6=96=87=E5=8E=9F=E6=96=87=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=88=E8=BF=94=E5=9B=9E=E6=96=87=E4=BB=B6=E6=9C=89?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E9=87=8D=E5=A4=8D,=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/SarBussStandAttrInfoDao.java | 3 + .../impl/SarBussionessStandServiceImpl.java | 504 ++++++++++++++---- .../dao/SarStandAttrInfoDao.java | 4 + .../dao/SarStandardsInfoDao.java | 2 +- .../SarStandAttrInfoMapper.xml | 11 + .../SarBussStandAttrInfoMapper.xml | 10 + .../SarStandardsInfoMapper.xml | 3 + 7 files changed, 446 insertions(+), 91 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/dao/SarBussStandAttrInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/dao/SarBussStandAttrInfoDao.java index 9afeac88..b0970f41 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/dao/SarBussStandAttrInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/dao/SarBussStandAttrInfoDao.java @@ -47,4 +47,7 @@ public interface SarBussStandAttrInfoDao extends BaseMapper fileEOArrayList= new HashSet<>(); //海外国内的文件数据处理 处理逻辑对比 文件的名称 一致的情况下 则看老数据库 是否有对应的分类 原文 译文 if(type.equals("海外")) { - List SarStandardsInfoList = sarStandardsInfoDao.selectListInfo(); + List SarStandardsInfoList = sarStandardsInfoDao.selectListInfo("FOREIGN"); for (OldSystem SarStandardsInfo : SarStandardsInfoList) { + String yi = ""; + String yuan = ""; + OldSystem old = new OldSystem(); if (StringUtils.isNotBlank(SarStandardsInfo.getBuildId())) { + if(SarStandardsInfo.getBuildId().contains(",")){ + String[] buildIdArr = SarStandardsInfo.getBuildId().split(","); + List buildIdList = Arrays.asList(buildIdArr); + if(!buildIdList.isEmpty()){ + for (String bid: buildIdList){ + List OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(bid); + OldSystem oldSystem =OldSystem1.get(0); + if (oldSystem.getLoreDocId().equals(bid)) { + //通过,号分割文件,通过id去查询文件 获取文件名称 + if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { + if(SarStandardsInfo.getFileId().contains(",")) { + String[] fileIdArr = SarStandardsInfo.getFileId().split(","); + List asList = Arrays.asList(fileIdArr); + if (asList.size() > 0) { + // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 + List attFileEOS = newFileNameRepetition(asList); + if (attFileEOS.isEmpty()) { + for (String fileId : asList) { + //循环调用每一个 文件 获取文件名称 + String id = fileId; + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(),bid); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + fileId; + } else { + yi = fileId; + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + fileId; + } else { + yuan = fileId; + } + + } + } + } + } else { + //记录 同一条数据名称一样的 + for (AttFileEO fileEO : attFileEOS) { + fileEO.setResId("h-" + SarStandardsInfo.getStandId()); + fileEOArrayList.add(fileEO); + } + } + } + }else { + //循环调用每一个 文件 获取文件名称 + String id = SarStandardsInfo.getFileId(); + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(), bid); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + SarStandardsInfo.getFileId(); + } else { + yi = SarStandardsInfo.getFileId(); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + SarStandardsInfo.getFileId(); + } else { + yuan = SarStandardsInfo.getFileId(); + } + + } + } + } + } + } + } + } + }else { + List OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(SarStandardsInfo.getBuildId()); + OldSystem oldSystem =OldSystem1.get(0); + if (oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) { + //通过,号分割文件,通过id去查询文件 获取文件名称 + if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { + if(SarStandardsInfo.getFileId().contains(",")) { + String[] fileIdArr = SarStandardsInfo.getFileId().split(","); + List asList = Arrays.asList(fileIdArr); + if (asList.size() > 0) { + // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 + List attFileEOS = newFileNameRepetition(asList); + if (attFileEOS.isEmpty()) { + for (String fileId : asList) { + //循环调用每一个 文件 获取文件名称 + String id = fileId; + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId()); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + fileId; + } else { + yi = fileId; + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + fileId; + } else { + yuan = fileId; + } + + } + } + } + } else { + //记录 同一条数据名称一样的 + for (AttFileEO fileEO : attFileEOS) { + fileEO.setResId("h-" + SarStandardsInfo.getStandId()); + fileEOArrayList.add(fileEO); + } + } + } + }else { + //循环调用每一个 文件 获取文件名称 + String id = SarStandardsInfo.getFileId(); + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId()); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + SarStandardsInfo.getFileId(); + } else { + yi = SarStandardsInfo.getFileId(); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + SarStandardsInfo.getFileId(); + } else { + yuan = SarStandardsInfo.getFileId(); + } + } + } + } + } + } + } + + } + if (StringUtils.isNotBlank(yi)) { + old.setTranslation(yi); + } + if (StringUtils.isNotBlank(yuan)) { + old.setOriginal(yuan); + } + if (StringUtils.isNotBlank(yi) || StringUtils.isNotBlank(yuan)) { + old.setStandId(SarStandardsInfo.getStandId()); + oldArr.add(old); + } + } + //海外 + for(OldSystem data : oldArr) { + SarStandAttrInfo sarStandAttrInfo = new SarStandAttrInfo(); + String id = sarStandAttrInfoEODao.selectInfoStandId(data.getStandId()); + if(StringUtils.isNotBlank(id)) { + sarStandAttrInfo.setId(id); + sarStandAttrInfo.setFbgbjbd(data.getOriginal()); + sarStandAttrInfo.setTranslation(data.getTranslation()); + } + sarStandAttrInfoEODao.updateByIdInfo(id,sarStandAttrInfo.getFbgbjbd(),sarStandAttrInfo.getTranslation()); + logger.info("海外修改成功"); + } + + } + + if(type.equals("国内")) { + List SarStandardsInfoList = sarStandardsInfoDao.selectListInfo("INLAND"); + for (OldSystem SarStandardsInfo : SarStandardsInfoList) { + String yi = ""; + String yuan = ""; + OldSystem old = new OldSystem(); + if (StringUtils.isNotBlank(SarStandardsInfo.getBuildId())) { + if(SarStandardsInfo.getBuildId().contains(",")){ + String[] buildIdArr = SarStandardsInfo.getBuildId().split(","); + List buildIdList = Arrays.asList(buildIdArr); + if(!buildIdList.isEmpty()){ + for (String bid: buildIdList){ + List OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(bid); + OldSystem oldSystem =OldSystem1.get(0); + if (oldSystem.getLoreDocId().equals(bid)) { + //通过,号分割文件,通过id去查询文件 获取文件名称 + if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { + if(SarStandardsInfo.getFileId().contains(",")) { + String[] fileIdArr = SarStandardsInfo.getFileId().split(","); + List asList = Arrays.asList(fileIdArr); + if (asList.size() > 0) { + // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 + List attFileEOS = newFileNameRepetition(asList); + if (attFileEOS.isEmpty()) { + for (String fileId : asList) { + //循环调用每一个 文件 获取文件名称 + String id = fileId; + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(),bid); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + fileId; + } else { + yi = fileId; + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + fileId; + } else { + yuan = fileId; + } + + } + } + } + } else { + //记录 同一条数据名称一样的 + for (AttFileEO fileEO : attFileEOS) { + fileEO.setResId("h-" + SarStandardsInfo.getStandId()); + fileEOArrayList.add(fileEO); + } + } + } + }else { + //循环调用每一个 文件 获取文件名称 + String id = SarStandardsInfo.getFileId(); + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(), bid); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + SarStandardsInfo.getFileId(); + } else { + yi = SarStandardsInfo.getFileId(); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + SarStandardsInfo.getFileId(); + } else { + yuan = SarStandardsInfo.getFileId(); + } + + } + } + } + } + } + } + } + }else { List OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(SarStandardsInfo.getBuildId()); OldSystem oldSystem =OldSystem1.get(0); if (oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) { @@ -2776,9 +3046,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl attFileEOS = newFileNameRepetition(asList); if (attFileEOS.isEmpty()) { - String yi = ""; - String yuan = ""; - OldSystem old = new OldSystem(); for (String fileId : asList) { //循环调用每一个 文件 获取文件名称 String id = fileId; @@ -2804,16 +3071,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl SarBussionessStandList = sarBussionessStandEODao.selectListInfo(); //企业的文件数据处理 for (OldSystem sarBussionessStand: SarBussionessStandList){ + String yi = ""; + String yuan = ""; + OldSystem old = new OldSystem(); // 通过 关联id 去查询这条数据 查询到 即当前数据 if(StringUtils.isNotBlank(sarBussionessStand.getBuildId())){ - List oldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(sarBussionessStand.getBuildId()); - OldSystem oldSystem =oldSystem1.get(0); - if(oldSystem.getLoreDocId().equals(sarBussionessStand.getBuildId())) { - //通过,号分割文件,通过id去查询文件 获取文件名称 - if(StringUtils.isNotBlank(sarBussionessStand.getFileId())){ - if(sarBussionessStand.getFileId().contains(",")){ - String[] fileIdArr = sarBussionessStand.getFileId().split(","); - List asList = Arrays.asList(fileIdArr); - if(asList.size()>0) { - // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 - List attFileEOS = newFileNameRepetition(asList); - if(attFileEOS.isEmpty()) { - String yi = ""; - String yuan = ""; - OldSystem old = new OldSystem(); - for (String fileId : asList) { + if(sarBussionessStand.getBuildId().contains(",")){ + String[] buildIdArr = sarBussionessStand.getBuildId().split(","); + List buildIdList = Arrays.asList(buildIdArr); + if(!buildIdList.isEmpty()){ + for (String bId: buildIdList){ + List oldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(bId); + OldSystem oldSystem =oldSystem1.get(0); + if(oldSystem.getLoreDocId().equals(bId)) { + //通过,号分割文件,通过id去查询文件 获取文件名称 + if(StringUtils.isNotBlank(sarBussionessStand.getFileId())){ + if(sarBussionessStand.getFileId().contains(",")){ + String[] fileIdArr = sarBussionessStand.getFileId().split(","); + List asList = Arrays.asList(fileIdArr); + if(asList.size()>0) { + // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 + List attFileEOS = newFileNameRepetition(asList); + if(attFileEOS.isEmpty()) { + for (String fileId : asList) { + //循环调用每一个 文件 获取文件名称 + String id = fileId; + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(),bId); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + fileId; + } else { + yi = fileId; + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + fileId; + } else { + yuan = fileId; + } + + } + } + } + }else { + //记录 同一条数据名称一样的 + for (AttFileEO fileEO:attFileEOS) { + //记录重复 此id企业或者海外的id + fileEO.setResId("q-"+sarBussionessStand.getStandId()); + fileEOArrayList.add(fileEO); + } + } + + } + }else { //循环调用每一个 文件 获取文件名称 - String id = fileId; + String id = sarBussionessStand.getFileId(); AttFileEO byId = attFileEOService.getFileInfo(id); - String theSame = isTheSame(byId.getOldFileName(), sarBussionessStand.getBuildId()); + String theSame = isTheSame(byId.getOldFileName(), bId); if (theSame.equals("1")) { //证明找到文件名称一致的了 OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); //原文译文 进行判断 if (sortSign.getSortSign().contains("译")) { if (StringUtils.isNotBlank(yi)) { - yi = "," + fileId; + yi = "," + sarBussionessStand.getFileId(); } else { - yi = fileId; + yi = sarBussionessStand.getFileId(); } } else { if (StringUtils.isNotBlank(yuan)) { - yuan = "," + fileId; + yuan = "," + sarBussionessStand.getFileId(); } else { - yuan = fileId; + yuan = sarBussionessStand.getFileId(); } } } } - if (StringUtils.isNotBlank(yi)) { - old.setTranslation(yi); - } - if (StringUtils.isNotBlank(yuan)) { - old.setOriginal(yuan); - } - if(StringUtils.isNotBlank(yi) || StringUtils.isNotBlank(yuan)){ - old.setStandId(sarBussionessStand.getStandId()); - oldArr1.add(old); - } - }else { - //记录 同一条数据名称一样的 - for (AttFileEO fileEO:attFileEOS) { - //记录重复 此id企业或者海外的id - fileEO.setResId("q-"+sarBussionessStand.getStandId()); - fileEOArrayList.add(fileEO); - } } - } - }else { - // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 - String yi = ""; - String yuan = ""; - OldSystem old = new OldSystem(); - //循环调用每一个 文件 获取文件名称 + } + } + }else { + List oldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(sarBussionessStand.getBuildId()); + OldSystem oldSystem = oldSystem1.get(0); + if (oldSystem.getLoreDocId().equals(sarBussionessStand.getBuildId())) { + //通过,号分割文件,通过id去查询文件 获取文件名称 + if (StringUtils.isNotBlank(sarBussionessStand.getFileId())) { + if (sarBussionessStand.getFileId().contains(",")) { + String[] fileIdArr = sarBussionessStand.getFileId().split(","); + List asList = Arrays.asList(fileIdArr); + if (asList.size() > 0) { + // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 + List attFileEOS = newFileNameRepetition(asList); + if (attFileEOS.isEmpty()) { + for (String fileId : asList) { + //循环调用每一个 文件 获取文件名称 + String id = fileId; + AttFileEO byId = attFileEOService.getFileInfo(id); + String theSame = isTheSame(byId.getOldFileName(), sarBussionessStand.getBuildId()); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + fileId; + } else { + yi = fileId; + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + fileId; + } else { + yuan = fileId; + } + + } + } + } + } else { + //记录 同一条数据名称一样的 + for (AttFileEO fileEO : attFileEOS) { + //记录重复 此id企业或者海外的id + fileEO.setResId("q-" + sarBussionessStand.getStandId()); + fileEOArrayList.add(fileEO); + } + } + + } + } else { String id = sarBussionessStand.getFileId(); AttFileEO byId = attFileEOService.getFileInfo(id); String theSame = isTheSame(byId.getOldFileName(), sarBussionessStand.getBuildId()); @@ -2973,31 +3295,33 @@ public class SarBussionessStandServiceImpl extends ServiceImpl { String selectFieldValByStandId(@Param("field") String field, @Param("standId") String standId); List selectFieldValByContainsVal(@Param("field") String field, @Param("value") String value, @Param("standIds") List standIds); + + void updateByIdInfo(@Param("id")String id,@Param("fbgbjbd") String fbgbuss,@Param("translation") String translation); + + String selectInfoStandId(@Param("standId")String standId); } 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 75abf5e9..009c9ee9 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 @@ -100,7 +100,7 @@ public interface SarStandardsInfoDao extends BaseMapper { List dealWithDS(@Param("type") String standType, @Param("status")List strings); - List selectListInfo(); + List selectListInfo(@Param("type") String type); List OldSystemFile(@Param("loreDocId") String loreDocId); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandAttrInfo/SarStandAttrInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandAttrInfo/SarStandAttrInfoMapper.xml index 17105f6a..de2d245a 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandAttrInfo/SarStandAttrInfoMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandAttrInfo/SarStandAttrInfoMapper.xml @@ -241,4 +241,15 @@ + + update SAR_STAND_ATTR_INFO set FBGBJBD = #{fbgbjbd}, TRANSLATION = #{translation} + where stand_id = #{standId} + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml index a7b74a5c..a68ae897 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml @@ -167,5 +167,15 @@ where id = #{id} + + update SAR_BUSS_STAND_ATTR_INFO set FBGBUSS = #{fbgbuss}, TRANSLATION = #{translation} + where ID = #{id} + + + 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 59ffed22..3d969e24 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 @@ -1898,6 +1898,9 @@ left JOIN sar_stand_attr_info att on std.id = att.STAND_ID where std.BUILD_ID is not null and att.FBGBJBD is not null + + and std.STAND_TYPE = #{type} +