2025-06-18 15:48:13 +08:00
|
|
|
from utils.api_utils import ApiUtils
|
|
|
|
|
import logging
|
|
|
|
|
import json
|
|
|
|
|
class GcApi:
|
2025-07-14 15:44:16 +08:00
|
|
|
"""工程API接口类"""
|
|
|
|
|
|
2025-06-18 15:48:13 +08:00
|
|
|
def __init__(self):
|
2025-07-14 15:44:16 +08:00
|
|
|
"""初始化API接口"""
|
2025-06-18 15:48:13 +08:00
|
|
|
self.api_utils = ApiUtils()
|
2025-07-14 15:44:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def ismt_option(self, params):
|
|
|
|
|
"""
|
|
|
|
|
标记是否满托
|
2025-06-18 15:48:13 +08:00
|
|
|
|
2025-07-14 15:44:16 +08:00
|
|
|
Args:
|
|
|
|
|
ismt: 是否满托
|
|
|
|
|
corp_id: 公司ID
|
|
|
|
|
tray_id: 托盘ID
|
|
|
|
|
ip: 机器IP
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
dict: 返回结果
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
# API 配置中的键名
|
|
|
|
|
api_key = "ismt_option"
|
|
|
|
|
# 构建 form-data 格式的数据
|
|
|
|
|
data = {
|
|
|
|
|
"ismt": params.get("ismt", False),
|
|
|
|
|
"xpack":params.get("tray_id", ""),
|
|
|
|
|
"nw_ip":params.get("ip", ""),
|
|
|
|
|
"data_corp":params.get("corp_id", ""),
|
|
|
|
|
}
|
|
|
|
|
# 将工程号作为参数传递,使用 data 参数传递 form-data 格式数据
|
|
|
|
|
response = self.api_utils.post(api_key, data=data)
|
|
|
|
|
|
|
|
|
|
# 请求失败时返回空数据
|
|
|
|
|
if not response.get("status", False):
|
|
|
|
|
return {
|
|
|
|
|
"success": False,
|
|
|
|
|
"message": "标记是否满托失败",
|
|
|
|
|
"data": None
|
|
|
|
|
}
|
|
|
|
|
return response
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logging.error(f"标记是否满托失败: {str(e)}")
|
|
|
|
|
return None
|
2025-06-18 15:48:13 +08:00
|
|
|
def get_gc_info(self, gc_code):
|
|
|
|
|
"""
|
|
|
|
|
获取GC信息
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
gc_code: GC编号
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
dict: GC信息
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
# API 配置中的键名
|
|
|
|
|
api_key = "get_gc_info"
|
|
|
|
|
# 构建 form-data 格式的数据
|
|
|
|
|
data = {
|
|
|
|
|
"sc_gch": gc_code,
|
|
|
|
|
"data_corp":"JT"
|
|
|
|
|
}
|
|
|
|
|
# 将工程号作为参数传递,使用 data 参数传递 form-data 格式数据
|
|
|
|
|
response = self.api_utils.post(api_key, data=data)
|
|
|
|
|
|
|
|
|
|
# 请求失败时返回空数据
|
|
|
|
|
if not response.get("status", False):
|
|
|
|
|
return {
|
|
|
|
|
"success": False,
|
|
|
|
|
"message": "获取GC信息失败",
|
|
|
|
|
"data": None
|
|
|
|
|
}
|
|
|
|
|
return response
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logging.error(f"获取GC信息失败: {str(e)}")
|
|
|
|
|
return None
|
2025-06-25 14:56:04 +08:00
|
|
|
def get_order_info(self, order_code,corp_id):
|
2025-06-18 15:48:13 +08:00
|
|
|
"""
|
|
|
|
|
获取订单信息
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
# API 配置中的键名
|
|
|
|
|
api_key = "get_order_info"
|
|
|
|
|
# 构建 form-data 格式的数据
|
2025-06-25 14:56:04 +08:00
|
|
|
order_dict = {"srch_mo":order_code,"data_corp":corp_id}
|
2025-06-18 15:48:13 +08:00
|
|
|
data = {
|
|
|
|
|
"parms": json.dumps(order_dict), # 必须将数据序列化为JSON字符串
|
|
|
|
|
"pageIndex": 0,
|
|
|
|
|
"pageSize": 10,
|
|
|
|
|
"sortField": "",
|
|
|
|
|
"sortOrder": ""
|
|
|
|
|
}
|
|
|
|
|
# 将工程号作为参数传递,使用 data 参数传递 form-data 格式数据
|
|
|
|
|
response = self.api_utils.post(api_key, data=data)
|
|
|
|
|
return response
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logging.error(f"获取订单信息失败: {str(e)}")
|
|
|
|
|
return None
|
|
|
|
|
def add_order_info(self, info):
|
|
|
|
|
"""
|
|
|
|
|
添加订单信息
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
# API 配置中的键名
|
|
|
|
|
api_key = "add_order_info"
|
|
|
|
|
# 构建 form-data 格式的数据
|
|
|
|
|
data = {
|
|
|
|
|
"parms": json.dumps(info), # 必须将数据序列化为JSON字符串
|
|
|
|
|
"pageIndex": 0,
|
|
|
|
|
"pageSize": 10,
|
|
|
|
|
"sortField": "",
|
|
|
|
|
"sortOrder": ""
|
|
|
|
|
}
|
|
|
|
|
# 将工程号作为参数传递,使用 data 参数传递 form-data 格式数据
|
|
|
|
|
response = self.api_utils.post(api_key, data=data)
|
|
|
|
|
return response
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logging.error(f"添加订单信息失败: {str(e)}")
|
2025-06-19 08:40:16 +08:00
|
|
|
return None
|
|
|
|
|
|
2025-06-25 14:56:04 +08:00
|
|
|
def get_xpack(self, order_id,corp_id):
|
2025-06-19 08:40:16 +08:00
|
|
|
"""
|
|
|
|
|
获取包装号
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
# API 配置中的键名
|
|
|
|
|
api_key = "get_xpack"
|
|
|
|
|
# 构建 form-data 格式的数据
|
|
|
|
|
data = {
|
|
|
|
|
"ddmo": order_id,
|
2025-06-25 14:56:04 +08:00
|
|
|
"data_corp":corp_id
|
2025-06-19 08:40:16 +08:00
|
|
|
}
|
|
|
|
|
# 将工程号作为参数传递,使用 data 参数传递 form-data 格式数据
|
|
|
|
|
response = self.api_utils.post(api_key, data=data)
|
|
|
|
|
return response
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logging.error(f"获取包装号失败: {str(e)}")
|
2025-06-18 15:48:13 +08:00
|
|
|
return None
|