Browse Source

Merge branch 'release/v2.2.0' into 'master'

天津大数据功能发布

See merge request dcuc-tjdsj/app-service!52
黄资权 4 years ago
parent
commit
98fdc5cb00
46 changed files with 533 additions and 192 deletions
  1. 5 1
      README.md
  2. 1 1
      dcuc-app-api/pom.xml
  3. 28 2
      dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/IDataResourceFacade.java
  4. 2 1
      dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IDataClaFacade.java
  5. 2 2
      dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IDataLevelFacade.java
  6. 2 2
      dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IDataSecFacade.java
  7. 2 1
      dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IFieldClaFacade.java
  8. 1 1
      dcuc-app-model/pom.xml
  9. 6 2
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/AppResourceDTO.java
  10. 0 1
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/ServiceResourceDTO.java
  11. 4 1
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/ApplyInfo.java
  12. 1 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/DataCla.java
  13. 1 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/DataLevel.java
  14. 1 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/DataSec.java
  15. 1 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/FieldCla.java
  16. 3 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataLevelVo.java
  17. 3 0
      dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataResourceTreeVo.java
  18. 5 5
      dcuc-app-service/pom.xml
  19. 3 2
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/ResourceBusiness.java
  20. 120 16
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java
  21. 4 4
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/DataClaFacade.java
  22. 4 7
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/DataLevelFacade.java
  23. 4 7
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/DataSecFacade.java
  24. 4 4
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/FieldClaFacade.java
  25. 1 1
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/DataClaMapper.java
  26. 1 1
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/DataLevelMapper.java
  27. 1 1
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/DataSecMapper.java
  28. 1 1
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/FieldClaMapper.java
  29. 62 17
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ApplyInfoServiceImpl.java
  30. 2 0
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ResourceServiceImpl.java
  31. 21 4
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ServiceResourceServiceImpl.java
  32. 14 2
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IDataClaService.java
  33. 9 3
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IDataLevelService.java
  34. 8 2
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IDataSecService.java
  35. 15 4
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IFieldClaService.java
  36. 31 20
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/DataClaServiceImpl.java
  37. 34 10
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/DataLevelServiceImpl.java
  38. 37 12
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/DataSecServiceImpl.java
  39. 33 20
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/FieldClaServiceImpl.java
  40. 3 3
      dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/strategy/AppResourceStrategy.java
  41. 0 17
      dcuc-app-service/src/main/resources/config/mysql/V4_1_0004__alert_column.sql
  42. 13 1
      dcuc-app-service/src/main/resources/config/mysql/V4_1_0005__alert_column.sql
  43. 7 4
      dcuc-app-service/src/main/resources/config/mysql/V4_1_0006__sub_auth_init.sql
  44. 9 7
      dcuc-app-service/src/main/resources/config/sql/V4_1_0006__sub_auth_init.sql
  45. 23 1
      dcuc-app-service/src/test/java/com/dragoninfo/dcuc/app/mapper/ApplyInfoMapperTest.java
  46. 1 1
      pom.xml

+ 5 - 1
README.md

@@ -10,4 +10,8 @@
 ### 2.1.2
 ### 2.1.2
   - 新增服务资源目录相关字段 
   - 新增服务资源目录相关字段 
 ### 2.1.3
 ### 2.1.3
-  - 新增根据查询条件查询应用(不分页)
+  - 新增根据查询条件查询应用(不分页)
+### 2.2.0
+  - 数据资源管理 
+  - 应用资源管理
+  - 去除老的审计埋点

+ 1 - 1
dcuc-app-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
     <parent>
         <artifactId>dcuc-app</artifactId>
         <artifactId>dcuc-app</artifactId>
         <groupId>com.dragoninfo</groupId>
         <groupId>com.dragoninfo</groupId>
-        <version>2.1.3-tjdsj-SNAPSHOT</version>
+        <version>2.2.0-tjdsj-SNAPSHOT</version>
     </parent>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 

+ 28 - 2
dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/IDataResourceFacade.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 
 
 import java.util.List;
 import java.util.List;
