diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java index fb45a655..5933c188 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java @@ -475,4 +475,6 @@ public interface workFlowFeignClient { String getEsByWk(@RequestParam("prcId")String prcId); @RequestMapping(value = "/bat-wkflow/deleteOAByMandatory",method = RequestMethod.GET) 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); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java index 3ade5857..80395544 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java @@ -422,4 +422,8 @@ public class workFlowFeignClientImpl { public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) { return workFlowFeignClient.deleteOAByMandatory(todoId,assignee); } + + public String selectBusProcessNew(@RequestParam("taskId")String taskId) { + return workFlowFeignClient.selectBusProcessNew(taskId); + } } diff --git a/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java b/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java index f958b680..9a11b8e6 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java +++ b/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java @@ -59,6 +59,10 @@ public class ActDefineStartMap { map.put("25","enterpriseStandardSystemRevisionPlan"); map.put("26","qbzxdlxjh"); + // 问答流程 + map.put("27","wdzxlc"); + // 标准需求(翻译)申请流程 + map.put("28","bzxqfy"); return map.get(type); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java index 04445785..f586c883 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java @@ -953,6 +953,11 @@ public class WorkFlowController { return workFlowFeignClient.getEsByWk(prcId); } + @ApiOperation(value = "首页流程计划立项查询mesg") + @GetMapping("/selectBusProcessNew") + public String selectBusProcessNew(@RequestParam("taskId") String taskId) { + return workFlowFeignClient.selectBusProcessNew(taskId); + } @ApiOperation(value = "OA待办强制删除") @GetMapping("/deleteOAByMandatory") public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) { diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java index c1a52764..cb18e184 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java @@ -5,6 +5,7 @@ import com.adc.da.common.BussEnum; import com.adc.da.common.SarConformStateEnum; import com.adc.da.common.SarStateColorEnum; import com.adc.da.common.SarTypeEnum; +import com.adc.da.exception.AdcDaBaseException; import com.adc.da.http.ResponseMessage; import com.adc.da.login.util.UserUtils; import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; @@ -385,7 +386,6 @@ public class ActSarItemsBussEOService { // attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus()); String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); sarBussionessStand.setSarStandAttrEOStr(resData); - // 根据标准号判断数据是否已存在 //2021年4月9日 此处检查当前是否存在standId String standCode = ""; if(StringUtils.isNotBlank(sarBussionessStand.getStandCode()) && !"null".equals(sarBussionessStand.getStandCode())){ @@ -464,6 +464,14 @@ public class ActSarItemsBussEOService { } else {//标准号、ID都不存在的情况 // 新增方法 sarBussionessStand.setPrcCreateUser(prcCreateUser); + // 根据标准号判断数据是否已存在 + QueryWrapperqueryWrapper = 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 responseMessage = iSarBussionessStandService.createSarBussionessStand(sarBussionessStand); if(responseMessage.isOk()){ SarBussionessStand bussionessStand = responseMessage.getData(); diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java index 4b2c708d..05ae71e6 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java @@ -4,6 +4,8 @@ import com.adc.da.common.PropertyTypeEnum; import com.adc.da.common.SarConformStateEnum; import com.adc.da.common.SarStateColorEnum; 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.person.entity.PersonMsgEO; 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.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -189,6 +192,14 @@ public class ActSarItemsEOService { // attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus()); String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); sarStandardsInfoEO.setSarStandAttrEOStr(resData); + + QueryWrapper 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 String standnumber = ""; diff --git a/adc-da-base/src/main/java/com/adc/da/http/Result.java b/adc-da-base/src/main/java/com/adc/da/http/Result.java index 77ffe02d..5e468ced 100644 --- a/adc-da-base/src/main/java/com/adc/da/http/Result.java +++ b/adc-da-base/src/main/java/com/adc/da/http/Result.java @@ -20,6 +20,10 @@ public class Result { 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 ResponseMessage success(T t) { return new ResponseMessage(ResponseMessageCodeEnum.SUCCESS.getCode(), "", true, t); } diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index 1fb38073..3f94431f 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -61,6 +61,8 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStandState/getSarBussionessStandStateProcessList"); // 提供企标计划数据 addInterceptor.excludePathPatterns("/api/esRevisePlan/es-revise-plan/getAllPlansByWk"); + // 修改企业计划数据 + addInterceptor.excludePathPatterns("/api/esRevisePlan/es-revise-plan/oaUpdatePlans"); //pcms项目数据下发开放接口 addInterceptor.excludePathPatterns("/api/sarStandProjectLibrary/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/downloadFileForSarWaterMarkNew"); addInterceptor.excludePathPatterns("/api/att/attFile/uploadNew"); + addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/importSarBussionessStandFile"); addInterceptor.excludePathPatterns("/api/sarLawsDetailedList/sar-laws-detailed-list/importData"); //doc文檔重新轉換 @@ -164,7 +167,6 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetALLSearchCenterForExits"); - //// //测试接口使用 // addInterceptor.excludePathPatterns("/api/**"); diff --git a/adc-da-main/src/main/resources/application-dev.properties b/adc-da-main/src/main/resources/application-dev.properties index a4aa4373..7e91731a 100644 --- a/adc-da-main/src/main/resources/application-dev.properties +++ b/adc-da-main/src/main/resources/application-dev.properties @@ -3,9 +3,9 @@ # 数据库配置 #============================================= 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.username = tempuser -spring.datasource.password = Fting&8g35g#geg2 +spring.datasource.url = jdbc:mysql://121.36.69.172:3307/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false +spring.datasource.username = root +spring.datasource.password = hzwlsoft.com @@ -18,7 +18,7 @@ application.center=1 #Eureka eureka.client.allow-redirects=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 @@ -37,10 +37,10 @@ spring.mail.port=587 #============================================== # MQ配置 #============================================== -spring.rabbitmq.host=10.100.5.119 +spring.rabbitmq.host=121.36.69.172 spring.rabbitmq.port=5672 spring.rabbitmq.username=admin -spring.rabbitmq.password=foton@admin +spring.rabbitmq.password=hzwlsoft.com spring.rabbitmq.listener.simple.acknowledge-mode= manual # 生产者 默认关闭 发版 需改为 true spring.rabbitmq.listener.direct.auto-startup=true diff --git a/adc-da-main/src/main/resources/application.properties b/adc-da-main/src/main/resources/application.properties index 76632190..7ea71fac 100644 --- a/adc-da-main/src/main/resources/application.properties +++ b/adc-da-main/src/main/resources/application.properties @@ -1,161 +1,323 @@ ############################################## -# 项目启动模式 + +# \u9879\u76EE\u542F\u52A8\u6A21\u5F0F + ############################################## + spring.profiles.active=dev + + ############################################## -#公共配置信息 + +#\u516C\u5171\u914D\u7F6E\u4FE1\u606F + ############################################## + server.compression.enabled=true + server.compression.mime-types=application/json,application/xml,text/html,text/plain,text/css,application/x-javascript -# 端口号设置 -server.port=4202 -#主服务session超时 + +# \u7AEF\u53E3\u53F7\u8BBE\u7F6E + +server.port=10086 + +#\u4E3B\u670D\u52A1session\u8D85\u65F6 + 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 + + # http-only + server.session.cookie.http-only=true + 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-file-size=100MB -#显示sql + + +#\u663E\u793Asql + logging.level.com.adc=DEBUG + logging.level.org.springframework=info -# 请求前缀 + + +# \u8BF7\u6C42\u524D\u7F00 + 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 Server上获取注册信息,默认为true + +##\u662F\u5426\u4ECEEureka Server\u4E0A\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\uFF0C\u9ED8\u8BA4\u4E3Atrue + eureka.client.fetch-registry=true + eureka.instance.prefer-ip-address=true + + + 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 -# 请求处理的超时时间 + +# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4 + 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-location=classpath:mybatis/mybatis-config.xml + mybatis-plus.mapper-locations=classpath*:mybatis/mapper/**/*.xml + + # ======================================== -# activiti 配置信息 + +# activiti \u914D\u7F6E\u4FE1\u606F + # ======================================== + #spring.activiti.database-schema=ACT + spring.activiti.database-schema-update=false + spring.activiti.check-process-definitions=false + spring.activiti.job-executor-activate=false + spring.activiti.process-definition-location-prefix=classpath:/mybatis/mapper/activiti/ + + # ============================================================================= -# 邮箱配置 + +# \u90AE\u7BB1\u914D\u7F6E + # ============================================================================= + mail.valid=false + spring.mail.host=smtp.163.com + spring.mail.protocol=smtp + spring.mail.username=xxx@163.com + spring.mail.password=xxx + spring.mail.properties.smtp.auth=true + spring.mail.properties.smtp.starttls.enable=true + spring.mail.properties.smtp.starttls.required=true + spring.mail.properties.mail.smtp.ssl.enable=true + spring.mail.port=465 -#全球标准法规管理系统 十六进制码 + +#\u5168\u7403\u6807\u51C6\u6CD5\u89C4\u7BA1\u7406\u7CFB\u7EDF \u5341\u516D\u8FDB\u5236\u7801 + mail.personName=E585A8E79083E6A087E58786E6B395E8A784E7AEA1E79086E7B3BBE7BB9F -#邮箱内容中嵌入的系统地址 + +#\u90AE\u7BB1\u5185\u5BB9\u4E2D\u5D4C\u5165\u7684\u7CFB\u7EDF\u5730\u5740 + Lawss.address =http://standard.gacrnd.com:60090 + + + # ========================================= + # login value + # ========================================= + maxLoginErrorCount=3 + 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 + + stand.edit.file.path = /data/slrs/file/ -# onlyoffice 预览地址 + +# onlyoffice \u9884\u89C8\u5730\u5740 + 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 + + # ============================================================================= -# elasticsearch 配置 + +# elasticsearch \u914D\u7F6E + # ============================================================================= + elasticsearch.clustername=elasticsearch -elasticsearch.ip=10.100.5.122 -elasticsearch.port=9300 + +elasticsearch.ip=127.0.0.1 + +elasticsearch.port=9306 + elasticsearch.poolSize=5 + 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 + + # ============================================================================= -# scheduled 配置 + +# scheduled \u914D\u7F6E + # ============================================================================= + isNotScheduled=true diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java index 6ef0837a..9dd5b33f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java @@ -14,18 +14,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.web.bind.annotation.GetMapping; -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 org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; /** * @Author: qk @@ -177,7 +171,15 @@ public class AskQuestionsController extends BaseController { //添加问题分配人员 askUserService.saveBatch(askUserList); if(askQuestionsService.save(askQuestions)){ - return Result.success("200","添加成功",null); + Map objectObjectHashMap = new HashMap<>(); + List 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 { return Result.error("-1","添加失败",null); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java index 2a5421d1..9da0099c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java @@ -58,7 +58,7 @@ public class ReplyController extends BaseController { return Result.error("-1","添加失败"); } } - @PostMapping("/updateReply") + //@PostMapping("/updateReply") public ResponseMessage updateReply(String id){ if(StringUtils.isEmpty(id)){ return Result.error("-1","请选择要归档的回答"); @@ -78,4 +78,16 @@ public class ReplyController extends BaseController { public ResponseMessage updateReply(@RequestBody ReplyPage reply){ return Result.success(replyService.listByPage(reply)); } + + @PostMapping("/updateReply") + public ResponseMessage updateReplyInfo(@RequestBody List replyList){ + if (replyList.isEmpty()){ + return Result.error("-1","编辑失败",null); + } + for(Reply reply: replyList){ + reply.setState("yes"); + } + replyService.updateBatchById(replyList); + return Result.success("200","编辑成功",null); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java index a8058830..0c4cb4f5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java @@ -18,6 +18,7 @@ import io.swagger.annotations.Api; import com.adc.da.base.web.BaseController; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -182,4 +183,10 @@ public class EsRevisePlanController extends BaseController { return Result.success(iEsRevisePlanService.delPlans(ids)); } + @ApiOperation(value = "OA时间添加") + @GetMapping("/oaUpdatePlans") + public ResponseMessage oaUpdatePlans(@RequestParam("esId")String esId, @RequestParam("date") Date date, @RequestParam("s") String s){ + return Result.success(iEsRevisePlanService.oaUpdatePlans(esId,date,s)); + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/entity/EsRevisePlan.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/entity/EsRevisePlan.java index 06ae6697..663f5efc 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/entity/EsRevisePlan.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/entity/EsRevisePlan.java @@ -159,4 +159,14 @@ public class EsRevisePlan extends BasePage { @TableField(exist = false) 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; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/IEsRevisePlanService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/IEsRevisePlanService.java index 6d727bd3..562ac4b4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/IEsRevisePlanService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/IEsRevisePlanService.java @@ -4,6 +4,7 @@ import com.adc.da.http.ResponseMessage; import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Date; import java.util.List; /** @@ -28,4 +29,6 @@ public interface IEsRevisePlanService extends IService { List getDataByName(EsRevisePlan esRevisePlan); List getAllPlansByWk(String esName); + + Object oaUpdatePlans(String esId, Date date, String s);//Ao时间 发送次数 修改 } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java index 79bc10ed..b51ef3f0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java @@ -229,4 +229,14 @@ public class EsRevisePlanServiceImpl extends ServiceImpl selectStandFieldAndData(@Param("fieldInfo") String fieldInfo, @Param("standId") String standId); - void updateFSQR(@Param("id") String id,@Param("time") String time); + String selectInfoStandId(@Param("standId") String standId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/BusProcessEvaluationHis.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/BusProcessEvaluationHis.java new file mode 100644 index 00000000..20135145 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/BusProcessEvaluationHis.java @@ -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; +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java index abe68add..a8be5802 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfo.java @@ -67,6 +67,14 @@ public class SarBussStandAttrInfo extends BaseEntity { @TableField(exist = false) private String glwj; + + @ApiModelProperty(value = "译文件") + @TableField("TRANSLATION") + private String translation; + + @ApiModelProperty(value = "原文件") + @TableField("FBGBUSS") + private String fbgbuss; // // @TableField("SVPPS") // private String svpps; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java new file mode 100644 index 00000000..321d8870 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java @@ -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; + +/** + *

+ * + *

+ * + * @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 attrInfoMap = new LinkedHashMap<>(); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 4c2f496f..a4de21bb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -3,10 +3,12 @@ package com.adc.da.slrs.sarBussionessStand.controller; import com.adc.da.Log.BusinessType; import com.adc.da.Log.EpcLog; +import com.adc.da.common.FileUnZip; import com.adc.da.common.ReadExcel; import com.adc.da.person.service.IPersonCollectEOService; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; 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.service.ITsResourceService; 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.StringUtils; import com.adc.da.utils.util.BussStandExportUtil; +import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.SarAdvanceSearchUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import io.swagger.annotations.Api; 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.HttpServletResponse; +import java.io.File; import java.io.IOException; import java.io.OutputStream; -import java.util.Date; -import java.util.List; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.*; /** *

@@ -74,6 +84,12 @@ public class SarBussionessStandController extends BaseController updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO) throws Exception { + //校验编号和名称是否存在 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(null!=sarBussionessStandEO.getStandNumber(),"STAND_NUMBER",sarBussionessStandEO.getStandNumber()) + .eq(null!=sarBussionessStandEO.getStandName(),"STAND_NAME",sarBussionessStandEO.getStandName()); + List 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()); sarBussionessStandEOService.updateSarBussionessStand(sarBussionessStandEO); return Result.success("","修改成功",sarBussionessStandEO); @@ -375,13 +399,43 @@ public class SarBussionessStandController extends BaseController 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 importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file) throws Exception{ + + return sarBussionessStandEOService.importSarBussionessStandFile(file); + } @ApiOperation(value = "|SarBussionessStand|判断原文译文") @GetMapping("/emptyFileAnewStorage") public ResponseMessage emptyFileAnewStorage (String 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(); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java index 49cef6a8..123043bf 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarBussionessStand.dao; +import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; @@ -118,5 +119,12 @@ public interface SarBussionessStandDao extends BaseMapper { int insertSelective(SarBussionessStand sarBussionessStandEO); + void importSarBussionessStand(SarBussionessStand sarBussionessStands); + + List selectListInfo(); + + List getBussionessStandInfo(); + + void updateByIdInfo(@Param("strFile")String strFile, @Param("attfId")String attfId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java index 090f2a25..7181992b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java @@ -1,12 +1,12 @@ package com.adc.da.slrs.sarBussionessStand.service; 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.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -53,7 +53,12 @@ public interface ISarBussionessStandService extends IService void convertDocAllQB(List list); void checkFileByEncrypt(); - ResponseMessage emptyFileAnewStorage(String type); + + ResponseMessage importSarBussionessStandFile(MultipartFile file)throws Exception; + + ResponseMessage repetitionFile(); + + ResponseMessage newRpetitionFile(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index a5604dd0..5aab4cbe 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -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.esRevisePlan.dao.EsRevisePlanDao; 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.otConvertMq.dao.OtConvertMqDao; import com.adc.da.slrs.otConvertMq.entity.OtConvertMq; 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.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.entity.SarBussStandFile; 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.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService; 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.service.ITsResourceService; import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; +import com.adc.da.slrs.sarStandFile.entity.SarStandFile; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; 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.lang.StringUtils; 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.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -101,6 +129,7 @@ import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** *

@@ -1991,6 +2020,303 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 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 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 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 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 readImpExcelFile(String path) { File file = new File(path); @@ -2158,28 +2484,150 @@ public class SarBussionessStandServiceImpl extends ServiceImpl sarlist) throws Exception { + + //查询字典表,形成Hash映射提升速度 + List dicInfo = dicTypeEODao.getDicInfo("dic_type_code", "dic_type_name"); + Map 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 getAttrMap = row.getAttrInfoMap(); + Map getNewMap = new LinkedHashMap<>(); + if (getAttrMap != null && getAttrMap.size() > 0) { + String svppsTip = ""; + for (Map.Entry 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 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 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 list = Arrays.asList(fieldInfo.split(",")).stream().map(s -> String.format(s.trim())).collect(Collectors.toList()); + + Map 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 newMap = new HashMap<>(); + if(getAttrMap != null){ + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + List 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.流程: - //a.备份并清空新系统中标准下附件 - //识别老系统中原文标签下标准对应新系统标准数据 - //b.将老系统中原文附件迁移至新系统存储空间,涉及到文件的复制和转码(其中转码失败率比较高,需要一定时间) - //c.对应的文件路径储存在新系统数据库中,并且对应挂靠新系统中标准的发布稿原文下 - //d.搜索中心的刷新 - // - //2.关联关系 - //新系统中数据表sar_standards_info表的BUILD_ID字段,对应老系统中数据表kmpro_addon34表的lore_doc_id字段 - // - //老系统中 - //kmpro_addon34表,记录所有标准信息 - //lore_depot_sort 表中Sign字段可以看出是原文或译文 - //lore_attache表中记录附件名称和路径 - // - //新系统中 - //sar_standards_info表,记录所有海外标准信息 - //sar_buss_stand_attr_info表,记录标准对应附件(目前只有发布稿原文的字段,没有发布稿译文的存储字段。。) - //att_file_01——att_file_10表,记录附件对应存储位置 - // + //方案一:清空附件 重新挂靠 + //1.流程: + //a.备份并清空新系统中标准下附件 + //识别老系统中原文标签下标准对应新系统标准数据 + //b.将老系统中原文附件迁移至新系统存储空间,涉及到文件的复制和转码(其中转码失败率比较高,需要一定时间) + //c.对应的文件路径储存在新系统数据库中,并且对应挂靠新系统中标准的发布稿原文下 + //d.搜索中心的刷新 + // + //2.关联关系 + //新系统中数据表sar_standards_info表的BUILD_ID字段,对应老系统中数据表kmpro_addon34表的lore_doc_id字段 + // + //老系统中 + //kmpro_addon34表,记录所有标准信息 + //lore_depot_sort 表中Sign字段可以看出是原文或译文 + //lore_attache表中记录附件名称和路径 + // + //新系统中 + //sar_standards_info表,记录所有海外标准信息 + //sar_buss_stand_attr_info表,记录标准对应附件(目前只有发布稿原文的字段,没有发布稿译文的存储字段。。) + //att_file_01——att_file_10表,记录附件对应存储位置 + // @Override public ResponseMessage emptyFileAnewStorage(String type) { //数据组合 @@ -2197,200 +2645,153 @@ public class SarBussionessStandServiceImpl extends ServiceImpl buildIdList = Arrays.asList(buildIdArr); - if(!buildIdList.isEmpty()){ - for (String bid: buildIdList){ - List OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(bid); - if(!OldSystem1.isEmpty()){ - OldSystem oldSystem =OldSystem1.get(0); - if (oldSystem.getLoreDocId().equals(bid)) { - //通过,号分割文件,通过id去查询文件 获取文件名称 - if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { - if(SarStandardsInfo.getFileId().contains(",")) { - String[] fileIdArr = SarStandardsInfo.getFileId().split(","); - List asList = Arrays.asList(fileIdArr); - if (asList.size() > 0) { - // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 - Set attFileEOS = newFileNameRepetition(asList); - if (attFileEOS.isEmpty()) { - for (String fileId : asList) { - //循环调用每一个 文件 获取文件名称 - String id = fileId; - AttFileEO byId = attFileEOService.getFileInfo(id); - if(byId!=null) { - String theSame = isTheSame(byId.getOldFileName(), bid); - if (theSame.equals("1")) { - //证明找到文件名称一致的了 - OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); - //原文译文 进行判断 - if(sortSign != null) { - if (sortSign.getSortSign().contains("译")) { - if (StringUtils.isNotBlank(yi)) { - yi = yi+"," + fileId; - } else { - yi = fileId; - } - } else { - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan+"," + fileId; - } else { - yuan = fileId; - } - } - } - - } - } - } - } else { - int numberCount = 0; - //只允许2个文件名称相同 - for (AttFileEO data : attFileEOS) { - numberCount = 0; - for (AttFileEO file : attFileEOS) { - if (data.getOldFileName().equals(file.getOldFileName())) { - numberCount = numberCount+1; - } - } - } - if(numberCount==2){ - //1:文件名称重复的情况下 判断文件的大小 大的为中文 小的为英文,一样大则存入 - List attFileEOS1 = newFileNameRepetitionInfo(asList); - // 不相等的数据 notRepeatedFile 重复的文件 attFileEOS - List notRepeatedFile = duplicateFiles(attFileEOS1, attFileEOS); - if(!notRepeatedFile.isEmpty()){ - //不重复数据在老库中是否存在 selectOldSystemFileBuildId - for (AttFileEO file: notRepeatedFile){ - String theSame = isTheSame(file.getOldFileName(), bid); - //1 有相同 -1 无相同 - if(theSame.equals("1")){ + if (StringUtils.isNotBlank(SarStandardsInfo.getBuildId())) { + if(SarStandardsInfo.getBuildId().contains(",")){ + String[] buildIdArr = SarStandardsInfo.getBuildId().split(","); + List buildIdList = Arrays.asList(buildIdArr); + if(!buildIdList.isEmpty()){ + for (String bid: buildIdList){ + List OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(bid); + if(!OldSystem1.isEmpty()){ + OldSystem oldSystem =OldSystem1.get(0); + if (oldSystem.getLoreDocId().equals(bid)) { + //通过,号分割文件,通过id去查询文件 获取文件名称 + if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { + if(SarStandardsInfo.getFileId().contains(",")) { + String[] fileIdArr = SarStandardsInfo.getFileId().split(","); + List asList = Arrays.asList(fileIdArr); + if (asList.size() > 0) { + // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 + Set attFileEOS = newFileNameRepetition(asList); + if (attFileEOS.isEmpty()) { + for (String fileId : asList) { + //循环调用每一个 文件 获取文件名称 + String id = fileId; + AttFileEO byId = attFileEOService.getFileInfo(id); + if(byId!=null) { + String theSame = isTheSame(byId.getOldFileName(), bid); + if (theSame.equals("1")) { //证明找到文件名称一致的了 OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); //原文译文 进行判断 if(sortSign != null) { if (sortSign.getSortSign().contains("译")) { if (StringUtils.isNotBlank(yi)) { - yi = yi+"," + file.getId(); + yi = yi+"," + fileId; } else { - yi = file.getId(); + yi = fileId; } } else { if (StringUtils.isNotBlank(yuan)) { - yuan = yuan+"," + file.getId(); + yuan = yuan+"," + fileId; } else { - yuan = file.getId(); + yuan = fileId; + } + } + } + + } + } + } + } else { + int numberCount = 0; + //只允许2个文件名称相同 + for (AttFileEO data : attFileEOS) { + numberCount = 0; + for (AttFileEO file : attFileEOS) { + if (data.getOldFileName().equals(file.getOldFileName())) { + numberCount = numberCount+1; + } + } + } + if(numberCount==2){ + //1:文件名称重复的情况下 判断文件的大小 大的为中文 小的为英文,一样大则存入 + List attFileEOS1 = newFileNameRepetitionInfo(asList); + // 不相等的数据 notRepeatedFile 重复的文件 attFileEOS + List notRepeatedFile = duplicateFiles(attFileEOS1, attFileEOS); + if(!notRepeatedFile.isEmpty()){ + //不重复数据在老库中是否存在 selectOldSystemFileBuildId + for (AttFileEO file: notRepeatedFile){ + String theSame = isTheSame(file.getOldFileName(), bid); + //1 有相同 -1 无相同 + if(theSame.equals("1")){ + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if(sortSign != null) { + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = yi+"," + file.getId(); + } else { + yi = file.getId(); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan+"," + file.getId(); + } else { + yuan = file.getId(); + } } } } } - } - } else { - //相同文件处理 - List arrayList = new ArrayList<>(); - for (AttFileEO data : attFileEOS) { - arrayList.add(data); - } - String theSame = isTheSame(arrayList.get(0).getOldFileName(), bid); - if (theSame.equals("1")) { - File file1 = new File("E:/data/slrs/file/" + arrayList.get(0).getFilePath() + arrayList.get(0).getFileName()); - File file2 = new File("E:/data/slrs/file/" + arrayList.get(1).getFilePath() + arrayList.get(1).getFileName()); - //判断两个文件大小 //相等 则不做处理 - long length1 = file1.length(); - long length2 = file2.length(); - if (length1 > length2) { - //1 中文 2英文 - if (StringUtils.isNotBlank(yi)) { - yi = yi + "," + arrayList.get(1).getId(); - } else { - yi = arrayList.get(1).getId(); - } - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan + "," + arrayList.get(0).getId(); - } else { - yuan = arrayList.get(0).getId(); - } + } else { + //相同文件处理 + List arrayList = new ArrayList<>(); + for (AttFileEO data : attFileEOS) { + arrayList.add(data); } - if (length1 < length2) { - if (StringUtils.isNotBlank(yi)) { - yi = yi + "," + arrayList.get(0).getId(); - } else { - yi = arrayList.get(0).getId(); + String theSame = isTheSame(arrayList.get(0).getOldFileName(), bid); + if (theSame.equals("1")) { + File file1 = new File("E:/data/slrs/file/" + arrayList.get(0).getFilePath() + arrayList.get(0).getFileName()); + File file2 = new File("E:/data/slrs/file/" + arrayList.get(1).getFilePath() + arrayList.get(1).getFileName()); + //判断两个文件大小 //相等 则不做处理 + long length1 = file1.length(); + long length2 = file2.length(); + if (length1 > length2) { + //1 中文 2英文 + if (StringUtils.isNotBlank(yi)) { + yi = yi + "," + arrayList.get(1).getId(); + } else { + yi = arrayList.get(1).getId(); + } + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan + "," + arrayList.get(0).getId(); + } else { + yuan = arrayList.get(0).getId(); + } } - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan + "," + arrayList.get(1).getId(); - } else { - yuan = arrayList.get(1).getId(); + if (length1 < length2) { + if (StringUtils.isNotBlank(yi)) { + yi = yi + "," + arrayList.get(0).getId(); + } else { + yi = arrayList.get(0).getId(); + } + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan + "," + arrayList.get(1).getId(); + } else { + yuan = arrayList.get(1).getId(); + } } } } + }else { + //记录所有疑问的数据 + OldSystemVo oldSystemVo = new OldSystemVo(); + oldSystemVo.setId(SarStandardsInfo.getStandId()); + oldSystemVo.setStandNumber(SarStandardsInfo.getStandNumber()); + oldSystemVo.setOriginalFileId(SarStandardsInfo.getFileId()); + cannotModifyStandNumberFileList.add(oldSystemVo); } - }else { - //记录所有疑问的数据 - OldSystemVo oldSystemVo = new OldSystemVo(); - oldSystemVo.setId(SarStandardsInfo.getStandId()); - oldSystemVo.setStandNumber(SarStandardsInfo.getStandNumber()); - oldSystemVo.setOriginalFileId(SarStandardsInfo.getFileId()); - cannotModifyStandNumberFileList.add(oldSystemVo); - } - } - } - }else { - String id = SarStandardsInfo.getFileId(); - AttFileEO byId = attFileEOService.getFileInfo(id); - if(byId!=null){ - String theSame = isTheSame(byId.getOldFileName(), bid); - if (theSame.equals("1")) { - //证明找到文件名称一致的了 - OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); - //原文译文 进行判断 - if(sortSign != null) { - if (sortSign.getSortSign().contains("译")) { - if (StringUtils.isNotBlank(yi)) { - yi = yi+"," + SarStandardsInfo.getFileId(); - } else { - yi = SarStandardsInfo.getFileId(); - } - } else { - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan+"," + SarStandardsInfo.getFileId(); - } else { - yuan = SarStandardsInfo.getFileId(); - } - } } } - } - } - } - } - } - } - } - }else { - List OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(SarStandardsInfo.getBuildId()); - if(!OldSystem1.isEmpty()){ - OldSystem oldSystem =OldSystem1.get(0); - if (oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) { - //通过,号分割文件,通过id去查询文件 获取文件名称 - if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { - if(SarStandardsInfo.getFileId().contains(",")) { - String[] fileIdArr = SarStandardsInfo.getFileId().split(","); - List asList = Arrays.asList(fileIdArr); - if (asList.size() > 0) { - // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 - Set attFileEOS = newFileNameRepetition(asList); - if (attFileEOS.isEmpty()) { - for (String fileId : asList) { - //循环调用每一个 文件 获取文件名称 - String id = fileId; + }else { + String id = SarStandardsInfo.getFileId(); AttFileEO byId = attFileEOService.getFileInfo(id); if(byId!=null){ - String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId()); + String theSame = isTheSame(byId.getOldFileName(), bid); if (theSame.equals("1")) { //证明找到文件名称一致的了 OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); @@ -2398,139 +2799,19 @@ public class SarBussionessStandServiceImpl extends ServiceImpl attFileEOS1 = newFileNameRepetitionInfo(asList); - // 不相等的数据 notRepeatedFile 重复的文件 attFileEOS - List notRepeatedFile = duplicateFiles(attFileEOS1, attFileEOS); - if(!notRepeatedFile.isEmpty()){ - //不重复数据在老库中是否存在 selectOldSystemFileBuildId - for (AttFileEO file: notRepeatedFile){ - String theSame = isTheSame(file.getOldFileName(), SarStandardsInfo.getBuildId()); - //1 有相同 -1 无相同 - if(theSame.equals("1")){ - //证明找到文件名称一致的了 - OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); - //原文译文 进行判断 - if(sortSign != null) { - if (sortSign.getSortSign().contains("译")) { - if (StringUtils.isNotBlank(yi)) { - yi = yi+"," + file.getId(); - } else { - yi = file.getId(); - } - } else { - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan+"," + file.getId(); - } else { - yuan = file.getId(); - } + yuan = SarStandardsInfo.getFileId(); } } } } - - }else { - //相同文件处理 - List arrayList = new ArrayList<>(); - for (AttFileEO data : attFileEOS) { - arrayList.add(data); - } - String theSame = isTheSame(arrayList.get(0).getOldFileName(), SarStandardsInfo.getBuildId()); - if (theSame.equals("1")) { - File file1 = new File( "E:/data/slrs/file/" + arrayList.get(0).getFilePath() + arrayList.get(0).getFileName()); - File file2 = new File( "E:/data/slrs/file/" + arrayList.get(1).getFilePath() + arrayList.get(1).getFileName()); - //判断两个文件大小 //相等 则不做处理 - long length1 = file1.length(); - long length2 = file2.length(); - if (length1 > length2) { - //1 中文 2英文 - if (StringUtils.isNotBlank(yi)) { - yi = yi + "," + arrayList.get(1).getId(); - } else { - yi = arrayList.get(1).getId(); - } - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan + "," + arrayList.get(0).getId(); - } else { - yuan = arrayList.get(0).getId(); - } - } - if (length1 < length2) { - if (StringUtils.isNotBlank(yi)) { - yi = yi + "," + arrayList.get(0).getId(); - } else { - yi = arrayList.get(0).getId(); - } - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan + "," + arrayList.get(1).getId(); - } else { - yuan = arrayList.get(1).getId(); - } - } - } - } - }else { - //记录所有疑问的数据 - OldSystemVo oldSystemVo = new OldSystemVo(); - oldSystemVo.setId(SarStandardsInfo.getStandId()); - oldSystemVo.setStandNumber(SarStandardsInfo.getStandNumber()); - oldSystemVo.setOriginalFileId(SarStandardsInfo.getFileId()); - cannotModifyStandNumberFileList.add(oldSystemVo); - } - - } - } - }else { - //循环调用每一个 文件 获取文件名称 - String id = SarStandardsInfo.getFileId(); - AttFileEO byId = attFileEOService.getFileInfo(id); - if(byId!=null){ - String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId()); - if (theSame.equals("1")) { - //证明找到文件名称一致的了 - OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); - //原文译文 进行判断 - if(sortSign != null) { - if (sortSign.getSortSign().contains("译")) { - if (StringUtils.isNotBlank(yi)) { - yi = yi+"," + SarStandardsInfo.getFileId(); - } else { - yi = SarStandardsInfo.getFileId(); - } - } else { - if (StringUtils.isNotBlank(yuan)) { - yuan = yuan+"," + SarStandardsInfo.getFileId(); - } else { - yuan = SarStandardsInfo.getFileId(); - } } } } @@ -2538,11 +2819,178 @@ public class SarBussionessStandServiceImpl extends ServiceImpl OldSystem1 = sarStandardsInfoDao.selectOldSystemInfoByBuidId(SarStandardsInfo.getBuildId()); + if(!OldSystem1.isEmpty()){ + OldSystem oldSystem =OldSystem1.get(0); + if (oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())) { + //通过,号分割文件,通过id去查询文件 获取文件名称 + if (StringUtils.isNotBlank(SarStandardsInfo.getFileId())) { + if(SarStandardsInfo.getFileId().contains(",")) { + String[] fileIdArr = SarStandardsInfo.getFileId().split(","); + List asList = Arrays.asList(fileIdArr); + if (asList.size() > 0) { + // 判断 新系统中的文件是否有名称是一样的 如果有 则跳过 进行记录 没有则 往下走 + Set attFileEOS = newFileNameRepetition(asList); + if (attFileEOS.isEmpty()) { + for (String fileId : asList) { + //循环调用每一个 文件 获取文件名称 + String id = fileId; + AttFileEO byId = attFileEOService.getFileInfo(id); + if(byId!=null){ + String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId()); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if(sortSign != null) { + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = yi+"," + fileId; + } else { + yi = fileId; + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan+"," + fileId; + } else { + yuan = fileId; + } + + } + } + } + } + } + } else { + int numberCount = 0; + //只允许2个文件名称相同 + for (AttFileEO data : attFileEOS) { + numberCount = 0; + for (AttFileEO file : attFileEOS) { + if (data.getOldFileName().equals(file.getOldFileName())) { + numberCount = numberCount+1; + } + } + } + if(numberCount==2){ + //1:文件名称重复的情况下 判断文件的大小 大的为中文 小的为英文,一样大则存入 + List attFileEOS1 = newFileNameRepetitionInfo(asList); + // 不相等的数据 notRepeatedFile 重复的文件 attFileEOS + List notRepeatedFile = duplicateFiles(attFileEOS1, attFileEOS); + if(!notRepeatedFile.isEmpty()){ + //不重复数据在老库中是否存在 selectOldSystemFileBuildId + for (AttFileEO file: notRepeatedFile){ + String theSame = isTheSame(file.getOldFileName(), SarStandardsInfo.getBuildId()); + //1 有相同 -1 无相同 + if(theSame.equals("1")){ + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if(sortSign != null) { + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = yi+"," + file.getId(); + } else { + yi = file.getId(); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan+"," + file.getId(); + } else { + yuan = file.getId(); + } + } + } + } + } + + }else { + //相同文件处理 + List arrayList = new ArrayList<>(); + for (AttFileEO data : attFileEOS) { + arrayList.add(data); + } + String theSame = isTheSame(arrayList.get(0).getOldFileName(), SarStandardsInfo.getBuildId()); + if (theSame.equals("1")) { + File file1 = new File( "E:/data/slrs/file/" + arrayList.get(0).getFilePath() + arrayList.get(0).getFileName()); + File file2 = new File( "E:/data/slrs/file/" + arrayList.get(1).getFilePath() + arrayList.get(1).getFileName()); + //判断两个文件大小 //相等 则不做处理 + long length1 = file1.length(); + long length2 = file2.length(); + if (length1 > length2) { + //1 中文 2英文 + if (StringUtils.isNotBlank(yi)) { + yi = yi + "," + arrayList.get(1).getId(); + } else { + yi = arrayList.get(1).getId(); + } + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan + "," + arrayList.get(0).getId(); + } else { + yuan = arrayList.get(0).getId(); + } + } + if (length1 < length2) { + if (StringUtils.isNotBlank(yi)) { + yi = yi + "," + arrayList.get(0).getId(); + } else { + yi = arrayList.get(0).getId(); + } + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan + "," + arrayList.get(1).getId(); + } else { + yuan = arrayList.get(1).getId(); + } + } + } + } + }else { + //记录所有疑问的数据 + OldSystemVo oldSystemVo = new OldSystemVo(); + oldSystemVo.setId(SarStandardsInfo.getStandId()); + oldSystemVo.setStandNumber(SarStandardsInfo.getStandNumber()); + oldSystemVo.setOriginalFileId(SarStandardsInfo.getFileId()); + cannotModifyStandNumberFileList.add(oldSystemVo); + } + + } + } + }else { + //循环调用每一个 文件 获取文件名称 + String id = SarStandardsInfo.getFileId(); + AttFileEO byId = attFileEOService.getFileInfo(id); + if(byId!=null){ + String theSame = isTheSame(byId.getOldFileName(), SarStandardsInfo.getBuildId()); + if (theSame.equals("1")) { + //证明找到文件名称一致的了 + OldSystem sortSign = sarStandardsInfoDao.loreDepotSort(oldSystem.getSortId()); + //原文译文 进行判断 + if(sortSign != null) { + if (sortSign.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = yi+"," + SarStandardsInfo.getFileId(); + } else { + yi = SarStandardsInfo.getFileId(); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = yuan+"," + SarStandardsInfo.getFileId(); + } else { + yuan = SarStandardsInfo.getFileId(); + } + } + } + } + } + } + } + } + } + } } - - } if (StringUtils.isNotBlank(yi)) { old.setTranslation(yi); } @@ -2565,7 +3013,6 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 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 newFileNameRepetition(List asList){ List attFileEOS = new ArrayList<>(); Set attFileEOArrayList = new HashSet<>(); @@ -3393,4 +3858,117 @@ public class SarBussionessStandServiceImpl extends ServiceImpl objects = new HashSet<>(); + // 名称一致 大小一致 则为重复 + //新系统产品标准 重复附件清除问题 字段修改 文件删除 + List 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 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 asList,String standId,String attfId) { + //重复的集合 + List chongfu = new ArrayList<>(); + //所有数据的集合 + List attFileEOArrayList = new ArrayList<>(); + //辅助循环的集合 + List rocorArrayList = new ArrayList<>(); + //非重复的集合 + List 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 { @Select("select ROLE_ID from ts_user_role where USER_ID = #{userId}") List getRoleByUserId(@Param("userId") String userId); + + @Select("select role_id from ts_role_resource where resource_id =#{oldResourceIds}") + List getResourceId(String oldResourceIds); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java index 93586a44..fc70a78d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java @@ -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.service.ITsRoleService; 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -46,6 +49,9 @@ public class TsRoleServiceImpl extends ServiceImpl implements @Lazy private ISarUserPersonalMenuService sarUserPersonalMenuService; + @Autowired + private ZlTreeDao zlTreeDao; + @Autowired private ITsResourceService tsResourceService; /** diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java index 146b2b83..107a7cef 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java @@ -238,5 +238,4 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("BDTBZH") private String bdtbzh; - } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIdea/service/Impl/SarPublicIdeaServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIdea/service/Impl/SarPublicIdeaServiceImpl.java index d6213731..f55a3fb5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIdea/service/Impl/SarPublicIdeaServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIdea/service/Impl/SarPublicIdeaServiceImpl.java @@ -1,6 +1,7 @@ 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.entity.SarPublicIdea; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/controller/SarStandTranslateController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/controller/SarStandTranslateController.java new file mode 100644 index 00000000..7d8d85da --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/controller/SarStandTranslateController.java @@ -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.*; + +/** + *

+ * 前端控制器 + *

+ * + * @author gjb + * @since 2023/2/23 + */ +@RestController +@Api(tags = "流程中心-标准需求(翻译)申请流程") +@RequestMapping("/${restPath}/sarStandTranslate") +@Slf4j +public class SarStandTranslateController extends BaseController { + + @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); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/dao/SarStandTranslateDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/dao/SarStandTranslateDao.java new file mode 100644 index 00000000..7cb78902 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/dao/SarStandTranslateDao.java @@ -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; + +/** + *

+ * Mapper 接口 + *

+ * + * @author gjb + * @since 2023-02-23 + */ +public interface SarStandTranslateDao extends BaseMapper { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/entity/SarStandTranslate.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/entity/SarStandTranslate.java new file mode 100644 index 00000000..9df54259 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/entity/SarStandTranslate.java @@ -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; + +/** + *

+ * + *

+ * 标准需求翻译申请表 + * @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; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/service/SarStandTranslateService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/service/SarStandTranslateService.java new file mode 100644 index 00000000..44c7ede1 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/service/SarStandTranslateService.java @@ -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 { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/service/impl/SarStandTranslateServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/service/impl/SarStandTranslateServiceImpl.java new file mode 100644 index 00000000..af7230c7 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandTranslate/service/impl/SarStandTranslateServiceImpl.java @@ -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 implements SarStandTranslateService { + + @Autowired + private SarStandTranslateDao sarStandTranslateDao; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java index 7bf2ac8b..89dc5174 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java @@ -298,6 +298,14 @@ public class SarStandardsInfoController extends BaseController } else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) { sarStandardsInfoEO.setMenuId("22179d54d4e640098e29"); } + //校验编号和名称是否存在 + QueryWrapper 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); return Result.success("0", "添加成功", sarStandardsInfoEO); } @@ -307,6 +315,14 @@ public class SarStandardsInfoController extends BaseController //401问题2021-03-31暂时注释掉 liuhuiwen // @RequiresPermissions("lawss:sarStandardsInfo:updateSarStandardsInfo") public ResponseMessage updateSarStandardsInfo(@RequestBody SarStandardsInfo sarStandardsInfoEO) throws Exception { + //校验编号和名称是否存在 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber()) + .eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName()); + List 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); if (result > 0) { return Result.success("", "修改成功", sarStandardsInfoEO); @@ -882,11 +898,12 @@ public class SarStandardsInfoController extends BaseController QueryWrapper wrapper=new QueryWrapper<>(); wrapper .eq("STAND_TYPE",page.getStandType()) .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.getStandYear(),"STAND_YEAR",page.getStandYear()).eq("VALID_FLAG", 0); Integer s=sarStandardsInfoEOService.count(wrapper); if (s>0){ - return Result.error(); + return Result.error("当前标准编号或中文名称已存在"); }else { return Result.success(); } @@ -925,4 +942,20 @@ public class SarStandardsInfoController extends BaseController return "1"; } + @ApiOperation(value = "|SarStandardsInfoEO|编号+名称组合为唯一标识(国内海外)") + @PostMapping("/selectOnlyInfo") + public ResponseMessage selectOnlyInfo (@RequestBody SarStandardsInfo sarStandardsInfo){ + + QueryWrapper 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(); + } + } + + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index d3cad04c..2a7faa7b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -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.sarStandWarning.entity.WarningDate; 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.att.service.IAttFileEOService; import com.adc.da.att.vo.AttFileVo; @@ -259,6 +260,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl list = (List) map.get("resultList"); int countSuccess = 0; for (SarStandardsInfo sarStandardsInfoEO : list) { + //校验编号和名称是否存在 + QueryWrapper 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.setMenuId(menuId); createSarStandardsInfo(sarStandardsInfoEO); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/tsRoleMeunData/dao/TsRoleMenuDataDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/tsRoleMeunData/dao/TsRoleMenuDataDao.java index c1331443..b7ee9949 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/tsRoleMeunData/dao/TsRoleMenuDataDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/tsRoleMeunData/dao/TsRoleMenuDataDao.java @@ -2,6 +2,8 @@ package com.adc.da.slrs.tsRoleMeunData.dao; import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; /** *

@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface TsRoleMenuDataDao extends BaseMapper { + @Insert("insert into ts_role_menu_data (role_id,menu_id) values (#{roleId},#{id})") + void save(@Param("roleId") String roleId,@Param("id") String id); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java index b5eca3ec..af8f2dda 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java @@ -46,6 +46,8 @@ public class ZlTreeController extends BaseController { public ResponseMessage addFileMaterial(@RequestBody ZlTree material){ material.setId(String.valueOf(UUID.randomUUID())); boolean save = iZlTreeService.save(material); + //新增后给所有角色配置权限 + iZlTreeService.setResource(material); return Result.success(save); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/dao/ZlTreeDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/dao/ZlTreeDao.java index e7527d15..91971be7 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/dao/ZlTreeDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/dao/ZlTreeDao.java @@ -2,7 +2,11 @@ package com.adc.da.slrs.zlTree.dao; import com.adc.da.slrs.zlTree.entity.ZlTree; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** *

@@ -16,4 +20,5 @@ public interface ZlTreeDao extends BaseMapper { int topping(@Param("id") String id); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java index e37b374c..6e9ef9f5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java @@ -1,5 +1,6 @@ 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.ZlTree; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -54,4 +55,6 @@ public interface IZlTreeService extends IService { ZlTree queryTree(String treeId); void subordinateTreeNodes(List treeIds,String parentTreeId); + + void setResource(ZlTree material); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java index 4d9a6e88..6784de4f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java @@ -1,9 +1,15 @@ 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.sarRole.dao.TsRoleDao; +import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO; import com.adc.da.slrs.sarRole.service.ITsRoleService; import com.adc.da.slrs.sarUser.dao.TsUserDao; 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.entity.TreeData; import com.adc.da.slrs.zlTree.entity.ZlTree; @@ -40,6 +46,12 @@ public class ZlTreeServiceImpl extends ServiceImpl implements @Autowired private ITsUserService tsUserService; + @Autowired + private TsRoleDao tsRoleDao; + + @Autowired + TsRoleMenuDataDao tsRoleMenuDataDao; + @Override public List getLeftTree() { // 获取当前登录人 @@ -173,4 +185,19 @@ public class ZlTreeServiceImpl extends ServiceImpl implements } } } + + /** + * 新增后给所有角色配置权限 + * @param material + */ + @Override + public void setResource(ZlTree material) { + //获取pid + String pId = material.getParentId(); + List roleIds = tsRoleDao.getResourceId(pId); + for (String roleId : roleIds){ + tsRoleDao.addResource(roleId,material.getId()); + tsRoleMenuDataDao.save(roleId,material.getId()); + } + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java index 1e8f3a1b..1d3cf766 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java @@ -56,6 +56,8 @@ public class FieldConvertUtil { public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态"; + public static String exportBaseFieldNamesBussCode = "起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称"; + public static String exportAttrFieldNamesBuss = "SVPPS,规范性引用文件,废止日期,复审日期,密级,授权,相关部门," + "需会签部门,起草部门,主要起草人,起草分标委,企标文本,过程文本"; diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml index a7b74a5c..5cd9c06a 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandAttrInfo/SarBussStandAttrInfoMapper.xml @@ -167,5 +167,11 @@ where id = #{id} + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index b43f68ff..365a62f4 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -1176,4 +1176,82 @@ select usid from SAR_BUSSIONESS_PERSON where QBID=#{qbid} + + insert into SAR_BUSSIONESS_STAND + + modify_time, + creation_time, + valid_flag, + stand_status, + replaced_stand_num, + replace_stand_num, + put_time, + issue_time, + stand_en_name, + stand_name, + stand_code, + id, + + apply_country, + stand_Nature, + stand_sort, + stand_year, + stand_number, + REVISE_STATUS, + REVISION_STATUS, + STAND_SN, + + + #{modifyTime, jdbcType=TIMESTAMP}, + #{creationTime, jdbcType=TIMESTAMP}, + #{validFlag, jdbcType=INTEGER}, + #{standStatus, jdbcType=VARCHAR}, + #{replacedStandNum, jdbcType=VARCHAR}, + #{replaceStandNum, jdbcType=VARCHAR}, + #{putTime, jdbcType=TIMESTAMP}, + #{issueTime, jdbcType=TIMESTAMP}, + #{standEnName, jdbcType=VARCHAR}, + #{standName, jdbcType=VARCHAR}, + #{standCode, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + + #{applyCountry, jdbcType=VARCHAR}, + #{standNature, jdbcType=VARCHAR}, + #{standSort, jdbcType=VARCHAR}, + #{standYear, jdbcType=VARCHAR}, + #{standNumber, jdbcType=VARCHAR}, + #{reviseStatus, jdbcType=VARCHAR}, + #{revisionStatus, jdbcType=VARCHAR}, + #{standSn, jdbcType=VARCHAR}, + + + + + + + + update sar_buss_stand_attr_info ss set ss.FBGBUSS = #{strFile} + where id = #{attfId} + diff --git a/adc-da-sys/src/main/java/com/adc/da/att/dao/AttFileEODao.java b/adc-da-sys/src/main/java/com/adc/da/att/dao/AttFileEODao.java index b51ade10..7218e09e 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/dao/AttFileEODao.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/dao/AttFileEODao.java @@ -24,4 +24,5 @@ public interface AttFileEODao extends BaseMapper { public int insertData(AttFileEO attFileEO); + void deleteByIdInfo(String str, String id); } diff --git a/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java b/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java index ad3edad4..d7ef8220 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java @@ -32,4 +32,6 @@ public interface IAttFileEOService extends IService { public AttFileVo insertFileInfo(File file,String fileName); void downLoadFileList(List multiFileInfos, String fileNowPath) throws IOException; + + void deleteById(String id); } diff --git a/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java index 7d759ce5..9b178b8b 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java @@ -23,10 +23,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.List; +import java.util.*; @Service("attFileEOService") @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) @@ -438,6 +435,17 @@ public class AttFileEOServiceImpl extends ServiceImpl i } } } + + @Override + public void deleteById(String id) { + if(StringUtils.isNotBlank(id)){ + String[] s = id.split("_"); + List 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 { // 打开输入流 FileInputStream fis = new FileInputStream(srcPath); diff --git a/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java b/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java index 2e91e397..1601197f 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java @@ -43,10 +43,10 @@ public class PersonCollectEOController extends BaseController { **/ @ApiOperation(value = "|PersonCollectEO|分页查询") @GetMapping("/page") - public ResponseMessage> page(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) throws Exception { + public ResponseMessage> 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); } diff --git a/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java b/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java index a68eefaf..ae505a87 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java @@ -28,7 +28,7 @@ public interface IPersonCollectEOService extends IService { int updateByPrimaryKeySelective(TsPersonCollect tsPersonCollect) throws Exception; - public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId); + public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId,Integer validFlag); /** * 通过标准号和用户id查询是否收藏此标准 diff --git a/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java index b8685939..99d16a6f 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java @@ -133,7 +133,7 @@ public class PersonCollectEOServiceImpl extends ServiceImpl> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) { + public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId,Integer validFlag) { BasePage basePage = new BasePage(); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("user_id",userId); @@ -144,6 +144,11 @@ public class PersonCollectEOServiceImpl extends ServiceImpl ids = new ArrayList<>(Arrays.asList(modeType.split(","))); 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"); if (pageNo != null) { @@ -156,11 +161,9 @@ public class PersonCollectEOServiceImpl extends ServiceImpl page = this.page(new Page<>(basePage.getPage(), basePage.getPageSize()), wrapper); - //三天以内收藏的 标题名称后面加 new 一小时3600000 一天时间戳 为 86400000 - /*long newTime = 86400000; + //三天以内收藏的 标题名称后面加 new 一小时3600000 一天时间戳 为 86400000 三天259,200,000 + long newTime = 259200000; Date date = new Date(); long time = date.getTime(); for (TsPersonCollect data : page.getRecords()){ @@ -170,7 +173,7 @@ public class PersonCollectEOServiceImpl extends ServiceImpl"+"(new)"+"").append(data.getCollectTitle()); data.setCollectTitle(sb.toString()); } - }*/ + } return Result.success(page); } diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/att/AttFileEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/att/AttFileEOMapper.xml index 565a95df..1349ee8e 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/att/AttFileEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/att/AttFileEOMapper.xml @@ -100,4 +100,8 @@ update ${tableName} set OLD_FILE_NAME = #{oldFileName} where id = #{id} + + delete from ${str} where id = #{id} + +