diff --git a/sf_manufacturing/__init__.py b/sf_manufacturing/__init__.py index 0650744f..f7209b17 100644 --- a/sf_manufacturing/__init__.py +++ b/sf_manufacturing/__init__.py @@ -1 +1,2 @@ from . import models +from . import controllers diff --git a/sf_manufacturing/controllers/__init__.py b/sf_manufacturing/controllers/__init__.py new file mode 100644 index 00000000..e046e49f --- /dev/null +++ b/sf_manufacturing/controllers/__init__.py @@ -0,0 +1 @@ +from . import controllers diff --git a/sf_manufacturing/controllers/controllers.py b/sf_manufacturing/controllers/controllers.py new file mode 100644 index 00000000..08bcbfa4 --- /dev/null +++ b/sf_manufacturing/controllers/controllers.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +import logging +import json +import base64 +from odoo import http +from odoo.http import request + + +class Manufacturing_Connect(http.Controller): + + @http.route('/AutoDeviceApi/GetWoInfo', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False, + cors="*") + def get_Work_Info(self, **kw): + """ + 自动化传递工单号获取工单信息 + :param kw: + :return: + """ + logging.info('get_Work_Info:%s' % kw) + try: + res = {'Succeed': True, 'Datas': []} + datas = request.httprequest.data + ret = json.loads(datas) + ret = json.loads(ret['result']) + logging.info('RfidCode:%s' % ret) + workorder = request.env['mrp.workorder'].sudo().search([('name', '=', ret['RfidCode'])]) + if workorder: + for item in workorder: + res['Datas'].append({ + 'BillId': item.production_id.name, + 'ProductionLine': item.production_line, + 'CraftName': item.name, + 'Quantity': 1, + # 'MaterialId':item.P + }) + return json.JSONEncoder().encode(res) + except Exception as e: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} + logging.info('get_Work_Info error:%s' % e) + return json.JSONEncoder().encode(res)