@@ -35,18 +36,19 @@ public interface IDataResourceFacade {
     List<DataFieldClassifyVo> getFieldClassifyList();
     List<DataFieldClassifyVo> getFieldClassifyList();
 
 
     @ApiOperation(value = "数据资源树")
     @ApiOperation(value = "数据资源树")
-    @ApiImplicitParam(name = "attrType",value = "数据属性类型 TABLE:表 COLUMN:列")
+    @ApiImplicitParam(name = "attrType", value = "数据属性类型 TABLE:表 COLUMN:列")
     @GetMapping(value = "getAllDataResourceTree")
     @GetMapping(value = "getAllDataResourceTree")
     List<DataResourceClassifyVo> getAllDataResourceTree(@RequestParam("attrType") String attrType);
     List<DataResourceClassifyVo> getAllDataResourceTree(@RequestParam("attrType") String attrType);
 
 
     @ApiOperation(value = "数据资源树")
     @ApiOperation(value = "数据资源树")
-    @ApiImplicitParam(name = "typeCode",value = "typeCode类型(数据分级:DATA_CLASSIFY;数据资源分类:DATA_RESOURCE_CLASSIFY;数据安全级别:DATA_SECURITY_LEVEL;字段分类:COLUMN_CLASSIFY)")
+    @ApiImplicitParam(name = "typeCode", value = "typeCode类型(数据分级:DATA_CLASSIFY;数据资源分类:DATA_RESOURCE_CLASSIFY;数据安全级别:DATA_SECURITY_LEVEL;字段分类:COLUMN_CLASSIFY)")
     @GetMapping(value = "getDataResourceTree")
     @GetMapping(value = "getDataResourceTree")
     DataResourceClassifyVo getDataResourceTree(@RequestParam("typeCode") String typeCode);
     DataResourceClassifyVo getDataResourceTree(@RequestParam("typeCode") String typeCode);
 
 
 
 
     /**
     /**
      * 数据分级同步
      * 数据分级同步
+     *
      * @return
      * @return
      */
      */
     @GetMapping(value = "dataLevelSync")
     @GetMapping(value = "dataLevelSync")
@@ -54,6 +56,7 @@ public interface IDataResourceFacade {
 
 
     /**
     /**
      * 数据安全等级同步
      * 数据安全等级同步
+     *
      * @return
      * @return
      */
      */
     @GetMapping(value = "dataSecSync")
     @GetMapping(value = "dataSecSync")
@@ -61,6 +64,7 @@ public interface IDataResourceFacade {
 
 
     /**
     /**
      * 数据资源分类同步
      * 数据资源分类同步
+     *
      * @return
      * @return
      */
      */
     @GetMapping(value = "dataClaSync")
     @GetMapping(value = "dataClaSync")
@@ -68,8 +72,30 @@ public interface IDataResourceFacade {
 
 
     /**
     /**
      * 数据分级同步
      * 数据分级同步
+     *
      * @return
      * @return
      */
      */
     @GetMapping(value = "fieldClaSync")
     @GetMapping(value = "fieldClaSync")
     ResponseStatus fieldClaSync();
     ResponseStatus fieldClaSync();
+
+    /**
+     * 批量获取
+     * 根据id和classifyType获取名字和code值
+     *
+     * @param ids
+     * @param classifyType
+     * @return
+     */
+    @PostMapping(value = "getDetailByIdsAndClaType")
+    List<DataLevelVo> getDetailByIdsAndClaType(@RequestParam("ids") List<String> ids, @RequestParam("classifyType") String classifyType);
+
+    /**
+     * 根据id和classifyType获取名字和code值
+     *
+     * @param id
+     * @param classifyType
+     * @return
+     */
+    @PostMapping(value = "getDetailByIdAndClaType")
+    DataLevelVo getDetailByIdAndClaType(@RequestParam("id") String id, @RequestParam("classifyType") String classifyType);
 }
 }

+ 2 - 1
dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IDataClaFacade.java

@@ -2,6 +2,7 @@ package com.dragoninfo.dcuc.app.facade.sub;
 
 
 import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
@@ -23,7 +24,7 @@ public interface IDataClaFacade {
      * @return
      * @return
      */
      */
     @PostMapping("dataClassifyAdd")
     @PostMapping("dataClassifyAdd")
-    Boolean dataClassifyAdd(@RequestBody DataClaAcceptDTO dto);
+    ResponseStatus dataClassifyAdd(@RequestBody DataClaAcceptDTO dto);
 
 
     /**
     /**
      * 数据资源分类详情
      * 数据资源分类详情

+ 2 - 2
dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IDataLevelFacade.java

@@ -20,8 +20,8 @@ public interface IDataLevelFacade {
      * @param dto
      * @param dto
      * @return
      * @return
      */
      */
-    @PostMapping("saveOrUpdate")
-    DataLevelDTO saveOrUpdate(@RequestBody DataLevelDTO dto);
+    @PostMapping("dataLevelAdd")
+    ResponseStatus dataLevelAdd(@RequestBody DataLevelDTO dto);
 
 
     /**
     /**
      * 查看详情
      * 查看详情

+ 2 - 2
dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IDataSecFacade.java

@@ -20,8 +20,8 @@ public interface IDataSecFacade {
      * @param dto
      * @param dto
      * @return
      * @return
      */
      */
-    @PostMapping("saveOrUpdate")
-    DataSecDTO saveOrUpdate(@RequestBody DataSecDTO dto);
+    @PostMapping("dataLevelAdd")
+    ResponseStatus dataLevelAdd(@RequestBody DataSecDTO dto);
 
 
     /**
     /**
      * 查看详情
      * 查看详情

+ 2 - 1
dcuc-app-api/src/main/java/com/dragoninfo/dcuc/app/facade/sub/IFieldClaFacade.java

@@ -2,6 +2,7 @@ package com.dragoninfo.dcuc.app.facade.sub;
 
 
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
@@ -23,7 +24,7 @@ public interface IFieldClaFacade {
      * @return
      * @return
      */
      */
     @PostMapping("fieldClassifyAdd")
     @PostMapping("fieldClassifyAdd")
-    Boolean fieldClassifyAdd(@RequestBody FieldClaAcceptDTO dto);
+    ResponseStatus fieldClassifyAdd(@RequestBody FieldClaAcceptDTO dto);
 
 
     /**
     /**
      * 两级字段分类修改
      * 两级字段分类修改

+ 1 - 1
dcuc-app-model/pom.xml

@@ -5,7 +5,7 @@
     <parent>
     <parent>
         <artifactId>dcuc-app</artifactId>
         <artifactId>dcuc-app</artifactId>
         <groupId>com.dragoninfo</groupId>
         <groupId>com.dragoninfo</groupId>
-        <version>2.1.3-tjdsj-SNAPSHOT</version>
+        <version>2.2.0-tjdsj-SNAPSHOT</version>
     </parent>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 

+ 6 - 2
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/AppResourceDTO.java

@@ -1,6 +1,5 @@
 package com.dragoninfo.dcuc.app.dto;
 package com.dragoninfo.dcuc.app.dto;
 
 
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
@@ -58,7 +57,7 @@ public class AppResourceDTO extends ResourceDTO implements Serializable {
     /**
     /**
      * 应用系统事权单位代码
      * 应用系统事权单位代码
      */
      */
-    private String managerOrgCode;
+    private String orgCode;
 
 
     /**
     /**
      * 应用英文名称
      * 应用英文名称
@@ -70,6 +69,11 @@ public class AppResourceDTO extends ResourceDTO implements Serializable {
      */
      */
     private String lineTime;
     private String lineTime;
 
 
+    /**
+     * 应用系统说明
+     */
+    private String managerDescribe;
+
     /**
     /**
      * 应用关联菜单DTOs
      * 应用关联菜单DTOs
      */
      */

+ 0 - 1
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/dto/ServiceResourceDTO.java

@@ -49,7 +49,6 @@ public class ServiceResourceDTO extends ResourceDTO implements Serializable {
     /**
     /**
      * 是否自用服务
      * 是否自用服务
      */
      */
-    @NotBlank(message = "是否自用服务不允许为空")
     private String mustSelf;
     private String mustSelf;
     /**
     /**
      * 服务提供应用系统code
      * 服务提供应用系统code

+ 4 - 1
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/ApplyInfo.java

@@ -45,7 +45,10 @@ public class ApplyInfo implements Serializable {
     @ApiModelProperty(value = "所属单位名称")
     @ApiModelProperty(value = "所属单位名称")
     private String orgName;
     private String orgName;
 
 
-    @ApiModelProperty(value = "应用系统事权单位代码")
+    @ApiModelProperty(value = "事权单位代码")
+    private String orgCode;
+
+    @ApiModelProperty(value = "管理单位代码")
     private String managerOrgCode;
     private String managerOrgCode;
 
 
     @ApiModelProperty(value = "管理单位id")
     @ApiModelProperty(value = "管理单位id")

+ 1 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/DataCla.java

@@ -75,6 +75,7 @@ public class DataCla implements Serializable {
      * 是否删除
      * 是否删除
      */
      */
     @TableLogic
     @TableLogic
+    @TableField(jdbcType = JdbcType.VARCHAR,value = "deleted", condition = "%s='0'")
     private String deleted;
     private String deleted;
 
 
 
 

+ 1 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/DataLevel.java

@@ -50,6 +50,7 @@ public class DataLevel implements Serializable {
      * 是否删除
      * 是否删除
      */
      */
     @TableLogic
     @TableLogic
+    @TableField(jdbcType = JdbcType.VARCHAR,value = "deleted", condition = "%s='0'")
     private String deleted;
     private String deleted;
 
 
 
 

+ 1 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/DataSec.java

@@ -49,6 +49,7 @@ public class DataSec implements Serializable {
      * 是否删除
      * 是否删除
      */
      */
     @TableLogic
     @TableLogic
+    @TableField(jdbcType = JdbcType.VARCHAR,value = "deleted", condition = "%s='0'")
     private String deleted;
     private String deleted;
 
 
 
 

+ 1 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/entity/sub/FieldCla.java

@@ -64,6 +64,7 @@ public class FieldCla implements Serializable {
      * 是否删除
      * 是否删除
      */
      */
     @TableLogic
     @TableLogic
+    @TableField(jdbcType = JdbcType.VARCHAR,value = "deleted", condition = "%s='0'")
     private String deleted;
     private String deleted;
 
 
 
 

+ 3 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataLevelVo.java

@@ -2,6 +2,7 @@ package com.dragoninfo.dcuc.app.vo;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 
 /**
 /**
  * @Author: qiuyu
  * @Author: qiuyu
@@ -10,7 +11,9 @@ import lombok.Data;
  */
  */
 @Data
 @Data
 @AllArgsConstructor
 @AllArgsConstructor
+@NoArgsConstructor
 public class DataLevelVo {
 public class DataLevelVo {
+    private String innerId;
     private String levelCode;
     private String levelCode;
     private String levelName;
     private String levelName;
     private String typeCode;
     private String typeCode;

+ 3 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataResourceTreeVo.java

@@ -38,6 +38,9 @@ public class DataResourceTreeVo {
 
 
     @ApiModelProperty(value = "数据资源code与dataType拼接,以|拼接")
     @ApiModelProperty(value = "数据资源code与dataType拼接,以|拼接")
     private String codeDataTypeStr;
     private String codeDataTypeStr;
+
+    @ApiModelProperty(value = "内部使用唯一标识id")
+    private String innerId;
     /**
     /**
      * 添加无参构造器,便于调用端序列化
      * 添加无参构造器,便于调用端序列化
      */
      */

+ 5 - 5
dcuc-app-service/pom.xml

@@ -5,7 +5,7 @@
     <parent>
     <parent>
         <artifactId>dcuc-app</artifactId>
         <artifactId>dcuc-app</artifactId>
         <groupId>com.dragoninfo</groupId>
         <groupId>com.dragoninfo</groupId>
-        <version>2.1.3-tjdsj-SNAPSHOT</version>
+        <version>2.2.0-tjdsj-SNAPSHOT</version>
     </parent>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 
@@ -102,25 +102,25 @@
         <dependency>
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-duceap-api</artifactId>
             <artifactId>dcuc-duceap-api</artifactId>
-            <version>2.1.0-SNAPSHOT</version>
+            <version>2.1.1-SNAPSHOT</version>
         </dependency>
         </dependency>
 
 
         <dependency>
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-org-api</artifactId>
             <artifactId>dcuc-org-api</artifactId>
-            <version>2.0.0-tjdsj-SNAPSHOT</version>
+            <version>2.0.2-tjdsj-SNAPSHOT</version>
         </dependency>
         </dependency>
 
 
         <dependency>
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-user-api</artifactId>
             <artifactId>dcuc-user-api</artifactId>
-            <version>2.1.0-tjdsj-SNAPSHOT</version>
+            <version>2.0.4-tjdsj-SNAPSHOT</version>
         </dependency>
         </dependency>
 
 
         <dependency>
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-auth-api</artifactId>
             <artifactId>dcuc-auth-api</artifactId>
-            <version>2.2.2-tjdsj-SNAPSHOT</version>
+            <version>2.3.0-tjdsj-SNAPSHOT</version>
         </dependency>
         </dependency>
         <!--配置 dcuc 结束-->
         <!--配置 dcuc 结束-->
 
 

+ 3 - 2
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/business/impl/ResourceBusiness.java

@@ -412,9 +412,9 @@ public class ResourceBusiness implements IResourceBusiness {
         dto.setResourceProvider(ResourceTypeEnum.TJ_APP.getResourceProvider());
         dto.setResourceProvider(ResourceTypeEnum.TJ_APP.getResourceProvider());
         String sxrq = appInfoAcceptDTO.getSxrq();
         String sxrq = appInfoAcceptDTO.getSxrq();
         if (StrUtil.isNotBlank(sxrq)) {
         if (StrUtil.isNotBlank(sxrq)) {
-            Date date = null;
+            dto.setLineTime(sxrq);
             try {
             try {
-                date = DateUtils.getDate(sxrq, DateConst.HYPHEN_DISPLAY_TIME);
+                Date date = DateUtils.getDate(sxrq, DateConst.HYPHEN_DISPLAY_TIME);
                 dto.setRegistrationTime(date);
                 dto.setRegistrationTime(date);
             } catch (ParseException e) {
             } catch (ParseException e) {
                 logger.error("Parse error", e);
                 logger.error("Parse error", e);
@@ -422,6 +422,7 @@ public class ResourceBusiness implements IResourceBusiness {
         }
         }
         dto.setApplyCategory(appInfoAcceptDTO.getYyxtfldm());
         dto.setApplyCategory(appInfoAcceptDTO.getYyxtfldm());
         dto.setPoliceSpecies(appInfoAcceptDTO.getGajzfldm());
         dto.setPoliceSpecies(appInfoAcceptDTO.getGajzfldm());
+        dto.setManagerDescribe(appInfoAcceptDTO.getYyxtsm());
         //设置菜单资源
         //设置菜单资源
         List<MenuResourceAcceptDTO> tAppFunctionList = acceptDTO.getTappFunctionList();
         List<MenuResourceAcceptDTO> tAppFunctionList = acceptDTO.getTappFunctionList();
         List<MenuResourceDTO> dtoArrayList = new ArrayList<>();
         List<MenuResourceDTO> dtoArrayList = new ArrayList<>();

+ 120 - 16
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java

@@ -12,10 +12,10 @@ import com.dragoninfo.dcuc.app.entity.sub.DataSec;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
 import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
 import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
 import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
-import com.dragoninfo.dcuc.app.sub.service.IDataClaService;
-import com.dragoninfo.dcuc.app.sub.service.IDataLevelService;
-import com.dragoninfo.dcuc.app.sub.service.IDataSecService;
-import com.dragoninfo.dcuc.app.sub.service.IFieldClaService;
+import com.dragoninfo.dcuc.app.service.sub.IDataClaService;
+import com.dragoninfo.dcuc.app.service.sub.IDataLevelService;
+import com.dragoninfo.dcuc.app.service.sub.IDataSecService;
+import com.dragoninfo.dcuc.app.service.sub.IFieldClaService;
 import com.dragoninfo.dcuc.app.vo.*;
 import com.dragoninfo.dcuc.app.vo.*;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
@@ -23,6 +23,7 @@ import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.google.common.base.Joiner;
 import com.google.common.base.Joiner;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -38,7 +39,8 @@ import java.util.stream.Collectors;
 @Slf4j
 @Slf4j
 @RestController
 @RestController
 @RequestMapping(value = "/dcuc/app/dataResourceFacade")
 @RequestMapping(value = "/dcuc/app/dataResourceFacade")
-public class DataResourceFacade implements IDataResourceFacade {
+public class DataResourceFacade implements IDataResourceFacade
+{
 
 
     public static final String ID_SEPARATOR = "|";
     public static final String ID_SEPARATOR = "|";
 
 
@@ -120,7 +122,8 @@ public class DataResourceFacade implements IDataResourceFacade {
               .dataType(item.getTypeCode())
               .dataType(item.getTypeCode())
               .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + item.getLevelCode() + ID_SEPARATOR + item.getTypeCode())
               .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + item.getLevelCode() + ID_SEPARATOR + item.getTypeCode())
               .treeNode(false)
               .treeNode(false)
-              .pId(dataLevelTreeVo.getId()).build()).collect(Collectors.toList());
+              .pId(dataLevelTreeVo.getId())
+              .innerId(item.getInnerId()).build()).collect(Collectors.toList());
         dataLevelTreeVo.setChild(child);
         dataLevelTreeVo.setChild(child);
 
 
         dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(dataLevelTreeVo);}});
         dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(dataLevelTreeVo);}});
@@ -153,8 +156,8 @@ public class DataResourceFacade implements IDataResourceFacade {
                 .dataType(item.getTypeCode())
                 .dataType(item.getTypeCode())
                 .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + item.getLevelCode() + ID_SEPARATOR + item.getTypeCode())
                 .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + item.getLevelCode() + ID_SEPARATOR + item.getTypeCode())
                 .treeNode(false)
                 .treeNode(false)
-                .pId(securityLevelTree.getId()).build())
-                .collect(Collectors.toList());
+                .pId(securityLevelTree.getId())
+                .innerId(item.getInnerId()).build()).collect(Collectors.toList());
         securityLevelTree.setChild(child);
         securityLevelTree.setChild(child);
         dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(securityLevelTree);}} );
         dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(securityLevelTree);}} );
         //设置总数量
         //设置总数量
@@ -189,7 +192,9 @@ public class DataResourceFacade implements IDataResourceFacade {
         combineTreeNode(secNodes, thirdNodes);
         combineTreeNode(secNodes, thirdNodes);
         combineTreeNode(thirdNodes, fourNodes);
         combineTreeNode(thirdNodes, fourNodes);
         topTreeVo.setChild(firNodes);
         topTreeVo.setChild(firNodes);
-        getTotalCount(topTreeVo);
+
+        //计算总数量
+        resourceVo.setTotal(getTotalCount(topTreeVo));
         resourceVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(topTreeVo);}});
         resourceVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(topTreeVo);}});
         return resourceVo;
         return resourceVo;
     }
     }
@@ -201,6 +206,7 @@ public class DataResourceFacade implements IDataResourceFacade {
                 .dataType(item.getDataType())
                 .dataType(item.getDataType())
                 .label(item.getName())
                 .label(item.getName())
                 .code(item.getCode())
                 .code(item.getCode())
+                .innerId(item.getId())
                 .build();
                 .build();
     }
     }
 
 
@@ -217,11 +223,11 @@ public class DataResourceFacade implements IDataResourceFacade {
         Map<String, List<FieldCla>> levelMap = fieldClaList.stream().collect(Collectors.groupingBy(FieldCla::getLevel));
         Map<String, List<FieldCla>> levelMap = fieldClaList.stream().collect(Collectors.groupingBy(FieldCla::getLevel));
         List<DataResourceTreeVo> firNodes = Optional.ofNullable(levelMap.get(FieldClaTypeEnum.FIR.getLevel())).orElse(new ArrayList<>())
         List<DataResourceTreeVo> firNodes = Optional.ofNullable(levelMap.get(FieldClaTypeEnum.FIR.getLevel())).orElse(new ArrayList<>())
                 .stream().map(item -> convertFieldClaToNode(item, null)).collect(Collectors.toList());
                 .stream().map(item -> convertFieldClaToNode(item, null)).collect(Collectors.toList());
-        List<DataResourceTreeVo> secNodes = Optional.ofNullable(levelMap.get(FieldClaTypeEnum.FIR.getLevel())).orElse(new ArrayList<>())
+        List<DataResourceTreeVo> secNodes = Optional.ofNullable(levelMap.get(FieldClaTypeEnum.SEC.getLevel())).orElse(new ArrayList<>())
                 .stream().map(item -> convertFieldClaToNode(item, item.getFirId())).collect(Collectors.toList());
                 .stream().map(item -> convertFieldClaToNode(item, item.getFirId())).collect(Collectors.toList());
         combineTreeNode(firNodes, secNodes);
         combineTreeNode(firNodes, secNodes);
         topTreeVo.setChild(firNodes);
         topTreeVo.setChild(firNodes);
-        getTotalCount(topTreeVo);
+        resourceVo.setTotal(getTotalCount(topTreeVo));
         resourceVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(topTreeVo);}});
         resourceVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(topTreeVo);}});
         return resourceVo;
         return resourceVo;
     }
     }
