jinlin
2024-08-06 cd7b35b1acc7467deac78ba843b5870a22c9c7f6
modules/mainPart/src/main/resources/mapper/baseReliability/ParamDataBasicDao.xml
@@ -5,22 +5,21 @@
    <update id="compute">
        update param_data f,
        (
        SELECT
        c.*,
                SELECT c.*,
        CASE
        WHEN WeightedFailure IS NOT NULL
        AND WeightedFailure > 0 THEN
        1 / WeightedFailure ELSE 0
                               1 / WeightedFailure
                           ELSE 0
        END AS basic_mtbf_regulate,
        CASE
        WHEN WeightedFailure IS NOT NULL
        AND WeightedFailure > 0 THEN
        WeightedMTTR / WeightedFailure ELSE 0
                               WeightedMTTR / WeightedFailure
                           ELSE 0
        END AS repair_mttcr
        FROM
        (
        SELECT
        c.id,
                FROM (
                         SELECT c.id,
        c.name,
        sum(
        CASE
@@ -37,20 +36,26 @@
        WHEN b.product_type &lt; 5 THEN
        1 * 1 * a.repair_mttcr / a.basic_mtbf_regulate
        WHEN a.repairable = 1 and a.reliab_distrib_type = 1 THEN
        1 * a.basic_mtbf_operating_ratio * a.repair_mttcr / a.basic_mtbf_regulate
                                                    1 * a.basic_mtbf_operating_ratio * a.repair_mttcr /
                                                    a.basic_mtbf_regulate
        WHEN a.repairable = 1 and a.reliab_distrib_type = 2 THEN
        1 * a.basic_mtbf_operating_ratio * a.repair_mttcr / a.basic_mtbf_regul_succ_rate
                                                    1 * a.basic_mtbf_operating_ratio * a.repair_mttcr /
                                                    a.basic_mtbf_regul_succ_rate
        ELSE 0
        END
        ) AS WeightedMttr
        FROM
        param_data a,
                         FROM param_data a,
        product_model b,
        product_model c
        WHERE 1 = 1
        and c.ship_id = ${shipId} and c.product_type = ${productType} and c.is_delete = 0
        and b.ship_id = ${shipId} and b.pid = c.id and b.is_delete = 0
        and a.IS_DELETE = 0 and a.product_id = b.id
                           and c.ship_id = ${shipId}
                           and c.product_type = ${productType}
                           and c.is_delete = 0
                           and b.ship_id = ${shipId}
                           and b.pid = c.id
                           and b.is_delete = 0
                           and a.IS_DELETE = 0
                           and a.product_id = b.id
        AND ( (b.product_type = 5 AND a.basic_join_compute = 1
        and ((
        a.reliab_distrib_type = 1
@@ -61,7 +66,8 @@
        || (b.product_type &lt; 5 AND a.basic_mtbf_regulate > 0 ) )
        GROUP BY c.id,c.name
        ) c
        )d set f.basic_mtbf_regulate = d.basic_mtbf_regulate,
            ) d
        set f.basic_mtbf_regulate = d.basic_mtbf_regulate,
        f.repair_mttcr = d.repair_mttcr
        where f.product_id = d.id;
    </update>
@@ -83,6 +89,7 @@
        FROM product_model a
                 LEFT JOIN param_data b ON b.product_id = a.id and b.is_delete = 0
        where a.is_delete = 0
            and a.product_type &lt;&gt; 10
          and a.ship_id = ${shipId}
           or a.id =${shipId}
        ORDER BY a.product_type, a.sort