Commit 20337a54 authored by xiao-hesheng's avatar xiao-hesheng
Browse files

流程十二脚本编写

parent 78f67b47
......@@ -819,7 +819,7 @@ try:
# 从下面开始,上面的暂时注释
goods_move2() # 设置产品出库渠道为直送
updateUserLoginDefaultRange(get_listUserMgrRangePage(2)) # 设置登录账号默认权限是二级库
for i in range(3):
for i in range(10):
# # 低值
second_dept_Request(FileUtils().r_info8("b5_spd3_core_business_flow", "产品审核信息", 'message2')['hosGoodsId'], 1)
# # 高值
......
......@@ -342,7 +342,7 @@ try:
get_stockAreaId_new(FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid3'],
FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid3'], 3)
set_stockShelf_Linkman()#设置库区联系人
#新建科室产品分配
#三级科室产品分配
dept_goods_distribute(FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid3'])
updateUserLoginDefaultRange(get_listUserMgrRangePage1(3)) # 设置登录账号默认权限是三级库
......
# -*- encoding=utf8 -*-
import json
import traceback
from air_case.b1_herp3_login.登录内网系统.登录内网系统 import login_system
from air_case.public1.public1.public1 import *
from common.db.sql.sql_del_branch_info import delData
from common.fileUtls import FileUtils
from common.run_cmd_script import execute_command
from common.timeUtils import timeUtils
from airtest.core.api import using
__author__ = "xiaohesheng"
"""
case_tag:api,spd_core1,a_b7流程十四退库业务_消耗退库,id2302,id2302-17,sit,on
核心业务流:a_b7流程十四退库业务_消耗退库
python runner_test.py tag id2302-17 debug mdm3
"""
def SERACH_goods_id(GoodsId):
# 在请领出库渠道边仓中搜索产品
module = 'b5_spd3_core_business_flow'
# # 登录获取用户id等信息,使用创建的用户登录===========开始
info = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')
username = info['username1']
password = commonFuc().get_business_data("b2_herp3_bs", "password")
print('username,password', username, password)
# # 获取token和projectCode
token, projectCode, uxid, corpId, info = login(username, password, 2)
# 登录获取用户id等信息,使用创建的用户登录============结束\
# 获取请求头信息
headers = commonFuc().get_business_data(module, "json_headers2",
commonFuc().get_business_data(module, "json_contentType"), token,
commonFuc().get_business_data(module, "X-APP-CODE"))
url = commonFuc().get_api_add_port_url() + commonFuc().get_business_data(module,
"herpService_mcmsBranchGoodsInfo_page_url")
dept1 = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
# hosGoodsId = FileUtils().r_info8("b5_spd3_core_business_flow", "产品审核信息", 'message2')['hosGoodsId']
# GoodsId = hosGoodsId.replace(get_hosid(), '')
request_body = commonFuc().get_business_data(module, "payload53_2", GoodsId, get_hosid(), get_branch_id(), dept1)
result = commonFuc().http_post(url, request_body, headers)
branchGoodsId = commonFuc().analysis_json('id', commonFuc().analysis_json('data', commonFuc().analysis_json('data',
result)))
return branchGoodsId
def second_dept_consume_Out_Stock(hosGoodsId, type):
module = "b5_spd3_core_business_flow"
# # 登录获取用户id等信息,使用创建的用户登录===========开始
info = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')
username = info['username1']
password = commonFuc().get_business_data("b2_herp3_bs", "password")
print('username,password', username, password)
# # 获取token和projectCode
token, projectCode, uxid, corpId, info = login(username, password, 2)
# 登录获取用户id等信息,使用创建的用户登录============结束
# 我要请领_手工请领_列表查询===========================
headers = commonFuc().get_business_data(module, "json_headers2",
commonFuc().get_business_data(module, "json_contentType"), token,
commonFuc().get_business_data(module, "X-APP-CODE"))
if type == 1:
udi_code = get_udi2(1) # 获取条码 低值1 高值2 试剂3
elif type == 2:
udi_code = get_udi2(2) # 获取条码 低值1 高值2 试剂3
elif type == 3:
udi_code = get_udi2(3) # 获取条码 低值1 高值2 试剂3
else:
udi_code = 'udi_code'
# url = commonFuc().get_api_add_port_url() + commonFuc().get_business_data(module,
# "herpService_mcmsBranchGoodsInfo_page_url")
# dept1 = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
# GoodsId = hosGoodsId.replace(get_hosid(), '')
# request_body = commonFuc().get_business_data(module, "payload53_2", GoodsId, get_hosid(), get_branch_id(), dept1)
# result = commonFuc().http_post(url, request_body, headers)
# branchGoodsId = commonFuc().analysis_json('id', result)
def sCan_grant(type=1):
module = "b5_spd3_core_business_flow"
# # 登录获取用户id等信息,使用创建的用户登录===========开始
info = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')
username = info['username1']
password = commonFuc().get_business_data("b2_herp3_bs", "password")
print('username,password', username, password)
# # 获取token和projectCode
token, projectCode, uxid, corpId, info = login(username, password, 2)
# 登录获取用户id等信息,使用创建的用户登录============结束
if type == 1:
udi_code = get_udi2(1) # 获取条码 低值1 高值2 试剂3
elif type == 2:
udi_code = get_udi2(2) # 获取条码 低值1 高值2 试剂3
elif type == 3:
udi_code = get_udi2(3) # 获取条码 低值1 高值2 试剂3
else:
udi_code = 'udi_code'
if type == 1:
targetAreaCode, sourceId = pickScan3(udi_code, 1) # 低值
elif type == 2:
targetAreaCode, sourceId = pickScan3(udi_code, 2) # 高值
elif type == 3:
targetAreaCode, sourceId = pickScan3(udi_code, 3) # 试剂
else:
targetAreaCode = 'targetAreaCode'
sourceId = 'sourceId'
try:
updateUserLoginDefaultRange(get_listUserMgrRangePage1(2)) # 设置登录账号默认权限是二级库
sCan_grant()
# # # # 低值
# second_dept_consume_Out_Stock(FileUtils().r_info8("b5_spd3_core_business_flow", "产品审核信息", 'message2')['hosGoodsId'], 1)
# # # # 高值
# second_dept_consume_Out_Stock(FileUtils().r_info8("b5_spd3_core_business_flow", "产品审核信息", 'message1')['hosGoodsId'], 2)
# # # # 试剂
# second_dept_consume_Out_Stock(FileUtils().r_info8("b5_spd3_core_business_flow", "产品审核信息", 'message3')['hosGoodsId'], 3)
#
# for i in range(6): # 三个单据共审批6次
# approval_center()
# updateUserLoginDefaultRange(get_listUserMgrRangePage1(2)) # 设置登录账号默认权限是二级库
#
# # 低值拣货执行
# second_dept_one_key_in(3)
# second_dept_one_key_in(3)
# second_dept_one_key_in(3)
commonFuc().check_text_exist_result_text('succees', 'succees')
except:
commonFuc().check_text_exist_result_text('error', '1')
......@@ -2502,6 +2502,134 @@ def pickScan2(PICK_ID, udi_code, type=1): # 二级库出库拣货扫码
result = commonFuc().http_post(url, request_body, headers)
print('result', result)
return areaCode, pickerId
def pickScan3(udi_code, type=1): # 二级库扫码发放
module = "b5_spd3_core_business_flow"
# # 登录获取用户id等信息,使用创建的用户登录===========开始
info = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')
username = info['username1']
password = commonFuc().get_business_data("b2_herp3_bs", "password")
print('username,password', username, password)
# # 获取token和projectCode
token, projectCode, uxid, corpId, info = login(username, password, 2)
# 登录获取用户id等信息,使用创建的用户登录============结束
headers = commonFuc().get_business_data(module, "json_headers2",
commonFuc().get_business_data(module, "json_contentType"), token,
commonFuc().get_business_data(module, "X-APP-CODE"))
# ==============================获取条码信息
url = commonFuc().get_api_add_port_url() + commonFuc().get_business_data(module, "herpService_stock_pick_scan_url")
print('获取条码信息url', url)
deptid2=FileUtils().r_info8('b2_herp3_bs', '所有科室id', 'message6')["deptid2"]
deptName = FileUtils().r_info8('b2_herp3_bs', '所有科室name', 'message6')["deptid2"]
stockId = get_stockId(deptName + '库房', 2)
deptName2=deptName + '库房'
areaCode=get_stockAreaId_new(deptid2,deptName,2)
request_body = commonFuc().get_business_data(module, "payload60", udi_code,stockId,deptName2,areaCode)
print('获取条码信息request_body',request_body)
import pdb
pdb.set_trace()
result = commonFuc().http_post(url, request_body, headers)
print('获取条码信息result', result)
# 获取必要信息
data1 = commonFuc().analysis_json('data', result)
areaCode = commonFuc().analysis_json('areaCode', data1)
UTid = commonFuc().analysis_json('id', data1)
createTime = commonFuc().analysis_json('id', data1)
stockId = commonFuc().analysis_json('stockId', data1)
areaCode = commonFuc().analysis_json('areaCode', data1)
areaName = commonFuc().analysis_json('areaName', data1)
shelfCode = commonFuc().analysis_json('shelfCode', data1)
codeType = commonFuc().analysis_json('codeType', data1)
tagType = commonFuc().analysis_json('tagType', data1)
hosGoodsId = commonFuc().analysis_json('hosGoodsId', data1)
mdmGoodsCode = commonFuc().analysis_json('mdmGoodsCode', data1)
goodsCode = commonFuc().analysis_json('goodsCode', data1)
goodsDi = commonFuc().analysis_json('goodsDi', data1)
barName = commonFuc().analysis_json('barName', data1)
batchCode = commonFuc().analysis_json('batchCode', data1)
expdtDate = commonFuc().analysis_json('expdtDate', data1)
productDate = commonFuc().analysis_json('productDate', data1)
pkgCode = commonFuc().analysis_json('pkgCode', data1)
pkgCodeSee = commonFuc().analysis_json('pkgCodeSee', data1)
ssccCode = commonFuc().analysis_json('ssccCode', data1)
tbStatus = commonFuc().analysis_json('tbStatus', data1)
ext = commonFuc().analysis_json('ext', data1)
distrDetailId = commonFuc().analysis_json('distrDetailId', ext)
distrBillId = commonFuc().analysis_json('distrBillId', ext)
purBillId = commonFuc().analysis_json('purBillId', ext)
pkgDefQty = commonFuc().analysis_json('pkgDefQty', ext)
pkgDefId = commonFuc().analysis_json('pkgDefId', ext)
pkgDefName = commonFuc().analysis_json('pkgDefName', ext)
purMode = commonFuc().analysis_json('purMode', data1)
goodsMfrsName = commonFuc().analysis_json('goodsMfrsName', data1)
goodsSpec = commonFuc().analysis_json('goodsSpec', data1)
unit = commonFuc().analysis_json('unit', data1)
goodsName = commonFuc().analysis_json('goodsName', data1)
pkgDefId = commonFuc().analysis_json('pkgDefId', data1)
# pkgDefQty=commonFuc().analysis_json('pkgDefQty',data1)
pkgDefName = commonFuc().analysis_json('pkgDefName', data1)
printNum = commonFuc().analysis_json('printNum', data1)
made = commonFuc().analysis_json('made', data1)
hosGoodsCode = commonFuc().analysis_json('hosGoodsCode', data1)
stockName = commonFuc().analysis_json('stockName', data1)
sourceId = commonFuc().analysis_json('sourceId', data1)
price = commonFuc().analysis_json('price', data1)
inStockTime = commonFuc().analysis_json('inStockTime', data1)
purModeText = commonFuc().analysis_json('purModeText', data1)
version = commonFuc().analysis_json('version', data1)
unitName = commonFuc().analysis_json('unitName', data1)
# ==============================获取条码信息
url = commonFuc().get_api_add_port_url() + commonFuc().get_business_data(module,
"herpService_stock_out_use_buyInfo_url")
# url = url + PICK_ID
result = commonFuc().http_get(url, headers)
pickerId = commonFuc().analysis_json('pickId', commonFuc().analysis_json('data', result))
url = commonFuc().get_api_add_port_url() + commonFuc().get_business_data(module,
"herpService_stock_out_pickScan_url")
print('url', url)
deptid1 = FileUtils().r_info8('b2_herp3_bs', '所有科室id', 'message6')["deptid1"]
deptName2 = FileUtils().r_info8('b2_herp3_bs', '所有科室name', 'message6')["deptid5"]
stockName = deptName2 + "库房"
createTime = timeUtils().get_time_hms(1)
request_body = "request_body"
# # 请求体
if type == 1:
request_body = commonFuc().get_business_data(module, "payload50_1_1", areaCode, areaName, UTid, createTime,
UTid, get_hosid(), stockId, areaCode, areaName, shelfCode,
codeType, hosGoodsId, mdmGoodsCode, goodsCode, goodsDi, barName,
batchCode, expdtDate, productDate, pkgCode, pkgCodeSee, ssccCode,
tbStatus, pkgDefId, purBillId, pkgDefName, distrBillId,
inStockTime, distrDetailId, purMode, price, goodsMfrsName,
goodsSpec, unit, goodsName, pkgDefId, pkgDefQty, pkgDefName, made,
unitName, hosGoodsCode, purModeText, PICK_ID, pickerId,
stockName)
elif type == 2:
request_body = commonFuc().get_business_data(module, "payload50_2_2", areaCode, areaName, UTid, createTime,
UTid, get_hosid(), stockId, areaCode, areaName, shelfCode,
codeType, hosGoodsId, mdmGoodsCode, goodsCode, goodsDi, barName,
batchCode, expdtDate, productDate, pkgCode, pkgCodeSee, ssccCode,
tbStatus, purBillId, distrBillId,
inStockTime, distrDetailId, purMode, price, goodsMfrsName,
goodsSpec, unit, goodsName, made,
unitName, hosGoodsCode, purModeText, PICK_ID, pickerId,
stockName)
elif type == 3:
request_body = commonFuc().get_business_data(module, "payload50_1_1", areaCode, areaName, UTid, createTime,
UTid, get_hosid(), stockId, areaCode, areaName, shelfCode,
codeType, hosGoodsId, mdmGoodsCode, goodsCode, goodsDi, barName,
batchCode, expdtDate, productDate, pkgCode, pkgCodeSee, ssccCode,
tbStatus, pkgDefId, purBillId, pkgDefName, distrBillId,
inStockTime, distrDetailId, purMode, price, goodsMfrsName,
goodsSpec, unit, goodsName, pkgDefId, pkgDefQty, pkgDefName, made,
unitName, hosGoodsCode, purModeText, PICK_ID, pickerId,
stockName)
print('request_body', '拣货扫码', request_body)
# # # # 发送请求
result = commonFuc().http_post(url, request_body, headers)
print('result', result)
return areaCode, pickerId
def get_branch_name():
......
......@@ -167,3 +167,4 @@ json_headers2: {
"payload58": {"id":"%s","planDetailList":[{"closeStatus":"%s","id":"%s","inSettlement":1,"planPkgQty":1,"pkgDefQty":100,"provId":"%s","provName":"%s","subProvId":"%s","subProvName":"%s","hosGoodsId":"%s","purMode":"%s","version":0,"pkgDefId":"%s","purTaskId":null,"sourceId":"%s","codingType":0}],"tempFlag":0,"version":0,"checkLcTaskQty":true}
"payload58_1": {"id":"%s","planDetailList":[{"closeStatus":0,"id":"%s","inSettlement":1,"planPkgQty":1,"pkgDefQty":1,"provId":"%s","provName":"%s","subProvId":"%s","subProvName":"%s","hosGoodsId":"%s","purMode":20,"version":0,"pkgDefId":null,"purTaskId":null,"sourceId":"%s","codingType":0}],"tempFlag":0,"version":0,"checkLcTaskQty":true}
"payload59": {"tbStatus":20,"code":"%s","areaCode":"","ignoreValidExpDate":true,"pickType":"KS_SL"}
"payload60": {"pickType":"KS_CB","tbStatus":20,"code":"%s","stockId":"%s","stockName":"%s","areaCode":"%s","areaName":"默认库区","ignoreValidExpDate":false}
\ No newline at end of file
......@@ -18,18 +18,18 @@
expdtDate: '2024-12-11'
pkgDefName: '100'
pkgDefQty: 100.0
stockId: 2534a8daf941473daa55db31b56d76af
stockName: 级检验科002库房
stockId: 2cd98ebbd79f4129afc9f7143fe2e957
stockName: 级检测组003库房
areaName: 默认库区
areaCode: areah03472192
areaCode: areah03472191
lockStatus: 0
unitName: 100支/100
shelfCode: areah03472192-A-01-01
shelfCode: areah03472191-A-01-01
shelfNo: A01-A-01-01
pkgDefId: 99ff61b624d544dfb4c563de0140fb75
extInfo: '{"pkgDefId": "99ff61b624d544dfb4c563de0140fb75", "pkgDefQty": 100, "purBillId":
"CG2024060417721", "pkgDefName": "100", "distrBillId": "PSh0347202406040019",
"inStockTime": "2024-06-04 08:45:09", "distrDetailId": "03838019", "certificateCode":
"inStockTime": "2024-06-04 10:10:25", "distrDetailId": "03838019", "certificateCode":
""}'
bottleId:
pkgType: '16'
......@@ -41,7 +41,7 @@
shelfKindName: 普通货位
provName: 国药集团公司*0SeL
provId: p1e26b
inStockDate: '2024-06-04 08:45:09'
inStockDate: '2024-06-04 10:10:25'
mfrCode:
made: 德国
price:
......
库区信息:
list_a:
- &id001
- id: 6627e2adb4d84edeb76923b58c175b5a
lastModified: '2024-06-04 10:09:16'
version: 4
- id: 32f3a5763cef4be3b0a14b502798ce5e
lastModified: '2024-06-04 07:27:30'
version: 1
createTime: '2024-06-04 07:04:50'
createUser: h0347_UID-051312
lastModifiedUser: h0347_UID-051312
stockId: 2cd98ebbd79f4129afc9f7143fe2e957
shelfCode: areah03472191
stockId: 2534a8daf941473daa55db31b56d76af
shelfCode: areah03472192
shelfName: 默认库区
address: 级检测组003
address: 级检验科002
shelfType:
stockType: 0
defaultFlag: 1
......@@ -24,7 +24,7 @@
shelfNo: A01
shelfKind: 0
hosId:
deptId: 8b3cd57be7454d8999752d058884d67a
deptId: fce41341f4d441239326a6f655be8a1a
areaCode:
areaName:
stockName:
......
......@@ -76,9 +76,9 @@ setInterval(updateTime, 1000); // 每秒更新一次时间
<tr width="600">
<td class='details-col-elapsed'>1</td>
<td class='details-col-elapsed'>1</td>
<td class='details-col-elapsed'>1分35</td>
<td class="details-col-elapsed">100.0%</td>
<td class='details-col-elapsed'>0</td>
<td class='details-col-elapsed'>0分57</td>
<td class="details-col-elapsed">0.0%</td>
</tr>
</table>
......@@ -93,9 +93,9 @@ setInterval(updateTime, 1000); // 每秒更新一次时间
</tr>
<tr width="600">
<td class="details-col-elapsed"><a href='../log/a_b6流程十三请领业务流_三级库向二级库/log.html' target='_blank'>a_b6流程十三请领业务流_三级库向二级</a></td>
<td class="success">成功</td>
<td class="details-col-elapsed">95.108</td>
<td class="details-col-elapsed"><a href='../log/a_b7流程十四退库业务_消耗退库/log.html' target='_blank'>a_b7流程十四退库业务_消耗退</a></td>
<td class="fail">失败</td>
<td class="details-col-elapsed">57.633</td>
<td class="details-col-elapsed">xiaohesheng</td>
</tr>
......
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