将生产线模型从设备模块搬移到了制造模块,新增工作日历设置修改休息日字段则工作日历创建新记录

This commit is contained in:
yuxianghui
2023-07-13 16:05:38 +08:00
parent 571e32925e
commit 81842dc5ec
12 changed files with 32 additions and 26 deletions

View File

@@ -12,7 +12,6 @@
'data': [ 'data': [
'security/group_security.xml', 'security/group_security.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'views/production_line_view.xml',
'views/maintenance_views.xml', 'views/maintenance_views.xml',
'views/maintenance_logs_views.xml', 'views/maintenance_logs_views.xml',
'views/equipment_maintenance_standards_views.xml', 'views/equipment_maintenance_standards_views.xml',

View File

@@ -3,4 +3,3 @@ from . import sf_maintenance
from . import sf_maintenance_logs from . import sf_maintenance_logs
from . import sf_equipment_maintenance_standards from . import sf_equipment_maintenance_standards
from . import sf_maintenance_requests from . import sf_maintenance_requests
from . import production_line_base

View File

@@ -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_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_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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
4 access_maintenance_equipment maintenance_equipment model_maintenance_equipment base.group_user 1 1 1 1
5 access_maintenance_standards maintenance_standards model_maintenance_standards base.group_user 1 1 1 1
6
7
8
9

View File

@@ -20,6 +20,7 @@
'views/mrp_routing_workcenter_view.xml', 'views/mrp_routing_workcenter_view.xml',
'views/mrp_workcenter_views.xml', 'views/mrp_workcenter_views.xml',
'views/mrp_workorder_view.xml', 'views/mrp_workorder_view.xml',
'views/production_line_view.xml',
'views/tray_view.xml', 'views/tray_view.xml',
'views/model_type_view.xml', 'views/model_type_view.xml',

View File

@@ -8,6 +8,7 @@ from . import mrp_maintenance
from . import mrp_routing_workcenter from . import mrp_routing_workcenter
from . import stock from . import stock
from . import res_user from . import res_user
from . import production_line_base

View File

@@ -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_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_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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
5 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
6 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
7 access_sf_production_line sf.production.line model_sf_production_line base.group_user 1 1 1 1
8
9
10
11

View File

@@ -10,7 +10,7 @@
""", """,
'category': 'sf', 'category': 'sf',
'website': 'https://www.sf.jikimo.com', 'website': 'https://www.sf.jikimo.com',
'depends': ['sf_maintenance'], 'depends': ['sf_manufacturing'],
'data': [ 'data': [
'security/ir.model.access.csv', 'security/ir.model.access.csv',
# 'security/ir.model.access.csv', # 'security/ir.model.access.csv',

View File

@@ -55,6 +55,13 @@ class WorkLogSetting(models.Model):
update_person = fields.Char(string='更新人', default=lambda self: self.env.user.name) update_person = fields.Char(string='更新人', default=lambda self: self.env.user.name)
update_time = fields.Datetime(string='更新时间', default=lambda self: fields.Datetime.now()) 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') @api.depends('start_time_H', 'start_time_M')
def _compute_start_time(self): def _compute_start_time(self):
""" """
@@ -93,8 +100,7 @@ class WorkLogSetting(models.Model):
@api.onchange('day_off_id') @api.onchange('day_off_id')
def _onchange_day_off_id(self): def _onchange_day_off_id(self):
# 先删除之前创建的工作日历事件记录 # 先删除之前创建的工作日历事件记录
self.env['sf.work.schedule.calendar'].search([ # self.env['sf.work.schedule.calendar'].search([('calendar_code', '=', self.code)]).unlink()
('calendar_code', '=', self.code), ('name_id', '=', self.name)]).unlink()
# 获取当年的一月一号的日期 # 获取当年的一月一号的日期
year = fields.Datetime.now().year # 2023 year = fields.Datetime.now().year # 2023
@@ -124,15 +130,19 @@ class WorkLogSetting(models.Model):
ints += 1 ints += 1
# 创建工作日历的休息日事件 # 创建工作日历的休息日事件
# day_off_ids = self.day_off_id.mapped('name') day_off_ids = self.day_off_id.mapped('name')
# for week in day_off_ids: record = self.env['sf.work.log.setting'].search([('code', '=', self.code)])
# num = desc[week] # record.setting_to_calendar_ids.unlink()
# while num <= 30: # self.env.cr.commit()
# target_date = first_day + timedelta(days=num) for week in day_off_ids:
# self.env['sf.work.schedule.calendar'].create({'name': '休息日', num = desc[week]
# 'name_id': self.name.id, while num <= 30:
# 'date_time': target_date}) target_date = first_day + timedelta(days=num)
# num += 7 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): class WorkingShift(models.Model):
@@ -182,9 +192,9 @@ class WorkScheduleCalendar(models.Model):
name = fields.Selection([('休息日', '休息日'), ('计划停机', '计划停机')], '日历事件名称') name = fields.Selection([('休息日', '休息日'), ('计划停机', '计划停机')], '日历事件名称')
date_time = fields.Date('休息时间') date_time = fields.Date('休息时间')
name_id = fields.Many2one('sf.work.log.setting', '工作日历名称') name_id = fields.Many2one('sf.work.log.setting', '工作日历名称')
calendar_code = fields.Char('工作日历编码') calendar_code = fields.Char('工作日历编码')
day_off_id = fields.Many2many('sf.day.off', string='休息日') day_off_id = fields.Many2many('sf.day.off', string='休息日')
scheduled_outage = fields.Char('计划停机') scheduled_outage = fields.Char('计划停机')
monthly_rest_days = fields.Char('月休息天数', readonly=True) monthly_rest_days = fields.Char('月休息天数', readonly=True)
@@ -192,10 +202,5 @@ class WorkScheduleCalendar(models.Model):
monthly_planned_downtime = fields.Char('月计划停机时长', readonly=True) monthly_planned_downtime = fields.Char('月计划停机时长', readonly=True)
annual_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

View File

@@ -41,7 +41,7 @@
/> />
<menuitem id="menu_sf_work_schedule_calendar" <menuitem id="menu_sf_work_schedule_calendar"
name="工作安排日历" name="工作日历"
parent="menu_sf_basic_setting" parent="menu_sf_basic_setting"
action="sf_work_schedule_calendar_act" action="sf_work_schedule_calendar_act"
sequence="15" sequence="15"

View File

@@ -66,6 +66,7 @@
</group> </group>
<group string="日历状态"> <group string="日历状态">
<field name="status"/> <field name="status"/>
<field name="setting_to_calendar_ids"/>
</group> </group>
</sheet> </sheet>
</form> </form>
@@ -182,7 +183,7 @@
</record> </record>
<record id="sf_work_schedule_calendar_search" model="ir.ui.view"> <record id="sf_work_schedule_calendar_search" model="ir.ui.view">
<field name="name">工作安排日历</field> <field name="name">工作日历</field>
<field name="model">sf.work.schedule.calendar</field> <field name="model">sf.work.schedule.calendar</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<search> <search>
@@ -194,7 +195,7 @@
</record> </record>
<record id="sf_work_schedule_calendar_calendar" model="ir.ui.view"> <record id="sf_work_schedule_calendar_calendar" model="ir.ui.view">
<field name="name">工作安排日历</field> <field name="name">工作日历</field>
<field name="model">sf.work.schedule.calendar</field> <field name="model">sf.work.schedule.calendar</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<calendar string="工作日历" mode="year" date_start="date_time"> <calendar string="工作日历" mode="year" date_start="date_time">
@@ -204,7 +205,7 @@
</record> </record>
<record id="sf_work_schedule_calendar_act" model="ir.actions.act_window"> <record id="sf_work_schedule_calendar_act" model="ir.actions.act_window">
<field name="name">工作安排日历</field> <field name="name">工作日历</field>
<field name="res_model">sf.work.schedule.calendar</field> <field name="res_model">sf.work.schedule.calendar</field>
<field name="view_mode">calendar,search,tree,form</field> <field name="view_mode">calendar,search,tree,form</field>
</record> </record>