| | |
| | | <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 |
| | |
| | | WHEN b.product_type < 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 |
| | |
| | | || (b.product_type < 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> |
| | |
| | | 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 <> 10 |
| | | and a.ship_id = ${shipId} |
| | | or a.id =${shipId} |
| | | ORDER BY a.product_type, a.sort |