modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/TaskController.java
@@ -11,7 +11,7 @@ import com.zt.common.validator.group.AddGroup; import com.zt.common.validator.group.DefaultGroup; import com.zt.common.validator.group.UpdateGroup; 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.Task; import com.zt.life.modules.mainPart.taskReliability.service.TaskService; import io.swagger.annotations.Api; @@ -65,7 +65,7 @@ @GetMapping("checkTaskModel") @ApiOperation("任务模型完整性检查") public Result<List<TaskModelCheckResult>> checkTaskModel(Long productId){ public Result<List<TaskModelCheckResultDto>> checkTaskModel(Long productId){ // List<TaskModelCheckResult> checkResult = taskService.checkTaskModel(productId); // return Result.ok(checkResult); return Result.ok(); modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskRepairParamDao.java
@@ -1,6 +1,7 @@ package com.zt.life.modules.mainPart.taskReliability.dao; import com.zt.common.dao.BaseDao; import com.zt.life.modules.mainPart.taskReliability.dto.TaskPhaseConstraintDto; import com.zt.life.modules.mainPart.taskReliability.model.TaskRepairParam; import org.apache.ibatis.annotations.Mapper; @@ -19,6 +20,6 @@ public interface TaskRepairParamDao extends BaseDao<TaskRepairParam> { List<TaskRepairParam> getList(Map<String, Object> params); List<TaskRepairParam> getTaskRepairParams(Long taskModelId); List<TaskPhaseConstraintDto> getTaskRepairConstraints(Long taskId, Long phaseId, Long gkId); } modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/ModelLinePairDto.java
File was renamed from modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/ModelLinePair.java @@ -4,7 +4,7 @@ import lombok.Data; @Data public class ModelLinePair { public class ModelLinePairDto { private ModelLine line1; private ModelLine line2; } modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/TaskModelCheckResultDto.java
File was renamed from modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/TaskModelCheckResult.java @@ -3,7 +3,7 @@ import lombok.Data; @Data public class TaskModelCheckResult { public class TaskModelCheckResultDto { public final static String CATEGORY_TASK_TIME = "任务总时长未配置"; public final static String CATEGORY_PHASE_TIME = "阶段时长未配置"; public final static String CATEGORY_GK_TIME = "工况时长未配置"; modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/TaskPhaseConstraintDto.java
New file @@ -0,0 +1,41 @@ package com.zt.life.modules.mainPart.taskReliability.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * TaskRepairConstraintDto * * @author zt generator * @since 1.0.0 2024-08-07 */ @Data public class TaskPhaseConstraintDto { @ApiModelProperty(value = "任务ID") private Long taskId; @ApiModelProperty(value = "阶段id") private Long phaseId; @ApiModelProperty(value = "工况模型id(当前未使用)") private Long gkModelId; @ApiModelProperty(value = "产品结构树节点ID(当前未使用)") private Long nodeId; @ApiModelProperty(value = "模型id(当前未使用)") private Long modelId; @ApiModelProperty(value = "设备类型") private String equipType; @ApiModelProperty(value = "状态") private Integer status; @ApiModelProperty(value = "设备ID") private Long productId; @ApiModelProperty(value = "设备名称") private String productName; } modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskPhaseModel.java
@@ -3,13 +3,11 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.zt.common.entity.BusiEntity; import com.zt.common.entity.TreeNode; import com.zt.life.modules.mainPart.basicInfo.model.ParamData; import com.zt.life.modules.mainPart.taskReliability.dto.TaskPhaseConstraintDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.ArrayList; import java.util.List; /** @@ -52,5 +50,8 @@ @TableField(exist = false) private double operatConditDuration; @ApiModelProperty(value = "阶段约束") @TableField(exist = false) private List<TaskPhaseConstraintDto> phaseConstraints; } modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java
@@ -7,24 +7,16 @@ import com.zt.common.utils.UUIDUtil; import com.zt.life.modules.mainPart.basicInfo.dao.ParamDataDao; import com.zt.life.modules.mainPart.basicInfo.dao.XhProductModelDao; import com.zt.life.modules.mainPart.basicInfo.model.ParamData; import com.zt.life.modules.mainPart.basicInfo.model.ProductImg; 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.ModelLinePair; import com.zt.life.modules.mainPart.taskReliability.dto.ModelLinePairDto; import com.zt.life.modules.mainPart.taskReliability.model.*; import org.apache.commons.lang3.StringUtils; import org.dom4j.DocumentHelper; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zt.common.db.query.QueryFilter; import org.springframework.transaction.annotation.Transactional; import java.io.StringWriter; import java.util.*; import java.util.stream.Collectors; @@ -736,8 +728,8 @@ List<ModelLine> lines = modelLineList.stream().filter(item -> item.getEndCell().equals(startNode.getPicId())).collect(Collectors.toList()); if (lines.size()<2) continue; List<ModelLinePair> linePairs = getLinePairs(lines); for (ModelLinePair linePair : linePairs) { List<ModelLinePairDto> linePairs = getLinePairs(lines); for (ModelLinePairDto linePair : linePairs) { hasSimplifiedMe = simplifyBridgeOneLinePair(modelId, modelNodeList, modelLineList, algorithmList, modelNodeAndVnodeList, startNode, linePair); if (hasSimplifiedMe) { @@ -756,7 +748,7 @@ List<Algorithm> algorithmList, List<ModelNode> modelNodeAndVnodeList, ModelNode startNode, ModelLinePair linePair) { ModelLinePairDto linePair) { ModelNode node1 = null; ModelNode node2 = null; ModelNode node3 = null; @@ -967,11 +959,11 @@ } // 找出所有2根线的组合 private List<ModelLinePair> getLinePairs(List<ModelLine> lines) { List<ModelLinePair> linePairs = new ArrayList<>(); private List<ModelLinePairDto> getLinePairs(List<ModelLine> lines) { List<ModelLinePairDto> linePairs = new ArrayList<>(); for (int i=0; i<lines.size()-1; i++) { for (int j=i+1; j<lines.size(); j++) { ModelLinePair linePair = new ModelLinePair(); ModelLinePairDto linePair = new ModelLinePairDto(); linePair.setLine1(lines.get(i)); linePair.setLine2(lines.get(j)); linePairs.add(linePair); modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelRbdNodeService.java
@@ -1,32 +1,10 @@ package com.zt.life.modules.mainPart.taskReliability.service; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.zt.common.db.query.QueryFilter; import com.zt.common.service.BaseService; import com.zt.common.utils.JsonUtils2; import com.zt.common.utils.UUIDUtil; import com.zt.life.modules.mainPart.basicInfo.dao.ParamDataDao; import com.zt.life.modules.mainPart.basicInfo.dao.XhProductModelDao; import com.zt.life.modules.mainPart.basicInfo.model.ParamData; import com.zt.life.modules.mainPart.basicInfo.model.ProductImg; 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.ModelLinePair; import com.zt.life.modules.mainPart.taskReliability.model.*; import org.apache.commons.lang3.StringUtils; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.StringWriter; import java.util.*; import java.util.stream.Collectors; /** modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
@@ -17,7 +17,8 @@ import com.zt.life.modules.mainPart.taskReliability.dao.SimulatAssessDao; import com.zt.life.modules.mainPart.taskReliability.dao.TimeDiagramDao; import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto; 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.dto.TaskPhaseConstraintDto; import com.zt.life.modules.mainPart.taskReliability.model.*; import com.zt.life.modules.mainPart.utils.GetStringSpace; import org.dom4j.Document; @@ -675,7 +676,7 @@ public Result simulate(SimulatAssess simulatAssess) { Result result = null; // 1. 检查模型完整性 List<TaskModelCheckResult> chkResult = taskService.checkTaskModel(simulatAssess.getProductId(), List<TaskModelCheckResultDto> chkResult = taskService.checkTaskModel(simulatAssess.getProductId(), simulatAssess.getTaskModelId()); if (chkResult.size() > 0) { result = Result.error("模型不完整,请检查模型定义及参数配置。"); @@ -782,7 +783,6 @@ Long taskId = simulatAssess.getTaskModelId(); Task task = taskService.get(taskId); List<TaskBinoParam> binoParams = taskBinoParamDao.getBinoParams(taskId); List<TaskRepairParam> taskRepairParams = taskRepairParamDao.getTaskRepairParams(taskId); // 1. 计算各任务阶段的运行时长 List<TaskPhase> taskPhases = calcTaskPhaseDuration(task); @@ -801,12 +801,12 @@ Element root = document.addElement("des"); root.addAttribute("name", "General system"); addTasksTag(taskPhaseModelAll, root); addModelsTag(productId, addModelsTag(taskId, productId, productList, paramDataList, taskPhaseModelAll, binoParams, taskRepairParams, root, failureModels, repairModels); addFailureModelsTag(failureModels, root); @@ -854,7 +854,8 @@ satpm.setPhaseName(phase.getPhaseName()); satpm.setPhaseDurationRate(phase.getPhaseDurationRate()); satpm.setPhaseDuration(phase.getPhaseDuration()); satpm.setPhaseConstraint(null); // TODO satpm.setPhaseConstraint(tpm.getPhaseConstraints().stream().map(item -> item.getProductId().toString()).collect(Collectors.joining(","))); satpm.setGkId(tpm.getOperatConditId()); satpm.setGkName(tpm.getOperatConditName()); satpm.setGkDurationRate(tpm.getOperatConditDurationRate()); @@ -871,6 +872,11 @@ Element taskTag = tasksTag.addElement("task"); taskTag.addAttribute("duration", String.valueOf(taskPhaseModel.getOperatConditDuration())); taskTag.addAttribute("model", taskPhaseModel.getOperatConditId().toString()); if (null != taskPhaseModel.getPhaseConstraints() && taskPhaseModel.getPhaseConstraints().size() > 0) { taskTag.addAttribute("NAM", taskPhaseModel.getPhaseConstraints().stream().map(item -> item.getProductId().toString()).collect(Collectors.joining(","))); } } } @@ -902,7 +908,7 @@ ele.addAttribute("value", String.valueOf(failureModel.getParam3())); break; case FailureModel.TYPE_FIX: ele = failureModelTag.addElement("unreliability"); ele = failureModelTag.addElement("reliability"); ele.addAttribute("value", String.valueOf(failureModel.getParam1())); break; default: @@ -945,6 +951,10 @@ double duration = taskPhase.getPhaseDuration() * taskPhaseModel.getOperatConditDurationRate() / totalRate; taskPhaseModel.setOperatConditDuration(duration); sum += duration; List<TaskPhaseConstraintDto> taskRepairConstraints = taskRepairParamDao.getTaskRepairConstraints(taskPhase.getTaskId(), taskPhaseModel.getPhaseId(), taskPhaseModel.getOperatConditId()); taskPhaseModel.setPhaseConstraints(taskRepairConstraints); taskPhaseModelAll.add(taskPhaseModel); } // 把零头补到最后一个工况模型 @@ -968,12 +978,12 @@ return taskPhases; } private void addModelsTag(Long productId, private void addModelsTag(Long taskId, Long productId, List<XhProductModel> productList, List<ParamData> paramDataList, List<TaskPhaseModel> taskPhaseModelAll, List<TaskBinoParam> binoParams, List<TaskRepairParam> taskRepairParams, Element root, List<FailureModel> failureModels, List<RepairModel> repairModels) { @@ -992,28 +1002,32 @@ "end".equals(item.getAlgorithmType())).collect(Collectors.toList()).get(0); ModelNode computerNode = modelNodeAndVnodeList.stream().filter(item -> endAlgo.getComputerList().equals(item.getId().toString())).collect(Collectors.toList()).get(0); node2DOM(productId, node2DOM(taskId, taskPhaseModel, gkModelTop.getModelId(), productId, productList, paramDataList, gkModelsAssembled, algorithmList, modelNodeAndVnodeList, binoParams, taskRepairParams, computerNode, modelTag, failureModels, repairModels); } } // 递归函数 private void node2DOM(Long productId, private void node2DOM(Long taskId, TaskPhaseModel taskPhaseModel, Long modelId, Long productId, List<XhProductModel> productList, List<ParamData> paramDataList, List<OperatConditModel> gkModelsAssembled, List<Algorithm> algorithmList, List<ModelNode> modelNodeAndVnodeList, List<TaskBinoParam> binoParams, List<TaskRepairParam> taskRepairParams, ModelNode node, Element parent, List<FailureModel> failureModels, @@ -1032,37 +1046,53 @@ "end".equals(item.getAlgorithmType())).collect(Collectors.toList()).get(0); ModelNode computerNode = modelNodeAndVnodeListSub.stream().filter(item -> endAlgo.getComputerList().equals(item.getId().toString())).collect(Collectors.toList()).get(0); node2DOM(product.getId(), node2DOM(taskId, taskPhaseModel, gkModel.getModelId(), product.getId(), productList, paramDataList, gkModelsAssembled, algorithmListSub, modelNodeAndVnodeListSub, binoParams, taskRepairParams, computerNode, parent, failureModels, repairModels); } else if ("5".equals(product.getProductType())) { // 设备 ParamData paramData = paramDataList.stream().filter(item -> dataId.equals(item.getProductId())).collect(Collectors.toList()).get(0); Element nodeTag = parent.addElement("node"); nodeTag.addAttribute("name", dataId.toString()); nodeTag.addAttribute("type", "node"); FailureModel failureModel = new FailureModel(); failureModel.setId(UUIDUtil.generateId()); failureModel.setType(FailureModel.TYPE_EXP); failureModel.setParam1(1.0 / paramData.getTaskMtbcfRegulate()); ParamData paramData = paramDataList.stream().filter(item -> dataId.equals(item.getProductId())).collect(Collectors.toList()).get(0); Double ratio = paramData.getTaskMtbcfOperatingRatio(); if (null != ratio && ratio > 0) { // 间断型设备的处理 double cycon = taskPhaseModel.getOperatConditDuration() * ratio; double cycdown = taskPhaseModel.getOperatConditDuration() - cycon; nodeTag.addAttribute("cycon", String.valueOf(cycon)); nodeTag.addAttribute("cycdown", String.valueOf(cycdown)); } TaskBinoParam taskBinoParam = null; if (3 == paramData.getReliabDistribType()) { // 二项分布处理 taskBinoParam = binoParams.stream() .filter(item -> taskId.equals(item.getTaskId())) .filter(item -> taskPhaseModel.getPhaseId().equals(item.getPhaseId())) .filter(item -> taskPhaseModel.getOperatConditId().equals(item.getOperatConditId())) .filter(item -> modelId.equals(item.getModelId())) .filter(item -> dataId.equals(item.getProductId())) .collect(Collectors.toList()).get(0); } FailureModel failureModel = createFailureModel(paramData, taskBinoParam); failureModels.add(failureModel); Element failureTag = nodeTag.addElement("failure_model"); failureTag.addAttribute("name", failureModel.getId().toString()); if (1 == paramData.getRepairable()) { RepairModel repairModel = new RepairModel(); repairModel.setId(UUIDUtil.generateId()); repairModel.setType(RepairModel.TYPE_EXP); repairModel.setParam1(1.0 / paramData.getRepairMttcr()); // 可维修 RepairModel repairModel = createRepairModel(paramData); repairModels.add(repairModel); Element repairTag = nodeTag.addElement("repair_model"); repairTag.addAttribute("name", repairModel.getId().toString()); @@ -1094,35 +1124,50 @@ for (String nodeStr : computerNodeListStr) { ModelNode mn = modelNodeAndVnodeList.stream().filter(item -> nodeStr.equals(item.getId().toString())).collect(Collectors.toList()).get(0); node2DOM(null, node2DOM(taskId, taskPhaseModel, modelId, null, productList, paramDataList, gkModelsAssembled, algorithmList, modelNodeAndVnodeList, binoParams, taskRepairParams, mn, element, failureModels, repairModels); } } } private FailureModel createFailureModel(ParamData paramData) { private FailureModel createFailureModel(ParamData paramData, TaskBinoParam taskBinoParam) { FailureModel failureModel = new FailureModel(); failureModel.setId(UUIDUtil.generateId()); switch (paramData.getReliabDistribType()) { case 1: // 指数分布 failureModel.setType(FailureModel.TYPE_EXP); failureModel.setParam1(1.0 / paramData.getTaskMtbcfRegulate()); break; case 2: // 威布尔分布 failureModel.setType(FailureModel.TYPE_WBL); failureModel.setParam2(paramData.getTaskMtbcfOtherParams2()); failureModel.setParam3(paramData.getTaskMtbcfOtherParams3()); break; case 3: failureModel.setType(FailureModel.TYPE_BIN); // 二项分布 if (taskBinoParam.getSimulatTimes().intValue() == taskBinoParam.getSuccessTimes().intValue()) { // 相等则为成败型 failureModel.setType(FailureModel.TYPE_FIX); failureModel.setParam1(taskBinoParam.getSuccessRate()); } else { // 二项分布 failureModel.setType(FailureModel.TYPE_BIN); failureModel.setParam1(taskBinoParam.getSuccessRate()); failureModel.setParam2(taskBinoParam.getSimulatTimes()); failureModel.setParam3(taskBinoParam.getSuccessTimes()); } break; default: break; @@ -1130,4 +1175,29 @@ return failureModel; } private RepairModel createRepairModel(ParamData paramData) { RepairModel repairModel = new RepairModel(); repairModel.setId(UUIDUtil.generateId()); switch (paramData.getRepairDistribType()) { case 1: // 指数分布 repairModel.setType(FailureModel.TYPE_EXP); repairModel.setParam1(1.0 / paramData.getRepairMttcr()); break; case 2: // 威布尔分布 repairModel.setType(FailureModel.TYPE_WBL); repairModel.setParam2(paramData.getRepairMttcrOtherParams2()); repairModel.setParam3(paramData.getRepairMttcrOtherParams3()); break; case 3: // 二项分布(维修没有) break; default: break; } return repairModel; } } 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,8 +76,8 @@ * @param productId 产品节点ID(一般为总体) * @return 检查出的错误的List,长度为0表示没有错误,不会返回null */ public List<TaskModelCheckResult> checkTaskModel(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. 获取数据 @@ -108,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()); @@ -118,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()); @@ -128,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 -> @@ -141,7 +141,7 @@ phase, taskPhaseModel, null, null, TaskModelCheckResult.CATEGORY_GK_TIME, checkResult); TaskModelCheckResultDto.CATEGORY_GK_TIME, checkResult); } } else { // 有工况模型被选用,检查选用的工况模型 @@ -159,7 +159,7 @@ taskPhaseModel, null, node, TaskModelCheckResult.CATEGORY_GK_MODEL, checkResult); TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult); } else { // 有工况模型树,检查其完整性 // checkGkModel(taskModel, phase, taskPhaseModel, gkModelTops.get(0), @@ -185,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()) @@ -199,7 +199,7 @@ taskPhaseModel, null, node, TaskModelCheckResult.CATEGORY_GK_MODEL, checkResult); TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult); } } @@ -209,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) { @@ -230,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()); modules/mainPart/src/main/resources/mapper/taskReliability/TaskRepairParamDao.xml
@@ -47,14 +47,53 @@ on e.task_id = d.task_id and e.phase_id = d.phase_id and e.equip_type = d.equip_type </select> <select id="getTaskRepairParams" resultType="com.zt.life.modules.mainPart.taskReliability.model.TaskRepairParam"> select a.* from task_repair_param a where a.IS_DELETE=0 <if test="shipId!=null"> and a.task_id = #{taskModelId} </if> <select id="getTaskRepairConstraints" resultType="com.zt.life.modules.mainPart.taskReliability.dto.TaskPhaseConstraintDto"> SELECT h.task_id, h.phase_id, b.operat_condit_id as gk_model_id, d.model_id, h.equip_type, h.STATUS, f.`NAME` as product_name, f.ID as product_id FROM task_phase a, task_phase_model b, operat_condit c, operat_condit_model d, model_node_algorithm e, product_model f, param_data g, task_repair_param h WHERE a.task_id = #{taskId} AND a.is_delete = 0 AND b.phase_id = a.id and a.id = #{phaseId} AND b.is_delete = 0 AND c.id = b.operat_condit_id and c.id = #{gkId} AND c.is_delete = 0 AND d.operat_condit_id = c.id AND d.is_delete = 0 AND d.is_disabled = 0 AND e.model_id = d.model_id AND e.is_delete = 0 AND f.id = e.data_id AND f.is_delete = 0 AND g.product_id = f.id AND g.is_delete = 0 AND g.repairable = 1 and h.task_id = a.task_id and h.phase_id = b.phase_id and h.`STATUS` = 1 and h.equip_type = f.equip_type order by h.task_id, h.phase_id, b.operat_condit_id, d.model_id, h.equip_type, f.`NAME` </select> </mapper>