Merge remote-tracking branch 'origin/develop_master' into develop_master

This commit is contained in:
2510220824
2022-01-21 08:13:03 +08:00
112 changed files with 2249 additions and 540 deletions
@@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -20,6 +22,12 @@ import java.util.Set;
//@FeignClient(value = "shan6")
public interface workFlowFeignClient {
@RequestMapping(value = "/bat-wkflow/busProcessModel/saveEditFile",method = RequestMethod.GET)
BusProcessModelHis saveEditFile();
@RequestMapping(value = "/bat-wkflow/busProcessModel/processEditFile",method = RequestMethod.GET)
BusProcessModelHis processEditFile(@RequestParam("id") String id);
@RequestMapping(value = "/bat-wkflow/busProcessModel/processModelHisOneUpdStatus",method = RequestMethod.GET)
BusProcessModelHis processModelHisOneUpdStatus(@RequestParam("pid") String pid, @RequestParam("taskId") String taskId);
@@ -16,6 +16,8 @@ import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
@@ -28,6 +30,16 @@ public class workFlowFeignClientImpl {
@Autowired
private IUserEOService userEOService;
public BusProcessModelHis saveEditFile(){
BusProcessModelHis stringWrapper = workFlowFeignClient.saveEditFile();
return stringWrapper;
}
public BusProcessModelHis processEditFile(@RequestParam("id") String id){
BusProcessModelHis stringWrapper = workFlowFeignClient.processEditFile(id);
return stringWrapper;
}
public BusProcessModelHis processModelHisOneUpdStatus(@RequestParam("pid") String pid,@RequestParam("taskId") String taskId){
BusProcessModelHis stringWrapper = workFlowFeignClient.processModelHisOneUpdStatus(pid,taskId);
return stringWrapper;
@@ -187,6 +187,7 @@ public class ProcessTimer {
}
@Scheduled(cron = "0 0 10 * * ? ")//每天十点执行
// @Scheduled(cron = "0 0 0/1 * * ? ")//每天十点执行
// @Scheduled(cron = "*/40 * * * * ? ")//20s
public void everyDayTenOlockScanSAM() {
List<BusProcessNew> busProcessNews=new ArrayList<>();
@@ -1,5 +1,6 @@
package com.adc.da.common;
import com.adc.da.utils.removeHtml.RemoveHtml;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.ss.usermodel.*;
@@ -39,6 +40,7 @@ public class TableToExcel {
sheet.addMergedRegion(new CellRangeAddress(0,1,5,5));
sheet.addMergedRegion(new CellRangeAddress(0,1,6,6));
sheet.addMergedRegion(new CellRangeAddress(0,1,7,7));
sheet.addMergedRegion(new CellRangeAddress(0,1,8,8));
//生成表头行
int j=0;
@@ -75,6 +77,10 @@ public class TableToExcel {
Cell nCell1 = neckRow.createCell(4);
nCell1.setCellValue("修改理由");
}
if (null!=columnMap.get("cause")) {
Cell nCell1 = headRow.createCell(8);
nCell1.setCellValue("原因");
}
//从第三行开始填充数据
@@ -88,6 +94,10 @@ public class TableToExcel {
if (!"commentText".equals(key)) {
try {
Object val = BeanUtils.getProperty(t, key);
val= RemoveHtml.getResultsFromHtml(String.valueOf(val));
if ("null".equals(val)){
val="";
}
if (val instanceof Long) {
dataRow.createCell(v++).setCellValue((Long) val);
} else if (val instanceof Double) {
@@ -11,9 +11,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/${restPath}/lawss/actSarItemsBuss")
@@ -35,4 +33,10 @@ public class ActSarItemsBussEOController extends BaseController<ActSarItemsEO> {
return Result.error("传入数据json不能为空");
}
}
@ApiOperation(value = "手动更新")
@GetMapping("/autoUpdIndex")
public void autoUpdIndex(@RequestParam("pid") String pid,@RequestParam("bussId") String bussId) {
actSarItemsEOService.autoUpdIndex(pid,bussId);
}
}
@@ -66,7 +66,64 @@ public class WorkFlowController {
// @Autowired
// private ExportExcelMapper exportExcelMapper;
@ApiOperation(value = "|File|下载文件")
@GetMapping("/downloadFileForSar")
// @RequiresPermissions("sys:file:downloadFileForSar")
public void downloadFileForSar(String fileId, String oldFileName, HttpServletResponse response, HttpServletRequest request) throws Exception {
BusProcessModelHis modelHisOne = workFlowFeignClient.processEditFile(fileId);
InputStream is = null;
OutputStream os = null;
response.reset();
try {
String fileOldName = fileNameEncoding(oldFileName,request);
response.setHeader("Content-Disposition", "attachment;filename=\""+fileOldName+"\"");
response.setContentType("application/octet-stream");
File file = new File(standEditFilePath+modelHisOne.getEditFilePath());
is = new FileInputStream(file);
os = response.getOutputStream();
org.apache.commons.io.IOUtils.copy(is, os);
os.flush();
} catch (IOException e) {
logger.error(e.getMessage(), e);
} finally {
org.apache.commons.io.IOUtils.closeQuietly(is);
org.apache.commons.io.IOUtils.closeQuietly(os);
}
}
/**
* @Author super_liu
* @Description 根据不同浏览器定义下载文件编码
* Date 2018/10/11 10:40
* @Param [fileName, request]
* @return java.lang.String
**/
public String fileNameEncoding(String fileName, HttpServletRequest request) throws IOException {
String agent = request.getHeader("User-Agent");
if (agent.contains("Firefox")) {
/*BASE64Encoder base64Encoder = new BASE64Encoder();
fileName = "=?utf-8?B?"
+ base64Encoder.encode(fileName.getBytes("utf-8")) + "?=";*/
fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器
} else {
fileName = URLEncoder.encode(fileName, "utf-8");
//谷歌中空格变为+问题
fileName = fileName.replaceAll("\\+","%20");
}
return fileName;
}
@ApiOperation(value = "存储在线编辑文件")
@GetMapping("/saveEditFile")
public BusProcessModelHis saveEditFile(){
return workFlowFeignClient.saveEditFile();
}
@ApiOperation(value = "查询在线编辑流程汇总文件编辑对象")
@GetMapping("/processEditFile")
public BusProcessModelHis processEditFile(@RequestParam("id") String id){
return workFlowFeignClient.processEditFile(id);
}
@ApiOperation(value = "手机获取token")
@PostMapping(value = "/loginMobile")
@@ -641,13 +698,7 @@ public class WorkFlowController {
map.put("comment","不同意");
break;
default:
String commentText="";
map.put("comment",comment+map.get("commentText"));
}
}else if (map.get("commentText")!=null && !"".equals(map.get("commentText"))){
map.put("comment",map.get("commentText").toString());
}
ProcessDetailExport user = JSON.parseObject(JSON.toJSONString(map), ProcessDetailExport.class);
exportDatas.add(user);
@@ -16,7 +16,7 @@ public class ProcessDetailExport {
@Excel(name = "完成时间", orderNum = "4",exportFormat = "yyyy/MM/dd",width = 15)
private Date endTime;
@Excel(name = "流程信息", orderNum = "5",width = 15)
private String comment;
private String commentText;
@Excel(name = "状态", orderNum = "6",width = 15)
private String flag;
}
@@ -29,6 +29,7 @@ import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService;
import com.adc.da.slrs.sysInfo.service.SysInfoEOService;
import com.adc.da.util.UUIDUtils;
import com.adc.da.utils.util.InitStandAttrUtil;
import com.adc.da.utils.util.Utils;
import com.adc.da.workFlow.dao.ActSarItemsEODao;
import com.adc.da.workFlow.entity.BusProcessEvaluationHis;
import com.alibaba.fastjson.JSON;
@@ -44,8 +45,10 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Service("actSarItemsBussEOService")
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
@@ -78,6 +81,49 @@ public class ActSarItemsBussEOService {
@Value("${elas.flag}")
private boolean elasflag;
public void autoUpdIndex(String pid,String bussId){
List<BusProcessEvaluationHis> evaluationHisFilter = workFlowFeignClient.evaluationHisList(pid);
List<BusProcessEvaluationHis> evaluationHis = new ArrayList<>();
Map<String, List<BusProcessEvaluationHis>> listMap = new TreeMap<>();
// 按 相同数据分组
listMap = evaluationHisFilter.stream().collect(
Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo())));
List<QualityEvaluation> evaluations = new ArrayList<>();
if(!listMap.isEmpty()){
SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
listMap.forEach((key, value) -> {
if(!value.isEmpty()){
evaluationHis.add(value.get(0));
}
});
String finalBussId = bussId;
Date date = new Date();
evaluationHis.forEach(busProcessEvaluationHis -> {
List<JSONObject> valueArr = JSONArray.parseArray(busProcessEvaluationHis.getMesg(),JSONObject.class);
if(!valueArr.isEmpty()){
valueArr.forEach(object -> {
QualityEvaluation evaluation = new QualityEvaluation();
evaluation.setId(UUIDUtils.randomUUID20());
evaluation.setLawId(finalBussId);
evaluation.setUserId(object.getString("userId"));
evaluation.setScore(object.getString("score"));
evaluation.setReason(object.getString("reason"));
evaluation.setEvaluationIndex(object.getString("code"));
evaluation.setProcessNode(object.getString("processNode"));
evaluation.setEvaluationType(object.getString("indexType"));
evaluation.setCreateTime(date);
evaluation.setModifyTime(date);
evaluations.add(evaluation);
});
}
});
qualityEvaluationService.saveBatch(evaluations);
}
}
/***
* @Description: 国内外标准流程入库"
* @Date: 2020/12/7 13:48
@@ -161,7 +207,7 @@ public class ActSarItemsBussEOService {
iSarBussionessStandService.attrInfoDetails(query);
Map<String, Object> attrInfoMap = query.getAttrInfoMap();
if(attInfoMap!=null && !attInfoMap.isEmpty()){
updateStandFileFieldData(attInfoMap,attrInfoMap);
// updateStandFileFieldData(attInfoMap,attrInfoMap);
resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue);
sarBussionessStand.setSarStandAttrEOStr(resData);
}
@@ -192,7 +238,7 @@ public class ActSarItemsBussEOService {
iSarBussionessStandService.attrInfoDetails(query);
Map<String, Object> attrInfoMap = query.getAttrInfoMap();
if(attInfoMap!=null && !attInfoMap.isEmpty()){
updateStandFileFieldData(attInfoMap,attrInfoMap);
// updateStandFileFieldData(attInfoMap,attrInfoMap);
resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue);
sarBussionessStand.setSarStandAttrEOStr(resData);
}
@@ -238,10 +284,24 @@ public class ActSarItemsBussEOService {
// saveCompStatusInfo(sarStandardsInfoEO,breakVal,allItems,prcNum);
// }
List<BusProcessEvaluationHis> evaluationHis = workFlowFeignClient.evaluationHisList(pid);
List<BusProcessEvaluationHis> evaluationHisFilter = workFlowFeignClient.evaluationHisList(pid);
List<BusProcessEvaluationHis> evaluationHis = new ArrayList<>();
Map<String, List<BusProcessEvaluationHis>> listMap = new TreeMap<>();
// 按 相同数据分组
listMap = evaluationHisFilter.stream().collect(
Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo())));
List<QualityEvaluation> evaluations = new ArrayList<>();
if(!evaluationHis.isEmpty()){
if(!listMap.isEmpty()){
SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
listMap.forEach((key, value) -> {
if(!value.isEmpty()){
evaluationHis.add(value.get(0));
}
});
String finalBussId = bussId;
Date date = new Date();
evaluationHis.forEach(busProcessEvaluationHis -> {
List<JSONObject> valueArr = JSONArray.parseArray(busProcessEvaluationHis.getMesg(),JSONObject.class);
if(!valueArr.isEmpty()){
@@ -255,15 +315,15 @@ public class ActSarItemsBussEOService {
evaluation.setEvaluationIndex(object.getString("code"));
evaluation.setProcessNode(object.getString("processNode"));
evaluation.setEvaluationType(object.getString("indexType"));
evaluation.setCreateTime(new Date());
evaluation.setModifyTime(new Date());
evaluation.setCreateTime(date);
evaluation.setModifyTime(date);
evaluations.add(evaluation);
});
}
});
qualityEvaluationService.saveBatch(evaluations);
}
qualityEvaluationService.saveBatch(evaluations);
}
@@ -408,6 +468,8 @@ public class ActSarItemsBussEOService {
case "standName": sarBussionessStand.setStandName(valueStr); break;
case "standEnName": sarBussionessStand.setStandEnName(valueStr); break;
case "textStatusBuss": sarBussionessStand.setTextStatusBuss(valueStr); break;
case "reviseStatus": sarBussionessStand.setReviseStatus(valueStr); break;
case "standSn": sarBussionessStand.setStandSn(valueStr); break;
case "issueTime":
if (StringUtils.isNotBlank(valueStr)) {
sarBussionessStand.setIssueTime(tTo(valueStr));
@@ -31,6 +31,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
*/
addInterceptor.excludePathPatterns("/api/login");
addInterceptor.excludePathPatterns("/v2/api-docs");
addInterceptor.excludePathPatterns("/favicon.ico");
addInterceptor.excludePathPatterns("/webjars/**");
addInterceptor.excludePathPatterns("/swagger-resources/**");
addInterceptor.excludePathPatterns("/swagger-ui.html");
@@ -71,6 +72,12 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/lawss/activiti/processModelHisOne");
addInterceptor.excludePathPatterns("/api/lawss/activiti/downloadFileForSar");
addInterceptor.excludePathPatterns("/api/lawss/activiti/saveEditFile");
addInterceptor.excludePathPatterns("/api/lawss/activiti/processEditFile");
addInterceptor.excludePathPatterns("/api/lawss/activiti/processModelHisOneCount");
addInterceptor.excludePathPatterns("/api/att/attFile/getSyncPdfFileInfo");
@@ -100,9 +107,11 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/lawss/activiti/getImg");
addInterceptor.excludePathPatterns("/api/lawss/activiti/loginMobile");
// //测试接口使用
// addInterceptor.excludePathPatterns("/api/**");
addInterceptor.excludePathPatterns("/api/**");
@@ -3,10 +3,9 @@
# 数据库配置
#=============================================
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test2?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
#spring.datasource.url = jdbc:mysql://10.96.10.54/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.url = jdbc:mysql://10.100.5.111:3306/foton_slrs?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = tempuser
spring.datasource.password = Fting&8g35g#geg2
@@ -16,10 +15,10 @@ spring.application.name=FotonLAWSSystem
application.code=20200101
application.center=1
#==============================================
#Eruept
#Eureka
eureka.client.allow-redirects=true
eureka.client.register-with-eureka=true
eureka.client.service-url.defaultZone=http://62.234.136.153:8761/eureka/
eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/
#==============================================
# 邮箱配置1
@@ -35,22 +34,18 @@ spring.mail.properties.smtp.starttls.required=false
spring.mail.properties.mail.smtp.ssl.enable=false
spring.mail.port=587
# ==============================================
# rabbitMQ
# ==============================================
#spring.rabbitmq.host=10.2.186.93
#spring.rabbitmq.port=5672
#spring.rabbitmq.username=ca
#spring.rabbitmq.password=cs986432
spring.rabbitmq.host=62.234.118.181
#==============================================
# MQ配置
#==============================================
spring.rabbitmq.host=10.100.5.119
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin
spring.rabbitmq.password=foton@admin
spring.rabbitmq.listener.simple.acknowledge-mode= manual
# 生产者 默认关闭 发版 需改为 true
spring.rabbitmq.listener.direct.auto-startup=false
spring.rabbitmq.listener.direct.auto-startup=true
# 消费者 默认关闭 发版 需改为 true
spring.rabbitmq.listener.simple.auto-startup=false
spring.rabbitmq.listener.simple.auto-startup=true
#消费失败消息干掉
spring.rabbitmq.listener.simple.default-requeue-rejected= true
#5秒
@@ -58,22 +53,23 @@ spring.rabbitmq.listener.simple.retry.initial-interval= 5000
spring.rabbitmq.listener.simple.retry.enabled= true
#最大重试5次
spring.rabbitmq.listener.simple.retry.max-attempts= 5
# ==============================================
# 文档存储路径指向
# ==============================================
file.path=/usr/laws/file/
file.split.path=/usr/laws/file/
file.path=/data/slrs/file
file.split.path=/data/slrs/file/splitImage/
# 云端OCR识别集成配置参数
#OCR请求识别URL地址
OCR.handleFileUrl = http://61.136.1.103:8091/WebService.asmx/FileConversion
# OCR回调接口地址 配置客户本地的IP及端口号
OCR.callBackUrl = http://62.234.136.153:8033/api/ocr/OCRRestful/OcrHandleResult
OCR.callBackUrl = https://srms.foton.com.cn/api/ocr/OCRRestful/OcrHandleResult
OCR.userId =dayuzhou1234
OCR.authCode =123456
OCR.publicKey =EC4KKA6ZDTCPAOCRBC5M
# OCR文件存储路径
OCR.ocrPath=/opt/foton-slrs/front/dist/file/
OCR.ocrPath=/data/slrs/ocrResultFile/
# OCR文件请求下载或在线预览时URL
OCR.ocrDownPath=http://62.234.136.153:8038/file/
OCR.ocrDownPath=/data/slrs/ocrResultFile/
OCR.times=20
OCR.convertType=BOTH
@@ -9,12 +9,12 @@ spring.profiles.active=dev
server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,text/html,text/plain,text/css,application/x-javascript
# 端口号设置
server.port=9999
server.port=4202
#主服务session超时
server.servlet.session.timeout =600
#tomcat /resource/local/version-manager 创建tomcat指定临时目录
server.tomcat.basedir=/resource/local/version-manager
server.tomcat.basedir=/data/slrs/temp
# http-only
server.session.cookie.http-only=true
@@ -30,20 +30,14 @@ logging.level.org.springframework=info
# 请求前缀
restPath=/api
#server.servlet.context-path=/api
#是否将自己注册到Eureka Server上,默认为true
eureka.client.register-with-eureka=true
##是否从Eureka Server上获取注册信息,默认为true
eureka.client.fetch-registry=true
eureka.instance.prefer-ip-address=true
#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/
#eureka.client.service-url.defaultZone=http://127.0.0.1:8671/eureka/
#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/
eureka.client.service-url.defaultZone=http://62.234.136.153:8761/eureka/
#eureka.client.service-url.defaultZone=http://10.96.10.171:8761/eureka/
eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/
# 请求连接的超时时间 默认的时间为 1 秒
ribbon.ConnectTimeout=500000
@@ -137,11 +131,11 @@ verifyCodeMode=1
# 文件上传管控及配置
# =============================================================================
# file模块上传文件的服务器地址
file.path=D:/uploadfile/bus
file.path=/data/slrs/file
stand.edit.file.path = /usr/laws/file/
stand.edit.file.path = /data/slrs/file/
# onlyoffice 预览地址
file.downloadUrl=http://10.100.5.116:1080/file/
file.downloadUrl=https://srms.foton.com.cn/file/
#上传文件白名单-以,分隔
upload.file.white.lists = doc,docx,xls,xlsx,pdf,PDF,png,jpg,pptx,ppt
@@ -150,14 +144,13 @@ upload.file.white.lists = doc,docx,xls,xlsx,pdf,PDF,png,jpg,pptx,ppt
# elasticsearch 配置
# =============================================================================
elasticsearch.clustername=elasticsearch
elasticsearch.ip=172.17.0.1
elasticsearch.ip=10.100.5.122
elasticsearch.port=9300
elasticsearch.poolSize=5
elas.flag=true
# 文档转换TCP通讯地址
convert.host=127.0.0.1
#convert.host=0.0.0.0
# =============================================================================
# scheduled 配置
@@ -2,6 +2,7 @@ package com.adc.da.search.service.impl;
import com.adc.da.search.entity.*;
import com.adc.da.search.service.SearchCenterService;
import com.adc.da.search.util.DateUtil;
import com.adc.da.search.util.InitStandAttrSearchUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -421,7 +422,12 @@ public class SearchCenterServiceImpl implements SearchCenterService {
}
}
if(!fields.isEmpty()){
if(fields.size() > 1){
if(field.equals("SSRQ") || field.equals("XCXSSRQ") || field.equals("ZCCSSRQ")){
List<String> fieldRQList = DateUtil.getAllDate(fields.get(0),fields.get(1));
fields.addAll(fieldRQList);
}
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
fields.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.wildcardQuery(keyWordField, "*"+s+"*"));
@@ -805,13 +811,13 @@ public class SearchCenterServiceImpl implements SearchCenterService {
// 循环统计各种类型数据
String[] seniortype;
if("stand".equals(searchInfoEO.getSelectIndex())) {
String[] seniortypeStand = {"standSort", "numbershow","statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName","NYLXCLASS"};
String[] seniortypeStand = {"standSort", "numbershow","statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName","NYLXCLASS","NYLX"};
seniortype = seniortypeStand.clone();
} else if("laws".equals(searchInfoEO.getSelectIndex())){
String[] seniortypeLaws = {"lawsSyqy","lawsSycx","CYSDLAWS"};
seniortype = seniortypeLaws.clone();
} else if ("bussstand".equals(searchInfoEO.getSelectIndex())) {
String[] seniortypeBuss = {"standSort", "numbershow", "statecode","CLLX","textStatus","textStatusName","NYLXCLASS"};
String[] seniortypeBuss = {"standSort", "numbershow", "statecode","CLLX","textStatus","textStatusName","NYLXCLASS","SYCXCLASS"};
seniortype = seniortypeBuss.clone();
} else {
String[] seniortypeMsg = {"module"};
@@ -1158,18 +1164,21 @@ public class SearchCenterServiceImpl implements SearchCenterService {
List<Map<String, Object>> result = new ArrayList<>();
SearchRequestBuilder searchRequestBuilder;
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
BoolQueryBuilder boolSelectValue = new BoolQueryBuilder();
// 记录搜索记录到数据库中
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
boolSelectValue.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
"title"
).minimumShouldMatch("100%").field("title",10f));
boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
boolSelectValue.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
"textContent"
).minimumShouldMatch("100%").field("title",10f));
boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
boolSelectValue.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
"textItems"
).minimumShouldMatch("100%").field("title",10f));
boolQueryBuilder.should(QueryBuilders.wildcardQuery("title.keyword","*"+searchInfoEO.getSelectValue()+"*"));
boolSelectValue.should(QueryBuilders.wildcardQuery("title.keyword","*"+searchInfoEO.getSelectValue()+"*"));
boolQueryBuilder.must(boolSelectValue);
}
//在结果中检索
if (StringUtils.isNotEmpty(searchInfoEO.getResultKeyword())) {
@@ -1177,14 +1186,21 @@ public class SearchCenterServiceImpl implements SearchCenterService {
boolQueryBuilder.must(multiQuery);
}
if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){
boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getNYLXCLASS(),
"textContent"
).minimumShouldMatch("100%").field("title",10f));
}else if(StringUtils.isNotBlank(searchInfoEO.getCLLX())){
boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getCLLX(),
"textContent"
).minimumShouldMatch("100%").field("title",10f));
BoolQueryBuilder queryBuilder = new BoolQueryBuilder();
if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS()) || StringUtils.isNotBlank(searchInfoEO.getCLLX())){
if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){
queryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getNYLXCLASS(),
"textContent"
).minimumShouldMatch("100%").field("title",10f));
}
if(StringUtils.isNotBlank(searchInfoEO.getCLLX())){
queryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getCLLX(),
"textContent"
).minimumShouldMatch("100%").field("title",10f));
}
boolQueryBuilder.must(queryBuilder);
}
HighlightBuilder hiBuilder=new HighlightBuilder();
@@ -179,8 +179,10 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLBName")).append(" ");
}else {
contentBuilder.append("归口管理部门:").append(attrInfoMap.get("GKDWName")).append(" ");
contentBuilder.append("起草单位:").append(attrInfoMap.get("FBJGName")).append(" ");
contentBuilder.append("我司署名人:").append(attrInfoMap.get("WSSMRName")).append(" ");
// contentBuilder.append("起草单位:").append(attrInfoMap.get("FBJGName")).append(" ");
contentBuilder.append("起草单位:").append(attrInfoMap.get("QCDW")).append(" ");
// contentBuilder.append("我司署名人:").append(attrInfoMap.get("WSSMRName")).append(" ");
contentBuilder.append("我司署名人:").append(attrInfoMap.get("WSSMR")).append(" ");
contentBuilder.append("我司参与深度:").append(attrInfoMap.get("CYSDName")).append(" ");
contentBuilder.append("我司参与制标排名:").append(attrInfoMap.get("CYZBPMName")).append(" ");
}
@@ -188,8 +190,10 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
contentBuilder.append("能源类型:").append(attrInfoMap.get("NYLXName")).append(" ");
contentBuilder.append("适用产品线:").append(attrInfoMap.get("SYCPXName")).append(" ");
contentBuilder.append("适用认证:").append(attrInfoMap.get("SYRZName")).append(" ");
contentBuilder.append("责任部门:").append(attrInfoMap.get("ZRBMName")).append(" ");
contentBuilder.append("责任工程师:").append(attrInfoMap.get("ZRGCSName")).append(" ");
// contentBuilder.append("责任部门:").append(attrInfoMap.get("ZRBMName")).append(" ");
contentBuilder.append("责任部门:").append(attrInfoMap.get("ZRBM")).append(" ");
// contentBuilder.append("责任工程师:").append(attrInfoMap.get("ZRGCSName")).append(" ");
contentBuilder.append("责任工程师:").append(attrInfoMap.get("ZRGCS")).append(" ");
contentBuilder.append("关联模块--乘用车VPPS编码:").append(attrInfoMap.get("CYCVPPSBMName")).append(" ");
contentBuilder.append("关联模块--乘用车vpps中文名称:").append(attrInfoMap.get("CYCVPPSCNName")).append(" ");
contentBuilder.append("关联模块--卡车VPPS编码:").append(attrInfoMap.get("KCCVPPSBMName")).append(" ");
@@ -309,15 +313,17 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
StringBuilder contentBuilder = new StringBuilder();
contentBuilder.append("企标类别:").append(attrInfoMap.get("standSort")).append(" ");
contentBuilder.append("标准年份:").append(attrInfoMap.get("standYear")).append(" ");
contentBuilder.append("企标名称:").append(attrInfoMap.get("standName")).append(" ");
contentBuilder.append("企标名称:").append(attrInfoMap.get("stand_name")).append(" ");
contentBuilder.append("企标英文名称:").append(attrInfoMap.get("stand_en_name")).append(" ");
contentBuilder.append("文本状态:").append(attrInfoMap.get("textStatusBussName")).append(" ");
contentBuilder.append("企标实施日期:").append(attrInfoMap.get("putTime")).append(" ");
contentBuilder.append("企标发布日期:").append(attrInfoMap.get("issueTime")).append(" ");
contentBuilder.append("废止日期:").append(attrInfoMap.get("FZRQBUSSName")).append(" ");
contentBuilder.append("复审日期:").append(attrInfoMap.get("FSRQBUSSName")).append(" ");
contentBuilder.append("起草部门:").append(attrInfoMap.get("QCDWName")).append(" ");
contentBuilder.append("起草:").append(attrInfoMap.get("QCRBUSSName")).append(" ");
// contentBuilder.append("起草部门:").append(attrInfoMap.get("QCDWName")).append(" ");
contentBuilder.append("起草部门:").append(attrInfoMap.get("QCDW")).append(" ");
// contentBuilder.append("起草人:").append(attrInfoMap.get("QCRBUSSName")).append(" ");
contentBuilder.append("起草人:").append(attrInfoMap.get("QCRBUSS")).append(" ");
contentBuilder.append("文件上传人员:").append(attrInfoMap.get("WJSCRYBUSSName")).append(" ");
contentBuilder.append("适用车型:").append(attrInfoMap.get("SYCXCLASSName")).append(" ");
contentBuilder.append("能源类型:").append(attrInfoMap.get("NYLXCLASSName")).append(" ");
@@ -0,0 +1,124 @@
package com.adc.da.search.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Description: 判断是否为日期格式
* @Author: super_liu
* date: 2020/12/31 11:25
*/
public class DateUtil {
/**
* 取起始时间到结束时间 所有的时间
* @param startTime
* @param endTime
* @return
*/
public static List<String> getAllDate(String startTime, String endTime) {
List<String> list = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(sdf.parse(startTime));
for (long d = cal.getTimeInMillis(); d <= sdf.parse(endTime).getTime(); d = get_D_Plaus_1(cal)) {
list.add(sdf.format(d));
}
} catch (ParseException e) {
System.out.println("date change err");
}
return list;
}
public static long get_D_Plaus_1(Calendar c) {
c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1);
return c.getTimeInMillis();
}
/***
* @Description: 判断多个日期是否都符合日期格式
* @Author: super_liu
* @Date: 2020/12/31 11:31
* @Param: [str]
* @Return: boolean
*/
public static boolean isValidDate(String str) throws Exception{
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String[] strArr = str.split(",");
for (String dateStr : strArr) {
try {
simpleDateFormat.setLenient(false);
simpleDateFormat.parse(dateStr);
} catch (Exception e){
return false;
}
}
return true;
}
/**
* utc 时间格式转换正常格式 2018-08-07T03:41:59Z
* @param utcTime 时间
* @return
*/
public static String formatStrUTCToDateStr(String utcTime) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.SIMPLIFIED_CHINESE);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
TimeZone utcZone = TimeZone.getTimeZone("UTC");
sf.setTimeZone(utcZone);
Date date = null;
String dateTime = "";
try {
date = sf.parse(utcTime);
dateTime = sdf.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return dateTime;
}
/**
* 将日期对象转换为指定的日期字符串
*
* @param date 传入的日期对象
* @param format 格式
* @return 日期字符串
* @author 赵肖云
*/
public static String dateToString(Date date, String format) {
String string = "";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
if (date != null) {
string = simpleDateFormat.format(date);
}
return string;
}
/**
* 将日期字符串转换为一个日期对象
*
* @param datestr 日期字符串
* @param format 格式
* @return Date
* @author 赵肖云
*/
public static Date stingToDate(String datestr, String format) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.parse(datestr);
}
public static void main(String[] args) {
String utcTime = "2021-04-15T01:43:54.296Z";
String time = formatStrUTCToDateStr("2021-04-15T01:43:54.296Z");
System.out.println("utcTime 转换前:" + utcTime);
System.out.println("utcTime 转换后 time " + time);
}
}
@@ -133,7 +133,7 @@ public class SendBussMQService {
saveMap.put("stand_year",infoEO.getStandYear());
saveMap.put("standNumber",infoEO.getStandCode());
saveMap.put("stand_code",infoEO.getStandCode());
saveMap = dealNumberMsg(saveMap,infoEO,getCodeName);
saveMap = dealNumberMsg(saveMap,infoEO,infoEO.getStandSort());
saveMap.put("nameshow",infoEO.getStandName());
saveMap.put("stand_name",infoEO.getStandName());
saveMap.put("standEnName",infoEO.getStandEnName());
@@ -107,7 +107,7 @@ public class SendStandMQService {
}
saveMap.put("standNumber",infoEO.getStandNumber());
saveMap.put("stand_number",infoEO.getStandNumber());
saveMap = dealNumberMsg(saveMap,infoEO,getCodeName);
saveMap = dealNumberMsg(saveMap,infoEO,infoEO.getStandSort());
saveMap.put("standYear",infoEO.getStandYear());
saveMap.put("stand_year",infoEO.getStandYear());
saveMap.put("nameshow",infoEO.getStandName());
@@ -211,6 +211,24 @@ public class SendStandMQService {
context = context.replace(",,", ",");
saveMap.put("content", context);
}
// 如果出现提示查询报错,而且提示 查询内容无法转换为 日期格式的 情况,原因可能是没有把日期转换为字符串,可以考虑放开下面的代码(目前,域内没有报错,但是,本地有问题)
// //部分字段没有转为汉字,在此处转为汉字
// if(StringUtils.isNotBlank(String.valueOf(saveMap.get("XCXSSRQName")))) {
// saveMap.put("XCXSSRQName"," " + String.valueOf(saveMap.get("XCXSSRQName")));
// }
// if(StringUtils.isNotBlank(String.valueOf(saveMap.get("ZCCSSRQName")))) {
// saveMap.put("ZCCSSRQName"," " + String.valueOf(saveMap.get("ZCCSSRQName")));
// }
// if(StringUtils.isNotBlank(String.valueOf(saveMap.get("SSRQName")))) {
// saveMap.put("SSRQName"," " + String.valueOf(saveMap.get("SSRQName")));
// }
// if(StringUtils.isNotBlank(String.valueOf(saveMap.get("issueTime")))) {
// saveMap.put("issueTime"," " + String.valueOf(saveMap.get("issueTime")));
// }
// if(StringUtils.isNotBlank(String.valueOf(saveMap.get("ZCCSSRQ")))) {
// saveMap.put("ZCCSSRQ"," " + String.valueOf(saveMap.get("ZCCSSRQ")));
// }
if("add".equals(addOrUpdate)){
sarStandardsInfoService.insertIntoIndexForMap(saveMap);
} else {
@@ -14,11 +14,14 @@ import com.adc.da.slrs.sarStandWarning.entity.WarningDate;
import com.adc.da.slrs.sarStandWarning.service.IWarningDateService;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService;
import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -71,7 +74,7 @@ public class ScheduledJob {
private IWarningDateService iWarningDateService;// 预警日期
// @PostConstruct //程序启动时执行一次
@Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
// @Scheduled(cron="*/5 * * * * ?")
// @Scheduled(fixedDelay = 120000)
@Async
@@ -109,13 +112,17 @@ public class ScheduledJob {
// };
//
// runnable.run();
logger.info("=========================================================================================================");
logger.info("=========================================================================================================");
logger.info("开始执行预警!!!");
logger.info("========================================================================================================");
logger.info("========================================================================================================");
//删除不在预警范围的标准
int remove = sarStandardWarningDao.autoCancelWarning();
logger.info("==========================================================================");
logger.info("取消"+remove+"条预警");
logger.info("开始执行预警!!!");
logger.info("==========================================================================");
//预警期限(当前日期至3个月后)
TermDTO term = new TermDTO();
//查询符合预警期限的标准 多个
@@ -126,7 +133,7 @@ public class ScheduledJob {
for (String s : item.getSSRQ().split(",")) {
String pattern = "^\\d{4}-\\d{1,2}-\\d{1,2}";
String pattern = term.getTermStr();
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(s);
@@ -171,7 +178,8 @@ public class ScheduledJob {
@Autowired
private ISarUpdLogService sarUpdLogEOService;
/**
@@ -181,9 +189,17 @@ public class ScheduledJob {
// @Scheduled(cron="*/5 * * * * ?")
@Async
public void TextStatusSchedulingTasks() {
QueryWrapper<SarStandardsInfo> wrapper = new QueryWrapper<>();
Logger logger = LoggerFactory.getLogger(ScheduledJob.class);
TermDTO data = new TermDTO(LocalDate.now(), LocalDate.now());
logger.info("=========================================================================================================");
logger.info("=========================================================================================================");
logger.info("开始更新文本状态!!!");
logger.info("=========================================================================================================");
logger.info("=========================================================================================================");
// QueryWrapper<SarStandardsInfo> wrapper = new QueryWrapper<>();
// TermDTO data = new TermDTO(LocalDate.now(), LocalDate.now());
/**
*实施日期是当前系统时间的标准文本状态变为'现行有效'
@@ -213,12 +229,19 @@ public class ScheduledJob {
*/
QueryWrapper<SarStandAttrInfo> columnForDTBJH = new QueryWrapper<>();
columnForDTBJH.select("DTBJH");
columnForDTBJH.select("DTBJH")
.eq("VALID_FLAG","0")
.ne("DTBJH","");
//查询代替标准字段得到一个 被代替了的标准的id的键值对列表
List<Map<String, Object>> replaceStandIdMaps = sarStandAttrInfoDao.selectMaps(columnForDTBJH);
List<Map<String, Object>> replaceStandIdMaps = sarStandAttrInfoDao.selectMaps(columnForDTBJH).subList(0,100);
HashMap<String, Integer> replaceIdCountMap = new HashMap<>();
// 格式为 T/CSAE 175-2021
Pattern pattern = Pattern.compile("^\\S*\\s\\S*[\\u2014\\u002d\\s]\\d{4}$");
/**
* 国内外表准号格式不统一
*/
// Pattern pattern = Pattern.compile("^\\S*\\s\\S*[\\u2014\\u002d\\s]\\d{4}$");
replaceStandIdMaps.forEach(item->{
if (item!=null){
//此标准代替的标准的标准号的数组
@@ -229,30 +252,30 @@ public class ScheduledJob {
String[] DTBJHArray = DTBJHStr.split(",");
for (String DTBJH : DTBJHArray) {
if (!pattern.matcher(DTBJH).matches()){
continue;
}
// if (!pattern.matcher(DTBJH).matches()){
// continue;
// }
String[] split = DTBJH.split("[\\u2014\\u002d\\s]");//以空格或'-'或'—'分割
String sort = split[0];
String number = split[1];
String year = split[2];
QueryWrapper<SarStandardsInfo> infoWrapper = new QueryWrapper<>();
infoWrapper.select("ID")
.eq("STAND_SORT", sort)
.eq("STAND_NUMBER", number)
.eq("STAND_YEAR", year);
// String[] split = DTBJH.split("[\\u2014\\u002d\\s]");//以空格或'-'或'—'分割
// String sort = split[0];
// String number = split[1];
// String year = split[2];
//
// QueryWrapper<SarStandardsInfo> infoWrapper = new QueryWrapper<>();
// infoWrapper.select("ID")
// .eq("STAND_SORT", sort)
// .eq("STAND_NUMBER", number)
// .eq("STAND_YEAR", year);
List<Map<String, Object>> idMaps = sarStandardsInfoDao.selectMaps(infoWrapper);
if (idMaps.size() > 0) {
String standId = idMaps.get(0).get("ID").toString();
List<String> standId = sarStandardsInfoDao.selectIdFormDTBZH(DTBJH);
if (standId.size() > 0) {
//如果代替标准id已存在则映射为2不存在则添加并映射为1
if (replaceIdCountMap.containsKey(standId)) {
replaceIdCountMap.replace(standId, 2);
replaceIdCountMap.replace(standId.get(0), 2);
} else {
replaceIdCountMap.put(standId, 1);
replaceIdCountMap.put(standId.get(0), 1);
}
}
@@ -269,27 +292,64 @@ public class ScheduledJob {
//一个被代替标准号时,文本状态更新为废止状态,两个及以上时更新为被代替状态
SarStandardsInfo sarStandardsInfo = new SarStandardsInfo();
for (String key : replaceIdCountMap.keySet()) {
SarStandardsInfo sarStandardsInfo = new SarStandardsInfo();
String reasonMsg="";
switch (replaceIdCountMap.get(key)){
case 1 :
sarStandardsInfo.setTextStatus("chblaarg77");//废止状态
//废止状态
sarStandardsInfo.setTextStatus("chblaarg77");
sarStandardsInfo.setId(key);
reasonMsg="该标准被一个标准代替";
break;
default :
sarStandardsInfo.setTextStatus("qke0ckro2p");//被代替状态
case 2 :
//被代替状态
sarStandardsInfo.setTextStatus("qke0ckro2p");
sarStandardsInfo.setId(key);
reasonMsg="该标准被一个以上标准代替";
break;
default:
break;
}
try {
//更新日志
SarStandardsInfo beforeSarStandardsInfoEO = sarStandardsInfoDao.selectById(sarStandardsInfo.getId());
sarStandardsInfo.setStandType(beforeSarStandardsInfoEO.getStandType());
sarStandardsInfo.setStandSort(beforeSarStandardsInfoEO.getStandSort());
sarStandardsInfo.setStandNumber(beforeSarStandardsInfoEO.getStandNumber());
sarStandardsInfo.setStandYear(beforeSarStandardsInfoEO.getStandYear());
sarStandardsInfo.setStandName(beforeSarStandardsInfoEO.getStandName());
saveUpdateLog(sarStandardsInfo,beforeSarStandardsInfoEO,reasonMsg);
//更新日志
sarStandardsInfoDao.updateById(sarStandardsInfo);
}catch (Exception e){
System.out.println("代替标准状态更新:id为"+key+"文本状态更新失败");
}
}
logger.info("==================================更新文本状态结束======================================");
logger.info("==================================更新文本状态结束======================================");
}
public void saveUpdateLog(SarStandardsInfo sarStandardsInfoEO, SarStandardsInfo beforeSarStandardsInfo,String reasonMsg) throws Exception {
Map<String, Object> newMap = new HashMap<>();
Map<String, Object> oldMap = new HashMap<>();
String attrStr = sarStandardsInfoEO.getSarStandAttrEOStr();
if (StringUtils.isNotBlank(attrStr)) {
newMap = JSONObject.fromObject(attrStr);
}
newMap.put("textStatus",sarStandardsInfoEO.getTextStatus());
oldMap.put("textStatus",beforeSarStandardsInfo.getTextStatus());
// 增加关联事件
String number = sarStandardsInfoEO.getStandSort() + " " + sarStandardsInfoEO.getStandNumber();
if (StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear())) {
number += "-" + sarStandardsInfoEO.getStandYear();
}
String content ="==定时任务执行修改==:" + number + "" + sarStandardsInfoEO.getStandName() + ""+reasonMsg;
sarUpdLogEOService.createUpdateLog(sarStandardsInfoEO.getStandType() + "_STAND", sarStandardsInfoEO.getId(), oldMap, newMap, content);
}
}
@@ -4,6 +4,7 @@ package com.adc.da.scheduled.controller;
import com.adc.da.scheduled.ScheduledJob;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -16,8 +17,15 @@ public class Controller {
@Autowired
ScheduledJob scheduledJob;
@PostMapping
public void run(){
@PutMapping("/warning")
public void warning(){
scheduledJob.warningSchedulingTasks();
}
@PutMapping("textStatus")
public void textStatus(){
scheduledJob.TextStatusSchedulingTasks();
}
}
@@ -37,8 +37,8 @@ public class TermDTO {
public TermDTO() {
//系统当前日期
LocalDate starDate = LocalDate.now();
//系统当前日期3个月后
LocalDate endDate = LocalDate.now().plusMonths(3);
//系统当前日期36个月后
LocalDate endDate = LocalDate.now().plusMonths(36);
convertToStr(starDate,endDate);
}
@@ -0,0 +1,116 @@
package com.adc.da.slrs.customWorkGroup.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroupQueryPage;
import com.adc.da.slrs.customWorkGroup.service.IWorkGroupService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.codec.language.Nysiis;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroup;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author zhaokaiyao
* @since 2022-01-18
*/
@RestController
@Api(description = "|WorkGroup|")
@RequestMapping("/${restPath}/workGroup/work-group")
public class WorkGroupController extends BaseController<WorkGroup> {
@Autowired
IWorkGroupService iWorkGroupService;
@ApiModelProperty("新增工作组")
@PostMapping
public ResponseMessage addWorkGroup(WorkGroup workGroup) {
ResponseMessage<Object> result = Result.success();
if (isDistinct(workGroup.getWorkGroup(),null)){
if (iWorkGroupService.add(workGroup)){
result=Result.success("200","新增成功");
}else {
result=Result.error("201","新增失败");
}
}else {
result=Result.error("202","组名已存在");
}
return result;
}
@ApiModelProperty("批量删除工作组")
@DeleteMapping
public ResponseMessage deleteWorkGroup(String id){
boolean delete = iWorkGroupService.delete(id);
return Result.success(delete);
}
@ApiModelProperty("根据组长民或者组名查询工作组,参数为空时查询全部")
@GetMapping
public ResponseMessage<IPage<WorkGroup>> getWorkGroupLists(WorkGroupQueryPage queryPage){
IPage<WorkGroup> workGroup = iWorkGroupService.getWorkGroup(queryPage);
return Result.success(workGroup);
}
@ApiModelProperty("修改工作组")
@PutMapping
public ResponseMessage updateWorkGroup(WorkGroup workGroup){
ResponseMessage<Object> result = Result.success();
if (isDistinct(workGroup.getWorkGroup(),workGroup.getId())){
if (iWorkGroupService.update(workGroup)){
result=Result.success("200", "修改成功");
}else {
result=Result.error("201", "修改失败");
}
}else {
result=Result.error("202", "组名已存在");
}
return result;
}
/**
* 判断提交的工作组名称是否重复
* @param groupName 条件
* @param id 排除id
* @returntrue 没有重复 false 有重复
*/
private boolean isDistinct(String groupName,String id){
QueryWrapper<WorkGroup> ew = new QueryWrapper<>();
ew.eq("work_group_name",groupName);
if (id!=null){
ew.ne("id",id);
}
List<WorkGroup> list = iWorkGroupService.list(ew);
return list.isEmpty();
}
}
@@ -0,0 +1,30 @@
package com.adc.da.slrs.customWorkGroup.dao;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroup;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroupQueryPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author zhaokaiyao
* @since 2022-01-18
*/
public interface WorkGroupDao extends BaseMapper<WorkGroup> {
public IPage<WorkGroup> getWorkGroup( @Param("page")IPage<WorkGroup> page,
@Param(Constants.WRAPPER) Wrapper<WorkGroupQueryPage> queryWrapper,
@Param("queryCondition")WorkGroupQueryPage queryCondition);
public List<String> getUserName(String userId);
}
@@ -0,0 +1,46 @@
package com.adc.da.slrs.customWorkGroup.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author zhaokaiyao
* @since 2022-01-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="WorkGroup对象", description="")
public class WorkGroup extends BaseEntity {
private static final long serialVersionUID = 1L;
@TableId
private String id;
@TableField("work_group_name")
private String workGroup;
@TableField(exist = false)
private String workLeader;
@TableField("work_leader_id")
private String workLeaderId;
@TableField(exist = false)
private String workPeople;
@TableField("work_people_id")
private String workPeopleId;
}
@@ -0,0 +1,32 @@
package com.adc.da.slrs.customWorkGroup.entity;
import lombok.Data;
import java.util.Optional;
/**
* @author 22501
*/
@Data
public class WorkGroupQueryPage {
private Integer page;
private Integer pageSize;
private String leaderName;
private String workGroupName;
public int getPage() {
return Optional.ofNullable(this.page)
.orElse(1);
}
public int getPageSize() {
return Optional.ofNullable(this.pageSize)
.orElse(20);
}
}
@@ -0,0 +1,49 @@
package com.adc.da.slrs.customWorkGroup.service;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroup;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroupQueryPage;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author zhaokaiyao
* @since 2022-01-18
*/
public interface IWorkGroupService extends IService<WorkGroup> {
/**
* 新增
* @param workGroup
* @return
*/
public boolean add(WorkGroup workGroup);
/**
* 删除
* @param workGroupId
* @return
*/
public boolean delete(String workGroupId);
/**
* 修改
* @param queryPage
* @return
*/
public IPage<WorkGroup> getWorkGroup(WorkGroupQueryPage queryPage);
/**
* 更新
* @param workGroup
* @return
*/
public boolean update(WorkGroup workGroup);
}
@@ -0,0 +1,74 @@
package com.adc.da.slrs.customWorkGroup.service.impl;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroup;
import com.adc.da.slrs.customWorkGroup.dao.WorkGroupDao;
import com.adc.da.slrs.customWorkGroup.entity.WorkGroupQueryPage;
import com.adc.da.slrs.customWorkGroup.service.IWorkGroupService;
import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* <p>
* 服务实现类
* </p>
*
* @author zhaokaiyao
* @since 2022-01-18
*/
@Service
public class WorkGroupServiceImpl extends ServiceImpl<WorkGroupDao, WorkGroup> implements IWorkGroupService {
@Autowired
WorkGroupDao workGroupDao;
@Override
public boolean add(WorkGroup workGroup) {
workGroup.setId(UUIDUtils.randomUUID20());
return this.save(workGroup);
}
@Override
public boolean delete(String workGroupId) {
List<String> idList = Arrays.asList(workGroupId.split(","));
return this.removeByIds(idList);
}
@Override
public IPage<WorkGroup> getWorkGroup(WorkGroupQueryPage queryPage) {
QueryWrapper<WorkGroupQueryPage> wrapper = new QueryWrapper<>();
if (queryPage.getWorkGroupName()!=null && !"".equals(queryPage.getWorkGroupName())){
wrapper.eq("work_group_name",queryPage.getWorkGroupName());
}
//可以通过组长名称模糊查询
IPage<WorkGroup> workGroupList = workGroupDao.getWorkGroup(new Page<>(queryPage.getPage(), queryPage.getPageSize()), wrapper,queryPage);
//需要把组长的id和组员的id转换为其名称
for (WorkGroup record : workGroupList.getRecords()) {
record.setWorkLeader( String.join(",",workGroupDao.getUserName(record.getWorkLeaderId())) );
record.setWorkPeople( String.join(",",workGroupDao.getUserName(record.getWorkPeopleId())));
}
return workGroupList;
}
@Override
public boolean update(WorkGroup workGroup) {
return this.updateById(workGroup);
}
}
@@ -94,6 +94,10 @@ public class EsRevisePlan extends BasePage {
//企标类别
private String standType;
// 标准编号
private String standNum;
@ApiModelProperty(value = "企标类别")
private String esMatingRelations;
private String esStandRelations;
@@ -118,5 +122,7 @@ public class EsRevisePlan extends BasePage {
@TableField(exist = false)
private List<String> planStatusList;
@ApiModelProperty(value = "立项单")
@TableField("LXD")
private String lxd;
}
@@ -70,6 +70,20 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
@Autowired
private IDicTypeEOService dicTypeEOService;
/**
* 根据计划库制定状态查询企标编号
*
* @param
* @return
*/
@ApiOperation(value = "|SarBussionessStandEO|根据计划库制定状态查询企标编号")
@GetMapping("/getStandInfoByReviseStatus")
//@RequiresPermissions("lawss:sarStandardsInfo:get")
public ResponseMessage<SarBussionessStand> getStandInfoByReviseStatus(String reviseStatus) {
SarBussionessStand result = sarBussionessStandEOService.getStandInfoByReviseStatus(reviseStatus);
return Result.success(result);
}
@ApiOperation(value = "|SarBussionessStandEO|删除")
@PostMapping("deleteSarBussionessStand")
//401问题2021-03-31暂时注释掉 liuhuiwen
@@ -232,7 +246,7 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
public ResponseMessage<PageInfo<SarBussionessStand>> getSarBussionStandPage(SarBussionessStandEOPage page) throws Exception {
if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
String advanceStr = SarAdvanceSearchUtil.createSql(searchList,"SAR_BUSS_STAND_ATTR_INFO");
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList,"SAR_BUSS_STAND_ATTR_INFO");
if (StringUtils.isNotBlank(advanceStr)) {
page.setAdvanceSearchStr(advanceStr);
} else {
@@ -281,5 +295,33 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
}
/**
* 自定义分页查询列表 清单
* @param page 标准信息
* @return
*/
@ApiOperation(value = "|SarBussionessStandEO|清单分页查询列表")
@GetMapping("/getSarBussionStandPageQd")
public ResponseMessage<PageInfo<SarBussionessStand>> getSarBussionStandPageQd(SarBussionessStandEOPage page) throws Exception {
if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList,"SAR_BUSS_STAND_ATTR_INFO");
if (StringUtils.isNotBlank(advanceStr)) {
page.setAdvanceSearchStr(advanceStr);
} else {
page.setAdvanceSearchStr(null);
}
}
if(page.getUserId() == null || page.getUserId().equals("")){
page.setUserId(LoginUserUtil.getUserId());
}
if (null != page.getNowOrderBy()) {
nowOrderFunc(page);
}
List<SarBussionessStand> rows = sarBussionessStandEOService.getSarBussionStandPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
}
@@ -22,6 +22,8 @@ import java.util.List;
@Repository
public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
SarBussionessStand getStandInfoByReviseStatus(String reviseStatus);
SarBussionessStand selectByPrimaryKey(String standId);
List<SarBussionessStand> selectStandardsByStandNumber(SarBussionessStand sarBussionessStand);
@@ -111,8 +111,20 @@ public class SarBussionessStand extends BaseEntity {
@TableField("TEXT_STATUS_BUSS")
private String textStatusBuss;
@ApiModelProperty(value = "计划库制定状态 0 默认 1 制定 2修订")
@TableField("REVISE_STATUS")
private String reviseStatus;
@ApiModelProperty(value = "标准顺序号")
@TableField("STAND_SN")
private String standSn;
// 非表字段
@TableField(exist = false)
private String newStandSn;
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private String firstPutTime;
@@ -141,6 +153,9 @@ public class SarBussionessStand extends BaseEntity {
@TableField(exist = false)
private String menuParentId;
@TableField(exist = false)
private String textStatusBussShow;
@TableField(exist = false)
private String standStatusShow; // 标准状态下拉框 --单选
@@ -18,6 +18,8 @@ import java.util.List;
*/
public interface ISarBussionessStandService extends IService<SarBussionessStand> {
SarBussionessStand getStandInfoByReviseStatus(String reviseStatus);
void attrInfoDetails (SarBussionessStand row) throws Exception;
ResponseMessage<SarBussionessStand> deleteSarBussionessStand(SarBussionessStandEOPage page) throws Exception;
@@ -39,5 +41,7 @@ public interface ISarBussionessStandService extends IService<SarBussionessStand>
List<SarBussionessStand> queryByList(SarBussionessStandEOPage sarBussionessStandEOPage);
List<SarBussionessStand> getSarBussionStandPage(SarBussionessStandEOPage page) throws Exception;
List<SarBussionessStand> getSarBussionStandPageQd(SarBussionessStandEOPage page) throws Exception;
}
@@ -145,6 +145,11 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
@Autowired
private StandLawsSearchService standLawsSearchService;
@Override
public SarBussionessStand getStandInfoByReviseStatus(String reviseStatus){
return sarBussionessStandEODao.getStandInfoByReviseStatus(reviseStatus);
}
public ResponseMessage<SarBussionessStand> deleteSarBussionessStand(SarBussionessStandEOPage page) throws Exception {
SarBussionessStand sarStandardsInfoEO = new SarBussionessStand();
sarStandardsInfoEO.setValidFlag(1);
@@ -282,7 +287,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
if (null != page.getNowOrderBy()) {
nowOrderFunc(page);
}
List<SarBussionessStand> getList = sarBussionessStandEODao.getSarBussionessStand(page);
attrInfoShowExport(getList);
return getList;
@@ -468,15 +473,18 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
if (StringUtils.isNotBlank(attrStr)) {
newMap = JSONObject.fromObject(attrStr);
}
newMap = changeMap(sarStandardsInfoEO,newMap);
oldMap = changeMap(beforeSarStandardsInfo,oldMap);
String sortName = sysInfoEOService.getDicNamesByCodes(sarStandardsInfoEO.getStandSort());
String number = sortName + " " + sarStandardsInfoEO.getStandCode();
if (StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear())) {
number += "-" + sarStandardsInfoEO.getStandYear();
if(newMap != null && oldMap != null) {
newMap = changeMap(sarStandardsInfoEO,newMap);
oldMap = changeMap(beforeSarStandardsInfo,oldMap);
String sortName = sysInfoEOService.getDicNamesByCodes(sarStandardsInfoEO.getStandSort());
String number = sortName + " " + sarStandardsInfoEO.getStandCode();
if (StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear())) {
number += "-" + sarStandardsInfoEO.getStandYear();
}
String content = number + "" + sarStandardsInfoEO.getStandName() + "";
sarUpdLogEOService.createUpdateLog(SarTypeEnum.BUSINESS.getValue(),sarStandardsInfoEO.getId(),oldMap,newMap,content);
}
String content = number + "" + sarStandardsInfoEO.getStandName() + "";
sarUpdLogEOService.createUpdateLog(SarTypeEnum.BUSINESS.getValue(),sarStandardsInfoEO.getId(),oldMap,newMap,content);
}
public Map<String,Object> changeMap (SarBussionessStand sarStandardsInfoEO,Map<String,Object> map) {
@@ -825,7 +833,13 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
value = entry.getValue().toString();
List<String> valArr = Arrays.asList(value.split(","));
value = dicTypeEODao.getDicNamesByCodes(valArr);
entry.setValue(value);
Optional.ofNullable(value)
.ifPresent(val->{
entry.setValue(val);
});
}
}
}
@@ -905,6 +919,35 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
return sarlist;
}
@Override
public List<SarBussionessStand> getSarBussionStandPageQd(SarBussionessStandEOPage page) throws Exception {
//查询当前登录人角色拥有权限的菜单
if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){
QueryWrapper<TsResource> qw = new QueryWrapper<>();
qw.eq("ID",page.getMenuId());
qw.isNull("PARENT_ID");
List<TsResource> children = iTsResourceService.list(qw);
if(children.isEmpty() && !page.getMenuId().equals("nomenu")){
List<String> getMenuIdList = tsUserService.getResourceUserId(page.getUserId());
if (getMenuIdList != null && !getMenuIdList.isEmpty()) {
page.setMenuRoleList(getMenuIdList);
} else {
page.setMenuRoleList(null);
}
List<String> ids = iTsResourceService.getChildMenuList(page.getMenuId());
if (ids != null && !ids.isEmpty()) {
page.setMenuAllChildrenIdList(ids);
}
}
}
Integer rowCount = this.baseMapper.getBussionessStandInfoCount(page);
page.getPager().setRowCount(rowCount);
List<SarBussionessStand> sarlist = this.baseMapper.getBussionessStandInfoPage(page);
attrInfo(sarlist);
return sarlist;
}
/***
* @Description: 处理属性表数据
* @Param: [sarlist]
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -77,10 +78,12 @@ public class QualityEvaluation extends BaseEntity {
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
@@ -135,6 +135,9 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
.eq("`index`.value_type","number");
Page<QualityEvaluation> page = new Page<>(1, 1000);
/**
* 查询得到 每个流程节点的质量评分 和 动态评分值 (已经计算了打分权重,之后汇总计算流程节点权重)
*/
List<QualityEvaluation> list = qualityEvaluationDao.getHistory(page, queryWrapper).getRecords();
// return list.stream()
// .collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType,
@@ -152,11 +155,11 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
/**
* 同一节点为多人评价时,需要取多人评价的平均分用以计算最终得分。
* 各环节评分权重分别设置为30%、40%、30%,
* 即:标准编写质量最终得分=征求意见会签人评价平均分*30%+技术委员会专家评价平均分*40%+标准法规工程师标准法规部主管领导评价平均分*30%
* 即:标准编写质量最终得分=征求意见会签人评价平均分*30%+技术委员会专家评价平均分*40%+标准法规工程师 "和" 标准法规部主管领导评价平均分*30%(标准法规工程师 * 15% + 标准法规部主管领导评价平均分 *15% )
*/
result.putAll(list.stream()
.collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType,
Collectors.averagingDouble(item ->{
Collectors.summingDouble(item ->{
Double score;
String value;
@@ -173,10 +176,10 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
score=Double.valueOf(item.getScore()) * 0.4;
break;
case "标准法规工程师复审":
score=Double.valueOf(item.getScore()) * 0.3;
score=Double.valueOf(item.getScore()) * 0.15;
break;
case "标准法规部部长审核":
score=Double.valueOf(item.getScore()) * 0.3;
score=Double.valueOf(item.getScore()) * 0.15;
break;
default: score=Double.valueOf(item.getScore());
@@ -80,6 +80,12 @@ public class TsInstitutionController extends BaseController<TsInstitution> {
return Result.success();
}
@ApiOperation("根据部门ID获取部门下所有用户")
@GetMapping("/getInstitutionIdToDept")
public List<TsInstitution> getInstitutionIdToDept(String institutionIds,String userName){
return tsInstitutionService.getInstitutionIdToDept(institutionIds,userName);
}
@ApiOperation("获得下一级的部门和人员")
@GetMapping("/getNext")
public List<TsInstitution> getNext(String institutionId,String userName){
@@ -29,6 +29,8 @@ public interface TsInstitutionDao extends BaseMapper<TsInstitution> {
*/
List<TsInstitution> selectNextUser(@Param("institutionId") String institutionId,@Param("userName") String userName);
List<TsInstitution> selectNextUsers(@Param("institutionIds") List<String> institutionIds,@Param("userName") String userName);
List<TsInstitution> selectNextUserByIds(@Param("ids") List<String> ids);
@@ -37,6 +37,8 @@ public interface ITsInstitutionService extends IService<TsInstitution> {
*/
public List<TsInstitution> getNext(String institutionId,String userName);
public List<TsInstitution> getInstitutionIdToDept(String institutionIds,String userName);
public List<TsInstitution> getNextById(String ids);
/**
@@ -200,6 +200,13 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
batchInsert(tsInstitutions);
}
@Override
public List<TsInstitution> getInstitutionIdToDept(String institutionIds,String userName){
List<String> strings=new ArrayList<>(Arrays.asList(institutionIds.split(",")));
List<TsInstitution> tsUsers=tsInstitutionDao.selectNextUsers(strings,userName);
return tsUsers;
}
/**
* 通过部门id获得这个部门下的下一级部门
* @return
@@ -163,7 +163,7 @@ public class SarLawsDetailedListController extends BaseController<SarLawsDetaile
}
@ApiOperation(value = "标准插入已存在的清单")
@ApiOperation(value = "当在编辑标准的国家地区的时候,自动添加到国家地区清单中,并且把标准的是否纳入认证清单改为\"\"")
@PostMapping("/standardToLaws")
public ResponseMessage standardToLaws(String countryArea,TimeDto timeDto){
sarLawsDetailedListService.standardToLaws(countryArea,timeDto);
@@ -12,9 +12,12 @@ import com.adc.da.slrs.sarLawsDetailedList.entity.DetailedUpDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.TimeDto;
import com.adc.da.slrs.sarLawsDetailedList.service.ISarLawsDetailedListService;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
import com.adc.da.slrs.sarStandardsInfo.service.impl.SarStandardsInfoServiceImpl;
import com.adc.da.slrs.sarUser.entity.UpDTO;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.standardSplit.service.SarStandardsInfoEOService;
import com.adc.da.sys.service.IDicTypeEOService;
import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -46,6 +49,9 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
@Autowired
SarStandardsInfoDao sarStandardsInfoDao;
@Autowired
ISarStandardsInfoService sarStandardsInfoService;
@Autowired
public SarLawsDetailedListDao sarLawsDetailedListDao;
@Autowired
@@ -63,8 +69,28 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
public String del(List<String> idList) {
QueryWrapper<SarLawsAttrDetailedList> wrapper = new QueryWrapper<>();
for (String id : idList) {
//把老的弄出来
QueryWrapper<SarLawsAttrDetailedList> wrapper2 = new QueryWrapper<>();
wrapper2.eq("detailed_list_id",id);
List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists=sarLawsAttrDetailedListDao.selectList(wrapper2);
List<String> list1=new ArrayList<>();
if (sarLawsAttrDetailedLists.size()>0){
sarLawsAttrDetailedLists.forEach(sarLawsAttrDetailedList -> {list1.add(sarLawsAttrDetailedList.getStandId());});
}
wrapper.eq("detailed_list_id", id);
sarLawsAttrDetailedListDao.delete(wrapper);
// -- eeee
//移除之后 需要判定一下 还有没有其他地方引用
QueryWrapper<SarLawsAttrDetailedList> wrapper1 = new QueryWrapper<>();
wrapper1.in("stand_id",list1);
List<SarLawsAttrDetailedList> res=sarLawsAttrDetailedListDao.selectList(wrapper);
res.forEach(sarLawsAttrDetailedList -> {
list1.remove(sarLawsAttrDetailedList.getStandId());
});
if (null!=list1 && list1.size()>0){
sarStandardsInfoDao.updateISRELATEACCESSById("2", list1);
}
}
sarLawsDetailedListDao.deleteBatchIds(idList);
return "删除成功";
@@ -292,6 +318,16 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
timeDto = null;
}
service.insertDetailedList(sarLawsDetailedList.getId(), timeDto);
if (null!=timeDto) {
List<SarStandardsInfo> sarStandardsInfos=new ArrayList<>();
timeDto.forEach(timeDto1 -> {
SarStandardsInfo sarStandardsInfo=new SarStandardsInfo();
sarStandardsInfo.setId(timeDto1.getStandId());
sarStandardsInfo.setIsRelateAccess("1");
sarStandardsInfos.add(sarStandardsInfo);
});
sarStandardsInfoService.updateBatchById(sarStandardsInfos);
}
} catch (Exception e) {
e.printStackTrace();
@@ -318,53 +354,55 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
wrapper.eq("sort_key", sortKey);
Page<SarLawsDetailedList> pageRes = new Page<>(page, pageSize);
IPage<SarLawsDetailedList> userIPage = sarLawsDetailedListDao.selectPage(pageRes, wrapper);
if ("1".equals(sortKey)) {
Map<String, Object> map = iDicTypeEOService.getDicTypeListCode();
List<SarLawsDetailedList> list = userIPage.getRecords();
List<Map<String, String>> arr = (List<Map<String, String>>) map.get("COUNTRY");
for (SarLawsDetailedList list1 : list) {
if (StringUtils.isNotBlank(list1.getCountryArea()) && list1.getCountryArea().contains(",")) {
String[] split = list1.getCountryArea().split(",");
StringBuilder builder = new StringBuilder();
for (String s : split) {
if ( userIPage.getRecords().size()>0){
if ("1".equals(sortKey)) {
Map<String, Object> map = iDicTypeEOService.getDicTypeListCode();
List<SarLawsDetailedList> list = userIPage.getRecords();
List<Map<String, String>> arr = (List<Map<String, String>>) map.get("COUNTRY");
for (SarLawsDetailedList list1 : list) {
if (StringUtils.isNotBlank(list1.getCountryArea()) && list1.getCountryArea().contains(",")) {
String[] split = list1.getCountryArea().split(",");
StringBuilder builder = new StringBuilder();
for (String s : split) {
for (Map<String, String> map1 : arr) {
if (map1.get("value").equals(s)) {
s = map1.get("value");
builder.append(s + ",");
break;
}
}
}
String completedString = "";
if (builder.length() > 0) {
completedString = builder.delete(builder.length() - 1, builder.length()).toString();
}
list1.setCountryArea(completedString);
} else {
for (Map<String, String> map1 : arr) {
if (map1.get("value").equals(s)) {
s = map1.get("value");
builder.append(s + ",");
if (map1.get("value").equals(list1.getCountryArea())) {
list1.setCountryArea(map1.get("value"));
break;
}
}
}
String completedString = "";
if (builder.length() > 0) {
completedString = builder.delete(builder.length() - 1, builder.length()).toString();
}
list1.setCountryArea(completedString);
} else {
for (Map<String, String> map1 : arr) {
if (map1.get("value").equals(list1.getCountryArea())) {
list1.setCountryArea(map1.get("value"));
break;
}
}
}
userIPage.setRecords(list);
}
userIPage.setRecords(list);
List<String> names = new ArrayList<>();
userIPage.getRecords().forEach(sarLawsDetailedList -> {
names.add(sarLawsDetailedList.getUpdatePeople());
});
List<UpDTO> upDTOS = iTsUserService.selectNameById(names, "0");
Map<String, String> stringMap = new HashMap<>();
upDTOS.forEach(upDTO -> {
stringMap.put(upDTO.getId(), upDTO.getValue());
});
userIPage.getRecords().forEach(sarLawsDetailedList -> {
if (null != stringMap.get(sarLawsDetailedList.getUpdatePeople())) {
sarLawsDetailedList.setUpdatePeople(stringMap.get(sarLawsDetailedList.getUpdatePeople()));
}
});
}
List<String> names = new ArrayList<>();
userIPage.getRecords().forEach(sarLawsDetailedList -> {
names.add(sarLawsDetailedList.getUpdatePeople());
});
List<UpDTO> upDTOS = iTsUserService.selectNameById(names, "0");
Map<String, String> stringMap = new HashMap<>();
upDTOS.forEach(upDTO -> {
stringMap.put(upDTO.getId(), upDTO.getValue());
});
userIPage.getRecords().forEach(sarLawsDetailedList -> {
if (null != stringMap.get(sarLawsDetailedList.getUpdatePeople())) {
sarLawsDetailedList.setUpdatePeople(stringMap.get(sarLawsDetailedList.getUpdatePeople()));
}
});
System.out.println("总条数" + userIPage.getTotal());
System.out.println("总页数" + userIPage.getPages());
return userIPage;
@@ -602,7 +640,25 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
timeDto.add(dto);
}
service.updateDetailedLaws(detailedUpDto.getId(), timeDto);
QueryWrapper<SarLawsAttrDetailedList> wrapper = new QueryWrapper<>();
wrapper.eq("detailed_list_id",detailedUpDto.getId());
List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists=sarLawsAttrDetailedListDao.selectList(wrapper);
List<String> list1=new ArrayList<>();
if (sarLawsAttrDetailedLists.size()>0){
sarLawsAttrDetailedLists.forEach(sarLawsAttrDetailedList -> {list1.add(sarLawsAttrDetailedList.getStandId());});
}
list1.removeAll(Arrays.asList(detailedUpDto.getInforlist().split(",")));
if (list1.size()>0){
QueryWrapper<SarLawsAttrDetailedList> wrapper1 = new QueryWrapper<>();
wrapper1.in("stand_id",list1);
List<SarLawsAttrDetailedList> res=sarLawsAttrDetailedListDao.selectList(wrapper);
res.forEach(sarLawsAttrDetailedList -> {
list1.remove(sarLawsAttrDetailedList.getStandId());
});
if (null!=list1 && list1.size()>0){
sarStandardsInfoDao.updateISRELATEACCESSById("2", list1);
}
}
//更新标准是否纳入认证清单
sarStandardsInfoDao.updateISRELATEACCESSById("1", Arrays.asList(detailedUpDto.getInforlist().split(",")));
@@ -668,6 +724,8 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
}
sarLawsAttrDetailedListService.insertDetailedList(lawsDetailed.getId(), timeDtos);
//更新标准是否纳入认证清单
sarStandardsInfoDao.updateISRELATEACCESSById("1", Arrays.asList(timeDto.getStandId()) );
break;
}
}
@@ -77,6 +77,9 @@ public class SarModelTreeServiceImpl extends ServiceImpl<SarModelTreeDao, SarMod
break;
}
item.setId(item.getName());
if (null==item.getName() && null != item.getModel()){
item.setName(item.getModel());
}
});
@@ -8,6 +8,7 @@ import com.adc.da.login.util.UserUtils;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
@@ -39,6 +40,8 @@ import java.util.List;
public class TsRoleController extends BaseController<TsRole> {
@Autowired
private ITsRoleService tsRoleService;
@Autowired
private TsRoleDao tsRoleDao;
@ApiOperation("查询所有角色")
@GetMapping
@@ -95,9 +98,14 @@ public class TsRoleController extends BaseController<TsRole> {
@ApiOperation("查询角色详情")
@GetMapping("/id")
public ResponseMessage<TsRole> getRoleById(@RequestParam String roleId){
TsRole tsRole=tsRoleService.getById(roleId);
// TsRole tsRole=tsRoleService.getById(roleId);
// if(tsRole.getParentId()!=null){
// TsRole parent=tsRoleService.getById(tsRole.getParentId());
// tsRole.setParent(parent.getName());
// }
TsRole tsRole=tsRoleDao.getAllDatas(roleId);
if(tsRole.getParentId()!=null){
TsRole parent=tsRoleService.getById(tsRole.getParentId());
TsRole parent=tsRoleDao.getAllDatas(tsRole.getParentId());
tsRole.setParent(parent.getName());
}
return Result.success(tsRole);
@@ -99,4 +99,7 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
* @return List<String>
*/
List<String> getRootMenuIdsByRoleIds(List<String> roleIds);
@Select("select *,DATE_ADD(ts_role.operate_time,INTERVAL 8 HOUR) as operateTime from ts_role where ts_role.ID = #{roleId}")
TsRole getAllDatas(@Param("roleId") String roleId);
}
@@ -69,7 +69,7 @@ public class TsRole extends BaseEntity {
private String remarks;
@ApiModelProperty(value = "操作时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp operateTime;
@@ -89,13 +89,13 @@ public class TsRole extends BaseEntity {
@ApiModelProperty(value = "创建时间")
@TableField("CREATION_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp creationTime;
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp modifyTime;
@@ -5,6 +5,7 @@ import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -6,6 +6,7 @@ import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandIdea.dao.SarPublicIdeaAllDao;
import com.adc.da.slrs.sarStandIdea.entity.*;
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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -84,6 +85,15 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
}
@ApiOperation(value = "增加意见")
@PostMapping("/saveBatchByWk")
public ResponseMessage saveBatchByWk(@RequestBody List<SarPublicIdeaAll> sar){
boolean flag=sarPublicIdeaAllImpl.saveOrUpdateBatch(sar);
return Result.success("200",flag);
}
@ApiOperation(value = "删除意见")
@GetMapping("/deleteStand")
public ResponseMessage deleteStand(DelStandDto delStandDto){
@@ -114,11 +124,16 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
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<SarPublicIdeaAll> data=new ArrayList<>();
if (!StringUtils.isEmpty(cid)){
data=sarPublicIdeaAllDao.getPublicAllIdea(cid,type);
// if (null!=type) {
data = sarPublicIdeaAllDao.getPublicAllIdea(cid, type);
// }else {
// data = sarPublicIdeaAllDao.getPublicAllIdeaExport(cid,type);
// }
}
List<GetExcelDto> standExcel=new ArrayList<>();
List<GetExcelDto2> standExcel2=new ArrayList<>();
@@ -126,22 +141,25 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
if ("1".equals(type)) {
GetExcelDto2 getExcelDto = GetExcelDto2.builder()
.partCode(sarPublicIdeaAll.getPartCode())
.oldText(sarPublicIdeaAll.getOldText())
.newText(sarPublicIdeaAll.getNewText())
.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())
.build();
standExcel2.add(getExcelDto);
}else {
GetExcelDto getExcelDto = GetExcelDto.builder()
.partCode(sarPublicIdeaAll.getPartCode())
.oldText(sarPublicIdeaAll.getOldText())
.newText(sarPublicIdeaAll.getNewText())
.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())
.build();
standExcel.add(getExcelDto);
}
@@ -154,9 +172,8 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
headList.add(Lists.newArrayList("修改意见内容(包括理由或依据)","修改理由"));
headList.add(Lists.newArrayList("提出部门"));
headList.add(Lists.newArrayList("提出人"));
if ("1".equals(type)){
headList.add(Lists.newArrayList("处理意见"));
}
headList.add(Lists.newArrayList("处理意见"));
headList.add(Lists.newArrayList("原因"));
if ("1".equals(type)) {
EasyExcel.write(response.getOutputStream(), GetExcelDto2.class).head(headList).autoCloseStream(Boolean.FALSE).sheet("sheet1")
.doWrite(standExcel2);
@@ -69,14 +69,14 @@ public class SarPublicIdeaController extends BaseController<SarPublicIdea> {
@PostMapping("/addSarPublicIdea")
public ResponseMessage addSarPublicIdea(@RequestBody SarPublicIdea sarPublicIdea){
try{
Calendar c = Calendar.getInstance();
c.setTime(sarPublicIdea.getStartTime());
c.add(Calendar.DAY_OF_MONTH, 1);// 今天+1天
sarPublicIdea.setStartTime(c.getTime());
// Calendar c = Calendar.getInstance();
// c.setTime(sarPublicIdea.getStartTime());
// c.add(Calendar.DAY_OF_MONTH, 1);// 今天+1天
// sarPublicIdea.setStartTime(c.getTime());
//
Calendar c2 = Calendar.getInstance();
c2.setTime(sarPublicIdea.getEndTime());
c2.add(Calendar.DAY_OF_MONTH, 2);// 今天+1天
c2.add(Calendar.DAY_OF_MONTH, 1);// 今天+1天
sarPublicIdea.setEndTime(c2.getTime());
sarPublicIdeaService.save(sarPublicIdea);
@@ -28,4 +28,6 @@ public interface SarPublicIdeaAllDao extends BaseMapper<SarPublicIdeaAll> {
Integer getAllDataByIdeaCount( @Param("ideaId")String ideaId);
List<SarPublicIdeaAll> getPublicAllIdea(@Param("cid") String cid,@Param("type")String type);
List<SarPublicIdeaAll> getPublicAllIdeaExport(@Param("cid") String cid,@Param("type")String type);
}
@@ -38,6 +38,10 @@ public class GetExcelDto {
// @ExcelProperty("提出人")
private String userName;
private String state;
private String cause;
}
@@ -37,6 +37,8 @@ public class GetExcelDto2 {
private String state;
private String cause;
}
@@ -75,4 +75,7 @@ public class SarPublicIdeaAll extends BaseEntity {
@TableField("state")
private String state;
@TableField("cause")
private String cause;
}
@@ -47,11 +47,29 @@ public class SarPublicIdeaServiceImpl extends ServiceImpl<SarPublicIdeaDao, SarP
public IPage<SarPublicIdea> selectAllP(Integer p, Integer size, String category, String cname, Date start, Date end, String type) {
QueryWrapper<SarPublicIdea> list = new QueryWrapper<>();
if ("1".equals(type)) {
list.like(StringUtils.isNotEmpty(category), "category", category)
.like(StringUtils.isNotEmpty(cname), "cid", cname)
.ge(start != null, "start_time", start)
.le(end != null, "end_time", end)
.orderByDesc("start_time");
if (start!=null && end !=null){
list.like(StringUtils.isNotEmpty(category), "category", category)
.like(StringUtils.isNotEmpty(cname), "cid", cname)
.ge(start != null, "start_time", start)
.le(end != null, "end_time", end)
.orderByDesc("start_time");
}else if (start!=null){
list.like(StringUtils.isNotEmpty(category), "category", category)
.like(StringUtils.isNotEmpty(cname), "cid", cname)
.le(start != null, "start_time", start)
.ge(start != null, "end_time", start)
.orderByDesc("start_time");
}else if (end!=null){
list.like(StringUtils.isNotEmpty(category), "category", category)
.like(StringUtils.isNotEmpty(cname), "cid", cname)
.le(end != null, "start_time", end)
.ge(end != null, "end_time", end)
.orderByDesc("start_time");
}else {
list.like(StringUtils.isNotEmpty(category), "category", category)
.like(StringUtils.isNotEmpty(cname), "cid", cname)
.orderByDesc("start_time");
}
} else {
list.like(StringUtils.isNotEmpty(category), "category", category)
.like(StringUtils.isNotEmpty(cname), "cname", cname)
@@ -123,8 +123,8 @@ public class SarStandItemsController extends BaseController<SarStandItems> {
@ApiOperation(value = "|SarFileSplitInfoEO|根据标准id查询分解单的文本类型")
@GetMapping("getFileType")
public ResponseMessage<Map<String,String>> getFileType(String standId){
Map<String, String> fileType = ServiceImpl.getFileType(standId);
public ResponseMessage<List<Map<String, String>>> getFileType(String standId){
List<Map<String, String>> fileType = ServiceImpl.getFileType(standId);
return Result.success(fileType);
}
@@ -246,13 +246,16 @@ public class SarStandItemsServiceImpl extends ServiceImpl<SarStandItemsDao, SarS
return sarStandItems;
}
public Map<String,String> getFileType(String standId){
public List<Map<String, String>> getFileType(String standId){
List<String> fileType = dao.getFileType(standId);
Map<String, String> typeNameMap = InitStandAttrUtil.standInlandAttrFieldList.stream()
.collect(Collectors.toMap(SarStandAttrDetails::getAttrField, SarStandAttrDetails::getAttrName));
Map<String, String> collect = fileType.stream()
.collect(Collectors.toMap(a -> a, b -> typeNameMap.get(b)));
List<Map<String, String>> collect = fileType.stream()
.map(item -> new HashMap<String, String>(){ { put("label", typeNameMap.get(item));put("value", item);} }
).collect(Collectors.toList());
return collect;
}
}
@@ -343,4 +343,19 @@ public class SarStandProjectLibraryController extends BaseController<SarStandPro
.build();
return Result.success(querySelectRspDTO);
}
//标准评估流程 查询项目群接口
@GetMapping("/queryProjectGroup")
@ApiOperation("查询项目群")
public ResponseMessage queryProjectGroup(SarStandProjectLibrary sarStandProjectLibrary){
return Result.success( sarStandProjectLibraryService.queryProjectGroup(sarStandProjectLibrary));
}
//标准评估流程根据项目群查项目接口
@GetMapping("/queryProjects")
@ApiOperation("查询项目群下的项目")
public ResponseMessage queryProjects(SarStandProjectLibrary sarStandProjectLibrary){
return Result.success( sarStandProjectLibraryService.queryProjects(sarStandProjectLibrary));
}
}
@@ -33,4 +33,7 @@ public interface SarStandProjectLibraryDao extends BaseMapper<SarStandProjectLib
void deleteByProjectId(@Param("projectId")String projectId);
List<String> selectListByids(@Param("ids") List<String> ids);
List<SarStandProjectLibrary> queryProjectGroup(@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary);
List<SarStandProjectLibrary> queryProjects(@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary,@Param("groups")List<String> strings);
}
@@ -29,5 +29,8 @@ public interface SarStandProjectLibraryService {
void batchInsertAdd(@Param("ids") List<StandProjectRelationDto> list);
List<StandAttrInfoDto> exportStandAttrInfoExcel(StandAttrInfoExcelDto standAttrInfoExcelDto,String standId);
public Head AnalysisJsonAndStorage(String jsonStr);
public List<SarStandProjectLibrary> queryProjectGroup(@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary);
public List<SarStandProjectLibrary> queryProjects(@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary);
}
@@ -126,6 +126,24 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl<SarStandProje
return head;
}
@Override
public List<SarStandProjectLibrary> queryProjectGroup(SarStandProjectLibrary sarStandProjectLibrary) {
return sarStandProjectLibraryDao.queryProjectGroup(sarStandProjectLibrary);
}
@Override
public List<SarStandProjectLibrary> queryProjects(SarStandProjectLibrary sarStandProjectLibrary) {
List<String> ids=new ArrayList<>();
if (null!=sarStandProjectLibrary.getProjectGroup() && !"".equals(sarStandProjectLibrary.getProjectGroup())){
if (sarStandProjectLibrary.getProjectGroup().contains(",")){
ids.addAll(new ArrayList<>(Arrays.asList(sarStandProjectLibrary.getProjectGroup().split(","))));
}else {
ids.add(sarStandProjectLibrary.getProjectGroup());
}
}
return sarStandProjectLibraryDao.queryProjects(sarStandProjectLibrary,ids);
}
@Override
public IPage<SarStandProjectLibrary> queryMaintenanceProject(int current, int pageSize,
SarStandProjectLibraryDto sarDto) {
@@ -24,6 +24,8 @@ public interface SarStandUnqualifiedDao extends BaseMapper<SarStandUnqualified>
List<SarStandUnqualified> getSarStandUnqualifiedPage(@Param("start")Integer start, @Param("end")Integer end, @Param("sar") SarStandUnqualifiedPage sarStandUnqualified);
List<SarStandUnqualified> getSarStandUnqualifiedExcel(@Param("ids")List<String> strings);
Integer getSarStandUnqualifiedCount(@Param("sar") SarStandUnqualifiedPage sarStandUnqualified);
}
@@ -78,10 +78,10 @@ public class SarStandUnqualified extends BaseEntity {
@TableField("ITEMS_NAME")
private String itemsName;
@ExcelProperty(value = "产品类型",converter = ProductTypeConverter.class)
@ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)")
@TableField("PRODUCT_TYPE")
private String productType;
// @ExcelProperty(value = "产品类型",converter = ProductTypeConverter.class)
// @ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)")
// @TableField("PRODUCT_TYPE")
// private String productType;
@ExcelProperty("产品线")
@ApiModelProperty(value = "产品线")
@@ -142,11 +142,16 @@ public class SarStandUnqualified extends BaseEntity {
@TableField("AUTH_ENGINEER")
private String authEngineer;
@ExcelProperty("责任工程师")
@ExcelIgnore
@ApiModelProperty(value = "责任工程师")
@TableField("DUTY_ENGINEER")
private String dutyEngineer;
@ExcelProperty("责任工程师")
@ApiModelProperty(value = "责任工程师")
@TableField(exist=false)
private String dutyEngineerName;
@ExcelIgnore
@ApiModelProperty(value = "计划关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@@ -177,10 +182,6 @@ public class SarStandUnqualified extends BaseEntity {
@TableField(exist=false)
private String authEngineerName;
@ExcelIgnore
@ApiModelProperty(value = "责任工程师")
@TableField(exist=false)
private String dutyEngineerName;
@ExcelIgnore
@ApiModelProperty(value = "国内OR海外")
@@ -11,6 +11,8 @@ import java.util.List;
public class StandUnqualifiedExcelVO {
@ApiModelProperty("文件名")
String exportName;
@ApiModelProperty("导出类型")
String exportType;
@ApiModelProperty("导出的未符合项ID列表")
List<String> ids;
}
@@ -148,12 +148,12 @@ public class SarStandUnqualifiedServiceImpl extends ServiceImpl<SarStandUnqualif
*/
@Override
public List<SarStandUnqualified> getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
sarStandUnqualifiedQueryWrapper.eq("close_state",1);
if(standUnqualifiedExcelVO.getIds()!=null && standUnqualifiedExcelVO.getIds().size()>0){
sarStandUnqualifiedQueryWrapper.in("id",standUnqualifiedExcelVO.getIds());
}
List<SarStandUnqualified> stand = sarStandUnqualifiedDao.selectList(sarStandUnqualifiedQueryWrapper);
// QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
// sarStandUnqualifiedQueryWrapper.eq("close_state",1);
// if(standUnqualifiedExcelVO.getIds()!=null && standUnqualifiedExcelVO.getIds().size()>0){
// sarStandUnqualifiedQueryWrapper.in("id",standUnqualifiedExcelVO.getIds());
// }
List<SarStandUnqualified> stand = sarStandUnqualifiedDao.getSarStandUnqualifiedExcel(standUnqualifiedExcelVO.getIds());
// 去掉日期时分秒
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
@@ -27,6 +27,9 @@ public class ProductTypeConverter implements Converter<String> {
if(stringValue.equals("在产产品")){
return "product";
}
if (!stringValue.equals("在研产品") && !stringValue.equals("在产产品")){
return "";
}
}
return null;
}
@@ -40,6 +43,9 @@ public class ProductTypeConverter implements Converter<String> {
if(s.equals("product")){
return new CellData<>("在产产品");
}
if (!s.equals("research") && !s.equals("product")){
return new CellData<>("");
}
}
return null;
}
@@ -14,6 +14,12 @@ import java.util.Date;
public class StandWarningEO extends EarlyWarningEO {
private static final long serialVersionUID = 1L;
@ExcelProperty("条款内容")
@ApiModelProperty("条款内容")
private String termsConditions;
@ExcelProperty("新车型实施日期")
@ApiModelProperty("新车型实施日期")
@DateTimeFormat(pattern = "YYYY-MM-dd")
@@ -83,10 +89,10 @@ public class StandWarningEO extends EarlyWarningEO {
@ExcelIgnore
@ApiModelProperty("范围查询发布日期开始")
@DateTimeFormat(pattern = "YYYY-MM-dd")
private String startPutTime;
private String startIssueTime;
@ExcelIgnore
@ApiModelProperty("范围查询发布日期结束")
@DateTimeFormat(pattern = "YYYY-MM-dd")
private String endPutTime;
private String endIssueTime;
}
@@ -59,7 +59,7 @@ public class SarStandardComplianceAssessResultController {
if (eo.getStandApplicationType() == 1) {
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>();
IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize());
queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE");
queryWrapper.select(" STAND_ID,ANY_VALUE(STAND_NUMBER) as STAND_NUMBER, STAND_NAME, STAND_TYPE");
if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) {
queryWrapper.like("STAND_NAME", eo.getStandName().trim());
}
@@ -69,6 +69,7 @@ public class SarStandardComplianceAssessResultController {
if (eo.getType() != null && !eo.getType().trim().equals("")) {
queryWrapper.like("type", eo.getType().trim());
}
queryWrapper.groupBy("STAND_ID,STAND_NAME,STAND_TYPE");
IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper);
while (page.getRecords().remove(null)) ;
@@ -99,7 +99,7 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList);
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList,"SAR_STAND_ATTR_INFO");
if (StringUtils.isNotBlank(advanceStr)) {
page.setAdvanceSearchStr(advanceStr);
} else {
@@ -137,7 +137,7 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList);
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList,"SAR_STAND_ATTR_INFO");
if (StringUtils.isNotBlank(advanceStr)) {
page.setAdvanceSearchStr(advanceStr);
} else {
@@ -210,59 +210,23 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
@GetMapping("/getSarStandardsInfoPageBak")
//@RequiresPermissions("lawss:sarStandardsInfo:getSarStandardsInfoPage")
public ResponseMessage<PageInfo<SarStandardsInfo>> getSarStandardsInfoPageBak(SarStandardsInfoEOPage page,@RequestParam(defaultValue = "0") String mark) throws Exception {
// int isNull = -1;
// if (null != page.getNowOrderBy()) {
// switch (page.getNowOrderBy()) {
// case 1:
// page.setOrderByA("issueTime");//发布日期
// break;
// case 2:
// page.setOrderByA("SAR_STAND_ATTR_INFO.ZCCSSRQ");//新车型实施日期
// break;
// case 3:
// page.setOrderByA("SAR_STAND_ATTR_INFO.XCXSSRQ");//在产车实施日期
// break;
// case 4:
// page.setOrderByA("SAR_STANDARDS_INFO.text_status");//文本状态
// break;
// case 5:
// page.setOrderByA("paixu");
// break;
// case 6:
// page.setOrderByA("SAR_STAND_ATTR_INFO.SSRQ");
// break;
// default:
// page.setNowOrder(null);
// break;
// }
// if (null != page.getNowOrder()) {
// switch (page.getNowOrder()) {
// case 1:
// page.setOrder1("desc");
// break;
// case 2:
// page.setOrder1("asc");
// default:
// page.setOrder1(null);
// break;
// }
// }
// }
//
//
// if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
// List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
// String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList);
// if (StringUtils.isNotBlank(advanceStr)) {
// page.setAdvanceSearchStr(advanceStr);
// } else {
// page.setAdvanceSearchStr(null);
// }
// }
//
// if(page.getUserId() == null || page.getUserId().equals("")){
// page.setUserId(LoginUserUtil.getUserId());
// }
if (null != page.getNowOrderBy()) {
nowOrderFunc(page);
}
if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList,"SAR_STAND_ATTR_INFO");
if (StringUtils.isNotBlank(advanceStr)) {
page.setAdvanceSearchStr(advanceStr);
} else {
page.setAdvanceSearchStr(null);
}
}
if(page.getUserId() == null || page.getUserId().equals("")){
page.setUserId(LoginUserUtil.getUserId());
}
List<SarStandardsInfo> rows = sarStandardsInfoEOService.getSarStandardsInfoPageBak1(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@@ -74,4 +74,7 @@ public interface SarStandardsInfoDao extends BaseMapper<SarStandardsInfo> {
int updateISRELATEACCESSById(@Param("IS_RELATE_ACCESS") String ACCESS,@Param("list") List<String> list);
List<String> selectIdFormDTBZH(String DTBZHCode);
}
@@ -22,6 +22,13 @@ public class SarBussionessStandEOPage extends BasePage {
this.textStatusBuss = textStatusBuss;
}
private String startIssueTime;
private String endIssueTime;
private String startPutTime;
private String endPutTime;
private String modifyTime;
private String modifyTime1;
private String modifyTime2;
@@ -1130,4 +1137,37 @@ public class SarBussionessStandEOPage extends BasePage {
public void setSql(String sql) {
this.sql = sql;
}
public String getStartIssueTime() {
return startIssueTime;
}
public void setStartIssueTime(String startIssueTime) {
this.startIssueTime = startIssueTime;
}
public String getEndIssueTime() {
return endIssueTime;
}
public void setEndIssueTime(String endIssueTime) {
this.endIssueTime = endIssueTime;
}
public String getStartPutTime() {
return startPutTime;
}
public void setStartPutTime(String startPutTime) {
this.startPutTime = startPutTime;
}
public String getEndPutTime() {
return endPutTime;
}
public void setEndPutTime(String endPutTime) {
this.endPutTime = endPutTime;
}
}
@@ -91,6 +91,10 @@ public class SarStandardsInfo extends BaseEntity {
@TableField("REPLACE_STAND_NUM")
private String replaceStandNum;
@ApiModelProperty(value = "代替标准号")
@TableField(exist = false)
private String dtbzh;
@ApiModelProperty(value = "被代替标准号")
@TableField("REPLACED_STAND_NUM")
private String replacedStandNum;
@@ -716,9 +716,10 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
public void attrInfoShowExport(List<SarStandardsInfo> sarlist) throws Exception {
//查询字典表,形成Hash映射提升速度
List<DicTypeEO> dicInfo = dicTypeEODao.getDicInfo("dic_type_code", "dic_type_name");
Map<String, String> dicMap =
dicInfo.stream()
Map<String, String> dicMap = dicInfo.stream()
.filter(item-> !item.getDicTypeCode().isEmpty())
.collect(Collectors.toMap(DicTypeEO::getDicTypeCode,DicTypeEO::getDicTypeName,(value1, value2 )->value2));
@@ -732,26 +733,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
String name = entry.getKey();
String value = "";
/**
*============================ 对getAttrMap的value赋值中文名称===============================
*/
if(entry.getValue()!=null) {
StringBuilder builder = new StringBuilder("");
for (String s : entry.getValue().toString().split(",")) {
if (dicMap.containsKey(s)) {
builder.append(dicMap.get(s)+" ");
} else {
builder.append(entry.getValue().toString());
}
getAttrMap.put(name, builder.toString());
}
}
/**
*============================ 对getAttrMap的value赋值中文名称===============================
*/
if ("SVPPS".equals(name)) {
Object svpps = entry.getValue();
@@ -763,28 +745,49 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
}
value = String.valueOf(getAttrMap.get("SVPPSName"));
entry.setValue(value);
} else if (entry.getValue() != null && InitStandAttrUtil.fileFieldList != null && InitStandAttrUtil.fileFieldList.size() > 0 && InitStandAttrUtil.fileFieldList.contains(name)) {
value = entry.getValue().toString();
if (StringUtils.isNotBlank(value)) {
List<AttFileEO> fileObj = attFileEOService.getMultiFileInfos(value);
entry.setValue(fileObj);
}
} else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) {
value = entry.getValue().toString();
if ("GZZXX".equals(name)) {
value = sysInfoEOService.getGroupNamesByIds(value);
} else {
String selVal = InitStandAttrUtil.selectFieldMap.get(name);
if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) {
if (getAttrMap.get(name + "Name") != null) {
value = String.valueOf(getAttrMap.get(name + "Name"));
}
// else if (entry.getValue() != null && InitStandAttrUtil.fileFieldList != null && InitStandAttrUtil.fileFieldList.size() > 0 && InitStandAttrUtil.fileFieldList.contains(name)) {
// value = entry.getValue().toString();
// if (StringUtils.isNotBlank(value)) {
// List<AttFileEO> fileObj = attFileEOService.getMultiFileInfos(value);
// entry.setValue(fileObj);
// }
// }
else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) {
// value = entry.getValue().toString();
// String selVal = InitStandAttrUtil.selectFieldMap.get(name);
// if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) {
// if (getAttrMap.get(name + "Name") != null) {
// value = String.valueOf(getAttrMap.get(name + "Name"));
// }
//
//
// } else {
/**
*============================ 对getAttrMap的value赋值中文名称===============================
*/
if(entry.getValue()!=null) {
StringBuilder builder = new StringBuilder("");
for (String s : entry.getValue().toString().split(",")) {
if (dicMap.containsKey(s) && !"ZRBM".equals(name)){
builder.append(dicMap.get(s)+" ");
}
}
if (builder.toString().isEmpty()){
getAttrMap.put(name, entry.getValue().toString());
}else {
getAttrMap.put(name, builder.toString());
}
}
} else {
List<String> valArr = Arrays.asList(value.split(","));
value = dicTypeEODao.getDicNamesByCodes(valArr);
}
}
entry.setValue(value);
/**
*============================ 对getAttrMap的value赋值中文名称===============================
*/
// }
// entry.setValue(value);
}
}
getAttrMap.put("SVPPSTips", svppsTip);
@@ -1705,6 +1708,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
nowOrderFunc(page);
}
List<SarStandardsInfo> getList = dao.getSarStandardsExportInfo(page);
attrInfoShowExport(getList);
return getList;
}
@@ -2601,6 +2605,9 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
for (int i = 0; i < attidlist.length; i++) {
if(StringUtils.isNotEmpty(attidlist[i]) && !"null".equals(attidlist[i])){
AttFileEO attFileEO = attFileEOService.getFileInfo(attidlist[i]);
if (null == attFileEO){
continue;
}
String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
try {
// 判断文件是docx还是PDF
@@ -134,6 +134,8 @@ public class SarUpdLogServiceImpl extends ServiceImpl<SarUpdLogDao, SarUpdLog> i
selectFieldMap.put("country","COUNTRY");
selectFieldMap.put("standSort","STANDCLASSIFY");
selectFieldMap.put("standState","STANDSTATE");
selectFieldMap.put("standNature","STANDNATURE");
selectFieldMap.put("textStatus","TEXTSTATUS");
} else if (SarTypeEnum.INLAND_LAWS.getValue().equals(sarType) || SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) {
selectFieldMap = InitStandAttrUtil.selectFieldMapLaws;
selectFieldMap.put("isRelateAccess","SHIFOUGL");
@@ -149,6 +151,7 @@ public class SarUpdLogServiceImpl extends ServiceImpl<SarUpdLogDao, SarUpdLog> i
if (StringUtils.isNotBlank(selVal)) {
value = getSelectionValueName(selVal,value);
} else {
//变更字段是否是文件
List<String> fileList = new ArrayList<>();
if (SarTypeEnum.INLAND_STAND.getValue().equals(sarType) || SarTypeEnum.FOREIGN_STAND.getValue().equals(sarType)) {
fileList = InitStandAttrUtil.fileFieldList;
@@ -197,6 +200,7 @@ public class SarUpdLogServiceImpl extends ServiceImpl<SarUpdLogDao, SarUpdLog> i
public String changeStandName (String field,String sarType) throws Exception{
switch (field) {
case "textStatus":return "文本状态";
case "country": return "适用区域";
case "isRelateAccess": return "重要度";
case "issueTime": return "发布日期";
@@ -10,6 +10,7 @@ import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarUrl.dao.TsUrlDao;
import com.adc.da.slrs.sarUser.dao.TsUserDao;
import com.adc.da.slrs.sarUser.entity.UpDTO;
import com.adc.da.slrs.sarUser.entity.UserPositionBatchVO;
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -23,6 +24,8 @@ import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -60,6 +63,13 @@ public class TsUserController extends BaseController<TsUser> {
return tsUserService.setPosition(userPositionVO);
}
@ApiOperation("配置岗位")
@PostMapping("/positionBatch")
public ResponseMessage<Object> setPositionBatch(@Valid @RequestBody UserPositionBatchVO userPositionVO){
return tsUserService.setPositionBatch(userPositionVO);
}
@ApiOperation("查询当前登录用户权限")
@GetMapping("/menu")
public ResponseMessage<List<SarMenu>> getMenu(){
@@ -89,5 +99,12 @@ public class TsUserController extends BaseController<TsUser> {
}
@ApiOperation("调研流程查询人 部门专用接口")
@GetMapping("/selectDeptByDY")
public ResponseMessage<List<TsUser>> selectDeptByDY(@Param("ids") String ids) throws Exception {
List<String> strings=new ArrayList<>(Arrays.asList(ids.split(",")));
return Result.success(tsUserDao.selectDeptByDY(strings));
}
}
@@ -32,7 +32,7 @@ public interface TsUserDao extends BaseMapper<TsUser> {
* @param positionId岗位ID
*/
@Insert("insert into ts_user_position (user_id,position_id) values (#{userId},#{positionId})")
void addPosition(String userId, String positionId);
void addPosition(@Param("userId") String userId,@Param("positionId")String positionId);
/**
* 解绑岗位
@@ -40,7 +40,7 @@ public interface TsUserDao extends BaseMapper<TsUser> {
* @param positionId岗位ID
*/
@Delete("delete from ts_user_position where user_id=#{userId} and position_id=#{positionId}")
void delPosition(String userId, String positionId);
void delPosition(@Param("userId")String userId, @Param("positionId")String positionId);
/**
* 通过岗位ID查询用户及其岗位
@@ -56,4 +56,6 @@ public interface TsUserDao extends BaseMapper<TsUser> {
* @return List<String>
*/
List<String> getUserIdsByPositionIds(List<String> positionIds);
List<TsUser> selectDeptByDY(@Param("list") List<String> strings);
}
@@ -0,0 +1,14 @@
package com.adc.da.slrs.sarUser.entity;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class UserPositionBatchVO {
@NotNull(message = "userId不能为空")
private List<String> userId;
@NotNull(message = "positionIds不能为空")
private List<String> positionIds;
}
@@ -5,6 +5,7 @@ import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.slrs.sarUser.entity.UpDTO;
import com.adc.da.slrs.sarUser.entity.UserPositionBatchVO;
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -44,6 +45,8 @@ public interface ITsUserService extends IService<TsUser> {
*/
ResponseMessage<Object> setPosition(UserPositionVO userPositionVO);
ResponseMessage<Object> setPositionBatch(UserPositionBatchVO userPositionVO);
/**
* 查询当前登录的用户权限
* @return List<SarMenu>
@@ -11,11 +11,8 @@ import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.slrs.sarUser.entity.SyncUser;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.slrs.sarUser.entity.*;
import com.adc.da.slrs.sarUser.dao.TsUserDao;
import com.adc.da.slrs.sarUser.entity.UpDTO;
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.sync.service.SyncUserService;
import com.adc.da.sys.entity.UserEO;
@@ -144,6 +141,48 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
return Result.success();
}
/**
* 配置岗位
* @param userPositionVO2用户岗位ID
* @return ResponseMessage<Object>
*/
@Override
@Transactional
public ResponseMessage<Object> setPositionBatch(UserPositionBatchVO userPositionVO2) {
boolean flag=true;
for (String s:userPositionVO2.getUserId()) {
UserPositionVO userPositionVO=new UserPositionVO();
userPositionVO.setUserId(s);
userPositionVO.setPositionIds(userPositionVO2.getPositionIds());
TsUser tsUser=tsUserDao.selectById(userPositionVO.getUserId());
if(tsUser==null){
flag=false;
}
List<String> oldPositionIds=tsUserDao.selectPositionIds(userPositionVO.getUserId());
Map<String,List<String>> ids= ListUtil.difList(userPositionVO.getPositionIds(),oldPositionIds);
List<String> insertIds=ids.get("insert");
List<String> deleteIds=ids.get("delete");
if(insertIds!=null&&insertIds.size()>0){
for(String positionId:insertIds){
tsUserDao.addPosition(userPositionVO.getUserId(),positionId);
}
}
if(deleteIds!=null&&deleteIds.size()>0){
for(String positionId:deleteIds){
tsUserDao.delPosition(userPositionVO.getUserId(),positionId);
}
}
}
if (flag) {
return Result.success();
}else {
return Result.error("用户不存在");
}
}
/**
* 查询当前登录的用户权限
* @return List<SarMenu>
@@ -56,7 +56,7 @@ public class SarVppsTreeServiceImpl extends ServiceImpl<SarVppsTreeDao, SarVppsT
if(parent.getLevel()!=0){
sarMenuQueryWrapper.like("VPPS_CODE",parent.getId());
sarMenuQueryWrapper.likeRight("VPPS_CODE",parent.getId());
}
List<SarVppsTree> children=this.baseMapper.selectList(sarMenuQueryWrapper);
@@ -275,7 +275,8 @@ public class SarFileSplitInfoEOController extends BaseController<SarFileSplitInf
if(null!=sarFileSplitInfoEO){
sarFileSplitInfoEO.setModifyTime(new Date());
if (null==sarFileSplitInfoEO.getSplitStatus())
sarFileSplitInfoEO.setSplitStatus("1");
sarFileSplitInfoEO.setStandId(null);
// sarFileSplitInfoEO.setSplitStatus("1");
sarFileSplitInfoEOService.updateByPrimaryKeySelective(sarFileSplitInfoEO);
return Result.success("0","编辑成功",null);
}else{
@@ -0,0 +1,40 @@
package com.adc.da.slrs.standardSplit.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.PageInfo;
import com.adc.da.slrs.standardSplit.dao.SarItemsCompareHisEODao;
import com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEOPage;
import com.adc.da.slrs.standardSplit.service.SarItemsCompareHisEOService;
import com.adc.da.util.http.ResponseMessage;
import com.adc.da.util.http.Result;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
@RequestMapping("/${restPath}/lawss/sarItemsCompareHis")
@Api(description = "|SarStandItemsCompareHisEO|")
public class SarItemsStandCompareHisEOController extends BaseController<SarItemsCompareHisEO> {
private static final Logger logger = LoggerFactory.getLogger(SarItemsStandCompareHisEOController.class);
@Autowired
private SarItemsCompareHisEODao sarItemsCompareHisEOService;
@ApiOperation(value = "|SarStandItemsCompareHisEO|分页查询")
@GetMapping("/page")
public ResponseMessage<PageInfo<SarItemsCompareHisEO>> page(SarStandItemsCompareHisEOPage page) throws Exception {
QueryWrapper<SarItemsCompareHisEO> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("STAND_HIS_ID",page.getStandHisId());
List<SarItemsCompareHisEO> rows = sarItemsCompareHisEOService.selectList(queryWrapper);
return Result.success(getPageInfo(page.getPager(), rows));
}
}
@@ -3,6 +3,8 @@ package com.adc.da.slrs.standardSplit.entity;
import com.adc.da.base.entity.BaseEntity;
import com.adc.da.common.UploadFileInfo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
@@ -1,6 +1,7 @@
package com.adc.da.slrs.standardSplit.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
@@ -11,6 +12,7 @@ import java.util.Date;
* <b>日期</b> 2020-02-26 <br>
* <b>版权所有<b>版权归北京卡达克数据技术中心所有<br>
*/
@TableName("sar_items_compare_his")
public class SarItemsCompareHisEO extends BaseEntity {
private String id;
@@ -486,7 +486,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
if (!file1.exists()) {
file1.mkdirs();
}
String filepathandname = filePath + "/img/" + imageName;
String filepathandname = splitFilePath +"/" + imageName;
try {
FileOutputStream fos = new FileOutputStream(filepathandname);
fos.write(bytev);
@@ -384,6 +384,7 @@ public class SarFileSplitMenuEOServiceImpl implements SarFileSplitMenuEOService
sarFileSplitItemsEO.setCreationUser(LoginUserUtil.getUserId());
sarFileSplitItemsEO.setModifyUser(LoginUserUtil.getUserId());
sarFileSplitItemsEO.setEditFlag(String.valueOf(UUID.randomUUID()));
sarFileSplitItemsEO.setWorkFlowShow(sarFileSplitItemsEO.getWorkFlowShow());
result += sarFileSplitItemsEODao.insertSelective(sarFileSplitItemsEO);
// SAR_FILE_ITEMS_VAL 添加数据
@@ -243,6 +243,10 @@ public class SarStandCompareHisEOServiceImpl implements SarStandCompareHisEOServ
sarItemsCompareHisEO.setCreateTime(new Date());
sarItemsCompareHisEOService.insertSelective(sarItemsCompareHisEO);
}
SarStandCompareHisEO sarStandCompareHisEO =new SarStandCompareHisEO();
sarStandCompareHisEO.setId(standHisId);
sarStandCompareHisEO.setCompareStatus("比对完成");
sarStandCompareHisEODao.updateByPrimaryKeySelective(sarStandCompareHisEO);
return resultMap;
}
@@ -377,6 +381,7 @@ public class SarStandCompareHisEOServiceImpl implements SarStandCompareHisEOServ
sarItemsCompareHisEO.setCreateTime(new Date());
sarItemsCompareHisEOService.insertSelective(sarItemsCompareHisEO);
}
return resultMap;
}
@Async
@@ -62,7 +62,7 @@ public class SysInfoEOService {
String[] idArr = userIds.split(",");
userNames = userEODao.getNamesByIds(idArr);
if (StringUtils.isBlank(userNames) || "null".equals(userNames)) {
userNames = "";
userNames = userIds;
}
}
return userNames;
@@ -81,7 +81,7 @@ public class SysInfoEOService {
String[] idArr = orgIds.split(",");
names = orgEODao.getNamesByIds(idArr);
if (StringUtils.isBlank(names) || "null".equals(names)) {
names = "";
names = orgIds;
}
}
return names;
@@ -52,6 +52,14 @@ public class WgNetInfo extends BaseEntity {
@TableField("email")
private String email;
@ApiModelProperty(value = "联络人")
@TableField("name")
private String name;
@ApiModelProperty(value = "单位")
@TableField("unit")
private String unit;
}
@@ -63,6 +63,12 @@ public class WgWorkGroupController extends BaseController<WgWorkGroup> {
return wgWorkGroupService.updateData(wgWorkGroupShowDTO);
}
@ApiOperation("修改工作组节点数据")
@PostMapping("/updateDataByWk")
public ResponseMessage<Object> updateDataByWk(@RequestBody WgWorkGroupShowDTO wgWorkGroupShowDTO){
return wgWorkGroupService.updateDataByWk(wgWorkGroupShowDTO);
}
@@ -26,4 +26,6 @@ public interface WgWorkGroupDao extends BaseMapper<WgWorkGroup> {
List<WgWorkGroup> researchDownCheck(@Param(value = "data") String data,@Param(value = "status")String status);
List<WgWorkGroup> researchDatasCheck(@Param(value = "data") String data,@Param(value = "status")String status);
}
@@ -31,6 +31,8 @@ public interface IWgWorkGroupService extends IService<WgWorkGroup> {
ResponseMessage<Object> updateData(WgWorkGroupShowDTO wgWorkGroupShowDTO);
ResponseMessage<Object> updateDataByWk(WgWorkGroupShowDTO wgWorkGroupShowDTO);
}
@@ -126,33 +126,33 @@ public class WgWorkGroupServiceImpl extends ServiceImpl<WgWorkGroupDao, WgWorkGr
@Override
public String saveStandDatas(WgWorkGroupDTO wgWorkGroupDTO) {
List<WgStandorpolicyInfo> wgStandorpolicyInfos= wgStandorpolicyInfoDao.researchDatas();
Map<String,WgStandorpolicyInfo> map=new HashMap<>();
List<WgStandorpolicyInfo> wgStandorpolicyInfos = wgStandorpolicyInfoDao.researchDatas();
Map<String, WgStandorpolicyInfo> map = new HashMap<>();
wgStandorpolicyInfos.forEach(wgStandorpolicyInfo -> {
map.put(wgStandorpolicyInfo.getStandId()+"-"+wgStandorpolicyInfo.getWgId(),wgStandorpolicyInfo);
map.put(wgStandorpolicyInfo.getStandId() + "-" + wgStandorpolicyInfo.getWgId(), wgStandorpolicyInfo);
});
if (null!=wgWorkGroupDTO.getWgStandorpolicyInfos() && wgWorkGroupDTO.getWgStandorpolicyInfos().size()>0){
List<WgWorkGroup> wgWorkGroups=new ArrayList<>();
if (null != wgWorkGroupDTO.getWgStandorpolicyInfos() && wgWorkGroupDTO.getWgStandorpolicyInfos().size() > 0) {
List<WgWorkGroup> wgWorkGroups = new ArrayList<>();
wgWorkGroupDTO.getWgStandorpolicyInfos().forEach(wgStandorpolicyInfo -> {
WgWorkGroup wgWorkGroup=new WgWorkGroup();
BeanUtils.copyProperties(wgWorkGroupDTO,wgWorkGroup);
WgWorkGroup wgWorkGroup = new WgWorkGroup();
BeanUtils.copyProperties(wgWorkGroupDTO, wgWorkGroup);
wgWorkGroup.setId(String.valueOf(UUID.randomUUID()));
wgStandorpolicyInfo.setWgId(wgWorkGroup.getId());
if (null==map.get(wgStandorpolicyInfo.getStandId()+"-"+wgWorkGroup.getPid())) {
if (null == map.get(wgStandorpolicyInfo.getStandId() + "-" + wgWorkGroup.getPid())) {
wgWorkGroups.add(wgWorkGroup);
}
});
if (wgWorkGroups.size()==0){
if (wgWorkGroups.size() == 0) {
return "政策已存在,请勿重复添加";
}
boolean flag=wgWorkGroupService.saveOrUpdateBatch(wgWorkGroups);
boolean flag1=wgStandorpolicyInfoService.saveOrUpdateBatch(wgWorkGroupDTO.getWgStandorpolicyInfos());
if (flag && flag1){
boolean flag = wgWorkGroupService.saveOrUpdateBatch(wgWorkGroups);
boolean flag1 = wgStandorpolicyInfoService.saveOrUpdateBatch(wgWorkGroupDTO.getWgStandorpolicyInfos());
if (flag && flag1) {
return "添加成功";
}else {
} else {
return "添加失败";
}
}else {
} else {
return "数据有误,请检查数据";
}
}
@@ -179,82 +179,82 @@ public class WgWorkGroupServiceImpl extends ServiceImpl<WgWorkGroupDao, WgWorkGr
List<WgMeetingUserRelationShow> wgMeetingUserRelations = wgMeetingUserRelationService.getMeetingAllPeoples(type);
//处理数据
//part1 会议数据组装 提速第一步建造数据的map集合
Map<String,WgWorkGroupShowDTO> wgWorkGroupMap=new HashMap<>();
Map<String, WgWorkGroupShowDTO> wgWorkGroupMap = new HashMap<>();
wgWorkGroupShowDTOS.forEach(wgWorkGroupShowDTO -> {
wgWorkGroupMap.put(wgWorkGroupShowDTO.getId(),wgWorkGroupShowDTO);
wgWorkGroupMap.put(wgWorkGroupShowDTO.getId(), wgWorkGroupShowDTO);
});
Map<String, WgMeetingInfo> meetMap = new HashMap<>();
if (null!=wgMeetingInfos && wgMeetingInfos.size()>0) {
if (null != wgMeetingInfos && wgMeetingInfos.size() > 0) {
wgMeetingInfos.forEach(wgMeetingInfo -> {
meetMap.put(wgMeetingInfo.getId(), wgMeetingInfo);
});
}
//组装会议数据
if (null!=wgMeetingUserRelations && wgMeetingUserRelations.size()>0) {
if (null != wgMeetingUserRelations && wgMeetingUserRelations.size() > 0) {
wgMeetingUserRelations.forEach(wgMeetingUserRelationShow -> {
if (null!=meetMap.get(wgMeetingUserRelationShow.getMeetingId()).getJoinMeetingPeopleInfo()) {
if (null != meetMap.get(wgMeetingUserRelationShow.getMeetingId()).getJoinMeetingPeopleInfo()) {
meetMap.get(wgMeetingUserRelationShow.getMeetingId()).getJoinMeetingPeopleInfo().add(wgMeetingUserRelationShow);
}else {
List<WgMeetingUserRelationShow> wgMeetingUserRelationShows=new ArrayList<>();
} else {
List<WgMeetingUserRelationShow> wgMeetingUserRelationShows = new ArrayList<>();
wgMeetingUserRelationShows.add(wgMeetingUserRelationShow);
meetMap.get(wgMeetingUserRelationShow.getMeetingId()).setJoinMeetingPeopleInfo(wgMeetingUserRelationShows);
}
});
}
//组装总数据
if (null!=wgDeptShows && wgDeptShows.size()>0) {
if (null != wgDeptShows && wgDeptShows.size() > 0) {
wgDeptShows.forEach(wgDeptShow -> {
if (null!=wgWorkGroupMap.get(wgDeptShow.getWgId()).getWgDepts()) {
if (null != wgWorkGroupMap.get(wgDeptShow.getWgId()).getWgDepts()) {
wgWorkGroupMap.get(wgDeptShow.getWgId()).getWgDepts().add(wgDeptShow);
}else {
} else {
List<WgDeptShow> wgDepts = new ArrayList<>();
wgDepts.add(wgDeptShow);
wgWorkGroupMap.get(wgDeptShow.getWgId()).setWgDepts(wgDepts);
}
});
}
if (null!=wgMeetingInfos && wgMeetingInfos.size()>0) {
if (null != wgMeetingInfos && wgMeetingInfos.size() > 0) {
wgMeetingInfos.forEach(wgMeetingInfo -> {
if (null!=wgWorkGroupMap.get(wgMeetingInfo.getWgId()).getWgMeetingInfos()) {
if (null != wgWorkGroupMap.get(wgMeetingInfo.getWgId()).getWgMeetingInfos()) {
wgWorkGroupMap.get(wgMeetingInfo.getWgId()).getWgMeetingInfos().add(meetMap.get(wgMeetingInfo.getId()));
}else {
} else {
List<WgMeetingInfo> wgMeetingInfos1 = new ArrayList<>();
wgMeetingInfos1.add(wgMeetingInfo);
wgWorkGroupMap.get(wgMeetingInfo.getWgId()).setWgMeetingInfos(wgMeetingInfos1);
}
});
}
if (null!=wgNetInfoDTOS && wgNetInfoDTOS.size()>0) {
if (null != wgNetInfoDTOS && wgNetInfoDTOS.size() > 0) {
wgNetInfoDTOS.forEach(wgNetInfoDTO -> {
if (null!=wgWorkGroupMap.get(wgNetInfoDTO.getWgId()).getWgNetInfos()) {
if (null != wgWorkGroupMap.get(wgNetInfoDTO.getWgId()).getWgNetInfos()) {
wgWorkGroupMap.get(wgNetInfoDTO.getWgId()).getWgNetInfos().add(wgNetInfoDTO);
}else {
List<WgNetInfoDTO> wgNetInfos=new ArrayList<>();
} else {
List<WgNetInfoDTO> wgNetInfos = new ArrayList<>();
wgNetInfos.add(wgNetInfoDTO);
wgWorkGroupMap.get(wgNetInfoDTO.getWgId()).setWgNetInfos(wgNetInfos);
}
});
}
if (null!=wgPayInfos && wgPayInfos.size()>0) {
if (null != wgPayInfos && wgPayInfos.size() > 0) {
wgPayInfos.forEach(wgPayInfo -> {
if (null!=wgWorkGroupMap.get(wgPayInfo.getWgId()).getWgPayInfos()) {
if (null != wgWorkGroupMap.get(wgPayInfo.getWgId()).getWgPayInfos()) {
wgWorkGroupMap.get(wgPayInfo.getWgId()).getWgPayInfos().add(wgPayInfo);
}else {
List<WgPayInfo> wgPayInfos1=new ArrayList<>();
} else {
List<WgPayInfo> wgPayInfos1 = new ArrayList<>();
wgPayInfos1.add(wgPayInfo);
wgWorkGroupMap.get(wgPayInfo.getWgId()).setWgPayInfos(wgPayInfos1);
}
});
}
//处理标准政策数据
if (null!=wgStandorpolicyInfos && wgStandorpolicyInfos.size()>0) {
if (null != wgStandorpolicyInfos && wgStandorpolicyInfos.size() > 0) {
wgStandorpolicyInfos.forEach(wgStandorpolicyInfo -> {
if (null!=wgWorkGroupMap.get(wgStandorpolicyInfo.getWgId()).getWgStandorpolicyInfos()) {
if (null != wgWorkGroupMap.get(wgStandorpolicyInfo.getWgId()).getWgStandorpolicyInfos()) {
wgWorkGroupMap.get(wgStandorpolicyInfo.getWgId()).setName(wgStandorpolicyInfo.getName());
wgWorkGroupMap.get(wgStandorpolicyInfo.getWgId()).getWgStandorpolicyInfos().add(wgStandorpolicyInfo);
}else {
List<WgStandorpolicyInfo> wgStandorpolicyInfos1=new ArrayList<>();
} else {
List<WgStandorpolicyInfo> wgStandorpolicyInfos1 = new ArrayList<>();
wgStandorpolicyInfos1.add(wgStandorpolicyInfo);
wgWorkGroupMap.get(wgStandorpolicyInfo.getWgId()).setName(wgStandorpolicyInfo.getName());
wgWorkGroupMap.get(wgStandorpolicyInfo.getWgId()).setWgStandorpolicyInfos(wgStandorpolicyInfos1);
@@ -262,27 +262,27 @@ public class WgWorkGroupServiceImpl extends ServiceImpl<WgWorkGroupDao, WgWorkGr
});
}
//数据初步组装完成 开始进行树结构排序
List<Integer> nums=new ArrayList<>();
Map<Integer,List<WgWorkGroupShowDTO>> map=new HashMap<>();
List<Integer> nums = new ArrayList<>();
Map<Integer, List<WgWorkGroupShowDTO>> map = new HashMap<>();
wgWorkGroupShowDTOS.forEach(wgWorkGroupShowDTO -> {
if (null!=map.get(Integer.valueOf(wgWorkGroupShowDTO.getLevel()))){
if (null != map.get(Integer.valueOf(wgWorkGroupShowDTO.getLevel()))) {
map.get(Integer.valueOf(wgWorkGroupShowDTO.getLevel())).add(wgWorkGroupShowDTO);
}else {
} else {
List<WgWorkGroupShowDTO> middle = new ArrayList<>();
middle.add(wgWorkGroupShowDTO);
nums.add(Integer.valueOf(wgWorkGroupShowDTO.getLevel()));
map.put(Integer.valueOf(wgWorkGroupShowDTO.getLevel()),middle);
map.put(Integer.valueOf(wgWorkGroupShowDTO.getLevel()), middle);
}
});
//组装数据
for (int i=nums.size()-1;i>0;i--){
for (int i = nums.size() - 1; i > 0; i--) {
int finalI = i;
map.get(i-1).forEach(wgWorkGroupShowDTO -> {
map.get(i - 1).forEach(wgWorkGroupShowDTO -> {
map.get(finalI).forEach(wgWorkGroupShowDTO1 -> {
if (wgWorkGroupShowDTO.getId().equals(wgWorkGroupShowDTO1.getPid())){
if (null!=wgWorkGroupShowDTO.getChildren()) {
if (wgWorkGroupShowDTO.getId().equals(wgWorkGroupShowDTO1.getPid())) {
if (null != wgWorkGroupShowDTO.getChildren()) {
wgWorkGroupShowDTO.getChildren().add(wgWorkGroupShowDTO1);
}else {
} else {
List<WgWorkGroupShowDTO> children = new ArrayList<>();
children.add(wgWorkGroupShowDTO1);
wgWorkGroupShowDTO.setChildren(children);
@@ -322,104 +322,167 @@ public class WgWorkGroupServiceImpl extends ServiceImpl<WgWorkGroupDao, WgWorkGr
@Override
public ResponseMessage<Object> updateData(WgWorkGroupShowDTO wgWorkGroupShowDTO) {
List<WgWorkGroup> wgWorkGroupShowDTOS = wgWorkGroupDao.researchDownCheck(wgWorkGroupShowDTO.getId(), "1");
List<WgWorkGroup> wgWorkGroupShowDTOS = wgWorkGroupDao.researchDatasCheck(wgWorkGroupShowDTO.getId(), "0");
if (null != wgWorkGroupShowDTOS && wgWorkGroupShowDTOS.size() > 0) {
return Result.error("工作组处在流程中,无法修改");
} else {
WgWorkGroup wgWorkGroup = new WgWorkGroup();
BeanUtils.copyProperties(wgWorkGroupShowDTO, wgWorkGroup);
boolean flag = false;
flag = wgWorkGroupService.saveOrUpdate(wgWorkGroup);
if (null != wgWorkGroupShowDTO.getWgDepts() && wgWorkGroupShowDTO.getWgDepts().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgDeptsDel())){
List<String> strings=new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgDeptsDel().split(",")));
wgDeptService.removeByIds(strings);
}
List<WgDept> wgDepts=new ArrayList<>();
wgWorkGroupShowDTO.getWgDepts().forEach(wgDeptShow -> {
WgDept wgDept=new WgDept();
BeanUtils.copyProperties(wgDeptShow,wgDept);
if (null==wgDept.getWgId()){
wgDept.setWgId(wgWorkGroupShowDTO.getId());
}
wgDepts.add(wgDept);
});
flag = wgDeptService.saveOrUpdateBatch(wgDepts);
}
if (null != wgWorkGroupShowDTO.getWgMeetingInfos() && wgWorkGroupShowDTO.getWgMeetingInfos().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgMeetingInfosDel())){
List<String> strings=new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgMeetingInfosDel().split(",")));
wgDeptService.removeByIds(strings);
wgMeetingUserRelationService.removeByIds(strings);
}
List<String> removeMeet = new ArrayList<>();
List<WgMeetingUserRelation> wgMeetingUserRelations = new ArrayList<>();
wgWorkGroupShowDTO.getWgMeetingInfos().forEach(wgMeetingInfo -> {
if (null==wgMeetingInfo.getId()){
wgMeetingInfo.setId(String.valueOf(UUID.randomUUID()));
wgMeetingInfo.setWgId(wgWorkGroupShowDTO.getId());
}
wgMeetingInfo.getMeetingPeople().forEach(s -> {
WgMeetingUserRelation wgMeetingUserRelation = new WgMeetingUserRelation();
wgMeetingUserRelation.setUserId(s);
wgMeetingUserRelation.setMeetingId(wgMeetingInfo.getId());
wgMeetingUserRelations.add(wgMeetingUserRelation);
});
removeMeet.add(wgMeetingInfo.getId());
});
flag = wgMeetingInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgMeetingInfos());
if (!removeMeet.isEmpty()) {
wgMeetingUserRelationService.removeByIds(removeMeet);
wgMeetingUserRelationService.saveBatch(wgMeetingUserRelations);
}
}
if (null != wgWorkGroupShowDTO.getWgNetInfos() && wgWorkGroupShowDTO.getWgNetInfos().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgNetInfosDel())){
List<String> strings=new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgNetInfosDel().split(",")));
wgNetInfoService.removeByIds(strings);
}
List<WgNetInfo> wgNetInfos = new ArrayList<>();
wgWorkGroupShowDTO.getWgNetInfos().forEach(wgNetInfoDTO -> {
WgNetInfo wgNetInfo = new WgNetInfo();
BeanUtils.copyProperties(wgNetInfoDTO, wgNetInfo);
if (null==wgNetInfo.getWgId()){
wgNetInfo.setWgId(wgWorkGroupShowDTO.getId());
}
wgNetInfos.add(wgNetInfo);
});
flag = wgNetInfoService.saveOrUpdateBatch(wgNetInfos);
}
if (null != wgWorkGroupShowDTO.getWgPayInfos() && wgWorkGroupShowDTO.getWgPayInfos().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgPayInfosDel())){
List<String> strings=new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgPayInfosDel().split(",")));
wgPayInfoService.removeByIds(strings);
}
if (!wgWorkGroupShowDTO.getWgPayInfos().isEmpty()){
wgWorkGroupShowDTO.getWgPayInfos().forEach(wgPayInfo -> {
if (null==wgPayInfo.getWgId()){
wgPayInfo.setWgId(wgWorkGroupShowDTO.getId());
}
});
}
flag = wgPayInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgPayInfos());
}
if (null != wgWorkGroupShowDTO.getWgStandorpolicyInfos() && wgWorkGroupShowDTO.getWgStandorpolicyInfos().size() > 0) {
if (!wgWorkGroupShowDTO.getWgStandorpolicyInfos().isEmpty()){
wgWorkGroupShowDTO.getWgStandorpolicyInfos().forEach(wgStandorpolicyInfo -> {
if (null==wgStandorpolicyInfo.getWgId()){
wgStandorpolicyInfo.setWgId(wgWorkGroupShowDTO.getId());
}
});
}
flag = wgStandorpolicyInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgStandorpolicyInfos());
}
return dealAllDatas(wgWorkGroupShowDTO,"sys");
}
}
if (flag) {
return Result.success("更新成功");
} else {
return Result.error("无法更新");
@Override
public ResponseMessage<Object> updateDataByWk(WgWorkGroupShowDTO wgWorkGroupShowDTO) {
return dealAllDatas(wgWorkGroupShowDTO,"wk");
}
private ResponseMessage<Object> dealAllDatas(WgWorkGroupShowDTO wgWorkGroupShowDTO,String part) {
WgWorkGroup wgWorkGroup = new WgWorkGroup();
BeanUtils.copyProperties(wgWorkGroupShowDTO, wgWorkGroup);
boolean flag = false;
flag = wgWorkGroupService.saveOrUpdate(wgWorkGroup);
saveBathDept(wgWorkGroupShowDTO, flag,part);
saveBathMeetingUserRelations(wgWorkGroupShowDTO, flag,part);
saveBathNetInfo(wgWorkGroupShowDTO, flag,part);
saveBathPayInfo(wgWorkGroupShowDTO, flag,part);
saveBathStandardPolicyInfo(wgWorkGroupShowDTO, flag,part);
if (flag) {
return Result.success("更新成功");
} else {
return Result.error("无法更新");
}
}
private boolean saveBathPayInfo(WgWorkGroupShowDTO wgWorkGroupShowDTO, boolean flag,String part) {
if (null != wgWorkGroupShowDTO.getWgPayInfos() && wgWorkGroupShowDTO.getWgPayInfos().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgPayInfosDel())) {
List<String> strings = new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgPayInfosDel().split(",")));
wgPayInfoService.removeByIds(strings);
}
if (!wgWorkGroupShowDTO.getWgPayInfos().isEmpty()) {
wgWorkGroupShowDTO.getWgPayInfos().forEach(wgPayInfo -> {
if (null == wgPayInfo.getWgId()) {
wgPayInfo.setWgId(wgWorkGroupShowDTO.getId());
}
});
}
flag = wgPayInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgPayInfos());
}else if ("sys".equals(part)){
QueryWrapper<WgPayInfo> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("wg_id",wgWorkGroupShowDTO.getId());
wgPayInfoService.remove(queryWrapper);
}
return flag;
}
private boolean saveBathNetInfo(WgWorkGroupShowDTO wgWorkGroupShowDTO, boolean flag,String part) {
if (null != wgWorkGroupShowDTO.getWgNetInfos() && wgWorkGroupShowDTO.getWgNetInfos().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgNetInfosDel())) {
List<String> strings = new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgNetInfosDel().split(",")));
wgNetInfoService.removeByIds(strings);
}
List<WgNetInfo> wgNetInfos = new ArrayList<>();
wgWorkGroupShowDTO.getWgNetInfos().forEach(wgNetInfoDTO -> {
WgNetInfo wgNetInfo = new WgNetInfo();
BeanUtils.copyProperties(wgNetInfoDTO, wgNetInfo);
if (null == wgNetInfo.getWgId()) {
wgNetInfo.setWgId(wgWorkGroupShowDTO.getId());
}
wgNetInfos.add(wgNetInfo);
});
flag = wgNetInfoService.saveOrUpdateBatch(wgNetInfos);
}else if ("sys".equals(part)) {
QueryWrapper<WgNetInfo> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("wg_id",wgWorkGroupShowDTO.getId());
wgNetInfoService.remove(queryWrapper);
}
return flag;
}
private boolean saveBathMeetingUserRelations(WgWorkGroupShowDTO wgWorkGroupShowDTO, boolean flag,String part) {
if (null != wgWorkGroupShowDTO.getWgMeetingInfos() && wgWorkGroupShowDTO.getWgMeetingInfos().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgMeetingInfosDel())) {
List<String> strings = new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgMeetingInfosDel().split(",")));
wgDeptService.removeByIds(strings);
wgMeetingUserRelationService.removeByIds(strings);
}
List<String> removeMeet = new ArrayList<>();
List<WgMeetingUserRelation> wgMeetingUserRelations = new ArrayList<>();
wgWorkGroupShowDTO.getWgMeetingInfos().forEach(wgMeetingInfo -> {
if (null == wgMeetingInfo.getId()) {
wgMeetingInfo.setId(String.valueOf(UUID.randomUUID()));
wgMeetingInfo.setWgId(wgWorkGroupShowDTO.getId());
}
wgMeetingInfo.getMeetingPeople().forEach(s -> {
WgMeetingUserRelation wgMeetingUserRelation = new WgMeetingUserRelation();
wgMeetingUserRelation.setUserId(s);
wgMeetingUserRelation.setMeetingId(wgMeetingInfo.getId());
wgMeetingUserRelations.add(wgMeetingUserRelation);
});
removeMeet.add(wgMeetingInfo.getId());
});
flag = wgMeetingInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgMeetingInfos());
if (!removeMeet.isEmpty()) {
wgMeetingUserRelationService.removeByIds(removeMeet);
wgMeetingUserRelationService.saveBatch(wgMeetingUserRelations);
}
}else if ("sys".equals(part)) {
QueryWrapper<WgMeetingInfo> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("wg_id",wgWorkGroupShowDTO.getId());
wgMeetingInfoService.remove(queryWrapper);
List<WgMeetingInfo> wgMeetingInfos=wgMeetingInfoService.list(queryWrapper);
List<String> removeIds=new ArrayList<>();
wgMeetingInfos.forEach(wgMeetingInfo -> {
removeIds.add(wgMeetingInfo.getId());
});
if (removeIds.size()>0) {
wgMeetingUserRelationService.removeByIds(removeIds);
}
}
return flag;
}
private boolean saveBathDept(WgWorkGroupShowDTO wgWorkGroupShowDTO, boolean flag,String part) {
if (null != wgWorkGroupShowDTO.getWgDepts() && wgWorkGroupShowDTO.getWgDepts().size() > 0) {
if (StringUtils.isNotEmpty(wgWorkGroupShowDTO.getWgDeptsDel())) {
List<String> strings = new ArrayList<>(Arrays.asList(wgWorkGroupShowDTO.getWgDeptsDel().split(",")));
wgDeptService.removeByIds(strings);
}
List<WgDept> wgDepts = new ArrayList<>();
wgWorkGroupShowDTO.getWgDepts().forEach(wgDeptShow -> {
WgDept wgDept = new WgDept();
BeanUtils.copyProperties(wgDeptShow, wgDept);
if (null == wgDept.getWgId()) {
wgDept.setWgId(wgWorkGroupShowDTO.getId());
}
wgDepts.add(wgDept);
});
flag = wgDeptService.saveOrUpdateBatch(wgDepts);
}else if ("sys".equals(part)) {
QueryWrapper<WgDept> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("wg_id",wgWorkGroupShowDTO.getId());
wgDeptService.remove(queryWrapper);
}
return flag;
}
private boolean saveBathStandardPolicyInfo(WgWorkGroupShowDTO wgWorkGroupShowDTO, boolean flag,String part) {
if (null != wgWorkGroupShowDTO.getWgStandorpolicyInfos() && wgWorkGroupShowDTO.getWgStandorpolicyInfos().size() > 0) {
if (!wgWorkGroupShowDTO.getWgStandorpolicyInfos().isEmpty()) {
wgWorkGroupShowDTO.getWgStandorpolicyInfos().forEach(wgStandorpolicyInfo -> {
if (null == wgStandorpolicyInfo.getWgId()) {
wgStandorpolicyInfo.setWgId(wgWorkGroupShowDTO.getId());
}
});
}
flag = wgStandorpolicyInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgStandorpolicyInfos());
}else if ("sys".equals(part)) {
QueryWrapper<WgStandorpolicyInfo> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("wg_id",wgWorkGroupShowDTO.getId());
wgStandorpolicyInfoService.remove(queryWrapper);
}
return flag;
}
@@ -0,0 +1,100 @@
package com.adc.da.utils.removeHtml;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RemoveHtml {
/**
* 匹配html标签例如"<p>xxx</p>"这种格式
*/
private static Pattern HTML_TAG_PATTERN = Pattern.compile("<[a-zA-Z]+.*?>([\\s\\S]*?)</[a-zA-Z]*?>");
/**
* 替换掉html标签里面的style内容
*
* @param content
* @return
*/
public static String replaceStyle(String content) {
if (content == null || content.length() == 0) {
return content;
}
String regEx = " style=\"(.*?)\"";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(content);
if (m.find()) {
content = m.replaceAll("");
}
return content;
}
/**
* 移除掉</br>标签
*
* @param src
* @return
*/
public static String removeBrTag(String src) {
if (src != null && !src.isEmpty()) {
src = src.replaceAll("<br/>", "");
}
return src;
}
/**
* 针对多个标签嵌套的情况进行处理
* 比如 <p><span style="white-space: normal;">王者荣耀</span></p>
* 预处理并且正则匹配完之后结果是 <span>王者荣耀
* 需要手工移除掉前面的起始标签
* @param content
* @return
*/
public static String replaceStartTag(String content) {
if (content == null || content.length() == 0) {
return content;
}
String regEx = "<[a-zA-Z]*?>([\\s\\S]*?)";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(content);
if (m.find()) {
content = m.replaceAll("");
}
return content;
}
/**
* 获取html中的数据
* @param htmlStr
* @return
*/
public static String getResultsFromHtml(String htmlStr) {
//定义script的正则表达式去除js可以防止注入
String scriptRegex="<script[^>]*?>[\\s\\S]*?<\\/script>";
//定义style的正则表达式去除style样式防止css代码过多时只截取到css样式代码
String styleRegex="<style[^>]*?>[\\s\\S]*?<\\/style>";
//定义HTML标签的正则表达式去除标签只提取文字内容
String htmlRegex="<[^>]+>";
//定义空格,回车,换行符,制表符
String spaceRegex = "\\s*|\t|\r|\n";
// 过滤script标签
htmlStr = htmlStr.replaceAll(scriptRegex, "");
// 过滤style标签
htmlStr = htmlStr.replaceAll(styleRegex, "");
// 过滤html标签
htmlStr = htmlStr.replaceAll(htmlRegex, "");
// 过滤空格等
htmlStr = htmlStr.replaceAll(spaceRegex, "");
return htmlStr.trim(); // 返回文本字符串
}
}
@@ -2,9 +2,7 @@ package com.adc.da.utils.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import java.util.*;
/**
* @Description: 判断是否为日期格式
@@ -13,6 +11,36 @@ import java.util.TimeZone;
*/
public class DateUtil {
/**
* 取起始时间到结束时间 所有的时间
* @param startTime
* @param endTime
* @return
*/
public static List<String> getAllDate(String startTime, String endTime) {
List<String> list = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(sdf.parse(startTime));
for (long d = cal.getTimeInMillis(); d <= sdf.parse(endTime).getTime(); d = get_D_Plaus_1(cal)) {
list.add(sdf.format(d));
}
} catch (ParseException e) {
System.out.println("date change err");
}
return list;
}
public static long get_D_Plaus_1(Calendar c) {
c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1);
return c.getTimeInMillis();
}
/***
* @Description: 判断多个日期是否都符合日期格式
* @Author: super_liu
@@ -81,26 +81,64 @@ public class SarAdvanceSearchUtil {
/**
* 国内外标准高级查询 SAR_STAND_ATTR_INFO表自定义字段生成条件语句
* 国内外标准高级查询 tableName表自定义字段生成条件语句
* @param searchVOList
* @return
*/
public static String createStandSql(List<SarAdvanceSearchVO> searchVOList) {
public static String createStandSql(List<SarAdvanceSearchVO> searchVOList,String tableName) {
tableName=tableName+".";
String sqlInfo = "";
String tableName="SAR_STAND_ATTR_INFO.";
StringBuilder sqlBuilder = new StringBuilder();
if (searchVOList != null && !searchVOList.isEmpty()) {
for (int i = 0; i < searchVOList.size(); i++) {
String sql = "";
SarAdvanceSearchVO searchVO=searchVOList.get(i);
if (StringUtils.isNotBlank(searchVO.getValue()));
if (i==0){
sql+=tableName+searchVO.getField()+" " + searchVO.getType() + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
}else {
sql+="AND"+" "+tableName+searchVO.getField()+" " + searchVO.getType() + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
if (StringUtils.isNotBlank(searchVO.getValue())) {
switch (searchVO.getType()) {
//多个正则查询
case "regexp":
case "REGEXP":
if (i == 0) {
sql += tableName + searchVO.getField() + " " + "REGEXP" + " " + "\'" + searchVO.getValue().replaceAll(",", "|").replaceAll("\\s*", "") + "\'";
} else {
sql += " AND " + " " + tableName + searchVO.getField() + " " + "REGEXP" + " " + "\'" + searchVO.getValue().replaceAll(",", "|").replaceAll("\\s*", "") + "\'";
}
break;
//模糊查询
case "LIKE":
case "like":
if (i == 0) {
sql += tableName + searchVO.getField() + " " + "LIKE" + " " + "concat(concat('%','" + searchVO.getValue() + "'),'%') ";
} else {
sql += " AND " + " " + tableName + searchVO.getField() + " " + "LIKE" + " " + "concat(concat('%','" + searchVO.getValue() + "'),'%') ";
}
break;
//日期范围查询
case "between":
case "BETWEEN":
String[] boundaryArray = searchVO.getValue().split(",");
if (i == 0) {
sql += "DATE_FORMAT(" + tableName + searchVO.getField() + ",'%Y-%m-%d')" + " " + "BETWEEN" + " " + "DATE_FORMAT(" + "\'" + boundaryArray[0].replaceAll("\\s*", "") + "\'" + ",'%Y-%m-%d')" + " AND " + "DATE_FORMAT(" + "\'" + boundaryArray[1].replaceAll("\\s*", "") + "\'" + ",'%Y-%m-%d')";
} else {
sql += " AND " + " " + "DATE_FORMAT(" + tableName + searchVO.getField() + ",'%Y-%m-%d')" + " " + "BETWEEN" + " " + "DATE_FORMAT(" + "\'" + boundaryArray[0].replaceAll("\\s*", "") + "\'" + ",'%Y-%m-%d')" + " AND " + "DATE_FORMAT(" + "\'" + boundaryArray[1].replaceAll("\\s*", "") + "\'" + ",'%Y-%m-%d')";
}
break;
case "equals":
case "EQUALS":
if (i == 0) {
sql += "DATE_FORMAT(" + tableName + searchVO.getField() + ",'%Y-%m-%d')" + " " + "=" + " " + "DATE_FORMAT(" + "\'" + searchVO.getValue() + "\'" + ",'%Y-%m-%d')";
} else {
sql += " AND " + " " + "DATE_FORMAT(" + tableName + searchVO.getField() + ",'%Y-%m-%d')" + " " + "=" + " " + "DATE_FORMAT(" + "\'" + searchVO.getValue() + "\'" + ",'%Y-%m-%d')";
}
break;
default:
}
sqlBuilder.append(sql);
}
sqlBuilder.append(sql);
}
sqlInfo = sqlBuilder.toString();
}
@@ -5,6 +5,8 @@ import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import java.text.MessageFormat;
/**
* @Description: TODO
* @author: super_liu
@@ -12,6 +14,10 @@ import org.apache.poi.ss.usermodel.Row;
*/
public class Utils {
public static String format(String value, Object... paras) {
return MessageFormat.format(value, paras);
}
//判断row是否为空 空返回true
public static boolean isRowEmpty(Row row) {
if (null == row) {
@@ -75,6 +75,7 @@
<result property="useLevel" column="use_level"/>
<result property="technologic" column="technologic"/>
<result property="bussSort" column="buss_sort"/>
<result property="lxd" column="LXD"/>
</resultMap>
<!-- 查询条件-->
<sql id="Conditions">
@@ -140,6 +141,7 @@
es_revise_plan.use_level,
es_revise_plan.technologic,
es_revise_plan.buss_sort,
es_revise_plan.LXD,
sar_bussioness_stand.STAND_CODE as rqbName,
sar_bussioness_stand.STAND_SORT as standType,
(select group_concat(ts_institution.name) from ts_institution where find_in_set(ts_institution.id,unit)) as unitName,
@@ -208,8 +210,10 @@
es_revise_plan.use_level,
es_revise_plan.technologic,
es_revise_plan.buss_sort,
es_revise_plan.LXD,
sar_bussioness_stand.STAND_CODE as rqbName,
sar_bussioness_stand.STAND_SORT as standType,
sar_bussioness_stand.stand_number as standNum,
(select group_concat(ts_institution.name) from ts_institution where find_in_set(ts_institution.id,unit)) as unitName,
(SELECT GROUP_CONCAT(UNAME) from ts_user WHERE find_in_set(USID,drafter) ) as drafterName,
(SELECT GROUP_CONCAT(ts_dictype.DIC_TYPE_NAME) from ts_dictype WHERE find_in_set(ts_dictype.DIC_TYPE_CODE,area) ) as areaName,
@@ -221,34 +225,34 @@
left join sar_bussioness_stand on sar_bussioness_stand.ID = es_revise_plan.rqb_json
<where>
<if test="esName != null and esName != ''">
and es_name like concat('%',#{esName},'%')
and es_revise_plan.es_name like concat('%',#{esName},'%')
</if>
<if test="area != null and area != ''">
and area = #{area}
and es_revise_plan.area = #{area}
</if>
<if test="planStatusList != null">
and plan_status in
and es_revise_plan.plan_status in
<foreach collection="planStatusList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="reviseStatus != null and reviseStatus != ''">
and revise_status = #{reviseStatus}
and es_revise_plan.revise_status = #{reviseStatus}
</if>
<if test="drafter != null and drafter != ''">
and drafter = #{drafter}
and es_revise_plan.drafter = #{drafter}
</if>
<if test="resPerson != null and resPerson != ''">
and res_person = #{resPerson}
and es_revise_plan.res_person = #{resPerson}
</if>
<if test="wgLeader != null and wgLeader != ''">
and wg_leader = #{wgLeader}
and es_revise_plan.wg_leader = #{wgLeader}
</if>
<if test="draftTime != null">
and DATE_FORMAT(draft_time,'%Y-%m-%d')=DATE_FORMAT(#{draftTime},'%Y-%m-%d')
and DATE_FORMAT(es_revise_plan.draft_time,'%Y-%m-%d')=DATE_FORMAT(#{draftTime},'%Y-%m-%d')
</if>
<if test="releaseTime != null">
and DATE_FORMAT(release_time,'%Y-%m-%d')=DATE_FORMAT(#{releaseTime},'%Y-%m-%d')
and DATE_FORMAT(es_revise_plan.release_time,'%Y-%m-%d')=DATE_FORMAT(#{releaseTime},'%Y-%m-%d')
</if>
<if test="unit != null and unit != ''">
and (select group_concat(ts_institution.name) from ts_institution where find_in_set(ts_institution.id,unit)) like concat('%',#{unit},'%')
@@ -279,6 +283,7 @@
es_revise_plan.use_level,
es_revise_plan.technologic,
es_revise_plan.buss_sort,
es_revise_plan.LXD,
sar_bussioness_stand.STAND_CODE as rqbName,
sar_bussioness_stand.STAND_SORT as standType,
(select group_concat(ts_institution.name) from ts_institution where find_in_set(ts_institution.id,unit)) as unitName,
@@ -353,6 +358,9 @@
<if test="bussSort != null and bussSort != ''">
buss_sort=#{bussSort},
</if>
<if test="lxd != null and lxd != ''">
LXD=#{lxd},
</if>
</set>
where id = #{id}
</update>
@@ -417,6 +425,9 @@
<if test="bussSort != null and bussSort != ''">
buss_sort,
</if>
<if test="lxd != null and lxd != ''">
LXD,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
@@ -477,6 +488,9 @@
<if test="bussSort != null and bussSort != ''">
#{bussSort},
</if>
<if test="lxd != null and lxd != ''">
#{lxd},
</if>
</trim>
</insert>
<!-- 删除-->
@@ -512,6 +526,7 @@
es_revise_plan.use_level,
es_revise_plan.technologic,
es_revise_plan.buss_sort,
es_revise_plan.LXD,
sar_bussioness_stand.STAND_CODE as rqbName,
sar_bussioness_stand.STAND_SORT as standType,
(select group_concat(ts_institution.name) from ts_institution where find_in_set(ts_institution.id,unit)) as unitName,
@@ -21,6 +21,7 @@
<result column="stand_sort" property="standSort" />
<result column="stand_year" property="standYear" />
<result column="text_status_buss" property="textStatusBuss" />
<result column="text_status_buss_show" property="textStatusBussShow"/>
</resultMap>
<resultMap id="BaseResultMapExcel" type="com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand" >
@@ -55,7 +56,7 @@
<sql id="Group_Column_List_show" >
stand_status, replaced_stand_num, replace_stand_num,put_time,
issue_time, stand_en_name, stand_name, stand_code,standStatusShow,
issue_time, stand_en_name, stand_name, stand_code,stand_status,
SAR_BUSSIONESS_STAND.id
</sql>
@@ -170,6 +171,8 @@
<if test="standSort != null" >stand_sort,</if>
<if test="standYear != null" >stand_year,</if>
<if test="standNumber != null" >stand_number,</if>
<if test="reviseStatus != null" >REVISE_STATUS,</if>
<if test="standSn != null" >STAND_SN,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="modifyTime != null" >#{modifyTime, jdbcType=TIMESTAMP},</if>
@@ -190,6 +193,8 @@
<if test="standSort != null" >#{standSort, jdbcType=VARCHAR},</if>
<if test="standYear != null" >#{standYear, jdbcType=VARCHAR},</if>
<if test="standNumber != null" >#{standNumber, jdbcType=VARCHAR},</if>
<if test="reviseStatus != null" >#{reviseStatus, jdbcType=VARCHAR},</if>
<if test="standSn != null" >#{standSn, jdbcType=VARCHAR},</if>
</trim>
</insert>
@@ -322,6 +327,12 @@
</select>
<select id="getStandInfoByReviseStatus" resultMap="BaseResultMap" parameterType="java.lang.String">
select LPAD(MAX(DISTINCT CAST(STAND_SN AS decimal(9)))+1, 3, 0) AS newStandSn from sar_bussioness_stand
where revise_status = #{value} and valid_flag=0
</select>
<!-- 删除记录 -->
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from SAR_BUSSIONESS_STAND
@@ -440,6 +451,7 @@
like concat('%', #{standCode}, '%') and (SAR_BUSSIONESS_STAND.STAND_YEAR = '' or SAR_BUSSIONESS_STAND.STAND_YEAR is null) )
) -->
and SAR_BUSSIONESS_STAND.STAND_CODE like concat('%', #{standCode}, '%')
or REPLACE( SAR_BUSSIONESS_STAND.STAND_CODE,' ','') like REPLACE( concat('%', #{standCode}, '%'),' ','')
</if>
<if test="numberName != null" >
and (
@@ -465,9 +477,27 @@
and DATE_FORMAT(issue_time,'%Y-%m-%D') &gt;= #{issueTime1}
</if>
<if test="issueTime2 != null" >
-- and to_char(issue_time,'YYYY-MM-DD') &lt;= #{issueTime2}
and DATE_FORMAT(issue_time,'%Y-%m-%D') &lt;= #{issueTime2}
</if>
<!-- 日期查询 -->
<if test="startPutTime != null" >
and DATE_FORMAT(put_time,'%Y-%m-%d') &gt;= #{startPutTime}
</if>
<if test="endPutTime != null" >
and DATE_FORMAT(put_time,'%Y-%m-%d') &lt;= #{endPutTime}
</if>
<if test="startIssueTime != null" >
and DATE_FORMAT(issue_time,'%Y-%m-%d') &gt;= #{startIssueTime}
</if>
<if test="endIssueTime != null" >
and DATE_FORMAT(issue_time,'%Y-%m-%d') &lt;= #{endIssueTime}
</if>
<!-- 目录判断 -->
<if test="menuId != null and menuId !='nomenu' and menuAllChildrenIdList != null" >
and SAR_BUSS_STAND_MENU.MENU_ID in
@@ -719,12 +749,13 @@
<!-- 根据id查询 SAR_BUSSIONESS_STAND 的详细信息-->
<select id="selectStandardsInfoByKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select <include refid="Base_Column_List_show" />
select <include refid="Base_Column_List_show" />,dictextstatus.DIC_TYPE_NAME as text_status_buss_show
from SAR_BUSSIONESS_STAND
left join TS_DICTYPE dicstandStatus ON ( dicstandStatus.dic_type_code = SAR_BUSSIONESS_STAND.TEXT_STATUS_BUSS AND dicstandStatus.dic_id IS NOT NULL and dicstandStatus.valid_flag = 0)
left join TS_DICTYPE dicstandNature ON ( dicstandNature.dic_type_code = SAR_BUSSIONESS_STAND.STAND_NATURE AND dicstandNature.dic_id IS NOT NULL and dicstandNature.valid_flag = 0)
left join TS_DICTYPE dicstandSort ON ( dicstandSort.dic_type_code = SAR_BUSSIONESS_STAND.STAND_SORT AND dicstandSort.dic_id IS NOT NULL and dicstandSort.valid_flag = 0)
left join TS_DICTYPE dicapplyCountry ON ( dicapplyCountry.dic_type_code = SAR_BUSSIONESS_STAND.APPLY_COUNTRY AND dicapplyCountry.dic_id IS NOT NULL and dicapplyCountry.valid_flag = 0)
left join TS_DICTYPE dictextstatus ON ( dictextstatus.dic_type_code = SAR_BUSSIONESS_STAND.TEXT_STATUS_BUSS AND dicstandSort.dic_id IS NOT NULL and dictextstatus.valid_flag = 0)
left join SAR_BUSS_STAND_MENU ON SAR_BUSSIONESS_STAND.id = SAR_BUSS_STAND_MENU.buss_stand_id
left join TS_RESOURCE on SAR_BUSS_STAND_MENU.menu_id = TS_RESOURCE.id
where SAR_BUSSIONESS_STAND.id = #{id}
@@ -11,9 +11,8 @@
`index`.value_type as valueType,
eva.evaluation_type as evaluationType,
process_node as processNode,
avg(eva.score * `index`.weight) AS score,
min(eva.create_time) as createTiem,
max(eva.modify_time) as modifyTime
sum(eva.score * `index`.weight) AS score,
max(eva.create_time) as createTiem
FROM
quality_evaluation AS eva
LEFT JOIN ts_user `user` ON eva.user_id = `user`.USID
@@ -26,7 +25,7 @@
valueType,
evaluationType,
process_node
ORDER BY modifyTime DESC,process_node ASC
ORDER BY createTiem DESC,process_node ASC
</select>
@@ -36,6 +35,7 @@
resultType="com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation">
SELECT
DISTINCT
UNAME AS userName,
score,
reason,
@@ -48,13 +48,20 @@
`index`.one_index_title as oneIndexTitle,
`index`.two_index_title as twoIndexTitle,
`index`.three_index_title as threeIndexTitle,
`index`.weight as weight
`index`.weight as weight,
`index`.index_sort
FROM
quality_evaluation
LEFT JOIN ts_user `user` ON quality_evaluation.user_id = `user` .USID
LEFT JOIN evaluation_index AS `index` ON `index`.id = quality_evaluation.evaluation_index
${ew.customSqlSegment}
AND create_time IN (
SELECT
MAX(create_time)
FROM
quality_evaluation
${ew.customSqlSegment}
)
ORDER BY `index`.index_sort
</select>
</mapper>
@@ -35,6 +35,26 @@
WHERE parent_id=#{institutionId}
</select>
<select id="selectNextUsers" resultMap="TsUser">
select ts_user.EMAIL,ts_user.ACCOUNT,ts_user.CREATION_TIME,ts_user.DISABLE_FLAG,ts_user.EXT_INFO,ts_user.USID,
ts_user.INSTITUTION_ID,t2.name as INSTITUTION_NAME,ts_user.MODIFY_TIME,ts_user.OPER_USER,ts_user.PASSWORD,ts_user.PHONE,
ts_user.POSITION_ID,ts_user.POSITION_NAME,ts_user.SEX,ts_user.SSO_ID,ts_user.STATE,ts_user.UNLOCK_FLAG,ts_user.USER_SOURCE,
ts_user.USER_TYPE,ts_user.VALID_FLAG,ts_user.WORK_NUM,concat(ts_user.UNAME,concat(concat("(",ts_user.ACCOUNT),")")) as uname,
ts_institution.name as unit,ts_institution.id as unitId
from ts_user
left join ts_institution ON ts_institution.id = (SELECT parent_id from ts_institution WHERE id = ts_user.INSTITUTION_ID)
left join ts_institution t2 on t2.id=ts_user.INSTITUTION_ID
WHERE 1=1
<if test="institutionIds != null and institutionIds.size()> 0 ">
and ts_user.INSTITUTION_ID in
<foreach collection="institutionIds" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by ts_institution.id
</select>
<!-- 只查询这个部门下的子一级人员-->
<select id="selectNextUser" resultMap="TsUser">
select ts_user.EMAIL,ts_user.ACCOUNT,ts_user.CREATION_TIME,ts_user.DISABLE_FLAG,ts_user.EXT_INFO,ts_user.USID,
@@ -6,38 +6,51 @@
SELECT sar_public_idea_all.id,sar_public_idea_all.reason,ts_institution.name as dept_name,ts_institution.name as department,sar_public_idea_all.old_text,
sar_public_idea_all.new_text,ts_user.INSTITUTION_ID as dept_id,sar_public_idea_all.part_code,sar_public_idea_all.user_name,
sar_public_idea_all.user_id,sar_public_idea_all.content,sar_public_idea_all.idea_id,sar_public_idea_all.cid,
sar_public_idea_all.chapter_name as chapterName,sar_public_idea_all.wk_flag
sar_public_idea_all.chapter_name as chapterName,sar_public_idea_all.wk_flag,sar_public_idea_all.cause
FROM sar_public_idea
INNER JOIN sar_public_idea_all on sar_public_idea_all.idea_id = sar_public_idea.id
left join ts_user on ts_user.USID = sar_public_idea_all.user_id
left join ts_institution on ts_institution.id=ts_user.INSTITUTION_ID
WHERE sar_public_idea_all.idea_id IS NOT NULL and sar_public_idea.uniques = #{unique} and sar_public_idea_all.wk_flag is null
WHERE sar_public_idea_all.idea_id IS NOT NULL and sar_public_idea.uniques = #{unique}
</select>
<select id="getAllDataByIdea" resultType="com.adc.da.slrs.sarStandIdea.entity.SarPublicIdeaAll">
SELECT sar_public_idea_all.id,sar_public_idea_all.reason,ts_institution.name as dept_name,sar_public_idea_all.old_text,sar_public_idea_all.wk_flag,
sar_public_idea_all.new_text,ts_user.INSTITUTION_ID as dept_id,sar_public_idea_all.part_code,sar_public_idea_all.user_name,
sar_public_idea_all.user_id,sar_public_idea_all.content,sar_public_idea_all.idea_id,sar_public_idea_all.cid,sar_public_idea_all.chapter_name as chapterName
sar_public_idea_all.user_id,sar_public_idea_all.content,sar_public_idea_all.idea_id,sar_public_idea_all.cid,sar_public_idea_all.chapter_name as chapterName,
sar_public_idea_all.cause
FROM sar_public_idea_all
left join ts_user on sar_public_idea_all.user_id=ts_user.USID
left join ts_institution on ts_institution.id=ts_user.INSTITUTION_ID
WHERE
sar_public_idea_all.idea_id = #{ideaId} and sar_public_idea_all.wk_flag is null
sar_public_idea_all.idea_id = #{ideaId}
LIMIT ${(page-1)*size},${size}
</select>
<select id="getAllDataByIdeaCount" resultType="java.lang.Integer">
SELECT count(id)
FROM sar_public_idea_all WHERE
idea_id = #{ideaId} and sar_public_idea_all.wk_flag is null
idea_id = #{ideaId}
</select>
<select id="getPublicAllIdea" resultType="com.adc.da.slrs.sarStandIdea.entity.SarPublicIdeaAll">
SELECT sar_public_idea_all.id,reason,ts_institution.name as deptName,old_text,new_text,dept_id,part_code,user_name,user_id,content,idea_id,cid,chapter_name,wk_flag,sar_public_idea_all.state
SELECT sar_public_idea_all.id,reason,ts_institution.name as deptName,old_text,new_text,dept_id,part_code,user_name,user_id,content,idea_id,cid,chapter_name,wk_flag,sar_public_idea_all.state,sar_public_idea_all.cause
FROM sar_public_idea_all
left join ts_user on ts_user.USID=sar_public_idea_all.user_id
left join ts_institution on ts_institution.id=ts_user.INSTITUTION_ID
WHERE sar_public_idea_all.idea_id = #{cid}
<if test="null!=type and type != ''">
and sar_public_idea_all.wk_flag ='1' and sar_public_idea_all.state in ('1','2')
</if>
ORDER BY part_code ASC
</select>
<select id="getPublicAllIdeaExport" resultType="com.adc.da.slrs.sarStandIdea.entity.SarPublicIdeaAll">
SELECT sar_public_idea_all.id,reason,ts_institution.name as deptName,old_text,new_text,dept_id,part_code,user_name,user_id,content,idea_id,cid,chapter_name,wk_flag,sar_public_idea_all.state,sar_public_idea_all.cause
FROM sar_public_idea_all
left join ts_user on ts_user.USID=sar_public_idea_all.user_id
left join ts_institution on ts_institution.id=ts_user.INSTITUTION_ID
WHERE cid = #{cid}
<if test="null==type or ''==type">
and sar_public_idea_all.wk_flag is null
</if>
@@ -146,7 +146,7 @@
AND library.project_group LIKE concat(concat('%',#{qu.projectGroup}),'%')
</if>
<if test="qu.projectStatus != null">
AND library.project_status LIKE concat(concat('%',#{qu.projectStatus}),'%')
AND library.project_status = #{qu.projectStatus}
</if>
<if test="qu.currentNode != null">
AND library.current_node LIKE concat(concat('%',#{qu.currentNode}),'%')
@@ -368,4 +368,42 @@
#{item}
</foreach>
</select>
<select id="queryProjectGroup"
resultType="com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary">
select distinct sar_stand_project_library.project_group,sar_stand_project_library.management_host_name,sar_stand_project_library.category_name,sar_stand_project_library.development_host_name from sar_stand_project_library
where 1=1
<if test="sarStandProjectLibrary.managementHostName != null and sarStandProjectLibrary.managementHostName != ''">
and sar_stand_project_library.management_host_name=#{sarStandProjectLibrary.managementHostName}
</if>
<if test="sarStandProjectLibrary.developmentHostName != null and sarStandProjectLibrary.developmentHostName != ''">
and sar_stand_project_library.development_host_name=#{sarStandProjectLibrary.developmentHostName}
</if>
<if test="sarStandProjectLibrary.categoryName != null and sarStandProjectLibrary.categoryName != ''">
and sar_stand_project_library.category_name=#{sarStandProjectLibrary.categoryName}
</if>
</select>
<select id="queryProjects"
resultType="com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary">
select sar_stand_project_library.* , ts_user.UNAME as uName from sar_stand_project_library
left join ts_user on ts_user.USID = sar_stand_project_library.project_manager
where 1=1
<if test="sarStandProjectLibrary.managementHostName != null and sarStandProjectLibrary.managementHostName != ''">
and sar_stand_project_library.management_host_name=#{sarStandProjectLibrary.managementHostName}
</if>
<if test="sarStandProjectLibrary.developmentHostName != null and sarStandProjectLibrary.developmentHostName != ''">
and sar_stand_project_library.development_host_name=#{sarStandProjectLibrary.developmentHostName}
</if>
<if test="sarStandProjectLibrary.categoryName != null and sarStandProjectLibrary.categoryName != ''">
and sar_stand_project_library.category_name=#{sarStandProjectLibrary.categoryName}
</if>
<if test="sarStandProjectLibrary.projectStatus != null and sarStandProjectLibrary.projectStatus != ''">
and sar_stand_project_library.project_status=#{sarStandProjectLibrary.projectStatus}
</if>
<if test="null != groups and groups.size()>0">
and sar_stand_project_library.project_group in
<foreach collection="groups" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>
@@ -63,6 +63,29 @@
ORDER BY c.STAND_ID, CONVERT(SUBSTRING(c.ITEMS_NUM,1,(SELECT LOCATE('.',CONCAT(c.ITEMS_NUM,'.')))),SIGNED) ,c.rows
</select>
<select id="getSarStandUnqualifiedExcel" resultType="com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified">
SELECT
c.*
FROM
(
SELECT (@i:=@i+1) as rows,sar_stand_unqualified.* ,sar_standards_info.STAND_TYPE as standType , concat(ts_user.UNAME,concat('(',concat(ts_user.USID,')'))) as dutyEngineerName , ts_institution.name as responsibleUnit FROM
(sar_stand_unqualified,(SELECT @i:=0)j)
left join sar_standards_info on sar_stand_unqualified.STAND_ID = sar_standards_info.id
left join ts_user on ts_user.USID = sar_stand_unqualified.DUTY_ENGINEER
left join ts_institution on ts_institution.id=ts_user.INSTITUTION_ID
WHERE
sar_stand_unqualified.close_state = '1'
<if test="ids != null and ids.size()>0 ">
and sar_stand_unqualified.ID in
<foreach item="id" collection="ids" open="(" separator="," close=")" index="index">
#{id}
</foreach>
</if>
order by sar_stand_unqualified.ID,sar_stand_unqualified.STAND_ID ,sar_stand_unqualified.ITEMS_NUM asc
)c
ORDER BY c.STAND_ID, CONVERT(SUBSTRING(c.ITEMS_NUM,1,(SELECT LOCATE('.',CONCAT(c.ITEMS_NUM,'.')))),SIGNED) ,c.rows
</select>
<select id="getSarStandUnqualifiedCount" resultType="java.lang.Integer">
SELECT

Some files were not shown because too many files have changed in this diff Show More