DROP TRIGGER IF EXISTS `trigger_fmea_point_inputitem_update`;
<!-- DROP TRIGGER IF EXISTS `trigger_fmea_point_inputitem_update`;-->
CREATE TRIGGER trigger_fmea_point_inputitem_update AFTER UPDATE on f_fmea_point_inputitem FOR EACH ROW
<!-- CREATE TRIGGER trigger_fmea_point_inputitem_update AFTER UPDATE on f_fmea_point_inputitem FOR EACH ROW-->
BEGIN
<!-- BEGIN -->
DECLARE riskSourceId BIGINT (20);
<!-- DECLARE riskSourceId BIGINT (20);-->
DECLARE num1 int (20);
<!-- DECLARE num1 int (20);-->
DECLARE num2 int (20);
<!-- DECLARE num2 int (20);-->
<!-- -->
SELECT fm.risk_source_id INTO riskSourceId FROM f_fmea fm WHERE fm.id = (select fmea_id from f_fmea_point_inputitem fpi where fpi.id = new.id);
<!-- SELECT fm.risk_source_id INTO riskSourceId FROM f_fmea fm WHERE fm.id = (select fmea_id from f_fmea_point_inputitem fpi where fpi.id = new.id);-->
IF new.state = '1' then
<!-- IF new.state = '1' then -->
UPDATE f_risk_source rs set rs.status = 'ANOMALY' where rs.id= riskSourceId;
<!-- UPDATE f_risk_source rs set rs.status = 'ANOMALY' where rs.id= riskSourceId;-->
ELSE
<!-- ELSE-->
SELECT count(fep.id) INTO num1 FROM f_fmea_equipment_point fep
<!-- SELECT count(fep.id) INTO num1 FROM f_fmea_equipment_point fep -->
LEFT JOIN f_fmea ff ON ff.id = fep.fmea_id
<!-- LEFT JOIN f_fmea ff ON ff.id = fep.fmea_id-->
WHERE fep.state = '1' AND ff.risk_source_id = riskSourceId;
<!-- WHERE fep.state = '1' AND ff.risk_source_id = riskSourceId; -->
<!-- -->
SELECT count(fpi.id) INTO num2 FROM f_fmea_point_inputitem fpi
<!-- SELECT count(fpi.id) INTO num2 FROM f_fmea_point_inputitem fpi -->
LEFT JOIN f_fmea ff ON ff.id = fpi.fmea_id
<!-- LEFT JOIN f_fmea ff ON ff.id = fpi.fmea_id-->
WHERE state = '1' AND ff.risk_source_id = riskSourceId;
<!-- WHERE state = '1' AND ff.risk_source_id = riskSourceId;-->
update f_risk_source rs set rs.`status` = (case when (num1+num2)>0 then 'ANOMALY' else 'NORMAL' END) where rs.id = riskSourceId;
<!-- update f_risk_source rs set rs.`status` = (case when (num1+num2)>0 then 'ANOMALY' else 'NORMAL' END) where rs.id = riskSourceId;-->