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

【CEC-pro】 生产环境“人事提醒-转正提醒”python code支持

XMLWord打印

    • Icon: 技术问题 技术问题
    • 解决结果: 完成
    • Icon: Medium Medium
    • 202106
    • C-CEC中国电子-Y2020033
    • 基础通用功能
    • 隐藏

      代码:
      BP_SUBMIT_STATUS = ['waiting', 'reject', 'cancel', 'rollback', 'done']

      today = datetime.date.today()
      reminder_day = today + datetime.timedelta(days=self.reminder_advance_days)

      1. 1. 查询转正的员工
        emp_active_status_id = self.env.ref('employee_central.employee_status_active').id # 员工在职状态ID

      instances = self.env['hr.employee'].search([
      ('probation_period_end_date', '=', reminder_day),
      ('employee_status', '=', emp_active_status_id),
      ('is_probation', '=', True)
      ])
      if instances:

      1. 2. 查找已经提交转正申请的
        domain = [
        ('employee_id', 'in', instances.ids)
        ]
        probations = self.env['bp'].query_status(self.env['employee.probation'], BP_SUBMIT_STATUS, domain)
        instances = instances - probations.mapped('employee_id')
        if instances:
      2. 3. 查找提交离职的
        instances = instances - instances.filtered(
        lambda emp: emp.termination_date and emp.termination_date <= reminder_day)

      result =

      {'instances': instances, 'business_type': 'probation'}
      显示
      代码: BP_SUBMIT_STATUS = ['waiting', 'reject', 'cancel', 'rollback', 'done'] today = datetime.date.today() reminder_day = today + datetime.timedelta(days=self.reminder_advance_days) 1. 查询转正的员工 emp_active_status_id = self.env.ref('employee_central.employee_status_active').id # 员工在职状态ID instances = self.env ['hr.employee'] .search([ ('probation_period_end_date', '=', reminder_day), ('employee_status', '=', emp_active_status_id), ('is_probation', '=', True) ]) if instances: 2. 查找已经提交转正申请的 domain = [ ('employee_id', 'in', instances.ids) ] probations = self.env ['bp'] .query_status(self.env ['employee.probation'] , BP_SUBMIT_STATUS, domain) instances = instances - probations.mapped('employee_id') if instances: 3. 查找提交离职的 instances = instances - instances.filtered( lambda emp: emp.termination_date and emp.termination_date <= reminder_day) result = {'instances': instances, 'business_type': 'probation'}

      1.根据实际业务需求,转正业务判断需要根据员工“是否为试用期和试用期结束日期进行判断”员工转正提醒触发条件
      2.目前在生产环境以及测试环境当中转正提醒的触发条件是根据“转正日期”进行判断的需要进行修改,使用“试用期结束日期”进行触发条件日期
      3.但是在配置过程中使用“试用期结束日期”直接替换“转正日期”,并没有触发相关通知,需要python code协助
      具体环境以及账户密码 ,企业微信私聊

            grant.yang 杨光磊
            joey.pan 潘超
            表决:
            0 为这个问题表决

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