@@ -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='实收日期')
|
||||
|
||||
Reference in New Issue
Block a user