From c0e3f24edd2ef47339c676ff3dc6fdc06b3c387e Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 18 十月 2024 10:42:40 +0800
Subject: [PATCH] 1)修改bug:可靠性预计参数配置,可靠性分布类型下拉框缺少威布尔分布; 2)细化可靠性仿真评估报错信息。

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java |  344 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 218 insertions(+), 126 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java
index c0d7577..d79a8b5 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java
@@ -22,11 +22,11 @@
 /**
  * task
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2024-03-15
  */
 @Service
-public class TaskService  extends BaseService<TaskDao, Task> {
+public class TaskService extends BaseService<TaskDao, Task> {
 
     @Autowired
     private OperatConditModelDao operatConditModelDao;
@@ -34,6 +34,8 @@
     private ModelNodeAlgorithmDao modelNodeAlgorithmDao;
     @Autowired
     private ModelRbdDao modelRbdDao;
+    @Autowired
+    private AlgorithmDao algorithmDao;
     @Autowired
     private XhProductModelDao xhProductModelDao;
     @Autowired
@@ -61,7 +63,7 @@
     }
 
     public List<Task> getTaskList(Long productId) {
-        return  baseDao.getTaskList(productId);
+        return baseDao.getTaskList(productId);
     }
 
     /**
@@ -73,97 +75,215 @@
      * 4锛夊缓妯℃湭瀹屾垚
      * 5锛夎澶囧弬鏁版湭閰嶇疆
      * 鍙互瀵规墍鏈変换鍔℃ā鍨嬭繘琛屾鏌ワ紝涔熷彲浠ュ彧妫�鏌ュ叆鍙傛寚瀹氱殑浜у搧鑺傜偣涓嬬殑浠诲姟妯″瀷锛涘墠鑰呴�傚悎鍦ㄩ〉闈㈠垪琛ㄦ樉绀哄叏浣撳缓妯$姸鎬侊紝鍚庤�呴�傚悎瀵规煇浠诲姟杩涜浠跨湡鏃剁殑妫�鏌ャ��
+     *
      * @param productId 浜у搧鑺傜偣ID锛堜竴鑸负鎬讳綋锛�
      * @return 妫�鏌ュ嚭鐨勯敊璇殑List锛岄暱搴︿负0琛ㄧず娌℃湁閿欒锛屼笉浼氳繑鍥瀗ull
      */
-    public List<TaskModelCheckResultDto> checkTaskModel(Long productId, Long taskModelId) {
+    public List<TaskModelCheckResultDto> checkTaskModel(Long productId, Long taskId) {
         List<TaskModelCheckResultDto> checkResult = new ArrayList<>();
         List<XhProductModel> deviceUsedList = new ArrayList<>();    // 妫�鏌ュ璞℃ā鍨嬩腑浣跨敤鍒扮殑鎵�鏈夎澶�
 
         // 1. 鑾峰彇鏁版嵁
-        // 1.1 鑾峰彇鎵�鏈変换鍔℃ā鍨嬫暟鎹甃ist
-        List<Task> taskModelList = baseDao.getTaskModels(productId, taskModelId);
-        // 1.2 鑾峰彇鎵�鏈変换鍔℃ā鍨嬮樁娈垫暟鎹甃ist
-        List<TaskPhase> taskModelPhaseList = baseDao.getTaskModelPhases(productId, taskModelId);
-        // 1.3 鑾峰彇鎵�鏈変换鍔℃ā鍨嬪伐鍐垫暟鎹甃ist
-        List<TaskPhaseModel> taskModelPhaseModelList = baseDao.getTaskModelPhaseModels(productId, taskModelId);
+        // 1.1 鑾峰彇鎵�鏈変换鍔℃暟鎹甃ist
+        List<Task> taskList = baseDao.getTasks(productId, taskId);
+        // 1.2 鑾峰彇鎵�鏈変换鍔¢樁娈垫暟鎹甃ist
+        List<TaskPhase> taskPhaseList = baseDao.getTaskPhases(productId, taskId);
+        // 1.3 鑾峰彇鎵�鏈変换鍔″伐鍐垫暟鎹甃ist
+        List<TaskPhaseModel> taskPhaseModelList = baseDao.getTaskPhaseModels(productId, taskId);
         // 1.4 鑾峰彇浜у搧缁撴瀯鏍戠粨鏋勬暟鎹�
         List<XhProductModel> productTreeList = xhProductModelDao.getProductTree(productId);
-        // 1.5 鑾峰彇鎵�鏈夋ā鍨嬪寘鍚殑鑺傜偣鏁版嵁
-        List<ModelNodeAlgorithm> rbdNodeList = modelNodeAlgorithmDao.getRbdNodes();
-        // 1.6 鑾峰彇鎵�鏈夊伐鍐垫ā鍨嬫爲鏁版嵁List
+        // 1.5 鑾峰彇鎵�鏈夊伐鍐垫ā鍨嬫爲鏁版嵁List
         List<OperatConditModel> gkModelList = operatConditModelDao.getGKModelTrees(productId);
-        // 1.7 鑾峰彇鎵�鏈塕BD鏁版嵁List
-        Map<String, Object> mapFilter = new HashMap<>();
-        mapFilter.put("productId", productId);
-        List<ModelRbd> modelRbdList = modelRbdDao.getList(mapFilter);
-        // 1.8 鑾峰彇鎵�鏈夎澶囧弬鏁帮紙鍚换鍔℃ā鍨嬬殑浜岄」鍒嗗竷鍙傛暟锛塋ist
+        // 1.6 鑾峰彇鎵�鏈塕BD鏁版嵁List
+        List<ModelRbd> modelRbdList = modelRbdDao.getListAll();
+        // 1.7 鑾峰彇鎵�鏈夋ā鍨嬪寘鍚殑鑺傜偣鏁版嵁
+        List<ModelNodeAlgorithm> rbdNodeList = modelNodeAlgorithmDao.getRbdNodes();
+        // 1.8 鑾峰彇璇ヨ埞鐨勬墍鏈夎澶囧弬鏁癓ist
         List<ParamData> paramDataList = paramDataDao.getDeviceParams(productId);
-        List<TaskBinoParam> binoParamList = taskBinoParamDao.getBinoParams(taskModelId);
+        // 1.8 鑾峰彇璇ヤ换鍔$殑浜岄」鍒嗗竷鍙傛暟锛塋ist
+        List<TaskBinoParam> binoParamList = taskBinoParamDao.getBinoParams(taskId);
 
-        // 2. 妫�鏌ユ瘡涓换鍔℃ā鍨嬬殑鏁版嵁瀹屾暣鎬э紙閫掑綊锛�
-        for (Task taskModel : taskModelList) {
-            if (null == taskModel.getTaskDuration() || 0.0 == taskModel.getTaskDuration()) {
+        // 2. 妫�鏌ユ瘡涓换鍔℃ā鍨嬬殑鏁版嵁瀹屾暣鎬�
+        for (Task task : taskList) {
+            if (null == task.getTaskDuration() || 0.0 == task.getTaskDuration()) {
                 // 2.1 浠诲姟鎬绘椂闀挎湭閰嶇疆
-                setTaskModelCheckResult(taskModel,
-                        null,
-                        null, null, null,
+                setTaskModelCheckResult(task, null, null,
+                        null, null, null, null,
                         TaskModelCheckResultDto.CATEGORY_TASK_TIME, checkResult);
             }
-            List<TaskPhase> phases = taskModelPhaseList.stream().filter(item ->
-                    taskModel.getId().equals(item.getTaskId())).collect(Collectors.toList());
+            List<TaskPhase> phases = taskPhaseList.stream().filter(item ->
+                    task.getId().equals(item.getTaskId())).collect(Collectors.toList());
             for (TaskPhase phase : phases) {
                 if (null == phase.getPhaseDurationRate() || 0.0 == phase.getPhaseDurationRate()) {
                     // 2.2 闃舵鏃堕暱鏈厤缃�
-                    setTaskModelCheckResult(taskModel,
-                            phase,
-                            null, null, null,
+                    setTaskModelCheckResult(task, phase, null,
+                            null, null, null, null,
                             TaskModelCheckResultDto.CATEGORY_PHASE_TIME, checkResult);
                 }
-                List<TaskPhaseModel> phaseModels = taskModelPhaseModelList.stream().filter(item ->
-                        phase.getId().equals(item.getPhaseId())).collect(Collectors.toList());
+                List<TaskPhaseModel> phaseModels = taskPhaseModelList.stream().filter(item ->
+                        phase.getId().equals(item.getPhaseId()) && 0.0 != item.getOperatConditDurationRate()).
+                        collect(Collectors.toList());
                 if (phaseModels.size() <= 0) {
-                    // 鏃犲伐鍐垫ā鍨嬫暟鎹�
                     // 2.3 宸ュ喌鏃堕暱鏈厤缃�
-                    setTaskModelCheckResult(taskModel,
-                            phase,
-                            null, null, null,
+                    setTaskModelCheckResult(task, phase, null,
+                            null, null, null, null,
                             TaskModelCheckResultDto.CATEGORY_GK_TIME, checkResult);
                 } else {
-                    // 鏈夊伐鍐垫ā鍨嬫暟鎹�
-                    List<TaskPhaseModel> phaseModelWithDurations = taskModelPhaseModelList.stream().filter(item ->
-                            0.0 != item.getOperatConditDurationRate()).collect(Collectors.toList());
-                    if (phaseModelWithDurations.size() <= 0) {
-                        // 鏃犲伐鍐垫ā鍨嬭閫夌敤
-                        // 2.3 宸ュ喌鏃堕暱鏈厤缃�
-                        for (TaskPhaseModel taskPhaseModel : phaseModels) {
-                            setTaskModelCheckResult(taskModel,
-                                    phase,
-                                    taskPhaseModel,
-                                    null, null,
-                                    TaskModelCheckResultDto.CATEGORY_GK_TIME, checkResult);
-                        }
-                    } else {
-                        // 鏈夊伐鍐垫ā鍨嬭閫夌敤锛屾鏌ラ�夌敤鐨勫伐鍐垫ā鍨�
-                        for (TaskPhaseModel taskPhaseModel : phaseModelWithDurations) {
-                            // 棣栧厛鎵惧埌椤跺眰妯″瀷
-                            List<OperatConditModel> gkModelTops = gkModelList.stream().filter(item ->
-                                    taskPhaseModel.getOperatConditId().equals(item.getOperatConditId())
-                                            && taskModel.getProductId().equals(item.getProductId())).collect(Collectors.toList());
-                            if (gkModelTops.size() <= 0) {
-                                // 鏃犲伐鍐垫ā鍨嬫爲鏍硅妭鐐癸紝鍗虫剰鍛崇潃鏃犲伐鍐垫ā鍨嬫爲
+                    // 鏈夊伐鍐佃閫夌敤锛屾鏌ラ�夌敤鐨勫伐鍐�
+                    for (TaskPhaseModel taskPhaseModel : phaseModels) {
+                        List<OperatConditModel> gkModelTree = gkModelList.stream().filter(item ->
+                                taskPhaseModel.getOperatConditId().equals(item.getOperatConditId())).collect(Collectors.toList());
+                        if (gkModelTree.size() <= 0) {
+                            // 鏃犲伐鍐垫ā鍨嬫爲
+                            XhProductModel node = (XhProductModel) productTreeList.stream().filter(item ->
+                                    task.getProductId().equals(item.getId())).collect(Collectors.toList()).get(0);
+                            setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                    node, null, null, null,
+                                    TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult);
+                        } else {
+                            // 鏈夊伐鍐垫ā鍨嬫爲锛屾鏌ュ叾瀹屾暣鎬�
+                            for (OperatConditModel gkModel : gkModelTree) {
                                 XhProductModel node = (XhProductModel) productTreeList.stream().filter(item ->
-                                        taskModel.getProductId().equals(item.getId())).collect(Collectors.toList()).get(0);
-                                setTaskModelCheckResult(taskModel,
-                                        phase,
-                                        taskPhaseModel,
-                                        null,
-                                        node,
-                                        TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult);
-                            } else {
-                                // 鏈夊伐鍐垫ā鍨嬫爲锛屾鏌ュ叾瀹屾暣鎬�
-//                                checkGkModel(taskModel, phase, taskPhaseModel, gkModelTops.get(0),
-//                                        deviceUsedList, checkResult);
+                                        gkModel.getProductId().equals(item.getId())).collect(Collectors.toList()).get(0);
+                                if (null == gkModel.getModelId()) {
+                                    // 宸ュ喌妯″瀷鏍戜笉瀹屾暣
+                                    setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                            node, null, null, null,
+                                            TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult);
+                                } else {
+                                    List<ModelRbd> modelRbds = modelRbdList.stream().filter(item ->
+                                            gkModel.getModelId().equals(item.getId())).collect(Collectors.toList());
+                                    if (modelRbds.size() == 0) {
+                                        // 寤烘ā鏈畬鎴�
+                                        setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                node, null, null, null,
+                                                TaskModelCheckResultDto.CATEGORY_MODEL, checkResult);
+                                    } else {
+                                        if (!"宸插畬鎴�".equals(modelRbds.get(0).getModelState())) {
+                                            // 寤烘ā鏈畬鎴�
+                                            setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                    node, modelRbds.get(0), null, null,
+                                                    TaskModelCheckResultDto.CATEGORY_MODEL, checkResult);
+                                        } else {
+                                            List<ModelNodeAlgorithm> deviceNodes = rbdNodeList.stream().filter(item ->
+                                                    gkModel.getModelId().equals(item.getModelId())).collect(Collectors.toList());
+                                            for (ModelNodeAlgorithm deviceNode : deviceNodes) {
+                                                XhProductModel device = (XhProductModel) productTreeList.stream().filter(item ->
+                                                        deviceNode.getDataId().equals(item.getId())).collect(Collectors.toList()).get(0);
+                                                if ("5".equals(device.getProductType())) {
+                                                    // 璁惧
+                                                    List<ParamData> params = paramDataList.stream().filter(item ->
+                                                            deviceNode.getDataId().equals(item.getProductId())).collect(Collectors.toList());
+                                                    if (params.size() == 0) {
+                                                        // 璁惧鍙傛暟鏈厤缃�
+                                                        setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                node, modelRbds.get(0), device, null,
+                                                                TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                    } else {
+                                                        ParamData param = params.get(0);
+                                                        if (param.getReliabDistribType() == null) {
+                                                            setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                    node, modelRbds.get(0), device, "鍙潬鎬у垎甯冪被鍨�",
+                                                                    TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                        } else {
+                                                            if (param.getReliabDistribType() == 1) {
+                                                                // 鎸囨暟鍒嗗竷
+                                                                if (param.getTaskMtbcfRegulate() == null) {
+                                                                    setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                            node, modelRbds.get(0), device, "MTBCF",
+                                                                            TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                }
+                                                            }
+                                                            if (param.getReliabDistribType() == 2) {
+                                                                // 濞佸竷灏斿垎甯�
+                                                                if (param.getTaskMtbcfRegulate() == null) {
+                                                                    setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                            node, modelRbds.get(0), device, "MTBCF",
+                                                                            TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                }
+                                                                if (param.getTaskMtbcfOtherParams2() == null) {
+                                                                    setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                            node, modelRbds.get(0), device, "MTBCF鍙傛暟2",
+                                                                            TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                }
+                                                                if (param.getTaskMtbcfOtherParams3() == null) {
+                                                                    setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                            node, modelRbds.get(0), device, "MTBCF鍙傛暟3",
+                                                                            TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                }
+                                                            }
+                                                            if (param.getReliabDistribType() == 3) {
+                                                                // 浜岄」鍒嗗竷
+                                                                List<TaskBinoParam> binoParams = binoParamList.stream().filter(item ->
+                                                                        phase.getId().equals(item.getPhaseId()) &&
+                                                                                taskPhaseModel.getOperatConditId().equals(item.getOperatConditId()) &&
+                                                                                modelRbds.get(0).getId().equals(item.getModelId()) &&
+                                                                                device.getId().equals(item.getProductId())).collect(Collectors.toList());
+                                                                if (binoParams.size() == 0) {
+                                                                    setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                            node, modelRbds.get(0), device, "浜岄」鍒嗗竷鍙傛暟",
+                                                                            TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                } else {
+                                                                    TaskBinoParam binoParam = binoParams.get(0);
+                                                                    if (binoParam.getSuccessRate() == null) {
+                                                                        setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                                node, modelRbds.get(0), device, "鎴愬姛鐜�",
+                                                                                TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                    } else {
+                                                                        if (binoParam.getSuccessTimes() != null && binoParam.getSimulatTimes() == null) {
+                                                                            setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                                    node, modelRbds.get(0), device, "鎬绘鏁�",
+                                                                                    TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                        }
+                                                                        if (binoParam.getSuccessTimes() == null && binoParam.getSimulatTimes() != null) {
+                                                                            setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                                    node, modelRbds.get(0), device, "鎴愬姛娆℃暟",
+                                                                                    TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                        }
+                                                                    }
+                                                                }
+                                                            }
+                                                            if (1 == param.getRepairable()) {
+                                                                // 鍙淮淇�
+                                                                if (param.getRepairDistribType() == null) {
+                                                                    setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                            node, modelRbds.get(0), device, "缁翠慨鍒嗗竷绫诲瀷",
+                                                                            TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                }
+                                                                if (param.getRepairDistribType() == 1) {
+                                                                    // 鎸囨暟鍒嗗竷
+                                                                    if (param.getRepairMttcr() == null) {
+                                                                        setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                                node, modelRbds.get(0), device, "MTTCR",
+                                                                                TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                    }
+                                                                }
+                                                                if (param.getRepairDistribType() == 2) {
+                                                                    // 濞佸竷灏斿垎甯�
+                                                                    if (param.getRepairMttcr() == null) {
+                                                                        setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                                node, modelRbds.get(0), device, "MTTCR",
+                                                                                TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                    }
+                                                                    if (param.getRepairMttcrOtherParams2() == null) {
+                                                                        setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                                node, modelRbds.get(0), device, "MTTCR鍙傛暟2",
+                                                                                TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                    }
+                                                                    if (param.getRepairMttcrOtherParams3() == null) {
+                                                                        setTaskModelCheckResult(task, phase, taskPhaseModel,
+                                                                                node, modelRbds.get(0), device, "MTTCR鍙傛暟3",
+                                                                                TaskModelCheckResultDto.CATEGORY_PARAM, checkResult);
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
                             }
                         }
                     }
@@ -176,69 +296,41 @@
 
     }
 
-    // 閫掑綊鍑芥暟
-    private void checkGkModel(Task taskModel,
-                              TaskPhase phase,
-                              TaskPhaseModel taskPhaseModel,
-                              OperatConditModel gkModelTreeTop,
-                              List<OperatConditModel> gkModelList,
-                              List<ModelNodeAlgorithm> rbdNodeList,
-                              List<XhProductModel> productTreeList,
-                              List<XhProductModel> deviceUsedList,
-                              List<TaskModelCheckResultDto> checkResult) {
-        // 棣栧厛鎵惧埌椤跺眰妯″瀷
-        List<OperatConditModel> gkModelTops = gkModelList.stream().filter(item ->
-                taskPhaseModel.getOperatConditId().equals(item.getOperatConditId())
-                        && taskModel.getProductId().equals(item.getProductId())).collect(Collectors.toList());
-        if (gkModelTops.size() <= 0) {
-            // 宸ュ喌妯″瀷鏍戜笉瀹屾暣锛堥《灞傝妭鐐规湭閰嶇疆妯″瀷锛�
-            XhProductModel node = (XhProductModel) productTreeList.stream().filter(item ->
-                    taskModel.getProductId().equals(item.getId())).collect(Collectors.toList()).get(0);
-            setTaskModelCheckResult(taskModel,
-                    phase,
-                    taskPhaseModel,
-                    null,
-                    node,
-                    TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult);
-        }
-    }
-
-    private void setTaskModelCheckResult(Task taskModel,
-                                         TaskPhase taskModelPhase,
-                                         TaskPhaseModel taskModelPhaseModel,
-                                         OperatConditModel gkModel,
+    private void setTaskModelCheckResult(Task task,
+                                         TaskPhase taskPhase,
+                                         TaskPhaseModel taskPhaseModel,
                                          XhProductModel node,
+                                         ModelRbd model,
+                                         XhProductModel device,
+                                         String paramName,
                                          String category,
                                          List<TaskModelCheckResultDto> checkResult) {
         TaskModelCheckResultDto result = new TaskModelCheckResultDto();
         result.setCategory(category);
-        result.setProductId(taskModel.getProductId());
-        result.setTaskModelId(taskModel.getId());
-        result.setTaskModelName(taskModel.getTaskName());
-        switch(category) {
-            case TaskModelCheckResultDto.CATEGORY_TASK_TIME:
-                break;
-            case TaskModelCheckResultDto.CATEGORY_PHASE_TIME:
-                result.setTaskModelPhaseId(taskModelPhase.getId());
-                result.setTaskModelPhaseName(taskModelPhase.getPhaseName());
-                break;
-            case TaskModelCheckResultDto.CATEGORY_GK_TIME:
-                result.setTaskModelPhaseId(taskModelPhase.getId());
-                result.setTaskModelPhaseName(taskModelPhase.getPhaseName());
-                if (null != taskModelPhaseModel) {
-                    result.setGkId(taskModelPhaseModel.getOperatConditId());
-                    result.setGkName(taskModelPhaseModel.getOperatConditName());
-                }
-                break;
-            case TaskModelCheckResultDto.CATEGORY_GK_MODEL:
-                result.setTaskModelPhaseId(taskModelPhase.getId());
-                result.setTaskModelPhaseName(taskModelPhase.getPhaseName());
-                result.setGkId(taskModelPhaseModel.getOperatConditId());
-                result.setGkName(taskModelPhaseModel.getOperatConditName());
-                result.setNodeId(node.getId());
-                result.setNodeName(node.getName());
-                break;
+        result.setProductId(task.getProductId());
+        result.setTaskId(task.getId());
+        result.setTaskName(task.getTaskName());
+        if (taskPhase != null) {
+            result.setTaskPhaseId(taskPhase.getId());
+            result.setTaskPhaseName(taskPhase.getPhaseName());
         }
+        if (taskPhaseModel != null) {
+            result.setGkId(taskPhaseModel.getOperatConditId());
+            result.setGkName(taskPhaseModel.getOperatConditName());
+        }
+        if (node != null) {
+            result.setNodeId(node.getId());
+            result.setNodeName(node.getName());
+        }
+        if (model != null) {
+            result.setModelId(model.getId());
+            result.setModelName(model.getModelName());
+        }
+        if (device != null) {
+            result.setDeviceId(device.getId());
+            result.setDeviceName(device.getName());
+        }
+        result.setParamName(paramName);
         checkResult.add(result);
     }
 }

--
Gitblit v1.9.1