From 3069e8102df53f670fe6c7e126538b076ad1b1a1 Mon Sep 17 00:00:00 2001
From: zhou <123@>
Date: Mon, 24 Mar 2025 10:18:14 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../models/overtime_approval.py | 1 -
.../views/inherit_hr_employee.xml | 2 +-
.../wizard/hr_employee_wizard.py | 22 +++++++++++++------
3 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py
index bf5e849b2..ade3f6ccc 100644
--- a/yuthon_hr_attendance/models/overtime_approval.py
+++ b/yuthon_hr_attendance/models/overtime_approval.py
@@ -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='紧急度',
diff --git a/yuthon_hr_attendance/views/inherit_hr_employee.xml b/yuthon_hr_attendance/views/inherit_hr_employee.xml
index 49ed95c37..6b10b84e8 100644
--- a/yuthon_hr_attendance/views/inherit_hr_employee.xml
+++ b/yuthon_hr_attendance/views/inherit_hr_employee.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/yuthon_hr_employee/wizard/hr_employee_wizard.py b/yuthon_hr_employee/wizard/hr_employee_wizard.py
index 4bdc6018d..69f3667f8 100644
--- a/yuthon_hr_employee/wizard/hr_employee_wizard.py
+++ b/yuthon_hr_employee/wizard/hr_employee_wizard.py
@@ -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,