上传的图像用于项目: 'CST技术支持'
  1. CST技术支持
  2. SLAL2-2841

【STD】你我贷,考勤的汇总或者出勤大表中增加折算旷工次数。

XMLWord打印

    • N-你我贷-Y2019095
    • 你我贷生产
    • 基础通用功能
    • 隐藏

      时间报表项:
      total_dicts = pre_data['attendance_count']
      start_date = start_date.strftime('%Y-%m-%d')
      end_date = end_date.strftime('%Y-%m-%d')
      result = {}
      for employee_id in employee_ids:
      attendance_info = total_dicts.get(employee_id, {})
      number = 0
      for day, infos in attendance_info.items():
      day = datetime.datetime.strptime(day, '%Y-%m-%d').strftime('%Y-%m-%d')
      current_day_number = 0 # 全天旷工天数 计数
      for non, res in infos.items():
      if start_date <= day <= end_date:
      _late_time = res['late_time']
      _leave_early_time = res['leave_early_time']
      _no_clock_in_count = res['no_clock_in_count']

      1. 当天有未打卡记录,则旷工1天
        if _no_clock_in_count > 0:
        current_day_number += 1
      2. 迟到或者早退累计120分钟以上旷工1天
        if _late_time +_leave_early_time > 120:
        current_day_number += 1
      3. 迟到30分钟-120分钟旷工半天
        if 30 < _late_time < 120:
        current_day_number += 0.5
      4. 早退60分钟-120分钟,旷工半天
        if 60 < _leave_early_time < 120:
        current_day_number += 0.5
        number += 1 if current_day_number >= 1 else current_day_number
        result[employee_id] = number
      显示
      时间报表项: total_dicts = pre_data ['attendance_count'] start_date = start_date.strftime('%Y-%m-%d') end_date = end_date.strftime('%Y-%m-%d') result = {} for employee_id in employee_ids: attendance_info = total_dicts.get(employee_id, {}) number = 0 for day, infos in attendance_info.items(): day = datetime.datetime.strptime(day, '%Y-%m-%d').strftime('%Y-%m-%d') current_day_number = 0 # 全天旷工天数 计数 for non, res in infos.items(): if start_date <= day <= end_date: _late_time = res ['late_time'] _leave_early_time = res ['leave_early_time'] _no_clock_in_count = res ['no_clock_in_count'] 当天有未打卡记录,则旷工1天 if _no_clock_in_count > 0: current_day_number += 1 迟到或者早退累计120分钟以上旷工1天 if _late_time +_leave_early_time > 120: current_day_number += 1 迟到30分钟-120分钟旷工半天 if 30 < _late_time < 120: current_day_number += 0.5 早退60分钟-120分钟,旷工半天 if 60 < _leave_early_time < 120: current_day_number += 0.5 number += 1 if current_day_number >= 1 else current_day_number result [employee_id] = number

      考勤的汇总或者出勤大表中增加折算旷工次数。逻辑如下。
      汇总每一天计算旷工的次数。每一天计算旷工最大值为1天。
      折算旷工场景:
      1.迟到30分钟-120分钟旷工半天,
      2.早退60分钟-120分钟,旷工半天,
      3.迟到或者早退累计120分钟以上旷工1天。
      4.当天有未打卡记录,则旷工1天。

            wenqiang.liu 刘文强
            yuy 俞龑
            表决:
            0 为这个问题表决

              创建日期:
              已更新:
              已解决:

                预估时间:
                初始预估 - 尚未指定
                尚未指定
                剩余:
                剩余的估算 - 0小时
                0小时
                实际工作时间:
                耗费时间 - 1.5小时
                1.5小时