diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py
index 40100a93..2fcc40d9 100644
--- a/sf_tool_management/models/base.py
+++ b/sf_tool_management/models/base.py
@@ -1437,14 +1437,26 @@ class FunctionalToolDismantle(models.Model):
def confirmation_disassembly(self):
logging.info('%s刀具确认开始拆解' % self.dismantle_cause)
code = self.code
+ context = self.env.context
if self.functional_tool_id.functional_tool_status == '已拆除':
raise ValidationError('Rfid为【%s】名称为【%s】的功能刀具已经拆解,请勿重复操作!' % (
self.functional_tool_id.rfid_dismantle, self.name))
# 对拆解的功能刀具进行校验,只有在刀具房的功能刀具才能拆解
elif self.functional_tool_id.functional_tool_status != '报警':
- if self.functional_tool_id.tool_room_num == 0:
+ if self.functional_tool_id.current_location == '机内刀库':
raise ValidationError('Rfid为【%s】的功能刀具当前位置为【%s】,不能进行拆解!' % (
self.rfid, self.functional_tool_id.current_location))
+ elif not context.get('TRUE_DISASSEMBLE') and self.functional_tool_id.current_location == '线边刀库':
+ return {
+ 'type': 'ir.actions.act_window',
+ 'res_model': 'sf.functional.tool.dismantle.wiard',
+ 'name': '刀具寿命未到期',
+ 'view_mode': 'form',
+ 'target': 'new',
+ 'context': {
+ 'default_functional_tool_dismantle_id': self.id,
+ 'TRUE_DISASSEMBLE': True}
+ }
# 目标重复校验
self.location_duplicate_check()
datas = {'scrap': [], 'picking': []}
diff --git a/sf_tool_management/security/ir.model.access.csv b/sf_tool_management/security/ir.model.access.csv
index 8c188464..1ad8a439 100644
--- a/sf_tool_management/security/ir.model.access.csv
+++ b/sf_tool_management/security/ir.model.access.csv
@@ -40,4 +40,7 @@ access_sf_functional_tool_dismantle_group_sf_tool_user,sf.functional.tool.disman
access_sf_functional_tool_dismantle_group_plan_dispatch,sf.functional.tool.dismantle_group_plan_dispatch,model_sf_functional_tool_dismantle,sf_base.group_plan_dispatch,1,0,0,0
access_jikimo_bom,jikimo.bom,model_jikimo_bom,base.group_user,1,1,1,1
-access_jikimo_bom_wizard,jikimo.bom.wizard,model_jikimo_bom_wizard,base.group_user,1,1,1,1
\ No newline at end of file
+access_jikimo_bom_wizard,jikimo.bom.wizard,model_jikimo_bom_wizard,base.group_user,1,1,1,1
+
+access_sf_functional_tool_dismantle_wiard,sf.functional.tool.dismantle.wiard,model_sf_functional_tool_dismantle_wiard,sf_base.group_sf_tool_user,1,1,1,0
+access_sf_functional_tool_dismantle_wiard_group_plan_dispatch,sf.functional.tool.dismantle.wiard,model_sf_functional_tool_dismantle_wiard,sf_base.group_plan_dispatch,1,0,0,0
diff --git a/sf_tool_management/wizard/wizard.py b/sf_tool_management/wizard/wizard.py
index d1797855..633901d8 100644
--- a/sf_tool_management/wizard/wizard.py
+++ b/sf_tool_management/wizard/wizard.py
@@ -770,3 +770,12 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
# }
+class FunctionalToolDismantle(models.TransientModel):
+ _name = 'sf.functional.tool.dismantle.wiard'
+ _description = '功能刀具拆解二次确认'
+
+ functional_tool_dismantle_id = fields.Many2one('sf.functional.tool.dismantle', '拆解单')
+
+ def confirm(self):
+ self.functional_tool_dismantle_id.confirmation_disassembly()
+ return True
diff --git a/sf_tool_management/wizard/wizard_view.xml b/sf_tool_management/wizard/wizard_view.xml
index 53a45d85..73770342 100644
--- a/sf_tool_management/wizard/wizard_view.xml
+++ b/sf_tool_management/wizard/wizard_view.xml
@@ -444,4 +444,19 @@
new
+
+
+
+ 刀具拆解
+ sf.functional.tool.dismantle.wiard
+
+
+
+
\ No newline at end of file