Commit 22b60c14 authored by 齐 振鋆's avatar 齐 振鋆
Browse files

个人代码迁移

parent c6ba7a8b
Pipeline #10140 failed with stages
in 3 seconds
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/20
# 描述: 仓库拣货页面
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page, button, order_detail_main, modal
from component.GuKeYiTiHua.StorageManage import first_menu
log = logging.getLogger(__name__)
class WarehousePick(object):
third_menu = '仓库拣货'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
self.button = button
self.order_detail_main = order_detail_main
self.modal = modal
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_warehouse_pick(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def pick_order_search(self, tap_name='待办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '订单号', order_code, count)
@allure.step('{}'.format(third_menu))
def pick_confirm(self, order_code):
self.pick_order_search(order_code=order_code)
self.list_page.open_order('拣货单号')
self.button.click_button(button_name='拣货确认')
self.list_page.edit_iframe_is_show()
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/20
# 描述:
first_menu = '库存管理'
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/14
# 描述:
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/20
# 描述: 选配类转销售
import allure
import logging
from time import sleep
from component.GuKeYiTiHua import iframe, menu, list_page, order_detail_main, button, modal, order_detail_table, dbq
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class OptionalResale(object):
third_menu = '选配类转销售单'
def __init__(self):
self.dbq = dbq
self.iframe = iframe
self.menu = menu
self.button = button
self.list_page = list_page
self.order_detail_main = order_detail_main
self.order_detail_table = order_detail_table
self.modal = modal
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_optional_resale(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def optional_resale_search(self, tap_name='待办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '销售订单号', order_code, count)
@allure.step('新建:{}'.format(third_menu))
def optional_resale_create(self, order_code):
"""潜在问题,JC单中序列号数量过多时,会导致需要翻页,点不到的情况"""
test_data_info = self.menu.dd.get_value('test_data_info')
self.iframe.to_main_iframe()
if order_code is None:
self.button.new()
else:
self.optional_resale_search(order_code=order_code)
self.list_page.open_order(order_code=order_code)
self.order_detail_main.choose_tap('主体信息')
self.order_detail_main.some_click_item('公司名称 ')
self.modal.search_and_choose_items(text=test_data_info['company'])
self.order_detail_main.some_click_item('业务员名称 ')
self.modal.search_and_choose_items(text=test_data_info['salesman'])
self.order_detail_main.some_click_item('出库仓库 ')
self.modal.search_and_choose_items(text=test_data_info['warehouse_borrow'])
self.order_detail_main.date_input_item('手术日期 ', self.menu.tu.get_date_str())
self.order_detail_main.choose_tap('客户及合同信息')
self.order_detail_main.some_click_item('合同号 ')
self.modal.search_and_choose_items(text=test_data_info['agreement'])
self.order_detail_main.choose_tap('主体信息')
self.button.save()
while self.order_detail_main.get_element_text('销售订单号 ').startswith('XS') is False:
sleep(1)
xs_code = self.order_detail_main.get_element_text('销售订单号 ')
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'xs_code': xs_code})
log.info('销售订单号:【{}】'.format(xs_code))
self.menu.dd.set_value('xs_code', xs_code)
self.button.click_button(button_name='借出单明细')
jc_code = self.menu.dd.get_value('jc_code')
self.modal.search_and_choose_items(placeholder='模糊检索:借出单号,商品名称,规格型号,批次号,序列号,原始订单类型',
text=jc_code, sing_choose=False)
click_item = []
back_info = self.menu.dd.get_value('back_info')
for item in back_info:
if item['sf'] != 'Y' and item['check'] - item['back'] > 0:
click_item += [item['good']]
if item['sf'] == 'Y' and item['check'] - item['back'] > 0:
click_item += item['serial']
for item in click_item:
self.modal.click_cell(text=item)
self.button.click_button(
"//div[@tabindex='-1']/ancestor::div[contains(@class, 'el-overlay') and not(ancestor-or-self::*[contains(@style,'display: none;')])]",
'确定', "/parent::button[@style='']")
self.button.submit()
self.list_page.edit_iframe_is_show()
@allure.step('办理:{}'.format(third_menu))
def optional_resale_transact(self, order_code):
self.optional_resale_search(order_code=order_code)
self.list_page.open_order(order_code=order_code)
self.button.submit()
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/21
# 描述: 销售结算出库单
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page, order_detail_main, button, modal, order_detail_table, dbq
from component.GuKeYiTiHua.SurgeryFollow import first_menu
log = logging.getLogger(__name__)
class SaleOutStorage(object):
third_menu = '销售结算出库单'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_sale_out(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def sale_out_search(self, tap_name='已办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '关联销售结算单号', order_code, count)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/21
# 描述: 手术报台
import logging
from time import sleep
import allure
from component.GuKeYiTiHua import iframe, menu, list_page, order_detail_main, button, modal, order_detail_table, dbq, em
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class SurgeryReporting(object):
third_menu = '手术报台'
def __init__(self):
self.dbq = dbq
self.iframe = iframe
self.menu = menu
self.button = button
self.em = em
self.list_page = list_page
self.order_detail_main = order_detail_main
self.order_detail_table = order_detail_table
self.modal = modal
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_surgery_reporting(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def surgery_reporting_search(self, tap_name='待办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '手术报台单号', order_code, count)
@allure.step('新建:{}'.format(third_menu))
def surgery_reporting_create(self, order_code=None):
log.info('手术报台创建')
test_data_info = self.menu.dd.get_value('test_data_info')
self.iframe.out_frame()
self.iframe.to_main_iframe()
if order_code is None:
self.button.new()
else:
self.surgery_reporting_search(order_code=order_code)
self.list_page.open_order('借出单号')
self.em.check_message()
self.order_detail_main.choose_tap('主体信息')
self.order_detail_main.some_click_item('公司名称 ')
company_code = test_data_info['company']
self.modal.search_and_choose_items(placeholder='模糊检索:公司名称,公司编码', text=company_code)
self.button.click_button("//*[contains(string(), '提示')]/ancestor::div[@class='el-message-box']", '确定')
self.order_detail_main.drop_choose_item('手术类型 ', '翻修手术')
self.order_detail_main.drop_choose_item('手术种类 ', '中型手术')
self.order_detail_main.date_input_item('手术日期 ', self.menu.tu.get_date_str())
self.order_detail_main.text_input_item('手术医生 ', '测试医生')
self.order_detail_main.choose_tap('其他信息')
self.order_detail_main.text_input_item('病人姓名 ', '测试病人')
self.order_detail_main.text_input_item('病人年龄 ', 18)
self.order_detail_main.text_input_item('床位号 ', 66)
self.order_detail_main.text_input_item('住院号 ', 99)
self.order_detail_main.choose_tap('主体信息')
self.button.save()
log.info('获取报台单号&存储')
bt_code = ''
while bt_code.startswith('BT') is False:
sleep(1)
bt_code = self.order_detail_main.get_element_text('手术报台单号 ')
log.info('手术报台单号:【{}】'.format(bt_code))
self.menu.dd.set_value('bt_code', bt_code)
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'bt_code': bt_code})
log.info('添加商品')
self.button.click_button(button_name='添加')
self.modal.search_and_choose_items(placeholder='销售单单号', text=self.menu.dd.get_value('xs_code'), all_choose=True)
self.button.submit()
self.list_page.edit_iframe_is_show()
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/14
# 描述:
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/4
# 描述: 选配类还回出库
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page, order_detail_main
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class ApolegamyBack(object):
third_menu = '选配类还回出库'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
self.order_detail_main = order_detail_main
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_apolegamy_back(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def apolegamy_back_search(self, tap_name='已办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '关联还回单号', order_code, count)
@allure.step('获取{}单号'.format(third_menu))
def get_apolegamy_out_code(self, order_code):
self.list_page.open_order(order_code=order_code)
fh_code = self.order_detail_main.get_element_text('还回出库单号 ')
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'fh_code': fh_code})
log.info('还回出库单号:【{}】'.format(fh_code))
self.menu.dd.set_value('fh_code', fh_code)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/4
# 描述: 选配类还回出库单出库
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page
from component.GuKeYiTiHua.SurgeryFollow import first_menu
log = logging.getLogger(__name__)
class ApolegamyOut(object):
third_menu = '选配类还回出库单出库'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_apolegamy_out(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def apolegamy_out_search(self, tap_name='已办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '还回出库单号', order_code, count)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/24
# 描述: 还回单入库台账
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page
from component.GuKeYiTiHua.SurgeryFollow import first_menu
log = logging.getLogger(__name__)
class InLedger(object):
third_menu = '手术跟台还回单入库台账'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_in_ledger(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def in_ledger_search(self, tap_name='表头数据', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '还回单号', order_code, count)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/6
# 描述: 骨科仓归还收货单
import logging
import allure
from random import randint
from time import sleep
from selenium.common.exceptions import TimeoutException
from component.GuKeYiTiHua import iframe, menu, list_page, order_detail_main, button, modal, order_detail_table, dbq
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class OrthopedicTake(object):
third_menu = '骨科仓归还收货'
def __init__(self):
self.dbq = dbq
self.iframe = iframe
self.menu = menu
self.button = button
self.list_page = list_page
self.order_detail_main = order_detail_main
self.order_detail_table = order_detail_table
self.modal = modal
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_orthopedic_take(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def orthopedic_take_search(self, tap_name='待办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '收货单号', order_code, count)
@allure.step('新建:{}'.format(third_menu))
def orthopedic_take_create(self, order_code=None, jc_code=None, follow='N'):
"""潜在问题,JC单中序列号数量过多时,会导致需要翻页,点不到的情况"""
test_data_info = self.menu.dd.get_value('test_data_info')
self.iframe.to_main_iframe()
if order_code is None:
self.button.new()
else:
self.orthopedic_take_search(order_code=order_code)
self.list_page.open_order(order_code=order_code)
self.order_detail_main.some_click_item('公司名称 ')
self.modal.search_and_choose_items(text=test_data_info['company'])
try:
self.button.click_button("//*[text()='温馨提示']/ancestor::div[@class='el-message-box']", '确定')
except TimeoutException:
pass
self.order_detail_main.some_click_item('还回仓库名称 ')
self.modal.search_and_choose_items(title='选择还回仓库',
text=test_data_info['warehouse_lend'])
self.order_detail_main.some_click_item('客户名称 ')
self.modal.search_and_choose_items(title='选择客户', text=test_data_info['customer'])
lt = self.order_detail_main.some_click_item(name='连台标记 ', end_str='label', get=True)
self.order_detail_main.some_click_item(name='连台标记 ', end_str='label') \
if (follow == 'Y' and 'is-checked' not in self.menu.get_attribute(lt, 'class')) or \
(follow == 'N' and 'is-checked' in self.menu.get_attribute(lt, 'class')) else 0
self.button.save()
while self.order_detail_main.get_element_text('收货单号 ').startswith('HHSH') is False:
sleep(1)
hhsh_code = self.order_detail_main.get_element_text('收货单号 ')
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'hhsh_code': hhsh_code})
log.info('还回收货单号:【{}】'.format(hhsh_code))
self.menu.dd.set_value('hhsh_code', hhsh_code)
self.button.click_button(button_name='添加')
self.modal.search_and_choose_items(placeholder='模糊检索:还回单号,借出单号,商品编码,商品名称,序列号',
text=jc_code, sing_choose=False)
click_item = []
# back_info = self.menu.dd.get_value('goods_batch_info') if back_info is None else back_info
back_info = []
for line in self.dbq.get_jr_info(jc_code):
good = line[0]
sf = line[1]
batch = line[2]
serial = []
if sf == 'Y':
for s in self.dbq.get_surgery_serial(jc_code, good, batch):
serial.append(s[0])
back_info.append({
'good': line[0],
'sf': line[1],
'batch': line[2],
'check': line[3],
'serial': serial
})
for index, item in enumerate(back_info):
batch_num = item['batch']
check_number = item['check']
back_number = randint(1, check_number)
if item['sf'] != 'Y':
click_item.append(batch_num)
else:
sds = []
for i in range(randint(1, len(item['serial']))):
s = back_info[index]['serial'].pop()
sds.append(s)
click_item.append(s)
back_info[index].setdefault('used_serial', sds)
back_info[index].setdefault('back', back_number)
for item in click_item:
self.modal.click_cell(text=item)
self.button.click_button(
"//div[@tabindex='-1']/ancestor::div[contains(@class, 'el-overlay') and not(ancestor-or-self::*[contains(@style,'display: none;')])]",
'确定', "/parent::button[@style='']")
self.menu.dd.set_value('back_info', back_info)
log.info('还回信息:{}'.format(back_info))
for item in back_info:
self.order_detail_table.input_text('收货数量', item['good'],
item['back']) if item['sf'] != 'Y' else 0
self.button.submit()
self.list_page.edit_iframe_is_show()
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/6
# 描述: 手术跟台还回单
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page, order_detail_main
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class SurgeryBack(object):
third_menu = '手术跟台还回单'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
self.order_detail_main = order_detail_main
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_surgery_back(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def surgery_back_search(self, tap_name='表头数据', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '关联借出单号', order_code, count)
@allure.step('获取{}单号'.format(third_menu))
def get_surgery_back_code(self, order_code):
self.list_page.open_order(order_code=order_code)
hh_code = self.order_detail_main.get_element_text('还回订单号 ')
log.info('还回单号:【{}】'.format(hh_code))
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'hh_code': hh_code})
self.menu.dd.set_value('hh_code', hh_code)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/14
# 描述: 手术借出
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/4
# 描述: 选配类借入单
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page, order_detail_main
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class ApolegamyBorrow(object):
third_menu = '选配类借入单'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
self.order_detail_main = order_detail_main
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_apolegamy_borrow(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def apolegamy_borrow_search(self, tap_name='已办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '关联借出单号', order_code, count)
@allure.step('获取{}单号'.format(third_menu))
def get_apolegamy_borrow_code(self, order_code):
self.list_page.open_order(order_code=order_code)
jr_code = self.order_detail_main.get_element_text('借入订单号 ')
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'jr_code': jr_code})
self.menu.dd.set_value('jr_code', jr_code)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/3/4
# 描述: 选配类收货单
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page
from component.GuKeYiTiHua.SurgeryFollow import first_menu
log = logging.getLogger(__name__)
class ApolegamyTake(object):
third_menu = '选配类收货单'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_apolegamy_take(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def apolegamy_take_search(self, tap_name='已办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '关联借入订单号', order_code, count)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/14
# 描述: 骨科仓借出单
import allure
import logging
from random import randint
from time import sleep
from selenium.common.exceptions import TimeoutException
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from component.GuKeYiTiHua import iframe, menu, list_page, button, order_detail_main, order_detail_table, \
modal, em, dbq
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class OrthopedicLend(object):
third_menu = '骨科仓借出单'
def __init__(self):
self.dbq = dbq
self.em = em
self.iframe = iframe
self.menu = menu
self.list_page = list_page
self.button = button
self.order_detail_main = order_detail_main
self.order_detail_table = order_detail_table
self.modal = modal
@allure.step('打开菜单:{}'.format(third_menu))
def orthopedic_lend_menu_open(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def orthopedic_lend_search(self, tap_name='待办', ot='JC', order_code=None, count=1):
order_obj = {
'JC': '借出单号',
'QL': '请领单号'
}
self.list_page.order_search(self.third_menu, tap_name, order_obj[ot], order_code, count)
@allure.step('新建:{}'.format(third_menu))
def orthopedic_lend_create(self, order_code=None):
test_data_info = self.menu.dd.get_value('test_data_info')
log.info('骨科仓借出单创建')
self.iframe.out_frame()
self.iframe.to_main_iframe()
if order_code is None:
self.button.new()
else:
self.orthopedic_lend_search(order_code=order_code)
self.list_page.open_order('借出单号')
self.em.check_message()
self.order_detail_main.choose_tap('主体信息')
# 公司
self.order_detail_main.some_click_item('公司名称 ')
company_code = test_data_info['company']
self.modal.search_and_choose_items(placeholder='模糊检索:公司名称,公司编码', text=company_code)
try:
self.button.click_button("//*[contains(string(), '提示')]/ancestor::div[@class='el-message-box']", '确定')
except TimeoutException:
pass
self.order_detail_main.drop_choose_item('手术类型 ', '翻修手术')
self.order_detail_main.drop_choose_item('手术种类 ', '踝关节')
self.order_detail_main.some_click_item('业务员名称 ')
self.modal.search_and_choose_items(title='根据公司编码选择员工信息', text=test_data_info['salesman'])
# 手术日期
date_str = self.menu.tu.get_date_str(1)
self.order_detail_main.date_input_item('手术日期 ', date_str)
self.order_detail_main.text_input_item('手术医生 ', '张三丰主任医师')
self.order_detail_main.choose_tap('仓库信息')
lend_warehouse_code = test_data_info['warehouse_lend']
borrow_warehouse_code = test_data_info['warehouse_borrow']
return_warehouse_code = test_data_info['warehouse_return']
self.order_detail_main.some_click_item('借出仓库名称 ')
self.modal.search_and_choose_items(title='选择借出仓库', text=lend_warehouse_code)
self.order_detail_main.some_click_item('借入仓库名称 ')
self.modal.search_and_choose_items(title='选择借入仓库', text=borrow_warehouse_code)
if lend_warehouse_code != return_warehouse_code:
self.order_detail_main.some_click_item('还回仓库名称 ')
self.modal.search_and_choose_items(title='选择还回仓库', text=return_warehouse_code)
self.order_detail_main.choose_tap('合同信息')
self.order_detail_main.some_click_item('合同号 ')
self.modal.search_and_choose_items(title='选择合同协议', text=test_data_info['agreement'])
# 保存获得请领单号
self.order_detail_main.choose_tap('主体信息')
self.button.save()
log.info('获取请领单号&存储')
jc_code = ''
while jc_code.startswith('JC') is False:
sleep(1)
jc_code = self.order_detail_main.get_element_text('借出单号 ')
log.info('借出单号:【{}】'.format(jc_code))
self.menu.dd.set_value('jc_code', jc_code)
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'jc_code': jc_code})
log.info('添加商品')
self.button.click_button(button_name='商品信息')
goods = test_data_info['goods']
goods_code_list = []
for good in goods:
goods_code_list.append(good)
self.modal.search_and_choose_items(placeholder='模糊检索:商品编码,商品名称,规格型号,厂家物料编码,存储条件', text=goods_code_list)
sleep(3 * len(goods))
self.order_detail_table.get_cell_text('商品名称', goods_code_list[0])
min_num = self.menu.dd.get_value('minNum')
for good in goods:
good_number = randint(min_num, 5) if self.dbq.get_serial_flag(lend_warehouse_code,
good) != 'Y' else randint(min_num, 2)
self.order_detail_table.input_text('数量', good, good_number)
self.button.submit()
self.list_page.edit_iframe_is_show()
@allure.step('编辑:{}'.format(third_menu))
def orthopedic_lend_edit_submit(self, follow='N'):
log.info('骨科仓借出单编辑&提交')
self.list_page.open_order('借出单号')
self.order_detail_main.choose_tap('主体信息')
log.info('获取借出单号&保存')
jc_code = self.order_detail_main.get_element_text('借出单号 ')
self.menu.dd.set_value('jc_code', jc_code) if follow == 'N' else self.menu.dd.set_value('new_jc_code', jc_code)
log.info('借出单号:【{}】'.format(jc_code))
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'jc_code': jc_code})
self.order_detail_main.drop_choose_item('手术种类 ', '髋关节')
self.order_detail_main.text_input_item('手术医生 ', '张三丰主任医师')
self.order_detail_main.choose_tap('其他信息')
self.order_detail_main.text_input_item('联系人 ', '高启强')
self.order_detail_main.text_input_item('联系电话 ', '13333333333')
self.button.submit()
self.list_page.edit_iframe_is_show()
@allure.step('办理:{}'.format(third_menu))
def orthopedic_lend_transact(self, order_code):
log.info('骨科仓借出单办理/审批')
self.list_page.open_order(order_code=order_code)
self.button.transact()
self.em.check_message()
self.list_page.edit_iframe_is_show()
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/24
# 描述: 借出单出库台账
import logging
import allure
from component.GuKeYiTiHua import iframe, menu, list_page
from component.GuKeYiTiHua.SurgeryFollow import first_menu
log = logging.getLogger(__name__)
class OutLedger(object):
third_menu = '手术跟台借出单出库台账'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
@allure.step('打开菜单:{}'.format(third_menu))
def open_menu_out_ledger(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def out_ledger_search(self, tap_name='主单', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '借出单号', order_code, count)
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/14
# 描述: 手术请领配货单
import logging
import allure
from random import randint
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from component.GuKeYiTiHua import iframe, menu, list_page, button, order_detail_main, order_detail_table, \
modal
log = logging.getLogger(__name__)
class SurgeryDistribute(object):
third_menu = '手术请领配货单'
def __init__(self):
self.iframe = iframe
self.menu = menu
self.list_page = list_page
self.button = button
self.order_detail_main = order_detail_main
self.order_detail_table = order_detail_table
self.modal = modal
@allure.step('打开菜单:{}'.format(third_menu))
def surgery_distribute_menu_open(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def surgery_distribute_search(self, tap_name='待办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '请领单号', order_code, count)
@allure.step('配货:{}'.format(third_menu))
def surgery_require_distribute(self, order_code):
test_data_info = self.menu.dd.get_value('test_data_info')
log.info('手术请领单配货')
self.list_page.open_order(order_code=order_code)
self.order_detail_main.choose_tap('主体信息')
self.order_detail_main.some_click_item('业务员名称 ')
salesman_code = test_data_info['salesman']
self.modal.search_and_choose_items(title='选择员工信息', text=salesman_code)
self.order_detail_main.choose_tap('仓库信息')
lend_warehouse_code = test_data_info['warehouse_lend']
self.order_detail_main.some_click_item('借出仓库名称 ')
self.modal.search_and_choose_items(title='选择借出仓库信息', text=lend_warehouse_code)
borrow_warehouse_code = test_data_info['warehouse_borrow']
self.order_detail_main.some_click_item('借入仓库名称 ')
self.modal.search_and_choose_items(title='选择借入仓库信息', text=borrow_warehouse_code)
goods = test_data_info['goods']
for good in goods:
not_distribute_number = int(self.order_detail_table.get_cell_text('未分配数量', good))
distribute_number = randint(self.menu.dd.get_value('minNum'), not_distribute_number)
self.order_detail_table.input_text('分配数量', good, distribute_number)
self.button.submit()
self.list_page.edit_iframe_is_show()
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/14
# 描述: 手术请领单
import logging
from random import randint
from time import sleep
import allure
from component.GuKeYiTiHua import iframe, menu, list_page, button, order_detail_main, order_detail_table, \
modal, dbq
from component.GuKeYiTiHua.SurgeryFollow import first_menu
from unit.public.YamlUtil import UtilYaml
log = logging.getLogger(__name__)
class SurgeryRequire(object):
third_menu = '手术请领单'
def __init__(self):
self.dbq = dbq
self.iframe = iframe
self.menu = menu
self.list_page = list_page
self.button = button
self.order_detail_main = order_detail_main
self.order_detail_table = order_detail_table
self.modal = modal
@allure.step('打开菜单:{}'.format(third_menu))
def surgery_require_menu_open(self):
self.iframe.out_frame()
self.menu.open_menu(first_menu, self.third_menu)
@allure.step('查询:{}'.format(third_menu))
def surgery_require_search(self, tap_name='待办', order_code=None, count=1):
self.list_page.order_search(self.third_menu, tap_name, '请领单号', order_code, count)
@allure.step('新建:{}'.format(third_menu))
def surgery_require_create(self, order_code=None):
test_data_info = self.menu.dd.get_value('test_data_info')
log.info('新建手术请领单')
self.iframe.to_main_iframe()
if order_code is None:
self.button.new()
else:
self.surgery_require_search(order_code=order_code)
self.list_page.open_order(order_code=order_code)
self.order_detail_main.choose_tap('主体信息')
# 公司
self.order_detail_main.some_click_item('公司名称 ')
company_code = test_data_info['company']
self.modal.search_and_choose_items(placeholder='模糊检索:公司名称,公司编码', text=company_code)
self.order_detail_main.drop_choose_item('手术类型 ', '翻修手术')
# 手术日期
date_str = self.menu.tu.get_date_str(1)
self.order_detail_main.date_input_item('手术日期 ', date_str)
self.order_detail_main.choose_tap('客户信息')
self.order_detail_main.some_click_item('客户名称 ')
customer_code = test_data_info['customer']
self.modal.search_and_choose_items(title='选择客户', text=customer_code)
self.order_detail_main.some_click_item('配销客户名称 ')
self.modal.search_and_choose_items(title='选择配销客户', text=customer_code)
# self.order_detail_main.choose_tap('其他信息')
# self.order_detail_main.some_click_item(name='是否启用开单校验 ', end_str="div[@class='awsui-component']")
# 保存获得请领单号
self.order_detail_main.choose_tap('主体信息')
self.button.save()
log.info('获取请领单号&存储')
ql_code = ''
while ql_code.startswith('QL') is False:
sleep(1)
ql_code = self.order_detail_main.get_element_text('请领单号 ')
log.info('请领单号:【{}】'.format(ql_code))
self.menu.dd.set_value('ql_code', ql_code)
UtilYaml(self.menu.dd.get_value('extract_path')).write_yaml({'ql_code': ql_code})
log.info('添加商品')
self.button.click_button(button_name='商品信息')
goods = test_data_info['goods']
self.modal.search_and_choose_items(placeholder='模糊检索:商品编码,商品名称,规格型号,厂家物料编码,存储条件', text=goods)
sleep(3 * len(goods))
self.order_detail_table.get_cell_text('商品名称', goods[0])
min_num = self.menu.dd.get_value('minNum')
for good in goods:
good_number = randint(min_num, 8) if self.dbq.get_serial_flag(test_data_info['warehouse_lend'],
good) != 'Y' else randint(min_num, 2)
self.order_detail_table.input_text('数量', good, good_number)
self.button.submit()
self.list_page.edit_iframe_is_show()
# -*- coding:utf-8 -*-
# 作者:齐振鋆
# 日期:2023/2/14
# 描述: 手术跟台
first_menu = '手术跟台'
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment