Merge branch 'dev' of gitee.com:jinan-pengyusen-data/gzth into dev
# Conflicts: # attendance_iot/views/attendance_iot_user_views.xml
This commit is contained in:
@@ -55,16 +55,14 @@ class BusController(Controller):
|
||||
user_id = data.get('logs')[0].get('user_id')
|
||||
employee_id = request.env(user=SUPERUSER_ID)["hr.employee"].search([('mobile_phone', '=', user_id)])
|
||||
recog_time_str = data.get('logs')[0].get("recog_time")
|
||||
checkin_time = datetime.strptime(recog_time_str, "%Y-%m-%d %H:%M:%S")
|
||||
attendance_iot_id = request.env(user=SUPERUSER_ID)["attendance.iot"].search([('name', '=', data.get('sn'))])
|
||||
if employee_id:
|
||||
request.env(user=SUPERUSER_ID)["hr.attendance.detail"].create({
|
||||
'employee_id': employee_id.id, # 员工
|
||||
'checkin_time': checkin_time, # 打卡时间
|
||||
'checkin_time': fields.Datetime.now(), # 打卡时间
|
||||
'source': 'iot', # 打卡来源
|
||||
'attendance_iot_id': attendance_iot_id.id, # 打卡设备
|
||||
})
|
||||
request.env(user=SUPERUSER_ID)["hr.attendance.detail"].get_hr_attendance_time(employee_id.user_id.login)
|
||||
return {"Result": 0, "Msg": "添加成功"}
|
||||
|
||||
@route('/api/v1/user/inf_photo', methods=['POST'], type='json', auth='none', csrf=False)
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<field name="employee_id"/>
|
||||
<field name="attendance_iot_id" string="设备号"/>
|
||||
<field name="attendance_address"/>
|
||||
<!-- <field name="image_1920"/>-->
|
||||
<field name="company_id" column_invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
@@ -108,13 +108,22 @@ class AppletAttendance(Controller):
|
||||
_logger.info(f"\n应打卡地址 地址验证: {address_id.address_name} 详细: {address_id.address_name2}___")
|
||||
_logger.info(f"\n人员: {employee_id.name} 当前所在地址: {self_address['formatted_address']}__________")
|
||||
_logger.info(f"\n可打卡 当前经度: {kw['att_longitude']} 当前纬度: {kw['att_latitude']} 范围:{address_id.card_rice}米__________")
|
||||
if self.is_within_radius_geopy(kw['att_latitude'], kw['att_longitude'], address_id.latitude, address_id.longitude, card_rice) and kw['wifi_name'] in wifi_name_list:
|
||||
message = '可以打卡'
|
||||
state = 'yes'
|
||||
_logger.info(f"\n可打卡")
|
||||
break
|
||||
if wifi_name_list:
|
||||
if self.is_within_radius_geopy(kw['att_latitude'], kw['att_longitude'], address_id.latitude, address_id.longitude, card_rice) and kw['wifi_name'] in wifi_name_list:
|
||||
message = '可以打卡'
|
||||
state = 'yes'
|
||||
_logger.info(f"\n可打卡")
|
||||
break
|
||||
else:
|
||||
_logger.info(f"\n不可打卡 ")
|
||||
else:
|
||||
_logger.info(f"\n不可打卡 ")
|
||||
if self.is_within_radius_geopy(kw['att_latitude'], kw['att_longitude'], address_id.latitude, address_id.longitude, card_rice):
|
||||
message = '可以打卡'
|
||||
state = 'yes'
|
||||
_logger.info(f"\n可打卡")
|
||||
break
|
||||
else:
|
||||
_logger.info(f"\n不可打卡 ")
|
||||
if self.is_workday(current_date):
|
||||
attendance_id_class = f"{attendance_id.shift_name} {start_time_str}-{end_time_str}"
|
||||
else:
|
||||
@@ -198,7 +207,7 @@ class AppletAttendance(Controller):
|
||||
"""
|
||||
_logger.info("-------触发打卡接口/yuthon/att/record---------")
|
||||
res_user_id = request.env(user=SUPERUSER_ID)["res.users"].search([('id', '=', kw.get('user_id'))])
|
||||
_logger.info(f"传过来的user_id{kw.get('user_id')},名称{res_user_id.name}")
|
||||
_logger.info(f"传过来的user_id:{kw.get('user_id')},名称{res_user_id.name}")
|
||||
employee_id = request.env(user=SUPERUSER_ID)["hr.employee"].search([('name', '=', res_user_id.name)])
|
||||
if res_user_id:
|
||||
request.env(user=SUPERUSER_ID)["hr.attendance.detail"].create({
|
||||
@@ -207,7 +216,6 @@ class AppletAttendance(Controller):
|
||||
'source': 'mini_programs',
|
||||
})
|
||||
return_data = {'code': '200', 'message': '打卡成功'}
|
||||
request.env(user=SUPERUSER_ID)["hr.attendance.detail"].get_hr_attendance_time(res_user_id.login)
|
||||
_logger.info("打卡记录创建成功")
|
||||
else:
|
||||
return_data = {'code': '200', 'message': '未识别到员工'}
|
||||
|
||||
@@ -86,15 +86,15 @@ class HrAttendanceDetail(models.Model):
|
||||
def create(self, vals_list):
|
||||
res = super(HrAttendanceDetail, self).create(vals_list)
|
||||
for attendance_obj in res:
|
||||
self.sudo()._do_save_wx_attendance_data(attendance_obj.user_id, attendance_obj.current_data)
|
||||
self.sudo()._do_plan_save_wx_attendance_data(attendance_obj.user_id, attendance_obj.current_data)
|
||||
self.sudo()._do_save_wx_attendance_data(attendance_obj.employee_id.user_id, attendance_obj.create_date.date())
|
||||
self.sudo()._do_plan_save_wx_attendance_data(attendance_obj.employee_id.user_id, attendance_obj.create_date.date())
|
||||
return res
|
||||
|
||||
def write(self, vals):
|
||||
res = super(HrAttendanceDetail, self).write(vals)
|
||||
for attendance_obj in self:
|
||||
self.sudo()._do_save_wx_attendance_data(attendance_obj.user_id, attendance_obj.current_data)
|
||||
self.sudo()._do_plan_save_wx_attendance_data(attendance_obj.user_id, attendance_obj.current_data)
|
||||
self.sudo()._do_save_wx_attendance_data(attendance_obj.employee_id.user_id, attendance_obj.create_date.date())
|
||||
self.sudo()._do_plan_save_wx_attendance_data(attendance_obj.employee_id.user_id, attendance_obj.create_date.date())
|
||||
return res
|
||||
|
||||
|
||||
@@ -332,8 +332,8 @@ class HrAttendanceDetail(models.Model):
|
||||
# 同步整理当天出勤数据
|
||||
attendance_obj = self.env['hr.attendance'].search([("userid", "=", user.oauth_uid), ("current_data", "=", current_date)], limit=1)
|
||||
hr_employee_obj = self.env['hr.employee'].sudo().search([("user_id", "=", user.id)], limit=1)
|
||||
current_datetime_start = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.min.time())
|
||||
current_datetime_end = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.max.time())
|
||||
# current_datetime_start = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.min.time())
|
||||
# current_datetime_end = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.max.time())
|
||||
if not attendance_obj:
|
||||
# 判断是否是 普通打卡
|
||||
if not hr_employee_obj.default_planning_role_id:
|
||||
@@ -367,6 +367,7 @@ class HrAttendanceDetail(models.Model):
|
||||
:return:
|
||||
"""
|
||||
# 同步整理当天出勤数据
|
||||
current_date = str(current_date)
|
||||
hr_employee_obj = self.env['hr.employee'].sudo().search([("user_id", "=", user.id)], limit=1)
|
||||
current_datetime_start = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.min.time())
|
||||
current_datetime_end = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.max.time())
|
||||
@@ -406,6 +407,7 @@ class HrAttendanceDetail(models.Model):
|
||||
:param attendance_obj: 判断的时刻的考勤集合
|
||||
:return:
|
||||
"""
|
||||
current_date = str(current_date)
|
||||
current_datetime_start = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.min.time())
|
||||
current_datetime_end = datetime.combine(datetime.strptime(current_date, '%Y-%m-%d'), datetime.max.time())
|
||||
hr_employee_obj = self.env['hr.employee'].sudo().search([("user_id", "=", user.id)], limit=1)
|
||||
|
||||
@@ -5,6 +5,7 @@ from odoo import models, api, fields, _
|
||||
from odoo.tools.float_utils import float_round
|
||||
from odoo.exceptions import ValidationError, UserError
|
||||
from datetime import date
|
||||
from datetime import timedelta
|
||||
|
||||
|
||||
class HrAttendanceMonthWizard(models.TransientModel):
|
||||
@@ -101,16 +102,16 @@ class HrAttendanceMonthWizard(models.TransientModel):
|
||||
# 1 生成出勤生成记录
|
||||
# 2 生成出勤月度明细
|
||||
# 获取出勤月度汇总记录结果表
|
||||
for record in self:
|
||||
year = record.current_year
|
||||
month = record.current_month
|
||||
existing_records = self.env["hr.attendance.month"].search([
|
||||
('current_year', '=', year),
|
||||
('current_month', '=', month),
|
||||
('company_id', '=', record.company_id.id)
|
||||
])
|
||||
if existing_records:
|
||||
raise ValidationError(f"{year}年{month}月分的记录已经存在,不能重复操作.")
|
||||
# for record in self:
|
||||
# year = record.current_year
|
||||
# month = record.current_month
|
||||
# existing_records = self.env["hr.attendance.month"].search([
|
||||
# ('current_year', '=', year),
|
||||
# ('current_month', '=', month),
|
||||
# ('company_id', '=', record.company_id.id)
|
||||
# ])
|
||||
# if existing_records:
|
||||
# raise ValidationError(f"{year}年{month}月分的记录已经存在,不能重复操作.")
|
||||
self.ensure_one()
|
||||
attendance_month_obj = self._get_attendance_month_obj()
|
||||
# 查询所有的当前员工? 是否需要判断当前员工是否关联企业微信??预留
|
||||
@@ -127,7 +128,7 @@ class HrAttendanceMonthWizard(models.TransientModel):
|
||||
for employee in hr_employee_obj:
|
||||
if (
|
||||
employee.id not in resource_user_ids and
|
||||
employee.contract.state not in ['draft', 'cancel']
|
||||
employee.contract_id.state not in ['draft', 'cancel']
|
||||
):
|
||||
if employee.id not in all_employee_ids:
|
||||
# 判断当前是否已经创建了考勤明细
|
||||
@@ -140,8 +141,8 @@ class HrAttendanceMonthWizard(models.TransientModel):
|
||||
attendance_month_detail_obj.analysis_attendance_month_detail()
|
||||
self.get_leave_and_overtime_info(employee.id)
|
||||
# 返回action动作
|
||||
action = self._hr_attendance_month_detail_action()
|
||||
return action
|
||||
action = self._hr_attendance_month_detail_action()
|
||||
return action
|
||||
|
||||
# 考勤定时任务
|
||||
def button_attendance_month(self):
|
||||
@@ -218,10 +219,8 @@ class HrAttendanceMonthWizard(models.TransientModel):
|
||||
start_date = start_in_month
|
||||
end_date = end_in_month
|
||||
|
||||
leave = self._create_leave_record(holiday_status_id, start_date, end_date)
|
||||
leave_days[leave_type] = leave.number_of_days
|
||||
# leave_days[leave_type] = self._process_shift_days(leave, start_date, end_date)
|
||||
leave.unlink()
|
||||
days = self._create_leave_record(holiday_status_id, start_date, end_date)
|
||||
leave_days[leave_type] = days
|
||||
else:
|
||||
for leave in leave_records:
|
||||
total_days += leave.number_of_days_display
|
||||
@@ -241,13 +240,44 @@ class HrAttendanceMonthWizard(models.TransientModel):
|
||||
|
||||
# 创建用户记录传入日期来获取天数
|
||||
def _create_leave_record(self, holiday_status_id, start_date, end_date):
|
||||
admin_id = self.env['hr.employee'].search([("name", "=", 'Administrator')])
|
||||
if not admin_id:
|
||||
return None
|
||||
return self.env['hr.leave'].sudo().create({
|
||||
'employee_id': admin_id.id,
|
||||
'holiday_status_id': holiday_status_id.id,
|
||||
'request_date_from': start_date,
|
||||
'request_date_to': end_date,
|
||||
'state': 'confirm',
|
||||
})
|
||||
if holiday_status_id.type_of_work == 0:
|
||||
calendar_leaves = self.env['resource.calendar.leaves'].search([("calendar_id", "=", "行政考勤工作日")])
|
||||
holidays_list = []
|
||||
shift_days_list = []
|
||||
# 提取节假日和调休日
|
||||
for leave in calendar_leaves:
|
||||
if leave.holidays:
|
||||
holidays_list.extend(leave.holidays.split(','))
|
||||
if leave.alternate_rest_day:
|
||||
holidays_list.extend(leave.alternate_rest_day.split(','))
|
||||
if leave.shift_replacement_day:
|
||||
shift_days_list.extend(leave.shift_replacement_day.split(','))
|
||||
|
||||
holidays_list = [self.remove_leading_zero(date) for date in holidays_list]
|
||||
shift_days_list = [self.remove_leading_zero(date) for date in shift_days_list]
|
||||
|
||||
days = 0 # 初始化工作日计数
|
||||
current_date = start_date
|
||||
|
||||
while current_date <= end_date:
|
||||
current_date_str = current_date.strftime('%m月%d日')
|
||||
current_date_str = self.remove_leading_zero(current_date_str)
|
||||
is_weekend = current_date.weekday() in [5, 6]
|
||||
|
||||
if current_date_str in holidays_list:
|
||||
# 如果是法定节假日,不计为工作日
|
||||
pass
|
||||
elif current_date_str in shift_days_list:
|
||||
# 如果是调休日,无论是否周末都算作工作日
|
||||
days += 1
|
||||
elif not is_weekend:
|
||||
# 如果不是周末且不是节假日,算作工作日
|
||||
days += 1
|
||||
|
||||
current_date += timedelta(days=1)
|
||||
else:
|
||||
delta = end_date - start_date
|
||||
days = delta.days + 1
|
||||
return days
|
||||
|
||||
|
||||
|
||||
@@ -28,14 +28,18 @@ class ChoosePropertyWizard(models.Model):
|
||||
else:
|
||||
rec.is_mange = False
|
||||
manage_id = record.manage_information_ids[-1] if record.manage_information_ids else False
|
||||
|
||||
admin_id = False
|
||||
company_id = False
|
||||
precinct_id = False
|
||||
if manage_id:
|
||||
rec.admin_id = manage_id.admin_line_id.id
|
||||
rec.company_id = manage_id.company_id.id
|
||||
rec.precinct_id = manage_id.precinct_id.id
|
||||
else:
|
||||
rec.admin_id = False
|
||||
rec.company_id = False
|
||||
rec.precinct_id = False
|
||||
admin_id = manage_id.admin_id.id if manage_id.admin_id else False
|
||||
company_id = manage_id.company_id.id if manage_id.company_id else False
|
||||
precinct_id = manage_id.precinct_id.id if manage_id.precinct_id else False
|
||||
rec.admin_id = admin_id
|
||||
rec.company_id = company_id
|
||||
rec.precinct_id = precinct_id
|
||||
|
||||
self.lease_contract_id.lease_ids = lease_ids_to_add
|
||||
self.lease_contract_id.write({'name': ','.join(lease_name),
|
||||
'use_address': ','.join(lease_name),
|
||||
|
||||
@@ -18,7 +18,7 @@ class InheritHrPayslip(models.Model):
|
||||
date_of_entry = fields.Date(related='employee_id.entry_date', string="入职时间", store=True)
|
||||
base_salary = fields.Float(string='基本工资', compute='_compute_salary', store=True)
|
||||
bank_account_id = fields.Many2one(string='银行账号', related='employee_id.bank_account_id', store=True)
|
||||
tax_payable = fields.Float(string='应补(退)税额', store=True)
|
||||
tax_payable = fields.Float(string='应补(退)税额')
|
||||
actual_salary = fields.Float(string='实发工资', store=True, compute='_compute_actual_salary')
|
||||
three_one = fields.Float(string='三险一金', store=True, compute='_compute_salary')
|
||||
identification_id = fields.Char(string='证件号码', related='employee_id.identification_id', store=True)
|
||||
|
||||
@@ -188,63 +188,65 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<!-- 薪资审定 - jtbb 视图 -->
|
||||
<record id="view_hr_payslip_tree_validation_jtbb" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree.validation.jtbb</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="薪资审定">
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}" decoration-danger="is_bold" decoration-bf="is_bold"/>
|
||||
<field name="date_of_entry" optional="show"/>
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}"/>
|
||||
<field name="date_of_entry"/>
|
||||
<field name="bank_account_id"/>
|
||||
<field name="actual_salary" optional="show"/>
|
||||
<field name="total_before_tax" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="three_one" optional="show"/>
|
||||
<field name="b_year" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="base_salary" required="1" optional="show"/>
|
||||
<field name="basic_endowment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="basic_medical_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="unemployment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="housing_provident_fund" decoration-info="1" optional="show"/>
|
||||
<field name="work_injury_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="maternity_allowance" decoration-danger="1" optional="show"/>
|
||||
<field name="individual_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="add_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="add_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_att" decoration-danger="1" optional="show"/>
|
||||
<field name="add_att" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="rank_salary" required="1" optional="show"/>
|
||||
<field name="performance_bonuses" required="1" optional="show"/>
|
||||
<field name="based_pay" required="1" optional="show"/>
|
||||
<field name="seniority_salary" required="1" decoration-success="1" optional="show"/>
|
||||
<field name="commuting_allowance" required="1" decoration-success="1" optional="show"/>
|
||||
<field name="full_attendance_award" decoration-success="1" optional="show"/>
|
||||
<field name="overtime_pay" decoration-success="1" optional="show"/>
|
||||
<field name="meal_misunderstanding_fee" decoration-success="1" optional="show"/>
|
||||
<field name="condolence_fund" decoration-success="1" optional="show"/>
|
||||
<field name="retroactive_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="specialized_deduction" decoration-warning="1" optional="show"/>
|
||||
<field name="individual_tax_refund" decoration-danger="1" optional="show"/>
|
||||
<field name="social_security" decoration-danger="1" optional="show"/>
|
||||
<field name="liquidation_year" decoration-danger="1" optional="show"/>
|
||||
<field name="year_compute" decoration-danger="1" optional="show"/>
|
||||
<field name="year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="performance_up" decoration-danger="1" optional="show"/>
|
||||
<field name="jing_te" decoration-danger="1" optional="show"/>
|
||||
<field name="year_gong" decoration-danger="1" optional="show"/>
|
||||
<field name="study_on" decoration-danger="1" optional="show"/>
|
||||
<field name="commuting_deduction" decoration-danger="1" optional="show"/>
|
||||
<field name="performance_deduction" decoration-danger="1" optional="show"/>
|
||||
<field name="retention_previous_year" decoration-danger="1" optional="show"/>
|
||||
<field name="safety_incentives" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_safety" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_performance_evaluation" decoration-danger="1" optional="show"/>
|
||||
<field name="salary_state" optional="show"/>
|
||||
<field name="actual_salary"/>
|
||||
<field name="total_before_tax"/>
|
||||
<field name="three_one"/>
|
||||
<field name="b_year"/>
|
||||
<field name="union_dues"/>
|
||||
<field name="base_salary" required="1"/>
|
||||
<field name="basic_endowment_insurance"/>
|
||||
<field name="basic_medical_insurance"/>
|
||||
<field name="unemployment_insurance"/>
|
||||
<field name="housing_provident_fund"/>
|
||||
<field name="work_injury_insurance"/>
|
||||
<field name="maternity_allowance"/>
|
||||
<field name="individual_income_tax"/>
|
||||
<field name="add_income_tax"/>
|
||||
<field name="minus_annuity_difference"/>
|
||||
<field name="add_annuity_difference"/>
|
||||
<field name="minus_att"/>
|
||||
<field name="add_att"/>
|
||||
<field name="last_year_jie"/>
|
||||
<field name="rank_salary" required="1"/>
|
||||
<field name="performance_bonuses" required="1"/>
|
||||
<field name="based_pay" required="1"/>
|
||||
<field name="seniority_salary" required="1"/>
|
||||
<field name="commuting_allowance" required="1"/>
|
||||
<field name="full_attendance_award"/>
|
||||
<field name="overtime_pay"/>
|
||||
<field name="meal_misunderstanding_fee"/>
|
||||
<field name="condolence_fund"/>
|
||||
<field name="retroactive_allowance"/>
|
||||
<field name="specialized_deduction"/>
|
||||
<field name="individual_tax_refund"/>
|
||||
<field name="social_security"/>
|
||||
<field name="liquidation_year"/>
|
||||
<field name="year_compute"/>
|
||||
<field name="year_jie"/>
|
||||
<field name="performance_up"/>
|
||||
<field name="jing_te"/>
|
||||
<field name="year_gong"/>
|
||||
<field name="study_on"/>
|
||||
<field name="commuting_deduction"/>
|
||||
<field name="performance_deduction"/>
|
||||
<field name="retention_previous_year"/>
|
||||
<field name="safety_incentives"/>
|
||||
<field name="last_year_safety"/>
|
||||
<field name="last_year_performance_evaluation"/>
|
||||
<field name="tax_payable"/>
|
||||
<field name="salary_state"/>
|
||||
<field name="is_salary_release" column_invisible="1"/>
|
||||
<field name="is_salary_push" column_invisible="1"/>
|
||||
<field name="is_bold" optional="hide"/>
|
||||
<field name="is_bold"/>
|
||||
<button name="put_release" type="object" string="推送" class="btn-primary" invisible="is_salary_release"/>
|
||||
<button name="put_payslip" type="object" string="发送" class="btn-primary" invisible="not is_salary_release"/>
|
||||
<button name="return_salary_button" string="退回" type="object" class="oe_highlight" invisible="not is_salary_release"/>
|
||||
@@ -252,106 +254,114 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- 薪资审定 - wg 视图 -->
|
||||
<record id="view_hr_payslip_tree_validation_wg" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree.validation.wg</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="薪资审定">
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}" decoration-danger="is_bold" decoration-bf="is_bold"/>
|
||||
<field name="date_of_entry" optional="show"/>
|
||||
<field name="bank_account_id"/>
|
||||
<field name="actual_salary" optional="show"/>
|
||||
<field name="total_before_tax" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="three_one" optional="show"/>
|
||||
<field name="b_year" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="base_salary" required="1" optional="show"/>
|
||||
<field name="basic_endowment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="basic_medical_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="unemployment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="housing_provident_fund" decoration-info="1" optional="show"/>
|
||||
<field name="work_injury_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="maternity_allowance" decoration-danger="1" optional="show"/>
|
||||
<field name="position_salary" decoration-danger="1" optional="show"/>
|
||||
<field name="individual_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="add_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="add_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_att" decoration-danger="1" optional="show"/>
|
||||
<field name="add_att" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="position_subsidy" optional="show" decoration-success="1"/>
|
||||
<field name="seniority_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="safety_subsidy" decoration-success="1" optional="show"/>
|
||||
<field name="comprehensive_subsidy" decoration-success="1" optional="show"/>
|
||||
<field name="job_performance" decoration-success="1" optional="show"/>
|
||||
<field name="duty" decoration-success="1" optional="show"/>
|
||||
<field name="spring_festival" decoration-success="1" optional="show"/>
|
||||
<field name="commuting_allowance" required="1" decoration-success="1" optional="show"/>
|
||||
<field name="full_attendance_award" decoration-success="1" optional="show"/>
|
||||
<field name="overtime_pay" decoration-success="1" optional="show"/>
|
||||
<field name="condolence_fund" decoration-success="1" optional="show"/>
|
||||
<field name="excellent_employees" decoration-danger="1" optional="show"/>
|
||||
<field name="salary_state" optional="show"/>
|
||||
<field name="is_salary_release" column_invisible="1"/>
|
||||
<field name="is_salary_push" column_invisible="1"/>
|
||||
<field name="is_bold" optional="hide"/>
|
||||
<button name="put_release" type="object" string="推送" class="btn-primary" invisible="is_salary_release"/>
|
||||
<button name="put_payslip" type="object" string="发送" class="btn-primary" invisible="not is_salary_release"/>
|
||||
<button name="return_salary_button" string="退回" type="object" class="oe_highlight" invisible="not is_salary_release"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="name">hr.payslip.tree.validation.wg</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="薪资审定">
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}"/>
|
||||
<field name="date_of_entry"/>
|
||||
<field name="bank_account_id"/>
|
||||
<field name="actual_salary"/>
|
||||
<field name="total_before_tax"/>
|
||||
<field name="three_one"/>
|
||||
<field name="b_year"/>
|
||||
<field name="union_dues"/>
|
||||
<field name="base_salary" required="1"/>
|
||||
<field name="basic_endowment_insurance"/>
|
||||
<field name="basic_medical_insurance"/>
|
||||
<field name="unemployment_insurance"/>
|
||||
<field name="housing_provident_fund"/>
|
||||
<field name="work_injury_insurance"/>
|
||||
<field name="maternity_allowance"/>
|
||||
<field name="position_salary"/>
|
||||
<field name="individual_income_tax"/>
|
||||
<field name="add_income_tax"/>
|
||||
<field name="minus_annuity_difference"/>
|
||||
<field name="add_annuity_difference"/>
|
||||
<field name="minus_att"/>
|
||||
<field name="spring_festival"/>
|
||||
<field name="add_att"/>
|
||||
<field name="last_year_jie"/>
|
||||
<field name="position_subsidy"/>
|
||||
<field name="seniority_allowance"/>
|
||||
<field name="safety_subsidy"/>
|
||||
<field name="comprehensive_subsidy"/>
|
||||
<field name="job_performance"/>
|
||||
<field name="duty"/>
|
||||
<field name="commuting_allowance" required="1"/>
|
||||
<field name="full_attendance_award"/>
|
||||
<field name="overtime_pay"/>
|
||||
<field name="condolence_fund"/>
|
||||
<field name="excellent_employees"/>
|
||||
<field name="tax_payable"/>
|
||||
<field name="salary_state"/>
|
||||
<field name="is_salary_release" column_invisible="1"/>
|
||||
<field name="is_salary_push" column_invisible="1"/>
|
||||
<field name="is_bold"/>
|
||||
<button name="put_release" type="object" string="推送" class="btn-primary" invisible="is_salary_release"/>
|
||||
<button name="put_payslip" type="object" string="发送" class="btn-primary" invisible="not is_salary_release"/>
|
||||
<button name="return_salary_button" string="退回" type="object" class="oe_highlight" invisible="not is_salary_release"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- 薪资审定 - lc 视图 -->
|
||||
<record id="view_hr_payslip_tree_validation_lc" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree.validation_lc</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="薪资审定">
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}" decoration-danger="is_bold" decoration-bf="is_bold"/>
|
||||
<field name="date_of_entry" optional="show"/>
|
||||
<field name="bank_account_id"/>
|
||||
<field name="actual_salary" optional="show"/>
|
||||
<field name="total_before_tax" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="three_one" optional="show"/>
|
||||
<field name="b_year" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="base_salary" required="1" optional="show"/>
|
||||
<field name="basic_endowment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="basic_medical_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="unemployment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="housing_provident_fund" decoration-info="1" optional="show"/>
|
||||
<field name="work_injury_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="maternity_allowance" decoration-danger="1" optional="show"/>
|
||||
<field name="individual_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="add_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="add_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_att" decoration-danger="1" optional="show"/>
|
||||
<field name="add_att" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="position_subsidy" optional="show" decoration-success="1"/>
|
||||
<field name="position_salary" decoration-danger="1" optional="show"/>
|
||||
<field name="performance_bonuses" required="1" optional="show"/>
|
||||
<field name="based_pay" required="1" optional="show"/>
|
||||
<field name="environmental_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="quality_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="high_subsidy" decoration-success="1" optional="show"/>
|
||||
<field name="last_duty" decoration-success="1" optional="show"/>
|
||||
<field name="medical_fee" decoration-danger="1" optional="show"/>
|
||||
<field name="retroactive_insurance" decoration-danger="1" optional="show"/>
|
||||
<field name="distribution_part" decoration-danger="1" optional="show"/>
|
||||
<field name="salary_state" optional="show"/>
|
||||
<field name="is_salary_release" column_invisible="1"/>
|
||||
<field name="is_salary_push" column_invisible="1"/>
|
||||
<field name="is_bold" optional="hide"/>
|
||||
<button name="put_release" type="object" string="推送" class="btn-primary" invisible="is_salary_release"/>
|
||||
<button name="put_payslip" type="object" string="发送" class="btn-primary" invisible="not is_salary_release"/>
|
||||
<button name="return_salary_button" string="退回" type="object" class="oe_highlight" invisible="not is_salary_release"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="name">hr.payslip.tree.validation_lc</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="薪资审定">
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}"/>
|
||||
<field name="date_of_entry"/>
|
||||
<field name="bank_account_id"/>
|
||||
<field name="actual_salary"/>
|
||||
<field name="total_before_tax"/>
|
||||
<field name="three_one"/>
|
||||
<field name="b_year"/>
|
||||
<field name="union_dues"/>
|
||||
<field name="base_salary" required="1"/>
|
||||
<field name="basic_endowment_insurance"/>
|
||||
<field name="basic_medical_insurance"/>
|
||||
<field name="unemployment_insurance"/>
|
||||
<field name="housing_provident_fund"/>
|
||||
<field name="work_injury_insurance"/>
|
||||
<field name="maternity_allowance"/>
|
||||
<field name="individual_income_tax"/>
|
||||
<field name="add_income_tax"/>
|
||||
<field name="minus_annuity_difference"/>
|
||||
<field name="add_annuity_difference"/>
|
||||
<field name="minus_att"/>
|
||||
<field name="add_att"/>
|
||||
<field name="last_year_jie"/>
|
||||
<field name="position_subsidy"/>
|
||||
<field name="position_salary"/>
|
||||
<field name="performance_bonuses" required="1"/>
|
||||
<field name="based_pay" required="1"/>
|
||||
<field name="environmental_allowance"/>
|
||||
<field name="quality_allowance"/>
|
||||
<field name="high_subsidy"/>
|
||||
<field name="last_duty"/>
|
||||
<field name="medical_fee"/>
|
||||
<field name="retroactive_insurance"/>
|
||||
<field name="distribution_part"/>
|
||||
<field name="tax_payable"/>
|
||||
<field name="salary_state"/>
|
||||
<field name="is_salary_release" column_invisible="1"/>
|
||||
<field name="is_salary_push" column_invisible="1"/>
|
||||
<field name="is_bold"/>
|
||||
<button name="put_release" type="object" string="推送" class="btn-primary" invisible="is_salary_release"/>
|
||||
<button name="put_payslip" type="object" string="发送" class="btn-primary" invisible="not is_salary_release"/>
|
||||
<button name="return_salary_button" string="退回" type="object" class="oe_highlight" invisible="not is_salary_release"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- 薪资计算 - jtbb 视图 -->
|
||||
<record id="view_hr_payslip_tree_jtbb" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree.jtbb</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
@@ -362,59 +372,63 @@
|
||||
<button name="action_temporary_payslip_wizard" string="导入工资项" type="object" class="oe_highlight"/>
|
||||
<button name="action_refresh_from_work_entries" string="重新计算" type="object" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}" decoration-danger="is_bold" decoration-bf="is_bold"/>
|
||||
<field name="date_of_entry" optional="show"/>
|
||||
<field name="total_before_tax" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="three_one" optional="show"/>
|
||||
<field name="b_year" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="base_salary" required="1" optional="show"/>
|
||||
<field name="basic_endowment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="basic_medical_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="unemployment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="housing_provident_fund" decoration-info="1" optional="show"/>
|
||||
<field name="work_injury_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="maternity_allowance" decoration-danger="1" optional="show"/>
|
||||
<field name="individual_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="add_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="add_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_att" decoration-danger="1" optional="show"/>
|
||||
<field name="add_att" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="rank_salary" required="1" optional="show"/>
|
||||
<field name="performance_bonuses" required="1" optional="show"/>
|
||||
<field name="based_pay" required="1" optional="show"/>
|
||||
<field name="seniority_salary" required="1" decoration-success="1" optional="show"/>
|
||||
<field name="commuting_allowance" required="1" decoration-success="1" optional="show"/>
|
||||
<field name="full_attendance_award" decoration-success="1" optional="show"/>
|
||||
<field name="overtime_pay" decoration-success="1" optional="show"/>
|
||||
<field name="meal_misunderstanding_fee" decoration-success="1" optional="show"/>
|
||||
<field name="condolence_fund" decoration-success="1" optional="show"/>
|
||||
<field name="retroactive_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="specialized_deduction" decoration-warning="1" optional="show"/>
|
||||
<field name="individual_tax_refund" decoration-danger="1" optional="show"/>
|
||||
<field name="social_security" decoration-danger="1" optional="show"/>
|
||||
<field name="liquidation_year" decoration-danger="1" optional="show"/>
|
||||
<field name="year_compute" decoration-danger="1" optional="show"/>
|
||||
<field name="year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="performance_up" decoration-danger="1" optional="show"/>
|
||||
<field name="jing_te" decoration-danger="1" optional="show"/>
|
||||
<field name="year_gong" decoration-danger="1" optional="show"/>
|
||||
<field name="study_on" decoration-danger="1" optional="show"/>
|
||||
<field name="commuting_deduction" decoration-danger="1" optional="show"/>
|
||||
<field name="performance_deduction" decoration-danger="1" optional="show"/>
|
||||
<field name="retention_previous_year" decoration-danger="1" optional="show"/>
|
||||
<field name="safety_incentives" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_safety" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_performance_evaluation" decoration-danger="1" optional="show"/>
|
||||
<field name="salary_state" optional="show"/>
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}"/>
|
||||
<field name="date_of_entry"/>
|
||||
<field name="total_before_tax"/>
|
||||
<field name="three_one"/>
|
||||
<field name="b_year"/>
|
||||
<field name="union_dues"/>
|
||||
<field name="base_salary" required="1"/>
|
||||
<field name="basic_endowment_insurance"/>
|
||||
<field name="basic_medical_insurance"/>
|
||||
<field name="unemployment_insurance"/>
|
||||
<field name="housing_provident_fund"/>
|
||||
<field name="work_injury_insurance"/>
|
||||
<field name="maternity_allowance"/>
|
||||
<field name="individual_income_tax"/>
|
||||
<field name="add_income_tax"/>
|
||||
<field name="minus_annuity_difference"/>
|
||||
<field name="add_annuity_difference"/>
|
||||
<field name="minus_att"/>
|
||||
<field name="add_att"/>
|
||||
<field name="last_year_jie"/>
|
||||
<field name="rank_salary" required="1"/>
|
||||
<field name="performance_bonuses" required="1"/>
|
||||
<field name="based_pay" required="1"/>
|
||||
<field name="seniority_salary" required="1"/>
|
||||
<field name="commuting_allowance" required="1"/>
|
||||
<field name="full_attendance_award"/>
|
||||
<field name="overtime_pay"/>
|
||||
<field name="meal_misunderstanding_fee"/>
|
||||
<field name="condolence_fund"/>
|
||||
<field name="children_welfare_fee"/>
|
||||
<field name="base_salary_deduction"/>
|
||||
<field name="retroactive_allowance"/>
|
||||
<field name="specialized_deduction"/>
|
||||
<field name="individual_tax_refund"/>
|
||||
<field name="social_security"/>
|
||||
<field name="liquidation_year"/>
|
||||
<field name="safety_incentives"/>
|
||||
<field name="year_compute"/>
|
||||
<field name="year_jie"/>
|
||||
<field name="performance_up"/>
|
||||
<field name="jing_te"/>
|
||||
<field name="year_gong"/>
|
||||
<field name="study_on"/>
|
||||
<field name="commuting_deduction"/>
|
||||
<field name="performance_deduction"/>
|
||||
<field name="retention_previous_year"/>
|
||||
<field name="last_year_safety"/>
|
||||
<field name="last_year_performance_evaluation"/>
|
||||
<field name="salary_state"/>
|
||||
<field name="company_id" optional="hide"/>
|
||||
<field name="is_bold" optional="hide"/>
|
||||
<field name="is_bold"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- 薪资计算 - wg 视图 -->
|
||||
<record id="view_hr_payslip_tree_wg" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree.wg</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
@@ -425,46 +439,48 @@
|
||||
<button name="action_temporary_payslip_wizard" string="导入工资项" type="object" class="oe_highlight"/>
|
||||
<button name="action_refresh_from_work_entries" string="重新计算" type="object" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}" decoration-danger="is_bold" decoration-bf="is_bold"/>
|
||||
<field name="date_of_entry" optional="show"/>
|
||||
<field name="total_before_tax" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="three_one" optional="show"/>
|
||||
<field name="b_year" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="base_salary" required="1" optional="show"/>
|
||||
<field name="basic_endowment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="basic_medical_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="unemployment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="housing_provident_fund" decoration-info="1" optional="show"/>
|
||||
<field name="work_injury_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="maternity_allowance" decoration-danger="1" optional="show"/>
|
||||
<field name="position_salary" decoration-danger="1" optional="show"/>
|
||||
<field name="individual_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="add_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="add_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_att" decoration-danger="1" optional="show"/>
|
||||
<field name="add_att" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="position_subsidy" optional="show" decoration-success="1"/>
|
||||
<field name="seniority_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="safety_subsidy" decoration-success="1" optional="show"/>
|
||||
<field name="comprehensive_subsidy" decoration-success="1" optional="show"/>
|
||||
<field name="job_performance" decoration-success="1" optional="show"/>
|
||||
<field name="duty" decoration-success="1" optional="show"/>
|
||||
<field name="spring_festival" decoration-success="1" optional="show"/>
|
||||
<field name="commuting_allowance" required="1" decoration-success="1" optional="show"/>
|
||||
<field name="full_attendance_award" decoration-success="1" optional="show"/>
|
||||
<field name="overtime_pay" decoration-success="1" optional="show"/>
|
||||
<field name="condolence_fund" decoration-success="1" optional="show"/>
|
||||
<field name="excellent_employees" decoration-danger="1" optional="show"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
<field name="salary_state" optional="show"/>
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}"/>
|
||||
<field name="date_of_entry"/>
|
||||
<field name="total_before_tax"/>
|
||||
<field name="three_one"/>
|
||||
<field name="b_year"/>
|
||||
<field name="union_dues"/>
|
||||
<field name="base_salary" required="1"/>
|
||||
<field name="basic_endowment_insurance"/>
|
||||
<field name="basic_medical_insurance"/>
|
||||
<field name="unemployment_insurance"/>
|
||||
<field name="housing_provident_fund"/>
|
||||
<field name="work_injury_insurance"/>
|
||||
<field name="maternity_allowance"/>
|
||||
<field name="position_salary"/>
|
||||
<field name="individual_income_tax"/>
|
||||
<field name="add_income_tax"/>
|
||||
<field name="minus_annuity_difference"/>
|
||||
<field name="add_annuity_difference"/>
|
||||
<field name="minus_att"/>
|
||||
<field name="spring_festival"/>
|
||||
<field name="add_att"/>
|
||||
<field name="last_year_jie"/>
|
||||
<field name="position_subsidy"/>
|
||||
<field name="seniority_allowance"/>
|
||||
<field name="safety_subsidy"/>
|
||||
<field name="comprehensive_subsidy"/>
|
||||
<field name="job_performance"/>
|
||||
<field name="duty"/>
|
||||
<field name="commuting_allowance" required="1"/>
|
||||
<field name="full_attendance_award"/>
|
||||
<field name="overtime_pay"/>
|
||||
<field name="condolence_fund"/>
|
||||
<field name="excellent_employees"/>
|
||||
<field name="salary_state"/>
|
||||
<field name="company_id" optional="hide"/>
|
||||
<field name="is_bold" optional="hide"/>
|
||||
<field name="is_bold"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- 薪资计算 - lc 视图 -->
|
||||
<record id="view_hr_payslip_tree_lc" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree.lc</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
@@ -475,44 +491,45 @@
|
||||
<button name="action_temporary_payslip_wizard" string="导入工资项" type="object" class="oe_highlight"/>
|
||||
<button name="action_refresh_from_work_entries" string="重新计算" type="object" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}" decoration-danger="is_bold" decoration-bf="is_bold"/>
|
||||
<field name="date_of_entry" optional="show"/>
|
||||
<field name="total_before_tax" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="three_one" optional="show"/>
|
||||
<field name="b_year" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show"/>
|
||||
<field name="base_salary" required="1" optional="show"/>
|
||||
<field name="basic_endowment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="basic_medical_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="unemployment_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="housing_provident_fund" decoration-info="1" optional="show"/>
|
||||
<field name="work_injury_insurance" decoration-info="1" optional="show"/>
|
||||
<field name="maternity_allowance" decoration-danger="1" optional="show"/>
|
||||
<field name="individual_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="add_income_tax" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="add_annuity_difference" decoration-danger="1" optional="show"/>
|
||||
<field name="minus_att" decoration-danger="1" optional="show"/>
|
||||
<field name="add_att" decoration-danger="1" optional="show"/>
|
||||
<field name="last_year_jie" decoration-danger="1" optional="show"/>
|
||||
<field name="position_subsidy" optional="show" decoration-success="1"/>
|
||||
<field name="position_salary" decoration-danger="1" optional="show"/>
|
||||
<field name="performance_bonuses" required="1" optional="show"/>
|
||||
<field name="based_pay" required="1" optional="show"/>
|
||||
<field name="environmental_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="quality_allowance" decoration-success="1" optional="show"/>
|
||||
<field name="high_subsidy" decoration-success="1" optional="show"/>
|
||||
<field name="last_duty" decoration-success="1" optional="show"/>
|
||||
<field name="medical_fee" decoration-danger="1" optional="show"/>
|
||||
<field name="retroactive_insurance" decoration-danger="1" optional="show"/>
|
||||
<field name="distribution_part" decoration-danger="1" optional="show"/>
|
||||
<field name="salary_state" optional="show"/>
|
||||
<field name="employee_id" string="姓名" readonly="1" options="{'no_open': True}"/>
|
||||
<field name="date_of_entry"/>
|
||||
<field name="total_before_tax"/>
|
||||
<field name="three_one"/>
|
||||
<field name="b_year"/>
|
||||
<field name="union_dues"/>
|
||||
<field name="base_salary" required="1"/>
|
||||
<field name="basic_endowment_insurance"/>
|
||||
<field name="basic_medical_insurance"/>
|
||||
<field name="unemployment_insurance"/>
|
||||
<field name="housing_provident_fund"/>
|
||||
<field name="work_injury_insurance"/>
|
||||
<field name="maternity_allowance"/>
|
||||
<field name="individual_income_tax"/>
|
||||
<field name="add_income_tax"/>
|
||||
<field name="minus_annuity_difference"/>
|
||||
<field name="add_annuity_difference"/>
|
||||
<field name="minus_att"/>
|
||||
<field name="add_att"/>
|
||||
<field name="last_year_jie"/>
|
||||
<field name="position_subsidy"/>
|
||||
<field name="position_salary"/>
|
||||
<field name="performance_bonuses" required="1"/>
|
||||
<field name="based_pay" required="1"/>
|
||||
<field name="environmental_allowance"/>
|
||||
<field name="quality_allowance"/>
|
||||
<field name="high_subsidy"/>
|
||||
<field name="last_duty"/>
|
||||
<field name="medical_fee"/>
|
||||
<field name="retroactive_insurance"/>
|
||||
<field name="distribution_part"/>
|
||||
<field name="salary_state"/>
|
||||
<field name="company_id" optional="hide"/>
|
||||
<field name="is_bold" optional="hide"/>
|
||||
<field name="is_bold"/>
|
||||
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_payslip_tree2" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
|
||||
@@ -169,8 +169,8 @@
|
||||
parent="hr_attendance_root_board_menu"
|
||||
sequence="15"
|
||||
action="yuthon_hr_attendance.hr_attendance_detail_action"/>
|
||||
<menuitem id="menu_hr_attendance_wife_view_attendances"
|
||||
name="wife名称管理"
|
||||
<menuitem id="menu_hr_attendance_wifi_view_attendances"
|
||||
name="wifi名称管理"
|
||||
parent="hr_attendance_root_board_menu"
|
||||
sequence="15"
|
||||
action="yuthon_hr_attendance.view_wifi_message_action"/>
|
||||
|
||||
Reference in New Issue
Block a user