<?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.SimulatAssessDao"> 
 | 
  
 | 
    <select id="getList" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess"> 
 | 
        select id, CONCAT_WS(' ', name, CREATE_DATE) AS name 
 | 
        from simulat_assess 
 | 
        where task_model_id = ${taskModelId} 
 | 
          and IS_DELETE = 0 
 | 
        order by CREATE_DATE desc 
 | 
    </select> 
 | 
    <select id="getNumById" resultType="java.lang.Integer"> 
 | 
        select COUNT(*) 
 | 
        from simulat_assess 
 | 
        where product_id = ${productId} 
 | 
          and task_model_id = ${taskModelId} 
 | 
          and IS_DELETE = 0 
 | 
    </select> 
 | 
    <select id="getParams" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess"> 
 | 
        select a.sampl_period, a.simulat_frequency 
 | 
        from simulat_assess a 
 | 
        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, 1 as sameSbNum 
 | 
                 FROM product_model f 
 | 
                 WHERE f.id = ${productId} 
 | 
                   AND f.is_delete = 0 
 | 
                 union 
 | 
                 SELECT f.id, f.name, f.sort, g.basic_unit_num as sameSbNum 
 | 
                 FROM `task_phase` a, 
 | 
                      task_phase_model b, 
 | 
                      operat_condit c, 
 | 
                      operat_condit_model d, 
 | 
                      model_rbd_node e, 
 | 
                      product_model f, 
 | 
                      param_data g 
 | 
                 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 
 | 
                   AND g.product_id = f.id 
 | 
                   AND g.is_delete = 0 
 | 
                 GROUP BY f.id, f.name, f.sort 
 | 
             ) as f 
 | 
        ORDER BY f.sort 
 | 
    </select> 
 | 
    <select id="getTaskPhaseModelByTaskId" 
 | 
            resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssessTaskPhaseModel"> 
 | 
        select * 
 | 
        from simulat_assess_task_phase_model 
 | 
        where is_delete = 0 
 | 
          and task_id = ${taskId} 
 | 
        order by sort 
 | 
    </select> 
 | 
    <select id="getTimeDiagram" resultType="com.zt.life.modules.mainPart.taskReliability.model.TimeDiagram"> 
 | 
        select * 
 | 
        from time_diagram_temp 
 | 
        where is_delete = 0 
 | 
        <if test="projectId!=null and projectId!=''"> 
 | 
            and PROJECT_ID = #{projectId} 
 | 
        </if> 
 | 
        <if test="diagramId!=null and diagramId!=''"> 
 | 
            and DIAGRAM_ID = #{diagramId} 
 | 
        </if> 
 | 
        <if test="hasPublish!=null and hasPublish!=''"> 
 | 
            and HAS_PUBLISH = #{hasPublish} 
 | 
        </if> 
 | 
    </select> 
 | 
    <select id="getModelListOld" resultType="com.zt.life.modules.mainPart.taskReliability.dto.ModelDto"> 
 | 
        SELECT a.id   AS phase_id, 
 | 
               a.phase_name, 
 | 
               a.phase_duration_rate, 
 | 
               b.operat_condit_duration_rate, 
 | 
               b.operat_condit_id, 
 | 
               c.NAME AS operat_condit_name, 
 | 
               d.model_id, 
 | 
               e.model_name 
 | 
        FROM `task_phase` a, 
 | 
             task_phase_model b, 
 | 
             operat_condit c, 
 | 
             operat_condit_model d, 
 | 
             model_rbd e 
 | 
        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.is_delete = 0 
 | 
          and d.model_id = e.id 
 | 
        order by c.CREATE_DATE 
 | 
    </select> 
 | 
    <select id="getModelList" 
 | 
            resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssessTaskPhaseModel"> 
 | 
        SELECT * 
 | 
        FROM simulat_assess_task_phase_model 
 | 
        WHERE fz_id = ${fzId} 
 | 
          AND is_delete = 0 
 | 
        order by sort 
 | 
    </select> 
 | 
    <select id="getModelByProductGk" resultType="com.zt.life.modules.mainPart.taskReliability.model.ModelRbd"> 
 | 
        select a.* 
 | 
        from model_rbd a, 
 | 
             operat_condit_model b 
 | 
        where a.id = b.model_id 
 | 
          and b.operat_condit_id = ${gkId} 
 | 
          and b.product_id = ${productId} 
 | 
          and a.is_delete = 0 
 | 
          and b.is_delete = 0 
 | 
        limit 1 
 | 
    </select> 
 | 
    <select id="getProductList" resultType="com.zt.life.modules.mainPart.taskReliability.dto.WeakDto"> 
 | 
        SELECT id, 
 | 
               pid, 
 | 
               NAME, 
 | 
               product_type, 
 | 
               sum(timeRate) AS timeRate, 
 | 
               sort 
 | 
        FROM ( 
 | 
                 SELECT f.id, 
 | 
                        null as pid, 
 | 
                        f.NAME, 
 | 
                        f.product_type, 
 | 
                        1    AS timeRate, 
 | 
                        0    AS sort 
 | 
                 FROM product_model f 
 | 
                 WHERE f.id = ${productId} 
 | 
                   AND f.is_delete = 0 
 | 
                 UNION 
 | 
                 SELECT f.id, 
 | 
                        f.pid, 
 | 
                        f.NAME, 
 | 
                        f.product_type, 
 | 
                        CASE 
 | 
  
 | 
                            WHEN f.product_type = 5 
 | 
                                AND g.reliab_distrib_type = 1 THEN 
 | 
                                    a.phase_duration_rate * b.operat_condit_duration_rate * g.task_mtbcf_operating_ratio 
 | 
                            ELSE a.phase_duration_rate * b.operat_condit_duration_rate 
 | 
                            END AS timeRate, 
 | 
                        f.sort 
 | 
                 FROM `task_phase` a, 
 | 
                      task_phase_model b, 
 | 
                      operat_condit c, 
 | 
                      operat_condit_model d, 
 | 
                      model_rbd_node e, 
 | 
                      product_model f 
 | 
                          left join param_data g on g.product_id = f.id 
 | 
                          AND g.IS_DELETE = 0 
 | 
                 WHERE a.task_id = ${taskId} 
 | 
                   AND b.phase_id = a.id 
 | 
                   AND b.is_delete = 0 
 | 
                   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.ship_id = ${productId} 
 | 
                   AND f.is_delete = 0 
 | 
             ) b 
 | 
        GROUP BY id 
 | 
        order by sort 
 | 
    </select> 
 | 
    <select id="getByTaskId" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess"> 
 | 
        select * 
 | 
        from simulat_assess 
 | 
        where task_model_id = ${taskModelId} 
 | 
          and IS_DELETE = 0 
 | 
        order by CREATE_DATE desc 
 | 
        limit 1 
 | 
    </select> 
 | 
    <select id="getModel" resultType="com.zt.life.modules.mainPart.taskReliability.model.OperatConditModel"> 
 | 
        SELECT d.product_id, 
 | 
               d.model_id, 
 | 
               e.content 
 | 
        FROM task a, 
 | 
             task_phase b, 
 | 
             `task_phase_model` c, 
 | 
             operat_condit_model d, 
 | 
             model_rbd e 
 | 
        WHERE a.id = ${taskId} 
 | 
          AND a.IS_DELETE = 0 
 | 
          AND b.task_id = a.id 
 | 
          AND b.IS_DELETE = 0 
 | 
          AND c.phase_id = b.id 
 | 
          AND c.operat_condit_duration_rate > 0 
 | 
          AND c.IS_DELETE = 0 
 | 
          AND d.operat_condit_id = c.operat_condit_id 
 | 
          AND d.IS_DELETE = 0 
 | 
          AND e.id = d.model_id 
 | 
          AND e.IS_DELETE = 0 
 | 
    </select> 
 | 
    <select id="getNode" resultType="com.zt.life.modules.mainPart.taskReliability.dto.verifyDto"> 
 | 
        SELECT c.`NAME`, 
 | 
               c.id, 
 | 
               b.task_mtbcf_regulate as mtbf 
 | 
        FROM `model_rbd_node` a, 
 | 
             param_data b, 
 | 
             product_model c 
 | 
        WHERE a.node_id = c.id 
 | 
          and a.model_id = ${modelId} 
 | 
          AND c.id = b.product_id 
 | 
          AND a.is_delete = 0 
 | 
          AND b.is_delete = 0 
 | 
          AND c.is_delete = 0 
 | 
    </select> 
 | 
    <select id="getVoteNum" resultType="java.lang.Integer"> 
 | 
        select vote_num 
 | 
        from algorithm 
 | 
        where is_delete = 0 
 | 
          and model_id = ${modelId} 
 | 
          and model_type = 'vote' 
 | 
          and vote_num is not null 
 | 
        limit 1 
 | 
    </select> 
 | 
  
 | 
    <select id="getProcessList" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess"> 
 | 
        select * 
 | 
        from simulat_assess 
 | 
        where IS_DELETE = 0 
 | 
          and pid is not null 
 | 
        <if test="isAlive"> 
 | 
          and process_is_alive=1 
 | 
        </if> 
 | 
        order by process_start_time desc 
 | 
    </select> 
 | 
</mapper> 
 |