Forráskód Böngészése

质量报告和质量详情

372237882@qq.com 3 éve
szülő
commit
2f64330491

+ 51 - 38
server/src/main/java/edp/davinci/controller/QualityTaskController.java

@@ -8,6 +8,7 @@ import edp.davinci.core.enums.CronJobStatusEnum;
 import edp.davinci.dto.cronJobDto.CronJobBaseInfo;
 import edp.davinci.dto.cronJobDto.CronJobInfo;
 import edp.davinci.dto.qualityAuditor.QualityAuditorDto;
+import edp.davinci.dto.qualityAuditor.QualityTaskDto;
 import edp.davinci.dto.sourceDto.SourceDetail;
 import edp.davinci.dto.viewDto.ViewBaseInfo;
 import edp.davinci.model.QualityAuditor;
@@ -73,6 +74,23 @@ public class QualityTaskController extends BaseController {
     }
 
     /**
+     * 获取 质量任务
+     *
+     * @param user
+     * @param request
+     * @return
+     */
+    @ApiOperation(value = "get qualityTask")
+    @GetMapping(value = "/getQualityTaskByPid")
+    public ResponseEntity getQualityTask(@ApiIgnore @CurrentUser User user,
+                                         @RequestParam(required = false) Long pId,
+                                         HttpServletRequest request) {
+
+        List<QualityTask> qualityTasks = qualityTaskService.getQualityTaskByPid(pId);
+        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));
+    }
+
+    /**
      * 增加 质量任务
      *
      * @param qualityTask
@@ -155,6 +173,7 @@ public class QualityTaskController extends BaseController {
         return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
     }
 
+
     /**
      * 立即稽核
      *
@@ -214,58 +233,49 @@ public class QualityTaskController extends BaseController {
      */
     @ApiOperation(value = "get qualityReport")
     @GetMapping(value = "/qualityReport")
