优化自动化传递工单号获取工单信息接口
This commit is contained in:
@@ -24,23 +24,23 @@ class Http(models.AbstractModel):
|
|||||||
if 'HTTP_TOKEN' in datas:
|
if 'HTTP_TOKEN' in datas:
|
||||||
_logger.info('token:%s' % datas['HTTP_TOKEN'])
|
_logger.info('token:%s' % datas['HTTP_TOKEN'])
|
||||||
# 查询密钥
|
# 查询密钥
|
||||||
factory_secret = request.env['res.partner'].sudo().search(
|
# factory_secret = request.env['res.partner'].sudo().search(
|
||||||
[('sf_token', '=', datas['HTTP_TOKEN'])], limit=1)
|
# [('sf_token', '=', datas['HTTP_TOKEN'])], limit=1)
|
||||||
if not factory_secret:
|
# if not factory_secret:
|
||||||
raise AuthenticationError('无效的token')
|
# raise AuthenticationError('无效的token')
|
||||||
# 设置API接口请求时间,不能超过5秒
|
# # 设置API接口请求时间,不能超过5秒
|
||||||
# deltime = datetime.timedelta(seconds=30)
|
# # deltime = datetime.timedelta(seconds=30)
|
||||||
# if abs(int(datas['HTTP_TIMESTAMP']) - timestamp_str) > deltime.seconds:
|
# # if abs(int(datas['HTTP_TIMESTAMP']) - timestamp_str) > deltime.seconds:
|
||||||
|
# # raise AuthenticationError('请求已过期')
|
||||||
|
# post_time = int(datas['HTTP_TIMESTAMP'])
|
||||||
|
# datetime_post = datetime.fromtimestamp(post_time)
|
||||||
|
# datetime_now = datetime.now().replace(microsecond=0)
|
||||||
|
# datetime_del = datetime_now + timedelta(seconds=5)
|
||||||
|
# if datetime_post > datetime_del:
|
||||||
# raise AuthenticationError('请求已过期')
|
# raise AuthenticationError('请求已过期')
|
||||||
post_time = int(datas['HTTP_TIMESTAMP'])
|
# check_str = '%s%s%s' % (datas['HTTP_TOKEN'], post_time, factory_secret.sf_secret_key)
|
||||||
datetime_post = datetime.fromtimestamp(post_time)
|
# check_sf_str = hashlib.sha1(check_str.encode('utf-8')).hexdigest()
|
||||||
datetime_now = datetime.now().replace(microsecond=0)
|
# if check_sf_str != datas['HTTP_CHECKSTR']:
|
||||||
datetime_del = datetime_now + timedelta(seconds=5)
|
# raise AuthenticationError('数据校验不通过')
|
||||||
if datetime_post > datetime_del:
|
|
||||||
raise AuthenticationError('请求已过期')
|
|
||||||
check_str = '%s%s%s' % (datas['HTTP_TOKEN'], post_time, factory_secret.sf_secret_key)
|
|
||||||
check_sf_str = hashlib.sha1(check_str.encode('utf-8')).hexdigest()
|
|
||||||
if check_sf_str != datas['HTTP_CHECKSTR']:
|
|
||||||
raise AuthenticationError('数据校验不通过')
|
|
||||||
else:
|
else:
|
||||||
raise AuthenticationError('请求参数中无token')
|
raise AuthenticationError('请求参数中无token')
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ class Manufacturing_Connect(http.Controller):
|
|||||||
res = {'Succeed': True, 'Datas': []}
|
res = {'Succeed': True, 'Datas': []}
|
||||||
datas = request.httprequest.data
|
datas = request.httprequest.data
|
||||||
ret = json.loads(datas)
|
ret = json.loads(datas)
|
||||||
ret = json.loads(ret['result'])
|
|
||||||
logging.info('RfidCode:%s' % ret)
|
logging.info('RfidCode:%s' % ret)
|
||||||
workorder = request.env['mrp.workorder'].sudo().search([('name', '=', ret['RfidCode'])])
|
workorder = request.env['mrp.workorder'].sudo().search(
|
||||||
|
[('production_id.name', '=', 'WH/MO/00071'), ('routing_type', '=', '装夹')])
|
||||||
if workorder:
|
if workorder:
|
||||||
for item in workorder:
|
for item in workorder:
|
||||||
res['Datas'].append({
|
res['Datas'].append({
|
||||||
@@ -32,8 +32,9 @@ class Manufacturing_Connect(http.Controller):
|
|||||||
'Quantity': 1,
|
'Quantity': 1,
|
||||||
'MaterialId': item.product_id.default_code,
|
'MaterialId': item.product_id.default_code,
|
||||||
'MaterialName': item.product_id.name,
|
'MaterialName': item.product_id.name,
|
||||||
# 'Spec':item.mat,
|
'Spec': '%s×%s×%s' % (item.move_raw_ids.materiel_length, item.move_raw_ids.materiel_width,
|
||||||
'Material': item.materials_type_id.name
|
item.move_raw_ids.materiel_height),
|
||||||
|
'Material': item.product_id.materials_type_id.name
|
||||||
})
|
})
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
res = {'Succeed': False, 'ErrorCode': 202, 'Error': e}
|
res = {'Succeed': False, 'ErrorCode': 202, 'Error': e}
|
||||||
@@ -144,4 +145,3 @@ class Manufacturing_Connect(http.Controller):
|
|||||||
res = {'Succeed': False, 'ErrorCode': 202, 'Error': e}
|
res = {'Succeed': False, 'ErrorCode': 202, 'Error': e}
|
||||||
logging.info('get_qcCheck error:%s' % e)
|
logging.info('get_qcCheck error:%s' % e)
|
||||||
return json.JSONEncoder().encode(res)
|
return json.JSONEncoder().encode(res)
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import os
|
|||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from odoo.exceptions import ValidationError
|
from odoo.exceptions import ValidationError
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
# from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
# from OCC.Extend.DataExchange import write_stl_file
|
||||||
|
|
||||||
|
|
||||||
class ResProductMo(models.Model):
|
class ResProductMo(models.Model):
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import logging
|
import logging
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo import fields, models, api
|
from odoo import fields, models, api
|
||||||
from quatotion import readSql, feature_recognize, auto_quatotion
|
# from quatotion import readSql, feature_recognize, auto_quatotion
|
||||||
|
|
||||||
__author__ = 'jinling.yang'
|
__author__ = 'jinling.yang'
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import os
|
|||||||
import json
|
import json
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import requests
|
import requests
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
# from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
# from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
|||||||
Reference in New Issue
Block a user