Accept Merge Request #1473: (feature/message_update -> develop)
Merge Request: 辅助文件上传 Created By: @管欢 Reviewed By: @胡尧 Approved By: @胡尧 Accepted By: @管欢 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/1473
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
""",
|
""",
|
||||||
'category': 'sf',
|
'category': 'sf',
|
||||||
'website': 'https://www.sf.jikimo.com',
|
'website': 'https://www.sf.jikimo.com',
|
||||||
'depends': ['sf_sale', 'sf_dlm', 'sf_manufacturing'],
|
'depends': ['sf_sale', 'sf_dlm', 'sf_manufacturing','jikimo_attachment_viewer'],
|
||||||
'data': [
|
'data': [
|
||||||
'data/stock_data.xml',
|
'data/stock_data.xml',
|
||||||
'views/product_template_management_view.xml',
|
'views/product_template_management_view.xml',
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""",
|
""",
|
||||||
'category': 'sf',
|
'category': 'sf',
|
||||||
'website': 'https://www.sf.jikimo.com',
|
'website': 'https://www.sf.jikimo.com',
|
||||||
'depends': ['sf_base', 'sf_maintenance', 'web_widget_model_viewer', 'sf_warehouse'],
|
'depends': ['sf_base', 'sf_maintenance', 'web_widget_model_viewer', 'sf_warehouse','jikimo_attachment_viewer'],
|
||||||
'data': [
|
'data': [
|
||||||
'data/stock_data.xml',
|
'data/stock_data.xml',
|
||||||
'data/empty_racks_data.xml',
|
'data/empty_racks_data.xml',
|
||||||
|
|||||||
@@ -141,12 +141,12 @@ class MrpProduction(models.Model):
|
|||||||
], string='工序状态', default='待装夹')
|
], string='工序状态', default='待装夹')
|
||||||
|
|
||||||
# 零件图号
|
# 零件图号
|
||||||
part_number = fields.Char('零件图号', readonly=True)
|
part_number = fields.Char('零件图号', related='product_id.part_number', readonly=True)
|
||||||
|
|
||||||
# 上传零件图纸
|
# 上传零件图纸
|
||||||
part_drawing = fields.Binary('零件图纸', readonly=True)
|
part_drawing = fields.Binary('零件图纸', related='product_id.machining_drawings', readonly=True)
|
||||||
|
|
||||||
quality_standard = fields.Binary('质检标准', readonly=True)
|
quality_standard = fields.Binary('质检标准', related='product_id.quality_standard', readonly=True)
|
||||||
|
|
||||||
@api.depends('product_id.manual_quotation')
|
@api.depends('product_id.manual_quotation')
|
||||||
def _compute_manual_quotation(self):
|
def _compute_manual_quotation(self):
|
||||||
|
|||||||
@@ -777,8 +777,6 @@ class ResProductMo(models.Model):
|
|||||||
part_number = fields.Char(string='零件图号', readonly=True)
|
part_number = fields.Char(string='零件图号', readonly=True)
|
||||||
machining_drawings = fields.Binary('2D加工图纸', readonly=True)
|
machining_drawings = fields.Binary('2D加工图纸', readonly=True)
|
||||||
quality_standard = fields.Binary('质检标准', readonly=True)
|
quality_standard = fields.Binary('质检标准', readonly=True)
|
||||||
machining_drawings_name = fields.Char('2D加工图纸名', readonly=True)
|
|
||||||
quality_standard_name = fields.Char('质检标准名', readonly=True)
|
|
||||||
|
|
||||||
@api.constrains('tool_length')
|
@api.constrains('tool_length')
|
||||||
def _check_tool_length_size(self):
|
def _check_tool_length_size(self):
|
||||||
@@ -840,10 +838,10 @@ class ResProductMo(models.Model):
|
|||||||
else:
|
else:
|
||||||
return self.env.ref('sf_dlm.product_uom_cubic_millimeter')
|
return self.env.ref('sf_dlm.product_uom_cubic_millimeter')
|
||||||
|
|
||||||
def attachment_update(self, name, res_id, res_field):
|
def attachment_update(self, name, res_id, res_field, mimetype):
|
||||||
attachment_info = self.env['ir.attachment'].sudo().search(
|
attachment_info = self.env['ir.attachment'].sudo().search(
|
||||||
[('res_id', '=', res_id), ('res_field', '=', res_field)], limit=1)
|
[('res_id', '=', res_id), ('res_field', '=', res_field)], limit=1)
|
||||||
attachment_info.write({'name': name})
|
attachment_info.write({'name': name, 'mimetype': mimetype})
|
||||||
|
|
||||||
# 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品
|
# 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品
|
||||||
def product_create(self, product_id, item, order_id, order_number, i):
|
def product_create(self, product_id, item, order_id, order_number, i):
|
||||||
@@ -883,8 +881,10 @@ class ResProductMo(models.Model):
|
|||||||
'manual_quotation': item['manual_quotation'] or False,
|
'manual_quotation': item['manual_quotation'] or False,
|
||||||
'part_number': item.get('part_number') or '',
|
'part_number': item.get('part_number') or '',
|
||||||
'active': True,
|
'active': True,
|
||||||
'machining_drawings_name': item['machining_drawings_name'],
|
# 'machining_drawings_name': item['machining_drawings_name'],
|
||||||
'quality_standard_name': item['quality_standard_name'],
|
# 'quality_standard_name': item['quality_standard_name'],
|
||||||
|
# 'machining_drawings_mimetype': item['machining_drawings_mimetype'],
|
||||||
|
# 'quality_standard_mimetype': item['quality_standard_mimetype'],
|
||||||
'machining_drawings': '' if not item['machining_drawings'] else base64.b64decode(
|
'machining_drawings': '' if not item['machining_drawings'] else base64.b64decode(
|
||||||
item['machining_drawings']),
|
item['machining_drawings']),
|
||||||
'quality_standard': '' if not item['quality_standard'] else base64.b64decode(item['quality_standard']),
|
'quality_standard': '' if not item['quality_standard'] else base64.b64decode(item['quality_standard']),
|
||||||
@@ -897,10 +897,10 @@ class ResProductMo(models.Model):
|
|||||||
product_id.product_tmpl_id.active = False
|
product_id.product_tmpl_id.active = False
|
||||||
if item['machining_drawings'] and item['machining_drawings_name']:
|
if item['machining_drawings'] and item['machining_drawings_name']:
|
||||||
self.attachment_update(item['machining_drawings_name'], copy_product_id.product_tmpl_id.id,
|
self.attachment_update(item['machining_drawings_name'], copy_product_id.product_tmpl_id.id,
|
||||||
'machining_drawings')
|
'machining_drawings', item['machining_drawings_mimetype'])
|
||||||
if item['quality_standard'] and item['quality_standard_name']:
|
if item['quality_standard'] and item['quality_standard_name']:
|
||||||
self.attachment_update(item['quality_standard_name'], copy_product_id.product_tmpl_id.id,
|
self.attachment_update(item['quality_standard_name'], copy_product_id.product_tmpl_id.id,
|
||||||
'quality_standard')
|
'quality_standard', item['quality_standard_mimetype'])
|
||||||
return copy_product_id
|
return copy_product_id
|
||||||
|
|
||||||
def _get_ids(self, param):
|
def _get_ids(self, param):
|
||||||
|
|||||||
@@ -272,21 +272,6 @@ class StockRule(models.Model):
|
|||||||
workorder_duration += workorder.duration_expected
|
workorder_duration += workorder.duration_expected
|
||||||
|
|
||||||
sale_order = self.env['sale.order'].sudo().search([('name', '=', production.origin)])
|
sale_order = self.env['sale.order'].sudo().search([('name', '=', production.origin)])
|
||||||
# 根据销售订单号查询快速订单
|
|
||||||
quick_easy_order = self.env['quick.easy.order'].sudo().search([('sale_order_id', '=', sale_order.id)])
|
|
||||||
if quick_easy_order:
|
|
||||||
production.write({'part_number': quick_easy_order.part_drawing_number,
|
|
||||||
'part_drawing': quick_easy_order.machining_drawings})
|
|
||||||
else:
|
|
||||||
production.write({'part_number': production.product_id.part_number,
|
|
||||||
'part_drawing': production.product_id.machining_drawings,
|
|
||||||
'quality_standard': production.product_id.quality_standard})
|
|
||||||
if production.product_id.machining_drawings and production.product_id.machining_drawings_name:
|
|
||||||
self.attachment_update(production.product_id.machining_drawings_name, production.id,
|
|
||||||
'part_drawing')
|
|
||||||
if production.product_id.quality_standard and production.product_id.quality_standard_name:
|
|
||||||
self.attachment_update(production.product_id.quality_standard_name, production.id,
|
|
||||||
'quality_standard')
|
|
||||||
if sale_order:
|
if sale_order:
|
||||||
# sale_order.write({'schedule_status': 'to schedule'})
|
# sale_order.write({'schedule_status': 'to schedule'})
|
||||||
self.env['sf.production.plan'].sudo().with_company(company_id).create({
|
self.env['sf.production.plan'].sudo().with_company(company_id).create({
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
'author': 'jikimo',
|
'author': 'jikimo',
|
||||||
'website': 'https://sf.cs.jikimo.com',
|
'website': 'https://sf.cs.jikimo.com',
|
||||||
# 此处依赖sf_manufacturing是因为我要重写其中的一个字段operation_id的string,故需要sf_manufacturing先安装
|
# 此处依赖sf_manufacturing是因为我要重写其中的一个字段operation_id的string,故需要sf_manufacturing先安装
|
||||||
'depends': ['quality_control', 'web_widget_model_viewer', 'sf_manufacturing'],
|
'depends': ['quality_control', 'web_widget_model_viewer', 'sf_manufacturing','jikimo_attachment_viewer'],
|
||||||
'data': [
|
'data': [
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'views/view.xml',
|
'views/view.xml',
|
||||||
|
|||||||
@@ -221,9 +221,8 @@ class QuickEasyOrder(models.Model):
|
|||||||
'remark': '',
|
'remark': '',
|
||||||
'manual_quotation': True,
|
'manual_quotation': True,
|
||||||
'barcode': barcode,
|
'barcode': barcode,
|
||||||
'machining_drawings_name': '',
|
'part_number': item.part_drawing_number,
|
||||||
'quality_standard_name': '',
|
'machining_drawings': item.machining_drawings,
|
||||||
'machining_drawings': '',
|
|
||||||
'quality_standard': '',
|
'quality_standard': '',
|
||||||
})
|
})
|
||||||
# res['bfm_process_order_list'] = json.dumps(res['bfm_process_order_list'])
|
# res['bfm_process_order_list'] = json.dumps(res['bfm_process_order_list'])
|
||||||
|
|||||||
@@ -80,8 +80,8 @@
|
|||||||
<field name="unit_price"/>
|
<field name="unit_price"/>
|
||||||
<field name="price" options="{'format': false}"/>
|
<field name="price" options="{'format': false}"/>
|
||||||
<field name="part_drawing_number"/>
|
<field name="part_drawing_number"/>
|
||||||
<!-- <field name="machining_drawings" filename="machining_drawings_name" widget="pdf_viewer"/>-->
|
<field name="machining_drawings" filename="machining_drawings_name" widget="pdf_viewer"/>
|
||||||
<!-- <field name="machining_drawings_name" invisible="1"/>-->
|
<field name="machining_drawings_name" invisible="1"/>
|
||||||
<field name="sale_order_id"
|
<field name="sale_order_id"
|
||||||
attrs='{"invisible": [("sale_order_id","=",False)],"readonly": [("sale_order_id","!=",False)]}'/>
|
attrs='{"invisible": [("sale_order_id","=",False)],"readonly": [("sale_order_id","!=",False)]}'/>
|
||||||
</group>
|
</group>
|
||||||
|
|||||||
Reference in New Issue
Block a user