译文原文问题(返回文件有名称重复,代码优化)

This commit is contained in:
gaojiabao
2023-03-13 17:03:08 +08:00
parent 859326d2a3
commit 690373af7d
@@ -2758,7 +2758,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
List<OldSystem> oldArr = new ArrayList(); List<OldSystem> oldArr = new ArrayList();
List<OldSystem> oldArr1 = new ArrayList(); List<OldSystem> oldArr1 = new ArrayList();
//记录同一数据下文件名重复的 //记录同一数据下文件名重复的
List<AttFileEO> fileEOArrayList= new ArrayList<>(); Set<AttFileEO> fileEOArrayList= new HashSet<>();
//海外国内的文件数据处理 处理逻辑对比 文件的名称 一致的情况下 则看老数据库 是否有对应的分类 原文 译文 //海外国内的文件数据处理 处理逻辑对比 文件的名称 一致的情况下 则看老数据库 是否有对应的分类 原文 译文
if(type.equals("海外")) { if(type.equals("海外")) {
List<OldSystem> SarStandardsInfoList = sarStandardsInfoDao.selectListInfo(); List<OldSystem> SarStandardsInfoList = sarStandardsInfoDao.selectListInfo();
@@ -2768,57 +2768,97 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
if (oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) { if (oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) {
//通过,号分割文件,通过id去查询文件 获取文件名称 //通过,号分割文件,通过id去查询文件 获取文件名称
if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) {
String[] fileIdArr = SarStandardsInfo.getFileId().split(","); if(SarStandardsInfo.getFileId().contains(",")) {
List<String> asList = Arrays.asList(fileIdArr); String[] fileIdArr = SarStandardsInfo.getFileId().split(",");
if (asList.size() > 0) { List<String> asList = Arrays.asList(fileIdArr);
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 if (asList.size() > 0) {
List<AttFileEO> attFileEOS = newFileNameRepetition(asList); // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
if (attFileEOS.isEmpty()) { List<AttFileEO> attFileEOS = newFileNameRepetition(asList);
String yi = ""; if (attFileEOS.isEmpty()) {
String yuan = ""; String yi = "";
OldSystem old = new OldSystem(); String yuan = "";
for (String fileId : asList) { OldSystem old = new OldSystem();
//循环调用每一个 文件 获取文件名称 for (String fileId : asList) {
String id = fileId; //循环调用每一个 文件 获取文件名称
AttFileEO byId = attFileEOService.getFileInfo(id); String id = fileId;
String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId()); AttFileEO byId = attFileEOService.getFileInfo(id);
if (theSame.equals("1")) { String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId());
//证明找到文件名称一致的了 if (theSame.equals("1")) {
OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); //证明找到文件名称一致的了
//原文译文 进行判断 OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId());
if (sortSign.getSortSign().contains("译")) { //原文译文 进行判断
if (StringUtils.isNotBlank(yi)) { if (sortSign.getSortSign().contains("译")) {
yi = "," + fileId; if (StringUtils.isNotBlank(yi)) {
yi = "," + fileId;
} else {
yi = fileId;
}
} else { } else {
yi = fileId; if (StringUtils.isNotBlank(yuan)) {
} yuan = "," + fileId;
} else { } else {
if (StringUtils.isNotBlank(yuan)) { yuan = fileId;
yuan = "," + fileId; }
} else {
yuan = fileId;
}
}
} }
} }
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);
}
} else {
//记录 同一条数据名称一样的
for (AttFileEO fileEO : attFileEOS) {
fileEO.setResId("h-" + SarStandardsInfo.getStandId());
fileEOArrayList.add(fileEO);
}
} }
if (StringUtils.isNotBlank(yi)) { }
old.setTranslation(yi); }else {
} // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
if (StringUtils.isNotBlank(yuan)) { String yi = "";
old.setOriginal(yuan); String yuan = "";
} OldSystem old = new OldSystem();
if (StringUtils.isNotBlank(yi) || StringUtils.isNotBlank(yuan)) { //循环调用每一个 文件 获取文件名称
old.setStandId(SarStandardsInfo.getStandId()); String id = SarStandardsInfo.getFileId();
oldArr.add(old); AttFileEO byId = attFileEOService.getFileInfo(id);
} String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId());
} else { if (theSame.equals("1")) {
//记录 同一条数据名称一样的 //证明找到文件名称一致的了
for (AttFileEO fileEO : attFileEOS) { OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId());
fileEO.setResId("h-" + SarStandardsInfo.getStandId()); //原文译文 进行判断
fileEOArrayList.add(fileEO); 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);
}
} }
} }
} }
@@ -2848,59 +2888,99 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
if(oldSystem.getLoreDocId().equals(sarBussionessStand.getBuildId())) { if(oldSystem.getLoreDocId().equals(sarBussionessStand.getBuildId())) {
//通过,号分割文件,通过id去查询文件 获取文件名称 //通过,号分割文件,通过id去查询文件 获取文件名称
if(StringUtils.isNotBlank(sarBussionessStand.getFileId())){ if(StringUtils.isNotBlank(sarBussionessStand.getFileId())){
String[] fileIdArr = sarBussionessStand.getFileId().split(","); if(sarBussionessStand.getFileId().contains(",")){
List<String> asList = Arrays.asList(fileIdArr); String[] fileIdArr = sarBussionessStand.getFileId().split(",");
if(asList.size()>0) { List<String> asList = Arrays.asList(fileIdArr);
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 if(asList.size()>0) {
List<AttFileEO> attFileEOS = newFileNameRepetition(asList); // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
if(attFileEOS.isEmpty()) { List<AttFileEO> attFileEOS = newFileNameRepetition(asList);
String yi = ""; if(attFileEOS.isEmpty()) {
String yuan = ""; String yi = "";
OldSystem old = new OldSystem(); String yuan = "";
for (String fileId : asList) { OldSystem old = new OldSystem();
//循环调用每一个 文件 获取文件名称 for (String fileId : asList) {
String id = fileId; //循环调用每一个 文件 获取文件名称
AttFileEO byId = attFileEOService.getFileInfo(id); String id = fileId;
String theSame = isTheSame(byId.getOldFileName(), sarBussionessStand.getBuildId()); AttFileEO byId = attFileEOService.getFileInfo(id);
if (theSame.equals("1")) { String theSame = isTheSame(byId.getOldFileName(), sarBussionessStand.getBuildId());
//证明找到文件名称一致的了 if (theSame.equals("1")) {
OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); //证明找到文件名称一致的了
//原文译文 进行判断 OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId());
if (sortSign.getSortSign().contains("译")) { //原文译文 进行判断
if (StringUtils.isNotBlank(yi)) { if (sortSign.getSortSign().contains("译")) {
yi = "," + fileId; if (StringUtils.isNotBlank(yi)) {
yi = "," + fileId;
} else {
yi = fileId;
}
} else { } else {
yi = fileId; if (StringUtils.isNotBlank(yuan)) {
} yuan = "," + fileId;
} else { } else {
if (StringUtils.isNotBlank(yuan)) { yuan = fileId;
yuan = "," + fileId; }
} else {
yuan = fileId;
}
}
} }
} }
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);
}
} }
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();
//循环调用每一个 文件 获取文件名称
String id = sarBussionessStand.getFileId();
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 = "," + sarBussionessStand.getFileId();
} else {
yi = sarBussionessStand.getFileId();
}
} else {
if (StringUtils.isNotBlank(yuan)) {
yuan = "," + sarBussionessStand.getFileId();
} else {
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);
}
} }
} }
} }