feat: There is no way the, 标准 被代替 补漏。。 详情点击代替、被代替标准效验接口修改
This commit is contained in:
@@ -42,6 +42,18 @@ public class DataSyncController {
|
||||
private IDataSyncService iDataSyncService;
|
||||
|
||||
|
||||
@ApiOperation("国内外标准库代替被代替 数据补全")
|
||||
@PostMapping("/dtAndBdtToStandData")
|
||||
public void dtAndBdtToStandData() {
|
||||
iDataSyncService.dtAndBdtToStandData();
|
||||
}
|
||||
|
||||
@ApiOperation("企业标准库代替被代替 数据补全")
|
||||
@PostMapping("/dtAndBdtToBussData")
|
||||
public void dtAndBdtToBussData() {
|
||||
iDataSyncService.dtAndBdtToBussData();
|
||||
}
|
||||
|
||||
@ApiOperation("同步用户数据")
|
||||
@PostMapping("/importUserData")
|
||||
public String importUserData() throws Exception {
|
||||
|
||||
@@ -2,6 +2,9 @@ package com.adc.da.slrs.DataSync.service;
|
||||
|
||||
public interface IDataSyncService {
|
||||
|
||||
void dtAndBdtToStandData();
|
||||
void dtAndBdtToBussData();
|
||||
|
||||
public String dataSync();
|
||||
|
||||
public String orgDataSync();
|
||||
|
||||
+209
@@ -2,10 +2,19 @@ package com.adc.da.slrs.DataSync.service.impl;
|
||||
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.slrs.DataSync.service.IDataSyncService;
|
||||
import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao;
|
||||
import com.adc.da.slrs.sarBussStandAttrInfo.service.ISarBussStandAttrInfoService;
|
||||
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
|
||||
import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
|
||||
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
|
||||
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
|
||||
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
|
||||
import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
|
||||
import com.adc.da.slrs.sarStandAttrInfo.service.ISarStandAttrInfoService;
|
||||
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
|
||||
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.sync.service.SyncUserService;
|
||||
@@ -14,18 +23,22 @@ import com.adc.da.sys.entity.UserOrgEO;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.extern.log4j.Log4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.ibatis.jdbc.Null;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class DataSyncServiceImpl implements IDataSyncService {
|
||||
@@ -37,10 +50,206 @@ public class DataSyncServiceImpl implements IDataSyncService {
|
||||
ITsUserService tsUserService;
|
||||
@Autowired
|
||||
ITsInstitutionService tsInstitutionService;
|
||||
@Autowired
|
||||
private ISarStandardsInfoService iSarStandardsInfoService;
|
||||
@Autowired
|
||||
private ISarBussionessStandService iSarBussionessStandService;
|
||||
|
||||
@Autowired
|
||||
private SarStandAttrInfoDao sarStandAttrInfoEODao;
|
||||
|
||||
@Autowired
|
||||
private ISarStandAttrInfoService iSarStandAttrInfoService;
|
||||
|
||||
@Autowired
|
||||
private SarBussStandAttrInfoDao sarBussStandAttrInfoEODao;
|
||||
|
||||
@Autowired
|
||||
private ISarBussStandAttrInfoService iSarBussStandAttrInfoService;
|
||||
|
||||
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(DataSyncServiceImpl.class);
|
||||
|
||||
|
||||
@Transactional(rollbackFor = {RuntimeException.class,Exception.class})
|
||||
@Async
|
||||
public void dtAndBdtToStandData(){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.select("sar_standards_info.*, r.DTBJH AS dtbzh, r.BDTBZH");
|
||||
wrapper.last("LEFT JOIN sar_stand_attr_info r ON r.STAND_ID = sar_standards_info.ID WHERE sar_standards_info.VALID_FLAG = '0'");
|
||||
List<SarStandardsInfo> standardsInfos = iSarStandardsInfoService.list(wrapper);
|
||||
|
||||
if(!standardsInfos.isEmpty()){
|
||||
|
||||
// 1. 遍历全部数据
|
||||
standardsInfos.forEach(info -> {
|
||||
// 1.1 判断代替标准号
|
||||
if(StringUtils.isNotBlank(info.getDtbzh())){
|
||||
// 1.1.1 找出当前代替标准版所有被代替标准
|
||||
List<String> dtList = Arrays.stream(info.getDtbzh().split(",")).map(String::trim).collect(Collectors.toList());
|
||||
if(!dtList.isEmpty()){
|
||||
for (String s : dtList) {
|
||||
|
||||
if(s.contains("null")){
|
||||
continue;
|
||||
}
|
||||
List<SarStandardsInfo> bdtList = standardsInfos.stream().filter(info1 -> {
|
||||
if(StringUtils.isNotBlank(info1.getDtbzh()) && info1.getDtbzh().contains(s)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
// 1.1.1.1合并被代替标准
|
||||
if(!bdtList.isEmpty()){
|
||||
// 1.1.1.1.1 获取需要更新的代替标准
|
||||
List<SarStandardsInfo> updInfo = standardsInfos.stream().filter(info1 -> {
|
||||
String addStrandNumber = "";
|
||||
if (StringUtils.isNotEmpty(info1.getStandYear())) {
|
||||
addStrandNumber = info1.getStandSort() + " " + info1.getStandNumber() + "-" + info1.getStandYear();
|
||||
} else {
|
||||
addStrandNumber = info1.getStandSort() + " " + info1.getStandNumber();
|
||||
}
|
||||
if(StringUtils.isNotBlank(addStrandNumber) && s.trim().equals(addStrandNumber.trim())){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
|
||||
// 1.1.1.1.2 是否存在需要更新的代替标准
|
||||
if(!updInfo.isEmpty()){
|
||||
// 1.1.1.1.2.1 拼接 被代替标准号
|
||||
String btd = bdtList.stream().map(info1 -> {
|
||||
String addStrandNumber = "";
|
||||
if (StringUtils.isNotEmpty(info1.getStandYear())) {
|
||||
addStrandNumber = info1.getStandSort() + " " + info1.getStandNumber() + "-" + info1.getStandYear();
|
||||
} else {
|
||||
addStrandNumber = info1.getStandSort() + " " + info1.getStandNumber();
|
||||
}
|
||||
return addStrandNumber;
|
||||
}).collect(Collectors.joining(","));
|
||||
System.out.println(btd);
|
||||
|
||||
// 1.1.1.1.2.2 找出已存在的被代替标准 及 去重, 如没找出,则使用最新被代替
|
||||
List<String> notExBtdList = Arrays.stream(btd.split(",")).map(String::trim).collect(Collectors.toList());
|
||||
if(StringUtils.isNotBlank(updInfo.get(0).getBDTBZH())){
|
||||
List<String> exBdtList = Arrays.stream(updInfo.get(0).getBDTBZH().split(",")).map(String::trim).collect(Collectors.toList());
|
||||
if(!exBdtList.isEmpty()){
|
||||
exBdtList = exBdtList.stream().filter(String -> {
|
||||
if(StringUtils.isNotBlank(String) && !String.contains("null")){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
notExBtdList.addAll(exBdtList);
|
||||
notExBtdList = notExBtdList.stream().distinct().collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
String btdStr = notExBtdList.stream().map(String::toString).collect(Collectors.joining(","));
|
||||
|
||||
// 1.1.1.1.2.3 更新
|
||||
UpdateWrapper updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq("STAND_ID",updInfo.get(0).getId());
|
||||
updateWrapper.set("BDTBZH",btdStr);
|
||||
iSarStandAttrInfoService.update(updateWrapper);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = {RuntimeException.class,Exception.class})
|
||||
public void dtAndBdtToBussData(){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.select("sar_bussioness_stand.*, r.DTQBBHBUSS, r.BDTQBBHBUSS");
|
||||
wrapper.last("LEFT JOIN sar_buss_stand_attr_info r ON r.STAND_ID = sar_bussioness_stand.ID WHERE sar_bussioness_stand.VALID_FLAG = '0' and sar_bussioness_stand.id in ('021b0c0c9e774ba9a76abbf923d59f5','jdmygltv37qvyb5s87ea')");
|
||||
List<SarBussionessStand> bussionessStands = iSarBussionessStandService.list(wrapper);
|
||||
|
||||
if(!bussionessStands.isEmpty()){
|
||||
|
||||
|
||||
|
||||
// 1. 遍历全部数据
|
||||
bussionessStands.forEach(info -> {
|
||||
// 1.1 判断代替标准号
|
||||
if(StringUtils.isNotBlank(info.getDTQBBHBUSS())){
|
||||
// 1.1.1 找出当前代替标准版所有被代替标准
|
||||
List<String> dtList = Arrays.stream(info.getDTQBBHBUSS().split(",")).map(String::trim).collect(Collectors.toList());
|
||||
if(!dtList.isEmpty()){
|
||||
for (String s : dtList) {
|
||||
|
||||
if(s.contains("null")){
|
||||
continue;
|
||||
}
|
||||
List<SarBussionessStand> bdtList = bussionessStands.stream().filter(info1 -> {
|
||||
if(StringUtils.isNotBlank(info1.getDTQBBHBUSS()) && info1.getDTQBBHBUSS().contains(s)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
// 1.1.1.1合并被代替标准
|
||||
if(!bdtList.isEmpty()){
|
||||
// 1.1.1.1.1 获取需要更新的代替标准
|
||||
List<SarBussionessStand> updInfo = bussionessStands.stream().filter(info1 -> {
|
||||
if(StringUtils.isNotBlank(info1.getStandCode()) && s.trim().equals(info1.getStandCode().trim())){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
|
||||
// 1.1.1.1.2 是否存在需要更新的代替标准
|
||||
if(!updInfo.isEmpty()){
|
||||
// 1.1.1.1.2.1 拼接 被代替标准号
|
||||
String btd = bdtList.stream().map(info1 -> {
|
||||
String addStrandNumber = "";
|
||||
if (StringUtils.isNotEmpty(info1.getStandYear())) {
|
||||
addStrandNumber = info1.getStandSort() + " " + info1.getStandNumber() + "-" + info1.getStandYear();
|
||||
} else {
|
||||
addStrandNumber = info1.getStandSort() + " " + info1.getStandNumber();
|
||||
}
|
||||
return addStrandNumber;
|
||||
}).collect(Collectors.joining(","));
|
||||
System.out.println(btd);
|
||||
|
||||
// 1.1.1.1.2.2 找出已存在的被代替标准 及 去重, 如没找出,则使用最新被代替
|
||||
List<String> notExBtdList = Arrays.stream(btd.split(",")).map(String::trim).collect(Collectors.toList());
|
||||
if(StringUtils.isNotBlank(updInfo.get(0).getBDTQBBHBUSS())){
|
||||
List<String> exBdtList = Arrays.stream(updInfo.get(0).getBDTQBBHBUSS().split(",")).map(String::trim).collect(Collectors.toList());
|
||||
if(!exBdtList.isEmpty()){
|
||||
exBdtList = exBdtList.stream().filter(String -> {
|
||||
if(StringUtils.isNotBlank(String) && !String.contains("null")){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
notExBtdList.addAll(exBdtList);
|
||||
notExBtdList = notExBtdList.stream().distinct().collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
String btdStr = notExBtdList.stream().map(String::toString).collect(Collectors.joining(","));
|
||||
|
||||
// 1.1.1.1.2.3 更新
|
||||
UpdateWrapper updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq("STAND_ID",updInfo.get(0).getId());
|
||||
updateWrapper.set("BDTQBBHBUSS",btdStr);
|
||||
iSarBussStandAttrInfoService.update(updateWrapper);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = {RuntimeException.class,Exception.class})
|
||||
public String dataSync(){
|
||||
|
||||
+2
@@ -20,6 +20,8 @@ import java.util.List;
|
||||
*/
|
||||
public interface ISarBussionessStandService extends IService<SarBussionessStand> {
|
||||
|
||||
void updateCiteStand(SarBussionessStand sarBussionessStandEO, SarBussionessStand beforeSarStandardsInfo, String upField, String beUpedField);
|
||||
|
||||
SarBussionessStand getStandInfoByReviseStatus(String reviseStatus,String standSort,String taskId);
|
||||
|
||||
void attrInfoDetails (SarBussionessStand row) throws Exception;
|
||||
|
||||
+2
-1
@@ -757,7 +757,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
|
||||
}
|
||||
|
||||
// 新增修改标准过程中,根据代替标准号,修改被代替标准号对应的标准
|
||||
public void updateCiteStand(SarBussionessStand sarBussionessStandEO, SarBussionessStand beforeSarStandardsInfo, String upField, String beUpedField) throws Exception {
|
||||
public void updateCiteStand(SarBussionessStand sarBussionessStandEO, SarBussionessStand beforeSarStandardsInfo, String upField, String beUpedField){
|
||||
// 记录要被代替标准号的数据
|
||||
// SarStandardsInfoEO chageEO= new SarStandardsInfoEO();
|
||||
SarBussionessStand sarStandardsSelectEO = new SarBussionessStand();
|
||||
@@ -1734,6 +1734,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
|
||||
|
||||
@Override
|
||||
public List<SarBussionessStand> queryByList(SarBussionessStandEOPage sarBussionessStandEOPage){
|
||||
sarBussionessStandEOPage.setValidFlag("0");
|
||||
return this.baseMapper.queryByList(sarBussionessStandEOPage);
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -19,6 +19,8 @@ import java.util.Map;
|
||||
*/
|
||||
public interface ISarStandardsInfoService extends IService<SarStandardsInfo> {
|
||||
|
||||
void updateCiteStand(SarStandardsInfo sarStandardsInfoEO, SarStandardsInfo beforeSarStandardsInfo, String upField, String beUpedField);
|
||||
|
||||
// void reverseQueryStand(List<String> ids, String standName,String type);
|
||||
|
||||
List<SarStandardsInfo> getSarStandardsInfoPage(SarStandardsInfoEOPage page) throws Exception;
|
||||
|
||||
+1
-1
@@ -1538,7 +1538,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
}
|
||||
|
||||
// 新增修改标准过程中,根据代替标准号,修改被代替标准号对应的标准
|
||||
public void updateCiteStand(SarStandardsInfo sarStandardsInfoEO, SarStandardsInfo beforeSarStandardsInfo, String upField, String beUpedField) throws Exception {
|
||||
public void updateCiteStand(SarStandardsInfo sarStandardsInfoEO, SarStandardsInfo beforeSarStandardsInfo, String upField, String beUpedField){
|
||||
// 记录要被代替标准号的数据
|
||||
// SarStandardsInfoEO chageEO= new SarStandardsInfoEO();
|
||||
SarStandardsInfo sarStandardsSelectEO = new SarStandardsInfo();
|
||||
|
||||
Reference in New Issue
Block a user