diff --git a/sf_manufacturing/controllers/controllers.py b/sf_manufacturing/controllers/controllers.py index cb778461..95d3cea9 100644 --- a/sf_manufacturing/controllers/controllers.py +++ b/sf_manufacturing/controllers/controllers.py @@ -143,19 +143,13 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': True, 'Datas': []} datas = request.httprequest.data ret = json.loads(datas) - if not ret['BillId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传制造订单号'} - return json.JSONEncoder().encode(res) - if not ret['CraftId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传工序名称'} - return json.JSONEncoder().encode(res) - if not ret['DeviceId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传设备号'} - return json.JSONEncoder().encode(res) production_id = ret['BillId'] routing_type = ret['CraftId'] workorder = request.env['mrp.workorder'].sudo().search( [('production_id', '=', production_id), ('routing_type', '=', routing_type)], limit=1) + if not workorder: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': '该工单不存在'} + return json.JSONEncoder().encode(res) workorder.button_start() except Exception as e: res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} @@ -175,19 +169,13 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': True, 'Datas': []} datas = request.httprequest.data ret = json.loads(datas) - if not ret['BillId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传制造订单号'} - return json.JSONEncoder().encode(res) - if not ret['CraftId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传工序名称'} - return json.JSONEncoder().encode(res) - if not ret['DeviceId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传设备号'} - return json.JSONEncoder().encode(res) production_id = ret['BillId'] routing_type = ret['CraftId'] workorder = request.env['mrp.workorder'].sudo().search( [('production_id', '=', production_id), ('routing_type', '=', routing_type)], limit=1) + if not workorder: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': '该工单不存在'} + return json.JSONEncoder().encode(res) workorder.button_finish() except Exception as e: res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} @@ -207,21 +195,6 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': True, 'Datas': []} datas = request.httprequest.data ret = json.loads(datas) - if not ret['BillId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传制造订单号'} - return json.JSONEncoder().encode(res) - if not ret['CraftId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传工序名称'} - return json.JSONEncoder().encode(res) - if not ret['DeviceId']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传设备号'} - return json.JSONEncoder().encode(res) - if not ret['Quality']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传检测结果'} - return json.JSONEncoder().encode(res) - if not ret['ReportPaht']: - res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未传检查报告文件(地址)'} - return json.JSONEncoder().encode(res) production_id = ret['BillId'] routing_type = ret['CraftId'] request.env['mrp.workorder'].sudo().search( @@ -308,6 +281,7 @@ class Manufacturing_Connect(http.Controller): logging.info('NCProgDolod error:%s' % e) return json.JSONEncoder().encode(res) + @http.route('/AutoDeviceApi/LocationChange', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False, cors="*") def LocationChange(self, **kw): @@ -387,3 +361,4 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} logging.info('AGVDownProduct error:%s' % e) return json.JSONEncoder().encode(res) + diff --git a/sf_sale/models/quick_easy_order.py b/sf_sale/models/quick_easy_order.py index ed52d9de..1ece6b86 100644 --- a/sf_sale/models/quick_easy_order.py +++ b/sf_sale/models/quick_easy_order.py @@ -8,8 +8,8 @@ from datetime import datetime import requests from odoo import http from odoo.http import request -# from OCC.Extend.DataExchange import read_step_file -# from OCC.Extend.DataExchange import write_stl_file +from OCC.Extend.DataExchange import read_step_file +from OCC.Extend.DataExchange import write_stl_file from odoo import models, fields, api from odoo.modules import get_resource_path from odoo.exceptions import ValidationError, UserError diff --git a/sf_warehouse/models/model.py b/sf_warehouse/models/model.py index a1891c71..9fe46616 100644 --- a/sf_warehouse/models/model.py +++ b/sf_warehouse/models/model.py @@ -4,6 +4,9 @@ import logging import base64 import qrcode import io + +import requests + from odoo import api, fields, models, _ from odoo.osv import expression from odoo.exceptions import UserError @@ -383,6 +386,26 @@ class ShelfLocation(models.Model): record.product_id = False record.location_status = '空闲' + #调取获取货位信息接口 + def get_sf_shelf_location_info(self): + # sf_sync_config = self.env['res.config.settings'].get_values() + # token = sf_sync_config['token'] + # sf_secret_key = sf_sync_config['sf_secret_key'] + # headers = Common.get_headers(self, token, sf_secret_key) + # strurl = sf_sync_config['sf_url'] + self.crea_url + headers = {'Authorization': 'Ba F2CF5DCC-1A00-4234-9E95-65603F70CC8A'} + crea_url = 'https://x24467i973.zicp.fun/AutoDeviceApi/GetLocationInfos' + # objs_all = self.env['maintenance.equipment'].search([('id', '=', self.id)]) + # machine_tool_list = [] + params = {'DeviceId': 'Cabinet-AL'} + r = requests.get(crea_url, params=params,headers=headers) + ret = r.json() + print(ret) + if ret['Succeed'] == True: + return '获取库位信息成功' + else: + raise UserError("该库位无产品") + class Sf_stock_move_line(models.Model): _inherit = 'stock.move.line' diff --git a/sf_warehouse/views/shelf_location.xml b/sf_warehouse/views/shelf_location.xml index b22ebd6e..457efc46 100644 --- a/sf_warehouse/views/shelf_location.xml +++ b/sf_warehouse/views/shelf_location.xml @@ -118,6 +118,9 @@
+ +