diff --git a/yuthon_property/models/property_bank_statements.py b/yuthon_property/models/property_bank_statements.py
index 782f501ca..962dcd790 100644
--- a/yuthon_property/models/property_bank_statements.py
+++ b/yuthon_property/models/property_bank_statements.py
@@ -12,6 +12,7 @@ class PropertyBankStatements(models.Model):
_description = '银行流水'
name = fields.Char('对方账号')
+ serial_number = fields.Char('交易流水号')
company_id = fields.Many2one('yuthon.property.company', string="收款账户")
sequence_number = fields.Char('顺序号')
your_own_account = fields.Char('本方账号')
@@ -30,6 +31,8 @@ class PropertyBankStatements(models.Model):
contract_account = fields.Char(string="合同累计应收")
contract_penalty = fields.Char(string="合同累计违约金")
original_amount = fields.Float(string='交易金额')
+ yes_amount = fields.Float(string='已对')
+ no_amount = fields.Float(string='未对')
is_reconciliation = fields.Boolean('是否已对账')
voucher_type = fields.Selection([('electronic_transfer', '电子转账凭证'), ('telegraphic_transfer', '电汇凭证')], string='凭证种类')
remake = fields.Text('备注')
diff --git a/yuthon_property/views/property_bank_statements_views.xml b/yuthon_property/views/property_bank_statements_views.xml
index 031ab6c59..3d45115b6 100644
--- a/yuthon_property/views/property_bank_statements_views.xml
+++ b/yuthon_property/views/property_bank_statements_views.xml
@@ -45,6 +45,7 @@
+
@@ -56,6 +57,8 @@
+
+
diff --git a/yuthon_property/wizard/property_statements_wizard.py b/yuthon_property/wizard/property_statements_wizard.py
index 7d231491e..8b8fe6e5c 100644
--- a/yuthon_property/wizard/property_statements_wizard.py
+++ b/yuthon_property/wizard/property_statements_wizard.py
@@ -46,15 +46,19 @@ class PropertyStatementsWizard(models.Model):
sequence_number = row[5].value
bank_data = {
'name': name,
- 'your_own_unit':your_own_unit,
+ 'your_own_unit': your_own_unit,
'original_amount': float_amount,
'sequence_number': sequence_number,
'start_time': start_time,
'your_own_account': your_own_account,
'name_account': name_account,
- 'remake':remake,
+ 'remake': remake,
}
- self.env['property.bank.statements'].create(bank_data)
+ existing_record = self.env['property.bank.statements'].search(
+ [('sequence_number', '=', sequence_number)], limit=1
+ )
+ if not existing_record:
+ self.env['property.bank.statements'].create(bank_data)
def property_bank_statements_jh_data(self, row):
your_own_account = row[0].value
@@ -66,21 +70,26 @@ class PropertyStatementsWizard(models.Model):
name_account = row[3].value
name = row[4].value
remake = row[5].value
+ serial_number = row[6].value
your_own_unit = self.classify_by_last_four(your_own_account)
bank_data = {
'name': name,
- 'your_own_unit':your_own_unit,
+ 'serial_number': serial_number,
+ 'your_own_unit': your_own_unit,
'original_amount': original_amount,
'start_time': start_time,
'your_own_account': your_own_account,
'name_account': name_account,
- 'remake':remake,
+ 'remake': remake,
}
- if original_amount:
- statements = self.env['property.bank.statements'].create(bank_data)
- # self._handle_contract_penalty(statements)
- else:
- pass
+ if original_amount and serial_number:
+ existing_record = self.env['property.bank.statements'].search(
+ [('serial_number', '=', serial_number)], limit=1
+ )
+ if not existing_record:
+ self.env['property.bank.statements'].create(bank_data)
+ elif original_amount:
+ self.env['property.bank.statements'].create(bank_data)
def _handle_contract_penalty(self, record):
'''