An error occurred while loading the file. Please try again.
An error occurred while loading the file. Please try again.
An error occurred while loading the file. Please try again.
-
齐 振鋆 authored05cafa5e
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/14
# 描述:
import logging
import allure
from unit.public.DataDic import DataDic
log = logging.getLogger(__name__)
dd = DataDic()
def get_results(index, col):
def query(func):
def wrapper(self, *args, **kwargs):
db = dd.get_value('db')
sql = func(self, *args, **kwargs)
log.info(sql)
result = db.exec(sql)
try:
return result if index is None else result[index] if col is None else result[index][col]
except IndexError:
return "IndexError"
return wrapper
return query
class DBQuery(object):
@get_results(0, 0)
def get_stock_cargo(self, warehouse):
"""仓库是否启用货位管理"""
with allure.step('DB:查询仓库是否启用货位管理'):
return """select
SPACE_MANAGEMENT
from
BO_EU_STOCK_CARGO_USING
where
BUSINESS_UNITS='{}';""".format(warehouse)
@get_results(0, 0)
def get_pro_num(self, warehouse, good):
"""获取生产批号"""
with allure.step('DB:获取生产批号'):
return """select
F_PRO_NUM
from
BO_EU_STOCK_CURRENT
where
F_ENTREPOT_CODE = '{warehouse}'
and F_COMMODITY_CODE = '{good}'
and F_CARGO_CODE in (
select
F_CARGO_CODE
from
BO_EU_STOCK_MGMT_CARGO_SPACE
where
F_ENTREPOT_CODE = '{warehouse}'
and F_COMMODITY_CODE = '{good}');""".format(**locals())
@get_results(0, 0)
def get_serial_flag(self, warehouse, good):
"""商品序列号标识"""
with allure.step('DB:查询商品序列号标识'):
return """select
F_IS_SERIAL_NO
from
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
BO_EU_BSI_GOODS_MCU
where
BUSINESS_UNITS='{warehouse}'
and COMMODITY_CODE='{good}';""".format(**locals())
@get_results(0, None)
def get_storage_sterilization_flag(self, company, good):
"""获取商品存储条件、灭菌管理标识"""
with allure.step('DB:获取商品存储条件、灭菌管理标识'):
return """select
STORAGECON, STERILIZATION_FLAG
from
bo_eu_bsi_commodity
where
COMPANY='{company}'
and COMMODITY_CODE='{good}';""".format(**locals())
@get_results(None, None)
def get_enable_serial(self, warehouse, good, batch, num):
"""获取可用序列号"""
with allure.step('DB:获取可用序列号'):
return """select
F_SERIAL
from
bo_eu_stock_serial
where
F_ENTREPOT_CODE = '{warehouse}'
and F_COMMODITY_CODE = '{good}'
and F_BATCH_SERIA = '{batch}'
and F_STATUS = '1'
and F_SERIAL not in (
select
F_SERIAL
from
bo_eu_stock_serial_occupy
where
F_ENTREPOT_CODE = '{warehouse}' and F_COMMODITY_CODE = '{good}'
and F_BATCH_SERIA = '{batch}')
limit 0,
{num};""".format(**locals())
@get_results(0, 0)
def get_follow_ql_code(self, hh_code):
"""获取连台请领单号"""
with allure.step('DB:获取连台请领单号'):
return """select
F_CST_ENQUIRY_NO
from
bo_eu_surgery_ior_header
where
BINDID in(
select
id
from
wfc_process
where
CREATEUSERDEPTID in(
select
TARGETDEPTID
from
wfc_task
where
TASKTITLE like '%{}%'))
order by
CREATEDATE desc
limit 0,1;""".format(hh_code)
@get_results(None, None)
def get_back_able_serial(self, order_code):
"""获取还回可用序列号"""
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
with allure.step('DB:获取还回可用序列号'):
return """select
F_SERIAL
from
aws.bo_eu_surgery_serial_detail
where
F_ORDER_NO = '{}'
and F_SERIAL_STATUS = 0;""".format(order_code)
@get_results(None, None)
def get_jr_info(self, order_code):
"""获取借入单信息"""
with allure.step('DB:获取借入单信息'):
return """select
F_COMMODITY_CODE,
F_SERIAL_MANGE_FLAG,
F_BATCH_NO,
F_RECEIVE_NUM
from
bo_eu_surgery_borrow_detail
where
F_REL_SALE_BILL_NO = '{}';""".format(order_code)
@get_results(None, None)
def get_surgery_serial(self, order_code, good, batch):
"""获取手术跟台序列号"""
with allure.step('DB:获取借出单商品序列号'):
return """select F_SERIAL from
bo_eu_surgery_serial_detail
where
F_ORDER_NO = '{order_code}'
and F_COMMODITY_CODE = '{good}'
and F_BATCH_NO = '{batch}';""".format(**locals())