1.修复销售岗位创建快速订单没有生成销售订单问题2.工件配送Tree视图默认上产线

This commit is contained in:
jinling.yang
2024-05-07 14:44:58 +08:00
parent ed41667477
commit b8196cc4a9
10 changed files with 53 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="0">
<data noupdate="1">
<record id="sequence_workpiece_delivery" model="ir.sequence">
<field name="name">工件配送</field>
<field name="code">sf.workpiece.delivery</field>

View File

@@ -399,7 +399,7 @@ class ResProductMo(models.Model):
cutting_speed_ids = fields.One2many('sf.cutting.speed', 'product_template_id', string='切削速度Vc')
feed_per_tooth_ids = fields.One2many('sf.feed.per.tooth', 'product_template_id', string='每齿走刀量fz')
cutting_tool_diameter = fields.Float('直径(mm)')
cutting_tool_diameter = fields.Float('刀具直径(mm)')
cutting_tool_rear_angle = fields.Integer('后角(°)')
cutting_tool_main_included_angle = fields.Integer('主偏角(°)')
# 适用夹头型号可以多选

View File

@@ -73,7 +73,9 @@
<field name="arch" type="xml">
<search string="Logs">
<field name="name"/>
<field name="interface_call_date"/>
<group expand="0" string="分组">
<field name="interface_call_date"/>
</group>
</search>
</field>
</record>

View File

@@ -624,8 +624,8 @@
<field name="model">sf.workpiece.delivery</field>
<field name="arch" type="xml">
<search string="工件配送">
<filter string="上产线" name="up" domain="[('type', '=', '上产线')]"/>
<filter string="下产线" name="down" domain="[('type', '=', '下产线' )]"/>
<filter string="上产线" name="on_up" domain="[('type', '=', '上产线')]"/>
<filter string="下产线" name="on_down" domain="[('type', '=', '下产线' )]"/>
<field name="rfid_code"/>
<field name="production_id"/>
<field name="feeder_station_start_id"/>
@@ -647,7 +647,7 @@
<field name="name">工件配送</field>
<field name="res_model">sf.workpiece.delivery</field>
<field name="search_view_id" ref="sf_workpiece_delivery_search"/>
<!-- <field name="context">{'search_default_on_up':1}</field>-->
<field name="context">{'search_default_on_up':1}</field>
<field name="view_mode">tree,search</field>
<field name="domain">[('type','in',['上产线','下产线']),('workorder_state','=','done')]</field>
</record>

View File

@@ -17,7 +17,6 @@ from odoo.addons.sf_base.commons.common import Common
from . import parser_and_calculate_work_time as pc
class QuickEasyOrder(models.Model):
_name = 'quick.easy.order'
_description = '简易下单'
@@ -55,6 +54,7 @@ class QuickEasyOrder(models.Model):
('success', '成功'),
('fail', '失败')], string='模型上色状态')
processing_time = fields.Integer('加工时长(min)')
sale_order_id = fields.Many2one('sale.order', '销售订单号')
@api.depends('unit_price', 'quantity')
def _compute_total_amount(self):
@@ -89,7 +89,8 @@ class QuickEasyOrder(models.Model):
obj = super(QuickEasyOrder, self).create(vals)
# self.model_coloring(obj)
logging.info('---------开始派单到工厂-------')
self.distribute_to_factory(obj)
sale_order = self.distribute_to_factory(obj)
obj.sale_order_id = sale_order.id
obj.state = '待接单'
return obj

View File

@@ -51,6 +51,7 @@ class QuickEasyOrder(models.Model):
('success', '成功'),
('fail', '失败')], string='模型上色状态')
processing_time = fields.Integer('加工时长(min)')
sale_order_id = fields.Many2one('sale.order', '销售订单号')
@api.depends('unit_price', 'quantity')
def _compute_total_amount(self):
@@ -79,12 +80,12 @@ class QuickEasyOrder(models.Model):
base64_datas = base64_data.decode('utf-8')
model_code = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest()
report_path = attachment._full_path(attachment.store_fname)
vals['model_file'] = self.transition_glb_file(report_path, model_code)
obj = super(QuickEasyOrder, self).create(vals)
logging.info('---------向cloud生成模型库记录-------')
self.model_coloring(obj)
logging.info('---------开始派单到工厂-------')
self.distribute_to_factory(obj)
sale_order = self.distribute_to_factory(obj)
obj.sale_order_id = sale_order.id
obj.state = '待接单'
return obj
@@ -264,6 +265,7 @@ class QuickEasyOrder(models.Model):
product_bom_purchase = self.env['mrp.bom'].bom_create(product, 'normal', False)
product_bom_purchase.bom_create_line_has(purchase_embryo)
order_id.with_user(self.env.ref("base.user_admin")).sale_order_create_line(product, item)
return order_id
except Exception as e:
# self.cr.rollback()
return UserError('工厂创建销售订单和产品失败,请联系管理员')

