Commit 380061eb by 夏超

[add] 添加切割工序自动报工功能

parent 9f034ee5
......@@ -3,7 +3,7 @@
'name': '融科-玖姿机械',
'version': '14.0',
'category': 'mes',
'depends': ['roke_mes_purchase','roke_mes_sale','roke_mes_documents', 'roke_mes_stock'],
'depends': ['roke_mes_purchase','roke_mes_sale','roke_mes_documents', 'roke_mes_stock', 'roke_mes_workshop_inspect'],
'author': 'www.rokedata.com',
'website': 'http://www.rokedata.com',
'description': """
......
......@@ -7,6 +7,9 @@ Versions:
"""
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
import logging
_logger = logging.getLogger(__name__)
class RokeWorkLog(models.Model):
......@@ -39,6 +42,34 @@ class RokeWorkLog(models.Model):
taskUuid = fields.Char(string="任务标识")
part_ids = fields.One2many("roke.work.log.part", "log_id", string="零件信息")
@api.model
def create(self, vals):
res = super(RokeWorkLog, self).create(vals)
file_list = res.fileName.split("\\")
if not file_list:
return res
file_name = file_list[-1].split("_")
if not file_name:
return res
task_code = file_name[0]
task = self.env["roke.production.task"].sudo().search([("code", "=", task_code)])
if not task:
return res
work_order = self.env["roke.work.order"].sudo().search([("process_id.name", "ilike", "切割")], limit=1)
if not work_order:
return res
try:
work_order.app_confirm(
finish_qty=sum(res.part_ids.mapped("amount")) / (task.spare_parts_qty if task.spare_parts_qty != 0 else 1),
employee_id=self.env.user.employee_id.id,
unqualified_qty=0,
work_hours=round(res.timeTaken / 3600, 2),
team_id=0,
)
except Exception as e:
_logger.info(f"{e}")
return res
class RokeWorkLogPart(models.Model):
_name = "roke.work.log.part"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment