添加功能
This commit is contained in:
@@ -371,6 +371,9 @@ class HrContract(models.Model):
|
||||
# 更新员工合同字段
|
||||
for contract in contracts:
|
||||
if contract.employee_id:
|
||||
contract.employee_id.write({"contract_id": contract.id})
|
||||
contract.employee_id.write({"contract_id": contract.id,
|
||||
'is_accum_salary': True,
|
||||
'is_membership': True,
|
||||
})
|
||||
|
||||
return contracts
|
||||
|
||||
@@ -287,6 +287,7 @@ class YuthonHrEmployee(models.Model):
|
||||
total_full_part = sum(full_lines.mapped('amount')) if full_lines else 0
|
||||
final_total = total_eighty_part + total_full_part + 200
|
||||
employee.write({
|
||||
'last_year_salary': final_total,
|
||||
'social_base_on': final_total,
|
||||
'social_base_off': final_total
|
||||
})
|
||||
|
||||
@@ -68,8 +68,8 @@
|
||||
<field name="employment_form"/>
|
||||
<label for="duration_employment"/>
|
||||
<div>
|
||||
<field name="duration_employment" class="oe_inline"/>至
|
||||
<field name="duration_employment_end" class="oe_inline"/>
|
||||
<field name="duration_employment" class="me-2" style="max-width: 10rem !important;"/>至
|
||||
<field name="duration_employment_end" class="ms-2" style="max-width: 10rem !important;"/>
|
||||
</div>
|
||||
<field name="is_annual_salary"/>
|
||||
</group>
|
||||
@@ -108,19 +108,19 @@
|
||||
<group>
|
||||
<field name="oter"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="个人信息详情">
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="details_personal_information_form_id"/>
|
||||
<field name="details_recruitment_needs_form_id"/>
|
||||
<field name="details_interview_form_id"/>
|
||||
</group>
|
||||
<group>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<!-- <notebook>-->
|
||||
<!-- <page string="个人信息详情">-->
|
||||
<!-- <group col="2">-->
|
||||
<!-- <group>-->
|
||||
<!-- <field name="details_personal_information_form_id"/>-->
|
||||
<!-- <field name="details_recruitment_needs_form_id"/>-->
|
||||
<!-- <field name="details_interview_form_id"/>-->
|
||||
<!-- </group>-->
|
||||
<!-- <group>-->
|
||||
<!-- </group>-->
|
||||
<!-- </group>-->
|
||||
<!-- </page>-->
|
||||
<!-- </notebook>-->
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -61,41 +61,41 @@ class PropertyBankStatements(models.Model):
|
||||
def revocation(self):
|
||||
self.ensure_one()
|
||||
current_rec = self[0]
|
||||
domain = [
|
||||
('your_own_unit', '=', current_rec.your_own_unit),
|
||||
('bank_state', '=', 'reconciled'),
|
||||
('name', '=', current_rec.name)
|
||||
]
|
||||
same_group_records = self.env[self._name].search(domain)
|
||||
if same_group_records:
|
||||
# 按start_time倒序排序,找到最近的记录
|
||||
sorted_records = sorted(
|
||||
same_group_records,
|
||||
key=lambda r: r.start_time or '',
|
||||
reverse=True
|
||||
)
|
||||
latest_record = sorted_records[0]
|
||||
|
||||
# 检查当前记录是否是最近的一条
|
||||
if current_rec.id != latest_record.id:
|
||||
raise UserError(
|
||||
f"只能从最近的记录开始撤销!\n"
|
||||
f"当前记录时间: {current_rec.start_time + timedelta(hours=8)}\n"
|
||||
f"最近记录时间: {latest_record.start_time + timedelta(hours=8)}"
|
||||
if current_rec.bank_state == 'reconciled':
|
||||
domain = [
|
||||
('your_own_unit', '=', current_rec.your_own_unit),
|
||||
('bank_state', '=', 'reconciled'),
|
||||
('name', '=', current_rec.name)
|
||||
]
|
||||
same_group_records = self.env[self._name].search(domain)
|
||||
if same_group_records:
|
||||
# 按start_time倒序排序,找到最近的记录
|
||||
sorted_records = sorted(
|
||||
same_group_records,
|
||||
key=lambda r: r.start_time or '',
|
||||
reverse=True
|
||||
)
|
||||
for modify in self.receivable_modify_ids:
|
||||
if modify.is_write:
|
||||
new_delivered = modify.receivable_id.delivered1 - modify.amount
|
||||
modify.receivable_id.delivered1 = max(new_delivered, 0)
|
||||
modify.receivable_id.is_reconciliation = False
|
||||
modify.receivable_id.reconciliation_time = False
|
||||
modify.receivable_id.payout_date = False
|
||||
if not modify.is_penalty:
|
||||
modify.receivable_id.remark = None
|
||||
else:
|
||||
modify.receivable_id.unlink()
|
||||
if self.receivable_modify_ids:
|
||||
self.receivable_modify_ids.unlink()
|
||||
latest_record = sorted_records[0]
|
||||
# 检查当前记录是否是最近的一条
|
||||
if current_rec.id != latest_record.id:
|
||||
raise UserError(
|
||||
f"只能从最近的记录开始撤销!\n"
|
||||
f"当前记录时间: {current_rec.start_time + timedelta(hours=8)}\n"
|
||||
f"最近记录时间: {latest_record.start_time + timedelta(hours=8)}"
|
||||
)
|
||||
for modify in self.receivable_modify_ids:
|
||||
if modify.is_write:
|
||||
new_delivered = modify.receivable_id.delivered1 - modify.amount
|
||||
modify.receivable_id.delivered1 = max(new_delivered, 0)
|
||||
modify.receivable_id.is_reconciliation = False
|
||||
modify.receivable_id.reconciliation_time = False
|
||||
modify.receivable_id.payout_date = False
|
||||
if not modify.is_penalty:
|
||||
modify.receivable_id.remark = None
|
||||
else:
|
||||
modify.receivable_id.unlink()
|
||||
if self.receivable_modify_ids:
|
||||
self.receivable_modify_ids.unlink()
|
||||
self.bank_state = 'not_reconciled'
|
||||
self.registered = 0
|
||||
self.no_amount = self.original_amount
|
||||
|
||||
Reference in New Issue
Block a user