Merge pull request !2043 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2025-03-24 02:26:57 +00:00
committed by Gitee
3 changed files with 16 additions and 9 deletions
@@ -31,7 +31,6 @@ class OvertimeApprovals(models.Model):
overtime_hours = fields.Float(string="本月加班时长")
start_time = fields.Datetime(string="开始时间")
end_time = fields.Datetime(string="结束时间")
last_attendance = fields.Boolean(string="上月全勤", compute='_compute_last_attendance', store=True)
type_overtime = fields.Selection([('work', '工作日加班'), ('weekend', '周末加班'), ('holiday', '节假日加班')],
string="加班类型", compute="_compute_overtime_type")
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
@@ -6,7 +6,7 @@
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='parent_id']" position="after">
<field name="last_attendance"/>
<field name="last_attendance" readonly="0"/>
</xpath>
</field>
</record>
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _, SUPERUSER_ID
from odoo.exceptions import ValidationError, UserError
from datetime import datetime, timedelta
import xlrd
import base64
import datetime
@@ -35,6 +36,14 @@ class YuthonHrEmployeeWizard(models.Model):
def employee_user_data(self, row):
employee_name = self.env['hr.employee'].search([('name', '=', row[0].value)])
base_date = datetime(1900, 1, 1)
user_number_start_time = base_date + timedelta(days=row[2].value - 2) if row[2].value > 0 else base_date
user_number_end_time = base_date + timedelta(days=row[3].value - 2) if row[3].value > 0 else base_date
dang_data = base_date + timedelta(days=row[6].value - 2) if row[6].value > 0 else base_date
political_aspects_dict = {'中共党员': 'cpc_dang', '民盟': 'nld', '共青团员': 'league_member', '群众': 'people', '': ''}
political_aspects = political_aspects_dict[row[5].value]
card = row[1].value if row[1].value else None
last_attendance = row[7].value
# if row[2].value:
# date1 = pd.to_datetime(row[2].value, unit='d', origin='1899-12-30')
# else:
@@ -42,10 +51,12 @@ class YuthonHrEmployeeWizard(models.Model):
# interrupt_work_month = row[3].value
# number = row[0].value
employee_date = {
'last_year_salary': row[1].value
# 'number':number,
# 'entry_date': date1,
# 'interrupt_work_month': interrupt_work_month,
'user_number_start_time': user_number_start_time,
'user_number_end_time': user_number_end_time,
'dang_data':dang_data,
'identification_id':card,
'political_aspects': political_aspects,
'last_attendance': last_attendance,
}
if employee_name:
employee_name.write(employee_date)
@@ -63,8 +74,6 @@ class YuthonHrEmployeeWizard(models.Model):
# job_lv_id = self.env['yuthon.job.lv'].search([('name', '=', row[9].value)])
# marital_dict = {'单身': 'single', '已婚': 'married', '合法同居者': 'cohabitant', '丧偶': 'widower', '离异': 'divorced', '': ''}
# marital = marital_dict[row[19].value]
# political_aspects_dict = {'中共党员': 'cpc_dang', '民盟': 'nld', '共青团员': 'league_member', '群众': 'people', '': ''}
# political_aspects = political_aspects_dict[row[26].value]
# role = row[4].value.split(',')
# role_list =[]
# user_role_id = self.env['soong.user.role']
@@ -85,7 +94,6 @@ class YuthonHrEmployeeWizard(models.Model):
# entry_date = datetime.fromtimestamp(open_start_time)
# else:
# entry_date = datetime.strptime(open_start_time, '%Y-%m-%d')
# card = row[20].value if row[20].value else None
# phone = row[21].value if row[21].value else None
# employee_date = {
# 'identification_id':card,