-    public ResponseEntity qualityReport(@RequestParam(value = "sourceId", required = true) Long sourceId, @RequestParam(value = "time", required = true) String time, @ApiIgnore @CurrentUser User user,
+    public ResponseEntity qualityReport(@RequestParam(value = "systemId", required = true) Long systemId, @RequestParam(value = "time", required = true) String time, @ApiIgnore @CurrentUser User user,
                                         HttpServletRequest request) {
-        List<QualityAuditorDto> qualityAuditorDtoList = new ArrayList<QualityAuditorDto>();
 
-        List<QualityAuditor> allQualityAuditors = new ArrayList<QualityAuditor>();
-        // 根据source 获取 view
-        List<ViewBaseInfo> viewBaseInfos = viewService.getViewBaseInfoByOnlyParentId(sourceId);
-        for (ViewBaseInfo viewBaseInfo : viewBaseInfos) {
-            List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditorsByViewId(viewBaseInfo.getId(), time);
-            allQualityAuditors.addAll(qualityAuditors);
-        }
+        // 查询
+        List<QualityTaskDto> qualityTasks = qualityTaskService.getQualityTaskListCondition(systemId, time);
+
+        for (QualityTaskDto qualityTaskDto : qualityTasks) {
 
-        for (QualityAuditor qualityAuditor : allQualityAuditors) {
-            QualityAuditorDto qualityAuditorDto = new QualityAuditorDto();
-            BeanUtils.copyProperties(qualityAuditor, qualityAuditorDto);
             DecimalFormat df = new DecimalFormat("0.00");//格式化小数
 
-            if (null != qualityAuditor.getIntegrityCorrect() && null != qualityAuditor.getIntegrityError()) {
+            if (null != qualityTaskDto.getIntegrityCorrect() && null != qualityTaskDto.getIntegrityError()) {
                 // 完整性
-                String integrityCorrectProbability = df.format((float) qualityAuditor.getIntegrityCorrect() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError()));//返回的是String类型
-                qualityAuditorDto.setIntegrityCorrectProbability(integrityCorrectProbability);
-                String integrityErrorProbability = df.format((float) qualityAuditor.getIntegrityError() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError()));//返回的是String类型
-                qualityAuditorDto.setIntegrityErrorProbability(integrityErrorProbability);
+                String integrityCorrectProbability = df.format((float) qualityTaskDto.getIntegrityCorrect() / (qualityTaskDto.getIntegrityCorrect() + qualityTaskDto.getIntegrityError()));//返回的是String类型
+                qualityTaskDto.setIntegrityCorrectProbability(integrityCorrectProbability);
+                String integrityErrorProbability = df.format((float) qualityTaskDto.getIntegrityError() / (qualityTaskDto.getIntegrityCorrect() + qualityTaskDto.getIntegrityError()));//返回的是String类型
+                qualityTaskDto.setIntegrityErrorProbability(integrityErrorProbability);
             }
 
-            if (null != qualityAuditor.getUniformityCorrect() && null != qualityAuditor.getUniformityError()) {
+            if (null != qualityTaskDto.getUniformityCorrect() && null != qualityTaskDto.getUniformityError()) {
                 // 一致性
-                String uniformityCorrectProbability = df.format((float) qualityAuditor.getUniformityCorrect() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError()));//返回的是String类型
-                qualityAuditorDto.setUniformityCorrectProbability(uniformityCorrectProbability);
-                String uniformityErrorProbability = df.format((float) qualityAuditor.getUniformityError() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError()));//返回的是String类型
-                qualityAuditorDto.setUniformityErrorProbability(uniformityErrorProbability);
+                String uniformityCorrectProbability = df.format((float) qualityTaskDto.getUniformityCorrect() / (qualityTaskDto.getUniformityCorrect() + qualityTaskDto.getUniformityError()));//返回的是String类型
+                qualityTaskDto.setUniformityCorrectProbability(uniformityCorrectProbability);
+                String uniformityErrorProbability = df.format((float) qualityTaskDto.getUniformityError() / (qualityTaskDto.getUniformityCorrect() + qualityTaskDto.getUniformityError()));//返回的是String类型
+                qualityTaskDto.setUniformityErrorProbability(uniformityErrorProbability);
             }
 
-            if (null != qualityAuditor.getNormativeCorrect() && null != qualityAuditor.getNormativeError()) {
+            if (null != qualityTaskDto.getNormativeCorrect() && null != qualityTaskDto.getNormativeError()) {
                 // 规范性
-                String normativeCorrectProbability = df.format((float) qualityAuditor.getNormativeCorrect() / (qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError()));//返回的是String类型
-                qualityAuditorDto.setNormativeCorrectProbability(normativeCorrectProbability);
-                String normativeErrorProbability = df.format((float) qualityAuditor.getNormativeError() / (qualityAuditor.getNormativeError() + qualityAuditor.getNormativeError()));//返回的是String类型
-                qualityAuditorDto.setNormativeErrorProbability(normativeErrorProbability);
+                String normativeCorrectProbability = df.format((float) qualityTaskDto.getNormativeCorrect() / (qualityTaskDto.getNormativeCorrect() + qualityTaskDto.getNormativeError()));//返回的是String类型
+                qualityTaskDto.setNormativeCorrectProbability(normativeCorrectProbability);
+                String normativeErrorProbability = df.format((float) qualityTaskDto.getNormativeError() / (qualityTaskDto.getNormativeCorrect() + qualityTaskDto.getNormativeError()));//返回的是String类型
+                qualityTaskDto.setNormativeErrorProbability(normativeErrorProbability);
             }
-            if (null != qualityAuditor.getAccuracyCorrect() && null != qualityAuditor.getAccuracyError()) {
+            if (null != qualityTaskDto.getAccuracyCorrect() && null != qualityTaskDto.getAccuracyError()) {
                 // 准确定
-                String accuracyCorrectProbability = df.format((float) qualityAuditor.getAccuracyCorrect() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError()));//返回的是String类型
-                qualityAuditorDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
-                String accuracyErrorProbability = df.format((float) qualityAuditor.getAccuracyError() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError()));//返回的是String类型
-                qualityAuditorDto.setAccuracyErrorProbability(accuracyErrorProbability);
+                String accuracyCorrectProbability = df.format((float) qualityTaskDto.getAccuracyCorrect() / (qualityTaskDto.getAccuracyCorrect() + qualityTaskDto.getAccuracyError()));//返回的是String类型
+                qualityTaskDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
+                String accuracyErrorProbability = df.format((float) qualityTaskDto.getAccuracyError() / (qualityTaskDto.getAccuracyCorrect() + qualityTaskDto.getAccuracyError()));//返回的是String类型
+                qualityTaskDto.setAccuracyErrorProbability(accuracyErrorProbability);
             }
-
-            qualityAuditorDtoList.add(qualityAuditorDto);
         }
 
-        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityAuditorDtoList));
+        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));
     }
 
     /**
@@ -277,11 +287,14 @@ public class QualityTaskController extends BaseController {
      */
     @ApiOperation(value = "get qualityReportDetail")
     @GetMapping(value = "/qualityReportDetail/{id}")
