Browse Source

fit:三表导入导出

zzw 3 weeks ago
parent
commit
3da8039fc6

+ 0 - 204
assembly/src/main/resources/application-prod.yml

@@ -1,204 +0,0 @@
-spring:
-  jackson:
-    default-property-inclusion: always
-  application:
-    name: base
-  datasource:
-    dynamic:
-      datasource:
-        master:
-          username: root
-          password: Chemicals_20181101!
-          driver-class-name: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://1.71.91.48:3306/chengben?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&allowMultiQueries=true&rewriteBatchedStatements=true
-          druid:
-            filters: stat
-            # druid oracle 验证语句
-            #            validation-query: select 1 from dual
-            connectionProperties:
-              resultSetMetaDataOptions: 1
-            wall:
-              #开启druid允许执行多条SQL
-              multiStatementAllow: true
-            #public-key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIobgl5Uq9fEW2V6dLXqWJKDUZGAA3CCVasj1Yxge3STiWZ1plhxBUQgNgyRYeEUrUHzYPozfm0kL/zLlHMzcnUCAwEAAQ==
-  redis:
-    database: 3
-    host: localhost
-    port: 6379
-    password:
-  #    database: 1
-  #    host: 127.0.0.1
-  #    port: 6379
-  #    password: test123456!@#$%
-
-  activemq:
-    #    broker-url: tcp://10.7.11.111:28163
-    in-memory: true # 单服务部署时可以使用内嵌的mq服务,此时需要注释掉broker-url配置
-    user: admin
-    password: admin
-  kafka:
-    bootstrap-servers: 127.0.0.1:9092
-  rocketmq:
-    namesrvAddr: 127.0.0.1:9876
-
-server:
-  port: 9506
-
-# 1. redis.enable=false 时无论redis.caffeine.enabled配置为true还是false均使用caffeine作为缓存
-# 2. redis.enable=true 且 redis.caffeine.enabled=false 仅仅使用redis作为缓存
-# 3. redis.enable=true 且 redis.caffeine.enabled=true 则caffeine为一级缓存,redis作为二级缓存
-redis:
-  enable: true
-  caffeine:
-    enabled: false
-
-jms:
-  enable: true
-  bpmModel: true
-  bpmRuntime: true # 用于标记该服务有流程运行的服务。 启用消息队列之后,会注册扩展jar包注册/移除,流程测试用例的消费者、
-  portal: true # 用于标记该服务有门户的服务。 启用消息队列之后,会注册消息发送的消费者和日志记录的消费者、
-  uc: true
-  form: true
-# 生产环境需要设置为true 关闭在线接口文档
-swagger:
-  enable: true
-
-# 是否使用mockMvc进行微服务之间的模拟调用 默认为true
-assembly:
-  enableMockMvc: true
-
-# feign配置
-feign:
-  hystrix:
-    enabled: false
-  httpclient:
-    enabled: false
-
-# 是否启用basic认证(注意开启时可以通过auth0请求接口,安全性较低)
-jwt.basic: false
-# 配置日志
-logging:
-  level:
-    # log 级别
-    root: info
-    com.hotent.base.interceptor: debug
-security:
-  enabled: true
-  sql:
-    excludes:
-      - /swagger-resources/configuration/ui
-      - /swagger-resources
-      - /swagger-resources/configuration/security
-      - /swagger-ui.html
-      - /proxy.stream
-      - /hystrix.stream
-      - /druid/*
-      - /hystrix/*
-      - /api/file/v1/*
-      - /api/surveyTemplate/v1/*
-      - /api/surveyTemplate/v1/*
-
-#业务中台 配置信息
-qzSetting:
-  isHiddenDem: true #隐藏维度信息
-  qzPlatformUrl: http://127.0.0.1
-#阿里云消息推送
-push:
-  aliyun_access_key_id: LTAIjE9RuzuEn2WM
-  aliyun_access_key_secret: Z1QOYwXel4EO95WqZoSWbZFIOxCjTI
-  ali_app_android_key: 334584934
-  ali_app_ios_key: 334585202
-
-zabbix:
-  config:
-    url: http://10.7.12.106/api_jsonrpc.php
-    username: Admin
-    password: zabbix
-
-# 电子签章
-signportal:
-  appId:
-  appName:
-  token: ECsGFS4szZ
-  AppSecret: Ka2cIdi1nhm6yxJwkSrqh0xK8M7TwM
-  categoryId: 3293405782780387606
-  url: https://open-sx.qiyuesuo.cn
-  companyList: /company/list
-  companyDetail: /v2/company/detail
-  companyAuth: /companyauth/pcpage
-  companyH5Auth: /companyauth/h5page
-  companyFreeze: /company/freeze
-  companyUnFreeze: /company/unfreeze
-  createContractByFile: /v2/document/createbyfile
-  createContractByCategory: /contract/createbycategory
-  contractList: /contract/list
-  contractSign: /contract/signurl
-  contractDown: /contract/download
-  contractView: /contract/viewurl
-  contractCancel: /contract/cancel
-  contractRecall: /contract/recall
-  sealList: /seal/list
-  sealImage: /seal/image
-  sealCreate: /v2/seal/create
-  sealRecords: /seal/records
-
-# 接口上下行加密码 相关配置 true:加密 false:跳过加密
-securityfilter:
-  enabled: false
-  whitelist:
-    - /public/**
-
-# License 相关配置
-license:
-  # 是否微服务环境 single:单机环境 micro:微服务环境
-  environmentMode: single
-  # 主题
-  subject: license_hotent
-  # 公钥别称
-  publicAlias: publicCert
-  # 访问公钥的密码
-  storePass: P@ssw0rd
-  # license_file 位置
-  licenseFilePath: C:/license/
-  # licenseFilePath: /root/license/
-  # license_key 传输加密设置
-  publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCMnhQ99yP-eEU2jXdQWc6j-wWbqNLqOLinEGBY11WJUCmzHiEycDXPc6-3YMOvrdAiHZcjkMCzU_eRnBLUqkcNw9nhQrCak-sTpEVlAV21LskD6KMf-6PsfttUvpXeCO5g3Hg48F_vbLKxb8s_lcvQgCpKBIpsUdYRcp_PgSg8BQIDAQAB
-  privateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIyeFD33I_54RTaNd1BZzqP7BZuo0uo4uKcQYFjXVYlQKbMeITJwNc9zr7dgw6-t0CIdlyOQwLNT95GcEtSqRw3D2eFCsJqT6xOkRWUBXbUuyQPoox_7o-x-21S-ld4I7mDceDjwX-9ssrFvyz-Vy9CAKkoEimxR1hFyn8-BKDwFAgMBAAECgYBt4JAco2Mi0sPyjrQuux43EE0fhtnYX54aHTfL8-dItrT-24pBKWFCyzkA58HBIuZB4jFZfyC0f-Yxh21HdA60T8EAmHcJubIFOREeQdFbvTDBYuwcrQSmTsJ17yw_qB-DZrbSd0YvpAnJnu1rBhzrcrskQPmaxM4Jv-08aKj8gQJBAMnqpcSi3onhUUVDYnQLJWIGqRjkPdWTgd4-k0JhBwxwGrIMgzsOBS21i7BfSSrKyFRhs6tgMYA0DsfIavwcP5ECQQCySCxbpvaxr8hBKXc0Xy50w4_F1IBNWY47v4kZGEf-DA8LmwtuWb-5Jdnoss8ZFx6rGxD2uZKzHWIwWbIOGmM1AkB3fRuyHOvyzlro0TKvF3V86BIjf9Yz0MH2wjMlAgRI0QKLQSpbxTU9UoUiz5Cd-TjJ7rODhD5m7uecRLdDEHhxAkBkpCGGS6aPf-_H-SR1yBVtjMgooWEcSSXlzKYUKITbgOstXgUB8mAsoJV2qxoFy-tgJBNbdD7AJiI7sSa2l2bRAkEAhjzNzzGqhHnBYrExOtuU7UZlEK-d-2DTS_6b6stokpbZncKI7G65-yX6CILZ798wGI6rzhkzYg1_bcj6b5jptQ
-
-#钉钉参数
-dingSetting:
-  scanUrl: https://login.dingtalk.com/oauth2/auth?response_type=code&scope=openid&prompt=consent
-  appkey: dingqkf5nezhjrjtx9hx1
-  appSecret: MkXEa6mrNvUuOMcpC_DoH6pSADktwOh90PZFk4k1_iorPZ12UEbdDaTlBmpx0ZrP1
-  saveQrcodeUrl: /home/jar/qrcode/
-  redirectUri: http://59.49.99.10:28087/#/dingAuth
-  dingAppIndexUrl: http://10.7.11.111:20080/mobile/index
-  dingFilePath: E:\\tempImg.png
-  #  dingFilePath: /home/jar/dingFile/tempImg.png
-  #钉钉待办任务url
-  #  dingPcTodoUrl: http://10.7.1.163:8081/front
-  #  dingAppTodoUrl: http://10.7.1.163:8082/mobile
-  dingPcTodoUrl: http://10.7.11.111:20080/front/index
-  dingAppTodoUrl: http://10.7.1.223:8082/mobile
-#云信短信
-aliSms:
-  key: 200028
-  secret: hUdqOoFu
-  extno: 10696666888888880050
-  sendUrl: http://39.107.79.35:6688/httpd/yktsms/send
-  reportUrl: http://39.107.79.35:6688/httpd/yktsms/report
-  moUrl: http://39.107.79.35:6688/httpd/yktsms/mo
-  signName: \u3010\u6e05\u4f17\u79d1\u6280\u3011
-
-third:
-  service:
-    urls:
-      - /refreshCustomToken,
-      - /server/**
-
-
-
-assistmg:
-  profile: /home/eip/uploadPath
-  imgUrl: http://1.71.9.215:9506
-  # imgUrl: http://127.0.0.1:9506

+ 7 - 5
assistMg/src/main/java/com/hotent/enterpriseDeclare/controller/material/CostProjectTaskSurveyGenericController.java

@@ -1706,8 +1706,9 @@ public class CostProjectTaskSurveyGenericController {
         }
 
         // 3. 校验每一行的字段是否完整
+        // 注意:rowData的key是fieldName(中文),所以这里也要用fieldName来匹配
         Set<String> expectedFields = headersList.stream()
-                .map(header -> getHeaderFieldEname(header))
+                .map(header -> getHeaderFieldName(header))
                 .filter(StringUtil::isNotEmpty)
                 .collect(Collectors.toSet());
 
@@ -1716,11 +1717,12 @@ public class CostProjectTaskSurveyGenericController {
             Map<String, String> rowData = rowEntry.getValue();
             Set<String> actualFields = rowData.keySet();
 
-            // 检查是否有多余的字段(排除年限列和备注列)
+            // 检查是否有额外字段(排除模板定义的字段、年限列、备注列)
             Set<String> extraFields = new HashSet<>(actualFields);
-            extraFields.removeAll(expectedFields);
-            // 移除年限列(4位数字的字段,如"2024")和备注列(remark)
+            // 先移除年限列(4位数字的字段,如"2024")和备注列(remark)
             extraFields.removeIf(field -> field.matches("\\d{4}") || "remark".equals(field));
+            // 再移除模板定义的字段
+            extraFields.removeAll(expectedFields);
             if (!extraFields.isEmpty()) {
                 errors.add(String.format("行[%s] 包含模板中未定义的字段:%s。固定表不允许添加额外字段。",
                         rowid, String.join(", ", extraFields)));
@@ -3012,7 +3014,7 @@ public class CostProjectTaskSurveyGenericController {
             fieldName = h.getFieldName();
         }
 
-        uploadData.setRkey(StringUtil.isNotEmpty(fieldEname) ? fieldEname : fieldName);
+        uploadData.setRkey(fieldName);
         uploadData.setRvalue(value);
         if (StringUtil.isNotEmpty(periodRecordId)) {
             uploadData.setPeriodRecordId(periodRecordId);

+ 1 - 0
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectApprovalManagerImpl.java

@@ -666,6 +666,7 @@ public class CostProjectApprovalManagerImpl extends BaseManagerImpl<CostProjectA
             }
 
             //设置监审单位
+            record.setAuditedUnitId(unit.getUnitId());
             record.setAuditedUnitName(unit.getUnitName());
         }
         return result;

+ 6 - 1
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectTaskMaterialManagerImpl.java

@@ -3,6 +3,8 @@ package com.hotent.project.manager.impl;
 import java.util.Arrays;
 import java.util.List;
 
+import com.hotent.project.manager.CostProjectTaskManager;
+import com.hotent.project.model.CostProjectTask;
 import com.hotent.surveyinfo.manager.CostSurveyFdTemplateManager;
 import com.hotent.surveyinfo.manager.CostSurveyTemplateManager;
 import com.hotent.surveyinfo.model.CostSurveyFdTemplate;
@@ -38,6 +40,8 @@ public class CostProjectTaskMaterialManagerImpl extends BaseManagerImpl<CostProj
 	@Autowired
 	private CostSurveyFdTemplateManager costSurveyFdTemplateManager;
 
+	@Autowired
+	private CostProjectTaskManager costProjectTaskManager;
 
 	@Override
 	public CostProjectTaskMaterial getDetail(String id) {
@@ -84,7 +88,8 @@ public class CostProjectTaskMaterialManagerImpl extends BaseManagerImpl<CostProj
 					costProjectTaskMaterial.setTemplateType(manager.getTemplateType());
 				}
 			}
-
+			CostProjectTask task = costProjectTaskManager.getById(taskId);
+			costProjectTaskMaterial.setAuditedUnitId(task.getAuditedUnitId()); ;
 		}
 
 		return list;

+ 12 - 0
assistMg/src/main/java/com/hotent/project/model/CostProjectTaskMaterial.java

@@ -123,6 +123,18 @@ public class CostProjectTaskMaterial extends BaseModel<CostProjectTaskMaterial>
     @TableField("file_url")
     private String fileUrl;
 
+    @ApiModelProperty(value = "文件地址")
+    @JsonProperty("auditedUnitId")
+    @TableField("audited_unit_id")
+    private String auditedUnitId;
+
+    public String getAuditedUnitId() {
+        return auditedUnitId;
+    }
+
+    public void setAuditedUnitId(String auditedUnitId) {
+        this.auditedUnitId = auditedUnitId;
+    }
 
     public String getTemplateType() {
         return templateType;

+ 1 - 1
base/src/main/resources/config/application.yml

@@ -135,7 +135,7 @@ mybatis-plus:
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
   global-config:
     db-config:
-      update-strategy: IGNORED # FieldStrategy
+      update-strategy: NOT_NULL # FieldStrategy
   #人大金仓 类转换器
   type-handlers-package: com.hotent.base.kingbaseTypeHandler