xyc
2024-10-12 1ab5999f546adcca439eb32ea5ecd34819a13ff6
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java
@@ -6,7 +6,7 @@
import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel;
import com.zt.life.modules.mainPart.taskReliability.dao.*;
import com.zt.life.modules.mainPart.taskReliability.dto.TaskModelCheckResult;
import com.zt.life.modules.mainPart.taskReliability.dto.TaskModelCheckResultDto;
import com.zt.life.modules.mainPart.taskReliability.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -76,14 +76,8 @@
     * @param productId 产品节点ID(一般为总体)
     * @return 检查出的错误的List,长度为0表示没有错误,不会返回null
     */
    public List<TaskModelCheckResult> checkTaskModel(Long productId) {
        List<TaskModelCheckResult> result = new ArrayList<>();
        result = doCheckTaskModel(productId, null);
        return result;
    }
    private List<TaskModelCheckResult> doCheckTaskModel(Long productId, Long taskModelId) {
        List<TaskModelCheckResult> checkResult = new ArrayList<>();
    public List<TaskModelCheckResultDto> checkTaskModel(Long productId, Long taskModelId) {
        List<TaskModelCheckResultDto> checkResult = new ArrayList<>();
        List<XhProductModel> deviceUsedList = new ArrayList<>();    // 检查对象模型中使用到的所有设备
        // 1. 获取数据
@@ -114,7 +108,7 @@
                setTaskModelCheckResult(taskModel,
                        null,
                        null, null, null,
                        TaskModelCheckResult.CATEGORY_TASK_TIME, checkResult);
                        TaskModelCheckResultDto.CATEGORY_TASK_TIME, checkResult);
            }
            List<TaskPhase> phases = taskModelPhaseList.stream().filter(item ->
                    taskModel.getId().equals(item.getTaskId())).collect(Collectors.toList());
@@ -124,7 +118,7 @@
                    setTaskModelCheckResult(taskModel,
                            phase,
                            null, null, null,
                            TaskModelCheckResult.CATEGORY_PHASE_TIME, checkResult);
                            TaskModelCheckResultDto.CATEGORY_PHASE_TIME, checkResult);
                }
                List<TaskPhaseModel> phaseModels = taskModelPhaseModelList.stream().filter(item ->
                        phase.getId().equals(item.getPhaseId())).collect(Collectors.toList());
@@ -134,7 +128,7 @@
                    setTaskModelCheckResult(taskModel,
                            phase,
                            null, null, null,
                            TaskModelCheckResult.CATEGORY_GK_TIME, checkResult);
                            TaskModelCheckResultDto.CATEGORY_GK_TIME, checkResult);
                } else {
                    // 有工况模型数据
                    List<TaskPhaseModel> phaseModelWithDurations = taskModelPhaseModelList.stream().filter(item ->
@@ -147,7 +141,7 @@
                                    phase,
                                    taskPhaseModel,
                                    null, null,
                                    TaskModelCheckResult.CATEGORY_GK_TIME, checkResult);
                                    TaskModelCheckResultDto.CATEGORY_GK_TIME, checkResult);
                        }
                    } else {
                        // 有工况模型被选用,检查选用的工况模型
@@ -165,7 +159,7 @@
                                        taskPhaseModel,
                                        null,
                                        node,
                                        TaskModelCheckResult.CATEGORY_GK_MODEL, checkResult);
                                        TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult);
                            } else {
                                // 有工况模型树,检查其完整性
//                                checkGkModel(taskModel, phase, taskPhaseModel, gkModelTops.get(0),
@@ -191,7 +185,7 @@
                              List<ModelNodeAlgorithm> rbdNodeList,
                              List<XhProductModel> productTreeList,
                              List<XhProductModel> deviceUsedList,
                              List<TaskModelCheckResult> checkResult) {
                              List<TaskModelCheckResultDto> checkResult) {
        // 首先找到顶层模型
        List<OperatConditModel> gkModelTops = gkModelList.stream().filter(item ->
                taskPhaseModel.getOperatConditId().equals(item.getOperatConditId())
@@ -205,7 +199,7 @@
                    taskPhaseModel,
                    null,
                    node,
                    TaskModelCheckResult.CATEGORY_GK_MODEL, checkResult);
                    TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult);
        }
    }
@@ -215,20 +209,20 @@
                                         OperatConditModel gkModel,
                                         XhProductModel node,
                                         String category,
                                         List<TaskModelCheckResult> checkResult) {
        TaskModelCheckResult result = new TaskModelCheckResult();
                                         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 TaskModelCheckResult.CATEGORY_TASK_TIME:
            case TaskModelCheckResultDto.CATEGORY_TASK_TIME:
                break;
            case TaskModelCheckResult.CATEGORY_PHASE_TIME:
            case TaskModelCheckResultDto.CATEGORY_PHASE_TIME:
                result.setTaskModelPhaseId(taskModelPhase.getId());
                result.setTaskModelPhaseName(taskModelPhase.getPhaseName());
                break;
            case TaskModelCheckResult.CATEGORY_GK_TIME:
            case TaskModelCheckResultDto.CATEGORY_GK_TIME:
                result.setTaskModelPhaseId(taskModelPhase.getId());
                result.setTaskModelPhaseName(taskModelPhase.getPhaseName());
                if (null != taskModelPhaseModel) {
@@ -236,7 +230,7 @@
                    result.setGkName(taskModelPhaseModel.getOperatConditName());
                }
                break;
            case TaskModelCheckResult.CATEGORY_GK_MODEL:
            case TaskModelCheckResultDto.CATEGORY_GK_MODEL:
                result.setTaskModelPhaseId(taskModelPhase.getId());
                result.setTaskModelPhaseName(taskModelPhase.getPhaseName());
                result.setGkId(taskModelPhaseModel.getOperatConditId());