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 3ee1949d..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,8 +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-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/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/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/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 06d18273..b10abc55 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 @@ -416,6 +416,10 @@ public class SarBussionessStandController extends BaseController { void importSarBussionessStand(SarBussionessStand sarBussionessStands); + + List selectListInfo(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/OldSystem.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/OldSystem.java new file mode 100644 index 00000000..b4505ed9 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/OldSystem.java @@ -0,0 +1,33 @@ +package com.adc.da.slrs.sarBussionessStand.entity; + +import lombok.Data; + +@Data +public class OldSystem { + + //kmpro_addon34 与 buss_id 对应 + private String loreDocId; + //lore_depot_sort + private String sortId; + //lore_attache + private String fileSign; + //lore_attache + private String fileSrc; + //lore_depot_sort + private String sortSign; + + //新系统返回数据所需要的 + private String attfid; + + private String standId; + + private String buildId; + + + // 需要组合的数据 + private String attFileId; + + private String original; + + private String Translation; +} 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 6882f179..09f243aa 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 @@ -55,8 +55,9 @@ public interface ISarBussionessStandService extends IService void convertDocAllQB(List list); void checkFileByEncrypt(); + + ResponseMessage emptyFileAnewStorage(); - //导入 - ResponseMessage importSarBussionessStandFile(MultipartFile file) throws Exception; + ResponseMessage importSarBussionessStandFile(MultipartFile file); } 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 19ac146d..86571d60 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 @@ -41,6 +41,7 @@ import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; import com.adc.da.slrs.sarBussStandSn.service.ISarBussStandSnService; import com.adc.da.slrs.sarBussStandVal.dao.SarBussStandValDao; import com.adc.da.slrs.sarBussStandVal.entity.SarBussStandVal; +import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; @@ -55,6 +56,7 @@ 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; @@ -229,6 +231,9 @@ public class SarBussionessStandServiceImpl extends ServiceImpl importSarBussionessStandFile(MultipartFile file) throws Exception { + public ResponseMessage importSarBussionessStandFile(MultipartFile file) { //给出头部信息 String[] headerExcel = {"企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,附件,企标类型,标准年份,"}; @@ -2028,7 +2033,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl SarBussionessStandList = sarBussionessStandEODao.selectListInfo(); + List SarStandardsInfoList = sarStandardsInfoDao.selectListInfo(); + // 获取 kmpro_addon34 表的 lore_doc_id + List oldSystemInfoList = sarStandardsInfoDao.selectOldSystemInfo(); + //组合数据 + List oldArr = new ArrayList(); + List oldInfoArr = new ArrayList(); + //文件id + List fileIdList = new ArrayList<>(); + //文件路径 + List fileSrcList = new ArrayList<>(); + //国内海外 + for (OldSystem oldSystem: oldSystemInfoList){ + for (OldSystem SarStandardsInfo: SarStandardsInfoList){ + //lore_doc_id 与 DUILD_Id + if(StringUtils.isNotBlank(SarStandardsInfo.getBuildId())){ + if(oldSystem.getLoreDocId().equals(SarStandardsInfo.getBuildId())){ + //查询文件是否是多个 是否存在 + List fileList = sarStandardsInfoDao.OldSystemFile(oldSystem.getLoreDocId()); + if(!fileList.isEmpty()){ + if(fileList.size()==1){ + //判断文件是否存在 重新存入文件 获取id 存入att 表 + OldSystem old = new OldSystem(); + File file = new File(fileList.get(0).getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + //文件id 和数据id + if(attFileVo != null) { + fileIdList.add(attFileVo.getId()); + fileSrcList.add(fileList.get(0).getFileSrc()); + old.setStandId(SarStandardsInfo.getStandId()); + old.setSortSign(SarStandardsInfo.getSortSign()); + //判断存入原本版本 还是译文版本 + if (SarStandardsInfo.getSortSign().contains("译")) { + old.setTranslation(attFileVo.getId()); + } else { + old.setOriginal(attFileVo.getId()); + } + oldArr.add(old); + } + }else { + String yuan = ""; + String yi = ""; + OldSystem old = new OldSystem(); + //每一个文件 都是一个英文版 或者译文版 + // 如果每一个文件是 那我必然不能 这样子拼接 + // 应该是先判断他是 英文版 还是译文版 然后再 去拼接 + for (OldSystem src:fileList){ + File file = new File(src.getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + if(attFileVo != null) { + if (SarStandardsInfo.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + attFileVo.getId(); + } else { + yi = attFileVo.getId(); + } + if (StringUtils.isNotBlank(yi)) { + old.setTranslation(yi); + } + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + attFileVo.getId(); + } else { + yuan = attFileVo.getId(); + } + if (StringUtils.isNotBlank(yuan)) { + old.setOriginal(yuan); + } + } + fileSrcList.add(src.getFileSrc()); + fileIdList.add(attFileVo.getId()); + } + } + old.setStandId(SarStandardsInfo.getStandId()); + oldArr.add(old); + } + } + } + } + } + } + // 企业 + for (OldSystem oldSystem: oldSystemInfoList){ + for (OldSystem sarBussionessStand: SarBussionessStandList){ + //lore_doc_id 与 DUILD_Id + if(StringUtils.isNotBlank(sarBussionessStand.getBuildId())){ + if(oldSystem.getLoreDocId().equals(sarBussionessStand.getBuildId())){ + //查询文件是否是多个 是否存在 + List fileList = sarStandardsInfoDao.OldSystemFile(oldSystem.getLoreDocId()); + if(!fileList.isEmpty()){ + if(fileList.size()==1){ + //判断文件是否存在 重新存入文件 获取id 存入att 表 + OldSystem old = new OldSystem(); + File file = new File(fileList.get(0).getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + //文件id 和数据id + if(attFileVo != null) { + fileIdList.add(attFileVo.getId()); + fileSrcList.add(fileList.get(0).getFileSrc()); + old.setStandId(sarBussionessStand.getStandId()); + old.setSortSign(sarBussionessStand.getSortSign()); + //判断存入原本版本 还是译文版本 + if (sarBussionessStand.getSortSign().contains("译")) { + old.setTranslation(attFileVo.getId()); + } else { + old.setOriginal(attFileVo.getId()); + } + oldInfoArr.add(old); + } + }else { + String yuan = ""; + String yi = ""; + OldSystem old = new OldSystem(); + for (OldSystem src:fileList) { + File file = new File(src.getFileSrc()); + AttFileVo attFileVo = attFileEOService.saveFileInfo(file); + if (attFileVo != null) { + if (sarBussionessStand.getSortSign().contains("译")) { + if (StringUtils.isNotBlank(yi)) { + yi = "," + attFileVo.getId(); + } else { + yi = attFileVo.getId(); + } + old.setTranslation(yi); + } else { + if (StringUtils.isNotBlank(yuan)) { + yuan = "," + attFileVo.getId(); + } else { + yuan = attFileVo.getId(); + } + old.setOriginal(yuan); + } + fileSrcList.add(src.getFileSrc()); + fileIdList.add(attFileVo.getId()); + } + } + old.setStandId(sarBussionessStand.getStandId()); + oldInfoArr.add(old); + } + } + } + } + } + } + + // 获取完整数据以后 数据库 增加字段, 然后区分是否是译文 原文 然后 进行保存 通过 id 可以找到对应的数据 + // 企业 + for(OldSystem data : oldInfoArr) { + SarBussStandAttrInfo sarBussStandAttrInfo = new SarBussStandAttrInfo(); + String id = sarBussStandAttrInfoEODao.selectFieldValByStandId("id", data.getStandId()); + if(StringUtils.isNotBlank(id)) { + sarBussStandAttrInfo.setId(id); + sarBussStandAttrInfo.setFbgbuss(data.getOriginal()); + sarBussStandAttrInfo.setTranslation(data.getTranslation()); + } + sarBussStandAttrInfoEODao.updateById(sarBussStandAttrInfo); + } + //海外 国内 + for(OldSystem data : oldInfoArr) { + SarStandAttrInfo sarStandAttrInfo = new SarStandAttrInfo(); + String id = sarStandAttrInfoEODao.selectFieldValByStandId("id", data.getStandId()); + if(StringUtils.isNotBlank(id)) { + sarStandAttrInfo.setId(id); + sarStandAttrInfo.setFbgbjbd(data.getOriginal()); + sarStandAttrInfo.setTranslation(data.getTranslation()); + } + sarStandAttrInfoEODao.updateById(sarStandAttrInfo); + } + //文件删除 +// for (String s : fileSrcList){ +// File file = new File(s); +// file.delete(); +// } + return Result.success(); + } } 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..6ba76937 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,9 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("BDTBZH") private String bdtbzh; + @ApiModelProperty(value = "译文件") + @TableField("TRANSLATION") + private String translation; + } 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 index 8f82841d..9df54259 100644 --- 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 @@ -1,4 +1,104 @@ package com.adc.da.slrs.sarStandTranslate.entity; -public class SarStandTranslate { +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/dao/SarStandardsInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java index dfc26280..9cd6472b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarStandardsInfo.dao; +import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarStandardsInfo.entity.DSarStandardDTO; import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; @@ -99,4 +100,9 @@ public interface SarStandardsInfoDao extends BaseMapper { List dealWithDS(@Param("type") String standType, @Param("status")List strings); + List selectOldSystemInfo(); + + List selectListInfo(); + + List OldSystemFile(@Param("loreDocId") String loreDocId); } 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 870c8a9f..b4bb66ee 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 @@ -1225,4 +1225,12 @@ #{standSn, jdbcType=VARCHAR}, + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml index 620dbeb5..a5344aa3 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml @@ -1888,4 +1888,37 @@ + + + + + +