diff --git a/sf_base/__manifest__.py b/sf_base/__manifest__.py
index 7352396d..aae20018 100644
--- a/sf_base/__manifest__.py
+++ b/sf_base/__manifest__.py
@@ -16,7 +16,6 @@
'security/ir.model.access.csv',
'views/mrs_base_view.xml',
'views/mrs_common_view.xml',
- 'views/mrp_routing_workcenter_view.xml',
"views/menu_view.xml",
'views/sale_order_view.xml',
'views/product_template_view.xml',
diff --git a/sf_base/models/process.py b/sf_base/models/process.py
index e6ef6348..ec793560 100644
--- a/sf_base/models/process.py
+++ b/sf_base/models/process.py
@@ -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', '工序模板')
diff --git a/sf_base/models/product_template.py b/sf_base/models/product_template.py
index 99ab1f81..02bc0bad 100644
--- a/sf_base/models/product_template.py
+++ b/sf_base/models/product_template.py
@@ -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)
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sf_base/models/sf_base.py b/sf_base/models/sf_base.py
index e337d301..d098127b 100644
--- a/sf_base/models/sf_base.py
+++ b/sf_base/models/sf_base.py
@@ -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="备注")
diff --git a/sf_base/views/mrp_routing_workcenter_view.xml b/sf_base/views/mrp_routing_workcenter_view.xml
deleted file mode 100644
index f094c22d..00000000
--- a/sf_base/views/mrp_routing_workcenter_view.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-
-