Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/优化制造订单和编程
# Conflicts: # sf_manufacturing/models/mrp_workorder.py
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from odoo import models, fields
|
import logging
|
||||||
|
|
||||||
|
import re
|
||||||
|
from odoo import models, fields, api
|
||||||
|
|
||||||
|
|
||||||
class ResProductCategory(models.Model):
|
class ResProductCategory(models.Model):
|
||||||
@@ -28,6 +31,20 @@ class ResMrpBomMo(models.Model):
|
|||||||
_inherit = 'mrp.bom'
|
_inherit = 'mrp.bom'
|
||||||
|
|
||||||
subcontractor_id = fields.Many2one('res.partner', string='外包商')
|
subcontractor_id = fields.Many2one('res.partner', string='外包商')
|
||||||
|
subcontractor_name = fields.Char('', compute='_compute_subcontractor_ids', store=True)
|
||||||
|
|
||||||
|
@api.depends('subcontractor_id')
|
||||||
|
def _compute_subcontractor_ids(self):
|
||||||
|
for item in self:
|
||||||
|
if item.subcontractor_id:
|
||||||
|
logging.info("subcontractor_ids: %s" % item.subcontractor_ids.ids)
|
||||||
|
subcontractor_id = int(re.sub(r"\D", "", str(item.subcontractor_id.id)))
|
||||||
|
item.subcontractor_ids = [subcontractor_id]
|
||||||
|
item.subcontractor_name = item.subcontractor_id.name
|
||||||
|
logging.info("subcontractor_ids: %s" % item.subcontractor_ids.ids)
|
||||||
|
else:
|
||||||
|
item.subcontractor_ids = []
|
||||||
|
item.subcontractor_name = ''
|
||||||
|
|
||||||
def bom_create_line_has(self, embryo):
|
def bom_create_line_has(self, embryo):
|
||||||
vals = {
|
vals = {
|
||||||
|
|||||||
@@ -110,6 +110,9 @@
|
|||||||
<field name="subcontractor_id"
|
<field name="subcontractor_id"
|
||||||
attrs="{'invisible': [('type', '!=', 'subcontract')], 'required': [('type', '=', 'subcontract')]}"/>
|
attrs="{'invisible': [('type', '!=', 'subcontract')], 'required': [('type', '=', 'subcontract')]}"/>
|
||||||
</field>
|
</field>
|
||||||
|
<xpath expr="//group" position="after">
|
||||||
|
<field name="subcontractor_name" attrs="{'invisible': True}"/>
|
||||||
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|||||||
@@ -214,8 +214,8 @@ class Manufacturing_Connect(http.Controller):
|
|||||||
res = {'Succeed': False, 'ErrorCode': 202, 'Error': '该工单未开始'}
|
res = {'Succeed': False, 'ErrorCode': 202, 'Error': '该工单未开始'}
|
||||||
return json.JSONEncoder().encode(res)
|
return json.JSONEncoder().encode(res)
|
||||||
workorder.button_finish()
|
workorder.button_finish()
|
||||||
workorder.process_state = '待解除装夹'
|
# workorder.process_state = '待解除装夹'
|
||||||
workorder.sudo().production_id.process_state = '待解除装夹'
|
# workorder.sudo().production_id.process_state = '待解除装夹'
|
||||||
|
|
||||||
# 根据工单的实际结束时间修改排程单的结束时间、状态,同时修改销售订单的状态
|
# 根据工单的实际结束时间修改排程单的结束时间、状态,同时修改销售订单的状态
|
||||||
if workorder.date_finished:
|
if workorder.date_finished:
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ class MrpProduction(models.Model):
|
|||||||
('待加工', '待加工'),
|
('待加工', '待加工'),
|
||||||
('待解除装夹', '待解除装夹'),
|
('待解除装夹', '待解除装夹'),
|
||||||
('已完工', '已完工'),
|
('已完工', '已完工'),
|
||||||
], string='工序状态', related='workorder_ids.process_state', store=True)
|
], string='工序状态')
|
||||||
|
|
||||||
# 零件图号
|
# 零件图号
|
||||||
part_number = fields.Char('零件图号')
|
part_number = fields.Char('零件图号')
|
||||||
|
|||||||
@@ -412,8 +412,8 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
work = workorder.production_id.workorder_ids
|
work = workorder.production_id.workorder_ids
|
||||||
work.compensation_value_x = eval(self.material_center_point)[0]
|
work.compensation_value_x = eval(self.material_center_point)[0]
|
||||||
work.compensation_value_y = eval(self.material_center_point)[1]
|
work.compensation_value_y = eval(self.material_center_point)[1]
|
||||||
work.process_state = '待加工'
|
# work.process_state = '待加工'
|
||||||
self.sudo().production_id.state = 'pending_processing'
|
# self.sudo().production_id.process_state = '待加工'
|
||||||
self.date_finished = datetime.now()
|
self.date_finished = datetime.now()
|
||||||
workorder.button_finish()
|
workorder.button_finish()
|
||||||
|
|
||||||
@@ -867,6 +867,7 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
for move_raw_id in record.production_id.move_raw_ids:
|
for move_raw_id in record.production_id.move_raw_ids:
|
||||||
move_raw_id.quantity_done = move_raw_id.product_uom_qty
|
move_raw_id.quantity_done = move_raw_id.product_uom_qty
|
||||||
record.process_state = '已完工'
|
record.process_state = '已完工'
|
||||||
|
record.production_id.process_state = '已完工'
|
||||||
record.production_id.button_mark_done1()
|
record.production_id.button_mark_done1()
|
||||||
# self.production_id.state = 'done'
|
# self.production_id.state = 'done'
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||||
access_sf_functional_cutting_tool_entity,sf.functional.cutting.tool.entity,model_sf_functional_cutting_tool_entity,sf_base.group_sf_tool_user,1,1,1,0
|
access_sf_functional_cutting_tool_entity,sf.functional.cutting.tool.entity,model_sf_functional_cutting_tool_entity,sf_base.group_sf_tool_user,1,1,1,0
|
||||||
access_sf_functional_cutting_tool_entity_group_plan_dispatch,sf.functional.cutting.tool.entity,model_sf_functional_cutting_tool_entity,sf_base.group_plan_dispatch,1,0,0,0
|
access_sf_functional_cutting_tool_entity_group_plan_dispatch,sf.functional.cutting.tool.entity,model_sf_functional_cutting_tool_entity,sf_base.group_plan_dispatch,1,0,0,0
|
||||||
|
access_sf_functional_cutting_tool_entity_group_sf_order_user,sf.functional.cutting.tool.entity,model_sf_functional_cutting_tool_entity,sf_base.group_sf_order_user,1,0,0,0
|
||||||
|
|
||||||
access_sf_functional_tool_warning,sf.functional.tool.warning,model_sf_functional_tool_warning,sf_base.group_sf_tool_user,1,1,1,0
|
access_sf_functional_tool_warning,sf.functional.tool.warning,model_sf_functional_tool_warning,sf_base.group_sf_tool_user,1,1,1,0
|
||||||
access_sf_functional_tool_warning_group_plan_dispatch,sf.functional.tool.warning,model_sf_functional_tool_warning,sf_base.group_plan_dispatch,1,0,0,0
|
access_sf_functional_tool_warning_group_plan_dispatch,sf.functional.tool.warning,model_sf_functional_tool_warning,sf_base.group_plan_dispatch,1,0,0,0
|
||||||
|
|||||||
|
Reference in New Issue
Block a user