!3310 添加功能

Merge pull request !3310 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-06-13 15:29:13 +00:00
committed by Gitee
3 changed files with 29 additions and 9 deletions
+10 -8
View File
@@ -310,18 +310,18 @@ class SoongWorkflowMixin(models.AbstractModel):
break
# 获取当前节点的部门
current_department = self.department_id
if len(current_node.out_link_ids) > 1:
# 筛选与当前节点部门匹配的后续节点
valid_nodes = []
for link in current_node.out_link_ids:
target_node = link.node_to
# 如果目标节点有部门限制,且与当前节点部门匹配
if target_node.department_id and (target_node.department_id == current_department or
current_department in self.get_all_sub_departments(
target_node.department_id)):
if target_node.department_id and any(
dept in current_department or
current_department in self.get_all_sub_departments(dept)
for dept in target_node.department_id
):
valid_nodes.append((target_node, link))
# 尝试父部门匹配
@@ -329,9 +329,11 @@ class SoongWorkflowMixin(models.AbstractModel):
parent_department = current_department.parent_id
for link in current_node.out_link_ids:
target_node = link.node_to
if target_node.department_id and (target_node.department_id == parent_department or
parent_department in self.get_all_sub_departments(
target_node.department_id)):
if target_node.department_id and any(
dept in parent_department or
parent_department in self.get_all_sub_departments(dept)
for dept in target_node.department_id
):
valid_nodes.append((target_node, link))
# 如果两种匹配都失败,将所有节点加入有效列表
@@ -261,6 +261,24 @@ class PropertyAccountsReceivable(models.Model):
penalty = fields.Float(string="违约金")
penalty_date = fields.Date(string="违约金日期")
@api.model_create_multi
def create(self, vals_list):
records = super(PropertyAccountsReceivable, self).create(vals_list)
BankStatement = self.env['property.bank.statements']
for record in records:
if record.lessee_id and record.property_id:
statements = BankStatement.search([
('name_account', '=', record.lessee_id.name),
('bank_state', '=', 'not_reconciled'),
])
for statement in statements:
statement.write({
'property_ids': [(4, record.property_id.id)],
'contract_ids': [(4, record.contract_id.id)],
})
return records
@api.onchange('penalty_date')
def _onchange_penalty_date(self):
for record in self:
@@ -8,7 +8,7 @@ class PropertyReconciliationWizard(models.Model):
_description = '对账弹窗'
receivable_total = fields.Float(string='应收金额')
bank_id = fields.Many2one('property.bank.statements', string='银行流水')
bank_id = fields.Many2one('property.bank.statements', string='银行流水')
account = fields.Char(string='账号')
actual_total = fields.Float(string='实收金额')
actual_date = fields.Date(string='实收日期')