Merge remote-tracking branch 'origin/dev_20230216' into dev_20230216
This commit is contained in:
+5
-1
@@ -416,6 +416,10 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "|SarBussionessStand|清空附件 重新挂靠")
|
||||
@GetMapping("/emptyFileAnewStorage")
|
||||
public ResponseMessage emptyFileAnewStorage (){
|
||||
return sarBussionessStandEOService.emptyFileAnewStorage();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
@@ -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<SarBussionessStand> {
|
||||
|
||||
|
||||
void importSarBussionessStand(SarBussionessStand sarBussionessStands);
|
||||
|
||||
List<OldSystem> selectListInfo();
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
+3
-2
@@ -55,8 +55,9 @@ public interface ISarBussionessStandService extends IService<SarBussionessStand>
|
||||
void convertDocAllQB(List<SarBussStandFile> list);
|
||||
|
||||
void checkFileByEncrypt();
|
||||
|
||||
ResponseMessage emptyFileAnewStorage();
|
||||
|
||||
//导入
|
||||
ResponseMessage<SarBussionessStand> importSarBussionessStandFile(MultipartFile file) throws Exception;
|
||||
ResponseMessage<SarBussionessStand> importSarBussionessStandFile(MultipartFile file);
|
||||
}
|
||||
|
||||
|
||||
+211
-2
@@ -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<SarBussionessStan
|
||||
@Autowired
|
||||
private ISarBussStandAttrInfoService sarBussStandAttrInfoService;
|
||||
|
||||
@Autowired
|
||||
private SarStandardsInfoDao sarStandardsInfoDao;
|
||||
|
||||
|
||||
@Override
|
||||
public SarBussionessStand getStandInfoByReviseStatus(String reviseStatus,String standSort,String taskId){
|
||||
@@ -2003,7 +2008,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<SarBussionessStand> importSarBussionessStandFile(MultipartFile file) throws Exception {
|
||||
public ResponseMessage<SarBussionessStand> importSarBussionessStandFile(MultipartFile file) {
|
||||
//给出头部信息
|
||||
String[] headerExcel = {"企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,附件,企标类型,标准年份,"};
|
||||
|
||||
@@ -2028,7 +2033,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
|
||||
saveDirectory.mkdir();
|
||||
}
|
||||
//将文件写入到指定路径中
|
||||
FileUtils.copyInputStreamToFile(file.getInputStream(),new File(path + "/" + fileNameStr));
|
||||
//FileUtils.copyInputStreamToFile(file.getInputStream(),new File(path + "/" + fileNameStr));
|
||||
try {
|
||||
//解压缩
|
||||
String zipEntryName = FileUnZip.unZipFiles(path + "/" + fileNameStr, path);
|
||||
@@ -2714,6 +2719,210 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
|
||||
row.setAttrInfoMap(getAttrMap);
|
||||
}
|
||||
}
|
||||
/*
|
||||
//1:数据迁移方案
|
||||
//方案一:清空附件 重新挂靠
|
||||
//1.流程:
|
||||
//a.备份并清空新系统中标准下附件
|
||||
//识别老系统中原文标签下标准对应新系统标准数据
|
||||
//b.将老系统中原文附件迁移至新系统存储空间,涉及到文件的复制和转码(其中转码失败率比较高,需要一定时间)
|
||||
//c.对应的文件路径储存在新系统数据库中,并且对应挂靠新系统中标准的发布稿原文下
|
||||
//d.搜索中心的刷新
|
||||
//
|
||||
//2.关联关系
|
||||
//新系统中数据表sar_standards_info表的BUILD_ID字段,对应老系统中数据表kmpro_addon34表的lore_doc_id字段
|
||||
//
|
||||
//老系统中
|
||||
//kmpro_addon34表,记录所有标准信息
|
||||
//lore_depot_sort 表中Sign字段可以看出是原文或译文
|
||||
//lore_attache表中记录附件名称和路径
|
||||
//
|
||||
//新系统中
|
||||
//sar_standards_info表,记录所有海外标准信息
|
||||
//sar_buss_stand_attr_info表,记录标准对应附件(目前只有发布稿原文的字段,没有发布稿译文的存储字段。。)
|
||||
//att_file_01——att_file_10表,记录附件对应存储位置
|
||||
//
|
||||
|
||||
:
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage emptyFileAnewStorage() {
|
||||
//1 查询 新系统的所有数据 其中包含为 国内 海外 获取到 DUILD_Id 字段用来对比
|
||||
List<OldSystem> SarBussionessStandList = sarBussionessStandEODao.selectListInfo();
|
||||
List<OldSystem> SarStandardsInfoList = sarStandardsInfoDao.selectListInfo();
|
||||
// 获取 kmpro_addon34 表的 lore_doc_id
|
||||
List<OldSystem> oldSystemInfoList = sarStandardsInfoDao.selectOldSystemInfo();
|
||||
//组合数据
|
||||
List<OldSystem> oldArr = new ArrayList();
|
||||
List<OldSystem> oldInfoArr = new ArrayList();
|
||||
//文件id
|
||||
List<String> fileIdList = new ArrayList<>();
|
||||
//文件路径
|
||||
List<String> 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<OldSystem> 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<OldSystem> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 获取完整数据以后 数据库 增加字段, 然后区分是否是译文 原文 然后 进行保存 通过 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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user