-    public ResponseEntity qualityReportDetail(@PathVariable Long id, @ApiIgnore @CurrentUser User user,
+    public ResponseEntity qualityReportDetail(@PathVariable Long id,
+                                              @ApiIgnore @CurrentUser User user,
+                                              @RequestParam(value = "startTime", required = true) String startTime,
+                                              @RequestParam(value = "endTime", required = true) String endTime,
                                               HttpServletRequest request) {
         List<QualityAuditorDto> qualityAuditorDtoList = new ArrayList<QualityAuditorDto>();
 
-        List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditorListByTaskId(id);
+        List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditorListByTaskId(id, startTime, endTime);
 
         for (QualityAuditor qualityAuditor : qualityAuditors) {
             QualityAuditorDto qualityAuditorDto = new QualityAuditorDto();
@@ -308,7 +321,7 @@ public class QualityTaskController extends BaseController {
                 // 规范性
                 String normativeCorrectProbability = df.format((float) qualityAuditor.getNormativeCorrect() / (qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError()));//返回的是String类型
                 qualityAuditorDto.setNormativeCorrectProbability(normativeCorrectProbability);
-                String normativeErrorProbability = df.format((float) qualityAuditor.getNormativeError() / (qualityAuditor.getNormativeError() + qualityAuditor.getNormativeError()));//返回的是String类型
+                String normativeErrorProbability = df.format((float) qualityAuditor.getNormativeError() / (qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError()));//返回的是String类型
                 qualityAuditorDto.setNormativeErrorProbability(normativeErrorProbability);
             }
             if (null != qualityAuditor.getAccuracyCorrect() && null != qualityAuditor.getAccuracyError()) {

+ 2 - 5
server/src/main/java/edp/davinci/dao/QualityAuditorMapper.java

@@ -1,14 +1,12 @@
 package edp.davinci.dao;
 
-import edp.davinci.model.DataRules;
+
 import edp.davinci.model.QualityAuditor;
 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.Date;
 import java.util.List;
 
 @Component
@@ -23,8 +21,7 @@ public interface QualityAuditorMapper {
     @Select({"select qa.*,qt.task_name from `quality_auditor` qa LEFT JOIN quality_task qt on qa.task_id = qt.id "})
     List<QualityAuditor> getQualityAuditorList();
 
-    @Select({"select qa.*,qt.task_name from `quality_auditor` qa LEFT JOIN quality_task qt on qa.task_id = qt.id where task_id=#{taskId}"})
-    List<QualityAuditor> getQualityAuditorListByTaskId(@Param("taskId") Long taskId);
+    List<QualityAuditor> getQualityAuditorListByTaskId(@Param("taskId") Long taskId,@Param("startTime") String startTime,@Param("endTime") String endTime);
 
     @Select({"select qa.*,qt.task_name from `quality_auditor` qa LEFT JOIN quality_task qt on qa.task_id = qt.id where qa.view_id = #{viewId} and  DATE_FORMAT(qa.auditor_time , '%Y%m%d' )  = DATE_FORMAT(#{time}, '%Y%m%d' )"})
     List<QualityAuditor> getQualityAuditorListByViewId(@Param("viewId") Long viewId, @Param("time") String time);

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

@@ -1,5 +1,6 @@
 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;
@@ -25,9 +26,26 @@ public interface QualityTaskMapper
     @Select({"select * from `quality_task`"})
     List<QualityTask> getQualityTaskList();
 
+    @Select({"select * from `quality_task` where p_id = #{pId}"})
+    List<QualityTask> getQualityTaskListByPid(@Param("pId") Long pId);
+
     @Select({"select * from `quality_task` where id = #{id}"})
     QualityTask getQualityTask(@Param("id") Long id);
 
     @Select({"select * from `quality_task` where view_id = #{viewId}"})
     List<QualityTask> getQualityTaskListByViewId(@Param("viewId") Long viewId);
+
+//    @Select({"SELECT " +
+//            "qt.*," +
+//            "cj.start_date," +
+//            "cj.end_date," +
+//            "ac.`name` as type_name  " +
+//            "FROM " +
+//            "`quality_task` qt  " +
+//            "LEFT JOIN audit_classification ac on qt.p_id = ac.id " +
+//            "LEFT JOIN cron_job cj ON qt.cronJob_id = cj.id " +
+//            "WHERE " +
+//            "p_id = #{time} " +
+//            "AND DATE_FORMAT(#{time}, '%Y%m%d' ) >= DATE_FORMAT( cj.start_date, '%Y%m%d' ) AND DATE_FORMAT(#{time}, '%Y%m%d' ) <= DATE_FORMAT(cj.end_date , '%Y%m%d' ) "})
+    List<QualityTaskDto> getQualityTaskListCondition(@Param("pId") Long pId, @Param("time") String time);
 }

+ 46 - 0
server/src/main/java/edp/davinci/dto/qualityAuditor/QualityTaskDto.java

@@ -0,0 +1,46 @@
+package edp.davinci.dto.qualityAuditor;
+
+import edp.davinci.model.QualityTask;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class QualityTaskDto extends QualityTask {
+
+    private String auditorCode; // 稽核编号
+
+    private Date auditorTime; // 稽核时间
+
+    private Integer integrityCorrect; //完整性正确
+
+    private Integer integrityError; //完整性错误
+
+    private Integer uniformityCorrect; //一致性正确
+
+    private Integer uniformityError; //一致性错误
+
+    private Integer normativeCorrect; //规范性正确
+
+    private Integer normativeError; //规范性错误
+
+    private Integer accuracyCorrect; //准确性正确
+
+    private Integer accuracyError; //准确性错误
+
+    private String integrityCorrectProbability; //完整性正确率
+
+    private String integrityErrorProbability; //完整性错误率
+
+    private String uniformityCorrectProbability; //一致性正确率
+
+    private String uniformityErrorProbability; //一致性错误率
+
+    private String normativeCorrectProbability; //规范性正确率
+
+    private String normativeErrorProbability; //规范性错误率
+
+    private String accuracyCorrectProbability; //准确性正确率
+
+    private String accuracyErrorProbability; //完整性错误率
+}

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

@@ -23,4 +23,9 @@ public class QualityTask extends RecordInfo<QualityTask>
 
     private String metadataConfig; // [{"fieldName":"","fieldType":"","fieldAlias":"","subjectId":"","subjectName":""}]
 
+    private String startTime;
+
+    private String endTime;
+
+    private String typeName;
 }

+ 1 - 1
server/src/main/java/edp/davinci/service/QualityAuditorService.java

@@ -13,5 +13,5 @@ public interface QualityAuditorService
 
     List<QualityAuditor> getQualityAuditorsByViewId(Long viewId, String time);
 
-    List<QualityAuditor> getQualityAuditorListByTaskId( Long taskId);
+    List<QualityAuditor> getQualityAuditorListByTaskId( Long taskId,String startTime,String endTime);
 }

+ 5 - 0
server/src/main/java/edp/davinci/service/QualityTaskService.java

@@ -1,6 +1,7 @@
 package edp.davinci.service;
 
 import edp.core.exception.ServerException;
+import edp.davinci.dto.qualityAuditor.QualityTaskDto;
 import edp.davinci.model.QualityTask;
 import org.apache.ibatis.annotations.Param;
 
@@ -10,6 +11,8 @@ public interface QualityTaskService
 {
     List<QualityTask> getQualityTask();
 
+    List<QualityTask> getQualityTaskByPid(Long pid);
+
     QualityTask createQualityTask(QualityTask qualityTask);
 
     void updateQualityTask(QualityTask qualityTask);
@@ -20,5 +23,7 @@ public interface QualityTaskService
 
     List<QualityTask> getQualityTaskListByViewId(Long viewId);
 
+    List<QualityTaskDto> getQualityTaskListCondition(Long PId, String time);
+
     void auditor(Long id) throws ServerException;
 }

+ 3 - 2
server/src/main/java/edp/davinci/service/impl/QualityAuditorServiceImpl.java

@@ -4,6 +4,7 @@ import edp.davinci.dao.QualityAuditorMapper;
 import edp.davinci.model.QualityAuditor;
 import edp.davinci.service.QualityAuditorService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -30,7 +31,7 @@ public class QualityAuditorServiceImpl implements QualityAuditorService
     }
 
     @Override
-    public List<QualityAuditor> getQualityAuditorListByTaskId(Long taskId) {
-        return qualityAuditorMapper.getQualityAuditorListByTaskId(taskId);
+    public List<QualityAuditor> getQualityAuditorListByTaskId(Long taskId, String startTime, String endTime) {
+        return qualityAuditorMapper.getQualityAuditorListByTaskId(taskId,startTime,endTime);
     }
 }

+ 11 - 0
server/src/main/java/edp/davinci/service/impl/QualityTaskServiceImpl.java

@@ -11,6 +11,7 @@ import edp.davinci.dao.QualityAuditorMapper;
 import edp.davinci.dao.QualityTaskMapper;
 import edp.davinci.dao.SourceMapper;
 import edp.davinci.dao.ViewMapper;
+import edp.davinci.dto.qualityAuditor.QualityTaskDto;
 import edp.davinci.model.*;
 import edp.davinci.service.DataRulesService;
 import edp.davinci.service.DataSubjectService;
@@ -59,6 +60,11 @@ public class QualityTaskServiceImpl implements QualityTaskService {
     }
 
     @Override
+    public List<QualityTask> getQualityTaskByPid(Long id) {
+        return qualityTaskMapper.getQualityTaskListByPid(id);
+    }
+
+    @Override
     public QualityTask createQualityTask(QualityTask qualityTask) {
         qualityTaskMapper.insert(qualityTask);
         return qualityTask;
@@ -75,6 +81,11 @@ public class QualityTaskServiceImpl implements QualityTaskService {
     }
 
     @Override
+    public List<QualityTaskDto> getQualityTaskListCondition(Long PId, String time) {
+        return qualityTaskMapper.getQualityTaskListCondition(PId,time);
+    }
+
+    @Override
     public void updateQualityTask(QualityTask qualityTask) {
         qualityTaskMapper.update(qualityTask);
     }

+ 22 - 0
server/src/main/resources/mybatis/mapper/QualityAuditorMapper.xml

@@ -115,5 +115,27 @@
         WHERE id=#{id}
     </update>
 
+    <select id="getQualityAuditorListByTaskId"  resultType="edp.davinci.dto.qualityAuditor.QualityAuditorDto">
+        SELECT
+        qa.*,
+        qt.task_name
+        FROM
+        quality_auditor qa
+        LEFT JOIN quality_task qt on qa.task_id = qt.id
+        WHERE 1 = 1
+        <if test="taskId != null">
+            AND qa.task_id = #{taskId}
+        </if>
+        <if test="startTime != null and endTime != null">
+            <![CDATA[
+
+          AND DATE_FORMAT(qa.auditor_time, '%Y%m%d' )  >= DATE_FORMAT(#{startTime}, '%Y%m%d' )
+          AND DATE_FORMAT(qa.auditor_time,'%Y%m%d' ) <= DATE_FORMAT(#{endTime} , '%Y%m%d' )
+
+           ]]>
+        </if>
+
+    </select>
+
 
 </mapper>

+ 28 - 1
server/src/main/resources/mybatis/mapper/QualityTaskMapper.xml

@@ -49,7 +49,7 @@
         </trim>
     </insert>
 
-    <update id="update"  parameterType="edp.davinci.model.QualityTask">
+    <update id="update" parameterType="edp.davinci.model.QualityTask">
         UPDATE quality_task
         <trim prefix="set" suffixOverrides=",">
             <if test="taskName!=null">task_name=#{taskName},</if>
@@ -62,5 +62,32 @@
         WHERE id=#{id}
     </update>
 
+    <select id="getQualityTaskListCondition" resultType="edp.davinci.dto.qualityAuditor.QualityTaskDto">
+        SELECT
+        qt.*,
+        qa.*,
+        cj.start_date as startTime,
+        cj.end_date as endTime,
+        ac.`name` as type_name
+        FROM
+        `quality_task` qt
+        LEFT JOIN audit_classification ac on qt.p_id = ac.id
+        LEFT JOIN cron_job cj ON qt.cronJob_id = cj.id
+        LEFT JOIN quality_auditor qa on qa.task_id= qt.id
+        WHERE 1 = 1
+        <if test="pId != null">
+            AND qt.p_id = #{pId}
+        </if>
+        <if test="time != null">
+            <![CDATA[
+
+          AND DATE_FORMAT(#{time}, '%Y%m%d' )  >= DATE_FORMAT( cj.start_date, '%Y%m%d' )
+          AND DATE_FORMAT(#{time},'%Y%m%d' ) <= DATE_FORMAT(cj.end_date , '%Y%m%d' )
+
+           ]]>
+        </if>
+
+    </select>
+
 
 </mapper>