添加功能
This commit is contained in:
@@ -18,13 +18,6 @@
|
||||
|
||||
'views/yuthon_duty_arrangement_views.xml',
|
||||
'views/yuthon_duty_summary_views.xml',
|
||||
'views/yuthon_duty_setting_views.xml',
|
||||
'views/yuthon_duty_plan_views.xml',
|
||||
|
||||
'views/yuthon_abnormal_approval_views.xml',
|
||||
'views/yuthon_abnormal_setting_views.xml',
|
||||
'views/yuthon_adjustments_approval_views.xml',
|
||||
'views/yuthon_shift_approval_views.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'application': True,
|
||||
|
||||
@@ -1,8 +1,2 @@
|
||||
from . import yuthon_duty_arrangement
|
||||
from . import yuthon_duty_plan
|
||||
from . import yuthon_duty_setting
|
||||
from . import yuthon_duty_summary
|
||||
from . import yuthon_adjustments_approval
|
||||
from . import yuthon_abnormal_approval
|
||||
from . import yuthon_abnormal_setting
|
||||
from . import yuthon_shift_approval
|
||||
|
||||
@@ -1,11 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_yuthon_duty_arrangement,yuthon.duty.arrangement,model_yuthon_duty_arrangement,base.group_user,1,1,1,1
|
||||
access_yuthon_duty_plan,yuthon.duty.plan,model_yuthon_duty_plan,base.group_user,1,1,1,1
|
||||
access_duty_plan_line,duty.plan.line,model_duty_plan_line,base.group_user,1,1,1,1
|
||||
access_yuthon_duty_class_setting,yuthon.duty.class.setting,model_yuthon_duty_class_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_duty_summary,yuthon.duty.summary,model_yuthon_duty_summary,base.group_user,1,1,1,1
|
||||
|
||||
access_yuthon_adjustments_approval,yuthon.adjustments.approval,model_yuthon_adjustments_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_abnormal_approval,yuthon.abnormal.approval,model_yuthon_abnormal_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_abnormal_setting,yuthon.abnormal.setting,model_yuthon_abnormal_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_shift_approval,yuthon.shift.approval,model_yuthon_shift_approval,base.group_user,1,1,1,
|
||||
|
@@ -36,6 +36,12 @@
|
||||
'views/card_approval.xml',
|
||||
'views/attendance_scheme.xml',
|
||||
'views/duty_approval.xml',
|
||||
'views/yuthon_duty_setting_views.xml',
|
||||
'views/yuthon_duty_plan_views.xml',
|
||||
'views/yuthon_abnormal_approval_views.xml',
|
||||
'views/yuthon_abnormal_setting_views.xml',
|
||||
'views/yuthon_adjustments_approval_views.xml',
|
||||
'views/yuthon_shift_approval_views.xml',
|
||||
'views/all_attendance_menu.xml',
|
||||
|
||||
],
|
||||
|
||||
@@ -15,6 +15,13 @@ from . import yuthon_shift_planning
|
||||
from . import yuthon_run_planning
|
||||
from . import duty_approval
|
||||
from . import yuthon_customer_approval
|
||||
from . import yuthon_duty_plan
|
||||
from . import yuthon_duty_setting
|
||||
from . import yuthon_adjustments_approval
|
||||
from . import yuthon_abnormal_approval
|
||||
from . import yuthon_abnormal_setting
|
||||
from . import yuthon_shift_approval
|
||||
|
||||
|
||||
|
||||
# from odoo.tools import SQL
|
||||
|
||||
+10
@@ -17,6 +17,7 @@ class YuthonDutyPlan(models.Model):
|
||||
def auto_duty_plan(self):
|
||||
role_a = self.env['planning.role'].search([('name', '=', '联安粮库')], limit=1)
|
||||
role_template_a = self.env['planning.slot.template'].search([('planning_name', '=', '白班'), ('role_id', '=', role_a.id)])
|
||||
role_template_b = self.env['planning.slot.template'].search([('planning_name', '=', '值班'), ('role_id', '=', role_a.id)])
|
||||
today = datetime.today().date()
|
||||
first_day_of_month = today.replace(day=1)
|
||||
if today.month < 12:
|
||||
@@ -30,6 +31,15 @@ class YuthonDutyPlan(models.Model):
|
||||
while current_date <= last_day_of_month:
|
||||
self.create_planning_slot(employee, role_a, role_template_a, current_date)
|
||||
current_date += timedelta(days=1)
|
||||
|
||||
current_date = first_day_of_month
|
||||
for line in self.plan_line_ids.sorted('sequence'):
|
||||
for employee in line.employee_ids:
|
||||
|
||||
self.create_planning_slot(employee, role_a, role_template_b, current_date)
|
||||
current_date += timedelta(days=1)
|
||||
|
||||
|
||||
return {
|
||||
'type': 'ir.actions.client',
|
||||
'tag': 'display_notification',
|
||||
@@ -22,4 +22,12 @@ access_yuthon_all_run_line,all.run.line,model_yuthon_all_run_line,base.group_use
|
||||
access_yuthon_other_line,yuthon.other.line,model_yuthon_other_line,base.group_user,1,1,1,1
|
||||
access_yuthon_shift_ever_white_line,shift.ever.white.line,model_yuthon_shift_ever_white_line,base.group_user,1,1,1,1
|
||||
access_yuthon_shift_ever_noon_line,shift.ever.noon.line,model_yuthon_shift_ever_noon_line,base.group_user,1,1,1,1
|
||||
access_yuthon_customer_approval,yuthon.customer.approval,model_yuthon_customer_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_customer_approval,yuthon.customer.approval,model_yuthon_customer_approval,base.group_user,1,1,1,1
|
||||
|
||||
access_yuthon_duty_plan,yuthon.duty.plan,model_yuthon_duty_plan,base.group_user,1,1,1,1
|
||||
access_duty_plan_line,duty.plan.line,model_duty_plan_line,base.group_user,1,1,1,1
|
||||
access_yuthon_duty_class_setting,yuthon.duty.class.setting,model_yuthon_duty_class_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_adjustments_approval,yuthon.adjustments.approval,model_yuthon_adjustments_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_abnormal_approval,yuthon.abnormal.approval,model_yuthon_abnormal_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_abnormal_setting,yuthon.abnormal.setting,model_yuthon_abnormal_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_shift_approval,yuthon.shift.approval,model_yuthon_shift_approval,base.group_user,1,1,1,
|
||||
|
+3
-3
@@ -4,7 +4,7 @@
|
||||
<field name="name">yuthon.duty.plan.tree</field>
|
||||
<field name="model">yuthon.duty.plan</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="值班计划">
|
||||
<tree string="排班安排">
|
||||
<field name="name"/>
|
||||
<field name="start_index_time"/>
|
||||
<field name="end_index_time"/>
|
||||
@@ -16,7 +16,7 @@
|
||||
<field name="name">yuthon.duty.plan.form</field>
|
||||
<field name="model">yuthon.duty.plan</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="值班计划">
|
||||
<form string="排班安排">
|
||||
<header>
|
||||
<button name="auto_duty_plan" type="object" string="安排值班" class="oe_highlight"/>
|
||||
</header>
|
||||
@@ -57,7 +57,7 @@
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_duty_plan_action" model="ir.actions.act_window">
|
||||
<field name="name">值班计划</field>
|
||||
<field name="name">排班安排</field>
|
||||
<field name="res_model">yuthon.duty.plan</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
@@ -10,7 +10,6 @@
|
||||
'payment', 'purchase', 'stock',
|
||||
'resource', 'yuthon_hr_employee_approval',
|
||||
'planning', 'ks_dashboard_ninja',
|
||||
'yuthon_duty_plan',
|
||||
],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
<menuitem id="menu_hr_attendance_duty_plan_board"
|
||||
name="排班安排"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
action="yuthon_duty_plan.view_yuthon_duty_plan_action"
|
||||
action="yuthon_hr_attendance.view_yuthon_duty_plan_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_duty_summary_board"
|
||||
name="排班计划"
|
||||
@@ -193,7 +193,7 @@
|
||||
<!-- <menuitem id="menu_hr_attendance_summary_root_board"-->
|
||||
<!-- name="值班汇总"-->
|
||||
<!-- parent="menu_hr_attendance_duty_summary_menu_board"-->
|
||||
<!-- action="yuthon_duty_plan.view_yuthon_duty_summary_action"-->
|
||||
<!-- action="yuthon_hr_attendance.view_yuthon_duty_summary_action"-->
|
||||
<!-- sequence="15"/>-->
|
||||
<menuitem id="menu_hr_attendance_duty_summary_flow_board"
|
||||
name="流程"
|
||||
@@ -203,17 +203,17 @@
|
||||
name="值班调休"
|
||||
parent="menu_hr_attendance_duty_summary_flow_board"
|
||||
sequence="1"
|
||||
action="yuthon_duty_plan.view_yuthon_adjustments_approval_action"/>
|
||||
action="yuthon_hr_attendance.view_yuthon_adjustments_approval_action"/>
|
||||
<menuitem id="menu_yuthon_abnormal_approval_board"
|
||||
name="值班补卡"
|
||||
parent="menu_hr_attendance_duty_summary_flow_board"
|
||||
sequence="3"
|
||||
action="yuthon_duty_plan.view_yuthon_abnormal_approval_action"/>
|
||||
action="yuthon_hr_attendance.view_yuthon_abnormal_approval_action"/>
|
||||
<menuitem id="menu_yuthon_shift_approval_board"
|
||||
name="值班换班"
|
||||
parent="menu_hr_attendance_duty_summary_flow_board"
|
||||
sequence="5"
|
||||
action="yuthon_duty_plan.view_yuthon_shift_approval_action"/>
|
||||
action="yuthon_hr_attendance.view_yuthon_shift_approval_action"/>
|
||||
<menuitem id="menu_yuthon_duty_summary_setting"
|
||||
name="配置"
|
||||
parent="menu_hr_attendance_duty_summary_menu_board"
|
||||
@@ -222,12 +222,12 @@
|
||||
<!-- name="值班说明"-->
|
||||
<!-- parent="menu_yuthon_duty_summary_setting"-->
|
||||
<!-- sequence="1"-->
|
||||
<!-- action="yuthon_duty_plan.action_yuthon_duty_setting"/>-->
|
||||
<!-- action="yuthon_hr_attendance.action_yuthon_duty_setting"/>-->
|
||||
<menuitem id="menu_yuthon_duty_shows_class_board"
|
||||
name="班组配置"
|
||||
parent="menu_yuthon_duty_summary_setting"
|
||||
sequence="2"
|
||||
action="yuthon_duty_plan.action_yuthon_duty_class_setting"/>
|
||||
action="yuthon_hr_attendance.action_yuthon_duty_class_setting"/>
|
||||
<menuitem id="menu_yuthon_duty_action_planning_role_board"
|
||||
name="班次名称"
|
||||
parent="menu_yuthon_duty_summary_setting"
|
||||
@@ -242,7 +242,7 @@
|
||||
name="值班补卡次数"
|
||||
parent="menu_yuthon_duty_summary_setting"
|
||||
sequence="15"
|
||||
action="yuthon_duty_plan.view_yuthon_abnormal_setting_action"/>
|
||||
action="yuthon_hr_attendance.view_yuthon_abnormal_setting_action"/>
|
||||
|
||||
<!-- 计划相关 -->
|
||||
<menuitem id="menu_hr_attendance_approval_request_board"
|
||||
|
||||
Reference in New Issue
Block a user