<?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.basicInfo.dao.XhProductModelDao"> 
 | 
    <delete id="deleteByShipId"> 
 | 
        delete 
 | 
        from product_model 
 | 
        where ship_id = ${shipId} 
 | 
    </delete> 
 | 
    <delete id="deleteByPid"> 
 | 
        delete 
 | 
        from product_model 
 | 
        where PID = ${id} 
 | 
    </delete> 
 | 
  
 | 
    <select id="getList" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select * 
 | 
        from product_model 
 | 
        <where> 
 | 
            is_delete = 0 
 | 
            <if test="pid!=null"> 
 | 
                and pid =${pid} 
 | 
            </if> 
 | 
            <if test="pid==null"> 
 | 
                and pid is null 
 | 
            </if> 
 | 
            <if test="whereSql!=null"> 
 | 
                and ${whereSql} 
 | 
            </if> 
 | 
        </where> 
 | 
        ORDER BY 
 | 
        product_type,sort 
 | 
    </select> 
 | 
    <select id="getNo" resultType="java.lang.Integer"> 
 | 
        SELECT COUNT(*) 
 | 
        FROM product_model 
 | 
        <where> 
 | 
            is_delete = 0 
 | 
            <if test="pid!=null"> 
 | 
                and pid = ${pid} 
 | 
            </if> 
 | 
            <if test="pid==null"> 
 | 
                and pid is null 
 | 
            </if> 
 | 
            and product_type =${productType} 
 | 
        </where> 
 | 
        Group by product_type 
 | 
    </select> 
 | 
    <select id="getProductList" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select a.name, a.id 
 | 
        from product_model a 
 | 
        where a.is_delete = 0 
 | 
        <if test="type!=null and type!=''"> 
 | 
            and a.product_type = ${type} 
 | 
        </if> 
 | 
        <if test="shipId!=null"> 
 | 
            and a.ship_id = ${shipId} 
 | 
        </if> 
 | 
    </select> 
 | 
    <select id="getProduct" resultType="com.zt.life.modules.mainPart.basicInfo.model.ProductImg"> 
 | 
        SELECT a.operat_img                 as imgPath, 
 | 
               a.`NAME`                     as imgName, 
 | 
               'node'                       as nodeType, 
 | 
               ''                           as nodeTypeExt, 
 | 
               s.svg_content                as svgContent, 
 | 
               s.anchors_content            as anchorsContent, 
 | 
               s.anchors_points             as anchorsPoints, 
 | 
               s.width                      as imgWidth, 
 | 
               s.height                     as imgHeight, 
 | 
               a.id                         as dataId, 
 | 
               ''                           as statusImg, 
 | 
               d.dict_code                  as productType, 
 | 
               p.repairable                 as isRepair, 
 | 
               p.task_mtbcf_regulate        as taskMtbcf, 
 | 
               p.task_mtbcf_other_params2   as taskMtbcfOtherParams2, 
 | 
               p.task_mtbcf_other_params3   as taskMtbcfOtherParams3, 
 | 
               p.reliab_distrib_type        as reliabDistribType, 
 | 
               p.repair_distrib_type        as repairDistribType, 
 | 
               p.repair_mttcr               as repairMttcr, 
 | 
               p.repair_mttcr_other_params2 as repairMttcrOtherParams2, 
 | 
               p.repair_mttcr_other_params3 as repairMttcrOtherParams3, 
 | 
               p.task_mtbcf_regul_succ_rate as success_rate, 
 | 
               p.basic_unit_num             as basicUnitNum 
 | 
        FROM product_model a 
 | 
                 left join sys_dict_data d on d.DICT_VALUE = a.product_type and dict_type_id = '1728965873022050306' 
 | 
                 left join param_data p on p.product_id = a.id 
 | 
                 left join sys_picture_base s on s.id = a.operat_img 
 | 
        WHERE a.is_delete = 0 
 | 
          AND ((a.PID = ${productId}) 
 | 
            or (a.PID in (select pid from product_model where id = ${productId} and product_type = 10) and 
 | 
                a.product_type <> 10)) 
 | 
          and a.id not in ( 
 | 
            select node_id 
 | 
            from model_rbd_node 
 | 
            where product_id in ( 
 | 
                select pid 
 | 
                from product_model 
 | 
                where id = ${productId} 
 | 
                  and is_delete = 0 
 | 
                union 
 | 
                select id 
 | 
                from product_model 
 | 
                where is_delete = 0 
 | 
                  and pid = ${parentId} 
 | 
                  and id <> ${productId} 
 | 
            ) 
 | 
            union 
 | 
            select node_id 
 | 
            from model_rbd_node 
 | 
            where product_id in ( 
 | 
                select id 
 | 
                from product_model 
 | 
                where is_delete = 0 
 | 
                  and pid = ${productId} 
 | 
            ) 
 | 
        ) 
 | 
  
 | 
  
 | 
    </select> 
 | 
    <select id="getTaskProductList" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select a.name, a.id 
 | 
        from product_model a 
 | 
        where a.is_delete = 0 
 | 
          and a.product_type = 2 
 | 
        order by sort 
 | 
    </select> 
 | 
    <select id="getById" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select a.* 
 | 
        from product_model a 
 | 
        where a.is_delete = 0 
 | 
          and a.id = #{id} 
 | 
    </select> 
 | 
    <select id="getByShipId" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select a.* 
 | 
        from product_model a 
 | 
        where a.is_delete = 0 
 | 
          and a.ship_id = #{shipId} 
 | 
          and a.product_type > 2 
 | 
    </select> 
 | 
  
 | 
    <select id="getProductTree" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select a.* 
 | 
        from product_model a 
 | 
        where a.is_delete = 0 
 | 
        <if test="shipId!=null"> 
 | 
            and a.ship_id = #{shipId} 
 | 
        </if> 
 | 
    </select> 
 | 
    <select id="getProductPath" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select a.*, b.id as paramId 
 | 
        from product_model a, 
 | 
             param_data b 
 | 
        where a.IS_DELETE = 0 
 | 
          and b.IS_DELETE = 0 
 | 
          and a.ship_id = ${shipId} 
 | 
          and a.id = b.product_id 
 | 
    </select> 
 | 
    <select id="getByPid" resultType="java.lang.Long"> 
 | 
        select id 
 | 
        from product_model 
 | 
        where IS_DELETE = 0 
 | 
          and PID = ${id} 
 | 
    </select> 
 | 
    <select id="getProductByShip" resultType="com.zt.life.modules.mainPart.basicInfo.dto.ProductDto"> 
 | 
        select a.id, 
 | 
               a.pid, 
 | 
               a.name, 
 | 
               a.product_type, 
 | 
               a.name_path, 
 | 
               b.basic_unit_num as sameSbNum, 
 | 
               a.equip_type, 
 | 
               b.reliab_distrib_type, 
 | 
               b.basic_join_compute, 
 | 
               b.basic_mtbf_regulate, 
 | 
               b.basic_mtbf_regul_succ_rate, 
 | 
               b.basic_mtbf_operating_ratio, 
 | 
               b.task_mtbcf_regulate, 
 | 
               b.task_mtbcf_other_params2, 
 | 
               b.task_mtbcf_other_params3, 
 | 
               b.task_mtbcf_regul_succ_rate, 
 | 
               b.task_mtbcf_operating_ratio, 
 | 
               b.repairable, 
 | 
               b.repair_distrib_type, 
 | 
               b.repair_mttcr, 
 | 
               b.repair_mttcr_other_params2, 
 | 
               b.repair_mttcr_other_params3 
 | 
        from product_model a, 
 | 
             param_data b 
 | 
        where a.IS_DELETE = 0 
 | 
          and b.IS_DELETE = 0 
 | 
          and a.ship_id = ${shipId} 
 | 
          AND a.id <> a.ship_id 
 | 
          and a.id = b.product_id 
 | 
    </select> 
 | 
    <select id="getProductListByShip" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select a.*, b.basic_unit_num as sameSbNum 
 | 
        from product_model a, 
 | 
        param_data b 
 | 
        where a.IS_DELETE = 0 and b.IS_DELETE = 0 
 | 
        and a.id = b.product_id 
 | 
        <if test="productId !=null"> 
 | 
            and a.ship_id = #{productId} 
 | 
        </if> 
 | 
        <if test="level1 !=null"> 
 | 
            and a.product_type >= #{level1} 
 | 
        </if> 
 | 
        <if test="level2 !=null"> 
 | 
            and a.product_type <= #{level2} 
 | 
        </if> 
 | 
    </select> 
 | 
    <select id="getProductListAll" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> 
 | 
        select id, operat_img 
 | 
        from product_model 
 | 
        where IS_DELETE = 0 
 | 
    </select> 
 | 
</mapper> 
 |