32
32
import org.apache.commons.logging.Log;
33
33
import org.apache.commons.logging.LogFactory;
34
34
import org.hisp.dhis.common.Grid;
35
import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
36
import org.hisp.dhis.dataelement.DataElementCategoryService;
35
37
import org.hisp.dhis.i18n.I18nFormat;
36
38
import org.hisp.dhis.organisationunit.OrganisationUnit;
37
39
import org.hisp.dhis.organisationunit.OrganisationUnitService;
83
85
this.organisationUnitService = organisationUnitService;
88
private DataElementCategoryService dataElementCategoryService;
90
public void setDataElementCategoryService( DataElementCategoryService dataElementCategoryService )
92
this.dataElementCategoryService = dataElementCategoryService;
86
95
// -------------------------------------------------------------------------
88
97
// -------------------------------------------------------------------------
118
127
this.endDate = endDate;
130
private Integer attributeOptionComboId;
132
public void setAttributeOptionComboId( Integer attributeOptionComboId )
134
this.attributeOptionComboId = attributeOptionComboId;
121
137
private Integer validationRuleGroupId;
123
139
public void setValidationRuleGroupId( Integer validationRuleGroupId )
125
141
this.validationRuleGroupId = validationRuleGroupId;
128
144
private boolean sendAlerts;
130
146
public void setSendAlerts( boolean sendAlerts )
153
169
return maxExceeded;
172
private boolean showAttributeCombos;
174
public boolean isShowAttributeCombos()
176
return showAttributeCombos;
156
179
private OrganisationUnit organisationUnit;
158
181
public OrganisationUnit getOrganisationUnit()
171
194
Collection<OrganisationUnit> organisationUnits = organisationUnitService.getOrganisationUnitWithChildren( organisationUnit.getId() );
173
if ( validationRuleGroupId == -1 )
175
log.info( "Validating captured data for all rules" );
177
validationResults = new ArrayList<ValidationResult>( validationRuleService.validate( format
178
.parseDate( startDate ), format.parseDate( endDate ), organisationUnits, sendAlerts, format ) );
182
ValidationRuleGroup group = validationRuleService.getValidationRuleGroup( validationRuleGroupId );
184
log.info( "Validating captured data for rules for group: '" + group.getName() + "'" );
186
validationResults = new ArrayList<ValidationResult>( validationRuleService.validate( format
187
.parseDate( startDate ), format.parseDate( endDate ), organisationUnits, group, sendAlerts, format ) );
196
ValidationRuleGroup group = validationRuleGroupId == -1 ? null : validationRuleService.getValidationRuleGroup( validationRuleGroupId );
198
DataElementCategoryOptionCombo attributeOptionCombo = attributeOptionComboId == null || attributeOptionComboId == -1 ? null : dataElementCategoryService.getDataElementCategoryOptionCombo( attributeOptionComboId );
200
log.info( "Validating data for " + ( group == null ? "all rules" : "group: " + group.getName() ) );
202
validationResults = new ArrayList<ValidationResult>( validationRuleService.validate( format
203
.parseDate( startDate ), format.parseDate( endDate ), organisationUnits, attributeOptionCombo, group, sendAlerts, format ) );
190
205
maxExceeded = validationResults.size() > ValidationRuleService.MAX_INTERACTIVE_ALERTS;
194
209
SessionUtils.setSessionVar( KEY_VALIDATIONRESULT, validationResults );
211
computeShowAttributeCombos();
196
213
log.info( "Validation done" );
218
private void computeShowAttributeCombos()
220
showAttributeCombos = false;
222
for ( ValidationResult result : validationResults )
224
if ( !result.getAttributeOptionCombo().isDefault() )
226
showAttributeCombos = true;