diff --git a/sf_maintenance/__manifest__.py b/sf_maintenance/__manifest__.py index 17b1e541..529c62fc 100644 --- a/sf_maintenance/__manifest__.py +++ b/sf_maintenance/__manifest__.py @@ -12,7 +12,6 @@ 'data': [ 'security/group_security.xml', 'security/ir.model.access.csv', - 'views/production_line_view.xml', 'views/maintenance_views.xml', 'views/maintenance_logs_views.xml', 'views/equipment_maintenance_standards_views.xml', diff --git a/sf_maintenance/models/__init__.py b/sf_maintenance/models/__init__.py index 98f9d12c..0e06b132 100644 --- a/sf_maintenance/models/__init__.py +++ b/sf_maintenance/models/__init__.py @@ -3,4 +3,3 @@ from . import sf_maintenance from . import sf_maintenance_logs from . import sf_equipment_maintenance_standards from . import sf_maintenance_requests -from . import production_line_base diff --git a/sf_maintenance/security/ir.model.access.csv b/sf_maintenance/security/ir.model.access.csv index 809ed5b6..52c0ab72 100644 --- a/sf_maintenance/security/ir.model.access.csv +++ b/sf_maintenance/security/ir.model.access.csv @@ -4,6 +4,6 @@ access_sf_maintenance_logs,sf_maintenance_logs,model_sf_maintenance_logs,base.gr access_maintenance_equipment,maintenance_equipment,model_maintenance_equipment,base.group_user,1,1,1,1 access_maintenance_standards,maintenance_standards,model_maintenance_standards,base.group_user,1,1,1,1 -access_sf_production_line,sf.production.line,model_sf_production_line,base.group_user,1,1,1,1 + diff --git a/sf_manufacturing/__manifest__.py b/sf_manufacturing/__manifest__.py index 5e61bb27..adde17a8 100644 --- a/sf_manufacturing/__manifest__.py +++ b/sf_manufacturing/__manifest__.py @@ -20,6 +20,7 @@ 'views/mrp_routing_workcenter_view.xml', 'views/mrp_workcenter_views.xml', 'views/mrp_workorder_view.xml', + 'views/production_line_view.xml', 'views/tray_view.xml', 'views/model_type_view.xml', diff --git a/sf_manufacturing/models/__init__.py b/sf_manufacturing/models/__init__.py index 055eece0..2d7d2f1e 100644 --- a/sf_manufacturing/models/__init__.py +++ b/sf_manufacturing/models/__init__.py @@ -8,6 +8,7 @@ from . import mrp_maintenance from . import mrp_routing_workcenter from . import stock from . import res_user +from . import production_line_base diff --git a/sf_maintenance/models/production_line_base.py b/sf_manufacturing/models/production_line_base.py similarity index 100% rename from sf_maintenance/models/production_line_base.py rename to sf_manufacturing/models/production_line_base.py diff --git a/sf_manufacturing/security/ir.model.access.csv b/sf_manufacturing/security/ir.model.access.csv index bc24436c..e0a78bb6 100644 --- a/sf_manufacturing/security/ir.model.access.csv +++ b/sf_manufacturing/security/ir.model.access.csv @@ -5,7 +5,7 @@ access_sf_product_model_type_routing_sort,sf_product_model_type_routing_sort,mod access_sf_embryo_model_type_routing_sort,sf_embryo_model_type_routing_sort,model_sf_embryo_model_type_routing_sort,base.group_user,1,1,1,1 access_sf_surface_technics_model_type_routing_sort,sf_surface_technics_model_type_routing_sort,model_sf_surface_technics_model_type_routing_sort,base.group_user,1,1,1,1 - +access_sf_production_line,sf.production.line,model_sf_production_line,base.group_user,1,1,1,1 diff --git a/sf_maintenance/views/production_line_view.xml b/sf_manufacturing/views/production_line_view.xml similarity index 100% rename from sf_maintenance/views/production_line_view.xml rename to sf_manufacturing/views/production_line_view.xml diff --git a/sf_plan_management/__manifest__.py b/sf_plan_management/__manifest__.py index fa2c7ffb..d4ec406b 100644 --- a/sf_plan_management/__manifest__.py +++ b/sf_plan_management/__manifest__.py @@ -10,7 +10,7 @@ """, 'category': 'sf', 'website': 'https://www.sf.jikimo.com', - 'depends': ['sf_maintenance'], + 'depends': ['sf_manufacturing'], 'data': [ 'security/ir.model.access.csv', # 'security/ir.model.access.csv', diff --git a/sf_plan_management/models/calendar_base.py b/sf_plan_management/models/calendar_base.py index 3cd41a1e..6176bde3 100644 --- a/sf_plan_management/models/calendar_base.py +++ b/sf_plan_management/models/calendar_base.py @@ -55,6 +55,13 @@ class WorkLogSetting(models.Model): update_person = fields.Char(string='更新人', default=lambda self: self.env.user.name) update_time = fields.Datetime(string='更新时间', default=lambda self: fields.Datetime.now()) + setting_to_calendar_ids = fields.One2many('sf.work.schedule.calendar', 'name_id', '工作日历') + + # @api.model + # def create(self, vals): + # vals['setting_to_calendar_ids'] = [(4, child.id)] + # return super(WorkLogSetting, self).create(vals) + @api.depends('start_time_H', 'start_time_M') def _compute_start_time(self): """ @@ -93,8 +100,7 @@ class WorkLogSetting(models.Model): @api.onchange('day_off_id') def _onchange_day_off_id(self): # 先删除之前创建的工作日历事件记录 - self.env['sf.work.schedule.calendar'].search([ - ('calendar_code', '=', self.code), ('name_id', '=', self.name)]).unlink() + # self.env['sf.work.schedule.calendar'].search([('calendar_code', '=', self.code)]).unlink() # 获取当年的一月一号的日期 year = fields.Datetime.now().year # 2023 @@ -124,15 +130,19 @@ class WorkLogSetting(models.Model): ints += 1 # 创建工作日历的休息日事件 - # day_off_ids = self.day_off_id.mapped('name') - # for week in day_off_ids: - # num = desc[week] - # while num <= 30: - # target_date = first_day + timedelta(days=num) - # self.env['sf.work.schedule.calendar'].create({'name': '休息日', - # 'name_id': self.name.id, - # 'date_time': target_date}) - # num += 7 + day_off_ids = self.day_off_id.mapped('name') + record = self.env['sf.work.log.setting'].search([('code', '=', self.code)]) + # record.setting_to_calendar_ids.unlink() + # self.env.cr.commit() + for week in day_off_ids: + num = desc[week] + while num <= 30: + target_date = first_day + timedelta(days=num) + num += 7 + self.env['sf.work.schedule.calendar'].create({'name': '休息日', + 'name_id': record.id, + 'calendar_code': self.code, + 'date_time': target_date}) class WorkingShift(models.Model): @@ -182,9 +192,9 @@ class WorkScheduleCalendar(models.Model): name = fields.Selection([('休息日', '休息日'), ('计划停机', '计划停机')], '日历事件名称') date_time = fields.Date('休息时间') - name_id = fields.Many2one('sf.work.log.setting', '工作日历名称') calendar_code = fields.Char('工作日历编码') + day_off_id = fields.Many2many('sf.day.off', string='休息日') scheduled_outage = fields.Char('计划停机') monthly_rest_days = fields.Char('月休息天数', readonly=True) @@ -192,10 +202,5 @@ class WorkScheduleCalendar(models.Model): monthly_planned_downtime = fields.Char('月计划停机时长', readonly=True) annual_planned_downtime = fields.Char('年计划停机时长', readonly=True) - @api.onchange('name_id') - def _onchange_name_id(self): - for record in self: - record.calendar_code = record.name_id.code - diff --git a/sf_plan_management/views/menu_view.xml b/sf_plan_management/views/menu_view.xml index 926b7ea7..793f381d 100644 --- a/sf_plan_management/views/menu_view.xml +++ b/sf_plan_management/views/menu_view.xml @@ -41,7 +41,7 @@ /> + @@ -182,7 +183,7 @@ - 工作安排日历 + 工作日历 sf.work.schedule.calendar @@ -194,7 +195,7 @@ - 工作安排日历 + 工作日历 sf.work.schedule.calendar @@ -204,7 +205,7 @@ - 工作安排日历 + 工作日历 sf.work.schedule.calendar calendar,search,tree,form