1.制造模块内配置下的所有模型增加管理员(admin)权限

2.工单上的工件配送优化验证及对应的页面上新增工件配送按钮
This commit is contained in:
jinling.yang
2024-01-29 19:43:57 +08:00
parent cf2aaa38fe
commit a088ee9ed5
7 changed files with 111 additions and 55 deletions

View File

@@ -201,18 +201,18 @@ class ResMrpWorkOrder(models.Model):
except:
raise UserError("参数计算有误")
# def button_workpiece_delivery(self):
# if self.routing_type == '装夹预调':
# if not self.workpiece_delivery_ids:
# raise UserError('请添加【工件配送】信息')
# else:
# for item in self.workpiece_delivery_ids:
# if not item.feeder_station_start:
# raise UserError('【工件配送】明细中请输入起点接驳站')
# if not item.workpiece_code:
# raise UserError('请对【同运工件】进行扫描')
# else:
# workpiece_code
def button_workpiece_delivery(self):
if self.routing_type == '装夹预调':
if not self.workpiece_delivery_ids:
raise UserError('请添加【工件配送】信息')
else:
for item in self.workpiece_delivery_ids:
if not item.feeder_station_start:
raise UserError('【工件配送】明细中请输入起点接驳站')
if not item.workpiece_code:
raise UserError('请对【同运工件】进行扫描')
else:
item.write({'task_delivery_time': fields.Datetime.now()})
# 拼接工单对象属性值
def json_workorder_str(self, k, production, route):
@@ -757,9 +757,28 @@ class SfWorkOrderBarcodes(models.Model):
'tray_model_id': stock_move_line.product_id.fixture_model_id.id
})
workorder.button_start()
# elif stock_move_line.product_id.categ_type == '坯料':
# if stock_move_line.production_id.production_line_id.id == workorder.production_id.production_line_id.id
# workorder.
else:
embryo_stock_lot = self.env['stock.lot'].search([('name', '=', barcode)])
if embryo_stock_lot:
embryo_stock_move_line = self.env['stock.move.line'].search(
[('product_id', '=', embryo_stock_lot.product_id.id),
('reference', '=', workorder.production_id.name),
('lot_id', '=', embryo_stock_lot.id),
('product_category_name', '=', '坯料')])
if embryo_stock_move_line:
workpiece_delivery = self.env['sf.workpiece.delivery'].search(
[('workorder_id', '=', workorder.id)], limit=1, order='id asc')
if workpiece_delivery:
embryo_workpiece_code = workpiece_delivery.workpiece_code
if workpiece_delivery.workpiece_code and embryo_stock_lot.name not in \
workpiece_delivery.workpiece_code:
embryo_workpiece_code = workpiece_delivery.workpiece_code + ',' + \
embryo_stock_lot.name
if not workpiece_delivery.workpiece_code:
embryo_workpiece_code = embryo_stock_lot.name
workpiece_delivery.write({'workpiece_code': embryo_workpiece_code})
else:
raise UserError('工件生产线不一致,请重新确认')
class WorkPieceDelivery(models.Model):

View File

@@ -6,8 +6,8 @@ import os
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
from odoo.modules import get_resource_path
# from OCC.Extend.DataExchange import read_step_file
# from OCC.Extend.DataExchange import write_stl_file
from OCC.Extend.DataExchange import read_step_file
from OCC.Extend.DataExchange import write_stl_file
class ResProductMo(models.Model):

View File

@@ -25,6 +25,8 @@ access_mrp_workcenter_productivity_manager,mrp_workcenter_productivity,model_mrp
access_sf_workpiece_delivery,sf_workpiece_delivery,model_sf_workpiece_delivery,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_workpiece_delivery_manager,sf_workpiece_delivery,model_sf_workpiece_delivery,sf_base.group_sf_mrp_manager,1,1,1,0
access_sf_workpiece_delivery_admin,sf_workpiece_delivery_admin,model_sf_workpiece_delivery,base.group_system,1,1,1,0
access_mrp_workcenter_productivity_loss_manager,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_workcenter_productivity_loss,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
25 access_sf_workpiece_delivery sf_workpiece_delivery model_sf_workpiece_delivery sf_base.group_sf_mrp_user 1 0 0 0
26 access_sf_workpiece_delivery_manager sf_workpiece_delivery model_sf_workpiece_delivery sf_base.group_sf_mrp_manager 1 1 1 0
27 access_mrp_workcenter_productivity_loss_manager access_sf_workpiece_delivery_admin mrp.workcenter.productivity.loss sf_workpiece_delivery_admin mrp.model_mrp_workcenter_productivity_loss model_sf_workpiece_delivery sf_base.group_sf_mrp_user base.group_system 1 1 1 0
28 access_mrp_workcenter_productivity_loss_manager mrp.workcenter.productivity.loss mrp.model_mrp_workcenter_productivity_loss sf_base.group_sf_mrp_user 1 1 1 0
29 access_mrp_workcenter_productivity_loss mrp.workcenter.productivity.loss mrp.model_mrp_workcenter_productivity_loss sf_base.group_sf_mrp_user 1 0 0 0
30 access_mrp_workcenter_productivity_loss access_mrp_workcenter_productivity_loss_type mrp.workcenter.productivity.loss mrp.workcenter.productivity.loss.type mrp.model_mrp_workcenter_productivity_loss mrp.model_mrp_workcenter_productivity_loss_type sf_base.group_sf_mrp_user 1 0 0 0
31 access_mrp_workcenter_productivity_loss_type access_mrp_workcenter_productivity mrp.workcenter.productivity.loss.type mrp.workcenter.productivity mrp.model_mrp_workcenter_productivity_loss_type mrp.model_mrp_workcenter_productivity sf_base.group_sf_mrp_user 1 0 1 0 1 0
32 access_mrp_workcenter_productivity access_mrp_workcenter mrp.workcenter.productivity mrp.workcenter mrp.model_mrp_workcenter_productivity mrp.model_mrp_workcenter sf_base.group_sf_mrp_user 1 1 0 1 0 0

View File

@@ -123,6 +123,9 @@
context="{'default_workcenter_id': workcenter_id}" class="btn-danger"
groups="sf_base.group_sf_mrp_user"
attrs="{'invisible': ['|', '|', ('production_state', 'in', ('draft', 'done', 'cancel')), ('working_state', '!=', 'blocked'),('name','=','获取CNC加工程序')]}"/>
<button name="button_workpiece_delivery" type="object" string="工件配送"
attrs="{'invisible': [('routing_type','!=','装夹预调')]}"/>
</xpath>
<xpath expr="//page[1]" position="before">
<page string="开料要求" attrs='{"invisible": [("routing_type","!=","切割")]}'>
@@ -401,11 +404,11 @@
</group>
</page>
<page string="工件配送" attrs='{"invisible": [("routing_type","!=","装夹预调")]}'>
<field name="workpiece_delivery_ids" widget="one2many">
<field name="workpiece_delivery_ids">
<tree editable="bottom">
<field name="production_id" invisible="1"/>
<field name="workpiece_code"/>
<field name="feeder_station_start"/>
<field name="feeder_station_start" force_save="1"/>
<field name="feeder_station_destination"/>
<field name="production_line_id"/>
<field name="task_delivery_time"/>