diff --git a/sf_message/__manifest__.py b/sf_message/__manifest__.py
index cdfef4bd..0f032a6d 100644
--- a/sf_message/__manifest__.py
+++ b/sf_message/__manifest__.py
@@ -11,7 +11,7 @@
""",
'category': 'sf',
'website': 'https://www.sf.jikimo.com',
- 'depends': ['sale', 'purchase', 'sf_plan', 'jikimo_message_notify'],
+ 'depends': ['sale', 'purchase', 'sf_plan', 'jikimo_message_notify','stock'],
'data': [
'data/bussiness_node.xml'
],
diff --git a/sf_message/data/bussiness_node.xml b/sf_message/data/bussiness_node.xml
index eeb7cbe7..76f3fcb7 100644
--- a/sf_message/data/bussiness_node.xml
+++ b/sf_message/data/bussiness_node.xml
@@ -10,5 +10,21 @@
确认接单
sale.order
+
+ 调拨入库
+ stock.picking
+
+
+ 功能刀具组装
+ sf.functional.tool.assembly
+
+
+ 功能刀具寿命到期
+ sf.functional.tool.dismantle
+
+
+ 坯料采购提醒
+ purchase.order
+
\ No newline at end of file
diff --git a/sf_message/models/__init__.py b/sf_message/models/__init__.py
index b0c058fc..e84a0acd 100644
--- a/sf_message/models/__init__.py
+++ b/sf_message/models/__init__.py
@@ -6,3 +6,4 @@ from . import sf_message_cam_program
from . import sf_message_functional_tool_assembly
from . import sf_message_purchase
from . import sf_message_workorder
+from . import sf_message_functional_tool_dismantle
\ No newline at end of file
diff --git a/sf_message/models/sf_message_functional_tool_assembly.py b/sf_message/models/sf_message_functional_tool_assembly.py
index 251af2cc..d4e05fc0 100644
--- a/sf_message/models/sf_message_functional_tool_assembly.py
+++ b/sf_message/models/sf_message_functional_tool_assembly.py
@@ -3,4 +3,16 @@ from odoo import models, fields, api, _
class SFMessagefunctionalToolAssembly(models.Model):
_name = 'sf.functional.tool.assembly'
+ _description = "刀具组装单"
_inherit = ['sf.functional.tool.assembly', 'jikimo.message.dispatch']
+
+ @api.model_create_multi
+ def create(self, vals):
+ result = super(SFMessagefunctionalToolAssembly, self).create(vals)
+ is_cam = False
+ for obj in result:
+ if obj.loading_task_source == '0' and obj.assemble_status == '0':
+ is_cam = True
+ if is_cam:
+ self.add_queue('功能刀具组装')
+ return result
diff --git a/sf_message/models/sf_message_functional_tool_dismantle.py b/sf_message/models/sf_message_functional_tool_dismantle.py
new file mode 100644
index 00000000..dac3db28
--- /dev/null
+++ b/sf_message/models/sf_message_functional_tool_dismantle.py
@@ -0,0 +1,18 @@
+from odoo import models, api
+
+
+class SFMessagefunctionalToolDismantle(models.Model):
+ _name = 'sf.functional.tool.dismantle'
+ _description = "刀具拆解单"
+ _inherit = ['sf.functional.tool.dismantle', 'jikimo.message.dispatch']
+
+ @api.model
+ def create(self, vals):
+ result = super(SFMessagefunctionalToolDismantle, self).create(vals)
+ is_dismantle = False
+ for obj in result:
+ if obj.dismantle_cause in ['寿命到期报废', '崩刀报废']and obj.state=='待拆解':
+ is_dismantle = True
+ if is_dismantle:
+ self.add_queue('功能刀具寿命到期')
+ return result
diff --git a/sf_message/models/sf_message_purchase.py b/sf_message/models/sf_message_purchase.py
index 073a7814..e9fe3956 100644
--- a/sf_message/models/sf_message_purchase.py
+++ b/sf_message/models/sf_message_purchase.py
@@ -1,6 +1,17 @@
+import logging
from odoo import models, fields, api, _
class SFMessagePurchase(models.Model):
_name = 'purchase.order'
_inherit = ['purchase.order', 'jikimo.message.dispatch']
+
+ @api.model_create_multi
+ def create(self, vals_list):
+ res = super(SFMessagePurchase, self).create(vals_list)
+ if res:
+ try:
+ res.add_queue('坯料采购提醒')
+ except Exception as e:
+ logging.info('add_queue error:%s' % e)
+ return res
diff --git a/sf_message/models/sf_message_stock_picking.py b/sf_message/models/sf_message_stock_picking.py
index b090549e..d66008f9 100644
--- a/sf_message/models/sf_message_stock_picking.py
+++ b/sf_message/models/sf_message_stock_picking.py
@@ -3,4 +3,11 @@ from odoo import models, fields, api, _
class SFMessageStockPicking(models.Model):
_name = 'stock.picking'
+ _description = "库存调拨"
_inherit = ['stock.picking', 'jikimo.message.dispatch']
+
+ def button_validate(self):
+ res = super(SFMessageStockPicking, self).button_validate()
+ if self.location_id.name == '进货' and self.location_dest_id.name == '刀具房':
+ self.add_queue('调拨入库')
+ return res
diff --git a/sf_message/models/sf_message_template.py b/sf_message/models/sf_message_template.py
index 7380fbe6..957b0f58 100644
--- a/sf_message/models/sf_message_template.py
+++ b/sf_message/models/sf_message_template.py
@@ -9,4 +9,8 @@ class SfMessageTemplate(models.Model):
def _get_message_model(self):
res = super(SfMessageTemplate, self)._get_message_model()
res.append("sale.order")
+ res.append("stock.picking")
+ res.append('sf.functional.tool.assembly')
+ res.append('sf.functional.tool.dismantle')
+ res.append('purchase.order')
return res
diff --git a/sf_tool_management/models/jikimo_bom.py b/sf_tool_management/models/jikimo_bom.py
index 62138d77..b5caf495 100644
--- a/sf_tool_management/models/jikimo_bom.py
+++ b/sf_tool_management/models/jikimo_bom.py
@@ -89,7 +89,7 @@ class jikimo_bom(models.Model):
('cutting_tool_blade_diameter', '=', self.tool_inventory_id.diameter),
# r角
- ('cutting_tool_blade_tip_working_size', '=', self.tool_inventory_id.angle)]
+ ('cutting_tool_blade_tip_r_size', '=', self.tool_inventory_id.angle)]
if option.name == '刀杆':
domain = ['&'] + domain + [
("cutting_tool_cutter_arbor_diameter", "=", self.tool_inventory_id.diameter)]