View File

@@ -141,6 +141,19 @@ class ResaleOrderLine(models.Model):
model_glb_file = fields.Binary('模型的glb文件')
check_status = fields.Selection(related='order_id.check_status')
@api.onchange('product_id')
def _compute_model_glb_file(self):
for line in self:
if line.product_template_id:
if not line.model_glb_file:
line.update({
'model_glb_file': line.product_id.product_tmpl_id.model_file,
})
if not line.price_unit:
line.update({
'price_unit': line.product_id.product_tmpl_id.list_price,
})
class ProductTemplate(models.Model):
_inherit = 'product.template'

View File

@@ -99,6 +99,26 @@
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
</record>
<record model="ir.rule" id="quick_easy_order_rule_salemanager">
<field name="name">销售经理只可以查看本人的快速订单</field>
<field name="model_id" ref="model_quick_easy_order"/>
<field name="domain_force">[('create_uid', '=',user.id)]</field>
<field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_create" eval="0"/>
</record>
<record model="ir.rule" id="quick_easy_order_rule_director">
<field name="name">销售总监查看所有快速订单</field>
<field name="model_id" ref="model_quick_easy_order"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
</record>
</data>
</odoo>

View File

@@ -32,8 +32,8 @@ access_stock_picking_group_quality_director,stock_picking_group_quality_director
access_account_move_group_sale_salemanager,account_move_group_sale_salemanager,account.model_account_move,sf_base.group_sale_salemanager,1,0,0,0
access_account_move_group_sale_director,account_move_group_sale_director,account.model_account_move,sf_base.group_sale_director,1,0,0,0
access_resource_resource_group_sale_director,resource_resource_group_sale_director,resource.model_resource_resource,sf_base.group_sale_director,1,1,1,0
access_mrp_bom_group_sale_salemanager,mrp_bom_group_sale_salemanager,mrp.model_mrp_bom,sf_base.group_sale_salemanager,1,0,0,0
access_mrp_bom_group_sale_director,mrp_bom_group_sale_director,mrp.model_mrp_bom,sf_base.group_sale_director,1,0,0,0
access_mrp_bom_group_sale_salemanager,mrp_bom_group_sale_salemanager,mrp.model_mrp_bom,sf_base.group_sale_salemanager,1,0,1,0
access_mrp_bom_group_sale_director,mrp_bom_group_sale_director,mrp.model_mrp_bom,sf_base.group_sale_director,1,0,1,0
access_mrp_bom_group_purchase,mrp_bom_group_purchase,mrp.model_mrp_bom,sf_base.group_purchase,1,0,0,0
access_mrp_bom_group_purchase_director,mrp_bom_group_purchase_director,mrp.model_mrp_bom,sf_base.group_purchase_director,1,0,0,0
access_mrp_bom_group_quality,mrp_bom_group_quality,mrp.model_mrp_bom,sf_base.group_quality,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
32 access_account_move_group_sale_director account_move_group_sale_director account.model_account_move sf_base.group_sale_director 1 0 0 0
33 access_resource_resource_group_sale_director resource_resource_group_sale_director resource.model_resource_resource sf_base.group_sale_director 1 1 1 0
34 access_mrp_bom_group_sale_salemanager mrp_bom_group_sale_salemanager mrp.model_mrp_bom sf_base.group_sale_salemanager 1 0 0 1 0
35 access_mrp_bom_group_sale_director mrp_bom_group_sale_director mrp.model_mrp_bom sf_base.group_sale_director 1 0 0 1 0
36 access_mrp_bom_group_purchase mrp_bom_group_purchase mrp.model_mrp_bom sf_base.group_purchase 1 0 0 0
37 access_mrp_bom_group_purchase_director mrp_bom_group_purchase_director mrp.model_mrp_bom sf_base.group_purchase_director 1 0 0 0
38 access_mrp_bom_group_quality mrp_bom_group_quality mrp.model_mrp_bom sf_base.group_quality 1 0 0 0
39 access_mrp_bom_group_quality_director mrp_bom_group_quality_director mrp.model_mrp_bom sf_base.group_quality_director 1 0 0 0

View File

@@ -26,6 +26,7 @@
<field name="quantity"/>
<field name="unit_price"/>
<field name="price"/>
<field name="sale_order_id"/>
<field name="create_uid" string="创建人"/>
<field name="create_date" string="创建时间"/>
<field optional="hide" name="delivery_time"/>
@@ -78,6 +79,8 @@
<field name="quantity" options="{'format': false}"/>
<field name="unit_price"/>
<field name="price" options="{'format': false}"/>
<field name="sale_order_id"
attrs='{"invisible": [("sale_order_id","=",False)],"readonly": [("sale_order_id","!=",False)]}'/>
</group>
</group>
</sheet>