优化及调试表面工艺外协出入库单,‘胚料’修改为‘坯料’

This commit is contained in:
jinling.yang
2023-04-20 19:39:12 +08:00
parent 4e2947c107
commit 82dcfb5018
13 changed files with 142 additions and 230 deletions

View File

@@ -15,7 +15,7 @@ class ResProductTemplate(models.Model):
# 模型的长,宽,高,体积,精度,材料
model_name = fields.Char('模型名称')
categ_type = fields.Selection(
[("成品", "成品"), ("", ""), ("原材料", "原材料"), ("表面工艺", "表面工艺")],
[("成品", "成品"), ("", ""), ("原材料", "原材料"), ("表面工艺", "表面工艺")],
string='产品的类别', related='categ_id.type',
store=True)
model_long = fields.Float('模型长[mm]', digits=(16, 3))
@@ -29,7 +29,7 @@ class ResProductTemplate(models.Model):
('0.02', '±0.02mm'),
('0.01', '±0.01mm')], string='加工精度')
product_model_type_id = fields.Many2one('sf.model.type', string='产品模型类型')
embryo_model_type_id = fields.Many2one('sf.model.type', string='料模型类型')
embryo_model_type_id = fields.Many2one('sf.model.type', string='料模型类型')
model_processing_panel = fields.Char('模型加工面板')
# model_surface_process_category_id = fields.Many2one('sf.production.process.category', string='表面工艺类别')
# model_surface_process_ids = fields.Many2many('sf.production.process', 'rel_product_process', string='表面工艺')
@@ -58,7 +58,7 @@ class ResProductTemplate(models.Model):
# model_file = fields.Binary('模型文件')
# 料的库存路线设置
# 料的库存路线设置
# def _get_routes(self, route_type):
# route_manufacture = self.env.ref('mrp.route_warehouse0_manufacture', raise_if_not_found=False).sudo()
# route_mto = self.env.ref('stock.route_warehouse0_mto', raise_if_not_found=False).sudo()
@@ -148,7 +148,7 @@ class ResProductTemplate(models.Model):
})
return attachment
# 创建
# 创建
def no_bom_product_create(self, product_id, item, order_id, route_type, i):
no_bom_copy_product_id = product_id.with_user(self.env.ref("base.user_admin")).copy()
no_bom_copy_product_id.product_tmpl_id.active = True
@@ -184,7 +184,7 @@ class ResProductTemplate(models.Model):
# [('process_encode', '=', item['process_parameters_code'])]).id,
'active': True
}
# 外协和采购生成的料需要根据材料型号绑定供应商
# 外协和采购生成的料需要根据材料型号绑定供应商
if route_type == 'subcontract' or route_type == 'purchase':
no_bom_copy_product_id.purchase_ok = True
no_bom_copy_product_id.seller_ids = [
@@ -288,11 +288,11 @@ class ResMrpBom(models.Model):
bom_id.subcontractor_id = subcontract.partner_id.id
return bom_id
# 料BOM组件选取当前料原材料,
# 然后根据当前的料的体积得出需要的原材料重量立方米m³ *材料密度 * 1000 = 所需原材料重量KG公斤
# 料所需原材料公式:当前的料的体积立方米m³ *材料密度 * 1000 = 所需原材料重量KG公斤
# 料BOM组件选取当前料原材料,
# 然后根据当前的料的体积得出需要的原材料重量立方米m³ *材料密度 * 1000 = 所需原材料重量KG公斤
# 料所需原材料公式:当前的料的体积立方米m³ *材料密度 * 1000 = 所需原材料重量KG公斤
def bom_create_line(self, embryo):
# 选取当前料原材料
# 选取当前料原材料
raw_bom_line = self.get_raw_bom(embryo)
if raw_bom_line:
bom_line = self.env['mrp.bom.line'].create({
@@ -317,7 +317,7 @@ class ResMrpBom(models.Model):
# 匹配bom
def get_bom(self, product):
embryo_has = self.env['product.product'].search(
[('categ_id.type', '=', ''), ('materials_type_id', '=', product.materials_type_id.id),
[('categ_id.type', '=', ''), ('materials_type_id', '=', product.materials_type_id.id),
('length', '>', product.length), ('width', '>', product.width),
('height', '>', product.height), ('is_bfm', '=', False)
],
@@ -343,7 +343,7 @@ class ResProductCategory(models.Model):
_inherit = "product.category"
type = fields.Selection(
[("成品", "成品"), ("", ""), ("原材料", "原材料"), ("表面工艺", "表面工艺"), ("服务", "服务")],
[("成品", "成品"), ("", ""), ("原材料", "原材料"), ("表面工艺", "表面工艺")],
default="", string="类型")
# @api.constrains('type')

View File

@@ -5,8 +5,8 @@ class ResMrpWorkOrder(models.Model):
_inherit = 'mrp.workorder'
_order = 'sequence'
product_tmpl_id_length = fields.Float(related='production_id.product_tmpl_id.length', readonly=True, store=True, check_company=True, string="料长度(mm)")
product_tmpl_id_width = fields.Float(related='production_id.product_tmpl_id.width', readonly=True, store=True, check_company=True, string="料宽度(mm)")
product_tmpl_id_height = fields.Float(related='production_id.product_tmpl_id.height', readonly=True, store=True, check_company=True, string="料高度(mm)")
product_tmpl_id_length = fields.Float(related='production_id.product_tmpl_id.length', readonly=True, store=True, check_company=True, string="料长度(mm)")
product_tmpl_id_width = fields.Float(related='production_id.product_tmpl_id.width', readonly=True, store=True, check_company=True, string="料宽度(mm)")
product_tmpl_id_height = fields.Float(related='production_id.product_tmpl_id.height', readonly=True, store=True, check_company=True, string="料高度(mm)")
product_tmpl_id_materials_id = fields.Many2one(related='production_id.product_tmpl_id.materials_id', readonly=True, store=True, check_company=True, string="材料")
product_tmpl_id_materials_type_id = fields.Many2one(related='production_id.product_tmpl_id.materials_type_id', readonly=True, store=True, check_company=True, string="型号")