You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.5 KiB

# -*- coding: utf-8 -*-
# @Time : 2023/9/27 13:58
# @Author : tx
# @File : report_slack.py
# @Description : 呆滞物料报表导出
from helper.export.base import ReportExport
from helper.report import report_slack_drug
class ReportSlack(ReportExport):
def __init__(self, request, keyword):
super().__init__()
self.title = "呆滞物料"
self.stateDict = {0: "待入库", 1: "在库", 2: "出库", 3: "空瓶", 4: "报废"}
self.request = request
self.keyword = keyword
async def parse_data(self, request, keyword):
keyword.page_no = 0
keyword = keyword.dict()
print("keyword", keyword)
result = await report_slack_drug(request, keyword)
self.drug_attribute_key_list = result.get("attribute_key") if result.get("attribute_key") else []
return result.get("data")
def parse_key_finds_list(self):
"""
解析键列名
:return:
"""
key_list = ["expired_at", "last_use_at", "last_user", "remain_gross_weight", "now_slack_days"]
finds_list = ["过期日期", "最后使用时间", "最后使用人", "余量", "呆滞天数"]
self.key_list = self.drug_attribute_key_list + key_list
self.finds_list = self.drug_attribute_key_list + finds_list
async def main(self):
"""
主函数
:param kwargs:
:return:
"""
self.data_list = await self.parse_data(self.request, self.keyword)
self.parse_key_finds_list()