Merge branch 'develop_master' into FOTON
This commit is contained in:
@@ -75,6 +75,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
|
||||
|
||||
//标准征求意见导出
|
||||
addInterceptor.excludePathPatterns("/api/slrs/sar-public-idea-all/tuallStand");
|
||||
// 标准征求意见流程意见导出
|
||||
addInterceptor.excludePathPatterns("/api/slrs/sar-public-idea-all/tuallStandYJCL");
|
||||
//标准法规清单导出
|
||||
addInterceptor.excludePathPatterns("/api/sarLawsAttrDetailedList/sar-laws-attr-detailed-list/ExportLawsById");
|
||||
//标准法规清单车型导出
|
||||
|
||||
+6
-6
@@ -1542,9 +1542,9 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
String textStatusColor = "";
|
||||
if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){
|
||||
String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString();
|
||||
if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){
|
||||
if("废止".equals(textStatus) || "作废".equals(textStatus) ){
|
||||
textStatusColor = "redClass";
|
||||
}else if("参考".equals(textStatus)){
|
||||
}else if("参考".equals(textStatus) || "被代替".equals(textStatus)){
|
||||
textStatusColor = "greenClass";
|
||||
}
|
||||
}
|
||||
@@ -1719,9 +1719,9 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
|
||||
if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){
|
||||
String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString();
|
||||
if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){
|
||||
if("废止".equals(textStatus) || "作废".equals(textStatus) ){
|
||||
textStatusColor = "redClass";
|
||||
}else if("参考".equals(textStatus)){
|
||||
}else if("参考".equals(textStatus) || "被代替".equals(textStatus)){
|
||||
textStatusColor = "greenClass";
|
||||
}
|
||||
}
|
||||
@@ -2059,9 +2059,9 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
String textStatusColor = "";
|
||||
if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){
|
||||
String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString();
|
||||
if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){
|
||||
if("废止".equals(textStatus) || "作废".equals(textStatus) ){
|
||||
textStatusColor = "redClass";
|
||||
}else if("参考".equals(textStatus)){
|
||||
}else if("参考".equals(textStatus) || "被代替".equals(textStatus)){
|
||||
textStatusColor = "greenClass";
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -276,8 +276,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
contentBuilder.append("关联模块--乘用车vpps中文名称:").append(attrInfoMap.get("CYCVPPSCNName")).append(" ");
|
||||
contentBuilder.append("关联模块--卡车VPPS编码:").append(attrInfoMap.get("KCCVPPSBMName")).append(" ");
|
||||
contentBuilder.append("关联模块--卡车vpps中文名称:").append(attrInfoMap.get("KCCVPPSCNName")).append(" ");
|
||||
contentBuilder.append("模块结构单元变型号:").append(attrInfoMap.get("DYBXHName")).append(" ");
|
||||
contentBuilder.append("模块结构单元名称:").append(attrInfoMap.get("DYMCName")).append(" ");
|
||||
// contentBuilder.append("模块结构单元变型号:").append(attrInfoMap.get("DYBXHName")).append(" ");
|
||||
// contentBuilder.append("模块结构单元名称:").append(attrInfoMap.get("DYMCName")).append(" ");
|
||||
|
||||
contentBuilder.append("代替标准号:").append(attrInfoMap.get("DTBJHName")).append(" ");
|
||||
contentBuilder.append("引用标准:").append(attrInfoMap.get("YYBJName")).append(" ");
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -24,6 +25,7 @@ import java.util.Map;
|
||||
*/
|
||||
|
||||
@Component
|
||||
@Order(value = 1)
|
||||
public class InitStandAttrSearchUtil implements ApplicationRunner {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(InitStandAttrSearchUtil.class);
|
||||
|
||||
@@ -126,7 +126,8 @@ public class ScheduledJob {
|
||||
logger.info("========================================================================================================");
|
||||
logger.info("========================================================================================================");
|
||||
//删除不在预警范围的标准
|
||||
int remove = sarStandardWarningDao.autoCancelWarning();
|
||||
// int remove = sarStandardWarningDao.autoCancelWarning();
|
||||
int remove = sarStandardWarningDao.delete(null);
|
||||
log.info("开始修整"+new Date()+"!");
|
||||
try {
|
||||
Thread.sleep(20000);
|
||||
@@ -209,6 +210,11 @@ public class ScheduledJob {
|
||||
|
||||
//清空标准的日期子表
|
||||
iWarningDateService.remove(null);
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 保存进入标准的日期子表 保存标准的实施日期 新车型实施日期 在产车实施日期 多个
|
||||
iWarningDateService.saveBatch(data);
|
||||
//联接标准的日期子表 和分解单表 查询符合预警期限的标准和分解项
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.adc.da.scheduled;
|
||||
|
||||
|
||||
import com.adc.da.search.conf.SchedulerConf;
|
||||
import com.adc.da.search.util.InitStandAttrSearchUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Order(value = 2)
|
||||
public class ScheduledJobRunner implements ApplicationRunner {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ScheduledJobRunner.class);
|
||||
|
||||
@Autowired
|
||||
private SchedulerConf schedulerConf;
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args) throws Exception {
|
||||
schedulerConf.startByIp();
|
||||
}
|
||||
}
|
||||
+16
-67
@@ -110,45 +110,28 @@ public class UpdateStateStandSyncFz implements Runnable {
|
||||
|
||||
List<SarStandardsInfo> invalidStandToGBList = new ArrayList<>();
|
||||
List<SarStandardsInfo> bdtStandToGBList = new ArrayList<>();
|
||||
|
||||
List<SarStandardsInfo> bdtStandToNotGBList = new ArrayList<>();
|
||||
// 当前标准的标准类别是否是GB类 GB集合逻辑
|
||||
getStateStandScheduledList.forEach(info -> {
|
||||
if(StringUtils.isNotBlank(info.getBDTBZH())){
|
||||
List<String> bdtList = Arrays.stream(info.getBDTBZH().split(",")).map(
|
||||
s -> s.replace(" ","").trim()).collect(Collectors.toList());
|
||||
// 查询等于GB的国内标准
|
||||
int bdtStandNumCount = bdtList.size();
|
||||
QueryWrapper wrapperGB = new QueryWrapper();
|
||||
wrapperGB.eq("SAR_STANDARDS_INFO.VALID_FLAG","0");
|
||||
wrapperGB.eq("SAR_STANDARDS_INFO.STAND_SORT","GB");
|
||||
// wrapperGB.eq("SAR_STANDARDS_INFO.STAND_SORT","GB");
|
||||
wrapperGB.in("trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-'," +
|
||||
"SAR_STANDARDS_INFO.STAND_YEAR),' ',''))",bdtList);
|
||||
List<SarStandardsInfo> queryGBList = sarStandardsInfoDao.selectList(wrapperGB);
|
||||
|
||||
if(!queryGBList.isEmpty()){
|
||||
int queryGbCount = queryGBList.size();
|
||||
|
||||
//被代替标准号中所有有效标准的状态都是现行有效状态
|
||||
List<SarStandardsInfo> fzList = queryGBList.stream().filter(info1 ->
|
||||
"vsaga7nwub".equals(info1.getTextStatus()) || "qke0ckro2p".equals(info1.getTextStatus())
|
||||
|| "chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList());
|
||||
|
||||
List<SarStandardsInfo> fzList2 = queryGBList.stream().filter(info1 ->
|
||||
!"vsaga7nwub".equals(info1.getTextStatus()) && !"qke0ckro2p".equals(info1.getTextStatus())
|
||||
&& !"chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList());
|
||||
|
||||
// //被代替标准号中所有有效标准的状态都是被代替状态
|
||||
// List<SarStandardsInfo> bdtStateList = queryGBList.stream().filter(info1 ->
|
||||
// "qke0ckro2p".equals(info1.getTextStatus())).collect(Collectors.toList());
|
||||
//
|
||||
// //被代替标准号中所有有效标准的状态都是废止状态
|
||||
// List<SarStandardsInfo> fzList = queryGBList.stream().filter(info1 ->
|
||||
// "chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList());
|
||||
|
||||
// 满足其上存入更新废止逻辑 如果只有一个被代替标准 优先更新废止状态
|
||||
if(!fzList.isEmpty() && fzList2.isEmpty()){
|
||||
//被代替标准号中所有有效标准的状态都是现行有效状态
|
||||
List<SarStandardsInfo> fzList = queryGBList.stream().filter(info1 ->
|
||||
"vsaga7nwub".equals(info1.getTextStatus()) || "qke0ckro2p".equals(info1.getTextStatus())
|
||||
|| "chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList());
|
||||
// 检查当前标准是否为GB类
|
||||
if(StringUtils.equals(info.getStandSort(),"GB")){
|
||||
if(fzList.size() == bdtStandNumCount){//当所有标准都是现行有效状态时
|
||||
invalidStandToGBList.add(info);
|
||||
}else {
|
||||
// 被代替标准号中的有效标准的标准状态中有一个是发布、即将实施、现行有效、被代替状态的
|
||||
}else{//其中被代替标准号中存在
|
||||
List<SarStandardsInfo> singleList = queryGBList.stream().filter(info1 -> {
|
||||
if("hc99551723c".equals(info1.getTextStatus()) || "hb0iy9z23c".equals(info1.getTextStatus())
|
||||
|| "vsaga7nwub".equals(info1.getTextStatus()) || "qke0ckro2p".equals(info1.getTextStatus())){
|
||||
@@ -156,50 +139,19 @@ public class UpdateStateStandSyncFz implements Runnable {
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 满足其上存入更新被代替逻辑
|
||||
if(!singleList.isEmpty()){
|
||||
bdtStandToGBList.add(info);
|
||||
}
|
||||
}
|
||||
}else{//非GB类
|
||||
if(fzList.size()>0){
|
||||
bdtStandToNotGBList.add(info);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// 当前标准的标准类别是否是GB类 NOT GB集合逻辑
|
||||
List<SarStandardsInfo> bdtStandToNotGBList = getStateStandScheduledList.stream().filter(info -> {
|
||||
if(StringUtils.isNotBlank(info.getBDTBZH())){
|
||||
List<String> bdtList = Arrays.stream(info.getBDTBZH().split(",")).map(
|
||||
s -> s.replace(" ","").trim()).collect(Collectors.toList());
|
||||
|
||||
//发布、即将实施、现行有效、被代替
|
||||
List<String> bdtStateList = new ArrayList<>();
|
||||
// 发布
|
||||
bdtStateList.add("hc99551723c");
|
||||
// 作废
|
||||
bdtStateList.add("hb0iy9z23c");
|
||||
// 即将实施
|
||||
bdtStateList.add("vsaga7nwub");
|
||||
// 被代替
|
||||
bdtStateList.add("qke0ckro2p");
|
||||
|
||||
// 查询不等于GB的国内标准 且 有效的被代替标准
|
||||
QueryWrapper wrapperNotGB = new QueryWrapper();
|
||||
wrapperNotGB.eq("VALID_FLAG","0");
|
||||
wrapperNotGB.ne("STAND_SORT","GB");
|
||||
wrapperNotGB.in("TEXT_STATUS",bdtStateList);
|
||||
wrapperNotGB.in("trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-'," +
|
||||
"SAR_STANDARDS_INFO.STAND_YEAR),' ',''))",bdtList);
|
||||
List<SarStandardsInfo> queryNotGBList = sarStandardsInfoDao.selectList(wrapperNotGB);
|
||||
|
||||
// 被代替标准号中的有效标准的标准状态中有一个是发布、即将实施、现行有效、被代替状态的
|
||||
// 满足其上过滤更新被代替数据
|
||||
return !queryNotGBList.isEmpty();
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(!invalidStandToGBList.isEmpty()){
|
||||
logger.info("=============被代替标准号中所有有效标准的状态都是现行有效、被代替、废止状态 执行============");
|
||||
// 文本状态更为废止状态
|
||||
@@ -217,14 +169,11 @@ public class UpdateStateStandSyncFz implements Runnable {
|
||||
// 文本状态更为被代替
|
||||
execStandDate(bdtStandToNotGBList,"qke0ckro2p");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
logger.info("每天0点1分执行 国内标准文本状态被代替逻辑 标准自动变更废止:"+Thread.currentThread().getName() + " cron=0 1 0 * * ? --- " + new Date()+"---End-01");
|
||||
}catch(Exception e){
|
||||
logger.info(e.getMessage());
|
||||
logger.error(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,14 +15,15 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
||||
import org.springframework.scheduling.support.CronTrigger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.net.Inet4Address;
|
||||
import java.net.InetAddress;
|
||||
import java.net.NetworkInterface;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
/**
|
||||
* 动态定时器
|
||||
* 动态定时器
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@@ -47,7 +48,7 @@ public class SchedulerConf {
|
||||
* 初始化线程池任务调度
|
||||
*/
|
||||
@Autowired
|
||||
public SchedulerConf(){
|
||||
public SchedulerConf() {
|
||||
this.threadPoolTaskScheduler.setPoolSize(50);
|
||||
this.threadPoolTaskScheduler.setThreadNamePrefix("task-thread-");
|
||||
this.threadPoolTaskScheduler.setWaitForTasksToCompleteOnShutdown(true);
|
||||
@@ -57,17 +58,17 @@ public class SchedulerConf {
|
||||
/**
|
||||
* 获取所有数据库里的定时任务
|
||||
*/
|
||||
private void getAllTbTask(){
|
||||
private void getAllTbTask() {
|
||||
//查询所有,并put到tasks
|
||||
SchedulerConf.tasks.clear();
|
||||
List<TbTask> list = iTbTaskService.list();
|
||||
list.forEach((task)-> SchedulerConf.tasks.put(task.getId(),task));
|
||||
list.forEach((task) -> SchedulerConf.tasks.put(task.getId(), task));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据定时任务id,启动定时任务
|
||||
*/
|
||||
public void start(String taskId){
|
||||
public void start(String taskId) {
|
||||
try {
|
||||
//重新获取最新执行任务周期
|
||||
this.getAllTbTask();
|
||||
@@ -76,7 +77,7 @@ public class SchedulerConf {
|
||||
|
||||
//获取并实例化Runnable任务类
|
||||
Class<?> clazz = Class.forName(tbTask.getTaskClass());
|
||||
Runnable runnable = (Runnable)clazz.newInstance();
|
||||
Runnable runnable = (Runnable) clazz.newInstance();
|
||||
|
||||
//Cron表达式
|
||||
CronTrigger cron = new CronTrigger(tbTask.getTaskExp());
|
||||
@@ -84,11 +85,11 @@ public class SchedulerConf {
|
||||
//执行,并put到runTasks
|
||||
SchedulerConf.runTasks.put(taskId, Objects.requireNonNull(this.threadPoolTaskScheduler.schedule(runnable, cron)));
|
||||
|
||||
this.updateTaskStatus(taskId,1);
|
||||
this.updateTaskStatus(taskId, 1);
|
||||
|
||||
log.info("{},任务启动!",taskId);
|
||||
log.info("{},任务启动!", taskId);
|
||||
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
|
||||
log.error("{},任务启动失败...",taskId);
|
||||
log.error("{},任务启动失败...", taskId);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -97,20 +98,73 @@ public class SchedulerConf {
|
||||
/**
|
||||
* 根据定时任务id,停止定时任务
|
||||
*/
|
||||
public void stop(String taskId){
|
||||
public void stop(String taskId) {
|
||||
SchedulerConf.runTasks.get(taskId).cancel(true);
|
||||
|
||||
SchedulerConf.runTasks.remove(taskId);
|
||||
|
||||
this.updateTaskStatus(taskId,0);
|
||||
this.updateTaskStatus(taskId, 0);
|
||||
|
||||
log.info("{},任务停止...",taskId);
|
||||
log.info("{},任务停止...", taskId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ip开启定时任务
|
||||
*/
|
||||
public void startByIp() throws Exception {
|
||||
// InetAddress addr = InetAddress.getLocalHost();
|
||||
// log.info("Local HostAddress: "+addr.getHostAddress());
|
||||
// String hostname = addr.getHostName();
|
||||
// log.info("Local host name: "+hostname);
|
||||
List<String> addr = getIpAddress();
|
||||
//查询
|
||||
List<TbTask> tbTaskList = tbTaskDao.selectList(null);
|
||||
for (TbTask tbTask : tbTaskList) {
|
||||
if (addr == null){
|
||||
log.error("本机地址未获取到!!");
|
||||
break;
|
||||
}
|
||||
String ips = tbTask.getIp();
|
||||
String[] ipArray = ips.split(",");
|
||||
for (String realIp : ipArray) {
|
||||
if (addr.contains(realIp)) {
|
||||
log.info("本机ip地址:" + addr);
|
||||
this.start(tbTask.getId());
|
||||
log.info("执行了:" + tbTask.getTaskDesc());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static List<String> getIpAddress() {
|
||||
try {
|
||||
List<String> ips = new ArrayList<>();
|
||||
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
|
||||
while (allNetInterfaces.hasMoreElements()) {
|
||||
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
|
||||
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
|
||||
while (addresses.hasMoreElements()) {
|
||||
InetAddress ip = (InetAddress) addresses.nextElement();
|
||||
if (ip != null
|
||||
&& ip instanceof Inet4Address
|
||||
&& !ip.isLoopbackAddress() //loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255
|
||||
&& ip.getHostAddress().indexOf(":") == -1) {
|
||||
log.info("本机的IP = " + ip.getHostAddress());
|
||||
ips.add(ip.getHostAddress());
|
||||
}
|
||||
}
|
||||
}
|
||||
return ips;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新数据库动态定时任务状态
|
||||
*/
|
||||
private void updateTaskStatus(String taskId,int status){
|
||||
private void updateTaskStatus(String taskId, int status) {
|
||||
TbTask task = iTbTaskService.getById(taskId);
|
||||
task.setTaskStatus(status);
|
||||
task.setUpdateTime(new Date());
|
||||
|
||||
@@ -1,28 +1,8 @@
|
||||
package com.adc.da.slrs.DataSync;
|
||||
|
||||
import com.adc.da.slrs.DataSync.service.IDataSyncService;
|
||||
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
|
||||
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
|
||||
import com.adc.da.slrs.sarInstitution.service.impl.TsInstitutionServiceImpl;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
|
||||
import com.adc.da.slrs.sarPosition.service.impl.TsPositionServiceImpl;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.slrs.sarUser.service.impl.TsUserServiceImpl;
|
||||
import com.adc.da.sync.service.SyncUserService;
|
||||
import com.adc.da.sys.dao.OrgEODao;
|
||||
import com.adc.da.sys.entity.OrgEO;
|
||||
import com.adc.da.sys.entity.UserOrgEO;
|
||||
import com.adc.da.sys.service.IOrgEOService;
|
||||
import com.adc.da.sys.service.impl.OrgEOServiceImpl;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -32,7 +12,7 @@ import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
|
||||
@RestController
|
||||
@Api(description = "|SarStandPutTime|")
|
||||
@Api(description = "|数据同步及处理逻辑代码|")
|
||||
@RequestMapping("/${restPath}/DataSync")
|
||||
public class DataSyncController {
|
||||
|
||||
|
||||
+4
@@ -2,8 +2,10 @@ package com.adc.da.slrs.sarBussStandMenu.dao;
|
||||
|
||||
import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.validation.constraints.Past;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -33,4 +35,6 @@ public interface SarBussStandMenuDao extends BaseMapper<SarBussStandMenu> {
|
||||
|
||||
int insertSelective (SarBussStandMenu sarStandMenuEO);
|
||||
|
||||
int updateMenuidByMenuid (@Param("oldMenuid") String oldMenuid ,@Param("newMenuid") String newMenuid);
|
||||
|
||||
}
|
||||
|
||||
+6
@@ -4,6 +4,7 @@ import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao;
|
||||
import com.adc.da.slrs.sarResource.dao.TsResourceDao;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
@@ -45,6 +46,9 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
|
||||
@Autowired
|
||||
private TsRoleDao tsRoleDao;
|
||||
|
||||
@Autowired
|
||||
private SarBussStandMenuDao sarBussStandMenuDao;
|
||||
|
||||
public List<TsResource> selectMenuByRole(TsResource sarMenu) {
|
||||
List<TsResource> list = dao.selectMenuByRole(sarMenu);
|
||||
if (list == null) {
|
||||
@@ -389,6 +393,8 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
|
||||
return Result.error("该菜单有子节点,无法删除");
|
||||
}
|
||||
dao.deleteById(ResourceId);
|
||||
//将该id下的信息放到最外层节点上
|
||||
// sarBussStandMenuDao.updateMenuidByMenuid(ResourceId,"3");
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
+66
@@ -9,6 +9,7 @@ import com.adc.da.slrs.sarStandIdea.service.Impl.SarPublicIdeaAllServiceImpl;
|
||||
import com.adc.da.utils.removeHtml.RemoveHtml;
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -211,4 +212,69 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation(value = "导出全部意见-标准意见征求流程-意见处理节点")
|
||||
@PostMapping("/tuallStandYJCL")
|
||||
public void getAllStandYJCL(HttpServletResponse response, @RequestBody Map<String, String> params){
|
||||
try {
|
||||
JSONArray jsonArray = JSON.parseArray(params.get("json"));
|
||||
List<SarPublicIdeaAll> data = sarPublicIdeaAllImpl.getPublicAllIdeaYJCL(jsonArray);
|
||||
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
String textName="流程意见详情";
|
||||
|
||||
Map<String,String> map=new HashMap<>();
|
||||
map.put("1","上报");
|
||||
map.put("2","处理后上报");
|
||||
map.put("3","不上报");
|
||||
String fileName = URLEncoder.encode(textName, "UTF-8").replaceAll("\\+", "%20");
|
||||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
||||
|
||||
List<GetExcelDto> standExcel=new ArrayList<>();
|
||||
int i=0;
|
||||
for (SarPublicIdeaAll sarPublicIdeaAll:data){
|
||||
i++;
|
||||
GetExcelDto getExcelDto = GetExcelDto.builder()
|
||||
.partCode(sarPublicIdeaAll.getPartCode())
|
||||
.oldText(RemoveHtml.getResultsFromHtml(sarPublicIdeaAll.getOldText()))
|
||||
.newText(RemoveHtml.getResultsFromHtml(sarPublicIdeaAll.getNewText()))
|
||||
.reason(sarPublicIdeaAll.getReason())
|
||||
.userName(sarPublicIdeaAll.getUserName())
|
||||
.deptName(sarPublicIdeaAll.getDeptName())
|
||||
.state(map.get(sarPublicIdeaAll.getState()))
|
||||
.cause(sarPublicIdeaAll.getCause())
|
||||
.sourceType(sarPublicIdeaAll.getSourceType())
|
||||
.partName(sarPublicIdeaAll.getChapterName())
|
||||
.num(String.valueOf(i))
|
||||
.build();
|
||||
standExcel.add(getExcelDto);
|
||||
}
|
||||
|
||||
List<List<String>> headList=new ArrayList<List<String>>();
|
||||
headList.add(Lists.newArrayList("序号"));
|
||||
headList.add(Lists.newArrayList("章节编号"));
|
||||
headList.add(Lists.newArrayList("章节名称"));
|
||||
headList.add(Lists.newArrayList("修改意见内容(包括理由或依据)","修改前"));
|
||||
headList.add(Lists.newArrayList("修改意见内容(包括理由或依据)","修改后"));
|
||||
headList.add(Lists.newArrayList("修改意见内容(包括理由或依据)","修改理由"));
|
||||
headList.add(Lists.newArrayList("提出部门"));
|
||||
headList.add(Lists.newArrayList("提出人"));
|
||||
headList.add(Lists.newArrayList("处理意见"));
|
||||
headList.add(Lists.newArrayList("原因"));
|
||||
headList.add(Lists.newArrayList("来源"));
|
||||
EasyExcel.write(response.getOutputStream(), GetExcelDto.class).head(headList).autoCloseStream(Boolean.FALSE).sheet("sheet1")
|
||||
.doWrite(standExcel);
|
||||
|
||||
} catch (Exception e) {
|
||||
response.reset();
|
||||
response.setContentType("application/json");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
try {
|
||||
response.getWriter().println(JSON.toJSONString(Result.error()));
|
||||
} catch (IOException ioException) {
|
||||
ioException.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -5,10 +5,12 @@ import com.adc.da.slrs.sarStandIdea.entity.DelStandDto;
|
||||
import com.adc.da.slrs.sarStandIdea.entity.DetAllStandDto;
|
||||
import com.adc.da.slrs.sarStandIdea.entity.SarPublicIdeaAll;
|
||||
import com.adc.da.slrs.sarStandIdea.entity.SarPublicIdeaAllSUD;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -27,4 +29,5 @@ public interface ISarPublicIdeaAllService extends IService<SarPublicIdeaAll> {
|
||||
String delete(DelStandDto delStandDto);
|
||||
String del(String id);
|
||||
String checkIsShow(DetAllStandDto detAllStandDto);
|
||||
List<SarPublicIdeaAll> getPublicAllIdeaYJCL(JSONArray info);
|
||||
}
|
||||
|
||||
+25
@@ -8,6 +8,9 @@ import com.adc.da.slrs.sarStandIdea.service.ISarPublicIdeaAllService;
|
||||
import com.adc.da.sys.entity.LoginInfoEO;
|
||||
import com.adc.da.util.LoginUserUtil;
|
||||
import com.adc.da.util.UUIDUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -162,4 +165,26 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
|
||||
sarPublicIdeaAllDao.deleteById(id);
|
||||
return "删除成功";
|
||||
}
|
||||
|
||||
public List<SarPublicIdeaAll> getPublicAllIdeaYJCL(JSONArray info) {
|
||||
List<SarPublicIdeaAll> publicList = new ArrayList<>();
|
||||
|
||||
for (Object object : info) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
SarPublicIdeaAll sarPublicIdeaAll = new SarPublicIdeaAll();
|
||||
sarPublicIdeaAll.setPartCode(jsonObject.getString("chapterNumber"));
|
||||
sarPublicIdeaAll.setOldText(jsonObject.getString("oldText"));
|
||||
sarPublicIdeaAll.setNewText(jsonObject.getString("newText"));
|
||||
sarPublicIdeaAll.setReason(jsonObject.getString("reason")); // 修改理由
|
||||
sarPublicIdeaAll.setUserName(jsonObject.getString("responUserName"));
|
||||
sarPublicIdeaAll.setDeptName(jsonObject.getString("department"));
|
||||
sarPublicIdeaAll.setState(jsonObject.getString("state")); // 处理意见
|
||||
sarPublicIdeaAll.setCause(jsonObject.getString("cause")); // 原因
|
||||
sarPublicIdeaAll.setSourceType(jsonObject.getString("sourceType"));
|
||||
sarPublicIdeaAll.setChapterName(jsonObject.getString("chapterName"));
|
||||
|
||||
publicList.add(sarPublicIdeaAll);
|
||||
}
|
||||
return publicList;
|
||||
}
|
||||
}
|
||||
|
||||
+6
-1
@@ -145,5 +145,10 @@ public class SarStandItemsController extends BaseController<SarStandItems> {
|
||||
return Result.success(fileType);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "项目合规评估流程-项目-分解单条款内容查询")
|
||||
@PostMapping("/findTermsConditions")
|
||||
public ResponseMessage findTermsConditions( @RequestParam(name = "idList", required = false) List<String> idList){
|
||||
List<SarStandItemsDto> ItemDto = ServiceImpl.findTermsConditions(idList);
|
||||
return Result.success("200",ItemDto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,4 +82,6 @@ public interface SarStandItemsDao extends BaseMapper<SarStandItems> {
|
||||
List<String> getFileType(@Param("standId") String standId);
|
||||
|
||||
List<String> getFileTypeHG(@Param("standId") String standId);
|
||||
|
||||
List<SarStandItemsDto> findTermsConditions(@Param("idList") List<String> idsList);
|
||||
}
|
||||
|
||||
+16
-1
@@ -291,7 +291,7 @@ public class SarStandItemsServiceImpl extends ServiceImpl<SarStandItemsDao, SarS
|
||||
for (SarStandItems sarStandItems1 : sarStandItems){
|
||||
String srcx = sarStandItems1.getApplyArctic();
|
||||
List<String> srcxList = new ArrayList<>();
|
||||
if (!srcx.contains("[")){
|
||||
if (null != srcx && !srcx.contains("[")){
|
||||
String[] srcxArray = srcx.split(",");
|
||||
for (String srcxString : srcxArray){
|
||||
String ss = dicTypeMap.get(srcxString);
|
||||
@@ -304,6 +304,13 @@ public class SarStandItemsServiceImpl extends ServiceImpl<SarStandItemsDao, SarS
|
||||
sarStandItems1.setApplyArctic(String.join(",",srcxList));
|
||||
}
|
||||
}
|
||||
for (SarStandItems sarStandItems1 : sarStandItems){
|
||||
String srcx = sarStandItems1.getApplyArctic();
|
||||
if (null != srcx && srcx.contains("[")){
|
||||
//这么修改是因为存储的就有问题,数据库存储数据就有问题
|
||||
sarStandItems1.setApplyArctic(srcx.replace("[","").replace("]","").replace("\"",""));
|
||||
}
|
||||
}
|
||||
return sarStandItems;
|
||||
}
|
||||
|
||||
@@ -336,4 +343,12 @@ public class SarStandItemsServiceImpl extends ServiceImpl<SarStandItemsDao, SarS
|
||||
|
||||
return collect;
|
||||
}
|
||||
|
||||
public List<SarStandItemsDto> findTermsConditions(List<String> idsList) {
|
||||
List<SarStandItemsDto> sarStandItemsDtos = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(idsList)) {
|
||||
sarStandItemsDtos = sarStandItemsDao.findTermsConditions(idsList);
|
||||
}
|
||||
return sarStandItemsDtos;
|
||||
}
|
||||
}
|
||||
|
||||
+7
-1
@@ -150,7 +150,13 @@ public class EarlyWarningEOController extends BaseController<EarlyWarningEO> {
|
||||
|
||||
// List<StandWarningEO> exportExcel = earlyWarningEOService.getExportExcel(excelVO);
|
||||
List<WarningExportVO> exportExcel = earlyWarningEOService.getExportExcel(excelVO);
|
||||
|
||||
for (WarningExportVO warningExportVO : exportExcel){
|
||||
String condition = warningExportVO.getTermsConditions();
|
||||
if (condition != null && condition.length() > 32001){
|
||||
condition = condition.substring(0,32000);
|
||||
warningExportVO.setTermsConditions(condition);
|
||||
}
|
||||
}
|
||||
|
||||
// 这里需要设置不关闭流
|
||||
EasyExcel.write(response.getOutputStream(), WarningExportVO.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
|
||||
|
||||
+7
-1
@@ -60,7 +60,7 @@ public class EarlyWarningEO extends BaseEntity {
|
||||
@TableField(exist = false)
|
||||
private String standName;
|
||||
|
||||
@ExcelProperty(value = "发布日期",index = 5)
|
||||
@ExcelProperty(value = "发布日期",index = 6)
|
||||
@ColumnWidth(20)
|
||||
@ApiModelProperty("发布日期")
|
||||
@TableField(exist = false)
|
||||
@@ -98,6 +98,12 @@ public class EarlyWarningEO extends BaseEntity {
|
||||
@TableField(exist = false)
|
||||
private String itemsName;
|
||||
|
||||
@ExcelProperty(value = "条款内容",index = 5)
|
||||
@ColumnWidth(60)
|
||||
@ApiModelProperty("条款内容")
|
||||
@TableField(exist = false)
|
||||
private String termsConditions;
|
||||
|
||||
@ExcelIgnore
|
||||
@TableField("POLICY_ID")
|
||||
private String policyId;
|
||||
|
||||
+4
-4
@@ -11,18 +11,18 @@ public class WarningExportVO extends EarlyWarningEO {
|
||||
|
||||
|
||||
|
||||
@ExcelProperty(value = "实施日期",index = 6)
|
||||
@ExcelProperty(value = "实施日期",index = 7)
|
||||
@ColumnWidth(20)
|
||||
@ApiModelProperty("实施日期")
|
||||
private String SSRQ;
|
||||
|
||||
|
||||
@ExcelProperty(value = "新车型实施日期",index = 7)
|
||||
@ExcelProperty(value = "新车型实施日期",index = 8)
|
||||
@ColumnWidth(20)
|
||||
@ApiModelProperty("新车型实施日期")
|
||||
private String XCXSSRQ;
|
||||
|
||||
@ExcelProperty(value = "在产车实施日期",index = 8)
|
||||
@ExcelProperty(value = "在产车实施日期",index = 9)
|
||||
@ColumnWidth(20)
|
||||
@ApiModelProperty("在产车实施日期")
|
||||
private String ZCCSSRQ;
|
||||
@@ -31,7 +31,7 @@ public class WarningExportVO extends EarlyWarningEO {
|
||||
@ApiModelProperty("标准类别显示")
|
||||
private String standTypeShow;
|
||||
|
||||
@ExcelProperty(value = "适用车型",index = 9)
|
||||
@ExcelProperty(value = "适用车型",index = 10)
|
||||
@ColumnWidth(20)
|
||||
@ApiModelProperty("适用车型展示")
|
||||
private String applyTypeShow;
|
||||
|
||||
+9
-9
@@ -768,15 +768,15 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
|
||||
//@RequiresPermissions("lawss:sarStandardsInfo:list")
|
||||
public ResponseMessage queryInfoByStandNum(SarStandardsInfoEOPage page) throws Exception {
|
||||
if (org.apache.commons.lang.StringUtils.isNotBlank(page.getStandNumber())){
|
||||
String sort = "";
|
||||
if (page.getStandNumber().length()>3) {
|
||||
sort = page.getStandNumber().substring(0, 3);
|
||||
}
|
||||
if ("ECE".equals(sort)) {
|
||||
int length = page.getStandNumber().length();
|
||||
String number = page.getStandNumber().substring(3,length);
|
||||
page.setStandNumber("UN(ECE)" + number);
|
||||
}
|
||||
// String sort = "";
|
||||
// if (page.getStandNumber().length()>3) {
|
||||
// sort = page.getStandNumber().substring(0, 3);
|
||||
// }
|
||||
// if ("ECE".equals(sort)) {
|
||||
// int length = page.getStandNumber().length();
|
||||
// String number = page.getStandNumber().substring(3,length);
|
||||
// page.setStandNumber("UN(ECE)" + number);
|
||||
// }
|
||||
}
|
||||
List<SarStandardsInfo> getList = sarStandardsInfoEOService.selectStandardsByStandnumber(page.getStandNumber(),page.getStandType());
|
||||
SarBussionessStandEOPage sarBussionessStandEOPage = new SarBussionessStandEOPage();
|
||||
|
||||
@@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
|
||||
import com.adc.da.base.web.BaseController;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -54,6 +55,16 @@ public class TbTaskController extends BaseController<TbTask> {
|
||||
return "操作成功";
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ip开启定时任务
|
||||
* http://localhost:10085/tbTask
|
||||
*/
|
||||
@GetMapping("startByIp/{taskId}")
|
||||
public String startByIp() throws Exception{
|
||||
schedulerConf.startByIp();
|
||||
return "操作成功";
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新一个动态定时任务
|
||||
* http://localhost:10085/tbTask/save?taskId=2&taskExp=0/2 * * * * ?&taskClass=cn.huanzi.qch.springboottimer.task.MyRunnable3
|
||||
|
||||
@@ -45,6 +45,9 @@ public class TbTask extends BaseEntity {
|
||||
@ApiModelProperty(value = "定时任务状态,0停用 1启用")
|
||||
private Integer taskStatus;
|
||||
|
||||
@ApiModelProperty(value = "ip地址")
|
||||
private String ip;
|
||||
|
||||
@ApiModelProperty(value = "定时任务的Runnable任务类完整路径")
|
||||
private String taskClass;
|
||||
|
||||
|
||||
@@ -811,4 +811,11 @@
|
||||
<!--SELECT FILE_type from sar_file_split_info WHERE STAND_ID = #{standId} AND VALID_FLAG = '0' GROUP BY FILE_TYPE-->
|
||||
</select>
|
||||
|
||||
<select id="findTermsConditions" resultType="com.adc.da.slrs.sarStandItems.entity.SarStandItemsDto">
|
||||
SELECT ID, TERMS_CONDITIONS from sar_stand_items WHERE ID in
|
||||
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE tb_task
|
||||
ADD COLUMN ip varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'ip地址' AFTER `create_time`;
|
||||
Reference in New Issue
Block a user