jinlin
2024-07-30 481b82866b1714f79dc35ecf2bc26436b027954e
修改
15个文件已修改
7个文件已添加
1个文件已删除
640 ■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessTaskPhaseModelController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessTaskPhaseModelDao.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskPhaseDao.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/ProductStatusDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/StatusDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssessTaskPhaseModel.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskBinoParam.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessTaskPhaseModelService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskPhaseService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessTaskPhaseModelDao.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseDao.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseModelDao.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/taskReliability/SimulatAssess.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/taskReliability/SimulatData.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/taskReliability/SimulatHistory.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/taskReliability/TaskBinoParam.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/taskReliability/TimeDiagram.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java
@@ -76,6 +76,12 @@
            } else if (ztShow == 3) {
                productList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE,
                        Constant.Bool.NO).lt("product_type", 3).ne("product_type", 10).orderByAsc(Constant.TableColumn.SORT));
            }else if (ztShow == 4) {
                productList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE,
                        Constant.Bool.NO).lt("product_type", 5).ne("product_type", 1).orderByAsc(Constant.TableColumn.SORT));
            }else if (ztShow == 5) {
                productList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE,
                        Constant.Bool.NO).gt("product_type", 1).orderByAsc(Constant.TableColumn.SORT));
            }
        }
@@ -169,7 +175,6 @@
                for (int j = 1; j <= num; j++) {
                    CacheUtils.put(progressId, "speed", CommonUtils.getPercent(j, num));
                    CacheUtils.put(progressId, "msg", "共" + num + "行,已完成第" + j + "行");
                    DictTypeDto lifeManagement = new DictTypeDto();
                    boolean isToggleXt = false;
                    boolean isToggleFxt = false;
                    row1 = j + 1;
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java
@@ -4,26 +4,23 @@
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.XML;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zt.common.annotation.LogOperation;
import com.zt.common.constant.Constant;
import com.zt.common.annotation.QueryParam;
import com.zt.common.db.query.QueryFilter;
import com.zt.common.servlet.Result;
import com.zt.common.servlet.PageResult;
import com.zt.common.validator.AssertUtils;
import com.zt.common.validator.ValidatorUtils;
import com.zt.common.validator.group.DefaultGroup;
import com.zt.common.validator.group.UpdateGroup;
import com.zt.life.modules.mainPart.async.PythonLib;
import com.zt.life.modules.mainPart.taskReliability.dto.SimulaDataDto;
import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
import com.zt.life.modules.mainPart.taskReliability.dto.StatusDto;
import com.zt.life.modules.mainPart.taskReliability.model.CurveParam;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
import com.zt.life.modules.mainPart.taskReliability.model.Task;
import com.zt.life.modules.mainPart.taskReliability.service.SimulatAssessService;
import com.zt.life.modules.mainPart.taskReliability.service.TaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
@@ -32,13 +29,15 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -53,6 +52,7 @@
public class SimulatAssessController {
    private static final Logger logger = LoggerFactory.getLogger(SimulatAssessController.class);
    private static final String taskTypeProgress = "calcprog";
    private List<Map<String, Double>> dialgram = new ArrayList<>();
    @Autowired
    private RedisTemplate redisTemplate;
@@ -70,6 +70,8 @@
    private SimulatAssessService simulatAssessService;
    private JSONObject xmlJSONObj;
    private JSONObject dialgramJson;
   /* @GetMapping("page")
    @ApiOperation("分页")
@@ -94,16 +96,16 @@
    @GetMapping("getSimulatList")
    @ApiOperation("信息")
    public Result<List<SimulatAssess>> getSimulatList(Long productId,Long taskModelId) {
        List<SimulatAssess> data = simulatAssessService.getList(productId,taskModelId);
    public Result<List<SimulatAssess>> getSimulatList(Long productId, Long taskModelId) {
        List<SimulatAssess> data = simulatAssessService.getList(productId, taskModelId);
        return Result.ok(data);
    }
    @GetMapping("getSimulatParams")
    @ApiOperation("信息")
    public Result<List<SimulatAssess>> getSimulatParams(Long id,Long taskModelId) {
        List<SimulatAssess> data = simulatAssessService.getParams(id,taskModelId);
    public Result<SimulatAssess> getSimulatParams(Long id, Long taskModelId) {
        SimulatAssess data = simulatAssessService.getParams(id, taskModelId);
        return Result.ok(data);
    }
@@ -111,18 +113,6 @@
    @PostMapping("analyze")
    public Result<Long> analyze(@RequestBody SimulatAssess simulatAssess) {
        //效验数据
/*
        ValidatorUtils.validateEntity(simulatAssess, AddGroup.class, DefaultGroup.class);
        Long taskId = UUIDUtil.generateId();
        Integer time = simulatAssess.getSamplPeriod();
        Integer Frequency = simulatAssess.getSimulatFrequency();
        HashMap<String, Object> paramMap = new HashMap<>();
        paramMap.put("taskId", taskId);
        paramMap.put("time", time);
        paramMap.put("Frequency", Frequency);
        paramMap.put("url", "http://localhost:8050/test-project//taskReliability/SimulatAssess/calculate");
        String result1 = HttpUtil.get("http://localhost:8080/system/user/get", paramMap);
*/
        Result result = pythonLib.callPython(simulatAssess);
        return result;
@@ -130,9 +120,9 @@
    @PostMapping("getResultXML")
    public Result<SimulaDataDto> getResultXML(@RequestBody SimulatAssess simulatAssess) {
        if (simulatAssess.getDataType().equals("fz")){
            Integer num = simulatAssessService.getNumById(simulatAssess.getProductId(),simulatAssess.getTaskModelId());
            simulatAssess.setName("仿真记录" + (num+1));
        if (simulatAssess.getDataType().equals("fz")) {
            Integer num = simulatAssessService.getNumById(simulatAssess.getProductId(), simulatAssess.getTaskModelId());
            simulatAssess.setName("仿真记录" + (num + 1));
            simulatAssessService.insert(simulatAssess);
        }
        String filePath = path + "/" + simulatAssess.getId() + "/" + "result.xml";
@@ -199,6 +189,65 @@
        return data;
    }
    @GetMapping("getStatus")
    public Result<List<ProductStatusDto>> getStatus(Long productId, Long taskId, Long fzId) {
        String filePath = path + "/" + fzId + "/" + "status.json";
        ObjectMapper mapper = new ObjectMapper();
        String jsonStr = null;
        try {
            // 使用 ObjectMapper 的 readValue 方法,将文件中的 JSON 数据转换为一个 Java 对象
            // 这里使用 Object 类作为泛型参数,表示任意类型的对象
            Object obj = mapper.readValue(new File(filePath), Object.class);
            // 使用 ObjectMapper 的 writeValueAsString 方法,将 Java 对象转换为 JSON 字符串
            jsonStr = mapper.writeValueAsString(obj);
        } catch (IOException e) {
            // 处理异常
            e.printStackTrace();
        }
        dialgramJson = new JSONObject(jsonStr);
        List<ProductStatusDto> childList = this.getStatusData(productId, taskId);
        return Result.ok(childList);
    }
    public List<ProductStatusDto> getStatusData(Long productId, Long taskId) {
        List<ProductStatusDto> childList = simulatAssessService.getChildren(productId, taskId);
        for (ProductStatusDto item : childList) {
            if (dialgram.size() > 0) {
                dialgram.clear();
            }
            JSONArray jsonArray = dialgramJson.getJSONArray(String.valueOf(item.getId()));
            if (jsonArray != null) {
                this.processJSONArray(jsonArray, item);
            }
        }
        return childList;
    }
    public void processJSONArray(JSONArray jsonArray, ProductStatusDto productStatusDto) {
        String status = null;
        Double times = null;
        for (int i = 0; i < jsonArray.size(); i++) {
            Object item = jsonArray.get(i);
            if (item instanceof JSONArray) {
                processJSONArray((JSONArray) item, productStatusDto); // 递归调用
            } else {
                if (item instanceof Double) {
                    times = (Double) item;
                } else {
                    status = String.valueOf(item);
                }
            }
        }
        if (status != null || times != null) {
            StatusDto statusDto =new StatusDto();
            statusDto.setTimes(times);
            statusDto.setStatus(status);
            productStatusDto.getStatusList().add(statusDto);
        }
    }
    @GetMapping("getCalcProgress")
    public Result getCalcProgress(Long taskId) {
        String key = taskId.toString() + taskTypeProgress;
@@ -229,4 +278,6 @@
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessTaskPhaseModelController.java
New file
@@ -0,0 +1,96 @@
package com.zt.life.modules.mainPart.taskReliability.controller;
import com.zt.common.annotation.LogOperation;
import com.zt.common.constant.Constant;
import com.zt.common.annotation.QueryParam;
import com.zt.common.db.query.QueryFilter;
import com.zt.common.servlet.Result;
import com.zt.common.servlet.PageResult;
import com.zt.common.validator.AssertUtils;
import com.zt.common.validator.ValidatorUtils;
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.model.SimulatAssessTaskPhaseModel;
import com.zt.life.modules.mainPart.taskReliability.service.SimulatAssessTaskPhaseModelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * simulat_assess_task_phase_model
 *
 * @author zt generator
 * @since 1.0.0 2024-07-30
 */
@RestController
@RequestMapping("/taskReliability/SimulatAssessTaskPhaseModel/")
@Api(tags="simulat_assess_task_phase_model")
public class SimulatAssessTaskPhaseModelController {
    @Autowired
    private SimulatAssessTaskPhaseModelService simulatAssessTaskPhaseModelService;
    @GetMapping("page")
    @ApiOperation("分页")
    @ApiImplicitParams({
        @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT),
        @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
        @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
        @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
    })
    public PageResult<SimulatAssessTaskPhaseModel> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(simulatAssessTaskPhaseModelService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<SimulatAssessTaskPhaseModel> get(@PathVariable("id") Long id){
        SimulatAssessTaskPhaseModel data = simulatAssessTaskPhaseModelService.get(id);
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody SimulatAssessTaskPhaseModel simulatAssessTaskPhaseModel){
        //效验数据
        ValidatorUtils.validateEntity(simulatAssessTaskPhaseModel, AddGroup.class, DefaultGroup.class);
        simulatAssessTaskPhaseModelService.insert(simulatAssessTaskPhaseModel);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody SimulatAssessTaskPhaseModel simulatAssessTaskPhaseModel){
        //效验数据
        ValidatorUtils.validateEntity(simulatAssessTaskPhaseModel, UpdateGroup.class, DefaultGroup.class);
        simulatAssessTaskPhaseModelService.update(simulatAssessTaskPhaseModel);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        simulatAssessTaskPhaseModelService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java
@@ -1,12 +1,12 @@
package com.zt.life.modules.mainPart.taskReliability.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
@@ -23,5 +23,7 @@
    Integer getNumById(Long productId, Long taskModelId);
    List<SimulatAssess> getParams(Long id, Long taskModelId);
    SimulatAssess getParams(Long id, Long taskModelId);
    List<ProductStatusDto> getChildren(Long productId, Long taskId);
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessTaskPhaseModelDao.java
New file
@@ -0,0 +1,23 @@
package com.zt.life.modules.mainPart.taskReliability.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssessTaskPhaseModel;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * simulat_assess_task_phase_model
 *
 * @author zt generator
 * @since 1.0.0 2024-07-30
 */
@Mapper
public interface SimulatAssessTaskPhaseModelDao extends BaseDao<SimulatAssessTaskPhaseModel> {
    List<SimulatAssessTaskPhaseModel> getList(Map<String, Object> params);
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskPhaseDao.java
@@ -21,4 +21,6 @@
    List<TaskPhase> getList(Map<String, Object> params);
    Integer getMaxSort(Long taskId);
    List<Long> getPhaseByTask(Long taskId);
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/ProductStatusDto.java
New file
@@ -0,0 +1,19 @@
package com.zt.life.modules.mainPart.taskReliability.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.life.modules.mainPart.taskReliability.model.CurveParam;
import com.zt.life.modules.mainPart.taskReliability.model.OperatConditModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Data
public class ProductStatusDto {
    private Long id ;
    private String name ;
    private Integer sort ;
    private List<StatusDto> statusList = new ArrayList<>();
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/StatusDto.java
New file
@@ -0,0 +1,9 @@
package com.zt.life.modules.mainPart.taskReliability.dto;
import lombok.Data;
@Data
public class StatusDto {
    private String status;
    private Double times;
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java
@@ -43,6 +43,9 @@
    @TableField(exist = false)
    private String dataType;
    @TableField(exist = false)
    private Integer taskDuration;
    @ApiModelProperty(value = "传给算法库的xml")
    private String xml;
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssessTaskPhaseModel.java
New file
@@ -0,0 +1,63 @@
package com.zt.life.modules.mainPart.taskReliability.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zt.common.entity.BusiEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
 * simulat_assess_task_phase_model
 *
 * @author zt generator
 * @since 1.0.0 2024-07-30
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("simulat_assess_task_phase_model")
public class SimulatAssessTaskPhaseModel extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "仿真ID")
    private Long fzId;
    @ApiModelProperty(value = "任务ID")
    private Long taskId;
    @ApiModelProperty(value = "任务名称")
    private String taskName;
    @ApiModelProperty(value = "任务时长")
    private Double taskDuration;
    @ApiModelProperty(value = "阶段ID")
    private Long phaseId;
    @ApiModelProperty(value = "阶段名称")
    private String phaseName;
    @ApiModelProperty(value = "阶段时长比")
    private Double phaseDurationRate;
    @ApiModelProperty(value = "阶段时长")
    private Double phaseDuration;
    @ApiModelProperty(value = "工况模型ID")
    private Long gkId;
    @ApiModelProperty(value = "工况模型名称")
    private String gkName;
    @ApiModelProperty(value = "工况模型时长比")
    private Double gkDurationRate;
    @ApiModelProperty(value = "工况模型时长")
    private Double gkDuration;
    @ApiModelProperty(value = "备注")
    private String remark;
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/TaskBinoParam.java
@@ -26,7 +26,6 @@
    @ApiModelProperty(value = "任务ID")
    private Long taskId;
    @ApiModelProperty(value = "阶段id")
    private Long phaseId;
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
@@ -2,9 +2,10 @@
import com.zt.common.service.BaseService;
import com.zt.life.modules.mainPart.taskReliability.dao.SimulatAssessDao;
import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zt.common.db.query.QueryFilter;
import java.util.List;
@@ -12,11 +13,13 @@
/**
 * simulat_assess
 *
 * @author zt generator
 * @author zt generator
 * @since 1.0.0 2024-03-20
 */
@Service
public class SimulatAssessService  extends BaseService<SimulatAssessDao, SimulatAssess> {
public class SimulatAssessService extends BaseService<SimulatAssessDao, SimulatAssess> {
    @Autowired
    private TaskPhaseService taskPhaseService;
    /**
     * 分页查询
@@ -38,14 +41,18 @@
    }
    public Integer getNumById(Long productId, Long taskModelId) {
        return baseDao.getNumById(productId,taskModelId);
        return baseDao.getNumById(productId, taskModelId);
    }
    public List<SimulatAssess> getList(Long productId, Long taskModelId) {
        return baseDao.getList(productId,taskModelId);
        return baseDao.getList(productId, taskModelId);
    }
    public List<SimulatAssess> getParams(Long id, Long taskModelId) {
        return baseDao.getParams(id,taskModelId);
    public SimulatAssess getParams(Long id, Long taskModelId) {
        return baseDao.getParams(id, taskModelId);
    }
    public List<ProductStatusDto> getChildren(Long productId, Long taskId) {
        return baseDao.getChildren(productId, taskId);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessTaskPhaseModelService.java
New file
@@ -0,0 +1,40 @@
package com.zt.life.modules.mainPart.taskReliability.service;
import com.zt.common.service.BaseService;
import com.zt.life.modules.mainPart.taskReliability.dao.SimulatAssessTaskPhaseModelDao;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssessTaskPhaseModel;
import org.springframework.stereotype.Service;
import com.zt.common.db.query.QueryFilter;
import javax.annotation.Resource;
import java.util.List;
/**
 * simulat_assess_task_phase_model
 *
 * @author zt generator
 * @since 1.0.0 2024-07-30
 */
@Service
public class SimulatAssessTaskPhaseModelService  extends BaseService<SimulatAssessTaskPhaseModelDao, SimulatAssessTaskPhaseModel> {
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<SimulatAssessTaskPhaseModel> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskPhaseService.java
@@ -40,4 +40,8 @@
    public Integer getMaxSort(Long taskId) {
        return baseDao.getMaxSort(taskId);
    }
    public List<Long> getPhaseByTask(Long taskId) {
        return baseDao.getPhaseByTask(taskId);
    }
}
modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml
@@ -19,12 +19,40 @@
          and IS_DELETE = 0
    </select>
    <select id="getParams" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess">
        select a.sampl_period,b.task_duration
        select a.sampl_period, a.simulat_frequency
        from simulat_assess a
        left join task b on a.task_model_id = b.id and b.IS_DELETE= 0
        where a.id = ${id}
          and a.task_model_id = ${taskModelId}
          and a.IS_DELETE = 0
    </select>
    <select id="getChildren" resultType="com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto">
        select * from (
                          SELECT f.id,f.name, 0 as sort
                          FROM product_model f
                          WHERE f.id = 1813102074724945921
                            AND f.is_delete = 0
                          union
                          SELECT f.id,f.name,f.sort
                          FROM `task_phase` a,
                               task_phase_model b,
                               operat_condit c,
                               operat_condit_model d,
                               model_rbd_node e,
                               product_model f
                          WHERE a.task_id = ${taskId}
                            and d.product_id = ${productId}
                            AND a.is_delete = 0
                            AND b.is_delete = 0
                            AND c.id = b.operat_condit_id
                            AND c.is_delete = 0
                            AND d.operat_condit_id = c.id
                            AND d.is_delete = 0
                            AND e.model_id = d.model_id
                            AND e.is_delete = 0
                            AND f.id = e.node_id
                            AND f.is_delete = 0
                          GROUP BY f.id,f.name,f.sort
                      ) as f
        ORDER BY f.sort
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessTaskPhaseModelDao.xml
New file
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zt.life.modules.mainPart.taskReliability.dao.SimulatAssessTaskPhaseModelDao">
    <select id="getList" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssessTaskPhaseModel">
        select a.*
        from simulat_assess_task_phase_model a
        <where>
            a.is_delete = 0
            <if test="whereSql!=null">
                and ${whereSql}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseDao.xml
@@ -22,5 +22,13 @@
            is_delete = 0
            and task_id =${taskId}
    </select>
    <select id="getPhaseByTask" resultType="java.lang.Long">
        SELECT id
        FROM task_phase
        where
            is_delete = 0
          and task_id =${taskId}
        order by phase_sort
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/taskReliability/TaskPhaseModelDao.xml
@@ -16,6 +16,7 @@
                           on a.id = b.operat_condit_id and b.is_delete = 0 and b.phase_id = ${phaseId}
        WHERE a.IS_DELETE = 0
          and a.product_id = ${productId}
        order by a.CREATE_DATE
    </select>
</mapper>
web/src/views/modules/taskReliability/SimulatAssess.vue
@@ -28,11 +28,10 @@
          <el-col :span="4">
            <div style="margin-right: 5px;height: calc(88vh - 100px)" v-if="isSelect">
              <product-model-tree @on-selected="onTreeSelected" showXdy="false"
                                  ref="ProductModelTree" :isShow="false"/>
                                  ref="ProductModelTree" :isShow="false" basic="4"/>
            </div>
          </el-col>
          <el-col :span="20">
            <div style="margin-top: 20px">
              <div>
                <SimulatCurve ref="SimulatCurve"></SimulatCurve>
@@ -47,7 +46,6 @@
<script>
  import SimulatCurve from "./SimulatCurve";
  import SimulatData from "./SimulatData";
  import ProductModelTree from "../basicInfo/ProductModelTree";
@@ -88,14 +86,15 @@
    components: {
      ProductModelTree,
      SimulatCurve,
      SimulatData
    },
    methods: {
      onTreeSelected(data) {
        console.log(data, 'onProductSelected')
        this.dataForm.showProductId = data.id
        this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
        if (this.dataForm.id){
          console.log(data, 'onProductSelected')
          this.dataForm.showProductId = data.id
          this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
        }
      },
      // 获取信息
      onProductSelected(data) {
web/src/views/modules/taskReliability/SimulatData.vue
File was deleted
web/src/views/modules/taskReliability/SimulatHistory.vue
@@ -13,11 +13,11 @@
            <zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/>
          </zt-form-item>
          <zt-form-item label="采样周期" prop="samplPeriod">
            <el-input v-model="dataForm.samplPeriod" >
            <el-input v-model="dataForm.samplPeriod" readonly="false">
            </el-input>
          </zt-form-item>
          <zt-form-item label="仿真总时长" prop="taskDuration">
            <el-input v-model="dataForm.taskDuration" >
          <zt-form-item label="仿真次数" prop="simulatFrequency">
            <el-input v-model="dataForm.simulatFrequency" readonly="false" >
            </el-input>
          </zt-form-item>
        </el-form>
@@ -25,7 +25,7 @@
          <el-col :span="4">
            <div style="margin-right: 5px;height: calc(88vh - 100px)" v-if="isSelect">
              <product-model-tree @on-selected="onTreeSelected" showXdy="false"
                                  ref="ProductModelTree" :isShow="false"/>
                                  ref="ProductModelTree" :isShow="false" basic="4"/>
            </div>
          </el-col>
          <el-col :span="20">
@@ -43,7 +43,6 @@
<script>
  import SimulatCurve from "./SimulatCurve";
  import SimulatData from "./SimulatData";
  import ProductModelTree from "../basicInfo/ProductModelTree";
@@ -56,8 +55,6 @@
        productList: [],
        simulatList: [],
        taskList: [],
        MTBF: '',
        MTTR: '',
        dataForm: {
          id: '',
          taskDuration:'',
@@ -78,7 +75,6 @@
    components: {
      ProductModelTree,
      SimulatCurve,
      SimulatData
    },
    methods: {
@@ -104,9 +100,11 @@
        this.simulatList = res.data
      },
      onTreeSelected(data) {
        console.log(data, 'onProductSelected')
        this.dataForm.showProductId = data.id
        this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
        if (this.dataForm.id){
          console.log(data, 'onProductSelected')
          this.dataForm.showProductId = data.id
          this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
        }
      },
      // 获取信息
      onProductSelected(data) {
@@ -134,8 +132,9 @@
          taskModelId: this.dataForm.taskModelId
        }
        let res = await this.$http.get('/taskReliability/SimulatAssess/getSimulatParams', {params: params})
        console.log(res.data.samplPeriod)
        this.dataForm.taskDuration = res.data.taskDuration
        this.dataForm.samplPeriod = res.data.samplPeriod
        this.dataForm.simulatFrequency = res.data.simulatFrequency
      }
    }
  }
web/src/views/modules/taskReliability/TaskBinoParam.vue
@@ -23,13 +23,13 @@
            <span v-else>{{scope.row.successRate}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="simulatTimes" label="仿真次数" align="center" width="100">
        <el-table-column prop="simulatTimes" label="总次数" align="center" width="100">
          <template slot-scope="scope">
                    <span
                      v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
                       <el-input ref="editInput"
                                 autosize v-model="scope.row.simulatTimes"
                                 placeholder="仿真次数"></el-input>
                                 placeholder="总次数"></el-input>
                    </span>
            <span v-else>{{scope.row.simulatTimes}}</span>
          </template>
web/src/views/modules/taskReliability/TimeDiagram.vue
@@ -17,7 +17,7 @@
          <el-col :span="4">
            <div style="margin-right: 5px;height: calc(88vh - 100px)" v-if="isSelect">
              <product-model-tree @on-selected="onTreeSelected" showXdy="false"
                                  ref="ProductModelTree" :isShow="false"/>
                                  ref="ProductModelTree" :isShow="false" basic="5"/>
            </div>
          </el-col>
          <el-col :span="20">
@@ -35,7 +35,6 @@
<script>
  import SimulatCurve from "./SimulatCurve";
  import SimulatData from "./SimulatData";
  import ProductModelTree from "../basicInfo/ProductModelTree";
@@ -69,7 +68,6 @@
    components: {
      ProductModelTree,
      SimulatCurve,
      SimulatData
    },
    methods: {
@@ -94,10 +92,16 @@
        console.log(res.data)
        this.simulatList = res.data
      },
      onTreeSelected(data) {
        console.log(data, 'onProductSelected')
        this.dataForm.showProductId = data.id
        this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
      async onTreeSelected(data) {
        this.dataForm.productId = data.id
        console.log(this.dataForm.productId)
        let params = {
          productId: this.dataForm.productId,
          taskId: this.dataForm.taskModelId,
          fzId: '1722218139013042135'
        }
        let res = await this.$http.get('/taskReliability/SimulatAssess/getStatus', {params: params})
        console.log(res.data)
      },
      // 获取信息
      onProductSelected(data) {