添加功能

This commit is contained in:
李鹏宇
2025-12-03 16:45:45 +08:00
parent dd3e31e3af
commit ef2cb59bd7
2 changed files with 39 additions and 0 deletions
@@ -43,6 +43,7 @@
<field name="exam_leave" options='{ "fg_color": "white: exam_leave == False"}'/>
<button name="log" type="object" string="详情" class="oe_highlight"/>
<button name="button_put" string="发送" type="object" class="oe_highlight"/>
</tree>
</field>
</record>
@@ -47,6 +47,44 @@ class PropertyBankStatements(models.Model):
change_amount = fields.Float(string='修改金额')
receivable_modify_ids = fields.One2many('receivable.modify.line', 'bank_id', string='修改应收单')
def update_record(self):
selected_records = self.env["property.bank.statements"].browse(
self._context.get('active_ids', self._context.get('active_id'))
)
duplicate_groups = {}
for record in selected_records:
time_key = record.start_time.strftime('%Y-%m-%d %H:%M:%S') if record.start_time else 'no_time'
amount_key = round(record.original_amount, 2)
group_key = (time_key, amount_key)
if group_key not in duplicate_groups:
duplicate_groups[group_key] = self.env["property.bank.statements"]
duplicate_groups[group_key] |= record
deleted_count = 0
kept_records = self.env["property.bank.statements"]
for group_key, group_records in duplicate_groups.items():
if len(group_records) == 1:
kept_records |= group_records
continue
reconciled_records = group_records.filtered(lambda r: r.bank_state == 'reconciled')
if reconciled_records:
keep_record = reconciled_records[0]
kept_records |= keep_record
delete_records = group_records - keep_record
else:
keep_record = group_records[0]
kept_records |= keep_record
delete_records = group_records
if delete_records:
delete_records.unlink()
deleted_count += len(delete_records)
@api.onchange('extract')
def _onchange_extract_set_bank_state(self):
for rec in self: