Merge remote-tracking branch 'origin/dev_20230216'

# Conflicts:
#	adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java
#	adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java
#	adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java
#	adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java
#	adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java
#	adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java
This commit is contained in:
高嵩
2023-03-26 16:53:41 +08:00
51 changed files with 2079 additions and 425 deletions
@@ -475,4 +475,6 @@ public interface workFlowFeignClient {
String getEsByWk(@RequestParam("prcId")String prcId); String getEsByWk(@RequestParam("prcId")String prcId);
@RequestMapping(value = "/bat-wkflow/deleteOAByMandatory",method = RequestMethod.GET) @RequestMapping(value = "/bat-wkflow/deleteOAByMandatory",method = RequestMethod.GET)
String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee); String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee);
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectBusProcessNew",method = RequestMethod.GET)
String selectBusProcessNew(@RequestParam("taskId")String taskId);
} }
@@ -422,4 +422,8 @@ public class workFlowFeignClientImpl {
public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) { public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) {
return workFlowFeignClient.deleteOAByMandatory(todoId,assignee); return workFlowFeignClient.deleteOAByMandatory(todoId,assignee);
} }
public String selectBusProcessNew(@RequestParam("taskId")String taskId) {
return workFlowFeignClient.selectBusProcessNew(taskId);
}
} }
@@ -59,6 +59,10 @@ public class ActDefineStartMap {
map.put("25","enterpriseStandardSystemRevisionPlan"); map.put("25","enterpriseStandardSystemRevisionPlan");
map.put("26","qbzxdlxjh"); map.put("26","qbzxdlxjh");
// 问答流程
map.put("27","wdzxlc");
// 标准需求(翻译)申请流程
map.put("28","bzxqfy");
return map.get(type); return map.get(type);
} }
@@ -953,6 +953,11 @@ public class WorkFlowController {
return workFlowFeignClient.getEsByWk(prcId); return workFlowFeignClient.getEsByWk(prcId);
} }
@ApiOperation(value = "首页流程计划立项查询mesg")
@GetMapping("/selectBusProcessNew")
public String selectBusProcessNew(@RequestParam("taskId") String taskId) {
return workFlowFeignClient.selectBusProcessNew(taskId);
}
@ApiOperation(value = "OA待办强制删除") @ApiOperation(value = "OA待办强制删除")
@GetMapping("/deleteOAByMandatory") @GetMapping("/deleteOAByMandatory")
public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) { public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) {
@@ -5,6 +5,7 @@ import com.adc.da.common.BussEnum;
import com.adc.da.common.SarConformStateEnum; import com.adc.da.common.SarConformStateEnum;
import com.adc.da.common.SarStateColorEnum; import com.adc.da.common.SarStateColorEnum;
import com.adc.da.common.SarTypeEnum; import com.adc.da.common.SarTypeEnum;
import com.adc.da.exception.AdcDaBaseException;
import com.adc.da.http.ResponseMessage; import com.adc.da.http.ResponseMessage;
import com.adc.da.login.util.UserUtils; import com.adc.da.login.util.UserUtils;
import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess;
@@ -385,7 +386,6 @@ public class ActSarItemsBussEOService {
// attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus()); // attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus());
String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue);
sarBussionessStand.setSarStandAttrEOStr(resData); sarBussionessStand.setSarStandAttrEOStr(resData);
// 根据标准号判断数据是否已存在
//2021年4月9日 此处检查当前是否存在standId //2021年4月9日 此处检查当前是否存在standId
String standCode = ""; String standCode = "";
if(StringUtils.isNotBlank(sarBussionessStand.getStandCode()) && !"null".equals(sarBussionessStand.getStandCode())){ if(StringUtils.isNotBlank(sarBussionessStand.getStandCode()) && !"null".equals(sarBussionessStand.getStandCode())){
@@ -464,6 +464,14 @@ public class ActSarItemsBussEOService {
} else {//标准号、ID都不存在的情况 } else {//标准号、ID都不存在的情况
// 新增方法 // 新增方法
sarBussionessStand.setPrcCreateUser(prcCreateUser); sarBussionessStand.setPrcCreateUser(prcCreateUser);
// 根据标准号判断数据是否已存在
QueryWrapper<SarBussionessStand>queryWrapper = new QueryWrapper<>();
queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode())
.eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName());
Integer count = iSarBussionessStandService.count(queryWrapper);
if (count > 0){
throw new AdcDaBaseException("当前企标标准号和企标名称已存在");
}
ResponseMessage<SarBussionessStand> responseMessage = iSarBussionessStandService.createSarBussionessStand(sarBussionessStand); ResponseMessage<SarBussionessStand> responseMessage = iSarBussionessStandService.createSarBussionessStand(sarBussionessStand);
if(responseMessage.isOk()){ if(responseMessage.isOk()){
SarBussionessStand bussionessStand = responseMessage.getData(); SarBussionessStand bussionessStand = responseMessage.getData();
@@ -4,6 +4,8 @@ import com.adc.da.common.PropertyTypeEnum;
import com.adc.da.common.SarConformStateEnum; import com.adc.da.common.SarConformStateEnum;
import com.adc.da.common.SarStateColorEnum; import com.adc.da.common.SarStateColorEnum;
import com.adc.da.common.SarTypeEnum; import com.adc.da.common.SarTypeEnum;
import com.adc.da.exception.AdcDaBaseException;
import com.adc.da.http.Result;
import com.adc.da.login.util.UserUtils; import com.adc.da.login.util.UserUtils;
import com.adc.da.person.entity.PersonMsgEO; import com.adc.da.person.entity.PersonMsgEO;
import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess;
@@ -34,6 +36,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -189,6 +192,14 @@ public class ActSarItemsEOService {
// attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus()); // attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus());
String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue);
sarStandardsInfoEO.setSarStandAttrEOStr(resData); sarStandardsInfoEO.setSarStandAttrEOStr(resData);
QueryWrapper<SarStandardsInfo> wrapper=new QueryWrapper<>();
wrapper.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName())
.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber());
Integer s=sarStandardsInfoEOService.count(wrapper);
if (s>0){
throw new AdcDaBaseException("当前标准编号和中文名称已存在");
}
// 根据标准号判断数据是否已存在 // 根据标准号判断数据是否已存在
//2021年4月9日 此处检查当前是否存在standId //2021年4月9日 此处检查当前是否存在standId
String standnumber = ""; String standnumber = "";
@@ -20,6 +20,10 @@ public class Result {
return new ResponseMessage(code, message, true, t); return new ResponseMessage(code, message, true, t);
} }
public static ResponseMessage success(String code, String message,Boolean t) {
return new ResponseMessage(code, message, true);
}
public static <T> ResponseMessage<T> success(T t) { public static <T> ResponseMessage<T> success(T t) {
return new ResponseMessage(ResponseMessageCodeEnum.SUCCESS.getCode(), "", true, t); return new ResponseMessage(ResponseMessageCodeEnum.SUCCESS.getCode(), "", true, t);
} }
@@ -61,6 +61,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStandState/getSarBussionessStandStateProcessList"); addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStandState/getSarBussionessStandStateProcessList");
// 提供企标计划数据 // 提供企标计划数据
addInterceptor.excludePathPatterns("/api/esRevisePlan/es-revise-plan/getAllPlansByWk"); addInterceptor.excludePathPatterns("/api/esRevisePlan/es-revise-plan/getAllPlansByWk");
// 修改企业计划数据
addInterceptor.excludePathPatterns("/api/esRevisePlan/es-revise-plan/oaUpdatePlans");
//pcms项目数据下发开放接口 //pcms项目数据下发开放接口
addInterceptor.excludePathPatterns("/api/sarStandProjectLibrary/save"); addInterceptor.excludePathPatterns("/api/sarStandProjectLibrary/save");
addInterceptor.excludePathPatterns("/api/sar-stand-project-team/save"); addInterceptor.excludePathPatterns("/api/sar-stand-project-team/save");
@@ -151,6 +153,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarNew"); addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarNew");
addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarWaterMarkNew"); addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarWaterMarkNew");
addInterceptor.excludePathPatterns("/api/att/attFile/uploadNew"); addInterceptor.excludePathPatterns("/api/att/attFile/uploadNew");
addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/importSarBussionessStandFile");
addInterceptor.excludePathPatterns("/api/sarLawsDetailedList/sar-laws-detailed-list/importData"); addInterceptor.excludePathPatterns("/api/sarLawsDetailedList/sar-laws-detailed-list/importData");
//doc文檔重新轉換 //doc文檔重新轉換
@@ -164,7 +167,6 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetALLSearchCenterForExits"); addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetALLSearchCenterForExits");
//// //测试接口使用 //// //测试接口使用
// addInterceptor.excludePathPatterns("/api/**"); // addInterceptor.excludePathPatterns("/api/**");
@@ -3,9 +3,9 @@
# 数据库配置 # 数据库配置
#============================================= #=============================================
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://10.100.5.111:3306/foton_slrs?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false spring.datasource.url = jdbc:mysql://121.36.69.172:3307/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = tempuser spring.datasource.username = root
spring.datasource.password = Fting&8g35g#geg2 spring.datasource.password = hzwlsoft.com
@@ -18,7 +18,7 @@ application.center=1
#Eureka #Eureka
eureka.client.allow-redirects=true eureka.client.allow-redirects=true
eureka.client.register-with-eureka=true eureka.client.register-with-eureka=true
eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/ eureka.client.service-url.defaultZone=http://127.0.0.1:8123/eureka/
#============================================== #==============================================
# 邮箱配置1 # 邮箱配置1
@@ -37,10 +37,10 @@ spring.mail.port=587
#============================================== #==============================================
# MQ配置 # MQ配置
#============================================== #==============================================
spring.rabbitmq.host=10.100.5.119 spring.rabbitmq.host=121.36.69.172
spring.rabbitmq.port=5672 spring.rabbitmq.port=5672
spring.rabbitmq.username=admin spring.rabbitmq.username=admin
spring.rabbitmq.password=foton@admin spring.rabbitmq.password=hzwlsoft.com
spring.rabbitmq.listener.simple.acknowledge-mode= manual spring.rabbitmq.listener.simple.acknowledge-mode= manual
# 生产者 默认关闭 发版 需改为 true # 生产者 默认关闭 发版 需改为 true
spring.rabbitmq.listener.direct.auto-startup=true spring.rabbitmq.listener.direct.auto-startup=true
@@ -1,161 +1,323 @@
############################################## ##############################################
# 项目启动模式
# \u9879\u76EE\u542F\u52A8\u6A21\u5F0F
############################################## ##############################################
spring.profiles.active=dev spring.profiles.active=dev
############################################## ##############################################
#公共配置信息
#\u516C\u5171\u914D\u7F6E\u4FE1\u606F
############################################## ##############################################
server.compression.enabled=true server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,text/html,text/plain,text/css,application/x-javascript server.compression.mime-types=application/json,application/xml,text/html,text/plain,text/css,application/x-javascript
# 端口号设置
server.port=4202 # \u7AEF\u53E3\u53F7\u8BBE\u7F6E
#主服务session超时
server.port=10086
#\u4E3B\u670D\u52A1session\u8D85\u65F6
server.servlet.session.timeout =600 server.servlet.session.timeout =600
#tomcat /resource/local/version-manager 创建tomcat指定临时目录
#tomcat /resource/local/version-manager \u521B\u5EFAtomcat\u6307\u5B9A\u4E34\u65F6\u76EE\u5F55
server.tomcat.basedir=/data/slrs/temp server.tomcat.basedir=/data/slrs/temp
# http-only # http-only
server.session.cookie.http-only=true server.session.cookie.http-only=true
spring.mvc.async.request-timeout=20000 spring.mvc.async.request-timeout=20000
# file模块上传文件大小限制
# file\u6A21\u5757\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F\u9650\u5236
spring.http.multipart.max-request-size=100MB spring.http.multipart.max-request-size=100MB
spring.http.multipart.max-file-size=100MB spring.http.multipart.max-file-size=100MB
#显示sql
#\u663E\u793Asql
logging.level.com.adc=DEBUG logging.level.com.adc=DEBUG
logging.level.org.springframework=info logging.level.org.springframework=info
# 请求前缀
# \u8BF7\u6C42\u524D\u7F00
restPath=/api restPath=/api
#是否将自己注册到Eureka Server上,默认为true
#\u662F\u5426\u5C06\u81EA\u5DF1\u6CE8\u518C\u5230Eureka Server\u4E0A\uFF0C\u9ED8\u8BA4\u4E3Atrue
eureka.client.register-with-eureka=true eureka.client.register-with-eureka=true
##是否从Eureka Server上获取注册信息,默认为true
##\u662F\u5426\u4ECEEureka Server\u4E0A\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\uFF0C\u9ED8\u8BA4\u4E3Atrue
eureka.client.fetch-registry=true eureka.client.fetch-registry=true
eureka.instance.prefer-ip-address=true eureka.instance.prefer-ip-address=true
eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/ eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/
# 请求连接的超时时间 默认的时间为 1 秒
# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2
ribbon.ConnectTimeout=500000 ribbon.ConnectTimeout=500000
# 请求处理的超时时间
# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4
ribbon.ReadTimeout=500000 ribbon.ReadTimeout=500000
# ===============================
# = DATA SOURCE
# ===============================
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
# 下面为连接池的补充设置,应用到上面所有数据源中
# 初始化大小,最小,最大
spring.datasource.druid.initial-size= 5
spring.datasource.druid.min-idle= 5
spring.datasource.druid.max-active= 50
# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait= 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis= 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis= 300000
spring.datasource.druid.validation-query= SELECT 1 FROM DUAL
# 空闲时间监测连接是否优秀奥
spring.datasource.druid.test-while-idle= true
# 数据库连接心跳监测
spring.datasource.druid.keep-alive= true
# 获取链接前检查链接是否有效
spring.datasource.druid.test-on-borrow= true
# 返回连接池时检查链接是否可用
spring.datasource.druid.test-on-return= false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.druid.pool-prepared-statements= true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size= 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.druid.filters=stat,wall
#合并多个DruidDataSource的监控数据
spring.datasource.druid.use-global-data-source-stat=true
# druid web管理页面开启
spring.datasource.druid.stat-view-servlet.enabled=true
# druid web管理页面白名单
#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
# druid web管理页面账号
spring.datasource.druid.stat-view-servlet.login-username=druid
# druid web管理页面密码
spring.datasource.druid.stat-view-servlet.login-password=laws1q2w3e4r
# druid web管理页面URL访问前缀地址
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
# =============================== # ===============================
# = DATA SOURCE
# ===============================
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
# \u4E0B\u9762\u4E3A\u8FDE\u63A5\u6C60\u7684\u8865\u5145\u8BBE\u7F6E\uFF0C\u5E94\u7528\u5230\u4E0A\u9762\u6240\u6709\u6570\u636E\u6E90\u4E2D
# \u521D\u59CB\u5316\u5927\u5C0F\uFF0C\u6700\u5C0F\uFF0C\u6700\u5927
spring.datasource.druid.initial-size= 5
spring.datasource.druid.min-idle= 5
spring.datasource.druid.max-active= 50
# \u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4
spring.datasource.druid.max-wait= 60000
# \u914D\u7F6E\u95F4\u9694\u591A\u4E45\u624D\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B\uFF0C\u68C0\u6D4B\u9700\u8981\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.druid.time-between-eviction-runs-millis= 60000
# \u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5C0F\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.druid.min-evictable-idle-time-millis= 300000
spring.datasource.druid.validation-query= SELECT 1 FROM DUAL
# \u7A7A\u95F2\u65F6\u95F4\u76D1\u6D4B\u8FDE\u63A5\u662F\u5426\u4F18\u79C0\u5965
spring.datasource.druid.test-while-idle= true
# \u6570\u636E\u5E93\u8FDE\u63A5\u5FC3\u8DF3\u76D1\u6D4B
spring.datasource.druid.keep-alive= true
# \u83B7\u53D6\u94FE\u63A5\u524D\u68C0\u67E5\u94FE\u63A5\u662F\u5426\u6709\u6548
spring.datasource.druid.test-on-borrow= true
# \u8FD4\u56DE\u8FDE\u63A5\u6C60\u65F6\u68C0\u67E5\u94FE\u63A5\u662F\u5426\u53EF\u7528
spring.datasource.druid.test-on-return= false
# \u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5\u4E0APSCache\u7684\u5927\u5C0F
spring.datasource.druid.pool-prepared-statements= true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size= 20
# \u914D\u7F6E\u76D1\u63A7\u7EDF\u8BA1\u62E6\u622A\u7684filters\uFF0C\u53BB\u6389\u540E\u76D1\u63A7\u754C\u9762sql\u65E0\u6CD5\u7EDF\u8BA1\uFF0C'wall'\u7528\u4E8E\u9632\u706B\u5899
spring.datasource.druid.filters=stat,wall
#\u5408\u5E76\u591A\u4E2ADruidDataSource\u7684\u76D1\u63A7\u6570\u636E
spring.datasource.druid.use-global-data-source-stat=true
# druid web\u7BA1\u7406\u9875\u9762\u5F00\u542F
spring.datasource.druid.stat-view-servlet.enabled=true
# druid web\u7BA1\u7406\u9875\u9762\u767D\u540D\u5355
#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
# druid web\u7BA1\u7406\u9875\u9762\u8D26\u53F7
spring.datasource.druid.stat-view-servlet.login-username=druid
# druid web\u7BA1\u7406\u9875\u9762\u5BC6\u7801
spring.datasource.druid.stat-view-servlet.login-password=laws1q2w3e4r
# druid web\u7BA1\u7406\u9875\u9762URL\u8BBF\u95EE\u524D\u7F00\u5730\u5740
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
# ===============================
# ======================================= # =======================================
# Mybatis Plus config # Mybatis Plus config
# ======================================= # =======================================
mybatis-plus.config-location=classpath:mybatis/mybatis-config.xml mybatis-plus.config-location=classpath:mybatis/mybatis-config.xml
mybatis-plus.mapper-locations=classpath*:mybatis/mapper/**/*.xml mybatis-plus.mapper-locations=classpath*:mybatis/mapper/**/*.xml
# ======================================== # ========================================
# activiti 配置信息
# activiti \u914D\u7F6E\u4FE1\u606F
# ======================================== # ========================================
#spring.activiti.database-schema=ACT #spring.activiti.database-schema=ACT
spring.activiti.database-schema-update=false spring.activiti.database-schema-update=false
spring.activiti.check-process-definitions=false spring.activiti.check-process-definitions=false
spring.activiti.job-executor-activate=false spring.activiti.job-executor-activate=false
spring.activiti.process-definition-location-prefix=classpath:/mybatis/mapper/activiti/ spring.activiti.process-definition-location-prefix=classpath:/mybatis/mapper/activiti/
# ============================================================================= # =============================================================================
# 邮箱配置
# \u90AE\u7BB1\u914D\u7F6E
# ============================================================================= # =============================================================================
mail.valid=false mail.valid=false
spring.mail.host=smtp.163.com spring.mail.host=smtp.163.com
spring.mail.protocol=smtp spring.mail.protocol=smtp
spring.mail.username=xxx@163.com spring.mail.username=xxx@163.com
spring.mail.password=xxx spring.mail.password=xxx
spring.mail.properties.smtp.auth=true spring.mail.properties.smtp.auth=true
spring.mail.properties.smtp.starttls.enable=true spring.mail.properties.smtp.starttls.enable=true
spring.mail.properties.smtp.starttls.required=true spring.mail.properties.smtp.starttls.required=true
spring.mail.properties.mail.smtp.ssl.enable=true spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.port=465 spring.mail.port=465
#全球标准法规管理系统 十六进制码
#\u5168\u7403\u6807\u51C6\u6CD5\u89C4\u7BA1\u7406\u7CFB\u7EDF \u5341\u516D\u8FDB\u5236\u7801
mail.personName=E585A8E79083E6A087E58786E6B395E8A784E7AEA1E79086E7B3BBE7BB9F mail.personName=E585A8E79083E6A087E58786E6B395E8A784E7AEA1E79086E7B3BBE7BB9F
#邮箱内容中嵌入的系统地址
#\u90AE\u7BB1\u5185\u5BB9\u4E2D\u5D4C\u5165\u7684\u7CFB\u7EDF\u5730\u5740
Lawss.address =http://standard.gacrnd.com:60090 Lawss.address =http://standard.gacrnd.com:60090
# ========================================= # =========================================
# login value # login value
# ========================================= # =========================================
maxLoginErrorCount=3 maxLoginErrorCount=3
verifyCodeMode=1 verifyCodeMode=1
# ============================================================================= # =============================================================================
# 文件上传管控及配置
# \u6587\u4EF6\u4E0A\u4F20\u7BA1\u63A7\u53CA\u914D\u7F6E
# ============================================================================= # =============================================================================
# file模块上传文件的服务器地址
# file\u6A21\u5757\u4E0A\u4F20\u6587\u4EF6\u7684\u670D\u52A1\u5668\u5730\u5740
file.path=/data/slrs/file file.path=/data/slrs/file
stand.edit.file.path = /data/slrs/file/ stand.edit.file.path = /data/slrs/file/
# onlyoffice 预览地址
# onlyoffice \u9884\u89C8\u5730\u5740
file.downloadUrl=https://srms.foton.com.cn/file/ file.downloadUrl=https://srms.foton.com.cn/file/
#上传文件白名单-以,分隔
#\u4E0A\u4F20\u6587\u4EF6\u767D\u540D\u5355-\u4EE5,\u5206\u9694
upload.file.white.lists = doc,docx,xls,xlsx,pdf,PDF,png,jpg,pptx,ppt,pdg,rar,zip,dot upload.file.white.lists = doc,docx,xls,xlsx,pdf,PDF,png,jpg,pptx,ppt,pdg,rar,zip,dot
# ============================================================================= # =============================================================================
# elasticsearch 配置
# elasticsearch \u914D\u7F6E
# ============================================================================= # =============================================================================
elasticsearch.clustername=elasticsearch elasticsearch.clustername=elasticsearch
elasticsearch.ip=10.100.5.122
elasticsearch.port=9300 elasticsearch.ip=127.0.0.1
elasticsearch.port=9306
elasticsearch.poolSize=5 elasticsearch.poolSize=5
elas.flag=true elas.flag=true
elasticsearch.img=https://srms.foton.com.cn
# 文档转换TCP通讯地址
# 拆分的图片调用 (修改ip时此处也应该被修改)
elasticsearch.img=http://localhost:9090
# \u6587\u6863\u8F6C\u6362TCP\u901A\u8BAF\u5730\u5740
convert.host=127.0.0.1 convert.host=127.0.0.1
# ============================================================================= # =============================================================================
# scheduled 配置
# scheduled \u914D\u7F6E
# ============================================================================= # =============================================================================
isNotScheduled=true isNotScheduled=true
@@ -14,18 +14,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import oracle.ucp.proxy.annotation.Post; import net.sf.json.JSONArray;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/** /**
* @Author: qk * @Author: qk
@@ -177,7 +171,15 @@ public class AskQuestionsController extends BaseController<AskQuestions> {
//添加问题分配人员 //添加问题分配人员
askUserService.saveBatch(askUserList); askUserService.saveBatch(askUserList);
if(askQuestionsService.save(askQuestions)){ if(askQuestionsService.save(askQuestions)){
return Result.success("200","添加成功",null); Map<Object, Object> objectObjectHashMap = new HashMap<>();
List<String> askUserListUser = new ArrayList<>();
for (AskUser user: askUserList){
askUserListUser.add(user.getUsid());
}
JSONArray jsonArray = JSONArray.fromObject(askUserListUser);
objectObjectHashMap.put("questioner",jsonArray);
objectObjectHashMap.put("askQuestions",askQuestions);
return Result.success("200","添加成功",objectObjectHashMap);
}else { }else {
return Result.error("-1","添加失败",null); return Result.error("-1","添加失败",null);
} }
@@ -58,7 +58,7 @@ public class ReplyController extends BaseController<Reply> {
return Result.error("-1","添加失败"); return Result.error("-1","添加失败");
} }
} }
@PostMapping("/updateReply") //@PostMapping("/updateReply")
public ResponseMessage updateReply(String id){ public ResponseMessage updateReply(String id){
if(StringUtils.isEmpty(id)){ if(StringUtils.isEmpty(id)){
return Result.error("-1","请选择要归档的回答"); return Result.error("-1","请选择要归档的回答");
@@ -78,4 +78,16 @@ public class ReplyController extends BaseController<Reply> {
public ResponseMessage updateReply(@RequestBody ReplyPage reply){ public ResponseMessage updateReply(@RequestBody ReplyPage reply){
return Result.success(replyService.listByPage(reply)); return Result.success(replyService.listByPage(reply));
} }
@PostMapping("/updateReply")
public ResponseMessage updateReplyInfo(@RequestBody List<Reply> replyList){
if (replyList.isEmpty()){
return Result.error("-1","编辑失败",null);
}
for(Reply reply: replyList){
reply.setState("yes");
}
replyService.updateBatchById(replyList);
return Result.success("200","编辑成功",null);
}
} }
@@ -18,6 +18,7 @@ import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController; import com.adc.da.base.web.BaseController;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@@ -182,4 +183,10 @@ public class EsRevisePlanController extends BaseController<EsRevisePlan> {
return Result.success(iEsRevisePlanService.delPlans(ids)); return Result.success(iEsRevisePlanService.delPlans(ids));
} }
@ApiOperation(value = "OA时间添加")
@GetMapping("/oaUpdatePlans")
public ResponseMessage<Object> oaUpdatePlans(@RequestParam("esId")String esId, @RequestParam("date") Date date, @RequestParam("s") String s){
return Result.success(iEsRevisePlanService.oaUpdatePlans(esId,date,s));
}
} }
@@ -159,4 +159,14 @@ public class EsRevisePlan extends BasePage {
@TableField(exist = false) @TableField(exist = false)
private String logType; private String logType;
@ApiModelProperty(value = "OA发送时间记录")
@TableField("OA_DATETIME")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date oaDateIime;
@ApiModelProperty(value = "OA是否已经发送")
@TableField("OA_IS_SEND")
private String oaIsSend;
} }
@@ -4,6 +4,7 @@ import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan; import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@@ -28,4 +29,6 @@ public interface IEsRevisePlanService extends IService<EsRevisePlan> {
List<EsRevisePlan> getDataByName(EsRevisePlan esRevisePlan); List<EsRevisePlan> getDataByName(EsRevisePlan esRevisePlan);
List<EsRevisePlan> getAllPlansByWk(String esName); List<EsRevisePlan> getAllPlansByWk(String esName);
Object oaUpdatePlans(String esId, Date date, String s);//Ao时间 发送次数 修改
} }
@@ -229,4 +229,14 @@ public class EsRevisePlanServiceImpl extends ServiceImpl<EsRevisePlanDao, EsRevi
return esRevisePlanDao.selectList(queryWrapper); return esRevisePlanDao.selectList(queryWrapper);
} }
@Override
public Object oaUpdatePlans(String esId, Date date, String s) {
EsRevisePlan esRevisePlan = new EsRevisePlan();
esRevisePlan.setId(esId);
esRevisePlan.setOaDateIime(date);
esRevisePlan.setOaIsSend(s);
esRevisePlanDao.updateById(esRevisePlan);
return null;
}
} }
@@ -44,7 +44,7 @@ public interface SarBussStandAttrInfoDao extends BaseMapper<SarBussStandAttrInfo
Map<String, Object> selectStandFieldAndData(@Param("fieldInfo") String fieldInfo, @Param("standId") String standId); Map<String, Object> selectStandFieldAndData(@Param("fieldInfo") String fieldInfo, @Param("standId") String standId);
void updateFSQR(@Param("id") String id,@Param("time") String time); void updateFSQR(@Param("id") String id,@Param("time") String time);
String selectInfoStandId(@Param("standId") String standId);
} }
@@ -0,0 +1,84 @@
package com.adc.da.slrs.sarBussStandAttrInfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="BusProcessEvaluationHis对象", description="流程评分历史表")
public class BusProcessEvaluationHis implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键")
@TableId(value = "ID", type = IdType.UUID)
private String id;
@ApiModelProperty(value = "标准id")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "处理人")
@TableField("USER_ID")
private String userId;
@ApiModelProperty(value = "信息")
@TableField("MESG")
private String mesg;
@ApiModelProperty(value = "节点信息")
@TableField("TASK_INFO")
private String taskInfo;
@ApiModelProperty(value = "任务id")
@TableField("TASK_ID")
private String taskId;
@ApiModelProperty(value = "流程实例id")
@TableField("P_ID")
private String pId;
@ApiModelProperty(value = "流程名称")
@TableField("PRC_NAME")
private String prcName;
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private String createTime;
@ApiModelProperty(value = "更新时间")
@TableField("UPDATE_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private String updateTime;
@ApiModelProperty(value = "onlyOffice 是否编辑 0 未编辑 1 已编辑")
@TableField("EDIT_STATUS")
private String editStatus;
@ApiModelProperty(value = "onlyOffice 编辑文件存储路径")
@TableField("EDIT_FILE_PATH")
private String editFilePath;
@ApiModelProperty(value = "逻辑状态")
@TableField("FLAG")
private String flag;
@ApiModelProperty(value = "onlyOffice 访问编辑文件全路径")
@TableField(exist = false)
private String downLoadUrl;
@ApiModelProperty(value = "处理人姓名")
@TableField(exist = false)
private String userName;
}
@@ -67,6 +67,14 @@ public class SarBussStandAttrInfo extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private String glwj; private String glwj;
@ApiModelProperty(value = "译文件")
@TableField("TRANSLATION")
private String translation;
@ApiModelProperty(value = "原文件")
@TableField("FBGBUSS")
private String fbgbuss;
// //
// @TableField("SVPPS") // @TableField("SVPPS")
// private String svpps; // private String svpps;
@@ -0,0 +1,177 @@
package com.adc.da.slrs.sarBussStandAttrInfo.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.scheduling.support.SimpleTriggerContext;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* <p>
*
* </p>
*
* @author
* @since 2023-02-28
*/
@Data
public class SarBussStandAttrInfoExecl extends BaseEntity {
private static final long serialVersionUID = 1L;
private String id;
@ApiModelProperty(value = "标准基础表主键")
private String standId;
private String creationUser;
@ApiModelProperty(value = "是否有效")
private String validFlag;
@ApiModelProperty(value = "创建时间")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
private Date modifyTime;
@ApiModelProperty(value = "体系类别")
private String txlbbuss;
private String glwj;
private String svpps;
private String gfxyywj;
private String zrbm;
private Date fzrq;
private Date fsrq;
private String qbmj;
private String qbsq;
private String qbwb;
private String gcwb;
private String zyqcr;
private String qcfbw;
private String xglc;
private String xgbm;
private String xhqbm;
private String zqcbm;
private String qtqcr;
private String wfspjs;
private String xgjh;
//附件
private String qtwjbuss;
//标准中文名称
private String standName;
//企标类型
private String standSort;
//标准年份
private String standYear;
//文本状态
private String textStatusBuss;
//起草部门
private String qcdw;
//起草人
private String qcrbuss;
//发布日期
private String issueTime;
//标准编号
private String standCode;
//标准英文名称
private String standEnName;
//实施日期
private String putTime;
//企标制修订状态
private String revisionStatus;
//废止日期
private String fzrqbuss;
//代替企标编号
private String dtqbbhbuss;
//复审日期
private String fsrqbuss;
//被代替企标编号
private String bdtqbbhbuss;
//文件上传人员
private String wjscrybuss;
//适用车型
private String sycxclass;
//能源类型
private String nylxclass;
//适用产品线
private String sycpxclass;
//上传时间
private String xcsjbuss;
//关联模块-乘用车VPPS编码
private String cycvppsbmbuss;
//关联模块--乘用车vpps中文名称
private String cycvppscnbuss;
//关联模块--卡车VPPS编码
private String kcvppsbmbuss;
//关联模块--卡车vpps中文名称
private String kcvppscnbuss;
//采用标准
private String cybz;
//采标程度
private String cycd;
//引用标准
private String yybz;
//备案日期
private String barq;
@TableField(exist = false)
private Map<String, Object> attrInfoMap = new LinkedHashMap<>();
}
@@ -3,10 +3,12 @@ package com.adc.da.slrs.sarBussionessStand.controller;
import com.adc.da.Log.BusinessType; import com.adc.da.Log.BusinessType;
import com.adc.da.Log.EpcLog; import com.adc.da.Log.EpcLog;
import com.adc.da.common.FileUnZip;
import com.adc.da.common.ReadExcel; import com.adc.da.common.ReadExcel;
import com.adc.da.person.service.IPersonCollectEOService; import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport;
import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
import com.adc.da.slrs.sarLawsInfo.service.ISarLawsInfoService;
import com.adc.da.slrs.sarResource.entity.TsResource; import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO;
@@ -23,25 +25,33 @@ import com.adc.da.util.exception.AdcDaBaseException;
import com.adc.da.util.utils.IOUtils; import com.adc.da.util.utils.IOUtils;
import com.adc.da.util.utils.StringUtils; import com.adc.da.util.utils.StringUtils;
import com.adc.da.utils.util.BussStandExportUtil; import com.adc.da.utils.util.BussStandExportUtil;
import com.adc.da.utils.util.FieldConvertUtil;
import com.adc.da.utils.util.SarAdvanceSearchUtil; import com.adc.da.utils.util.SarAdvanceSearchUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController; import com.adc.da.base.web.BaseController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.Date; import java.text.DateFormat;
import java.util.List; import java.text.SimpleDateFormat;
import java.util.*;
/** /**
* <p> * <p>
@@ -74,6 +84,12 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
@Autowired @Autowired
private IDicTypeEOService dicTypeEOService; private IDicTypeEOService dicTypeEOService;
@Value("${file.path}")
private String filePath;
@Autowired
ISarLawsInfoService sarLawsInfoEOService;
/** /**
* 根据计划库制定状态查询企标编号 * 根据计划库制定状态查询企标编号
* *
@@ -143,6 +159,14 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
//401问题2021-03-31暂时注释掉 liuhuiwen //401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarBussionessStand:updateSarBussionessStand") // @RequiresPermissions("lawss:sarBussionessStand:updateSarBussionessStand")
public ResponseMessage<SarBussionessStand> updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO) throws Exception { public ResponseMessage<SarBussionessStand> updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO) throws Exception {
//校验编号和名称是否存在
QueryWrapper<SarBussionessStand> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarBussionessStandEO.getStandNumber(),"STAND_NUMBER",sarBussionessStandEO.getStandNumber())
.eq(null!=sarBussionessStandEO.getStandName(),"STAND_NAME",sarBussionessStandEO.getStandName());
List<SarBussionessStand> list = sarBussionessStandEOService.list(queryWrapper);
if ((list.size() ==1 && !list.get(0).getId().equals(sarBussionessStandEO.getId())) || list.size() >1){
return Result.error("当前企标标准号和企标名称已存在");
}
sarBussionessStandEO.setModifyTime(new Date()); sarBussionessStandEO.setModifyTime(new Date());
sarBussionessStandEOService.updateSarBussionessStand(sarBussionessStandEO); sarBussionessStandEOService.updateSarBussionessStand(sarBussionessStandEO);
return Result.success("","修改成功",sarBussionessStandEO); return Result.success("","修改成功",sarBussionessStandEO);
@@ -375,13 +399,43 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
return "1"; return "1";
} }
@ApiOperation(value = "|SarBussionessStand|编号+名称组合为唯一标识(企业)")
@PostMapping("/selectOnlyInfo")
public ResponseMessage selectOnlyInfo (@RequestBody SarBussionessStand sarBussionessStand){
QueryWrapper<SarBussionessStand> wrapper=new QueryWrapper<>();
wrapper.eq(null!=sarBussionessStand.getStandName(),"STAND_NAME",sarBussionessStand.getStandName())
.eq(null!=sarBussionessStand.getStandNumber(),"STAND_NUMBER",sarBussionessStand.getStandNumber());
Integer s=sarBussionessStandEOService.count(wrapper);
if (s>0){
return Result.error("当前企业编号和中文名称已存在");
}else {
return Result.success();
}
}
@ApiOperation(value = "导入功能")
@PostMapping("/importSarBussionessStandFile")
public ResponseMessage<String> importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file) throws Exception{
return sarBussionessStandEOService.importSarBussionessStandFile(file);
}
@ApiOperation(value = "|SarBussionessStand|判断原文译文") @ApiOperation(value = "|SarBussionessStand|判断原文译文")
@GetMapping("/emptyFileAnewStorage") @GetMapping("/emptyFileAnewStorage")
public ResponseMessage emptyFileAnewStorage (String type){ public ResponseMessage emptyFileAnewStorage (String type){
return sarBussionessStandEOService.emptyFileAnewStorage(type); return sarBussionessStandEOService.emptyFileAnewStorage(type);
} }
@ApiOperation(value = "|SarBussionessStand|老系统附件重复问题")
@GetMapping("/repetitionFile")
public ResponseMessage repetitionFile (){
return sarBussionessStandEOService.repetitionFile();
}
@ApiOperation(value = "|SarBussionessStand|新系统企业库(产品标准)附件重复问题")
@GetMapping("/newRpetitionFile")
public ResponseMessage newRpetitionFile (){
return sarBussionessStandEOService.newRpetitionFile();
}
} }
@@ -1,5 +1,6 @@
package com.adc.da.slrs.sarBussionessStand.dao; package com.adc.da.slrs.sarBussionessStand.dao;
import com.adc.da.slrs.sarBussionessStand.entity.OldSystem;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport;
import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO;
@@ -118,5 +119,12 @@ public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
int insertSelective(SarBussionessStand sarBussionessStandEO); int insertSelective(SarBussionessStand sarBussionessStandEO);
void importSarBussionessStand(SarBussionessStand sarBussionessStands);
List<OldSystem> selectListInfo();
List<OldSystem> getBussionessStandInfo();
void updateByIdInfo(@Param("strFile")String strFile, @Param("attfId")String attfId);
} }
@@ -1,12 +1,12 @@
package com.adc.da.slrs.sarBussionessStand.service; package com.adc.da.slrs.sarBussionessStand.service;
import com.adc.da.http.ResponseMessage; import com.adc.da.http.ResponseMessage;
import com.adc.da.search.entity.SarBussionessStandEO;
import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile; import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
@@ -53,7 +53,12 @@ public interface ISarBussionessStandService extends IService<SarBussionessStand>
void convertDocAllQB(List<SarBussStandFile> list); void convertDocAllQB(List<SarBussStandFile> list);
void checkFileByEncrypt(); void checkFileByEncrypt();
ResponseMessage emptyFileAnewStorage(String type); ResponseMessage emptyFileAnewStorage(String type);
ResponseMessage<String> importSarBussionessStandFile(MultipartFile file)throws Exception;
ResponseMessage repetitionFile();
ResponseMessage newRpetitionFile();
} }
@@ -22,12 +22,20 @@ import com.adc.da.slrs.NewsFeed.entity.NewsFeed;
import com.adc.da.slrs.NewsFeed.service.INewsFeedService; import com.adc.da.slrs.NewsFeed.service.INewsFeedService;
import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanDao; import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanDao;
import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanLogDao; import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanLogDao;
import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan;
import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlanLog;
import com.adc.da.slrs.esRevisePlan.service.IEsRevisePlanService;
import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanDao;
import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanLogDao;
import com.adc.da.slrs.esRevisePlan.service.IEsRevisePlanService; import com.adc.da.slrs.esRevisePlan.service.IEsRevisePlanService;
import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao; import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao;
import com.adc.da.slrs.otConvertMq.entity.OtConvertMq; import com.adc.da.slrs.otConvertMq.entity.OtConvertMq;
import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao;
import com.adc.da.slrs.sarBussStandAttrInfo.entity.BusProcessEvaluationHis;
import com.adc.da.slrs.sarBussStandAttrInfo.entity.SarBussStandAttrInfo; import com.adc.da.slrs.sarBussStandAttrInfo.entity.SarBussStandAttrInfo;
import com.adc.da.slrs.sarBussStandAttrInfo.service.ISarBussStandAttrInfoService; import com.adc.da.slrs.sarBussStandAttrInfo.service.ISarBussStandAttrInfoService;
import com.adc.da.slrs.sarBussStandAttrInfo.entity.SarBussStandAttrInfoExecl;
import com.adc.da.slrs.sarBussStandAttrInfo.service.ISarBussStandAttrInfoService;
import com.adc.da.slrs.sarBussStandFile.dao.SarBussStandFileDao; import com.adc.da.slrs.sarBussStandFile.dao.SarBussStandFileDao;
import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile; import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile;
import com.adc.da.slrs.sarBussStandItems.dao.SarBussStandItemsDao; import com.adc.da.slrs.sarBussStandItems.dao.SarBussStandItemsDao;
@@ -46,9 +54,19 @@ import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
import com.adc.da.slrs.sarBussionessStandState.service.ISarBussionessStandStateService; import com.adc.da.slrs.sarBussionessStandState.service.ISarBussionessStandStateService;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService; import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService;
import com.adc.da.slrs.sarLawsInfo.service.ISarLawsInfoService; import com.adc.da.slrs.sarLawsInfo.service.ISarLawsInfoService;
import com.adc.da.slrs.sarBussionessStandState.entity.SarBussionessStandState;
import com.adc.da.slrs.sarBussionessStandState.service.ISarBussionessStandStateService;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService;
import com.adc.da.slrs.sarLawsInfo.service.ISarLawsInfoService;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew;
import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService;
import com.adc.da.slrs.sarResource.entity.TsResource; import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
import com.adc.da.slrs.sarStandFile.entity.SarStandFile;
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
@@ -76,6 +94,16 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.json.JSONArray; import org.json.JSONArray;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.json.JSONArray;
import org.json.JSONTokener; import org.json.JSONTokener;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -101,6 +129,7 @@ import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* <p> * <p>
@@ -1991,6 +2020,303 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
} }
/**
* 导入
* @param file
* @throws Exception
*/
@Override
public ResponseMessage<String> importSarBussionessStandFile(MultipartFile file)throws Exception {
//给出头部信息
String[] headerExcel = {"企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,附件,企标类型,标准年份,"};
//获取文件全称
String fileNameStr = file.getOriginalFilename();
//获取最后.的位置
int pos = fileNameStr.lastIndexOf(".");
//获取压缩文件名称并以小写显示
String fileStr = fileNameStr.substring(pos + 1).toLowerCase();
//校验是否是zip文件
if (!fileStr.equals("zip")){
return Result.error("请上传zip格式的文件");
}
//进行拼接获取文件名称
String fileName = fileNameStr.substring(0,pos);
//获取路径和文件名称
String path = filePath + "/" + fileName;
File saveDirectory = new File(path);
//判断saveDirectory中是否是文件夹
if (!saveDirectory.isDirectory()){
saveDirectory.mkdir();
}
//将文件写入到指定路径中
FileUtils.copyInputStreamToFile(file.getInputStream(),new File(path + "/" + fileNameStr));
int countSuccess = 0;
try {
//解压缩
String zipEntryName = FileUnZip.unZipFiles(path + "/" + fileNameStr, path);
//获取文件信息
List<File> fileList = readImpExcelFile(zipEntryName);
//判断获取到的文件数量
if (fileList.size() < 1){
return Result.error("上传的文件是空文件");
}
//File excelfile = fileList.get(0);
int excel = 0;
for (File fileInfo:fileList){
String infoJson = "";
if (fileInfo.getName().contains(".xls") || fileInfo.getName().contains(".xlsx")) {
excel =excel+1;
if (excel > 1){
return Result.error("导入了多个Excel文件");
}
Workbook workbook = null;
try {
workbook = WorkbookFactory.create(fileInfo);
if (workbook != null){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Sheet sheet = workbook.getSheetAt(0);
if (sheet != null){
StringBuilder sb = new StringBuilder();
//获取总条数
int rowNum = sheet.getLastRowNum();
//循环遍历
for (int i = 0;i <= rowNum;i++){
Row row = sheet.getRow(i);
Row headerRow = sheet.getRow(0);
boolean isBlank = sarLawsInfoEOService.isRowEmpty(row);
if (row != null && !isBlank) {
int columNos = headerRow.getLastCellNum();// 表头总共的列数
Map<String, String> rowList = new LinkedHashMap<>();
for (int j = 0; j < columNos; j++) {
Cell cell = row.getCell(j);
Cell headerCell = headerRow.getCell(j);
if (cell != null) {
if (i == 0) {
cell.setCellType(CellType.STRING);
sb.append(cell.getStringCellValue() + ",");
} else {
if (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) {
Date d = cell.getDateCellValue();
rowList.put(headerCell.getStringCellValue(), sdf.format(d));
} else {
cell.setCellType(CellType.STRING);
rowList.put(headerCell.getStringCellValue(), cell.getStringCellValue());
}
}
} else {
if (i != 0) {
rowList.put(headerCell.getStringCellValue(), "");
}
}
}
SarBussStandAttrInfoExecl sarBussStandAttrInfo = new SarBussStandAttrInfoExecl();
if (i != 0) {
String standCode = rowList.get("企标编号");
sarBussStandAttrInfo.setStandCode(standCode);
String standName = rowList.get("中文名称");
if(StringUtils.isNotBlank(standName)){
if(standName.length()>100){
return Result.error("输入的标准名称过长");
}
sarBussStandAttrInfo.setStandName(standName);
}
String standEnName = rowList.get("英文名称");
sarBussStandAttrInfo.setStandEnName(standEnName);
String textStatusBuss = rowList.get("文本状态");
if (StringUtils.isNotBlank(textStatusBuss)){
if (textStatusBuss.length() > 200){
return Result.error("输入的文本状态过长");
}
sarBussStandAttrInfo.setTextStatusBuss(textStatusBuss);
}
SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd");
Date issueTime = sdfs.parse( rowList.get("发布日期"));
String issueTimeStr = sdfs.format(issueTime);
if (StringUtils.isNotBlank(issueTimeStr)){
sarBussStandAttrInfo.setIssueTime(issueTimeStr);
}
Date putTime = sdfs.parse(rowList.get("企标实施日期"));
String putTimeStr = sdfs.format(putTime);
if (StringUtils.isNotBlank(putTimeStr)){
sarBussStandAttrInfo.setPutTime(putTimeStr);
}
String revisionStatus = rowList.get("企标制修订状态");
sarBussStandAttrInfo.setRevisionStatus(revisionStatus);
String qcdw = rowList.get("起草部门");
if (StringUtils.isNotBlank(qcdw)){
if (qcdw.length() > 100){
return Result.error("输入的起草部门过长");
}
sarBussStandAttrInfo.setQcdw(qcdw);
}
String fzrqbuss = rowList.get("废止日期");
if (StringUtils.isNotBlank(fzrqbuss)){
sarBussStandAttrInfo.setFzrqbuss(fzrqbuss);
}
String dtqbbhbuss = rowList.get("代替企标编号");
sarBussStandAttrInfo.setDtqbbhbuss(dtqbbhbuss);
String fsrqbuss = rowList.get("复审日期");
if (StringUtils.isNotBlank(fsrqbuss)){
sarBussStandAttrInfo.setFsrqbuss(fsrqbuss);
}
String qcrbuss = rowList.get("起草人");
if (StringUtils.isNotBlank(qcrbuss)){
if (qcrbuss.length() > 100){
return Result.error("输入的起草人过长");
}
sarBussStandAttrInfo.setQcrbuss(qcrbuss);
}
String bdtqbbhbuss = rowList.get("被代替企标编号");
sarBussStandAttrInfo.setBdtqbbhbuss(bdtqbbhbuss);
//// //采用标准 13
String cybz = rowList.get("采用标准");
sarBussStandAttrInfo.setCybz(cybz);
String wjscrybuss = rowList.get("文件上传人员");
sarBussStandAttrInfo.setWjscrybuss(wjscrybuss);
//// //采标程度 15
String cycd = rowList.get("采标程度");
sarBussStandAttrInfo.setCycd(cycd);
//// //引用标准 16
String yybz = rowList.get("引用标准");
sarBussStandAttrInfo.setYybz(yybz);
String sycxclass = rowList.get("适用车型");
sarBussStandAttrInfo.setSycxclass(sycxclass);
String nylxclass = rowList.get("能源类型");
sarBussStandAttrInfo.setNylxclass(nylxclass);
String sycpxclass = rowList.get("适用产品线");
sarBussStandAttrInfo.setSycpxclass(sycpxclass);
String xcsjbuss = rowList.get("上传时间");
if (StringUtils.isNotBlank(xcsjbuss)){
sarBussStandAttrInfo.setXcsjbuss(xcsjbuss);
}
String txlbbuss = rowList.get("体系类别");
sarBussStandAttrInfo.setTxlbbuss(txlbbuss);
//// //备案日期 22
String barq = rowList.get("备案日期");
sarBussStandAttrInfo.setBarq(barq);
//// //关联模块-乘用车VPPS编码 23
String cycvppsbmbuss = rowList.get("关联模块-乘用车VPPS编码");
sarBussStandAttrInfo.setCycvppsbmbuss(cycvppsbmbuss);
//// //关联模块--乘用车vpps中文名称 24
String cycvppscnbuss = rowList.get("关联模块--乘用车vpps中文名称");
sarBussStandAttrInfo.setCycvppscnbuss(cycvppscnbuss);
//// //关联模块--卡车VPPS编码 25
String kcvppsbmbuss = rowList.get("关联模块--卡车VPPS编码");
sarBussStandAttrInfo.setKcvppsbmbuss(kcvppsbmbuss);
//// //关联模块--卡车vpps中文名称 26
String kcvppscnbuss = rowList.get("关联模块--卡车vpps中文名称");
sarBussStandAttrInfo.setKcvppscnbuss(kcvppscnbuss);
String qtwjbuss = rowList.get("附件");
if (qtwjbuss != null && !qtwjbuss.equals("")) {
String[] split = qtwjbuss.split(",");
String s = "";
if (split.length != 0) {
for (int j = 0; j < split.length; j++) {
String name = fileInfo.getName();
String[] split1 = fileInfo.toString().split(name);
File files = new File(split1[0] + split[j]);
AttFileVo attFileVo = attFileEOService.saveFileInfo(files);
if (StringUtils.isNotBlank(attFileVo.getId())) {
s += "," + attFileVo.getAttId();
} else {
s = attFileVo.getAttId();
}
}
sarBussStandAttrInfo.setQtwjbuss(s);
}
}
String standSort = rowList.get("企标类型");
if (StringUtils.isNotBlank(standSort)){
if (standSort.length() > 100){
return Result.error("企标类型输入过长");
}
sarBussStandAttrInfo.setStandSort(standSort);
}
String standYear = rowList.get("标准年份");
if (StringUtils.isNotBlank(standYear)){
if (standYear.length() > 100){
return Result.error("标准年份输入过长");
}
sarBussStandAttrInfo.setStandYear(standYear);
}
List<SarBussStandAttrInfoExecl> list = new ArrayList<>();
list.add(sarBussStandAttrInfo);
com.alibaba.fastjson.JSONArray json = com.alibaba.fastjson.JSONArray.parseArray(JSON.toJSONString(list));
com.alibaba.fastjson.JSONObject jsonObjects = null;
for (int j = 0; j < json.size(); j++) {
jsonObjects = json.getJSONObject(j);
}
infoJson = String.valueOf(jsonObjects);
//入库
processCreateBuss(infoJson);
countSuccess++;
}
}
}
String fields = StringUtils.join(headerExcel);
String excelHeader = sb.toString();
if (!fields.equals(excelHeader)) {
workbook.close();
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return Result.error("fail", "读取失败,请严格按照模板文件导入数据");
}
}
}
}catch (Exception e){
FileUnZip.deleteDir(saveDirectory);
return Result.error("导入失败,请查看需要导入的企标标准号和企标名称是否已存在");
}
}
}
String msg = "成功导入" + countSuccess + "条";
return Result.success("",msg,null);
}catch (Exception e){
FileUnZip.deleteDir(saveDirectory);
return Result.error("导入失败,没有可导入的数据,请检查!");
}
}
private static List<File> readImpExcelFile(String path) { private static List<File> readImpExcelFile(String path) {
File file = new File(path); File file = new File(path);
@@ -2158,6 +2484,128 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
return dateStr.contains("T") ? dateStr.split("T")[0] : dateStr; return dateStr.contains("T") ? dateStr.split("T")[0] : dateStr;
} }
public void attrInfoShowImport(List<SarBussStandAttrInfoExecl> sarlist) throws Exception {
//查询字典表,形成Hash映射提升速度
List<DicTypeEO> dicInfo = dicTypeEODao.getDicInfo("dic_type_code", "dic_type_name");
Map<String, String> dicMap = dicInfo.stream()
.filter(item-> !item.getDicTypeName().isEmpty())
.collect(Collectors.toMap(DicTypeEO::getDicTypeName,DicTypeEO::getDicTypeCode,(value1, value2 )->value2));
for(SarBussStandAttrInfoExecl row : sarlist){
attrInfoDetailsImport(row);
Map<String, Object> getAttrMap = row.getAttrInfoMap();
Map<String, Object> getNewMap = new LinkedHashMap<>();
if (getAttrMap != null && getAttrMap.size() > 0) {
String svppsTip = "";
for (Map.Entry<String,Object> entry : getAttrMap.entrySet()) {
String name = entry.getKey();
String value = "";
if ("SVPPS".equals(name)) {
Object svpps = entry.getValue();
if (svpps != null && StringUtils.isNotBlank(svpps.toString())) {
svppsTip = svpps.toString();
}
if (StringUtils.isNotBlank(svppsTip)) {
svppsTip = sysInfoEOService.getSvppsNamesTipByIds(svppsTip);
}
value = String.valueOf(getAttrMap.get("SVPPSName"));
entry.setValue(value);
} else if (entry.getValue() != null && InitStandAttrUtil.fileFieldListBuss != null && InitStandAttrUtil.fileFieldListBuss.size() > 0 && InitStandAttrUtil.fileFieldListBuss.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.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) {
value = entry.getValue().toString();
String selVal = InitStandAttrUtil.selectFieldMapBuss.get(name);
if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) {
if("ZYQCR".equals(name)||"QTQCR".equals(name)){
if(getAttrMap.get(name + "Name")!=null && !getAttrMap.get(name + "Name").equals("")){
value = String.valueOf(getAttrMap.get(name + "Name"));
}
}else{
value = String.valueOf(getAttrMap.get(name + "Name"));
}
} else {
List<String> valArr = Arrays.asList(value.split(","));
if(entry.getValue()!=null) {
StringBuilder builder = new StringBuilder("");
for (String s : valArr) {
if (dicMap.containsKey(s) && !"ZRBM".equals(name)){
builder.append(dicMap.get(s)+",");
}
}
if (builder.toString().isEmpty()){
value = entry.getValue().toString();
}else {
value = builder.toString();
}
}
}
entry.setValue(value);
}
}
getAttrMap.put("SVPPSTips",svppsTip);
}
}
}
public void attrInfoDetailsImport (SarBussStandAttrInfoExecl row) throws Exception {
String fieldInfo = InitStandAttrUtil.queryFieldBuss;
// 查询属性表数据
if (StringUtils.isNotBlank(fieldInfo)) {
List<String> list = Arrays.asList(fieldInfo.split(",")).stream().map(s -> String.format(s.trim())).collect(Collectors.toList());
Map<String, Object> getAttrMap = BeanUtils.describe(row);
if (InitStandAttrUtil.clobFieldListBuss != null && !InitStandAttrUtil.clobFieldListBuss.isEmpty()) {
// 遍历修改所有clob类型的值
for (String clobField : InitStandAttrUtil.clobFieldListBuss) {
Clob clobValue = (Clob) getAttrMap.get(clobField);
String fieldValue = FieldConvertUtil.ClobToString(clobValue);
getAttrMap.put(clobField,fieldValue);
}
}
// 组织机构和人员
Map<String,Object> newMap = new HashMap<>();
if(getAttrMap != null){
for (Map.Entry<String,Object> entry : getAttrMap.entrySet()) {
String name = entry.getKey();
List<String> filterList = list.stream().filter(a -> name.equals(a)).collect(Collectors.toList());
if(filterList.isEmpty()){
newMap.remove(name);
continue;
}
Object value1 = entry.getValue();
if (value1 != null && value1.toString().equals("\"null\"")){
entry.setValue("");
}
if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) {
String value = entry.getValue().toString();
String selVal = InitStandAttrUtil.selectFieldMapBuss.get(name);
if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) {
value = sysInfoEOService.getOrgNamesByIds(value);
newMap.put(name + "Name",value);
} else if (SelectionTypeEnum.USERLIST.getValue().equals(selVal)) {
value = sysInfoEOService.getUserNamesByIds(value);
newMap.put(name + "Name",value);
} else if (SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) {
value = sysInfoEOService.getRoleNamesByIds(value);
newMap.put(name + "Name",value);
}
}
}
getAttrMap.putAll(newMap);
}
row.setAttrInfoMap(getAttrMap);
}
}
//1:数据迁移方案 //1:数据迁移方案
//方案一:清空附件 重新挂靠 //方案一:清空附件 重新挂靠
//1.流程: //1.流程:
@@ -2565,7 +3013,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
String id = sarStandAttrInfoEODao.selectInfoStandId(data.getStandId()); String id = sarStandAttrInfoEODao.selectInfoStandId(data.getStandId());
if(StringUtils.isNotBlank(id)) { if(StringUtils.isNotBlank(id)) {
sarStandAttrInfoEODao.updateByIdInfo(id,data.getOriginal(),data.getTranslation()); sarStandAttrInfoEODao.updateByIdInfo(id,data.getOriginal(),data.getTranslation());
logger.info("海外修改完成" + id);
logger.info("海外修改成功====================================================================================="); logger.info("海外修改成功=====================================================================================");
} }
} }
@@ -2944,7 +3391,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
String id = sarStandAttrInfoEODao.selectInfoStandId(data.getStandId()); String id = sarStandAttrInfoEODao.selectInfoStandId(data.getStandId());
if(StringUtils.isNotBlank(id)) { if(StringUtils.isNotBlank(id)) {
sarStandAttrInfoEODao.updateByIdInfo(id,data.getOriginal(),data.getTranslation()); sarStandAttrInfoEODao.updateByIdInfo(id,data.getOriginal(),data.getTranslation());
logger.info("国内修改完成" + id);
logger.info("国内修改成功====================================================================================="); logger.info("国内修改成功=====================================================================================");
} }
} }
@@ -3337,6 +3783,25 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
return "-1"; return "-1";
} }
@Override
public ResponseMessage repetitionFile() {
//获取 所有附件信息 然后判断名称是否重复
Set set = new HashSet();
List<OldSystem> loreAttacheList = sarStandardsInfoDao.selectOldSystemFile();
for (OldSystem data : loreAttacheList) {
if(StringUtils.isNotBlank(data.getFileSign())){
for (OldSystem file : loreAttacheList){
if(StringUtils.isNotBlank(file.getFileSign())){
if(!data.getFileId().equals(file.getFileId())){
set.add(data);
}
}
}
}
}
return Result.success(null,"数量="+set.size()+"====",set);
}
public Set<AttFileEO> newFileNameRepetition(List<String> asList){ public Set<AttFileEO> newFileNameRepetition(List<String> asList){
List<AttFileEO> attFileEOS = new ArrayList<>(); List<AttFileEO> attFileEOS = new ArrayList<>();
Set<AttFileEO> attFileEOArrayList = new HashSet<>(); Set<AttFileEO> attFileEOArrayList = new HashSet<>();
@@ -3393,4 +3858,117 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
} }
return attFileEOArrayList; return attFileEOArrayList;
} }
@Override
public ResponseMessage newRpetitionFile() {
Set<String> objects = new HashSet<>();
// 名称一致 大小一致 则为重复
//新系统产品标准 重复附件清除问题 字段修改 文件删除
List<OldSystem> sarBussionessStandList = sarBussionessStandEODao.getBussionessStandInfo();
if(!sarBussionessStandList.isEmpty()){
for (OldSystem data : sarBussionessStandList){
if(StringUtils.isNotBlank(data.getFileId())){
if(data.getFileId().contains(",")){
//不包含逗号则证明为一条,一条则不处理
String[] split = data.getFileId().split(",");
List<String> asList = Arrays.asList(split);
if(!asList.isEmpty() && StringUtils.isNotBlank(data.getStandId())){
String str = updateInfo(asList, data.getStandId(), data.getAttfid());
if(StringUtils.isNotBlank(str)){
objects.add(str);
}
}
}
}
}
}
return Result.success(objects);
}
public String updateInfo(List<String> asList,String standId,String attfId) {
//重复的集合
List<AttFileEO> chongfu = new ArrayList<>();
//所有数据的集合
List<AttFileEO> attFileEOArrayList = new ArrayList<>();
//辅助循环的集合
List<AttFileEO> rocorArrayList = new ArrayList<>();
//非重复的集合
List<AttFileEO> notRepetitionList = new ArrayList<>();
for (String fileId:asList){
AttFileEO byId = attFileEOService.getFileInfo(fileId);
if(byId!=null) {
attFileEOArrayList.add(byId);
}
}
String strFileInfo = "";
String strFile = "";
if(!attFileEOArrayList.isEmpty()) {
for (int i = 0; i <attFileEOArrayList.size() ; i++) {
if(rocorArrayList.size()==0){
rocorArrayList.add(attFileEOArrayList.get(i));
}else {
boolean tr = false;
for (int j = 0; j <rocorArrayList.size() ; j++) {
if(!attFileEOArrayList.get(i).getId().equals(rocorArrayList.get(j).getId())){
//首先两个id不能一致 名称一致
if(attFileEOArrayList.get(i).getOldFileName().equals(rocorArrayList.get(j).getOldFileName())){
File file1 = new File("E:/data/slrs/file/" + attFileEOArrayList.get(i).getFilePath() + attFileEOArrayList.get(i).getFileName());
File file2 = new File("E:/data/slrs/file/" + rocorArrayList.get(j).getFilePath() + rocorArrayList.get(j).getFileName());
long length1 = file1.length();
long length2 = file2.length();
if(length1 == length2){
// 存在重复 需要被清除的数据
tr = true;
chongfu.add(attFileEOArrayList.get(i));
logger.info("当前数据为重复数据:=====企业数据id=" + standId+"文件Id:"+attFileEOArrayList.get(i).getId()+"==="+attFileEOArrayList.get(i).getId());
}
}
}
}
if (!tr){
rocorArrayList.add(attFileEOArrayList.get(i));
}
}
}
for (AttFileEO data: attFileEOArrayList) {
notRepetitionList.add(data);
}
if(!chongfu.isEmpty()) {
for (AttFileEO data : attFileEOArrayList) {
for (AttFileEO attFileEO : chongfu) {
if (data.getId().equals(attFileEO.getId())) {
notRepetitionList.remove(data);
}
}
}
}
// 不重复的集合 notRepetitionList
if(!notRepetitionList.isEmpty()) {
for (AttFileEO attFileEO : notRepetitionList) {
if (StringUtils.isNotBlank(strFile)) {
strFile = strFile + "," + attFileEO.getId();
} else {
strFile = attFileEO.getId();
}
}
// 更新数据库
sarBussionessStandEODao.updateByIdInfo(strFile,attfId);
logger.info("更新数据库==="+strFile);
}
// 删除重复的文件
if(!chongfu.isEmpty()){
for (AttFileEO data : chongfu){
if (StringUtils.isNotBlank(strFileInfo)) {
strFileInfo = strFileInfo + "," + data.getId();
} else {
strFileInfo = data.getId();
}
// File file = new File("E:/data/slrs/file/"+data.getFilePath()+data.getOldFileName());
// file.delete();
logger.info("删除文件成功(逻辑删除)======"+data.getFilePath()+data.getOldFileName());
//attFileEOService.deleteById(data.getId());
}
}
}
return "标准Id==="+standId+"修改文件==="+strFile+"删除文件=="+strFileInfo;
}
} }
@@ -0,0 +1,69 @@
package com.keepsoft.devbase.core.util;
import lombok.SneakyThrows;
import org.apache.commons.io.IOUtils;
import javax.net.ssl.*;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
/**
* 此工具类用来解决,请求https时,ssl证书的问题
*/
public class SslUtils {
private static void trustAllHttpsCertificates() throws Exception {
TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new miTM();
trustAllCerts[0] = tm;
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
/**
* 忽略HTTPS请求的SSL证书,必须在openConnection之前调用
* @throws Exception
*/
@SneakyThrows
public static void ignoreSsl() {
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost());
return true;
}
};
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);
}
static class miTM implements TrustManager, X509TrustManager {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(X509Certificate[] certs) {
return true;
}
public void checkServerTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
public void checkClientTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
}
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarRole.dao; package com.adc.da.slrs.sarRole.dao;
import com.adc.da.slrs.sarRole.entity.TsRole; import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Insert;
@@ -105,4 +106,8 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
@Select("select ROLE_ID from ts_user_role where USER_ID = #{userId}") @Select("select ROLE_ID from ts_user_role where USER_ID = #{userId}")
List<String> getRoleByUserId(@Param("userId") String userId); List<String> getRoleByUserId(@Param("userId") String userId);
@Select("select role_id from ts_role_resource where resource_id =#{oldResourceIds}")
List<String> getResourceId(String oldResourceIds);
} }
@@ -14,6 +14,8 @@ import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.enums.MenuEnum; import com.adc.da.slrs.sarRole.enums.MenuEnum;
import com.adc.da.slrs.sarRole.service.ITsRoleService; import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.zlTree.dao.ZlTreeDao;
import com.adc.da.slrs.zlTree.entity.ZlTree;
import com.adc.da.utils.util.ListUtil; import com.adc.da.utils.util.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -24,6 +26,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -46,6 +49,9 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
@Lazy @Lazy
private ISarUserPersonalMenuService sarUserPersonalMenuService; private ISarUserPersonalMenuService sarUserPersonalMenuService;
@Autowired
private ZlTreeDao zlTreeDao;
@Autowired @Autowired
private ITsResourceService tsResourceService; private ITsResourceService tsResourceService;
/** /**
@@ -238,5 +238,4 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("BDTBZH") @TableField("BDTBZH")
private String bdtbzh; private String bdtbzh;
} }
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarStandIdea.service.Impl; package com.adc.da.slrs.sarStandIdea.service.Impl;
import com.adc.da.person.entity.TsPersonCollect;
import com.adc.da.slrs.sarStandIdea.dao.SarPublicIdeaDao; import com.adc.da.slrs.sarStandIdea.dao.SarPublicIdeaDao;
import com.adc.da.slrs.sarStandIdea.entity.SarPublicIdea; import com.adc.da.slrs.sarStandIdea.entity.SarPublicIdea;
@@ -0,0 +1,81 @@
package com.adc.da.slrs.sarStandTranslate.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.slrs.StandardQA.entity.AskUser;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.adc.da.slrs.sarStandTranslate.service.SarStandTranslateService;
import com.adc.da.util.UUIDUtils;
import com.adc.da.util.http.ResponseMessage;
import com.adc.da.util.http.Result;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
/**
* <p>
* 前端控制器
* </p>
*
* @author gjb
* @since 2023/2/23
*/
@RestController
@Api(tags = "流程中心-标准需求(翻译)申请流程")
@RequestMapping("/${restPath}/sarStandTranslate")
@Slf4j
public class SarStandTranslateController extends BaseController<SarStandTranslate> {
@Autowired
private SarStandTranslateService sarStandTranslateService;
/**
* 流程中心,标准需求翻译申请 发起
* @param
* @return
*/
@PostMapping("/addSarStandTranslate")
public ResponseMessage addSarStandTranslate(@RequestBody SarStandTranslate sarStandTranslate){
sarStandTranslate.setId(UUIDUtils.randomUUID20());
if(sarStandTranslateService.save(sarStandTranslate)){
return Result.success("200","添加成功",sarStandTranslate);
}else {
return Result.error("-1","添加失败",null);
}
}
/**
* 流程中心,标准需求翻译审核 回填
* @param
* @return
*/
@PostMapping("/selectSarStandTranslate")
public ResponseMessage selectSarStandTranslate(String id){
SarStandTranslate byId = sarStandTranslateService.getById(id);
if(byId!=null){
return Result.success("200",null,byId);
}else {
return Result.error("-1","失败",null);
}
}
/**
* 流程中心,标准需求翻译申请 审核
* @param
* @return
*/
@PostMapping("/updateSarStandTranslate")
public ResponseMessage updateSarStandTranslate(@RequestBody SarStandTranslate sarStandTranslate){
if(sarStandTranslateService.updateById(sarStandTranslate)){
return Result.success("200","成功",sarStandTranslate);
}else {
return Result.error("-1","失败",null);
}
}
}
@@ -0,0 +1,15 @@
package com.adc.da.slrs.sarStandTranslate.dao;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author gjb
* @since 2023-02-23
*/
public interface SarStandTranslateDao extends BaseMapper<SarStandTranslate> {
}
@@ -0,0 +1,104 @@
package com.adc.da.slrs.sarStandTranslate.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 io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
* 标准需求翻译申请表
* @author gjb
* @since 2023-02-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarStandTranslate对象", description="")
public class SarStandTranslate extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
@ApiModelProperty(value = "申请人")
@TableField("PRORPSER_NAME")
private String proposerName;
@ApiModelProperty(value = "申请单位")
@TableField("PRORPSER_UNIT")
private String proposerUnit;
// @ApiModelProperty(value = "联系电话")
// @TableField("PHONE")
// private String phone;
//
// @ApiModelProperty(value = "邮箱")
// @TableField("MAIL")
// private String mail;
@ApiModelProperty(value = "类型")
@TableField("TYPE")
private String type;
@ApiModelProperty(value = "标准编号")
@TableField("STAND_NUMBER")
private String standNumber;
@ApiModelProperty(value = "标准名称")
@TableField("STAND_NAME")
private String standName;
@ApiModelProperty(value = "需求时间")
@TableField("NEED_TIME")
private String needTime;
@ApiModelProperty(value = "页数/字数")
@TableField("NUMBER_WORDS")
private String numberWords;
@ApiModelProperty(value = "原语言")
@TableField("INITIAL_LANGUAGE")
private String initialLanguage;
@ApiModelProperty(value = "目标语言")
@TableField("GOAL_LANGUAGE")
private String goalLanguage;
@ApiModelProperty(value = "费用出资项目目的项目名称")
@TableField("COST_GOAL_PROECT_NAME")
private String costGoalProectName;
@ApiModelProperty(value = "费用出资项目目的项目编号科目")
@TableField("COST_GOAL_PROECT_NUMBER")
private String costGoalProectNumber;
@ApiModelProperty(value = "是否批准")
@TableField("RATIFY")
private String ratify;
@ApiModelProperty(value = "申请理由")
@TableField("REASON")
private String reason;
@ApiModelProperty(value = "驳回理由")
@TableField("NOT_REASON")
private String notReason;
@ApiModelProperty(value = "费用")
@TableField("COST")
private String cost;
@ApiModelProperty(value = "审核人")
@TableField("AUDIT")
private String audit;
}
@@ -0,0 +1,7 @@
package com.adc.da.slrs.sarStandTranslate.service;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.baomidou.mybatisplus.extension.service.IService;
public interface SarStandTranslateService extends IService<SarStandTranslate> {
}
@@ -0,0 +1,19 @@
package com.adc.da.slrs.sarStandTranslate.service.impl;
import com.adc.da.slrs.sarStandTranslate.dao.SarStandTranslateDao;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.adc.da.slrs.sarStandTranslate.service.SarStandTranslateService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class SarStandTranslateServiceImpl extends ServiceImpl<SarStandTranslateDao, SarStandTranslate> implements SarStandTranslateService {
@Autowired
private SarStandTranslateDao sarStandTranslateDao;
}
@@ -298,6 +298,14 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
} else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) { } else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) {
sarStandardsInfoEO.setMenuId("22179d54d4e640098e29"); sarStandardsInfoEO.setMenuId("22179d54d4e640098e29");
} }
//校验编号和名称是否存在
QueryWrapper<SarStandardsInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber())
.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName());
Integer s1 = sarStandardsInfoEOService.count(queryWrapper);
if (s1>0){
return Result.error("当前标准编号和中文名称已存在");
}
sarStandardsInfoEOService.createSarStandardsInfo(sarStandardsInfoEO); sarStandardsInfoEOService.createSarStandardsInfo(sarStandardsInfoEO);
return Result.success("0", "添加成功", sarStandardsInfoEO); return Result.success("0", "添加成功", sarStandardsInfoEO);
} }
@@ -307,6 +315,14 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
//401问题2021-03-31暂时注释掉 liuhuiwen //401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandardsInfo:updateSarStandardsInfo") // @RequiresPermissions("lawss:sarStandardsInfo:updateSarStandardsInfo")
public ResponseMessage<SarStandardsInfo> updateSarStandardsInfo(@RequestBody SarStandardsInfo sarStandardsInfoEO) throws Exception { public ResponseMessage<SarStandardsInfo> updateSarStandardsInfo(@RequestBody SarStandardsInfo sarStandardsInfoEO) throws Exception {
//校验编号和名称是否存在
QueryWrapper<SarStandardsInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber())
.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName());
List<SarStandardsInfo> list = sarStandardsInfoEOService.list(queryWrapper);
if ((list.size() ==1 && !list.get(0).getId().equals(sarStandardsInfoEO.getId())) || list.size() >1){
return Result.error("当前标准编号和中文名称已存在");
}
int result = sarStandardsInfoEOService.updateSarStandardsInfo(sarStandardsInfoEO); int result = sarStandardsInfoEOService.updateSarStandardsInfo(sarStandardsInfoEO);
if (result > 0) { if (result > 0) {
return Result.success("", "修改成功", sarStandardsInfoEO); return Result.success("", "修改成功", sarStandardsInfoEO);
@@ -882,11 +898,12 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
QueryWrapper<SarStandardsInfo> wrapper=new QueryWrapper<>(); QueryWrapper<SarStandardsInfo> wrapper=new QueryWrapper<>();
wrapper .eq("STAND_TYPE",page.getStandType()) wrapper .eq("STAND_TYPE",page.getStandType())
.eq(null!=page.getStandSort(),"STAND_SORT",page.getStandSort()) .eq(null!=page.getStandSort(),"STAND_SORT",page.getStandSort())
.eq(null!=page.getStandName(),"STAND_NAME",page.getStandName())
.eq(null!=page.getStandNumber(),"STAND_NUMBER",page.getStandNumber()) .eq(null!=page.getStandNumber(),"STAND_NUMBER",page.getStandNumber())
.eq(null!=page.getStandYear(),"STAND_YEAR",page.getStandYear()).eq("VALID_FLAG", 0); .eq(null!=page.getStandYear(),"STAND_YEAR",page.getStandYear()).eq("VALID_FLAG", 0);
Integer s=sarStandardsInfoEOService.count(wrapper); Integer s=sarStandardsInfoEOService.count(wrapper);
if (s>0){ if (s>0){
return Result.error(); return Result.error("当前标准编号或中文名称已存在");
}else { }else {
return Result.success(); return Result.success();
} }
@@ -925,4 +942,20 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
return "1"; return "1";
} }
@ApiOperation(value = "|SarStandardsInfoEO|编号+名称组合为唯一标识(国内海外)")
@PostMapping("/selectOnlyInfo")
public ResponseMessage selectOnlyInfo (@RequestBody SarStandardsInfo sarStandardsInfo){
QueryWrapper<SarStandardsInfo> wrapper=new QueryWrapper<>();
wrapper.eq(null!=sarStandardsInfo.getStandName(),"STAND_NAME",sarStandardsInfo.getStandName())
.eq(null!=sarStandardsInfo.getStandNumber(),"STAND_NUMBER",sarStandardsInfo.getStandNumber());
Integer s=sarStandardsInfoEOService.count(wrapper);
if (s>0){
return Result.error("当前标准编号和中文名称已存在");
}else {
return Result.success();
}
}
} }
@@ -18,6 +18,7 @@ import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarStandFile.service.ISarStandFileService; import com.adc.da.slrs.sarStandFile.service.ISarStandFileService;
import com.adc.da.slrs.sarStandWarning.entity.WarningDate; import com.adc.da.slrs.sarStandWarning.entity.WarningDate;
import com.adc.da.slrs.sarStandWarning.service.Impl.WarningDateServiceImpl; import com.adc.da.slrs.sarStandWarning.service.Impl.WarningDateServiceImpl;
import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController;
import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.att.vo.AttFileVo; import com.adc.da.att.vo.AttFileVo;
@@ -259,6 +260,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
@Autowired @Autowired
private EncryptFileUtils encryptFileUtils; private EncryptFileUtils encryptFileUtils;
// /** // /**
// * 反向操作标准 // * 反向操作标准
// */ // */
@@ -2373,6 +2375,14 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
List<SarStandardsInfo> list = (List<SarStandardsInfo>) map.get("resultList"); List<SarStandardsInfo> list = (List<SarStandardsInfo>) map.get("resultList");
int countSuccess = 0; int countSuccess = 0;
for (SarStandardsInfo sarStandardsInfoEO : list) { for (SarStandardsInfo sarStandardsInfoEO : list) {
//校验编号和名称是否存在
QueryWrapper<SarStandardsInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber())
.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName());
Integer s1 = count(queryWrapper);
if (s1>0){
return Result.error("当前标准编号和中文名称已存在");
}
sarStandardsInfoEO.setStandType(standType); sarStandardsInfoEO.setStandType(standType);
sarStandardsInfoEO.setMenuId(menuId); sarStandardsInfoEO.setMenuId(menuId);
createSarStandardsInfo(sarStandardsInfoEO); createSarStandardsInfo(sarStandardsInfoEO);
@@ -2,6 +2,8 @@ package com.adc.da.slrs.tsRoleMeunData.dao;
import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData; import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface TsRoleMenuDataDao extends BaseMapper<TsRoleMenuData> { public interface TsRoleMenuDataDao extends BaseMapper<TsRoleMenuData> {
@Insert("insert into ts_role_menu_data (role_id,menu_id) values (#{roleId},#{id})")
void save(@Param("roleId") String roleId,@Param("id") String id);
} }
@@ -46,6 +46,8 @@ public class ZlTreeController extends BaseController<ZlTree> {
public ResponseMessage addFileMaterial(@RequestBody ZlTree material){ public ResponseMessage addFileMaterial(@RequestBody ZlTree material){
material.setId(String.valueOf(UUID.randomUUID())); material.setId(String.valueOf(UUID.randomUUID()));
boolean save = iZlTreeService.save(material); boolean save = iZlTreeService.save(material);
//新增后给所有角色配置权限
iZlTreeService.setResource(material);
return Result.success(save); return Result.success(save);
} }
@@ -2,7 +2,11 @@ package com.adc.da.slrs.zlTree.dao;
import com.adc.da.slrs.zlTree.entity.ZlTree; import com.adc.da.slrs.zlTree.entity.ZlTree;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/** /**
* <p> * <p>
@@ -16,4 +20,5 @@ public interface ZlTreeDao extends BaseMapper<ZlTree> {
int topping(@Param("id") String id); int topping(@Param("id") String id);
} }
@@ -1,5 +1,6 @@
package com.adc.da.slrs.zlTree.service; package com.adc.da.slrs.zlTree.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.zlTree.entity.TreeData; import com.adc.da.slrs.zlTree.entity.TreeData;
import com.adc.da.slrs.zlTree.entity.ZlTree; import com.adc.da.slrs.zlTree.entity.ZlTree;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -54,4 +55,6 @@ public interface IZlTreeService extends IService<ZlTree> {
ZlTree queryTree(String treeId); ZlTree queryTree(String treeId);
void subordinateTreeNodes(List<String> treeIds,String parentTreeId); void subordinateTreeNodes(List<String> treeIds,String parentTreeId);
void setResource(ZlTree material);
} }
@@ -1,9 +1,15 @@
package com.adc.da.slrs.zlTree.service.impl; package com.adc.da.slrs.zlTree.service.impl;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService; import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.slrs.sarUser.dao.TsUserDao; import com.adc.da.slrs.sarUser.dao.TsUserDao;
import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.tsRoleMeunData.dao.TsRoleMenuDataDao;
import com.adc.da.slrs.tsRoleMeunData.service.impl.TsRoleMenuDataServiceImpl;
import com.adc.da.slrs.zlTree.dao.ZlTreeDao; import com.adc.da.slrs.zlTree.dao.ZlTreeDao;
import com.adc.da.slrs.zlTree.entity.TreeData; import com.adc.da.slrs.zlTree.entity.TreeData;
import com.adc.da.slrs.zlTree.entity.ZlTree; import com.adc.da.slrs.zlTree.entity.ZlTree;
@@ -40,6 +46,12 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
@Autowired @Autowired
private ITsUserService tsUserService; private ITsUserService tsUserService;
@Autowired
private TsRoleDao tsRoleDao;
@Autowired
TsRoleMenuDataDao tsRoleMenuDataDao;
@Override @Override
public List<TreeData> getLeftTree() { public List<TreeData> getLeftTree() {
// 获取当前登录人 // 获取当前登录人
@@ -173,4 +185,19 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
} }
} }
} }
/**
* 新增后给所有角色配置权限
* @param material
*/
@Override
public void setResource(ZlTree material) {
//获取pid
String pId = material.getParentId();
List<String> roleIds = tsRoleDao.getResourceId(pId);
for (String roleId : roleIds){
tsRoleDao.addResource(roleId,material.getId());
tsRoleMenuDataDao.save(roleId,material.getId());
}
}
} }
@@ -56,6 +56,8 @@ public class FieldConvertUtil {
public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态"; public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态";
public static String exportBaseFieldNamesBussCode = "起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称";
public static String exportAttrFieldNamesBuss = "SVPPS,规范性引用文件,废止日期,复审日期,密级,授权,相关部门," + public static String exportAttrFieldNamesBuss = "SVPPS,规范性引用文件,废止日期,复审日期,密级,授权,相关部门," +
"需会签部门,起草部门,主要起草人,起草分标委,企标文本,过程文本"; "需会签部门,起草部门,主要起草人,起草分标委,企标文本,过程文本";
@@ -167,5 +167,11 @@
where id = #{id} where id = #{id}
</update> </update>
<!-- 查询字段及对应数据-->
<select id="selectInfoStandId" resultType="java.lang.String" parameterType="java.lang.String">
SELECT id
FROM SAR_BUSS_STAND_ATTR_INFO
WHERE valid_flag=0 and stand_id = #{standId}
</select>
</mapper> </mapper>
@@ -1176,4 +1176,82 @@
select usid from SAR_BUSSIONESS_PERSON where QBID=#{qbid} select usid from SAR_BUSSIONESS_PERSON where QBID=#{qbid}
</select> </select>
<insert id="importSarBussionessStand" parameterType="com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand">
insert into SAR_BUSSIONESS_STAND
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="modifyTime != null" >modify_time,</if>
<if test="creationTime != null" >creation_time,</if>
<if test="validFlag != null" >valid_flag,</if>
<if test="standStatus != null" >stand_status,</if>
<if test="replacedStandNum != null" >replaced_stand_num,</if>
<if test="replaceStandNum != null" >replace_stand_num,</if>
<if test="putTime != null" >put_time,</if>
<if test="issueTime != null" >issue_time,</if>
<if test="standEnName != null" >stand_en_name,</if>
<if test="standName != null" >stand_name,</if>
<if test="standCode != null" >stand_code,</if>
<if test="id != null" >id,</if>
<!--数据库新增字段-->
<if test="applyCountry != null" >apply_country,</if>
<if test="standNature != null" >stand_Nature,</if>
<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="revisionStatus != null" >REVISION_STATUS,</if>
<if test="standSn != null" >STAND_SN,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="modifyTime != null" >#{modifyTime, jdbcType=TIMESTAMP},</if>
<if test="creationTime != null" >#{creationTime, jdbcType=TIMESTAMP},</if>
<if test="validFlag != null" >#{validFlag, jdbcType=INTEGER},</if>
<if test="standStatus != null" >#{standStatus, jdbcType=VARCHAR},</if>
<if test="replacedStandNum != null" >#{replacedStandNum, jdbcType=VARCHAR},</if>
<if test="replaceStandNum != null" >#{replaceStandNum, jdbcType=VARCHAR},</if>
<if test="putTime != null" >#{putTime, jdbcType=TIMESTAMP},</if>
<if test="issueTime != null" >#{issueTime, jdbcType=TIMESTAMP},</if>
<if test="standEnName != null" >#{standEnName, jdbcType=VARCHAR},</if>
<if test="standName != null" >#{standName, jdbcType=VARCHAR},</if>
<if test="standCode != null" >#{standCode, jdbcType=VARCHAR},</if>
<if test="id != null" >#{id, jdbcType=VARCHAR},</if>
<!--数据库新增字段-->
<if test="applyCountry != null" >#{applyCountry, jdbcType=VARCHAR},</if>
<if test="standNature != null" >#{standNature, jdbcType=VARCHAR},</if>
<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="revisionStatus != null" >#{revisionStatus, jdbcType=VARCHAR},</if>
<if test="standSn != null" >#{standSn, jdbcType=VARCHAR},</if>
</trim>
</insert>
<select id="selectListInfo" resultType="com.adc.da.slrs.sarBussionessStand.entity.OldSystem">
SELECT
std.id as 'standId',
std.BUILD_ID as 'buildId',
att.id as 'attfid',
att.FBGBUSS as 'fileId'
from sar_bussioness_stand std
left JOIN sar_buss_stand_attr_info att on std.id = att.STAND_ID
where std.BUILD_ID is not null
and att.FBGBUSS is not null
</select>
<select id="getBussionessStandInfo" resultType="com.adc.da.slrs.sarBussionessStand.entity.OldSystem">
SELECT
std.id as 'standId',
att.id as 'attfid',
att.FBGBUSS as 'fileId'
from sar_bussioness_stand std
left JOIN sar_buss_stand_attr_info att on std.id = att.STAND_ID
left join SAR_BUSS_STAND_MENU smenu ON std.id = smenu.buss_stand_id
where 1=1
and att.FBGBUSS is not null
and smenu.MENU_ID = '44'
</select>
<update id="updateByIdInfo" >
update sar_buss_stand_attr_info ss set ss.FBGBUSS = #{strFile}
where id = #{attfId}
</update>
</mapper> </mapper>
@@ -24,4 +24,5 @@ public interface AttFileEODao extends BaseMapper<AttFileEO> {
public int insertData(AttFileEO attFileEO); public int insertData(AttFileEO attFileEO);
void deleteByIdInfo(String str, String id);
} }
@@ -32,4 +32,6 @@ public interface IAttFileEOService extends IService<AttFileEO> {
public AttFileVo insertFileInfo(File file,String fileName); public AttFileVo insertFileInfo(File file,String fileName);
void downLoadFileList(List<AttFileEO> multiFileInfos, String fileNowPath) throws IOException; void downLoadFileList(List<AttFileEO> multiFileInfos, String fileNowPath) throws IOException;
void deleteById(String id);
} }
@@ -23,10 +23,7 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.*;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
@Service("attFileEOService") @Service("attFileEOService")
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
@@ -438,6 +435,17 @@ public class AttFileEOServiceImpl extends ServiceImpl<AttFileEODao, AttFileEO> i
} }
} }
} }
@Override
public void deleteById(String id) {
if(StringUtils.isNotBlank(id)){
String[] s = id.split("_");
List<String> asList = Arrays.asList(s);
String str = "att_file_"+asList.get(2);
baseMapper.deleteByIdInfo(str,id);
}
}
public static void copyFile1(String srcPath, String destPath) throws IOException { public static void copyFile1(String srcPath, String destPath) throws IOException {
// 打开输入流 // 打开输入流
FileInputStream fis = new FileInputStream(srcPath); FileInputStream fis = new FileInputStream(srcPath);
@@ -43,10 +43,10 @@ public class PersonCollectEOController extends BaseController<TsPersonCollect> {
**/ **/
@ApiOperation(value = "|PersonCollectEO|分页查询") @ApiOperation(value = "|PersonCollectEO|分页查询")
@GetMapping("/page") @GetMapping("/page")
public ResponseMessage<IPage<TsPersonCollect>> page(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) throws Exception { public ResponseMessage<IPage<TsPersonCollect>> page(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId,Integer validFlag) throws Exception {
return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,modeType,userId); return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,modeType,userId,validFlag);
} }
@@ -28,7 +28,7 @@ public interface IPersonCollectEOService extends IService<TsPersonCollect> {
int updateByPrimaryKeySelective(TsPersonCollect tsPersonCollect) throws Exception; int updateByPrimaryKeySelective(TsPersonCollect tsPersonCollect) throws Exception;
public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId); public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId,Integer validFlag);
/** /**
* 通过标准号和用户id查询是否收藏此标准 * 通过标准号和用户id查询是否收藏此标准
@@ -133,7 +133,7 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
@Override @Override
public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) { public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId,Integer validFlag) {
BasePage basePage = new BasePage(); BasePage basePage = new BasePage();
QueryWrapper<TsPersonCollect> wrapper = new QueryWrapper<>(); QueryWrapper<TsPersonCollect> wrapper = new QueryWrapper<>();
wrapper.eq("user_id",userId); wrapper.eq("user_id",userId);
@@ -144,6 +144,11 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
List<String> ids = new ArrayList<>(Arrays.asList(modeType.split(","))); List<String> ids = new ArrayList<>(Arrays.asList(modeType.split(",")));
wrapper.in("collect_type",ids); wrapper.in("collect_type",ids);
} }
if (validFlag != null && !validFlag.equals("") && validFlag == 0){//有效
wrapper.eq("valid_flag",validFlag);
}else if (validFlag != null && !validFlag.equals("") && validFlag == 1){//无效
wrapper.eq("valid_flag",validFlag);
}
wrapper.orderByDesc("creation_Time"); wrapper.orderByDesc("creation_Time");
if (pageNo != null) { if (pageNo != null) {
@@ -156,11 +161,9 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
}else{ }else{
basePage.setPageSize(10); basePage.setPageSize(10);
} }
IPage<TsPersonCollect> page = this.page(new Page<>(basePage.getPage(), basePage.getPageSize()), wrapper); IPage<TsPersonCollect> page = this.page(new Page<>(basePage.getPage(), basePage.getPageSize()), wrapper);
//三天以内收藏的 标题名称后面加 new 一小时3600000 一天时间戳 为 86400000 //三天以内收藏的 标题名称后面加 new 一小时3600000 一天时间戳 为 86400000 三天259,200,000
/*long newTime = 86400000; long newTime = 259200000;
Date date = new Date(); Date date = new Date();
long time = date.getTime(); long time = date.getTime();
for (TsPersonCollect data : page.getRecords()){ for (TsPersonCollect data : page.getRecords()){
@@ -170,7 +173,7 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
sb.append("<span style=\'color:red\'>"+"(new)"+"</span>").append(data.getCollectTitle()); sb.append("<span style=\'color:red\'>"+"(new)"+"</span>").append(data.getCollectTitle());
data.setCollectTitle(sb.toString()); data.setCollectTitle(sb.toString());
} }
}*/ }
return Result.success(page); return Result.success(page);
} }
@@ -100,4 +100,8 @@
update ${tableName} set OLD_FILE_NAME = #{oldFileName} where id = #{id} update ${tableName} set OLD_FILE_NAME = #{oldFileName} where id = #{id}
</update> </update>
<delete id="deleteByIdInfo" parameterType="java.lang.String">
delete from ${str} where id = #{id}
</delete>
</mapper> </mapper>