diff --git a/sf_base/models/tool_base_new.py b/sf_base/models/tool_base_new.py
index d6f69dd0..945ab1eb 100644
--- a/sf_base/models/tool_base_new.py
+++ b/sf_base/models/tool_base_new.py
@@ -23,6 +23,36 @@ class FunctionalCuttingTool(models.Model):
name = fields.Char('名称')
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
+
+ # 整体式刀具型号
+ mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
+ string='整体式刀具型号', domain=
+ [('mrs_cutting_tool_material_name', '=', '整体式刀具')])
+ # 刀片型号
+ mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_blade_model_functional_sf',
+ string='刀片型号', domain=
+ [('mrs_cutting_tool_material_name', '=', '刀片')])
+ # 刀杆型号
+ mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
+ 'rel_cutterbar_model_functional_sf',
+ string='刀杆型号', domain=
+ [('mrs_cutting_tool_material_name', '=', '刀杆')])
+ # 刀盘型号
+ mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
+ 'rel_cutterpad_model_functional_sf',
+ string='刀盘型号', domain=
+ [('mrs_cutting_tool_material_name', '=', '刀盘')])
+ # 刀柄型号
+ mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
+ 'rel_cutterhandle_model_functional_sf', string='刀柄型号',
+ domain=
+ [('mrs_cutting_tool_material_name', '=', '刀柄')])
+ # 夹头型号
+ mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
+ 'rel_cutterhead_model_functional_sf',
+ string='夹头型号', domain=
+ [('mrs_cutting_tool_material_name', '=', '夹头')])
+
diameter = fields.Float('直径(mm)')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
string='刀具等级')
@@ -36,6 +66,13 @@ class FunctionalCuttingTool(models.Model):
applicable_range = fields.Char('适用范围')
image = fields.Binary('图片')
+ def _get_functional_tool_model_ids(self, functional_tool_model_code):
+ functional_tool_model_ids = []
+ for item in functional_tool_model_code:
+ functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
+ functional_tool_model_ids.append(functional_tool_model.id)
+ return [(6, 0, functional_tool_model_ids)]
+
# 功能刀具类型
class FunctionalCuttingToolModel(models.Model):
diff --git a/sf_base/views/tool_menu.xml b/sf_base/views/tool_menu.xml
index 1874b3b0..a1c976d5 100644
--- a/sf_base/views/tool_menu.xml
+++ b/sf_base/views/tool_menu.xml
@@ -74,7 +74,7 @@
id="menu_sf_functional_cutting_tool"
parent="menu_sf_cutting_tool"
name="功能刀具"
- sequence="4"
+ sequence="5"
action="action_sf_functional_cutting_tool"
/>
@@ -82,7 +82,7 @@
id="menu_sf_functional_cutting_tool_model_type"
parent="menu_sf_cutting_tool"
name="功能刀具类型"
- sequence="5"
+ sequence="4"
action="action_sf_functional_cutting_tool_model_type"
/>
diff --git a/sf_base/views/tool_views.xml b/sf_base/views/tool_views.xml
index 27619b6d..4b02fefb 100644
--- a/sf_base/views/tool_views.xml
+++ b/sf_base/views/tool_views.xml
@@ -58,6 +58,12 @@
+
+
+
+
+
+
@@ -72,10 +78,16 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py
index ed546820..ae0196bb 100644
--- a/sf_mrs_connect/models/sync_common.py
+++ b/sf_mrs_connect/models/sync_common.py
@@ -815,7 +815,7 @@ class MachineToolType(models.Model):
[('code', '=', item['control_system_id'])]).id,
"active": item['active'],
'brand_id': self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])]).id,
- 'machine_tool_picture':image,
+ 'machine_tool_picture': image,
"heightened_way": item['heightened_way'],
"workpiece_load": item['workpiece_load'],
"lead_screw": item['lead_screw'],
@@ -1186,9 +1186,21 @@ class sfSyncFunctional_cutting_tool(models.Model):
# 功能刀具类型
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
- # 刀具型号
- "mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
- [('code', '=', item['mrs_cutting_tool_model_id'])]).id,
+ # # 刀具型号
+ # "mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
+ # [('code', '=', item['mrs_cutting_tool_model_id'])]).id,
+ "mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_integral_model_ids']),
+ "mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_blade_model_ids']),
+ "mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterbar_model_ids']),
+ "mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterpad_model_ids']),
+ "mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhandle_model_ids']),
+ "mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhead_model_ids']),
"diameter": item['diameter'],
"tool_grade": item['tool_grade'],
"machining_accuracy": item['machining_accuracy'],
@@ -1209,9 +1221,18 @@ class sfSyncFunctional_cutting_tool(models.Model):
# 功能刀具类型
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
- # 刀具型号
- "mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
- [('code', '=', item['mrs_cutting_tool_model_id'])]).id,
+ "mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_integral_model_ids']),
+ "mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_blade_model_ids']),
+ "mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterbar_model_ids']),
+ "mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterpad_model_ids']),
+ "mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhandle_model_ids']),
+ "mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhead_model_ids']),
"diameter": item['diameter'],
"tool_grade": item['tool_grade'],
"machining_accuracy": item['machining_accuracy'],
@@ -1257,9 +1278,18 @@ class sfSyncFunctional_cutting_tool(models.Model):
# 功能刀具类型
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
- # 刀具型号
- "mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
- [('code', '=', item['mrs_cutting_tool_model_id'])]).id,
+ "mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_integral_model_ids']),
+ "mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_blade_model_ids']),
+ "mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterbar_model_ids']),
+ "mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterpad_model_ids']),
+ "mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhandle_model_ids']),
+ "mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhead_model_ids']),
"diameter": item['diameter'],
"tool_grade": item['tool_grade'],
"machining_accuracy": item['machining_accuracy'],
@@ -1280,9 +1310,18 @@ class sfSyncFunctional_cutting_tool(models.Model):
# 功能刀具类型
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
[('code', '=', item['mrs_cutting_tool_type_id'])]).id,
- # 刀具型号
- "mrs_cutting_tool_model_id": self.env['sf.cutting.tool.model'].search(
- [('code', '=', item['mrs_cutting_tool_model_id'])]).id,
+ "mrs_cutting_tool_integral_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_integral_model_ids']),
+ "mrs_cutting_tool_blade_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_blade_model_ids']),
+ "mrs_cutting_tool_cutterbar_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterbar_model_ids']),
+ "mrs_cutting_tool_cutterpad_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterpad_model_ids']),
+ "mrs_cutting_tool_cutterhandle_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhandle_model_ids']),
+ "mrs_cutting_tool_cutterhead_model_ids": self._get_functional_tool_model_ids(
+ item['mrs_cutting_tool_cutterhead_model_ids']),
"diameter": item['diameter'],
"tool_grade": item['tool_grade'],
"machining_accuracy": item['machining_accuracy'],
@@ -1561,7 +1600,7 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'],
- "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
+ "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'],
@@ -1590,7 +1629,7 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'],
- "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
+ "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'],
@@ -1641,7 +1680,7 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'],
- "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
+ "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'],
@@ -1670,7 +1709,7 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'],
- "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
+ "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'],
@@ -1983,14 +2022,14 @@ class SfToolModel(models.Model):
mrs_cutting_tool_model_blade_cutter_bar_ids_list = []
if item.get('mrs_cutting_tool_model_blade_cutter_bar_ids'):
for mrs_cutting_tool_model_blade_cutter_bar_id in item[
- 'mrs_cutting_tool_model_blade_cutter_bar_ids']:
+ 'mrs_cutting_tool_model_blade_cutter_bar_ids']:
mrs_cutting_tool_model_blade_cutter_bar_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_blade_cutter_bar_id)]).id)
mrs_cutting_tool_model_blade_cutter_pad_ids_list = []
if item.get('mrs_cutting_tool_model_blade_cutter_pad_ids'):
for mrs_cutting_tool_model_blade_cutter_pad_id in item[
- 'mrs_cutting_tool_model_blade_cutter_pad_ids']:
+ 'mrs_cutting_tool_model_blade_cutter_pad_ids']:
mrs_cutting_tool_model_blade_cutter_pad_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_blade_cutter_pad_id)]).id)
@@ -2007,14 +2046,14 @@ class SfToolModel(models.Model):
mrs_cutting_tool_model_handle_chuck_model_ids_list = []
if item.get('mrs_cutting_tool_model_handle_chuck_model_ids'):
for mrs_cutting_tool_model_handle_chuck_model_id in item[
- 'mrs_cutting_tool_model_handle_chuck_model_ids']:
+ 'mrs_cutting_tool_model_handle_chuck_model_ids']:
mrs_cutting_tool_model_handle_chuck_model_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_handle_chuck_model_id)]).id)
mrs_cutting_tool_model_chuck_handle_model_ids_list = []
if item.get('mrs_cutting_tool_model_chuck_handle_model_ids'):
for mrs_cutting_tool_model_chuck_handle_model_id in item[
- 'mrs_cutting_tool_model_chuck_handle_model_ids']:
+ 'mrs_cutting_tool_model_chuck_handle_model_ids']:
mrs_cutting_tool_model_chuck_handle_model_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_chuck_handle_model_id)]).id)
@@ -2061,8 +2100,10 @@ class SfToolModel(models.Model):
"blade_hardness": item['blade_hardness'],
"blade_radius": item['blade_radius'],
"blade_nut": item['blade_nut'],
- "mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
- "mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_bar_ids":
+ mrs_cutting_tool_model_blade_cutter_bar_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_pad_ids":
+ mrs_cutting_tool_model_blade_cutter_pad_ids_list,
"bar_code": item['bar_code'],
"bar_c_diameter": item['bar_c_diameter'],
"bar_total_length": item['bar_total_length'],
@@ -2111,7 +2152,8 @@ class SfToolModel(models.Model):
"chuck_inner_diameter": item['chuck_inner_diameter'],
"chuck_height": item['chuck_height'],
"chuck_nut": item['chuck_nut'],
- "mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
+ "mrs_cutting_tool_model_chuck_handle_model_ids":
+ mrs_cutting_tool_model_chuck_handle_model_ids_list,
"chuck_clamping_range": item['chuck_clamping_range'],
"chuck_feature": item['chuck_feature'],
"image": image,
@@ -2168,8 +2210,10 @@ class SfToolModel(models.Model):
"blade_hardness": item['blade_hardness'],
"blade_radius": item['blade_radius'],
"blade_nut": item['blade_nut'],
- "mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
- "mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_bar_ids":
+ mrs_cutting_tool_model_blade_cutter_bar_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_pad_ids":
+ mrs_cutting_tool_model_blade_cutter_pad_ids_list,
"bar_code": item['bar_code'],
"bar_c_diameter": item['bar_c_diameter'],
"bar_total_length": item['bar_total_length'],
@@ -2218,7 +2262,8 @@ class SfToolModel(models.Model):
"chuck_inner_diameter": item['chuck_inner_diameter'],
"chuck_height": item['chuck_height'],
"chuck_nut": item['chuck_nut'],
- "mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
+ "mrs_cutting_tool_model_chuck_handle_model_ids":
+ mrs_cutting_tool_model_chuck_handle_model_ids_list,
"chuck_clamping_range": item['chuck_clamping_range'],
"chuck_feature": item['chuck_feature'],
"image": image,
@@ -2261,14 +2306,14 @@ class SfToolModel(models.Model):
mrs_cutting_tool_model_blade_cutter_bar_ids_list = []
if item.get('mrs_cutting_tool_model_blade_cutter_bar_ids'):
for mrs_cutting_tool_model_blade_cutter_bar_id in item[
- 'mrs_cutting_tool_model_blade_cutter_bar_ids']:
+ 'mrs_cutting_tool_model_blade_cutter_bar_ids']:
mrs_cutting_tool_model_blade_cutter_bar_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_blade_cutter_bar_id)]).id)
mrs_cutting_tool_model_blade_cutter_pad_ids_list = []
if item.get('mrs_cutting_tool_model_blade_cutter_pad_ids'):
for mrs_cutting_tool_model_blade_cutter_pad_id in item[
- 'mrs_cutting_tool_model_blade_cutter_pad_ids']:
+ 'mrs_cutting_tool_model_blade_cutter_pad_ids']:
mrs_cutting_tool_model_blade_cutter_pad_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_blade_cutter_pad_id)]).id)
@@ -2285,14 +2330,14 @@ class SfToolModel(models.Model):
mrs_cutting_tool_model_handle_chuck_model_ids_list = []
if item.get('mrs_cutting_tool_model_handle_chuck_model_ids'):
for mrs_cutting_tool_model_handle_chuck_model_id in item[
- 'mrs_cutting_tool_model_handle_chuck_model_ids']:
+ 'mrs_cutting_tool_model_handle_chuck_model_ids']:
mrs_cutting_tool_model_handle_chuck_model_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_handle_chuck_model_id)]).id)
mrs_cutting_tool_model_chuck_handle_model_ids_list = []
if item.get('mrs_cutting_tool_model_chuck_handle_model_ids'):
for mrs_cutting_tool_model_chuck_handle_model_id in item[
- 'mrs_cutting_tool_model_chuck_handle_model_ids']:
+ 'mrs_cutting_tool_model_chuck_handle_model_ids']:
mrs_cutting_tool_model_chuck_handle_model_ids_list.append(
self.env['sf.cutting.tool.model'].search(
[("code", '=', mrs_cutting_tool_model_chuck_handle_model_id)]).id)
@@ -2339,8 +2384,10 @@ class SfToolModel(models.Model):
"blade_hardness": item['blade_hardness'],
"blade_radius": item['blade_radius'],
"blade_nut": item['blade_nut'],
- "mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
- "mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_bar_ids":
+ mrs_cutting_tool_model_blade_cutter_bar_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_pad_ids":
+ mrs_cutting_tool_model_blade_cutter_pad_ids_list,
"bar_code": item['bar_code'],
"bar_c_diameter": item['bar_c_diameter'],
"bar_total_length": item['bar_total_length'],
@@ -2388,7 +2435,8 @@ class SfToolModel(models.Model):
"chuck_inner_diameter": item['chuck_inner_diameter'],
"chuck_height": item['chuck_height'],
"chuck_nut": item['chuck_nut'],
- "mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
+ "mrs_cutting_tool_model_chuck_handle_model_ids":
+ mrs_cutting_tool_model_chuck_handle_model_ids_list,
"chuck_clamping_range": item['chuck_clamping_range'],
"chuck_feature": item['chuck_feature'],
"image": image,
@@ -2441,8 +2489,10 @@ class SfToolModel(models.Model):
"blade_hardness": item['blade_hardness'],
"blade_radius": item['blade_radius'],
"blade_nut": item['blade_nut'],
- "mrs_cutting_tool_model_blade_cutter_bar_ids": mrs_cutting_tool_model_blade_cutter_bar_ids_list,
- "mrs_cutting_tool_model_blade_cutter_pad_ids": mrs_cutting_tool_model_blade_cutter_pad_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_bar_ids":
+ mrs_cutting_tool_model_blade_cutter_bar_ids_list,
+ "mrs_cutting_tool_model_blade_cutter_pad_ids":
+ mrs_cutting_tool_model_blade_cutter_pad_ids_list,
"bar_code": item['bar_code'],
"bar_c_diameter": item['bar_c_diameter'],
"bar_total_length": item['bar_total_length'],
@@ -2491,7 +2541,8 @@ class SfToolModel(models.Model):
"chuck_inner_diameter": item['chuck_inner_diameter'],
"chuck_height": item['chuck_height'],
"chuck_nut": item['chuck_nut'],
- "mrs_cutting_tool_model_chuck_handle_model_ids": mrs_cutting_tool_model_chuck_handle_model_ids_list,
+ "mrs_cutting_tool_model_chuck_handle_model_ids":
+ mrs_cutting_tool_model_chuck_handle_model_ids_list,
"chuck_clamping_range": item['chuck_clamping_range'],
"chuck_feature": item['chuck_feature'],
"image": image,
diff --git a/sf_plan_management/models/calendar_base.py b/sf_plan_management/models/calendar_base.py
index d67842e8..5b86e6dd 100644
--- a/sf_plan_management/models/calendar_base.py
+++ b/sf_plan_management/models/calendar_base.py
@@ -112,7 +112,6 @@ class WorkLogSetting(models.Model):
创建记录时,生成工作日历
"""
record = super(WorkLogSetting, self).create(vals)
- logging.info("工作日历设置【新建】记录时,创建工作日历记录!!!")
record.generate_work_calendar()
return record
@@ -123,7 +122,6 @@ class WorkLogSetting(models.Model):
# 先删除之前创建的工作日历事件记录
self.env['sf.work.schedule.calendar'].search([('calendar_code', '=', self.code)]).unlink()
result = super(WorkLogSetting, self).write(vals)
- logging.info("工作日历设置【更新】记录时,创建工作日历记录!!!")
self.generate_work_calendar()
return result
@@ -131,28 +129,66 @@ class WorkLogSetting(models.Model):
"""
生成工作日历
"""
- logging.info('开始创建工作日历记录')
self.ensure_one()
# start_date = date.today() # 开始日期
# end_date = start_date + timedelta(days=365) # 结束日期
# 获取本年第一天和最后一天
start_date = datetime.now().replace(month=1, day=1).date()
- end_date = datetime.now().replace(month=1, day=31).date()
- logging.info(f'start_date: {start_date} , end_date: {end_date}')
+ end_date = datetime.now().replace(month=12, day=31).date()
# 休息日列表
- rest_days = self.day_off_ids.mapped('name')
- logging.info(f'获取界面输入的休息日:{rest_days}')
+ rest_days = self.chinese_weekdays_to_english(self.day_off_ids.mapped('name'))
for single_date in self.daterange(start_date, end_date):
- is_workday = single_date.strftime("%A")
- logging.info(f'获取一月份每天的星期:{is_workday}')
+ is_workday = self.chinese_weekday_to_english(single_date.strftime("%A"))
+ logging.info(f"每天的星期:{is_workday}")
if is_workday in rest_days:
print('is_workday in rest_days', is_workday)
self.env['sf.work.schedule.calendar'].sudo().create({
'name': '休息日',
'name_id': self.id,
'date_time': single_date})
- logging.info('创建一条工作日历记录,休息时间: %s' % is_workday)
- logging.info('工作日历记录创建完成')
+
+ @staticmethod
+ def chinese_weekdays_to_english(chinese_weekdays):
+ """
+ 将元组的中文星期转换成英文
+ :param chinese_weekdays:
+ :return:
+ """
+ weekdays = {
+ '星期一': 'Monday',
+ '星期二': 'Tuesday',
+ '星期三': 'Wednesday',
+ '星期四': 'Thursday',
+ '星期五': 'Friday',
+ '星期六': 'Saturday',
+ '星期日': 'Sunday'
+ }
+ english_weekdays = []
+ for chinese_weekday in chinese_weekdays:
+ english_weekday = weekdays.get(chinese_weekday, 'Invalid weekday')
+ english_weekdays.append(english_weekday)
+ return english_weekdays
+
+ @staticmethod
+ def chinese_weekday_to_english(chinese_weekday):
+ """
+ 将单个的中文星期转换成英文
+ :param chinese_weekday:
+ :return:
+ """
+ weekdays = {
+ '星期一': 'Monday',
+ '星期二': 'Tuesday',
+ '星期三': 'Wednesday',
+ '星期四': 'Thursday',
+ '星期五': 'Friday',
+ '星期六': 'Saturday',
+ '星期日': 'Sunday'
+ }
+ weekday = weekdays.get(chinese_weekday)
+ if weekday:
+ return weekday
+ return chinese_weekday
@staticmethod
def daterange(start_date, end_date):
@@ -202,13 +238,13 @@ class DayOff(models.Model):
_description = '休息日'
name = fields.Selection([
- ('星期一', '星期一'),
- ('星期二', '星期二'),
- ('星期三', '星期三'),
- ('星期四', '星期四'),
- ('星期五', '星期五'),
- ('星期六', '星期六'),
- ('星期日', '星期日')], '休息日名称')
+ ('Monday ', '星期一'),
+ ('Tuesday ', '星期二'),
+ ('Wednesday ', '星期三'),
+ ('Thursday ', '星期四'),
+ ('Friday ', '星期五'),
+ ('Saturday ', '星期六'),
+ ('Sunday ', '星期日')], '休息日名称')
class WorkScheduleCalendar(models.Model):
diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml
index aae16a8a..4326b0c6 100644
--- a/sf_tool_management/views/tool_base_views.xml
+++ b/sf_tool_management/views/tool_base_views.xml
@@ -22,7 +22,6 @@
-
@@ -126,20 +125,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -204,11 +201,11 @@
-
-
+
@@ -404,7 +401,7 @@
context="{
'default_machine_tool_name': machine_tool_name,
'default_cutter_spacing_code': cutter_spacing_code,
- 'default_name': name,
+ 'default_functional_tool_name': name,
'default_functional_tool_type': functional_tool_type,
'default_functional_tool_length': functional_tool_length,
'default_effective_length': None,
@@ -420,12 +417,12 @@
-
+
-
+
diff --git a/sf_tool_management/wizard/wizard_view.xml b/sf_tool_management/wizard/wizard_view.xml
index b0b345df..32a2e8c0 100644
--- a/sf_tool_management/wizard/wizard_view.xml
+++ b/sf_tool_management/wizard/wizard_view.xml
@@ -7,7 +7,7 @@