def approval_query(self, stime, etime, userid):
     """自定义审批记录查询,注意此处返回是字典,key为日期"""
     max_query_day = DEFAULT_ATTENDENCE_RULE.get('MAX_QUERY_DAYS')
     s = Schedule()
     ret = {}
     if not stime or not etime or not userid:
         return ret
     days = [day for day in Schedule.iter_diffdays(stime, etime)]
     if len(days) > max_query_day:
         return ret
     try:
         approval_objs = self.filter(originator_userid=userid,
                                     status="COMPLETED",
                                     result='agree')
         for day in days:
             tmp = []
             for approval_obj in approval_objs:
                 stime = approval_obj.start_time.split()[0]
                 etime = approval_obj.end_time.split()[0]
                 if s.check_time_in_range(day, stime, etime):
                     tmp.append(approval_obj)
             ret[day] = tmp
     except ObjectDoesNotExist:
         pass
     return ret
 def record_query(self, userid, record_dates=None):
     """查询指定用户 指定日期范围内的请休假记录,返回{day : info,}"""
     s = Schedule()
     ret = {}
     try:
         approval_objs = self.filter(originator_userid=userid,
                                     status="COMPLETED",
                                     result='agree')
         for day in record_dates:
             tmp = []
             for approval_obj in approval_objs:
                 stime = approval_obj.start_time.split()[0]
                 etime = approval_obj.end_time.split()[0]
                 if s.check_time_in_range(day, stime, etime):
                     tmp.append(approval_obj)
             ret[day] = tmp
     except ObjectDoesNotExist:
         pass
     return ret