将生产线模型从设备模块搬移到了制造模块,新增工作日历设置修改休息日字段则工作日历创建新记录
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
/>
|
||||
|
||||
<menuitem id="menu_sf_work_schedule_calendar"
|
||||
name="工作安排日历"
|
||||
name="工作日历"
|
||||
parent="menu_sf_basic_setting"
|
||||
action="sf_work_schedule_calendar_act"
|
||||
sequence="15"
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
</group>
|
||||
<group string="日历状态">
|
||||
<field name="status"/>
|
||||
<field name="setting_to_calendar_ids"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -182,7 +183,7 @@
|
||||
</record>
|
||||
|
||||
<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="arch" type="xml">
|
||||
<search>
|
||||
@@ -194,7 +195,7 @@
|
||||
</record>
|
||||
|
||||
<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="arch" type="xml">
|
||||
<calendar string="工作日历" mode="year" date_start="date_time">
|
||||
@@ -204,7 +205,7 @@
|
||||
</record>
|
||||
|
||||
<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="view_mode">calendar,search,tree,form</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user