Merge branch 'feature/修改产品等信息' into develop

# Conflicts:
#	sf_base/models/product_template.py
#	sf_route_workcenter/models/workcenter.py
This commit is contained in:
jinling.yang
2022-11-20 20:11:21 +08:00
14 changed files with 128 additions and 102 deletions

View File

@@ -6,6 +6,7 @@ class ModelType(models.Model):
_description = '模型类型'
name = fields.Char('名称')
embryo_tolerance = fields.Integer('胚料的容余量')
routing_tmpl_ids = fields.One2many('sf.model.type.routing.sort', 'model_type_id', '工序模板')

View File

@@ -1,4 +1,4 @@
from odoo import models, fields,api
from odoo import models, fields, api
from odoo.exceptions import ValidationError
@@ -9,7 +9,7 @@ class ResProductTemplate(models.Model):
model_long = fields.Float('模型长[mm]', digits=(16, 3))
model_width = fields.Float('模型宽[mm]', digits=(16, 3))
model_height = fields.Float('模型高[mm]', digits=(16, 3))
model_volume = fields.Float('模型体积[mm³]', digits=(16, 3))
model_volume = fields.Float('模型体积[mm³]', digits=(16, 3), compute='_compute_model_volume', store=True)
model_precision = fields.Float('精度要求', digits=(16, 3))
model_materials_id = fields.Many2one('mrs.production.materials', string='模型材料')
model_materials_type_id = fields.Many2one('mrs.materials.model', string='模型材料型号')
@@ -22,6 +22,7 @@ class ResProductTemplate(models.Model):
# total_amount = fields.Float('金额', digits=(16, 3), compute='_compute_total_amount')
# model_number =
# 胚料的长,宽,高
embryo_long = fields.Float('胚料长[mm]', digits=(16, 3), onchange='count_embryo_size')
embryo_width = fields.Float('胚料宽[mm]', digits=(16, 3), onchange='count_embryo_size')
@@ -29,6 +30,12 @@ class ResProductTemplate(models.Model):
embryo_materials_id = fields.Many2one('mrs.production.materials', string='胚料材料')
embryo_materials_type_id = fields.Many2one('mrs.materials.model', string='胚料材料型号')
long = fields.Float('长[mm]', digits=(16, 3), onchange='add_product_size')
width = fields.Float('宽[mm]', digits=(16, 3), onchange='add_product_size')
height = fields.Float('高[mm]', digits=(16, 3), onchange='add_product_size')
materials_id = fields.Many2one('mrs.production.materials', string='材料')
materials_type_id = fields.Many2one('mrs.materials.model', string='材料型号')
volume = fields.Float(compute='_compute_volume', store=True)
@@ -36,6 +43,10 @@ class ResProductTemplate(models.Model):
def _compute_volume(self):
self.volume = self.embryo_long * self.embryo_width * self.embryo_height
@api.depends('model_long', 'model_width', 'model_height')
def _compute_model_volume(self):
self.model_volume = self.model_long * self.model_width * self.model_height
# 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品
def product_create(self, product_id, item, order_id, order_number, i):
copy_product_id = product_id.with_user(self.env.ref("base.user_admin")).copy()
@@ -63,6 +74,7 @@ class ResProductTemplate(models.Model):
copy_product_id.sudo().write(vals)
return copy_product_id
# 在产品上增加模型类型和加工的面例如A、B)
# 并根据模型类型计算出产品的胚料尺寸;
@api.onchange('model_type_id')
@@ -82,6 +94,25 @@ class ResProductTemplate(models.Model):
# 根据模型类型默认给模型的长高宽加配置的长度;
@api.onchange('model_type_id')
def add_product_size(self):
if not self.model_type_id:
return
model_type = self.env['sf.model.type'].search(
[('id', '=', self.model_type_id.id)])
print(self.model_long)
print(self.model_width)
print(self.model_height)
for item in self:
print(item.model_long)
print(item.model_width)
print(item.model_height)
item.model_long = item.model_long + model_type.embryo_tolerance
item.model_width = item.model_width + model_type.embryo_tolerance
item.model_height = item.model_width + model_type.embryo_tolerance
class ResProductCategory(models.Model):
_inherit = "product.category"
@@ -124,14 +155,3 @@ class ResMrpBom(models.Model):
'product_uom_id': 1
}
return self.env['mrp.bom.line'].create(vals)

View File

@@ -264,5 +264,5 @@ class CNCprocessing(models.Model):
FJGSD = fields.Char(string="加工深度(Z)")
FSCCD = fields.Char(string="刀具伸出长度")
FDJSpec = fields.Char(string="刀柄型号")
FJGDate = fields.Char(string="预计加工时间")
FJGDate = fields.Datetime(string="预计加工时间")
FComment = fields.Char(string="备注")