添加功能
This commit is contained in:
@@ -19,11 +19,10 @@ class YuthonRetiredApproval(models.Model):
|
||||
id_number = fields.Char(related='employee_id.identification_id', string="身份证号")
|
||||
job_id = fields.Many2one(related='employee_id.job_id', string="岗位")
|
||||
onboarding_time = fields.Date(related='employee_id.entry_date', string="入职日期")
|
||||
expected_departure_date = fields.Date(string="预计离职日期")
|
||||
expected_departure_date = fields.Date(string="预计退休日期")
|
||||
retirement_type = fields.Selection([('normal', '正常退休'), ('special_job_early', '特殊工种提前退休'), ('sick', '病退')], string='退休类型')
|
||||
social_security_card = fields.Char(string='社保卡')
|
||||
treatment_choice = fields.Selection([('pension_payment', '养老金发放'), ('enterprise_annuity', '企业年金')], string='待遇选择')
|
||||
account = fields.Char(string='账号')
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
handover_line_ids = fields.One2many('yuthon.handover.line', 'retired_id', string="工作交接")
|
||||
return_line_ids = fields.One2many('yuthon.return.line', 'retired_id', string="资产归还")
|
||||
@@ -39,6 +38,10 @@ class YuthonRetiredApproval(models.Model):
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
self_users_ids = fields.Many2many('res.users', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])])
|
||||
|
||||
@api.onchange('employee_id')
|
||||
def _onchange_employee_id(self):
|
||||
if self.employee_id:
|
||||
self.name = f'关于办理{self.employee_id.name}同志退休手续的事宜'
|
||||
|
||||
class YuthonHandoverLine(models.Model):
|
||||
_name = 'yuthon.handover.line'
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="retirement_type"/>
|
||||
<field name="treatment_choice"/>
|
||||
<field name="expected_departure_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -67,8 +66,6 @@
|
||||
<group>
|
||||
<field name="onboarding_time"/>
|
||||
<field name="expected_departure_date"/>
|
||||
<field name="treatment_choice"/>
|
||||
<field name="account" invisible="treatment_choice != 'pension_payment'"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
|
||||
@@ -329,6 +329,16 @@ class MeterArchivesLine(models.Model):
|
||||
i.last_meter = i.meter_date
|
||||
i.current_meter = 0
|
||||
|
||||
@api.constrains('current_read', 'last_read', 'maximum_count')
|
||||
def _check_reading_consistency(self):
|
||||
for record in self:
|
||||
if record.last_read is not None and record.current_read is not None and record.last_read > 0:
|
||||
if record.current_read < record.last_read:
|
||||
if record.last_read - record.current_read >= 10000:
|
||||
raise ValidationError(
|
||||
f"输入错误:当前读数 {record.current_read} 必须大于上次读数 {record.last_read} "
|
||||
)
|
||||
|
||||
@api.onchange("yuthon_property_ids")
|
||||
def onchange_lessee_id(self):
|
||||
for record in self:
|
||||
|
||||
@@ -263,6 +263,16 @@ class MeterWaterLine(models.Model):
|
||||
i.last_meter = i.meter_date
|
||||
i.current_meter = 0
|
||||
|
||||
@api.constrains('current_read', 'last_read', 'maximum_count')
|
||||
def _check_reading_consistency(self):
|
||||
for record in self:
|
||||
if record.last_read is not None and record.current_read is not None and record.last_read > 0:
|
||||
if record.current_read < record.last_read:
|
||||
if record.last_read - record.current_read >= 10000:
|
||||
raise ValidationError(
|
||||
f"输入错误:当前读数 {record.current_read} 必须大于上次读数 {record.last_read} "
|
||||
)
|
||||
|
||||
@api.onchange("yuthon_property_ids")
|
||||
def onchange_lessee_id(self):
|
||||
for record in self:
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<field name="name">property.meter.archives.tree</field>
|
||||
<field name="model">property.meter.archives</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="电表库" decoration-danger="archives_state == 'stop'">
|
||||
<tree string="电表库" decoration-danger="archives_state == 'stop'" limit="15">
|
||||
<header>
|
||||
<button class="oe_highlight" name="batch_reading_push" string="任务生成" type="object"/>
|
||||
<button class="oe_highlight" name="button_archives_state" string="停用" type="object"/>
|
||||
@@ -87,7 +87,7 @@
|
||||
<field name="name">meter.archives.line.tree</field>
|
||||
<field name="model">meter.archives.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="电表任务" create="False" editable="bottom"
|
||||
<tree string="电表任务" create="False" editable="bottom" limit="15"
|
||||
js_class="custom_meter_button" decoration-success="not current_read" default_order="meter_date_month desc">
|
||||
<field name="archives_id" string="电表名"/>
|
||||
<field name="sequence" column_invisible="1"/>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<field name="name">property.meter.water.tree</field>
|
||||
<field name="model">property.meter.water</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="水表库" decoration-danger="water_state == 'stop'">
|
||||
<tree string="水表库" decoration-danger="water_state == 'stop'" limit="15">
|
||||
<header>
|
||||
<button class="oe_highlight" name="batch_reading_water_push" string="任务生成"
|
||||
type="object" />
|
||||
@@ -97,7 +97,7 @@
|
||||
<field name="model">meter.water.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="水表任务" create="0" editable="bottom" js_class="custom_water_button" decoration-success="not current_read"
|
||||
default_order="meter_date_month desc">
|
||||
default_order="meter_date_month desc" limit="15">
|
||||
<field name="sequence" column_invisible="1"/>
|
||||
<field name="meter_date" readonly="1"/>
|
||||
<field name="water_id" string="水表名"/>
|
||||
|
||||
@@ -603,7 +603,7 @@ class InheritHrPayslip(models.Model):
|
||||
"view_mode": "form",
|
||||
"target": "new",
|
||||
"context": {
|
||||
'default_employee_id': self.id.employee_id.id
|
||||
'default_employee_id': self.employee_id.id
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,8 +34,8 @@ class YuthonPayrollLabor(models.Model):
|
||||
provident_fund_company = fields.Float(string='公积金单位部分')
|
||||
disability_insurance = fields.Float(string='残疾保障金')
|
||||
service_fee = fields.Float(string='服务费(含税)')
|
||||
tiantou_payable = fields.Float(string='天投城建应付费用')
|
||||
company_id = fields.Many2one(related='employee_id.company_id', string='公司', index=True, default=lambda self: self.env.company)
|
||||
tiantou_payable = fields.Float(string='应付费用')
|
||||
company_id = fields.Many2one(related='employee_id.company_id', string='公司', store=True)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
<field name="model_id" ref="model_salary_payroll_distribution"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
||||
</record>
|
||||
<record model="ir.rule" id="yuthon_payroll_labor_rule">
|
||||
<field name="name">劳务费多公司</field>
|
||||
<field name="model_id" ref="model_yuthon_payroll_labor"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
||||
</record>
|
||||
<record model="ir.rule" id="yuthon_payroll_common_rule">
|
||||
<field name="name">常用项多公司</field>
|
||||
<field name="model_id" ref="model_yuthon_payroll_common"/>
|
||||
|
||||
Reference in New Issue
Block a user