diff --git a/room/security/ir_rule.xml b/room/security/ir_rule.xml index c20ade81a..7b2e0524c 100644 --- a/room/security/ir_rule.xml +++ b/room/security/ir_rule.xml @@ -11,6 +11,11 @@ [('company_id', 'in', company_ids)] + + 预定会议多公司 + + [('company_id', 'in', company_ids)] + diff --git a/soong_workflow/wizard/soong_workflow_record_revoke_wizard.py b/soong_workflow/wizard/soong_workflow_record_revoke_wizard.py index f9b09b9bf..793e4435c 100644 --- a/soong_workflow/wizard/soong_workflow_record_revoke_wizard.py +++ b/soong_workflow/wizard/soong_workflow_record_revoke_wizard.py @@ -43,7 +43,11 @@ class SoongWorkflowRecordRevokeWizard(models.TransientModel): ]) meal_line.unlink() - record_to_update.write({'log_ids': [(5, 0, 0)]}) record_to_update.state = '申请人' - self.record_id.approve_state = 'start' \ No newline at end of file + self.record_id.write({ + 'approve_state': 'start', + 'soong_state': 'to_do', + 'employee_ids': [(6, 0, [self.record_id.create_uid.employee_ids.id])], + 'users_ids': [(6, 0, [self.record_id.create_uid.id])] + }) \ No newline at end of file diff --git a/yuthon_hr_attendance/controllers/applet_attendance.py b/yuthon_hr_attendance/controllers/applet_attendance.py index 2056e7b68..a21eee297 100644 --- a/yuthon_hr_attendance/controllers/applet_attendance.py +++ b/yuthon_hr_attendance/controllers/applet_attendance.py @@ -889,15 +889,15 @@ class AppletAttendance(Controller): last_day_str = last_day.strftime('%Y-%m-%d') two_months_ago = datetime.now().date() - relativedelta(months=2) # 去掉 数据为 0 的数据. - valid_archives_ids = request.env(user=SUPERUSER_ID)['property.meter.archives'].search([ + valid_archives = request.env(user=SUPERUSER_ID)['property.meter.archives'].search([ ('is_virtual_meter', '!=', True), '|', ('end_time', '=', False), ('end_time', '<=', two_months_ago) - ]).ids + ]) electric_records = request.env(user=SUPERUSER_ID)['meter.archives.line'].search([ ('archives_state', '!=', 'stop'), - ('archives_id', 'in', valid_archives_ids), + ('archives_id', 'in', valid_archives.ids), ('meter_date', '>=', first_day_str), ('meter_date', '<=', last_day_str), ]) @@ -1071,14 +1071,21 @@ class AppletAttendance(Controller): # ('meter_date', '>=', first_day_str), # ('meter_date', '<=', last_day_str)] - # 去掉 state - domain = [('epitope_values_id.name', '=', floor_name), - ('meter_date', '>=', first_day_str), - ('meter_date', '<=', last_day_str)] - + domain = [ + ('epitope_values_id.name', '=', floor_name), + ('meter_date', '>=', first_day_str), + ('meter_date', '<=', last_day_str) + ] + two_months_ago = datetime.now().date() - relativedelta(months=2) if type == 'electric': domain.append(('archives_state', '!=', 'stop')) model = 'meter.archives.line' + domain.extend([ + ('archives_id.is_virtual_meter', '!=', True), + '|', + ('archives_id.end_time', '=', False), + ('archives_id.end_time', '<=', two_months_ago) + ]) else: domain.append(('water_state', '!=', 'stop')) model = 'meter.water.line' diff --git a/yuthon_hr_employee/models/yuthon_hr_employee.py b/yuthon_hr_employee/models/yuthon_hr_employee.py index c7d1b7bfe..9fc7fd241 100644 --- a/yuthon_hr_employee/models/yuthon_hr_employee.py +++ b/yuthon_hr_employee/models/yuthon_hr_employee.py @@ -286,6 +286,28 @@ class YuthonHrEmployee(models.Model): else: record.date_end = None + def renew(self): + employee_ids = self.env["hr.employee"].browse( + self._context.get("active_ids", self._context.get("active_id")) + ) + for record in employee_ids: + if len(record) > 1: + raise UserError("只能选择一个员工续签") + return { + "name": "续签", + "type": "ir.actions.act_window", + "res_model": "yuthon.renewal.approval", + "view_mode": "form", + "context": { + "default_employee_id": self.id, + "default_current_status": self.contract_id.date_end, + "default_department1_id": self.department_id.id, + "default_contract_id": self.contract_id.id, + }, + } + + + def update_social_base(self): current_year = fields.Date.today().year group_company = self.env['res.company'].search([('name', '=', '集团本部')], limit=1) diff --git a/yuthon_hr_employee_approval/models/yuthon_employee_setting.py b/yuthon_hr_employee_approval/models/yuthon_employee_setting.py index 591a681c8..889c36df6 100644 --- a/yuthon_hr_employee_approval/models/yuthon_employee_setting.py +++ b/yuthon_hr_employee_approval/models/yuthon_employee_setting.py @@ -6,4 +6,4 @@ class YuthonServiceType(models.Model): _name = 'yuthon.service.type' _description = '服务类型' - name = fields.Char(string="名称") + name = fields.Char(string="名称") \ No newline at end of file diff --git a/yuthon_hr_employee_approval/models/yuthon_service_approval.py b/yuthon_hr_employee_approval/models/yuthon_service_approval.py index 533213769..98427753e 100644 --- a/yuthon_hr_employee_approval/models/yuthon_service_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_service_approval.py @@ -11,7 +11,7 @@ class YuthonServiceApproval(models.Model): code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_service_approval_code')) service_type_id = fields.Many2one('yuthon.service.type', string="服务类型") - users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.snv.user.id) + users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user) documents_ids = fields.Many2many('ir.attachment', string="附件") department_id = fields.Many2one(related='users_id.employee_ids.department_id', string="部门", store=True) employee_id = fields.Many2one('hr.employee', string="员工姓名", default=lambda self: self.env.user.employee_id.id) diff --git a/yuthon_hr_employee_approval/views/inherit_hr_employee_views.xml b/yuthon_hr_employee_approval/views/inherit_hr_employee_views.xml index 87cc4bbac..0a79d2fbb 100644 --- a/yuthon_hr_employee_approval/views/inherit_hr_employee_views.xml +++ b/yuthon_hr_employee_approval/views/inherit_hr_employee_views.xml @@ -10,6 +10,7 @@