def _get_case_counts_by_user(domain, datespan, case_types=None, is_opened=True, user_ids=None, export=False): date_field = 'opened_on' if is_opened else 'closed_on' user_field = 'opened_by' if is_opened else 'closed_by' es_instance = ES_EXPORT_INSTANCE if export else ES_DEFAULT_INSTANCE case_query = (CaseES(es_instance_alias=es_instance).domain(domain).filter( filters.date_range( date_field, gte=datespan.startdate.date(), lte=datespan.enddate.date(), )).terms_aggregation(user_field, 'by_user').size(0)) if case_types: case_query = case_query.case_type(case_types) else: case_query = case_query.filter( filters.NOT(case_type_filter('commcare-user'))) if user_ids: case_query = case_query.filter(filters.term(user_field, user_ids)) return case_query.run().aggregations.by_user.counts_by_bucket()
def _get_case_case_counts_by_owner(domain, datespan, case_types, is_total=False, owner_ids=None, export=False): es_instance = ES_EXPORT_INSTANCE if export else ES_DEFAULT_INSTANCE case_query = (CaseES( es_instance_alias=es_instance).domain(domain).opened_range( lte=datespan.enddate.date()).NOT( closed_range_filter( lt=datespan.startdate.date())).terms_aggregation( 'owner_id', 'owner_id').size(0)) if case_types: case_query = case_query.filter({"terms": {"type.exact": case_types}}) else: case_query = case_query.filter( filters.NOT(case_type_filter('commcare-user'))) if not is_total: case_query = case_query.active_in_range( gte=datespan.startdate.date(), lte=datespan.enddate.date(), ) if owner_ids: case_query = case_query.owner(owner_ids) return case_query.run().aggregations.owner_id.counts_by_bucket()
def _get_case_counts_by_user(domain, datespan, case_types=None, is_opened=True, owner_ids=None): date_field = 'opened_on' if is_opened else 'closed_on' user_field = 'opened_by' if is_opened else 'closed_by' case_query = (CaseES() .domain(domain) .filter( filters.date_range( date_field, gte=datespan.startdate.date(), lte=datespan.enddate.date(), ) ) .terms_aggregation(user_field, 'by_user') .size(0)) if case_types: case_query = case_query.case_type(case_types) else: case_query = case_query.filter(filters.NOT(case_type_filter('commcare-user'))) if owner_ids: case_query = case_query.filter(filters.term(user_field, owner_ids)) return case_query.run().aggregations.by_user.counts_by_bucket()
def _get_case_counts_by_user(domain, datespan, case_types=None, is_opened=True, user_ids=None, export=False): date_field = 'opened_on' if is_opened else 'closed_on' user_field = 'opened_by' if is_opened else 'closed_by' es_instance = ES_EXPORT_INSTANCE if export else ES_DEFAULT_INSTANCE case_query = (CaseES(es_instance_alias=es_instance) .domain(domain) .filter( filters.date_range( date_field, gte=datespan.startdate.date(), lte=datespan.enddate.date(), ) ) .terms_aggregation(user_field, 'by_user') .size(0)) if case_types: case_query = case_query.case_type(case_types) else: case_query = case_query.filter(filters.NOT(case_type_filter('commcare-user'))) if user_ids: case_query = case_query.filter(filters.term(user_field, user_ids)) return case_query.run().aggregations.by_user.counts_by_bucket()
def _get_case_case_counts_by_owner(domain, datespan, case_types, is_total=False, owner_ids=None): case_query = ( CaseES() .domain(domain) .opened_range(lte=datespan.enddate) .NOT(closed_range_filter(lt=datespan.startdate)) .terms_aggregation("owner_id", "owner_id") .size(0) ) if case_types: case_query = case_query.filter({"terms": {"type.exact": case_types}}) else: case_query = case_query.filter(filters.NOT(case_type_filter("commcare-user"))) if not is_total: case_query = case_query.active_in_range(gte=datespan.startdate, lte=datespan.enddate) if owner_ids: case_query = case_query.owner(owner_ids) return case_query.run().aggregations.owner_id.counts_by_bucket()
def _get_case_case_counts_by_owner(domain, datespan, case_types, is_total=False, owner_ids=None): case_query = (CaseES() .domain(domain) .opened_range(lte=datespan.enddate) .NOT(closed_range_filter(lt=datespan.startdate)) .terms_aggregation('owner_id', 'owner_id') .size(0)) if case_types: case_query = case_query.filter({"terms": {"type.exact": case_types}}) else: case_query = case_query.filter(filters.NOT(case_type_filter('commcare-user'))) if not is_total: case_query = case_query.active_in_range( gte=datespan.startdate, lte=datespan.enddate ) if owner_ids: case_query = case_query.owner(owner_ids) return case_query.run().aggregations.owner_id.counts_by_bucket()
def _get_case_case_counts_by_owner(domain, datespan, case_types, is_total=False, owner_ids=None, export=False): es_instance = ES_EXPORT_INSTANCE if export else ES_DEFAULT_INSTANCE case_query = (CaseES(es_instance_alias=es_instance) .domain(domain) .opened_range(lte=datespan.enddate) .NOT(closed_range_filter(lt=datespan.startdate)) .terms_aggregation('owner_id', 'owner_id') .size(0)) if case_types: case_query = case_query.filter({"terms": {"type.exact": case_types}}) else: case_query = case_query.filter(filters.NOT(case_type_filter('commcare-user'))) if not is_total: case_query = case_query.active_in_range( gte=datespan.startdate, lte=datespan.enddate ) if owner_ids: case_query = case_query.owner(owner_ids) return case_query.run().aggregations.owner_id.counts_by_bucket()