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

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> oldArr1 = new ArrayList();
//记录同一数据下文件名重复的
List<AttFileEO> fileEOArrayList= new ArrayList<>();
Set<AttFileEO> fileEOArrayList= new HashSet<>();
//海外国内的文件数据处理 处理逻辑对比 文件的名称 一致的情况下 则看老数据库 是否有对应的分类 原文 译文
if(type.equals("海外")) {
List<OldSystem> SarStandardsInfoList = sarStandardsInfoDao.selectListInfo();
@@ -2768,57 +2768,97 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
if (oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) {
//通过,号分割文件,通过id去查询文件 获取文件名称
if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) {
String[] fileIdArr = SarStandardsInfo.getFileId().split(",");
List<String> asList = Arrays.asList(fileIdArr);
if (asList.size() > 0) {
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
List<AttFileEO> attFileEOS = newFileNameRepetition(asList);
if (attFileEOS.isEmpty()) {
String yi = "";
String yuan = "";
OldSystem old = new OldSystem();
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;
if(SarStandardsInfo.getFileId().contains(",")) {
String[] fileIdArr = SarStandardsInfo.getFileId().split(",");
List<String> asList = Arrays.asList(fileIdArr);
if (asList.size() > 0) {
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
List<AttFileEO> attFileEOS = newFileNameRepetition(asList);
if (attFileEOS.isEmpty()) {
String yi = "";
String yuan = "";
OldSystem old = new OldSystem();
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 {
yi = fileId;
}
} else {
if (StringUtils.isNotBlank(yuan)) {
yuan = "," + fileId;
} else {
yuan = fileId;
}
if (StringUtils.isNotBlank(yuan)) {
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);
}
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);
}
}else {
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
String yi = "";
String yuan = "";
OldSystem old = new OldSystem();
//循环调用每一个 文件 获取文件名称
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);
}
}
}
}
@@ -2848,59 +2888,99 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
if(oldSystem.getLoreDocId().equals(sarBussionessStand.getBuildId())) {
//通过,号分割文件,通过id去查询文件 获取文件名称
if(StringUtils.isNotBlank(sarBussionessStand.getFileId())){
String[] fileIdArr = sarBussionessStand.getFileId().split(",");
List<String> asList = Arrays.asList(fileIdArr);
if(asList.size()>0) {
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
List<AttFileEO> attFileEOS = newFileNameRepetition(asList);
if(attFileEOS.isEmpty()) {
String yi = "";
String yuan = "";
OldSystem old = new OldSystem();
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;
if(sarBussionessStand.getFileId().contains(",")){
String[] fileIdArr = sarBussionessStand.getFileId().split(",");
List<String> asList = Arrays.asList(fileIdArr);
if(asList.size()>0) {
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
List<AttFileEO> attFileEOS = newFileNameRepetition(asList);
if(attFileEOS.isEmpty()) {
String yi = "";
String yuan = "";
OldSystem old = new OldSystem();
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 {
yi = fileId;
}
} else {
if (StringUtils.isNotBlank(yuan)) {
yuan = "," + fileId;
} else {
yuan = fileId;
}
if (StringUtils.isNotBlank(yuan)) {
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);
}
}
}
}