代码终版

This commit is contained in:
jinling.yang
2022-11-22 13:18:18 +08:00
parent 12615b3dba
commit 6b9fe9167e
8 changed files with 102 additions and 10 deletions

View File

@@ -22,7 +22,7 @@ class Sf_Bf_Connect(http.Controller):
datas = request.httprequest.data
ret = json.loads(datas)
ret = json.loads(ret['result'])
product_id = request.env.ref('sf_bpm_api.product_template_sf').sudo()
product_id = request.env.ref('sf_dlm.product_template_sf').sudo()
company_id = request.env.ref('base.main_company').sudo()
order_id = request.env['sale.order'].with_user(request.env.ref("base.user_admin")).sale_order_create(ret['delivery_end_date'], company_id)
i = 1

View File

@@ -14,13 +14,14 @@
'data': [
'security/group_security.xml',
'security/ir.model.access.csv',
'report/tray_report.xml',
'views/mrp_maintenance_views.xml',
'views/mrp_routing_workcenter_view.xml',
'views/mrp_workcenter_views.xml',
'views/mrp_workorder_view.xml',
'views/mrp_workcenter_views.xml',
'views/tray_view.xml',
'views/model_type_view.xml',
'report/tray_report.xml'
],
'demo': [
],

View File

@@ -16,10 +16,10 @@ class ResWorkcenter(models.Model):
action = self.env["ir.actions.actions"]._for_xml_id("sf_manufacturing.mrp_workorder_action_tablet")
return action
else:
return super(MrpWorkcenter, self).action_work_order()
return super(ResWorkcenter, self).action_work_order()
def _get_unavailability_intervals(self, start_datetime, end_datetime):
res = super(MrpWorkcenter, self)._get_unavailability_intervals(start_datetime, end_datetime)
res = super(ResWorkcenter, self)._get_unavailability_intervals(start_datetime, end_datetime)
if not self:
return res
sql = """

View File

@@ -1,3 +1,5 @@
from datetime import datetime
from dateutil.relativedelta import relativedelta
from odoo import api, fields, models, SUPERUSER_ID, _
@@ -237,7 +239,7 @@ class ResMrpWorkOrder(models.Model):
# 重写工单开始按钮方法
def button_start(self):
if self.state == 'waiting':
if self.state == 'waiting' or self.state == 'ready':
self.ensure_one()
if any(not time.date_end for time in self.time_ids.filtered(lambda t: t.user_id.id == self.env.user.id)):
return True

View File

@@ -1,5 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- 工作中心看板 -->
<record id="mrp_production_view_form_inherit_maintenance" model="ir.ui.view">
<field name="name">mrp.production.view.form.inherit.maintenance</field>
<field name="model">mrp.production</field>
<field name="inherit_id" ref="mrp.mrp_production_form_view"/>
<field name="arch" type="xml">
<button name="action_cancel" position="before">
<button name="button_maintenance_req" type="object" string="Maintenance Request"/>
</button>
<div name="button_box" position="inside">
<button name="open_maintenance_request_mo" type="object" class="oe_stat_button" icon="fa-wrench"
attrs="{'invisible': [('maintenance_count', '=', 0)]}"
context="{'search_default_production_id': active_id}">
<div class="o_field_widget o_stat_info">
<span class="o_stat_value">
<field name="maintenance_count"/>
</span>
<span class="o_stat_text">Maintenance</span>
</div>
</button>
</div>
</field>
</record>
<record id="mrp_workcenter_view_kanban_inherit_workorder" model="ir.ui.view">
<field name="name">mrp.workcenter.view.kanban.inherit.mrp.workorder</field>
<field name="model">mrp.workcenter</field>
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
<field name="arch" type="xml">
<!-- Desktop view -->
<xpath expr="//div[@name='o_wo']" position="inside">
<button class="btn btn-secondary fa fa-desktop" name="action_work_order" type="object" context="{'search_default_ready': 1, 'search_default_progress': 1, 'search_default_pending': 1, 'desktop_list_view': 1, 'search_default_workcenter_id': active_id}" title="Work orders" aria-label="Work orders"/>
</xpath>
</field>
</record>
<!-- override to change the no content image -->
<record id="mrp.action_work_orders" model="ir.actions.act_window">
<field name="help" type="html">
<p class="o_view_nocontent_workorder">
No work orders to do!
</p><p>
Work orders are operations to do as part of a manufacturing order.
Operations are defined in the bill of materials or added in the manufacturing order directly.
</p><p>
Use the table work center control panel to register operations in the shop floor directly.
The tablet provides worksheets for your workers and allow them to scrap products, track time,
launch a maintenance request, perform quality tests, etc.
</p>
</field>
</record>
<menuitem id="menu_mrp_dashboard"
name="工作中心概述"
action="mrp.mrp_workcenter_kanban_action"
groups="mrp.group_mrp_routings"
parent="mrp.menu_mrp_root"
sequence="5"/>
<!-- MRP.WORKCENTER -->
<record model="ir.ui.view" id="view_mrp_workcenter_form_inherit_sf">
<field name="name">mrp.workcenter.form.inherit.sf</field>

View File

@@ -247,8 +247,8 @@
<button type="object" class="oe_highlight" name="unbindtray" string="解除装夹"/>
</div>
<div class="col-12 col-lg-6 o_setting_box">
<!-- <button type="action" class="oe_highlight" name="sf_manufacturing_orders.label_sf_tray_code1"-->
<!-- string="打印标签"/>-->
<button type="action" class="oe_highlight" name="sf_manufacturing.label_sf_tray_code1"
string="打印标签"/>
</div>
</group>
</page>

View File

@@ -7,9 +7,14 @@ class ReSaleOrder(models.Model):
_inherit = 'sale.order'
deadline_of_delivery = fields.Date('交货截止日期')
person_of_delivery = fields.Char('交货人')
telephone_of_delivery = fields.Char('交货人电话号码')
address_of_delivery = fields.Char('交货人地址')
# 业务平台分配工厂后在智能工厂先创建销售订单
def sale_order_create(self, deadline_of_delivery, company_id):
def sale_order_create(self, company_id, delivery_name, delivery_telephone, delivery_address,
deadline_of_delivery):
now_time = datetime.datetime.now()
order_id = self.env['sale.order'].sudo().create({
'company_id': company_id.id,
@@ -18,6 +23,9 @@ class ReSaleOrder(models.Model):
'partner_id': 8,
'state': 'sale',
'user_id': 6,
'person_of_delivery': delivery_name,
'telephone_of_delivery': delivery_telephone,
'address_of_delivery': delivery_address,
'deadline_of_delivery': deadline_of_delivery
})
return order_id
@@ -27,7 +35,9 @@ class ReSaleOrder(models.Model):
vals = {
'order_id': self.id,
'product_id': product.id,
'name': '%s/%s/%s/%s/%s' % (item['model_long'], item['model_width'], item['model_height'], item['model_volume'], product.materials_id.name),
'name': '%s/%s/%s/%s/%s' % (
item['model_long'], item['model_width'], item['model_height'], item['model_volume'],
product.materials_id.name),
'price_unit': item['price'],
'product_uom_qty': item['number']
}

View File

@@ -11,5 +11,25 @@
</field>
</field>
</record>
<record model="ir.ui.view" id="view_sale_management_order_form_quote_inherit_sf">
<field name="name">sale.management.order.form.quote.inherit.sf</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale_management.sale_order_form_quote"/>
<field name="arch" type="xml">
<field name="sale_order_template_id" position="after">
<!-- <label for="person_of_delivery" string="交货信息"/>-->
<!-- <div>-->
<field name="person_of_delivery" string="交货人"/>
<!-- <span>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-->
<!-- </span>-->
<field name="telephone_of_delivery" string="交货人联系方式"/>
<!-- <span>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-->
<!-- </span>-->
<field name="address_of_delivery" string="交货人地址"/>
<!-- </div>-->
</field>
</field>
</record>
</data>
</odoo>