@@ -233,6 +239,7 @@ public class DataResourceFacade implements IDataResourceFacade {
                 .dataType(item.getDataType())
                 .dataType(item.getDataType())
                 .label(item.getName())
                 .label(item.getName())
                 .code(item.getCode())
                 .code(item.getCode())
+                .innerId(item.getId())
                 .build();
                 .build();
     }
     }
 
 
@@ -241,7 +248,6 @@ public class DataResourceFacade implements IDataResourceFacade {
         firNodes.forEach(item->{
         firNodes.forEach(item->{
             List<DataResourceTreeVo> childes = secMap.get(item.getId());
             List<DataResourceTreeVo> childes = secMap.get(item.getId());
             item.setChild(childes);
             item.setChild(childes);
-            item.setId(item.getCode());
         });
         });
     }
     }
 
 
@@ -250,7 +256,7 @@ public class DataResourceFacade implements IDataResourceFacade {
     public List<DataLevelVo> getDataLevelList() {
     public List<DataLevelVo> getDataLevelList() {
         List<DataLevel> all = dataLevelService.getAll();
         List<DataLevel> all = dataLevelService.getAll();
         return all.stream()
         return all.stream()
-                .map(item -> new DataLevelVo(item.getLevelCode(), item.getLevelName(), item.getDataType()))
+                .map(item -> new DataLevelVo(item.getId(), item.getLevelCode(), item.getLevelName(), item.getDataType()))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
     }
     }
 
 
@@ -258,7 +264,7 @@ public class DataResourceFacade implements IDataResourceFacade {
     public List<DataLevelVo> getSecurityLevelList() {
     public List<DataLevelVo> getSecurityLevelList() {
         List<DataSec> all = dataSecService.getAll();
         List<DataSec> all = dataSecService.getAll();
         return all.stream()
         return all.stream()
-                .map(item -> new DataLevelVo(item.getSecCode(), item.getSecName(), item.getDataType()))
+                .map(item -> new DataLevelVo(item.getId(), item.getSecCode(), item.getSecName(), item.getDataType()))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
     }
     }
 
 
@@ -352,6 +358,103 @@ public class DataResourceFacade implements IDataResourceFacade {
     }
     }
 
 
 
 
+    @Override
+    public List<DataLevelVo> getDetailByIdsAndClaType(List<String> ids, String classifyType) {
+        List<DataLevelVo> vos= new ArrayList<>();
+        if(CollectionUtils.isEmpty(ids)) {
+            return vos;
+        }
+        if(StringUtils.isBlank(classifyType)) {
+            return vos;
+        }
+        DataResourceEnum anEnum = DataResourceEnum.getByCode(classifyType);
+        if(null == anEnum) {
+            return vos;
+        } else if(DataResourceEnum.COLUMN_CLASSIFY.equals(anEnum)) {
+            List<FieldCla> list = fieldClaService.getByIds(ids);
+            list.stream().map(item->{
+                DataLevelVo vo = new DataLevelVo();
+                vo.setTypeCode(item.getDataType());
+                vo.setLevelName(item.getName());
+                vo.setLevelCode(item.getCode());
+                vo.setInnerId(item.getId());
+                return vo;
+            }).collect(Collectors.toList());
+
+        } else if(DataResourceEnum.DATA_CLASSIFY.equals(anEnum)) {
+            List<DataLevel> list = dataLevelService.getByIds(ids);
+            list.stream().map(item->{
+                DataLevelVo vo = new DataLevelVo();
+                vo.setTypeCode(item.getDataType());
+                vo.setLevelName(item.getLevelName());
+                vo.setLevelCode(item.getLevelCode());
+                vo.setInnerId(item.getId());
+                return vo;
+            }).collect(Collectors.toList());
+
+        } else if(DataResourceEnum.DATA_RESOURCE_CLASSIFY.equals(anEnum)) {
+            List<DataCla> list = dataClaService.getByIds(ids);
+            list.stream().map(item->{
+                DataLevelVo vo = new DataLevelVo();
+                vo.setTypeCode(item.getDataType());
+                vo.setLevelName(item.getName());
+                vo.setLevelCode(item.getCode());
+                vo.setInnerId(item.getId());
+                return vo;
+            }).collect(Collectors.toList());
+
+        } else if(DataResourceEnum.DATA_SECURITY_LEVEL.equals(anEnum)) {
+            List<DataSec> list = dataSecService.getByIds(ids);
+            list.stream().map(item->{
+                DataLevelVo vo = new DataLevelVo();
+                vo.setTypeCode(item.getDataType());
+                vo.setLevelName(item.getSecName());
+                vo.setLevelCode(item.getSecCode());
+                vo.setInnerId(item.getId());
+                return vo;
+            }).collect(Collectors.toList());
+        }
+        return vos;
+    }
+
+    @Override
+    public DataLevelVo getDetailByIdAndClaType(String id, String classifyType) {
+        if(StringUtils.isAnyBlank(id, classifyType)) {
+            return null;
+        }
+        DataLevelVo vo = new DataLevelVo();
+        DataResourceEnum anEnum = DataResourceEnum.getByCode(classifyType);
+        if(null == anEnum) {
+            return null;
+        } else if(DataResourceEnum.COLUMN_CLASSIFY.equals(anEnum)) {
+            FieldCla fieldCla = fieldClaService.getById(id);
+            vo.setInnerId(fieldCla.getId());
+            vo.setLevelCode(fieldCla.getCode());
+            vo.setLevelName(fieldCla.getName());
+            vo.setTypeCode(fieldCla.getDataType());
+        } else if(DataResourceEnum.DATA_CLASSIFY.equals(anEnum)) {
+            DataLevel dataLevel = dataLevelService.getById(id);
+            vo.setInnerId(dataLevel.getId());
+            vo.setLevelCode(dataLevel.getLevelCode());
+            vo.setLevelName(dataLevel.getLevelName());
+            vo.setTypeCode(dataLevel.getDataType());
+        } else if(DataResourceEnum.DATA_RESOURCE_CLASSIFY.equals(anEnum)) {
+            DataCla dataCla = dataClaService.getById(id);
+            vo.setInnerId(dataCla.getId());
+            vo.setLevelCode(dataCla.getId());
+            vo.setLevelName(dataCla.getName());
+            vo.setTypeCode(dataCla.getCode());
+        } else if(DataResourceEnum.DATA_SECURITY_LEVEL.equals(anEnum)) {
+            DataSec dataSec = dataSecService.getById(id);
+            vo.setInnerId(dataSec.getId());
+            vo.setLevelCode(dataSec.getSecCode());
+            vo.setLevelName(dataSec.getSecName());
+            vo.setTypeCode(dataSec.getDataType());
+        }
+        return vo;
+    }
+
+
     /**
     /**
      * 数据资源分类
      * 数据资源分类
      *
      *
@@ -471,6 +574,7 @@ public class DataResourceFacade implements IDataResourceFacade {
             childVo.setId(Joiner.on(ID_SEPARATOR).join(treeVo.getId(), childVo.getCode()));
             childVo.setId(Joiner.on(ID_SEPARATOR).join(treeVo.getId(), childVo.getCode()));
             List<DataResourceTreeVo> cc = childVo.getChild();
             List<DataResourceTreeVo> cc = childVo.getChild();
             if(CollectionUtils.isNotEmpty(cc)){
             if(CollectionUtils.isNotEmpty(cc)){
+                childVo.setTreeNode(true);
                 count += getTotalCount(childVo);
                 count += getTotalCount(childVo);
             }else {
             }else {
                 childVo.setTreeNode(false);
                 childVo.setTreeNode(false);
@@ -487,7 +591,7 @@ public class DataResourceFacade implements IDataResourceFacade {
     private List<DataLevelVo> getDataLevelListFromRemote() {
     private List<DataLevelVo> getDataLevelListFromRemote() {
         return getFirstChildResourceClassifies(dataResourceService.getDataLevelList())
         return getFirstChildResourceClassifies(dataResourceService.getDataLevelList())
                 .stream()
                 .stream()
-                .map(childResourceClassify -> new DataLevelVo(childResourceClassify.getCodeValue(), childResourceClassify.getCodeName(),childResourceClassify.getTypeCode()))
+                .map(childResourceClassify -> new DataLevelVo(null, childResourceClassify.getCodeValue(), childResourceClassify.getCodeName(),childResourceClassify.getTypeCode()))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
     }
     }
 
 
@@ -498,7 +602,7 @@ public class DataResourceFacade implements IDataResourceFacade {
     private List<DataLevelVo> getSecurityLevelListFromRemote() {
     private List<DataLevelVo> getSecurityLevelListFromRemote() {
         return getFirstChildResourceClassifies(dataResourceService.getSecurityLevelList())
         return getFirstChildResourceClassifies(dataResourceService.getSecurityLevelList())
                 .stream()
                 .stream()
-                .map(childResourceClassify -> new DataLevelVo(childResourceClassify.getCodeValue(), childResourceClassify.getCodeName(), childResourceClassify.getTypeCode()))
+                .map(childResourceClassify -> new DataLevelVo(null, childResourceClassify.getCodeValue(), childResourceClassify.getCodeName(), childResourceClassify.getTypeCode()))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
     }
     }
 
 

+ 4 - 4
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/facade/DataClaFacade.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/DataClaFacade.java

@@ -1,10 +1,10 @@
-package com.dragoninfo.dcuc.app.sub.facade;
+package com.dragoninfo.dcuc.app.facade.sub;
 
 
-import com.dragoninfo.dcuc.app.facade.sub.IDataClaFacade;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
-import com.dragoninfo.dcuc.app.sub.service.IDataClaService;
+import com.dragoninfo.dcuc.app.service.sub.IDataClaService;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,7 +28,7 @@ public class DataClaFacade implements IDataClaFacade {
     private IDataClaService dataClaService;
     private IDataClaService dataClaService;
 
 
     @Override
     @Override
-    public Boolean dataClassifyAdd(DataClaAcceptDTO dto) {
+    public ResponseStatus dataClassifyAdd(DataClaAcceptDTO dto) {
         return dataClaService.dataClassifyAdd(dto);
         return dataClaService.dataClassifyAdd(dto);
     }
     }
 
 

+ 4 - 7
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/facade/DataLevelFacade.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/DataLevelFacade.java

@@ -1,9 +1,8 @@
-package com.dragoninfo.dcuc.app.sub.facade;
+package com.dragoninfo.dcuc.app.facade.sub;
 
 
-import com.dragoninfo.dcuc.app.facade.sub.IDataLevelFacade;
 import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
-import com.dragoninfo.dcuc.app.sub.service.IDataLevelService;
+import com.dragoninfo.dcuc.app.service.sub.IDataLevelService;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
@@ -25,10 +24,8 @@ public class DataLevelFacade implements IDataLevelFacade {
 
 
 
 
     @Override
     @Override
-    public DataLevelDTO saveOrUpdate(DataLevelDTO dto) {
-        DataLevel dataLevel = dataLevelService.saveOrUpdate(dto);
-        dto.setId(dataLevel.getId());
-        return dto;
+    public ResponseStatus dataLevelAdd(DataLevelDTO dto) {
+       return dataLevelService.dataLevelAdd(dto);
     }
     }
 
 
     @Override
     @Override

+ 4 - 7
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/facade/DataSecFacade.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/DataSecFacade.java

@@ -1,9 +1,8 @@
-package com.dragoninfo.dcuc.app.sub.facade;
+package com.dragoninfo.dcuc.app.facade.sub;
 
 
-import com.dragoninfo.dcuc.app.facade.sub.IDataSecFacade;
 import com.dragoninfo.dcuc.app.dto.sub.DataSecDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataSecDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
-import com.dragoninfo.dcuc.app.sub.service.IDataSecService;
+import com.dragoninfo.dcuc.app.service.sub.IDataSecService;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
@@ -25,10 +24,8 @@ public class DataSecFacade implements IDataSecFacade {
 
 
 
 
     @Override
     @Override
-    public DataSecDTO saveOrUpdate(DataSecDTO dto) {
-        DataSec sec = dataSecService.saveOrUpdate(dto);
-        dto.setId(sec.getId());
-        return dto;
+    public ResponseStatus dataLevelAdd(DataSecDTO dto) {
+        return dataSecService.dataLevelAdd(dto);
     }
     }
 
 
 
 

+ 4 - 4
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/facade/FieldClaFacade.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/sub/FieldClaFacade.java

@@ -1,10 +1,10 @@
-package com.dragoninfo.dcuc.app.sub.facade;
+package com.dragoninfo.dcuc.app.facade.sub;
 
 
-import com.dragoninfo.dcuc.app.facade.sub.IFieldClaFacade;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
-import com.dragoninfo.dcuc.app.sub.service.IFieldClaService;
+import com.dragoninfo.dcuc.app.service.sub.IFieldClaService;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,7 +26,7 @@ public class FieldClaFacade implements IFieldClaFacade {
     private IFieldClaService fieldClaService;
     private IFieldClaService fieldClaService;
 
 
     @Override
     @Override
-    public Boolean fieldClassifyAdd(FieldClaAcceptDTO dto) {
+    public ResponseStatus fieldClassifyAdd(FieldClaAcceptDTO dto) {
         return fieldClaService.fieldClassifyAdd(dto);
         return fieldClaService.fieldClassifyAdd(dto);
     }
     }
 
 

+ 1 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/mapper/DataClaMapper.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/DataClaMapper.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.app.sub.mapper;
+package com.dragoninfo.dcuc.app.mapper.sub;
 
 
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;

+ 1 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/mapper/DataLevelMapper.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/DataLevelMapper.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.app.sub.mapper;
+package com.dragoninfo.dcuc.app.mapper.sub;
 
 
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;

+ 1 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/mapper/DataSecMapper.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/DataSecMapper.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.app.sub.mapper;
+package com.dragoninfo.dcuc.app.mapper.sub;
 
 
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;

+ 1 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/mapper/FieldClaMapper.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/mapper/sub/FieldClaMapper.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.app.sub.mapper;
+package com.dragoninfo.dcuc.app.mapper.sub;
 
 
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
 import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;

+ 62 - 17
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ApplyInfoServiceImpl.java

@@ -21,6 +21,8 @@ import com.dragoninfo.dcuc.common.utils.LangUtil;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
 import com.dragoninfo.dcuc.duceap.upload.dto.DocContentDTO;
 import com.dragoninfo.dcuc.duceap.upload.dto.DocContentDTO;
 import com.dragoninfo.dcuc.duceap.upload.dto.FileUploadDTO;
 import com.dragoninfo.dcuc.duceap.upload.dto.FileUploadDTO;
+import com.dragoninfo.dcuc.org.entity.OrgInfo;
+import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.uploader.FileHolder;
 import com.dragonsoft.duceap.base.entity.uploader.FileHolder;
@@ -46,11 +48,11 @@ import javax.annotation.Resource;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 
 /**
 /**
  * @author huangzqa
  * @author huangzqa
@@ -85,6 +87,9 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
     @Autowired
     @Autowired
     private IPermissionNotificationFacade permissionNotificationFacade;
     private IPermissionNotificationFacade permissionNotificationFacade;
 
 
+    @Autowired
+    private IOrgInfoFacade orgInfoFacade;
+
     @Override
     @Override
     public ApplyInfo applyDetail(String id) {
     public ApplyInfo applyDetail(String id) {
         return applyInfoMapper.selectById(id);
         return applyInfoMapper.selectById(id);
@@ -108,14 +113,14 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
         List<FileHolder> file = applyInfoDTO.getFile();
         List<FileHolder> file = applyInfoDTO.getFile();
 
 
         String manufacturerId = applyInfo.getManufacturerId();
         String manufacturerId = applyInfo.getManufacturerId();
-        ManufacturerInfo manufacturerInfo = manufacturerInfoService.getOne(manufacturerId);
-        if (manufacturerInfo != null) {
-            String manufacturerName = manufacturerInfo.getManufacturerName();
-            applyInfo.setManufacturerName(manufacturerName);
+        if(StringUtils.isNotBlank(manufacturerId)) {
+            ManufacturerInfo manufacturerInfo = manufacturerInfoService.getOne(manufacturerId);
+            if (manufacturerInfo != null) {
+                String manufacturerName = manufacturerInfo.getManufacturerName();
+                applyInfo.setManufacturerName(manufacturerName);
+            }
         }
         }
 
 
-
-
         String applyCode = applyInfo.getApplyCode();
         String applyCode = applyInfo.getApplyCode();
         String secretKey = getApiKeys(applyCode);
         String secretKey = getApiKeys(applyCode);
         String apiKey = getApiKeys(applyCode);
         String apiKey = getApiKeys(applyCode);
@@ -129,7 +134,9 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
         applyOauthService.saveOauth(applyInfo);
         applyOauthService.saveOauth(applyInfo);
         String id = applyInfo.getId();
         String id = applyInfo.getId();
         // 保存图片
         // 保存图片
-        saveOrUpdateFile(id, file);
+        if(null != file) {
+            saveOrUpdateFile(id, file);
+        }
 
 
         sendMessage(applyInfo, "应用表信息新增", AppMsgTypeEnum.SAVE);
         sendMessage(applyInfo, "应用表信息新增", AppMsgTypeEnum.SAVE);
 
 
@@ -156,6 +163,9 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
         String orgId = applyInfo.getOrgId();
         String orgId = applyInfo.getOrgId();
         //旧应用
         //旧应用
         ApplyInfo oldApplyInfo = applyInfoMapper.selectById(id);
         ApplyInfo oldApplyInfo = applyInfoMapper.selectById(id);
+        if(null == oldApplyInfo) {
+            return null;
+        }
         String oldOrgId = oldApplyInfo.getOrgId();
         String oldOrgId = oldApplyInfo.getOrgId();
 
 
         applyInfo.setDeleted(BooleanEnum.FALSE.getValue());
         applyInfo.setDeleted(BooleanEnum.FALSE.getValue());
@@ -164,7 +174,7 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
         applyInfoMapper.updateById(applyInfo);
         applyInfoMapper.updateById(applyInfo);
 
 
         // 更新施工人员冗余信息
         // 更新施工人员冗余信息
-        if (!oldOrgId.equals(orgId)) {
+        if (StringUtils.isNotBlank(orgId) && StringUtils.isNotBlank(oldOrgId) && !oldOrgId.equals(orgId)) {
             eventPublisher.publishUpdateUserInfoEvent(new UpdateUserInfoEventDTO(applyInfo));
             eventPublisher.publishUpdateUserInfoEvent(new UpdateUserInfoEventDTO(applyInfo));
         }
         }
         if (CollectionUtils.isNotEmpty(file)) {
         if (CollectionUtils.isNotEmpty(file)) {
@@ -325,6 +335,11 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
             byte[] fileData = fileContent.getFileData();
             byte[] fileData = fileContent.getFileData();
             InputStream inputStream = new ByteArrayInputStream(fileData);
             InputStream inputStream = new ByteArrayInputStream(fileData);
             List<ApplyInfo> list = loadInfo(inputStream);
             List<ApplyInfo> list = loadInfo(inputStream);
+            if(list.size() > 1000) {
+                return ResponseStatus.fail("300","导入数据超过1000行");
+            }
+            //设置事权单位id和code
+            setOrgInfos(list);
             saveAll(list);
             saveAll(list);
         }catch (IOException e) {
         }catch (IOException e) {
             return ResponseStatus.fail("300","导入文件类型错误");
             return ResponseStatus.fail("300","导入文件类型错误");
@@ -337,6 +352,28 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
 
 
     }
     }
 
 
+    private void setOrgInfos(List<ApplyInfo> list) {
+        if(CollectionUtils.isEmpty(list)) {
+            return;
+        }
+        List<ApplyInfo> apps = list.stream()
+                .filter(item -> StringUtils.isNotBlank(item.getOrgCode()))
+                .collect(Collectors.toList());
+        List<String> orgCodes = apps.stream().map(ApplyInfo::getOrgCode).collect(Collectors.toList());
+        if(CollectionUtils.isNotEmpty(orgCodes)) {
+            List<OrgInfo> orgInfos = orgInfoFacade.getOrgsByCodes(orgCodes);
+            Map<String, OrgInfo> map = orgInfos.stream().collect(Collectors.toMap(OrgInfo::getCode, item->item, (old,last)->last));
+            for (ApplyInfo app : apps) {
+                String orgCode = app.getOrgCode();
+                OrgInfo orgInfo = map.get(orgCode);
+                if(orgInfo != null) {
+                    app.setOrgId(orgInfo.getId());
+                    app.setOrgName(orgInfo.getFullName());
+                }
+            }
+        }
+    }
+
     @Override
     @Override
     public List<ApplyInfo> findList(String applyStatus) {
     public List<ApplyInfo> findList(String applyStatus) {
         LambdaQueryWrapper<ApplyInfo> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<ApplyInfo> queryWrapper = new LambdaQueryWrapper<>();
@@ -354,7 +391,7 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
         return applyInfoMapper.selectList(wrapper);
         return applyInfoMapper.selectList(wrapper);
     }
     }
 
 
-    private List<ApplyInfo> loadInfo(InputStream inputStream) throws IOException {
+    private List<ApplyInfo> loadInfo(InputStream inputStream) throws IOException, ParseException {
         //根据指定的文件输入流导入Excel从而产生Workbook对象
         //根据指定的文件输入流导入Excel从而产生Workbook对象
         Workbook wb0 = new HSSFWorkbook(inputStream);
         Workbook wb0 = new HSSFWorkbook(inputStream);
         //获取Excel文档中的第一个表单
         //获取Excel文档中的第一个表单
@@ -369,7 +406,7 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
                 //循环每行的每一列
                 //循环每行的每一列
                 ApplyInfo entity = new ApplyInfo();
                 ApplyInfo entity = new ApplyInfo();
                 boolean isAllEmpty = true;
                 boolean isAllEmpty = true;
-                for (int i = 0; i < 8; i++){
+                for (int i = 0; i < 10; i++){
                     Cell cell = r.getCell(i);
                     Cell cell = r.getCell(i);
                     if (cell != null){
                     if (cell != null){
                         r.getCell(i).setCellType(Cell.CELL_TYPE_STRING);
                         r.getCell(i).setCellType(Cell.CELL_TYPE_STRING);
@@ -380,7 +417,7 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
                     }
                     }
                 }
                 }
                 if (!isAllEmpty){
                 if (!isAllEmpty){
-                    for (int i = 0; i < 8; i++) {
+                    for (int i = 0; i < 10; i++) {
                         Cell cell = r.getCell(i);
                         Cell cell = r.getCell(i);
                         if (cell != null){
                         if (cell != null){
                             r.getCell(i).setCellType(Cell.CELL_TYPE_STRING);
                             r.getCell(i).setCellType(Cell.CELL_TYPE_STRING);
@@ -656,7 +693,15 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
             case 4:
             case 4:
 
 
                 if (StringUtils.isNotEmpty(value)){
                 if (StringUtils.isNotEmpty(value)){
-                    resource.setLineTime(value);
+                    try {
+                        SimpleDateFormat importFormat = new SimpleDateFormat("yyyyMMdd");
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        Date parse = importFormat.parse(value);
+                        value = format.format(parse);
+                        resource.setLineTime(value);
+                    } catch (ParseException e) {
+                        throw new NumberFormatException("第" + (row + 1) + "行'上线时间'格式错误");
+                    }
                 }
                 }
                 break;
                 break;
             case 5:
             case 5:
@@ -669,7 +714,7 @@ public class ApplyInfoServiceImpl extends BaseMybatisService<ApplyInfo, String>
                 if (value.length() > 255) {
                 if (value.length() > 255) {
                     throw new NumberFormatException("第" + (row + 1) + "行'应用系统事权单位代码'长度大于255!");
                     throw new NumberFormatException("第" + (row + 1) + "行'应用系统事权单位代码'长度大于255!");
                 }
                 }
-                resource.setManagerOrgCode(value);
+                resource.setOrgCode(value);
                 break;
                 break;
             case 7:
             case 7:
                 if (value.length() > 255) {
                 if (value.length() > 255) {

+ 2 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ResourceServiceImpl.java

@@ -351,9 +351,11 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
         dto.setBuildUnitCode(acceptDTO.getYyxtsqdwdm());
         dto.setBuildUnitCode(acceptDTO.getYyxtsqdwdm());
         dto.setManagerUnitCode(acceptDTO.getYyxtgldwdm());
         dto.setManagerUnitCode(acceptDTO.getYyxtgldwdm());
         dto.setContractUnit(acceptDTO.getYyxtcjdwmc());
         dto.setContractUnit(acceptDTO.getYyxtcjdwmc());
+        dto.setManagerDescribe(acceptDTO.getYyxtsm());
         dto.setDeleted(acceptDTO.getXtzxbs());
         dto.setDeleted(acceptDTO.getXtzxbs());
         String sxrq = acceptDTO.getSxrq();
         String sxrq = acceptDTO.getSxrq();
         if(!StringUtils.isEmpty(sxrq)){
         if(!StringUtils.isEmpty(sxrq)){
+            dto.setLineTime(sxrq);
             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             try {
             try {
                 Date parse = format.parse(sxrq);
                 Date parse = format.parse(sxrq);

+ 21 - 4
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/impl/ServiceResourceServiceImpl.java

@@ -13,6 +13,7 @@ import com.dragoninfo.dcuc.app.service.IServiceResourceService;
 import com.dragoninfo.dcuc.app.vo.ServiceResourceVo;
 import com.dragoninfo.dcuc.app.vo.ServiceResourceVo;
 import com.dragoninfo.dcuc.auth.auth.enumresources.YesNotEnum;
 import com.dragoninfo.dcuc.auth.auth.enumresources.YesNotEnum;
 import com.dragoninfo.dcuc.duceap.enums.ServiceProvideWayEnum;
 import com.dragoninfo.dcuc.duceap.enums.ServiceProvideWayEnum;
+import com.dragoninfo.dcuc.duceap.enums.ServiceResourceTypeEnum;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
 import com.dragoninfo.dcuc.duceap.upload.dto.DocContentDTO;
 import com.dragoninfo.dcuc.duceap.upload.dto.DocContentDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
@@ -31,6 +32,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -73,6 +75,7 @@ public class ServiceResourceServiceImpl extends BaseMybatisService<ServiceResour
     }
     }
     @Override
     @Override
     public Page<ServiceResource> resourcePages(Searchable searchable){
     public Page<ServiceResource> resourcePages(Searchable searchable){
+        searchable.addSort(Sort.Direction.DESC,"create_time");
         Page<ServiceResource> serviceResources = serviceResourceMapper.pagingBySearchable(searchable);
         Page<ServiceResource> serviceResources = serviceResourceMapper.pagingBySearchable(searchable);
         return serviceResources;
         return serviceResources;
     }
     }
@@ -106,11 +109,15 @@ public class ServiceResourceServiceImpl extends BaseMybatisService<ServiceResour
         Map<String,ApplyInfo> applyInfoMap = null;
         Map<String,ApplyInfo> applyInfoMap = null;
         if(null != appNameCondition && StringUtils.isNotBlank(appName = appNameCondition.getValue().toString())) {
         if(null != appNameCondition && StringUtils.isNotBlank(appName = appNameCondition.getValue().toString())) {
             List<ApplyInfo> appList = applyInfoFacade.getAppByAppNameLike(appName);
             List<ApplyInfo> appList = applyInfoFacade.getAppByAppNameLike(appName);
+            if(CollectionUtils.isEmpty(appList)) {
+                return new PageImpl<>(new ArrayList<>(), searchable.getPage(), 0L);
+            }
             searchable.removeSearchFilter("appName", SearchOperator.like);
             searchable.removeSearchFilter("appName", SearchOperator.like);
             applyInfoMap = appList.stream().collect(Collectors.toMap(ApplyInfo::getApplyCode,item->item,(old,last)->last));
             applyInfoMap = appList.stream().collect(Collectors.toMap(ApplyInfo::getApplyCode,item->item,(old,last)->last));
             searchable.addSearchFilter("app_code",SearchOperator.in, applyInfoMap.keySet());
             searchable.addSearchFilter("app_code",SearchOperator.in, applyInfoMap.keySet());
         }
         }
         searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.value);
         searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.value);
+        searchable.addSort(Sort.Direction.DESC,"create_time");
         Page<ServiceResource> serviceResources = serviceResourceMapper.pagingBySearchable(searchable);
         Page<ServiceResource> serviceResources = serviceResourceMapper.pagingBySearchable(searchable);
         List<ServiceResourceVo> result = new ArrayList<>();
         List<ServiceResourceVo> result = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(serviceResources.getContent())){
         if (CollectionUtils.isNotEmpty(serviceResources.getContent())){
@@ -157,6 +164,9 @@ public class ServiceResourceServiceImpl extends BaseMybatisService<ServiceResour
             byte[] fileData = fileContent.getFileData();
             byte[] fileData = fileContent.getFileData();
             InputStream inputStream = new ByteArrayInputStream(fileData);
             InputStream inputStream = new ByteArrayInputStream(fileData);
             List<ServiceResource> list = loadServiceResourceInfo(inputStream);
             List<ServiceResource> list = loadServiceResourceInfo(inputStream);
+            if(list.size() > 1000) {
+                return ResponseStatus.fail("300","导入数据超过1000行");
+            }
             saveAll(list);
             saveAll(list);
         }catch (IOException e) {
         }catch (IOException e) {
             return ResponseStatus.fail("300","导入文件类型错误");
             return ResponseStatus.fail("300","导入文件类型错误");
@@ -330,10 +340,17 @@ public class ServiceResourceServiceImpl extends BaseMybatisService<ServiceResour
                 resource.setServiceName(value);
                 resource.setServiceName(value);
                 break;
                 break;
             case 2:
             case 2:
-                if (value.length() > 20) {
-                    throw new NumberFormatException("第" + (row + 1) + "行'服务类型'长度大于20!");
+                String resourceType = "";
+                for (ServiceResourceTypeEnum typeEnum : ServiceResourceTypeEnum.values()) {
+                    if(typeEnum.getLabel().equals(value)){
+                        resourceType = typeEnum.getValue();
+                        break;
+                    }
+                }
+                if(StringUtils.isBlank(resourceType)) {
+                    throw new NumberFormatException("第" + (row + 1) + "行'服务类型'填写不正确!");
                 }
                 }
-                resource.setServiceType(value);
+                resource.setServiceType(resourceType);
                 break;
                 break;
             case 3:
             case 3:
                 //判断服务提供方式的枚举
                 //判断服务提供方式的枚举
@@ -341,7 +358,7 @@ public class ServiceResourceServiceImpl extends BaseMybatisService<ServiceResour
                 for (ServiceProvideWayEnum wayEnum: ServiceProvideWayEnum.values()){
                 for (ServiceProvideWayEnum wayEnum: ServiceProvideWayEnum.values()){
                     if (value.equals(wayEnum.getLabel())){
                     if (value.equals(wayEnum.getLabel())){
                         wayCode = wayEnum.getValue();
                         wayCode = wayEnum.getValue();
-                        continue;
+                        break;
                     }
                     }
                 }
                 }
                 if (StringUtils.isBlank(wayCode) ){
                 if (StringUtils.isBlank(wayCode) ){

+ 14 - 2
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IDataClaService.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IDataClaService.java

@@ -1,9 +1,10 @@
-package com.dragoninfo.dcuc.app.sub.service;
+package com.dragoninfo.dcuc.app.service.sub;
 
 
 import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 
 
@@ -21,7 +22,7 @@ public interface IDataClaService {
      * @param dto
      * @param dto
      * @return
      * @return
      */
      */
-    Boolean dataClassifyAdd(DataClaAcceptDTO dto);
+    ResponseStatus dataClassifyAdd(DataClaAcceptDTO dto);
 
 
     /**
     /**
      * 更新
      * 更新
@@ -116,5 +117,16 @@ public interface IDataClaService {
      */
      */
     List<DataCla> getAllDataCla();
     List<DataCla> getAllDataCla();
 
 
+    /**
+     * 删除
+     * @param id
+     */
     void delete(String id);
     void delete(String id);
+
+    /**
+     * 根据id获取详情
+     * @param id
+     * @return
+     */
+    DataCla getById(String id);
 }
 }

