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

连通,自定义字段逻辑调整

XMLWord打印

    • L-连通技术-Y2019094
    • 基础通用功能
    • 隐藏

      两个定时任务:
      today = datetime.today().strftime('%Y-%m-%d')
      transfers = env['rank.job.transfer'].search(cr, 1, [('state', '=', 'done'),('active','=',True)])
      transfers_dict = {}
      for record in transfers:
      adj = env['rank.job.transfer'].browse(cr, 1, record)
      if transfers_dict.get(adj.employee_id,False):
      transfers_dict[adj.employee_id].append(adj)
      else:
      transfers_dict[adj.employee_id]=[adj]
      for key,value in transfers_dict.items():
      if value:
      value.sort(key=lambda x:x.transfer_date,reverse=True)
      item = value[0]
      vals =

      { 'x_newcostcenter1': item.new_cost_center.id if item.new_cost_center else None, 'x_shengxiaoriqi': item.transfer_date, }

      if item.employee_id.x_newcostcenter1 != item.new_cost_center or item.employee_id.x_shengxiaoriqi != item.transfer_date:
      item.employee_id.write(vals)

      today = datetime.today().strftime('%Y-%m-%d')
      employees = env['hr.employee'].search(cr, 1, [])
      for record in employees:
      emp = env['hr.employee'].browse(cr, 1, record)
      if not emp.x_shengxiaoriqi:
      vals1 =

      { 'x_shijicostcenter1': emp.cost_center.id if emp.cost_center else None }

      elif emp.x_shengxiaoriqi[5:7] >= today[5:7]:
      vals1 =

      { 'x_shijicostcenter1': emp.x_newcostcenter1.id if emp.x_newcostcenter1 else None }

      else:
      vals1 = {}
      emp.write(vals1)

      显示
      两个定时任务: today = datetime.today().strftime('%Y-%m-%d') transfers = env ['rank.job.transfer'] .search(cr, 1, [('state', '=', 'done'),('active','=',True)] ) transfers_dict = {} for record in transfers: adj = env ['rank.job.transfer'] .browse(cr, 1, record) if transfers_dict.get(adj.employee_id,False): transfers_dict [adj.employee_id] .append(adj) else: transfers_dict [adj.employee_id] = [adj] for key,value in transfers_dict.items(): if value: value.sort(key=lambda x:x.transfer_date,reverse=True) item = value [0] vals = { 'x_newcostcenter1': item.new_cost_center.id if item.new_cost_center else None, 'x_shengxiaoriqi': item.transfer_date, } if item.employee_id.x_newcostcenter1 != item.new_cost_center or item.employee_id.x_shengxiaoriqi != item.transfer_date: item.employee_id.write(vals) today = datetime.today().strftime('%Y-%m-%d') employees = env ['hr.employee'] .search(cr, 1, []) for record in employees: emp = env ['hr.employee'] .browse(cr, 1, record) if not emp.x_shengxiaoriqi: vals1 = { 'x_shijicostcenter1': emp.cost_center.id if emp.cost_center else None } elif emp.x_shengxiaoriqi [5:7] >= today [5:7] : vals1 = { 'x_shijicostcenter1': emp.x_newcostcenter1.id if emp.x_newcostcenter1 else None } else: vals1 = {} emp.write(vals1)

      员工管理中新增了3个字段,他们的逻辑分别是:
      1)新成本中心:取值【岗位职级调动】里的“新成本中心”字段,格式为下拉框,同“成本中心”,可以选择得到整个系统的成本中心类型。
      2)成本中心生效日期:取值【岗位职级调动】里的“生效日期”字段,类型为日期。
      3)实际成本中心:格式为下拉框,同“成本中心”,可以选择得到整个系统的成本中心类型。
      取值逻辑为:1.当“成本中心生效日期”为空值时,取值“成本中心”;2。当“成本中心生效日期”的月份等于当前月份时,取值“新成本中心”,比如现在是2021-07月,成本中心生效日期为2021月7月的任意一天,都取值“新成本中心”。

      ps:这几个字段我已经加在员工模型里了,第一个和第三个的字段类型和取值可能需要你们帮忙调整,第二个的取值需要你们调整。

        1. image.png
          203 kB
          Yara
        2. image.png
          153 kB
          Yara
        3. image.png
          264 kB
          Yara

            wenqiang.liu 刘文强
            yara.chen Yara
            表决:
            0 为这个问题表决

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

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