Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into develop
# Conflicts: # sf_dlm/data/product_data.xml
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<data noupdate="1">
|
||||
<record id="product_template_sf" model="product.product">
|
||||
<field name="name">CNC加工产品模板</field>
|
||||
<!-- <field name="categ_id" ref="product.product_category_5"/>-->
|
||||
<!-- <field name="categ_id" ref="product.product_category_5"/>-->
|
||||
<field name="invoice_policy">delivery</field>
|
||||
<field name="detailed_type">product</field>
|
||||
<field name="purchase_ok">false</field>
|
||||
@@ -53,7 +53,5 @@
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="active">False</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -29,6 +29,12 @@ class ResProductTemplate(models.Model):
|
||||
materials_id = fields.Many2one('sf.production.materials', string='材料')
|
||||
materials_type_id = fields.Many2one('sf.materials.model', string='材料型号')
|
||||
# volume = fields.Float(compute='_compute_volume', store=True)
|
||||
single_manufacturing = fields.Boolean(string="单个制造")
|
||||
|
||||
# @api.depends('long', 'width', 'height')
|
||||
# def _compute_volume(self):
|
||||
# self.volume = self.long * self.width * self.height
|
||||
|
||||
|
||||
single_manufacturing = fields.Boolean(string="单个制造")
|
||||
|
||||
@@ -60,6 +66,11 @@ class ResProductTemplate(models.Model):
|
||||
'model_long': item['model_long'],
|
||||
'model_width': item['model_width'],
|
||||
'model_height': item['model_height'],
|
||||
'length': item['long'],
|
||||
'width': item['width'],
|
||||
'height': item['height'],
|
||||
'volume': item['long'] * item['width'] * item['height'],
|
||||
'model_price': item['price'],
|
||||
'length': item['model_long'],
|
||||
'width': item['model_width'],
|
||||
'height': item['model_height'],
|
||||
@@ -161,6 +172,10 @@ class ResMrpBom(models.Model):
|
||||
# 二、胚料的材料型号与生成产品的材料型号一致;
|
||||
# 三、胚料的长宽高均要大于模型的长宽高;
|
||||
# 四、如果匹配成功多个胚料,则选取体积最小的胚料;
|
||||
def bom_create_Line(self, product):
|
||||
logging.info('bom_create_Line:%s' % product)
|
||||
embryo = self.env['product.product'].search(
|
||||
[('categ_id.is_embryo', '=', True), ('materials_type_id', '=', product.materials_type_id.id),
|
||||
# 创建新的胚料,根据胚料材料型号的获取方式(
|
||||
# 自加工,外协,采购) 的配置, 选择不同的库存路线,一种材料型号配置一个路线相关的配置:
|
||||
# 材料型号配置不同的获取方式: (自加工, 外协, 采购);
|
||||
@@ -185,6 +200,8 @@ class ResMrpBom(models.Model):
|
||||
limit=1,
|
||||
order='volume desc'
|
||||
)
|
||||
logging.info('bom_create_Line1:%s' % product)
|
||||
return self.env['mrp.bom.line'].create(vals)
|
||||
if embryo:
|
||||
rate_of_waste = ((embryo.volume - product.model_volume) % embryo.volume) * 100
|
||||
if rate_of_waste <= 20:
|
||||
|
||||
@@ -63,7 +63,8 @@ class ResMrpWorkOrder(models.Model):
|
||||
Y10_axis = fields.Float(default=0)
|
||||
Z10_axis = fields.Float(default=0)
|
||||
X_deviation_angle = fields.Integer(string="X轴偏差度", default=0)
|
||||
test_results = fields.Selection([("合格", "合格"), ("返工", "返工"), ("报废", "报废")], string="检测结果")
|
||||
test_results = fields.Selection([("合格", "合格"), ("返工", "返工"), ("报废", "报废")], default='合格',
|
||||
string="检测结果")
|
||||
cnc_ids = fields.One2many("sf.cnc.processing", 'workorder_id', string="CNC加工")
|
||||
tray_code = fields.Char(string="托盘")
|
||||
|
||||
@@ -346,7 +347,7 @@ class CNCprocessing(models.Model):
|
||||
|
||||
# mrs下发编程单创建CNC加工
|
||||
def cnc_processing_create(self, obj):
|
||||
workorder = self.env['mrp.workorder'].search([('production_id.name', '=', obj['production_order_no']),
|
||||
workorder = self.env['mrp.workorder'].search([('production_id.name', '=', obj['manufacturing_order_no']),
|
||||
('processing_panel', '=', obj['processing_panel']),
|
||||
('routing_type', '=', 'CNC加工')])
|
||||
vals = {
|
||||
|
||||
@@ -71,11 +71,12 @@
|
||||
<field name="routing_type" invisible="1"/>
|
||||
<field name="processing_panel" readonly="1"/>
|
||||
<field name="tray_code"/>
|
||||
|
||||
</group>
|
||||
<div class="col-12 col-lg-6 o_setting_box">
|
||||
<button type="object" class="oe_highlight" name="gettray" string="绑定托盘"
|
||||
attrs='{"invisible": [("production_id","=",False)]}'/>
|
||||
</div>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
</xpath>
|
||||
@@ -86,121 +87,107 @@
|
||||
<field name="processing_panel" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<div>左面:</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X1_axis" string="x"/>
|
||||
<field name="X1_axis" class="o_form_label"/>
|
||||
<label for="Y1_axis" string="y"/>
|
||||
<field name="Y1_axis" class="o_form_label"/>
|
||||
<label for="Z1_axis" string="z"/>
|
||||
<field name="Z1_axis" class="o_form_label"/>
|
||||
<div></div>
|
||||
<div class="o_address_format">
|
||||
<label for="X1_axis" string="x1"/>
|
||||
<field name="X1_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y1_axis" string="y1"/>
|
||||
<field name="Y1_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z1_axis" string="z1"/>
|
||||
<field name="Z1_axis" class="o_address_zip"/>
|
||||
</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X2_axis" string="x2"/>
|
||||
<field name="X2_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y2_axis" string="y2"/>
|
||||
<field name="Y2_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z2_axis" string="z2"/>
|
||||
<field name="Z2_axis" class="o_address_zip"/>
|
||||
<label for="X2_axis" string="x"/>
|
||||
<field name="X2_axis" class="o_form_label"/>
|
||||
<label for="Y2_axis" string="y"/>
|
||||
<field name="Y2_axis" class="o_form_label"/>
|
||||
<label for="Z2_axis" string="z"/>
|
||||
<field name="Z2_axis" class="o_form_label"/>
|
||||
</div>
|
||||
<div>前面:</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X3_axis" string="x"/>
|
||||
<field name="X3_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y3_axis" string="y"/>
|
||||
<field name="Y3_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z3_axis" string="z"/>
|
||||
<field name="Z3_axis" class="o_form_label"/>
|
||||
<div></div>
|
||||
<div class="o_address_format">
|
||||
<label for="X3_axis" string="x1"/>
|
||||
<field name="X3_axis" class="o_address_zip"/>
|
||||
<label for="X4_axis" string="x"/>
|
||||
<field name="X4_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y3_axis" string="y1"/>
|
||||
<field name="Y3_axis" class="o_address_zip"/>
|
||||
<label for="Y4_axis" string="y"/>
|
||||
<field name="Y4_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z3_axis" string="z1"/>
|
||||
<field name="Z3_axis" class="o_address_zip"/>
|
||||
</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X4_axis" string="x2"/>
|
||||
<field name="X4_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y4_axis" string="y2"/>
|
||||
<field name="Y4_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z4_axis" string="z2"/>
|
||||
<field name="Z4_axis" class="o_address_zip"/>
|
||||
<label for="Z4_axis" string="z"/>
|
||||
<field name="Z4_axis" class="o_form_label"/>
|
||||
</div>
|
||||
<div>右面:</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X5_axis" string="x"/>
|
||||
<field name="X5_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y5_axis" string="y"/>
|
||||
<field name="Y5_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z5_axis" string="z"/>
|
||||
<field name="Z5_axis" class="o_form_label"/>
|
||||
<div></div>
|
||||
<div class="o_address_format">
|
||||
<label for="X5_axis" string="x1"/>
|
||||
<field name="X5_axis" class="o_address_zip"/>
|
||||
<label for="X6_axis" string="x"/>
|
||||
<field name="X6_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y5_axis" string="y1"/>
|
||||
<field name="Y5_axis" class="o_address_zip"/>
|
||||
<label for="Y6_axis" string="y"/>
|
||||
<field name="Y6_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z5_axis" string="z1"/>
|
||||
<field name="Z5_axis" class="o_address_zip"/>
|
||||
</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X6_axis" string="x2"/>
|
||||
<field name="X6_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y6_axis" string="y2"/>
|
||||
<field name="Y6_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z6_axis" string="z2"/>
|
||||
<field name="Z6_axis" class="o_address_zip"/>
|
||||
<label for="Z6_axis" string="z"/>
|
||||
<field name="Z6_axis" class="o_form_label"/>
|
||||
</div>
|
||||
<div>后面:</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X7_axis" string="x"/>
|
||||
<field name="X7_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y7_axis" string="y"/>
|
||||
<field name="Y7_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z7_axis" string="z"/>
|
||||
<field name="Z7_axis" class="o_form_label"/>
|
||||
<div></div>
|
||||
<div class="o_address_format">
|
||||
<label for="X7_axis" string="x1"/>
|
||||
<field name="X7_axis" class="o_address_zip"/>
|
||||
<label for="X8_axis" string="x"/>
|
||||
<field name="X8_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y7_axis" string="y1"/>
|
||||
<field name="Y7_axis" class="o_address_zip"/>
|
||||
<label for="Y8_axis" string="y"/>
|
||||
<field name="Y8_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z7_axis" string="z1"/>
|
||||
<field name="Z7_axis" class="o_address_zip"/>
|
||||
</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X8_axis" string="x2"/>
|
||||
<field name="X8_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y8_axis" string="y2"/>
|
||||
<field name="Y8_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z8_axis" string="z2"/>
|
||||
<field name="Z8_axis" class="o_address_zip"/>
|
||||
<label for="Z8_axis" string="z"/>
|
||||
<field name="Z8_axis" class="o_form_label"/>
|
||||
</div>
|
||||
<div>上面:</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X9_axis" string="x"/>
|
||||
<field name="X9_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y9_axis" string="y"/>
|
||||
<field name="Y9_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z9_axis" string="z"/>
|
||||
<field name="Z9_axis" class="o_form_label"/>
|
||||
<div></div>
|
||||
<div class="o_address_format">
|
||||
<label for="X9_axis" string="x1"/>
|
||||
<field name="X9_axis" class="o_address_zip"/>
|
||||
<label for="X10_axis" string="x"/>
|
||||
<field name="X10_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y9_axis" string="y1"/>
|
||||
<field name="Y9_axis" class="o_address_zip"/>
|
||||
<label for="Y10_axis" string="y"/>
|
||||
<field name="Y10_axis" class="o_form_label"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z9_axis" string="z1"/>
|
||||
<field name="Z9_axis" class="o_address_zip"/>
|
||||
</div>
|
||||
<div class="o_address_format">
|
||||
<label for="X10_axis" string="x2"/>
|
||||
<field name="X10_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Y10_axis" string="y2"/>
|
||||
<field name="Y10_axis" class="o_address_zip"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="Z10_axis" string="z2"/>
|
||||
<field name="Z10_axis" class="o_address_zip"/>
|
||||
<label for="Z10_axis" string="z"/>
|
||||
<field name="Z10_axis" class="o_form_label"/>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-lg-6 o_setting_box">
|
||||
<button type="object" class="oe_highlight" name="getcenter" string="计算定位"/>
|
||||
</div>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<field name="material_center_point"/>
|
||||
<field name='X_deviation_angle'/>
|
||||
@@ -235,17 +222,18 @@
|
||||
<xpath expr="//page[last()]" position="after">
|
||||
<page string="后置三元检测" attrs='{"invisible": [("routing_type","!=","后置三元质量检测")]}'>
|
||||
<group>
|
||||
<field name="test_results" widget="selection"/>
|
||||
<field name="test_results" widget="selection" />
|
||||
|
||||
</group>
|
||||
<div class="col-12 col-lg-6 o_setting_box">
|
||||
<button type="object" class="oe_highlight" name="recreateManufacturingOrWorkerOrder"
|
||||
string="检测确认"/>
|
||||
</div>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
<xpath expr="//page[last()]" position="after">
|
||||
<page string="解除装夹" attrs='{"invisible": [("routing_type","!=","解除装夹")]}'>
|
||||
<group>
|
||||
|
||||
<div class="col-12 col-lg-6 o_setting_box">
|
||||
<button type="object" class="oe_highlight" name="unbindtray" string="解除装夹"/>
|
||||
</div>
|
||||
@@ -253,7 +241,7 @@
|
||||
<button type="action" class="oe_highlight" name="sf_manufacturing.label_sf_tray_code1"
|
||||
string="打印标签"/>
|
||||
</div>
|
||||
</group>
|
||||
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user