+ 9 - 3
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IDataLevelService.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IDataLevelService.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.app.sub.service;
+package com.dragoninfo.dcuc.app.service.sub;
 
 
 import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
@@ -17,11 +17,11 @@ import java.util.List;
 public interface IDataLevelService {
 public interface IDataLevelService {
 
 
     /**
     /**
-     * 数据分级保存或更新
+     * 数据分级保存
      * @param dto
      * @param dto
      * @return
      * @return
      */
      */
-    DataLevel saveOrUpdate(DataLevelDTO dto);
+    ResponseStatus dataLevelAdd(DataLevelDTO dto);
 
 
     /**
     /**
      * 更新
      * 更新
@@ -91,4 +91,10 @@ public interface IDataLevelService {
      */
      */
     List<DataLevel> getAll();
     List<DataLevel> getAll();
 
 
+    /**
+     * 批量获取
+     * @param ids
+     * @return
+     */
+    List<DataLevel> getByIds(List<String> ids);
 }
 }

+ 8 - 2
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IDataSecService.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IDataSecService.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.app.sub.service;
+package com.dragoninfo.dcuc.app.service.sub;
 
 
 import com.dragoninfo.dcuc.app.dto.sub.DataSecDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataSecDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
@@ -21,7 +21,7 @@ public interface IDataSecService {
      * @param dto
      * @param dto
      * @return
      * @return
      */
      */
-    DataSec saveOrUpdate(DataSecDTO dto);
+    ResponseStatus dataLevelAdd(DataSecDTO dto);
 
 
     /**
     /**
      * 更新
      * 更新
@@ -91,4 +91,10 @@ public interface IDataSecService {
      */
      */
     List<DataSec> getAll();
     List<DataSec> getAll();
 
 
+    /**
+     * 批量获取
+     * @param ids
+     * @return
+     */
+    List<DataSec> getByIds(List<String> ids);
 }
 }

