BF [ 1964552 ] Alerts: AD_Alert.IsValid flag is not auto updated
This commit is contained in:
parent
4373c65846
commit
5d6eae4868
|
@ -19,6 +19,8 @@ package org.compiere.model;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import org.compiere.util.DB;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Alert Rule Model
|
* Alert Rule Model
|
||||||
|
@ -132,6 +134,38 @@ public class MAlertRule extends X_AD_AlertRule
|
||||||
setErrorMsg(null);
|
setErrorMsg(null);
|
||||||
return true;
|
return true;
|
||||||
} // beforeSave
|
} // beforeSave
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean afterSave(boolean newRecord, boolean success) {
|
||||||
|
if (!success)
|
||||||
|
return false;
|
||||||
|
return updateParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean afterDelete(boolean success) {
|
||||||
|
if (!success)
|
||||||
|
return false;
|
||||||
|
return updateParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update parent flags
|
||||||
|
* @return true if success
|
||||||
|
*/
|
||||||
|
private boolean updateParent() {
|
||||||
|
final String sql_count = "SELECT COUNT(*) FROM "+Table_Name+" r"
|
||||||
|
+" WHERE r."+COLUMNNAME_AD_Alert_ID+"=a."+MAlert.COLUMNNAME_AD_Alert_ID
|
||||||
|
+" AND r."+COLUMNNAME_IsValid+"='N'"
|
||||||
|
+" AND r.IsActive='Y'"
|
||||||
|
;
|
||||||
|
final String sql = "UPDATE "+MAlert.Table_Name+" a SET "
|
||||||
|
+" "+MAlert.COLUMNNAME_IsValid+"=(CASE WHEN ("+sql_count+") > 0 THEN 'N' ELSE 'Y' END)"
|
||||||
|
+" WHERE a."+MAlert.COLUMNNAME_AD_Alert_ID+"=?"
|
||||||
|
;
|
||||||
|
int no = DB.executeUpdate(sql, getAD_Alert_ID(), get_TrxName());
|
||||||
|
return no == 1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* String Representation
|
* String Representation
|
||||||
|
|
Loading…
Reference in New Issue