译文原文问题(返回文件有名称重复)

This commit is contained in:
gaojiabao
2023-03-13 10:52:18 +08:00
parent e13d97769d
commit 99eb785b9d
@@ -2762,9 +2762,11 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
//数据组合
List<OldSystem> oldArr = new ArrayList();
List<OldSystem> oldArr1 = new ArrayList();
//记录同一数据下文件名重复的
List<AttFileEO> fileEOArrayList= new ArrayList<>();
//海外国内的文件数据处理 处理逻辑对比 文件的名称 一致的情况下 则看老数据库 是否有对应的分类 原文 译文
for (OldSystem SarStandardsInfo: SarStandardsInfoList){
for (OldSystem SarStandardsInfo: SarStandardsInfoList){
for (OldSystem oldSystem : oldSystemInfoList) {
if(StringUtils.isNotBlank(SarStandardsInfo.getBuildId())){
if(oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) {
@@ -2773,43 +2775,53 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
String[] fileIdArr = SarStandardsInfo.getFileId().split(",");
List<String> asList = Arrays.asList(fileIdArr);
if(asList.size()>0) {
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 {
if (StringUtils.isNotBlank(yuan)) {
yuan = "," + fileId;
} else {
yuan = fileId;
}
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
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 {
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);
}
}
}
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);
}
}
}
}
@@ -2828,44 +2840,56 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
String[] fileIdArr = sarBussionessStand.getFileId().split(",");
List<String> asList = Arrays.asList(fileIdArr);
if(asList.size()>0) {
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;
// 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走
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);
}
}
}
}
@@ -2897,7 +2921,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
sarStandAttrInfoEODao.updateById(sarStandAttrInfo);
logger.info("海外国内修改成功");
}
return Result.success();
return Result.success(fileEOArrayList);
}
public String isTheSame (String oldFileName,String buildId){
@@ -2953,4 +2977,22 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
}
return Result.success(null,"数量="+set.size()+"====",set);
}
public List<AttFileEO> newFileNameRepetition(List<String> asList){
List<AttFileEO> attFileEOS = new ArrayList<>();
List<AttFileEO> attFileEOArrayList = new ArrayList<>();
for (String fileId : asList){
AttFileEO byId = attFileEOService.getFileInfo(fileId);
attFileEOS.add(byId);
}
for (AttFileEO data:attFileEOS) {
for (AttFileEO file:attFileEOS){
if(!data.getId().equals(file.getId())){
if(data.getOldFileName().equals(file.getOldFileName())){
attFileEOArrayList.add(data);
}
}
}
}
return attFileEOArrayList;
}
}