+ 15 - 4
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IFieldClaService.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/IFieldClaService.java

@@ -1,9 +1,10 @@
-package com.dragoninfo.dcuc.app.sub.service;
+package com.dragoninfo.dcuc.app.service.sub;
 
 
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 
 
@@ -21,7 +22,7 @@ public interface IFieldClaService {
      * @param dto
      * @param dto
      * @return
      * @return
      */
      */
-    Boolean fieldClassifyAdd(FieldClaAcceptDTO dto);
+    ResponseStatus fieldClassifyAdd(FieldClaAcceptDTO dto);
 
 
     /**
     /**
      * 字段分类保存
      * 字段分类保存
@@ -84,10 +85,10 @@ public interface IFieldClaService {
 
 
     /**
     /**
      * 根据ids查询集合
      * 根据ids查询集合
-     * @param firIds
+     * @param ids
      * @return
      * @return
      */
      */
-    List<FieldCla> getByIds(List<String> firIds);
+    List<FieldCla> getByIds(List<String> ids);
 
 
     /**
     /**
      * 字段分类数据同步
      * 字段分类数据同步
@@ -108,5 +109,15 @@ public interface IFieldClaService {
      */
      */
     List<FieldCla> getAllFieldCla();
     List<FieldCla> getAllFieldCla();
 
 
+    /**
+     * 删除
+     * @param id
+     */
     void delete(String id);
     void delete(String id);
+
+    /**
+     * 根据id获取详情
+     * @return
+     */
+    FieldCla getById(String id);
 }
 }

+ 31 - 20
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/DataClaServiceImpl.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/DataClaServiceImpl.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.app.sub.service.impl;
+package com.dragoninfo.dcuc.app.service.sub.impl;
 
 
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -9,9 +9,10 @@ import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
 import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
