89 lines
3.9 KiB
Python
89 lines
3.9 KiB
Python
# -*- coding:utf-8 -*-
|
||
"""
|
||
Author: qiaoxinjiu
|
||
Email: qiaoxinjiu@sparkedu.com
|
||
Create Date: 2022/08/20 5:58 下午
|
||
"""
|
||
import logging
|
||
import os
|
||
import sys
|
||
|
||
# 添加项目根目录到 Python 路径,以便导入 base_framework 模块
|
||
current_file_path = os.path.abspath(__file__)
|
||
project_root = os.path.abspath(os.path.join(os.path.dirname(current_file_path), '../../../../'))
|
||
if project_root not in sys.path:
|
||
sys.path.insert(0, project_root)
|
||
|
||
from base_framework.public_tools import log
|
||
from base_framework.public_tools.my_faker import MyFaker
|
||
from base_framework.public_tools.runner import Runner
|
||
from base_framework.public_tools.pgsqlhelper import PgSqlHelper
|
||
from base_framework.public_tools import read_config
|
||
from base_framework.public_tools import utils
|
||
from base_framework.public_tools import mg_keyword
|
||
from zhyy.library.ZZYY_interface import ZhyyInterface
|
||
|
||
obj_get_log = log.get_logger()
|
||
obj_my_faker = MyFaker()
|
||
obj_runner = Runner()
|
||
obj_pgsql_helper = PgSqlHelper()
|
||
obj_get_way = utils.Tools()
|
||
obj_mg_keyword = mg_keyword.ManageKeyWord()
|
||
|
||
|
||
class PurchaseIndex(ZhyyInterface):
|
||
def __init__(self):
|
||
'''
|
||
这个是针对于读取配置文件的初始化函数,用于读取默认参数
|
||
'''
|
||
super().__init__()
|
||
self.config_index_path = os.path.dirname(os.path.abspath(__file__))
|
||
self.config_index_filePath = os.path.join(self.config_index_path, "purchase.ini")
|
||
self.config_index_content = read_config.ReadConfig(filename=self.config_index_filePath)
|
||
|
||
def kw_zhyy_get_todo(self, note, user):
|
||
"""
|
||
| 功能说明: | 返回采购工作台首页待办任务的PO与在办任务PO |
|
||
| 输入参数: | note | 注释 |
|
||
|user | 用户信息,传入 'purchase' 默认读取配置文件里面 'purchase' 对应的默认账号信息|
|
||
| 返回参数: | {"success":true,"message":"success","code":200,"data":
|
||
{'todoTask':['PO260116003','PO260115010'],'inProcessTask':['PO260116003','PO260115010']}} | |
|
||
| 作者信息: | 谯新久 | 修改时间 | 2022-8-20 |
|
||
"""
|
||
logging.info("==========={0}===========".format(note))
|
||
get_todo_info = self.kw_in_zhyy_purchase_todo_get(user=user)
|
||
if get_todo_info['code'] != 0:
|
||
raise Exception("查询采购待办任务失败: {}".format(get_todo_info))
|
||
get_todo_info["message"] = "查询采购待办任务成功"
|
||
data = get_todo_info.get("data")
|
||
if data is None:
|
||
raise Exception("返回数据为空,data字段不存在")
|
||
list_get_todo_task = data.get("todoTask") or []
|
||
list_get_process_task = data.get("inProcessTask") or []
|
||
list_todo_task_po = []
|
||
list_process_task_po = []
|
||
for todoTask in list_get_todo_task:
|
||
if isinstance(todoTask, dict):
|
||
list_todo_task_po.append(todoTask.get("businessSn"))
|
||
for processTask in list_get_process_task:
|
||
if isinstance(processTask, dict):
|
||
list_process_task_po.append(processTask.get("businessSn"))
|
||
get_todo_info["data"]["todoTask"] = list_todo_task_po
|
||
get_todo_info["data"]["inProcessTask"] = list_process_task_po
|
||
if list_todo_task_po:
|
||
test_purchase = list_todo_task_po[0]
|
||
# 表在public schema中,使用public.erp_purchase_order格式
|
||
sql = "SELECT * FROM public.erp_purchase_order WHERE order_sn = '{}'".format(test_purchase)
|
||
try:
|
||
obj_pgsql_helper.select_one(sql)
|
||
except Exception as e:
|
||
# 如果查询失败,记录日志但不影响主流程
|
||
obj_get_log.warning("查询采购订单表失败,订单号:{},错误:{}".format(test_purchase, str(e)))
|
||
return get_todo_info
|
||
|
||
|
||
if __name__ == '__main__':
|
||
test = PurchaseIndex()
|
||
a = test.kw_zhyy_get_todo(user='purchase',note="测试")
|
||
print(a)
|