Files
smart-management-auto-test/zhyy/library/BusinessKw/SZPurchase/index.py
qiaoxinjiu 6994b185a3 addproject
2026-01-22 19:10:37 +08:00

89 lines
3.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- 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)