-import com.dragoninfo.dcuc.app.sub.mapper.DataClaMapper;
-import com.dragoninfo.dcuc.app.sub.service.IDataClaService;
+import com.dragoninfo.dcuc.app.mapper.sub.DataClaMapper;
+import com.dragoninfo.dcuc.app.service.sub.IDataClaService;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
@@ -41,7 +42,7 @@ public class DataClaServiceImpl implements IDataClaService {
     private DataClaMapper dataClaMapper;
     private DataClaMapper dataClaMapper;
 
 
     @Override
     @Override
-    public Boolean dataClassifyAdd(DataClaAcceptDTO dto) {
+    public ResponseStatus dataClassifyAdd(DataClaAcceptDTO dto) {
         boolean saveFlag = false;
         boolean saveFlag = false;
         String path = null;
         String path = null;
 
 
@@ -104,17 +105,18 @@ public class DataClaServiceImpl implements IDataClaService {
         if(!saveFlag) {
         if(!saveFlag) {
             lab = getByCodeAndPath(dto.getLabCode(), path);
             lab = getByCodeAndPath(dto.getLabCode(), path);
         }
         }
-        if(null == lab) {
-            DataClaDTO dataClaDTO = new DataClaDTO(dto.getLabCode()
-                    ,dto.getLabName(), DataClaTypeEnum.LAB.getLevel(), DataClaTypeEnum.LAB.getCode());
-            dataClaDTO.setRemark(dto.getRemark());
-            dataClaDTO.setFirId(firId);
-            dataClaDTO.setSecId(secId);
-            dataClaDTO.setDataType(dto.getLabClaCode());
-            dataClaDTO.setLabClaId(labClaId);
-            save(dataClaDTO);
+        if(null != lab) {
+            return ResponseStatus.fail("标签代码已存在");
         }
         }
-        return saveFlag;
+        DataClaDTO dataClaDTO = new DataClaDTO(dto.getLabCode()
+                ,dto.getLabName(), DataClaTypeEnum.LAB.getLevel(), DataClaTypeEnum.LAB.getCode());
+        dataClaDTO.setRemark(dto.getRemark());
+        dataClaDTO.setFirId(firId);
+        dataClaDTO.setSecId(secId);
+        dataClaDTO.setDataType(dto.getLabClaCode());
+        dataClaDTO.setLabClaId(labClaId);
+        save(dataClaDTO);
+        return ResponseStatus.success();
     }
     }
 
 
     @Override
     @Override
@@ -167,9 +169,9 @@ public class DataClaServiceImpl implements IDataClaService {
 
 
     @Override
     @Override
     public List<DataCla> getByIds(List<String> ids) {
     public List<DataCla> getByIds(List<String> ids) {
-        Optional.ofNullable(ids)
-                .orElse(new ArrayList<>())
-                .stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(ids)) {
+            return new ArrayList<>();
+        }
         LambdaQueryWrapper<DataCla> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<DataCla> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.select().in(DataCla::getId, ids);
         queryWrapper.select().in(DataCla::getId, ids);
         return dataClaMapper.selectList(queryWrapper);
         return dataClaMapper.selectList(queryWrapper);
@@ -337,12 +339,13 @@ public class DataClaServiceImpl implements IDataClaService {
         for (DataResourceTreeVo node : nodes) {
         for (DataResourceTreeVo node : nodes) {
             String code = node.getCode();
             String code = node.getCode();
             DataCla dataCla = getByCodeAndPath(code, path);
             DataCla dataCla = getByCodeAndPath(code, path);
+            String localPath = path;
             if(dataCla == null) {
             if(dataCla == null) {
-                saveNodeAndChild(node, path, new Date());
+                saveNodeAndChild(node, localPath, new Date());
             } else {
             } else {
                 updateNode(node, dataCla);
                 updateNode(node, dataCla);
-                path = path == null? dataCla.getId():path + CommonCons.PATH_SEP + dataCla.getId();
-                sync(node.getChild(), path);
+                localPath = localPath == null? dataCla.getId():path + CommonCons.PATH_SEP + dataCla.getId();
+                sync(node.getChild(), localPath);
             }
             }
         }
         }
     }
     }
@@ -465,6 +468,11 @@ public class DataClaServiceImpl implements IDataClaService {
        dataClaMapper.deleteById(id);
        dataClaMapper.deleteById(id);
     }
     }
 
 
+    @Override
+    public DataCla getById(String id) {
+        return dataClaMapper.selectById(id);
+    }
+
     /**
     /**
      * 组装成列表
      * 组装成列表
      * @param dataClaList
      * @param dataClaList
@@ -473,6 +481,9 @@ public class DataClaServiceImpl implements IDataClaService {
      */
      */
     private List<DataClaAcceptDTO> convertToTableList(List<DataCla> dataClaList, List<DataCla> upList) {
     private List<DataClaAcceptDTO> convertToTableList(List<DataCla> dataClaList, List<DataCla> upList) {
         List<DataClaAcceptDTO> dtos = new ArrayList<>();
         List<DataClaAcceptDTO> dtos = new ArrayList<>();
+        if(CollectionUtils.isEmpty(dataClaList)) {
+            return dtos;
+        }
         Map<String, List<DataCla>> map = Optional.ofNullable(upList).orElse(new ArrayList<>())
         Map<String, List<DataCla>> map = Optional.ofNullable(upList).orElse(new ArrayList<>())
                 .stream().collect(Collectors.groupingBy(DataCla::getLevel));
                 .stream().collect(Collectors.groupingBy(DataCla::getLevel));
         //一级分级
         //一级分级

+ 34 - 10
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/DataLevelServiceImpl.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/DataLevelServiceImpl.java

@@ -1,12 +1,14 @@
-package com.dragoninfo.dcuc.app.sub.service.impl;
+package com.dragoninfo.dcuc.app.service.sub.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.dragoninfo.dcuc.app.entity.sub.DataCla;
 import com.dragoninfo.dcuc.app.enumresources.DataAuthTypeCodeEnum;
 import com.dragoninfo.dcuc.app.enumresources.DataAuthTypeCodeEnum;
 import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
 import com.dragoninfo.dcuc.app.dto.sub.ExcelDataLevel;
 import com.dragoninfo.dcuc.app.dto.sub.ExcelDataLevel;
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
 import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
-import com.dragoninfo.dcuc.app.sub.mapper.DataLevelMapper;
-import com.dragoninfo.dcuc.app.sub.service.IDataLevelService;
+import com.dragoninfo.dcuc.app.mapper.sub.DataLevelMapper;
+import com.dragoninfo.dcuc.app.service.sub.IDataLevelService;
 import com.dragoninfo.dcuc.app.util.ImportUtil;
 import com.dragoninfo.dcuc.app.util.ImportUtil;
 import com.dragoninfo.dcuc.app.vo.DataLevelVo;
 import com.dragoninfo.dcuc.app.vo.DataLevelVo;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
@@ -14,6 +16,7 @@ import com.dragoninfo.dcuc.duceap.upload.dto.DocContentDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
+import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
 import com.dragonsoft.duceap.core.search.Searchable;
 import com.dragonsoft.duceap.core.search.Searchable;
@@ -28,6 +31,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.util.*;
 import java.util.*;
@@ -50,16 +54,26 @@ public class DataLevelServiceImpl implements IDataLevelService {
     private IDuceapUploadFacade uploadFacade;
     private IDuceapUploadFacade uploadFacade;
 
 
     @Override
     @Override
-    public DataLevel saveOrUpdate(DataLevelDTO dto) {
+    public ResponseStatus dataLevelAdd(DataLevelDTO dto) {
         String id = dto.getId();
         String id = dto.getId();
-        DataLevel dataLevel;
+        String levelCode = dto.getLevelCode();
+        dto.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_LEVEL.value);
+        if(StringUtils.isBlank(levelCode)) {
+            return ResponseStatus.fail("代码不能为空");
+        }
+        DataLevel exist = getByCode(levelCode);
         if(StringUtils.isBlank(id)) {
         if(StringUtils.isBlank(id)) {
-            dto.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_LEVEL.value);
-            dataLevel = save(dto);
+            if(null != exist) {
+                return ResponseStatus.fail("代码已存在");
+            }
+            save(dto);
         } else {
         } else {
-            dataLevel = update(dto);
+            if(exist != null && !id.equals(exist.getId())) {
+                return ResponseStatus.fail("代码已存在");
+            }
+            update(dto);
         }
         }
-        return dataLevel;
+        return ResponseStatus.success();
     }
     }
 
 
     @Override
     @Override
@@ -142,7 +156,7 @@ public class DataLevelServiceImpl implements IDataLevelService {
     @Override
     @Override
     public ResponseStatus impExcel(String fileId) {
     public ResponseStatus impExcel(String fileId) {
         DocContentDTO fileContent = uploadFacade.getFileContent(fileId);
         DocContentDTO fileContent = uploadFacade.getFileContent(fileId);
-        InputStream inputStream = fileContent.getInputStream();
+        InputStream inputStream = new ByteArrayInputStream(fileContent.getFileData());
         try {
         try {
             List<ExcelDataLevel> list = loadDataLevelFromExcel(inputStream);
             List<ExcelDataLevel> list = loadDataLevelFromExcel(inputStream);
             verifyImport(list);
             verifyImport(list);
@@ -225,6 +239,16 @@ public class DataLevelServiceImpl implements IDataLevelService {
         return dataLevelMapper.selectList(null);
         return dataLevelMapper.selectList(null);
     }
     }
 
 
+    @Override
+    public List<DataLevel> getByIds(List<String> ids) {
+        if(CollectionUtils.isEmpty(ids)) {
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<DataLevel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select().in(DataLevel::getId, ids);
+        return dataLevelMapper.selectList(queryWrapper);
+    }
+
     private List<ExcelDataLevel> loadDataLevelFromExcel(InputStream inputStream) throws IOException {
     private List<ExcelDataLevel> loadDataLevelFromExcel(InputStream inputStream) throws IOException {
         List<ExcelDataLevel> list = new ArrayList<>();
         List<ExcelDataLevel> list = new ArrayList<>();
         Workbook wb0 = new HSSFWorkbook(inputStream);
         Workbook wb0 = new HSSFWorkbook(inputStream);

+ 37 - 12
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/DataSecServiceImpl.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/DataSecServiceImpl.java

@@ -1,12 +1,14 @@
-package com.dragoninfo.dcuc.app.sub.service.impl;
+package com.dragoninfo.dcuc.app.service.sub.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
 import com.dragoninfo.dcuc.app.enumresources.DataAuthTypeCodeEnum;
 import com.dragoninfo.dcuc.app.enumresources.DataAuthTypeCodeEnum;
 import com.dragoninfo.dcuc.app.dto.sub.DataSecDTO;
 import com.dragoninfo.dcuc.app.dto.sub.DataSecDTO;
 import com.dragoninfo.dcuc.app.dto.sub.ExcelDataSec;
 import com.dragoninfo.dcuc.app.dto.sub.ExcelDataSec;
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
 import com.dragoninfo.dcuc.app.entity.sub.DataSec;
-import com.dragoninfo.dcuc.app.sub.mapper.DataSecMapper;
-import com.dragoninfo.dcuc.app.sub.service.IDataSecService;
+import com.dragoninfo.dcuc.app.mapper.sub.DataSecMapper;
+import com.dragoninfo.dcuc.app.service.sub.IDataSecService;
 import com.dragoninfo.dcuc.app.util.ImportUtil;
 import com.dragoninfo.dcuc.app.util.ImportUtil;
 import com.dragoninfo.dcuc.app.vo.DataLevelVo;
 import com.dragoninfo.dcuc.app.vo.DataLevelVo;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
 import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
@@ -14,6 +16,7 @@ import com.dragoninfo.dcuc.duceap.upload.dto.DocContentDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
+import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
 import com.dragonsoft.duceap.core.search.Searchable;
 import com.dragonsoft.duceap.core.search.Searchable;
@@ -28,6 +31,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.util.*;
 import java.util.*;
@@ -51,16 +55,27 @@ public class DataSecServiceImpl implements IDataSecService {
 
 
 
 
     @Override
     @Override
-    public DataSec saveOrUpdate(DataSecDTO dto) {
+    public ResponseStatus dataLevelAdd(DataSecDTO dto) {
         String id = dto.getId();
         String id = dto.getId();
-        DataSec dataSec;
-        if (StringUtils.isBlank(id)) {
-            dto.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_SEC.value);
-            dataSec = save(dto);
+        String code = dto.getSecCode();
+        dto.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_SEC.value);
+        if(StringUtils.isBlank(code)) {
+            return ResponseStatus.fail("代码不能为空");
+        }
+        DataSec exist = getByCode(code);
+        if(StringUtils.isBlank(id)) {
+            if(null != exist) {
+                return ResponseStatus.fail("代码已存在");
+            }
+            save(dto);
         } else {
         } else {
-            dataSec = update(dto);
+            if(null != exist && !id.equals(exist.getId())) {
+                return ResponseStatus.fail("代码已存在");
+            }
+            update(dto);
         }
         }
-        return dataSec;
+
+        return ResponseStatus.success();
     }
     }
 
 
     @Override
     @Override
@@ -127,7 +142,7 @@ public class DataSecServiceImpl implements IDataSecService {
             return;
             return;
         }
         }
         //根据code去重
         //根据code去重
-        Map<String, DataLevelVo> collect = Optional.ofNullable(list).orElse(new ArrayList<>())
+        Map<String, DataLevelVo> collect = Optional.of(list).orElse(new ArrayList<>())
                 .stream()
                 .stream()
                 .collect(Collectors.toMap(DataLevelVo::getLevelCode, item -> item, (old, last) -> last));
                 .collect(Collectors.toMap(DataLevelVo::getLevelCode, item -> item, (old, last) -> last));
         List<DataLevelVo> vos = new ArrayList<>(collect.values());
         List<DataLevelVo> vos = new ArrayList<>(collect.values());
@@ -144,7 +159,7 @@ public class DataSecServiceImpl implements IDataSecService {
     @Override
     @Override
     public ResponseStatus impExcel(String fileId) {
     public ResponseStatus impExcel(String fileId) {
         DocContentDTO fileContent = uploadFacade.getFileContent(fileId);
         DocContentDTO fileContent = uploadFacade.getFileContent(fileId);
-        InputStream inputStream = fileContent.getInputStream();
+        InputStream inputStream = new ByteArrayInputStream(fileContent.getFileData());
         try {
         try {
             List<ExcelDataSec> list = loadDataSecFromExcel(inputStream);
             List<ExcelDataSec> list = loadDataSecFromExcel(inputStream);
             verifyImport(list);
             verifyImport(list);
@@ -219,6 +234,16 @@ public class DataSecServiceImpl implements IDataSecService {
         return dataSecMapper.selectList(null);
         return dataSecMapper.selectList(null);
     }
     }
 
 
+    @Override
+    public List<DataSec> getByIds(List<String> ids) {
+        if(CollectionUtils.isEmpty(ids)) {
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<DataSec> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select().in(DataSec::getId, ids);
+        return dataSecMapper.selectList(queryWrapper);
+    }
+
     private List<ExcelDataSec> loadDataSecFromExcel(InputStream inputStream) throws IOException {
     private List<ExcelDataSec> loadDataSecFromExcel(InputStream inputStream) throws IOException {
         List<ExcelDataSec> list = new ArrayList<>();
         List<ExcelDataSec> list = new ArrayList<>();
         Workbook wb0 = new HSSFWorkbook(inputStream);
         Workbook wb0 = new HSSFWorkbook(inputStream);

+ 33 - 20
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/FieldClaServiceImpl.java → dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/service/sub/impl/FieldClaServiceImpl.java

@@ -1,16 +1,18 @@
-package com.dragoninfo.dcuc.app.sub.service.impl;
+package com.dragoninfo.dcuc.app.service.sub.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.dragoninfo.dcuc.app.cons.CommonCons;
 import com.dragoninfo.dcuc.app.cons.CommonCons;
+import com.dragoninfo.dcuc.app.entity.sub.DataSec;
 import com.dragoninfo.dcuc.app.enumresources.DataAuthTypeCodeEnum;
 import com.dragoninfo.dcuc.app.enumresources.DataAuthTypeCodeEnum;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.dto.sub.FieldClaDTO;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
 import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
 import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
-import com.dragoninfo.dcuc.app.sub.mapper.FieldClaMapper;
-import com.dragoninfo.dcuc.app.sub.service.IFieldClaService;
+import com.dragoninfo.dcuc.app.mapper.sub.FieldClaMapper;
+import com.dragoninfo.dcuc.app.service.sub.IFieldClaService;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
 import com.dragoninfo.dcuc.app.vo.DataResourceTreeVo;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
@@ -39,7 +41,7 @@ public class FieldClaServiceImpl implements IFieldClaService {
     private FieldClaMapper fieldClaMapper;
     private FieldClaMapper fieldClaMapper;
 
 
     @Override
     @Override
-    public Boolean fieldClassifyAdd(FieldClaAcceptDTO dto) {
+    public ResponseStatus fieldClassifyAdd(FieldClaAcceptDTO dto) {
         boolean saveFlag = false;
         boolean saveFlag = false;
         String firId;
         String firId;
         String path = null;
         String path = null;
@@ -59,16 +61,16 @@ public class FieldClaServiceImpl implements IFieldClaService {
         if(!saveFlag) {
         if(!saveFlag) {
             sec = getByCodeAndPath(dto.getSecCode(), path);
             sec = getByCodeAndPath(dto.getSecCode(), path);
         }
         }
-        if(null == sec) {
-            saveFlag = true;
-            FieldClaDTO fieldClaDTO = new FieldClaDTO(dto.getSecCode(),dto.getSecName(),
-                    FieldClaTypeEnum.SEC.getLevel(), FieldClaTypeEnum.SEC.getCode());
-            fieldClaDTO.setFirId(firId);
-            fieldClaDTO.setRemark(dto.getRemark());
-            fieldClaDTO.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_FIELD_SEC.value);
-            save(fieldClaDTO);
+        if (null != sec) {
+            return ResponseStatus.fail("二级代码已存在");
         }
         }
-        return saveFlag;
+        FieldClaDTO fieldClaDTO = new FieldClaDTO(dto.getSecCode(),dto.getSecName(),
+                FieldClaTypeEnum.SEC.getLevel(), FieldClaTypeEnum.SEC.getCode());
+        fieldClaDTO.setFirId(firId);
+        fieldClaDTO.setRemark(dto.getRemark());
+        fieldClaDTO.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_FIELD_SEC.value);
+        save(fieldClaDTO);
+        return ResponseStatus.success();
     }
     }
 
 
     @Override
     @Override
@@ -213,6 +215,9 @@ public class FieldClaServiceImpl implements IFieldClaService {
     }
     }
 
 
     private List<FieldClaAcceptDTO> convertToTableList(List<FieldCla> fieldClas) {
     private List<FieldClaAcceptDTO> convertToTableList(List<FieldCla> fieldClas) {
+        if(CollectionUtils.isEmpty(fieldClas)) {
+            return new ArrayList<>();
+        }
         Map<String, List<FieldCla>> levelMap = Optional.ofNullable(fieldClas)
         Map<String, List<FieldCla>> levelMap = Optional.ofNullable(fieldClas)
                 .orElse(new ArrayList<>())
                 .orElse(new ArrayList<>())
                 .stream().collect(Collectors.groupingBy(FieldCla::getLevel));
                 .stream().collect(Collectors.groupingBy(FieldCla::getLevel));
@@ -227,6 +232,7 @@ public class FieldClaServiceImpl implements IFieldClaService {
             dto.setSecId(sec.getId());
             dto.setSecId(sec.getId());
             dto.setSecCode(sec.getCode());
             dto.setSecCode(sec.getCode());
             dto.setSecName(sec.getName());
             dto.setSecName(sec.getName());
+            dto.setRemark(sec.getRemark());
             FieldCla fir = firIdsMap.get(sec.getFirId());
             FieldCla fir = firIdsMap.get(sec.getFirId());
             if(null != fir) {
             if(null != fir) {
                 dto.setFirId(fir.getId());
                 dto.setFirId(fir.getId());
@@ -240,9 +246,9 @@ public class FieldClaServiceImpl implements IFieldClaService {
 
 
     @Override
     @Override
     public List<FieldCla> getByIds(List<String> ids) {
     public List<FieldCla> getByIds(List<String> ids) {
-        ids = Optional.ofNullable(ids)
-                .orElse(new ArrayList<>())
-                .stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(ids)) {
+            return new ArrayList<>();
+        }
         LambdaQueryWrapper<FieldCla> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<FieldCla> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.select().in(FieldCla::getId,ids);
         queryWrapper.select().in(FieldCla::getId,ids);
         return fieldClaMapper.selectList(queryWrapper);
         return fieldClaMapper.selectList(queryWrapper);
@@ -255,12 +261,13 @@ public class FieldClaServiceImpl implements IFieldClaService {
         }
         }
         for (DataResourceTreeVo node : nodes) {
         for (DataResourceTreeVo node : nodes) {
             FieldCla fieldCla = getByCodeAndPath(node.getCode(), path);
             FieldCla fieldCla = getByCodeAndPath(node.getCode(), path);
+            String localPath = path;
             if(null == fieldCla) {
             if(null == fieldCla) {
-                saveNodeAndChild(node, path, new Date());
+                saveNodeAndChild(node, localPath, new Date());
             } else {
             } else {
                 updateNode(node, fieldCla);
                 updateNode(node, fieldCla);
-                path = path == null? fieldCla.getId():path + CommonCons.PATH_SEP + fieldCla.getId();
-                sync(node.getChild(), path);
+                localPath = localPath == null? fieldCla.getId():path + CommonCons.PATH_SEP + fieldCla.getId();
+                sync(node.getChild(), localPath);
             }
             }
         }
         }
     }
     }
@@ -320,7 +327,8 @@ public class FieldClaServiceImpl implements IFieldClaService {
         List<DataResourceTreeVo> child = node.getChild();
         List<DataResourceTreeVo> child = node.getChild();
         if(CollectionUtils.isNotEmpty(child)) {
         if(CollectionUtils.isNotEmpty(child)) {
             for (DataResourceTreeVo childNode : child) {
             for (DataResourceTreeVo childNode : child) {
-                saveNodeAndChild(childNode, path, date);
+                String localPath = path;
+                saveNodeAndChild(childNode, localPath, date);
             }
             }
         }
         }
     }
     }
@@ -343,6 +351,11 @@ public class FieldClaServiceImpl implements IFieldClaService {
         fieldClaMapper.deleteById(id);
         fieldClaMapper.deleteById(id);
     }
     }
 
 
+    @Override
+    public FieldCla getById(String id) {
+        return fieldClaMapper.selectById(id);
+    }
+
     private void updateCodeName(FieldClaDTO fieldClaDTO) {
     private void updateCodeName(FieldClaDTO fieldClaDTO) {
         LambdaUpdateWrapper<FieldCla> updateWrapper = new LambdaUpdateWrapper<>();
         LambdaUpdateWrapper<FieldCla> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(FieldCla::getCode, fieldClaDTO.getCode())
         updateWrapper.set(FieldCla::getCode, fieldClaDTO.getCode())

+ 3 - 3
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/strategy/AppResourceStrategy.java

@@ -92,9 +92,9 @@ public class AppResourceStrategy implements ResourceOperateStrategy<AppResourceD
         applyInfo.setRegistrationTime(dto.getRegistrationTime());
         applyInfo.setRegistrationTime(dto.getRegistrationTime());
         applyInfo.setApplyStatus(dto.getAppStatus());
         applyInfo.setApplyStatus(dto.getAppStatus());
         applyInfo.setAppOpsDepName(dto.getAppOpsDepName());
         applyInfo.setAppOpsDepName(dto.getAppOpsDepName());
-        applyInfo.setManagerOrgCode(dto.getManagerOrgCode());
-        applyInfo.setLineTime(dto.getManagerOrgCode());
-        applyInfo.setAppEnglishName(dto.getManagerOrgCode());
+        applyInfo.setOrgCode(dto.getBuildUnitCode());
+        applyInfo.setLineTime(dto.getLineTime());
+        applyInfo.setAppEnglishName(dto.getAppEnglishName());
         return applyInfo;
         return applyInfo;
     }
     }
 
 

+ 0 - 17
dcuc-app-service/src/main/resources/config/mysql/V4_1_0004__alert_column.sql

@@ -1,17 +0,0 @@
-ALTER TABLE `t_service_resource`
-ADD COLUMN `service_type`  varchar(20) NULL COMMENT '服务类型' AFTER `manager_unit_code`,
-ADD COLUMN `service_provide_way`  varchar(20) NULL COMMENT '服务提供方式' AFTER `service_type`,
-ADD COLUMN `must_self`  varchar(5) NULL COMMENT '是否自用服务' AFTER `service_provide_way`,
-ADD COLUMN `app_code`  varchar(100) NULL COMMENT '服务提供应用系统code' AFTER `must_self`;
-
-ALTER TABLE `t_service_resource`
-ADD COLUMN `remark`  varchar(255) NULL COMMENT '服务资源描述' AFTER `app_code`;
-
-
-ALTER TABLE `t_apply_info`
-ADD COLUMN `app_ops_dep_name`  varchar(255) NULL COMMENT '应用系统运维单位名称' AFTER `manager_org_name`,
-ADD COLUMN `manager_org_code`  varchar(255) NULL COMMENT '应用系统事权单位代码' AFTER `app_ops_dep_name`;
-
-ALTER TABLE `t_apply_info`
-ADD COLUMN `app_english_name`  varchar(100) NULL COMMENT '应用英文名称' AFTER `manager_org_code`,
-ADD COLUMN `line_time`  varchar(100) NULL COMMENT '上线日期' AFTER `app_english_name`;

+ 13 - 1
dcuc-app-service/src/main/resources/config/mysql/V4_1_0005__alert_column.sql

@@ -2,4 +2,16 @@ ALTER TABLE `t_service_resource`
 ADD COLUMN `service_type`  varchar(20) NULL COMMENT '服务类型' AFTER `manager_unit_code`,
 ADD COLUMN `service_type`  varchar(20) NULL COMMENT '服务类型' AFTER `manager_unit_code`,
 ADD COLUMN `service_provide_way`  varchar(20) NULL COMMENT '服务提供方式' AFTER `service_type`,
 ADD COLUMN `service_provide_way`  varchar(20) NULL COMMENT '服务提供方式' AFTER `service_type`,
 ADD COLUMN `must_self`  varchar(1) NULL COMMENT '是否自用服务' AFTER `service_provide_way`,
 ADD COLUMN `must_self`  varchar(1) NULL COMMENT '是否自用服务' AFTER `service_provide_way`,
-ADD COLUMN `app_code`  varchar(100) NULL COMMENT '服务提供应用系统code' AFTER `must_self`;
+ADD COLUMN `app_code`  varchar(100) NULL COMMENT '服务提供应用系统code' AFTER `must_self`;
+
+ALTER TABLE `t_service_resource`
+ADD COLUMN `remark`  varchar(255) NULL COMMENT '服务资源描述' AFTER `app_code`;
+
+
+ALTER TABLE `t_apply_info`
+ADD COLUMN `app_ops_dep_name`  varchar(255) NULL COMMENT '应用系统运维单位名称' AFTER `manager_org_name`,
+ADD COLUMN `manager_org_code`  varchar(255) NULL COMMENT '应用系统事权单位代码' AFTER `app_ops_dep_name`;
+
+ALTER TABLE `t_apply_info`
+ADD COLUMN `app_english_name`  varchar(100) NULL COMMENT '应用英文名称' AFTER `manager_org_code`,
+ADD COLUMN `line_time`  varchar(100) NULL COMMENT '上线日期' AFTER `app_english_name`;

+ 7 - 4
dcuc-app-service/src/main/resources/config/mysql/V4_1_0006__sub_auth_init.sql

@@ -5,7 +5,7 @@ CREATE TABLE T_APP_DATA_CLA(
     LAB_CLA_ID VARCHAR(32)    COMMENT 'LAB_CLA_ID 标签分类id' ,
     LAB_CLA_ID VARCHAR(32)    COMMENT 'LAB_CLA_ID 标签分类id' ,
     CODE VARCHAR(32)    COMMENT 'CODE 码值' ,
     CODE VARCHAR(32)    COMMENT 'CODE 码值' ,
     NAME VARCHAR(100)    COMMENT 'NAME 名称' ,
     NAME VARCHAR(100)    COMMENT 'NAME 名称' ,
-    DATA_TYPE VARCHAR(10)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
+    DATA_TYPE VARCHAR(100)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
     LEVEL VARCHAR(5)    COMMENT 'LEVEL 层级' ,
     LEVEL VARCHAR(5)    COMMENT 'LEVEL 层级' ,
     TYPE VARCHAR(10)    COMMENT 'TYPE 分类类型 一级分类 二级分类 标签分类 标签' ,
     TYPE VARCHAR(10)    COMMENT 'TYPE 分类类型 一级分类 二级分类 标签分类 标签' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
@@ -30,7 +30,7 @@ CREATE TABLE T_APP_DATA_LEVEL(
     ID VARCHAR(32) NOT NULL   COMMENT 'ID 主键' ,
     ID VARCHAR(32) NOT NULL   COMMENT 'ID 主键' ,
     LEVEL_CODE VARCHAR(32)    COMMENT 'LEVEL_CODE 码值' ,
     LEVEL_CODE VARCHAR(32)    COMMENT 'LEVEL_CODE 码值' ,
     LEVEL_NAME VARCHAR(100)    COMMENT 'LEVEL_NAME 名称' ,
     LEVEL_NAME VARCHAR(100)    COMMENT 'LEVEL_NAME 名称' ,
-    DATA_TYPE VARCHAR(10)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
+    DATA_TYPE VARCHAR(100)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
     DELETED VARCHAR(5)    COMMENT 'DELETED 是否删除' ,
     DELETED VARCHAR(5)    COMMENT 'DELETED 是否删除' ,
     CREATE_TIME DATETIME    COMMENT 'CREATE_TIME 新增时间' ,
     CREATE_TIME DATETIME    COMMENT 'CREATE_TIME 新增时间' ,
@@ -49,7 +49,7 @@ CREATE TABLE T_APP_DATA_SEC(
     ID VARCHAR(32) NOT NULL   COMMENT 'ID 主键' ,
     ID VARCHAR(32) NOT NULL   COMMENT 'ID 主键' ,
     SEC_CODE VARCHAR(32)    COMMENT 'SEC_CODE 码值' ,
     SEC_CODE VARCHAR(32)    COMMENT 'SEC_CODE 码值' ,
     SEC_NAME VARCHAR(100)    COMMENT 'SEC_NAME 名称' ,
     SEC_NAME VARCHAR(100)    COMMENT 'SEC_NAME 名称' ,
-    DATA_TYPE VARCHAR(10)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
+    DATA_TYPE VARCHAR(100)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
     DELETED VARCHAR(5)    COMMENT 'DELETED 是否删除' ,
     DELETED VARCHAR(5)    COMMENT 'DELETED 是否删除' ,
     CREATE_TIME DATETIME    COMMENT 'CREATE_TIME 新增时间' ,
     CREATE_TIME DATETIME    COMMENT 'CREATE_TIME 新增时间' ,
@@ -69,7 +69,7 @@ CREATE TABLE T_APP_FIELD_CLA(
     FIR_ID VARCHAR(32)    COMMENT 'FIR_ID 一级id' ,
     FIR_ID VARCHAR(32)    COMMENT 'FIR_ID 一级id' ,
     CODE VARCHAR(32)    COMMENT 'CODE 码值' ,
     CODE VARCHAR(32)    COMMENT 'CODE 码值' ,
     NAME VARCHAR(100)    COMMENT 'NAME 名称' ,
     NAME VARCHAR(100)    COMMENT 'NAME 名称' ,
-    DATA_TYPE VARCHAR(10)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
+    DATA_TYPE VARCHAR(100)    COMMENT 'DATA_TYPE 数据授权资源类型(第三方提供)' ,
     LEVEL VARCHAR(10)    COMMENT 'LEVEL 层级' ,
     LEVEL VARCHAR(10)    COMMENT 'LEVEL 层级' ,
     TYPE VARCHAR(10)    COMMENT 'TYPE 分类类型 一级分类 二级分类' ,
     TYPE VARCHAR(10)    COMMENT 'TYPE 分类类型 一级分类 二级分类' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
     REMARK VARCHAR(128)    COMMENT 'REMARK 说明' ,
@@ -85,3 +85,6 @@ CREATE TABLE T_APP_FIELD_CLA(
 
 
 ALTER TABLE T_APP_FIELD_CLA ADD INDEX IDX_T_APP_FIELD_CLA_FIR(FIR_ID);
 ALTER TABLE T_APP_FIELD_CLA ADD INDEX IDX_T_APP_FIELD_CLA_FIR(FIR_ID);
 ALTER TABLE T_APP_FIELD_CLA ADD INDEX IDX_T_APP_FIELD_CLA_CODE(CODE);
 ALTER TABLE T_APP_FIELD_CLA ADD INDEX IDX_T_APP_FIELD_CLA_CODE(CODE);
+ALTER TABLE T_APPLY_INFO CHANGE `manager_org_code` `org_code`  varchar(100) NULL COMMENT '事权机构代码';
+ALTER TABLE `t_apply_info` ADD COLUMN `manager_org_code`  varchar(100) NULL COMMENT '管理单位代码';
+ALTER TABLE `t_apply_info` MODIFY `manager_describe` varchar(800) DEFAULT NULL COMMENT '应用描述';

+ 9 - 7
dcuc-app-service/src/main/resources/config/sql/V4_1_0006__sub_auth_init.sql

@@ -5,7 +5,7 @@ CREATE TABLE T_APP_DATA_CLA(
     LAB_CLA_ID VARCHAR2(32),
     LAB_CLA_ID VARCHAR2(32),
     CODE NVARCHAR2(32),
     CODE NVARCHAR2(32),
     NAME NVARCHAR2(100),
     NAME NVARCHAR2(100),
-    DATA_TYPE NVARCHAR2(32),
+    DATA_TYPE NVARCHAR2(100),
     LEVEL NVARCHAR2(10),
     LEVEL NVARCHAR2(10),
     TYPE NVARCHAR2(10),
     TYPE NVARCHAR2(10),
     REMARK NVARCHAR2(128),
     REMARK NVARCHAR2(128),
@@ -49,8 +49,8 @@ CREATE INDEX IDX_T_APP_DATA_CODE ON T_APP_DATA_CLA(CODE);
 CREATE TABLE T_APP_DATA_LEVEL(
 CREATE TABLE T_APP_DATA_LEVEL(
     ID VARCHAR2(32) NOT NULL,
     ID VARCHAR2(32) NOT NULL,
     LEVEL_CODE NVARCHAR2(32),
     LEVEL_CODE NVARCHAR2(32),
-    LEVEL_NAME NVARCHAR2(32),
-    DATA_TYPE NVARCHAR2(32),
+    LEVEL_NAME NVARCHAR2(100),
+    DATA_TYPE NVARCHAR2(100),
     REMARK NVARCHAR2(128),
     REMARK NVARCHAR2(128),
     DELETED NVARCHAR2(32),
     DELETED NVARCHAR2(32),
     CREATE_TIME DATE,
     CREATE_TIME DATE,
@@ -83,8 +83,8 @@ CREATE INDEX IDX_T_APP_DATA_LEVEL_LEVEL_CODE ON T_APP_DATA_LEVEL(LEVEL_CODE);
 CREATE TABLE T_APP_DATA_SEC(
 CREATE TABLE T_APP_DATA_SEC(
     ID VARCHAR2(32) NOT NULL,
     ID VARCHAR2(32) NOT NULL,
     SEC_CODE NVARCHAR2(32),
     SEC_CODE NVARCHAR2(32),
-    SEC_NAME NVARCHAR2(32),
-    DATA_TYPE NVARCHAR2(32),
+    SEC_NAME NVARCHAR2(100),
+    DATA_TYPE NVARCHAR2(100),
     REMARK NVARCHAR2(128),
     REMARK NVARCHAR2(128),
     DELETED NVARCHAR2(32),
     DELETED NVARCHAR2(32),
     CREATE_TIME DATE,
     CREATE_TIME DATE,
@@ -116,8 +116,8 @@ CREATE TABLE T_APP_FIELD_CLA(
     ID VARCHAR2(32) NOT NULL,
     ID VARCHAR2(32) NOT NULL,
     FIR_ID VARCHAR2(32),
     FIR_ID VARCHAR2(32),
     CODE NVARCHAR2(32),
     CODE NVARCHAR2(32),
-    NAME NVARCHAR2(32),
-    DATA_TYPE NVARCHAR2(32),
+    NAME NVARCHAR2(100),
+    DATA_TYPE NVARCHAR2(100),
     LEVEL NVARCHAR2(32),
     LEVEL NVARCHAR2(32),
     TYPE NVARCHAR2(32),
     TYPE NVARCHAR2(32),
     REMARK NVARCHAR2(128),
     REMARK NVARCHAR2(128),
@@ -151,3 +151,5 @@ COMMENT ON COLUMN T_APP_FIELD_CLA.DELETE_USER IS '删除人账号';
 CREATE INDEX IDX_T_APP_FIELD_CLA_FIR ON T_APP_FIELD_CLA(FIR_ID);
 CREATE INDEX IDX_T_APP_FIELD_CLA_FIR ON T_APP_FIELD_CLA(FIR_ID);
 
 
 CREATE INDEX IDX_T_APP_FIELD_CLA_CODE ON T_APP_FIELD_CLA(CODE);
 CREATE INDEX IDX_T_APP_FIELD_CLA_CODE ON T_APP_FIELD_CLA(CODE);
+ALTER TABLE "T_APPLY_INFO" ADD "org_code"  VARCHAR2(100);
+ALTER TABLE "T_APPLY_INFO" MODIFY "MANAGER_DESCRIBE" VARCHAR2(800);

+ 23 - 1
dcuc-app-service/src/test/java/com/dragoninfo/dcuc/app/mapper/ApplyInfoMapperTest.java

@@ -4,12 +4,18 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragoninfo.dcuc.app.DcucAppApplication;
+import com.dragoninfo.dcuc.app.dto.sub.DataLevelDTO;
 import com.dragoninfo.dcuc.app.entity.ApplyInfo;
 import com.dragoninfo.dcuc.app.entity.ApplyInfo;
+import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
+import com.dragoninfo.dcuc.app.mapper.sub.DataLevelMapper;
+import com.dragoninfo.dcuc.app.service.sub.IDataLevelService;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import org.junit.Assert;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runner.RunWith;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.annotation.Rollback;
 import org.springframework.test.annotation.Rollback;
@@ -21,7 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
  * @date 2020/10/28
  * @date 2020/10/28
  */
  */
 @RunWith(SpringRunner.class)
 @RunWith(SpringRunner.class)
-@SpringBootTest
+@SpringBootTest(classes = {DcucAppApplication.class})
 @Transactional
 @Transactional
 @Rollback()
 @Rollback()
 public class ApplyInfoMapperTest {
 public class ApplyInfoMapperTest {
@@ -29,6 +35,9 @@ public class ApplyInfoMapperTest {
     @Autowired
     @Autowired
     private ApplyInfoMapper applyInfoMapper;
     private ApplyInfoMapper applyInfoMapper;
 
 
+    @Autowired
+    private IDataLevelService dataLevelService;
+
     @Test
     @Test
     public void getNewSort() {
     public void getNewSort() {
         String newSort = applyInfoMapper.getNewSort();
         String newSort = applyInfoMapper.getNewSort();
@@ -66,4 +75,17 @@ public class ApplyInfoMapperTest {
 
 
     }
     }
 
 
+    @Test
+    public void dataLevel() {
+        DataLevel dataLevel = dataLevelService.getById("fabd5a433bd67d1b36373d11edd20a09");
+        dataLevel.setRemark("xiugai111");
+        DataLevelDTO dto = new DataLevelDTO();
+        BeanUtils.copyProperties(dataLevel, dto);
+        dto.setLevelName("XG1111");
+        dataLevelService.update(dto);
+
+    }
+
+
+
 }
 }

+ 1 - 1
pom.xml

@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.dragoninfo</groupId>
     <groupId>com.dragoninfo</groupId>
     <artifactId>dcuc-app</artifactId>
     <artifactId>dcuc-app</artifactId>
-    <version>2.1.3-tjdsj-SNAPSHOT</version>
+    <version>2.2.0-tjdsj-SNAPSHOT</version>
     <packaging>pom</packaging>
     <packaging>pom</packaging>
     <modules>
     <modules>
         <module>dcuc-app-api</module>
         <module>dcuc-app-api</module>