From 37326b710e29bba85e8fec5679f2df864925c127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Thu, 26 Mar 2026 10:47:38 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=85=AC=E5=8F=B8=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_holiday/models/extended_vacation_approval.py | 2 +- yuthon_holiday/views/extended_vacation_approval_views.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/yuthon_holiday/models/extended_vacation_approval.py b/yuthon_holiday/models/extended_vacation_approval.py index 5227677af..d0b0b9d05 100644 --- a/yuthon_holiday/models/extended_vacation_approval.py +++ b/yuthon_holiday/models/extended_vacation_approval.py @@ -13,7 +13,7 @@ class ExtendedVacationApproval(models.Model): code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_extended_code')) users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id) department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门") - company_id = fields.Many2one('res.company', string="公司", related='users_id.company_id', store=True, readonly=True) + company_id = fields.Many2one('res.company', '公司', default=lambda self: self.env.user.company_id) employee_ids = fields.Many2many('hr.employee', string="假期顺延人员") type_vacations_ids = fields.Many2many('extended.type', string="假期类型") is_issues = fields.Boolean(string='是否上会') diff --git a/yuthon_holiday/views/extended_vacation_approval_views.xml b/yuthon_holiday/views/extended_vacation_approval_views.xml index 00fe002ee..6007c4523 100644 --- a/yuthon_holiday/views/extended_vacation_approval_views.xml +++ b/yuthon_holiday/views/extended_vacation_approval_views.xml @@ -47,7 +47,7 @@ - + From 9af909233f9f8542c25a2c944a9f523e4cb60905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Thu, 26 Mar 2026 10:56:22 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=85=AC=E5=8F=B8=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_holiday/views/extended_vacation_approval_views.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/yuthon_holiday/views/extended_vacation_approval_views.xml b/yuthon_holiday/views/extended_vacation_approval_views.xml index 6007c4523..29bb8a6cb 100644 --- a/yuthon_holiday/views/extended_vacation_approval_views.xml +++ b/yuthon_holiday/views/extended_vacation_approval_views.xml @@ -47,6 +47,7 @@ + From 921ed0f7085237453fcfb234a7fccfdb7c57f9cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Thu, 26 Mar 2026 11:32:43 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=93=B6=E8=A1=8C=E6=B5=81=E6=B0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wizard/property_statements_wizard.py | 77 +++++++++---------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/yuthon_property/wizard/property_statements_wizard.py b/yuthon_property/wizard/property_statements_wizard.py index b8b846d18..455c2ac10 100644 --- a/yuthon_property/wizard/property_statements_wizard.py +++ b/yuthon_property/wizard/property_statements_wizard.py @@ -13,7 +13,7 @@ class PropertyStatementsWizard(models.Model): _name = 'property.statements.wizard' _description = '银行流水向导弹窗' - selection_bank = fields.Selection([('js', '建设银行'), ('gs', '工商银行'), ('sh', '农商'), ('ms', '民生'), ('zc', '广州银行(中城)'), ('dj', '农商行(东进)'), ('xy', '工商银行(兴源)')], string="选择银行") + selection_bank = fields.Selection([('js', '建设银行'), ('gs', '工商银行'), ('sh', '农商'), ('ms', '民生'), ('zc', '广州银行(中城)'), ('dj', '农商行(东进)')], string="选择银行") excel_file = fields.Binary(string="上传Excel表") excel_name = fields.Char(string="文件名") @@ -62,8 +62,8 @@ class PropertyStatementsWizard(models.Model): self.property_bank_statements_ms_data(row) elif self.selection_bank == 'gs': self.property_bank_statements_gc_data(row) - elif self.selection_bank == 'xy': - self.property_bank_statements_xy_data(row) + # elif self.selection_bank == 'xy': + # self.property_bank_statements_xy_data(row) count_after = self.env['property.bank.statements'].search_count([]) _logger.info('[银行流水导入] 银行=%s 导入前总条数=%d 导入后总条数=%d 新增=%d', self.selection_bank, count_before, count_after, count_after - count_before) @@ -359,8 +359,7 @@ class PropertyStatementsWizard(models.Model): else: existing_record.write(bank_data) - - def property_bank_statements_xy_data(self, row): + def property_bank_statements_gc_data(self, row): """工商银行(兴源)解析:数据从第2行开始,列结构(共34列): 0:交易时间, 1:对方单位, 2:摘要, 4:转入金额(贷时取), 7:借贷标志, 8:发生额(借时取), 9:对方账号, 16:本方账号, 22:对方行名, 31:顺序号 @@ -431,40 +430,40 @@ class PropertyStatementsWizard(models.Model): else: existing_record.write(bank_data) - def property_bank_statements_gc_data(self, row): - """工商银行(原始格式)解析""" - if row[0].value: - start_time = datetime.strptime(row[0].value, '%Y-%m-%d %H:%M:%S') - else: - start_time = None - name = row[4].value - name_account = row[1].value - remake = row[2].value - original_amount = row[3].value - your_own_account = row[6].value - cleaned_amount = str(original_amount).replace(',', '') - float_amount = float(cleaned_amount) - your_own_unit = self.classify_by_last_four(your_own_account) - company_id = self._get_company_by_unit(your_own_unit) - if not company_id: - return - sequence_number = row[5].value - bank_data = { - 'name': name, - 'your_own_unit': your_own_unit, - 'original_amount': float_amount, - 'company_id': company_id.id, - 'sequence_number': sequence_number, - 'start_time': start_time - timedelta(hours=8) if start_time else False, - 'your_own_account': your_own_account, - 'name_account': name_account, - 'remake': remake, - } - 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_gc_data(self, row): + # """工商银行(原始格式)解析""" + # if row[0].value: + # start_time = datetime.strptime(row[0].value, '%Y-%m-%d %H:%M:%S') + # else: + # start_time = None + # name = row[4].value + # name_account = row[1].value + # remake = row[2].value + # original_amount = row[3].value + # your_own_account = row[6].value + # cleaned_amount = str(original_amount).replace(',', '') + # float_amount = float(cleaned_amount) + # your_own_unit = self.classify_by_last_four(your_own_account) + # company_id = self._get_company_by_unit(your_own_unit) + # if not company_id: + # return + # sequence_number = row[5].value + # bank_data = { + # 'name': name, + # 'your_own_unit': your_own_unit, + # 'original_amount': float_amount, + # 'company_id': company_id.id, + # 'sequence_number': sequence_number, + # 'start_time': start_time - timedelta(hours=8) if start_time else False, + # 'your_own_account': your_own_account, + # 'name_account': name_account, + # 'remake': remake, + # } + # 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 _get_company_by_unit(self, unit_name): """根据账号单位返回对应公司"""