Accept Merge Request #1444: (feature/auxiliary_files_upload -> 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/1444
This commit is contained in:
@@ -776,6 +776,8 @@ 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):
|
||||||
@@ -837,6 +839,11 @@ 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):
|
||||||
|
attachment_info = self.env['ir.attachment'].sudo().search(
|
||||||
|
[('res_id', '=', res_id), ('res_field', '=', res_field)], limit=1)
|
||||||
|
attachment_info.write({'name': name})
|
||||||
|
|
||||||
# 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品
|
# 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品
|
||||||
def product_create(self, product_id, item, order_id, order_number, i):
|
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()
|
copy_product_id = product_id.with_user(self.env.ref("base.user_admin")).copy()
|
||||||
@@ -875,7 +882,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': '' if not item['machining_drawings'] else base64.b64decode(item['machining_drawings']),
|
'machining_drawings_name': item['machining_drawings_name'],
|
||||||
|
'quality_standard_name': item['quality_standard_name'],
|
||||||
|
'machining_drawings': '' if not item['machining_drawings'] else base64.b64decode(
|
||||||
|
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']),
|
||||||
}
|
}
|
||||||
tax_id = self.env['account.tax'].sudo().search(
|
tax_id = self.env['account.tax'].sudo().search(
|
||||||
@@ -884,6 +894,12 @@ class ResProductMo(models.Model):
|
|||||||
vals.update({'taxes_id': [(6, 0, [int(tax_id)])]})
|
vals.update({'taxes_id': [(6, 0, [int(tax_id)])]})
|
||||||
copy_product_id.sudo().write(vals)
|
copy_product_id.sudo().write(vals)
|
||||||
product_id.product_tmpl_id.active = False
|
product_id.product_tmpl_id.active = False
|
||||||
|
if item['machining_drawings'] and item['machining_drawings_name']:
|
||||||
|
self.attachment_update(item['machining_drawings_name'], copy_product_id.product_tmpl_id.id,
|
||||||
|
'machining_drawings')
|
||||||
|
if item['quality_standard'] and item['quality_standard_name']:
|
||||||
|
self.attachment_update(item['quality_standard_name'], copy_product_id.product_tmpl_id.id,
|
||||||
|
'quality_standard')
|
||||||
return copy_product_id
|
return copy_product_id
|
||||||
|
|
||||||
def _get_ids(self, param):
|
def _get_ids(self, param):
|
||||||
|
|||||||
@@ -182,6 +182,11 @@ class StockRule(models.Model):
|
|||||||
moves._action_confirm()
|
moves._action_confirm()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def attachment_update(self, name, res_id, res_field):
|
||||||
|
attachment_info = self.env['ir.attachment'].sudo().search(
|
||||||
|
[('res_id', '=', res_id), ('res_field', '=', res_field)], limit=1)
|
||||||
|
attachment_info.write({'name': name})
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _run_manufacture(self, procurements):
|
def _run_manufacture(self, procurements):
|
||||||
productions_values_by_company = defaultdict(list)
|
productions_values_by_company = defaultdict(list)
|
||||||
@@ -276,6 +281,12 @@ class StockRule(models.Model):
|
|||||||
production.write({'part_number': production.product_id.part_number,
|
production.write({'part_number': production.product_id.part_number,
|
||||||
'part_drawing': production.product_id.machining_drawings,
|
'part_drawing': production.product_id.machining_drawings,
|
||||||
'quality_standard': production.product_id.quality_standard})
|
'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({
|
||||||
|
|||||||
Reference in New Issue
Block a user