Ver código fonte

关联质量

372237882@qq.com 3 anos atrás
pai
commit
17b80ef4cc

+ 18 - 0
server/src/main/java/edp/davinci/controller/QualityTaskController.java

@@ -1,5 +1,7 @@
 package edp.davinci.controller;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import edp.core.annotation.CurrentUser;
 import edp.davinci.common.controller.BaseController;
 import edp.davinci.core.common.Constants;
@@ -15,6 +17,7 @@ import edp.davinci.model.QualityAuditor;
 import edp.davinci.model.QualityTask;
 import edp.davinci.model.User;
 import edp.davinci.service.*;
+import io.jsonwebtoken.lang.Collections;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -25,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
+import org.springframework.util.StringUtils;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
@@ -33,6 +37,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -71,6 +76,7 @@ public class QualityTaskController extends BaseController {
                                          HttpServletRequest request) {
 
         List<QualityTask> qualityTasks = qualityTaskService.getQualityTask();
+        dualQualityTasks(qualityTasks);
         return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));
     }
 
@@ -88,9 +94,21 @@ public class QualityTaskController extends BaseController {
                                          HttpServletRequest request) {
 
         List<QualityTask> qualityTasks = qualityTaskService.getQualityTaskByPid(pId);
+        dualQualityTasks(qualityTasks);
         return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));
     }
 
+    private void dualQualityTasks(List<QualityTask> qualityTasks) {
+        if (!Collections.isEmpty(qualityTasks)) {
+            for (QualityTask qualityTask : qualityTasks) {
+                if(!StringUtils.isEmpty(qualityTask.getMetadataConfig())){
+                    JSONArray jsonArray = JSONArray.parseArray(qualityTask.getMetadataConfig());
+                    qualityTask.setAuditorCount(jsonArray.size());
+                }
+            }
+        }
+    }
+
     /**
      * 增加 质量任务
      *

+ 16 - 0
server/src/main/java/edp/davinci/controller/ViewController.java

@@ -22,13 +22,16 @@ package edp.davinci.controller;
 import edp.core.annotation.CurrentUser;
 import edp.core.model.Paginate;
 import edp.core.model.PaginateWithQueryColumns;
+import edp.core.utils.CollectionUtils;
 import edp.davinci.common.controller.BaseController;
 import edp.davinci.core.common.Constants;
 import edp.davinci.core.common.ResultMap;
 import edp.davinci.core.utils.DacChannelUtil;
 import edp.davinci.dto.viewDto.*;
 import edp.davinci.model.DacChannel;
+import edp.davinci.model.QualityTask;
 import edp.davinci.model.User;
+import edp.davinci.service.QualityTaskService;
 import edp.davinci.service.ViewService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,6 +48,7 @@ import springfox.documentation.annotations.ApiIgnore;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.sql.SQLException;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -60,6 +64,9 @@ public class ViewController extends BaseController
     private ViewService viewService;
 
     @Autowired
+    private QualityTaskService qualityTaskService;
+
+    @Autowired
     private DacChannelUtil dacChannelUtil;
 
     /**
@@ -111,6 +118,15 @@ public class ViewController extends BaseController
         }
 
         List<ViewBaseInfo> views = viewService.getViewBaseInfoByParentId(projectId, parentId, user);
+        for(ViewBaseInfo viewBaseInfo : views){
+            List<QualityTask> qualityTasks = qualityTaskService.getQualityTaskListByViewId(viewBaseInfo.getId());
+            if(!CollectionUtils.isEmpty(qualityTasks)){
+                QualityTask qualityTask = qualityTasks.get(0);
+                viewBaseInfo.setMetadataConfig(qualityTask.getMetadataConfig());
+                viewBaseInfo.setQuality(true);
+            }
+        }
+
         return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(views));
     }
 

+ 0 - 3
server/src/main/java/edp/davinci/dao/QualityTaskMapper.java

@@ -1,13 +1,10 @@
 package edp.davinci.dao;
 
 import edp.davinci.dto.qualityAuditor.QualityTaskDto;
-import edp.davinci.model.DataRules;
-import edp.davinci.model.DataSubject;
 import edp.davinci.model.QualityTask;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Component;
 
 import java.util.List;

+ 2 - 1
server/src/main/java/edp/davinci/dao/ViewMapper.java

@@ -90,9 +90,10 @@ public interface ViewMapper {
     List<ViewBaseInfo> getViewBaseInfoByProject(@Param("projectId") Long projectId);
 
     @Select({
-            "select v.id, v.`name`, v.`description`, s.name as 'sourceName'",
+            "select v.id, v.`name`, v.`description`, v.`create_by`, v.`update_time`, s.name as 'sourceName',c.`name` AS `typeName`",
             "from `view` v ",
             "left join source s on s.id = v.source_id ",
+            "LEFT JOIN catalogue c ON v.parent_id=c.id ",
             "where v.parent_id = #{parentId} and v.project_id = #{projectId}"
     })
     List<ViewBaseInfo> getViewBaseInfoByParentId(@Param("parentId") Long parentId,@Param("projectId") Long projectId);

+ 11 - 0
server/src/main/java/edp/davinci/dto/viewDto/ViewBaseInfo.java

@@ -21,10 +21,21 @@ package edp.davinci.dto.viewDto;
 
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 public class ViewBaseInfo {
     private Long id;
     private String name;
     private String description;
     private String sourceName;
+    private String typeName;
+    private Long createBy;
+    private Date updateTime;
+
+    // 是否关联质量
+    private boolean relationQuality = false;
+
+    // 已关联的字段
+    private String metadataConfig;
 }

+ 3 - 0
server/src/main/java/edp/davinci/model/QualityTask.java

@@ -28,4 +28,7 @@ public class QualityTask extends RecordInfo<QualityTask>
     private String endTime;
 
     private String typeName;
+
+    // 稽核字段个数
+    private Integer auditorCount;
 }