# -*- 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_tools import check_mcms_dept_buy_sql, get_login_user_uxid_bydb, get_create_time, get_goods_code1, \
    get_goods_name, get_dept_buy_id, get_ext_info, check_mcms_pur_plan_sql, get_mdm_goods_code1, get_goods_gg, \
    get_goods_mfrs_id, get_expdt_date, get_supply_id, get_id

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,b6_spd3_core_business_flow_database_check,a_b1流程八_高值跟台业务流程,id2303,id2303-11,sit,on
主数据平台:a_b1流程八_高值跟台业务流程
python runner_test.py tag id2303-11 debug mdm3
"""


def check_mcms_operation_apply():  # 检查跟台申请单
    branch_id = get_branch_id()
    sql = " select * from  mcms_operation_apply where branch_id='%s' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    # 获取主表主键ID
    sql = " select id from  mcms_operation_apply where branch_id='%s' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id)
    ID = get_id(sql)
    # 获取order_no
    sql = " select order_no from  mcms_operation_apply where id='%s';" % (ID)
    order_no = get_id(sql)
    rec_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    rec_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    target_stock_id = get_stockId_fromdb(rec_dept_name + '库房')
    rec_address_id = get_stockAreaId_new_fromDb(rec_dept_name, 2)

    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    source_stock_id = get_stockId_fromdb(get_branch_name() + '中心库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 1)

    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_operation_apply where id='%s';" % ID)
    last_modified = get_create_time("select last_modified from  mcms_operation_apply where id='%s';" % ID)
    oper_date = get_create_time("select oper_date from  mcms_operation_apply where id='%s';" % ID)
    expire_date = get_create_time("select expire_date from  mcms_operation_apply where id='%s';" % ID)
    last_modified_user = create_user
    hos_id = get_hosid()
    hos_name = get_hosname()
    branch_name = get_branch_name()
    # 子表检查
    check_mcms_operation_apply_list(ID)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'check_mcms_operation_apply', ID, hos_id, hos_name, branch_id, branch_name,
                                             order_no,
                                             rec_dept_id, rec_dept_name, rec_address_id, oper_date, expire_date
                                             , create_user, create_time, last_modified, last_modified_user

                                             )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_operation_apply_list(pid):
    branch_id = get_branch_id()
    sql = " select * from  mcms_operation_apply_list where pid='%s';" % (
        pid)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    # 获取子表主键ID
    sql = " select id from  mcms_operation_apply_list where pid='%s';" % (
        pid)
    ID = get_id(sql)

    hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    prov_id = get_prov_id()
    sub_prov_id = get_prov_id()

    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_operation_apply_list where id='%s';" % ID)
    last_modified = get_create_time("select last_modified from  mcms_operation_apply_list where id='%s';" % ID)
    last_modified_user = create_user

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'check_mcms_operation_apply_list', ID, pid, hos_goods_id, prov_id,
                                             sub_prov_id,
                                             create_user, create_time, last_modified, last_modified_user

                                             )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_operation_apply_approval_after():  # 检查跟台申请单审批后的
    branch_id = get_branch_id()
    sql = " select * from  mcms_operation_apply where branch_id='%s' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    # 获取主表主键ID
    sql = " select id from  mcms_operation_apply where branch_id='%s' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id)
    ID = get_id(sql)
    # 获取order_no
    sql = " select order_no from  mcms_operation_apply where id='%s';" % (ID)
    order_no = get_id(sql)
    rec_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    rec_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    target_stock_id = get_stockId_fromdb(rec_dept_name + '库房')
    rec_address_id = get_stockAreaId_new_fromDb(rec_dept_name, 2)

    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    source_stock_id = get_stockId_fromdb(get_branch_name() + '中心库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 1)

    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_operation_apply where id='%s';" % ID)
    last_modified = get_create_time("select last_modified from  mcms_operation_apply where id='%s';" % ID)
    oper_date = get_create_time("select oper_date from  mcms_operation_apply where id='%s';" % ID)
    expire_date = get_create_time("select expire_date from  mcms_operation_apply where id='%s';" % ID)
    last_modified_user = create_user
    hos_id = get_hosid()
    hos_name = get_hosname()
    branch_name = get_branch_name()
    # 子表检查
    check_mcms_operation_apply_list(ID)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'check_mcms_operation_apply_approval_after', ID, hos_id, hos_name,
                                             branch_id, branch_name, order_no,
                                             rec_dept_id, rec_dept_name, rec_address_id, oper_date, expire_date
                                             , create_user, create_time, last_modified, last_modified_user

                                             )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_operation_apply_list_apply_approval_after(pid):
    branch_id = get_branch_id()
    sql = " select * from  mcms_operation_apply_list where pid='%s';" % (
        pid)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    # 获取子表主键ID
    sql = " select id from  mcms_operation_apply_list where pid='%s';" % (
        pid)
    ID = get_id(sql)

    hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    prov_id = get_prov_id()
    sub_prov_id = get_prov_id()

    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_operation_apply_list where id='%s';" % ID)
    last_modified = get_create_time("select last_modified from  mcms_operation_apply_list where id='%s';" % ID)
    last_modified_user = create_user

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'check_mcms_operation_apply_list', ID, pid, hos_goods_id, prov_id,
                                             sub_prov_id,
                                             create_user, create_time, last_modified, last_modified_user

                                             )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_operation_notice():
    branch_id = get_branch_id()
    sql = " select * from  mcms_operation_notice where branch_id='%s' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    # 获取主表主键ID
    sql = " select id from  mcms_operation_notice where branch_id='%s' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id)
    ID = get_id(sql)
    # 获取order_no
    sql = " select order_no from  mcms_operation_notice where id='%s';" % (ID)
    order_no = get_id(sql)
    source_bill_id = get_id("select id from mcms_operation_apply order by create_time desc  LIMIT 1;")
    source_order_no = get_id("select order_no from mcms_operation_apply order by create_time desc  LIMIT 1;")

    rec_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    rec_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    target_stock_id = get_stockId_fromdb(rec_dept_name + '库房')
    rec_address_id = get_stockAreaId_new_fromDb(rec_dept_name, 2)

    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    source_stock_id = get_stockId_fromdb(get_branch_name() + '中心库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 1)

    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_operation_notice where id='%s';" % ID)
    last_modified = get_create_time("select last_modified from  mcms_operation_notice where id='%s';" % ID)
    oper_date = get_create_time("select oper_date from  mcms_operation_notice where id='%s';" % ID)
    last_modified_user = create_user
    hos_id = get_hosid()
    hos_name = get_hosname()
    branch_name = get_branch_name()
    create_user_name = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1']
    prov_id = get_prov_id()
    prov_name = get_prov_name()
    # 子表检查
    check_mcms_operation_notice_list(ID, order_no)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'check_mcms_operation_notice', ID, order_no, source_bill_id,
                                             source_order_no, hos_id, hos_name,
                                             branch_id, branch_name,
                                             rec_dept_id, rec_dept_name, oper_date, prov_id
                                             , prov_name, rec_address_id, create_user, create_user_name, create_time,
                                             last_modified, last_modified_user

                                             )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_operation_notice_list(pid, p_order_no):
    branch_id = get_branch_id()
    sql = " select * from  mcms_operation_notice_list where pid='%s';" % (
        pid)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    # 获取子表主键ID
    sql = " select id from  mcms_operation_notice_list where pid='%s';" % (
        pid)
    ID = get_id(sql)
    source_bill_detail_id = get_id("select id from mcms_operation_apply_list order by create_time desc  LIMIT 1;")
    pkg_code = p_order_no
    hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    goodsCode = get_goods_code1(hos_goods_id)
    goodsName = get_goods_name(hos_goods_id)

    sub_prov_id = get_prov_id()
    sub_prov_name = get_prov_name()
    create_user_name = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1']

    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_operation_notice_list where id='%s';" % ID)
    last_modified = get_create_time("select last_modified from  mcms_operation_notice_list where id='%s';" % ID)
    last_modified_user = create_user

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'check_mcms_operation_notice_list', ID, pid, source_bill_detail_id,
                                             pkg_code, hos_goods_id, sub_prov_id, sub_prov_name,
                                             goodsCode, goodsName, create_user, create_user_name, create_time,
                                             last_modified, last_modified_user

                                             )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_hdi_distr(type=25):
    from common.db.sql.sql_tools_out import check_mcms_pur_plan_sql, get_id
    branch_id = get_branch_id()
    # 验证配送单主表
    sql = "select * from hdi_distr  where branch_id = '%s' and bill_mode='%s' order by create_time desc  LIMIT 1;" % (
        branch_id, type)
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    hos_id = get_hosid()
    # 查询配送单主键
    distr_main_key = get_id(
        "select id from hdi_distr a where branch_id = '%s' and bill_mode='%s' order by create_time desc LIMIT 1;" % (
            branch_id, type))
    # 查询配送单order_no
    distr_order_no = get_id(
        "select order_no from hdi_distr a where id = '%s' and bill_mode='%s' order by create_time desc LIMIT 1;" % (
            distr_main_key, type))
    # 从手术通知单获取source_id
    source_id = get_id(
        "select id from   mcms_operation_notice  where branch_id='%s'   order by create_time desc  LIMIT 1;" % (
            branch_id))
    pur_bill_id = source_id
    info = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')
    rec_user = info['username1']
    distrBillId = distr_main_key
    distrOrderNo = distr_order_no
    distrUser = get_login_user_uxid_bydb(
        FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"])
    create_user = distrUser
    create_user_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    create_time = get_create_time(
        "select create_time from spd_hdiorder_test2.hdi_distr where id = '%s' " % (
            distr_main_key))
    last_modified_user = distrUser

    # 验证子表数据
    time.sleep(6)
    check_hdi_distr_detail(distr_main_key, type)

    prov_id = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_corpId"]
    prov_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    exe_prov_id = prov_id
    exe_prov_name = prov_name
    pur_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    pur_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    rec_org_id = process_tuple(
        get_id("select id from spd3_herp_test2.sys_org where branch_id='%s' and ename='%s';" % (
            branch_id, FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2'])))
    rec_org_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    last_modified = get_create_time(
        "select last_modified from spd_hdiorder_test2.hdi_distr where branch_id = '%s'  and bill_mode='%s' order by create_time desc LIMIT 1;" % (
            branch_id, type))
    operationApplyOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_notice  where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_notice where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationApplyBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'hdi_distr_0911', distr_main_key, distr_order_no, hos_id, get_hosname(),
                                             get_branch_id(), source_id, pur_bill_id, prov_id, prov_name,
                                             exe_prov_id, exe_prov_name, pur_dept_id, pur_dept_name, rec_org_id,
                                             rec_org_name, operationApplyOrderNo, operationNoticeBillId, distrBillId,
                                             operationNoticeOrderNo,
                                             distrOrderNo, operationApplyBillId, distrUser, create_user,
                                             create_user_name,
                                             create_time, last_modified,
                                             last_modified_user
                                             )

    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_hdi_distr_in(type=25):
    branch_id = get_branch_id()
    # 验证配送单主表
    sql = "select * from hdi_distr  where branch_id = '%s' and bill_mode='%s' order by create_time desc  LIMIT 1;" % (
        branch_id, type)
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    hos_id = get_hosid()
    # 查询配送单主键
    distr_main_key = get_id(
        "select id from hdi_distr a where branch_id = '%s' and bill_mode='%s' order by create_time desc LIMIT 1;" % (
            branch_id, type))
    # 查询配送单order_no
    distr_order_no = get_id(
        "select order_no from hdi_distr a where id = '%s' and bill_mode='%s' order by create_time desc LIMIT 1;" % (
            distr_main_key, type))
    # 从手术通知单获取source_id
    source_id = get_id(
        "select id from   mcms_operation_notice  where branch_id='%s'   order by create_time desc  LIMIT 1;" % (
            branch_id))
    pur_bill_id = source_id
    info = FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')
    rec_user = info['username1']
    distrBillId = distr_main_key
    distrOrderNo = distr_order_no
    distrUser = get_login_user_uxid_bydb(
        FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"])
    create_user = distrUser
    create_user_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    create_time = get_create_time(
        "select create_time from hdi_distr where branch_id = '%s'  and bill_mode='%s' order by create_time desc LIMIT 1;" % (
            branch_id, type))
    last_modified_user = distrUser

    # 验证子表数据
    check_hdi_distr_detail_in(distr_main_key, type)

    prov_id = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_corpId"]
    prov_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    exe_prov_id = prov_id
    exe_prov_name = prov_name
    pur_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    pur_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    rec_org_id = process_tuple(
        get_id("select id from spd3_herp_test2.sys_org where branch_id='%s' and ename='%s';" % (
            branch_id, FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2'])))
    rec_org_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    last_modified = get_create_time(
        "select last_modified from hdi_distr where branch_id = '%s'  and bill_mode='%s' order by create_time desc LIMIT 1;" % (
            branch_id, type))
    operationApplyOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_notice  where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_notice where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationApplyBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'hdi_distr_0911', distr_main_key, distr_order_no, hos_id, get_hosname(),
                                             get_branch_id(), source_id, pur_bill_id, prov_id, prov_name,
                                             exe_prov_id, exe_prov_name, pur_dept_id, pur_dept_name, rec_org_id,
                                             rec_org_name, operationApplyOrderNo, operationNoticeBillId, distrBillId,
                                             operationNoticeOrderNo,
                                             distrOrderNo, operationApplyBillId, distrUser, create_user,
                                             create_user_name,
                                             create_time, last_modified,
                                             last_modified_user
                                             )

    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_hdi_distr_detail(distr_main_key, type):
    from common.db.sql.sql_tools_out import check_mcms_pur_plan_sql, get_id
    branch_id = get_branch_id()
    sql = "select * from spd_hdiorder_test2.hdi_distr_detail where pid = '%s';" % distr_main_key
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    # 获取子表主键
    distr_detail_main_key = get_id(
        "select id from spd_hdiorder_test2.hdi_distr_detail where pid = '%s';" % (
            distr_main_key))
    source_id = get_id(
        "select id from   spd3_herp_test2.mcms_operation_notice  where branch_id='%s'  order by create_time desc  LIMIT 1;" % (
            branch_id))
    source_detail_id = get_id("select id from   spd3_herp_test2.mcms_operation_notice_list order by create_time desc  LIMIT 1;")
    pur_detail_id = source_detail_id
    hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    goods_name = get_goods_name(hos_goods_id)
    goods_gg = get_goods_gg(hos_goods_id)
    mfrs_id = get_goods_mfrs_id(hos_goods_id)
    expdt_date = get_expdt_date(
        "select expdt_date from spd_hdiorder_test2.hdi_distr_detail where pid = '%s';" % (
            distr_main_key))
    product_date = get_expdt_date(
        "select product_date from spd_hdiorder_test2.hdi_distr_detail where pid = '%s';" % (
            distr_main_key))
    pkg_def_id = process_tuple(
        get_id("select pkg_def_id from spd3_herp_test2.mcms_pkg where hos_goods_id='%s' LIMIT 1;" % hos_goods_id))
    supply_id = get_supply_id(hos_goods_id)
    sub_prov_id = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_corpId"]
    sub_prov_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    planBillId = process_tuple(
        get_id(
            "select pid from spd3_herp_test2.mcms_pur_plan_detail  where hos_goods_id='%s' order by create_time desc  LIMIT 1;" % (
                hos_goods_id)))

    planDetailId = get_id(
        "select id from spd3_herp_test2.mcms_pur_plan_detail where pid='%s';" % planBillId)
    purDetailId = pur_detail_id
    sql = "select id from  mcms_purchase where branch_id='%s' and bill_mode='%s' order by create_time desc  LIMIT 1;" % (
        get_branch_id(), type)
    print(sql)
    id1 = process_tuple(get_dept_buy_id(sql))
    purBillId = id1
    distrDetailId = distr_detail_main_key
    distrBillId = distr_main_key
    erpCode = mdm_goods_code  # 11661563
    create_user = get_login_user_uxid2()
    create_time = get_create_time(
        "select create_time from spd_hdiorder_test2.hdi_distr_detail where id = '%s';" % (
            distr_detail_main_key))
    last_modified = get_create_time(
        "select last_modified from spd_hdiorder_test2.hdi_distr_detail where id = '%s';" % (
            distr_detail_main_key))
    last_modified_user = create_user
    operationNoticeBillId = source_id
    operationNoticeBillDetailId = source_detail_id
    operationApplyBillDetailId = get_id(
        "select id from  spd3_herp_test2.mcms_operation_apply_list where hos_goods_id='%s' order by   CREATE_TIME desc LIMIT 1;" % hos_goods_id)
    # operationApplyBillDetailId = operationApplyBillDetailId.replace("O", "")
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'hdi_distr_detail_0911', distr_detail_main_key, distr_main_key, source_id,
                                             source_detail_id, pur_detail_id
                                             , hos_goods_id, mdm_goods_code, goods_code, goods_name, goods_gg,
                                             mfrs_id, expdt_date, product_date
                                             , pkg_def_id, supply_id, sub_prov_id, sub_prov_name, operationNoticeBillId,
                                             distrDetailId, distrBillId, operationNoticeBillDetailId,
                                             operationApplyBillDetailId,
                                             create_user,
                                             create_time, last_modified, last_modified_user)

    # comparison_result(actual, expected)
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_hdi_distr_detail_in(distr_main_key, type):
    branch_id = get_branch_id()
    sql = "select * from hdi_distr_detail where pid = '%s';" % distr_main_key
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    # 获取子表主键
    distr_detail_main_key = get_id(
        "select id from hdi_distr_detail where pid = '%s';" % (
            distr_main_key))
    source_id = get_id(
        "select id from   mcms_operation_notice  where branch_id='%s'  order by create_time desc  LIMIT 1;" % (
            branch_id))
    source_detail_id = get_id("select id from   mcms_operation_notice_list order by create_time desc  LIMIT 1;")
    pur_detail_id = source_detail_id
    hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    goods_name = get_goods_name(hos_goods_id)
    goods_gg = get_goods_gg(hos_goods_id)
    mfrs_id = get_goods_mfrs_id(hos_goods_id)
    expdt_date = get_expdt_date(
        "select expdt_date from hdi_distr_detail where pid = '%s';" % (
            distr_main_key))
    product_date = get_expdt_date(
        "select product_date from hdi_distr_detail where pid = '%s';" % (
            distr_main_key))
    pkg_def_id = process_tuple(
        get_id("select pkg_def_id from mcms_pkg where hos_goods_id='%s' LIMIT 1;" % hos_goods_id))
    supply_id = get_supply_id(hos_goods_id)
    sub_prov_id = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_corpId"]
    sub_prov_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    planBillId = process_tuple(
        get_id(
            "select pid from spd3_herp_test2.mcms_pur_plan_detail  where hos_goods_id='%s' order by create_time desc  LIMIT 1;" % (
                hos_goods_id)))

    planDetailId = get_id(
        "select id from spd3_herp_test2.mcms_pur_plan_detail where pid='%s';" % planBillId)
    purDetailId = pur_detail_id
    sql = "select id from  mcms_purchase where branch_id='%s' and bill_mode='%s' order by create_time desc  LIMIT 1;" % (
        get_branch_id(), type)
    print(sql)
    id1 = process_tuple(get_dept_buy_id(sql))
    purBillId = id1
    distrDetailId = distr_detail_main_key
    distrBillId = distr_main_key
    erpCode = mdm_goods_code  # 11661563
    create_user = get_login_user_uxid2()
    create_time = get_create_time(
        "select create_time from hdi_distr_detail where id = '%s';" % (
            distr_detail_main_key))
    last_modified = get_create_time(
        "select last_modified from hdi_distr_detail where id = '%s';" % (
            distr_detail_main_key))
    last_modified_user = create_user
    operationNoticeBillId = source_id
    operationNoticeBillDetailId = source_detail_id
    operationApplyBillDetailId = source_detail_id
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'hdi_distr_detail_0911', distr_detail_main_key, distr_main_key, source_id,
                                             source_detail_id, pur_detail_id
                                             , hos_goods_id, mdm_goods_code, goods_code, goods_name, goods_gg,
                                             mfrs_id, expdt_date, product_date
                                             , pkg_def_id, supply_id, sub_prov_id, sub_prov_name, operationNoticeBillId,
                                             distrDetailId, distrBillId, operationNoticeBillDetailId,
                                             operationApplyBillDetailId,
                                             create_user,
                                             create_time, last_modified, last_modified_user)

    # comparison_result(actual, expected)
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_check(type=1):
    branch_id = get_branch_id()
    if type == 1:
        bill_mode = 16
    elif type == 2:
        bill_mode = 25
    else:
        bill_mode = 66
    print('检查验收单数据库写值')
    check_no = FileUtils().r_info8('b5_spd3_core_business_flow', '验收单号', 'message15')['CHECK_NO1']
    sql = "select * from mcms_check where id = '%s';" % check_no
    order_no = get_id("select order_no from mcms_check where id = '%s';" % check_no)
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)

    source_id = get_id("select id from hdi_distr where branch_id='%s' order by   CREATE_TIME desc LIMIT 1;" % branch_id)
    source_no = source_id
    prov_id = get_prov_id()
    prov_name = get_prov_name()
    rec_org_id = get_rec_org_id(2)
    rec_org_name = get_rec_org_name(2)
    dept_id = rec_org_id
    dept_name = rec_org_name
    branch_id = get_branch_id()
    buyBillId = get_buyBillId(branch_id, bill_mode)
    buyOrderNo = get_buyOrderNo(branch_id, bill_mode)
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    planBillId = get_planBillId(hos_goods_id)
    planOrderNo = get_planOrderNo(hos_goods_id)
    purOrderNo = get_purOrderNo(branch_id, bill_mode)
    purBillId = get_purBillId(branch_id, bill_mode)
    bill_relation_json = get_mcms_chek_purBillDate(branch_id, bill_mode)
    purBillDate = reGetString(bill_relation_json, r'purBillDate":"', r'""distrBillId')
    distrBillId = get_distrBillId(branch_id, bill_mode)
    distrOrderNo = get_distrOrderNo(branch_id, bill_mode)
    checkBillId = check_no
    checkOrderNo = order_no
    create_user = get_login_user_uxid()
    sql = "select create_time from mcms_check where id='%s';" % check_no
    create_time = get_create_time(sql)
    sql = "select last_modified from mcms_check where id='%s';" % check_no
    last_modified = get_create_time(sql)
    last_modified_user = create_user
    operationApplyOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_notice  where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_notice where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationApplyBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    check_mcms_check_batch(type, check_no, order_no, hos_goods_id)  # 子表检查
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check', 'mcms_check_0912', check_no,
                                             order_no, get_hosid(), get_branch_id(), source_id, source_no, prov_id,
                                             prov_name, rec_org_id, rec_org_name, dept_id, dept_name,
                                             operationApplyOrderNo,
                                             operationNoticeBillId, distrBillId, operationNoticeOrderNo, distrOrderNo,
                                             operationApplyBillId,
                                             checkBillId,
                                             checkOrderNo, create_user,
                                             create_time, last_modified,
                                             last_modified_user)

    # 对比预期值和实际值是否一致
    # comparison_result(actual, expected)
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_check_batch(type, check_no, order_no, hos_goods_id):
    print('数据库检查验收单子表')
    if type == 1:
        bill_mode = 16
    elif type == 2:
        bill_mode = 25
    else:
        bill_mode = 66
    sql = "select * from mcms_check_batch where pid='%s'" % check_no
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    id = get_id("select id from mcms_check_batch where pid='%s'" % check_no)
    pid = check_no
    branch_id = get_branch_id()
    distr_detail_id = get_distr_detail_id(branch_id, bill_mode)
    source_detail_id = distr_detail_id
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    sql = "select id from hdi_barcode  where code_type='%s' and branch_id='%s' order by create_time desc LIMIT 1;" % (
        bill_mode, branch_id)
    barcode_id = get_id(sql)
    create_user = get_login_user_uxid()
    create_time = get_create_time("select create_time from mcms_check_batch where pid='%s'" % check_no)
    last_modified = get_create_time("select last_modified from mcms_check_batch where pid='%s'" % check_no)
    last_modified_user = create_user

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check', 'mcms_check_batch_0912', id,
                                             pid, order_no, source_detail_id, distr_detail_id, hos_goods_id,
                                             mdm_goods_code,
                                             goods_code, barcode_id, create_user, create_time, last_modified,
                                             last_modified_user
                                             )

    # 对比预期值和实际值是否一致
    # comparison_result(actual, expected)
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_psi(type=1):
    print('检查中心库入库单和出库单')
    if type == 1:
        bill_mode = 16
    elif type == 2:
        bill_mode = 25
    else:
        bill_mode = 66
    branch_id = get_branch_id()
    sql = "select * from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_YS' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    sql = "select id from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_YS' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    id = get_id(sql)
    sql = "select order_no from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_YS' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    order_no = get_id(sql)
    target_corp_id = get_hosid()
    target_branch_id = get_branch_id()
    target_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    target_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    stock_name = get_branch_name() + "中心库房"
    target_stock_id = get_stockId_fromdb(stock_name)
    target_area_code = get_stockAreaId_new_fromDb(target_dept_name, 1)
    source_id = FileUtils().r_info8('b5_spd3_core_business_flow', '验收单号', 'message15')['CHECK_NO1']
    source_no = get_distrBillId(branch_id, bill_mode)
    source_repl_id = source_no
    source_corp_id = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_corpId"]
    source_dept_id = source_corp_id
    source_dept_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    source_stock_id = source_corp_id
    accounter = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    account_date = get_create_time("select account_date from  mcms_psi where id='%s';" % id)

    buyBillId = get_buyBillId(branch_id, bill_mode)
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    planBillId = get_planBillId(hos_goods_id)
    planOrderNo = get_planOrderNo(hos_goods_id)
    buyOrderNo = get_buyOrderNo(branch_id, bill_mode)
    purOrderNo = get_purOrderNo(branch_id, bill_mode)
    purBillId = get_purBillId(branch_id, bill_mode)
    bill_relation_json = get_purBillDate2(branch_id, bill_mode)
    purBillDate = reGetString(bill_relation_json, r'purBillDate":"', r'""distrBillId')
    distrBillId = get_distrBillId(branch_id, bill_mode)
    distrOrderNo = get_distrOrderNo(branch_id, bill_mode)
    checkBillId = source_id
    sql = "select order_no from mcms_check where id='%s';" % checkBillId
    checkOrderNo = get_id(sql)
    psiInBillId = id
    psiInOrderNo = order_no
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi where id='%s';" % id)
    last_modified = get_create_time("select last_modified from  mcms_psi where id='%s';" % id)
    last_modified_user = create_user
    operationApplyOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_notice  where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_notice where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationApplyBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    #入库单子表检查
    check_mcms_psi_batch_in(id, type, order_no, source_id)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check', 'check_mcms_psi_0912', id,
                                             order_no, target_corp_id, target_branch_id, target_dept_id,
                                             target_dept_name, target_stock_id
                                             , target_area_code, source_id, source_no, source_repl_id,
                                             source_corp_id, source_dept_id, source_dept_name
                                             , source_stock_id, accounter, account_date, operationApplyOrderNo,
                                             operationNoticeBillId, distrBillId, operationNoticeOrderNo, distrOrderNo,
                                             operationApplyBillId, checkBillId, checkOrderNo, psiInBillId, psiInOrderNo,
                                             create_user
                                             , create_time, last_modified, last_modified_user)

    # 对比预期值和实际值是否一致
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')
    # 检查中心库出库单====================================================================
    sql = "select * from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_QL' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    sql = "select id from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_QL' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    id_out = get_id(sql)
    sql = "select order_no from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_QL' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    order_no_out = get_id(sql)
    target_corp_id = get_hosid()
    target_branch_id = get_branch_id()
    target_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    target_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    stock_name = target_dept_name + "库房"
    target_stock_id = get_stockId_fromdb(stock_name)
    target_area_code = get_stockAreaId_new_fromDb(target_dept_name, 2)
    source_id_out = id
    source_no_out = order_no
    source_repl_id = source_no
    source_corp_id = get_hosid()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    source_stock_id = get_stockId_fromdb(get_branch_name() + '中心库房')
    accounter = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    account_date = get_create_time("select account_date from  mcms_psi where id='%s';" % id_out)

    buyBillId = get_buyBillId(branch_id, bill_mode)
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    planBillId = get_planBillId(hos_goods_id)
    planOrderNo = get_planOrderNo(hos_goods_id)
    buyOrderNo = get_buyOrderNo(branch_id, bill_mode)
    purOrderNo = get_purOrderNo(branch_id, bill_mode)
    purBillId = get_purBillId(branch_id, bill_mode)
    bill_relation_json = get_purBillDate2(branch_id, bill_mode)
    purBillDate = reGetString(bill_relation_json, r'purBillDate":"', r'""distrBillId')
    distrBillId = get_distrBillId(branch_id, bill_mode)
    distrOrderNo = get_distrOrderNo(branch_id, bill_mode)
    checkBillId = source_id
    sql = "select order_no from mcms_check where id='%s';" % checkBillId
    checkOrderNo = get_id(sql)
    psiInBillId = id
    psiInOrderNo = order_no
    psiOutBillId = id_out
    psiOutOrderNo = order_no_out
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi where id='%s';" % id_out)
    last_modified = get_create_time("select last_modified from  mcms_psi where id='%s';" % id_out)
    last_modified_user = create_user
    source_branch_id = get_branch_id()
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name)

   #出库单子表检查
    check_mcms_psi_batch_out(id, type, order_no, source_id)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check', 'check_mcms_psi_out_0912',
                                             id_out,
                                             order_no_out, target_corp_id, target_branch_id, target_dept_id,
                                             target_dept_name, target_stock_id
                                             , target_area_code, source_id_out, source_no_out, source_repl_id,
                                             source_corp_id, source_branch_id, source_dept_id, source_dept_name
                                             , source_stock_id, source_area_code, operationApplyOrderNo, operationNoticeBillId,
                                             distrBillId, operationNoticeOrderNo, distrOrderNo, operationApplyBillId
                                             , checkBillId, checkOrderNo, psiInBillId, psiInOrderNo, psiOutBillId,
                                             psiOutOrderNo,create_user
                                             , create_time, last_modified, last_modified_user)

    # 对比预期值和实际值是否一致
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_psi_batch_in(DR_ID, type, order_no, source_id1):
    if type == 1:
        bill_mode = 16
    elif type == 2:
        bill_mode = 25
    else:
        bill_mode = 66
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_batch where pid='%s';" % (
        DR_ID)
    actual = check_mcms_dept_buy_sql(sql)
    print('actual', actual)
    batch_main_key = get_id("select id from mcms_psi_batch where pid='%s';" % DR_ID)
    pid = DR_ID
    # order_no = get_id("select order_no from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    source_detail_id = source_id1 + '0001'
    pick_detail_id = None
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    pkg_def_id = get_pkg_def_id(hos_goods_id)
    picker_name = FileUtils().r_info8("b2_herp3_bs", "用户名信息", 'message3')['username1']
    picker = get_login_user_uxid_bydb(picker_name)
    source_batch_id = get_id("select source_batch_id from mcms_psi_batch where pid='%s';" % DR_ID)
    distrBillId = get_distrBillId(branch_id, bill_mode)
    target_batch_id = get_id(
        "select id from mcms_hos_batch where hos_goods_id='%s' order by create_time desc LIMIT 1;" % hos_goods_id)
    if check_batch_id(source_batch_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    barcode_id = get_id("select barcode_id from mcms_psi_batch where pid='%s';" % DR_ID)
    if check_barcode_id(barcode_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    shelf_code = get_stockAreaId_new_fromDb(get_branch_name(), 1)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_batch where pid='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_batch where pid='%s';" % DR_ID)
    last_modified_user = create_user
    if type == 1:
        expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                                 'mcms_psi_batch_in1', batch_main_key, pid, order_no, source_detail_id
                                                 , hos_goods_id, mdm_goods_code, goods_code, source_batch_id,
                                                 target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                                 last_modified, last_modified_user

                                                 )
    elif type == 2:
        expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                                 'mcms_psi_batch_in_0912', batch_main_key, pid, order_no,
                                                 source_detail_id
                                                 , hos_goods_id, mdm_goods_code, goods_code, source_batch_id,
                                                 target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                                 last_modified, last_modified_user

                                                 )
    else:
        expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                                 'mcms_psi_batch_in3', batch_main_key, pid, order_no, source_detail_id
                                                 , hos_goods_id, mdm_goods_code, goods_code, source_batch_id,
                                                 target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                                 last_modified, last_modified_user

                                                 )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_psi_batch_out(DR_ID, type, order_no, source_id1):
    if type == 1:
        bill_mode = 16
    elif type == 2:
        bill_mode = 25
    else:
        bill_mode = 66
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_batch where pid='%s';" % (
        DR_ID)
    actual = check_mcms_dept_buy_sql(sql)
    print('actual', actual)
    batch_main_key = get_id("select id from mcms_psi_batch where pid='%s';" % DR_ID)
    pid = DR_ID
    # order_no = get_id("select order_no from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    source_detail_id = source_id1 + '0001'
    pick_detail_id = None
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    pkg_def_id = get_pkg_def_id(hos_goods_id)
    picker_name = FileUtils().r_info8("b2_herp3_bs", "用户名信息", 'message3')['username1']
    picker = get_login_user_uxid_bydb(picker_name)
    source_batch_id = get_id("select source_batch_id from mcms_psi_batch where pid='%s';" % DR_ID)
    distrBillId = get_distrBillId(branch_id, bill_mode)
    target_batch_id = get_id(
        "select id from mcms_hos_batch where hos_goods_id='%s' order by create_time desc LIMIT 1;" % hos_goods_id)
    if check_batch_id(source_batch_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    barcode_id = get_id("select barcode_id from mcms_psi_batch where pid='%s';" % DR_ID)
    if check_barcode_id(barcode_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    shelf_code = get_stockAreaId_new_fromDb(get_branch_name(), 1)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_batch where pid='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_batch where pid='%s';" % DR_ID)
    last_modified_user = create_user


    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_batch_in_0912', batch_main_key, pid, order_no, source_detail_id
                                             , hos_goods_id, mdm_goods_code, goods_code, source_batch_id,
                                             target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                             last_modified, last_modified_user

                                             )


    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')
def check_mcms_hos_batch(type=1):  # 检查批次表信息
    print('中心库入库后检查批次表信息')
    if type == 1:
        bill_mode = 16
        pur_mode = 10
    elif type == 2:
        bill_mode = 25
        pur_mode = 20
    else:
        pur_mode = 60
        bill_mode = 66
    branch_id = get_branch_id()
    sql = "select * from  mcms_hos_batch  where branch_id='%s' and pur_mode='%s' order by  CREATE_TIME desc LIMIT 1;" % (
        branch_id, pur_mode)
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    sql = "select id from  mcms_hos_batch  where branch_id='%s' and pur_mode='%s' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, pur_mode)
    id = get_id(sql)
    hos_id = get_hosid()
    branch_id = get_branch_id()

    stock_name = get_branch_name() + "中心库房"
    stock_id = get_stockId_fromdb(stock_name)
    src_batch_id = None
    hos_goods_id='hos_goods_id'
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    elif type == 3:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    goods_name = get_goods_name(hos_goods_id)
    goods_gg = get_goods_gg(hos_goods_id)
    mfrs_id = get_goods_mfrs_id(hos_goods_id)



    # 从手术通知单获取source_id
    purBillId = get_id(
        "select id from   mcms_operation_notice  where branch_id='%s'   order by create_time desc  LIMIT 1;" % (
            branch_id))
    bill_relation_json = get_purBillDate2(branch_id, bill_mode)
    # purBillDate = reGetString(bill_relation_json, r'purBillDate":"', r'""distrBillId')
    # distrBillId = get_distrBillId(branch_id, bill_mode)
    # distrOrderNo = get_distrOrderNo(branch_id, bill_mode)
    # checkBillId = source_id
    # sql = "select order_no from mcms_check where id='%s';" % checkBillId
    # checkOrderNo = get_id(sql)
    # psiInBillId = id

    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_hos_batch where id='%s';" % id)
    last_modified = get_create_time("select last_modified from  mcms_hos_batch where id='%s';" % id)
    last_modified_user = create_user
    supply_id = get_supply_id(hos_goods_id)
    prov_id = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_corpId"]
    prov_name = FileUtils().r_info8('b5_spd3_core_business_flow', '供货关系申请2', 'message')["e_username"]
    sub_prov_id = prov_id
    sub_prov_name = prov_name
    expdt_date = get_create_time("select expdt_date from  mcms_hos_batch where id='%s';" % id)
    product_date = get_create_time("select product_date from  mcms_hos_batch where id='%s';" % id)
    distr_id = get_distrBillId(branch_id, bill_mode)
    distr_detail_id = get_distr_detail_id(branch_id, bill_mode)
    in_time = get_create_time("select in_time from  mcms_hos_batch where id='%s';" % id)
    goodsGg = goods_gg
    goodsCode = goods_code
    goodsName = goods_name
    erpCode = mdm_goods_code

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check', 'check_mcms_hos_batch_0912',
                                             id,
                                             hos_id, branch_id, stock_id, src_batch_id, hos_goods_id,
                                             mdm_goods_code, goods_code, goods_name, goods_gg
                                             , mfrs_id, supply_id, prov_id, prov_name, sub_prov_id,
                                             sub_prov_name, expdt_date, product_date
                                             , distr_id, distr_detail_id, purBillId, in_time,
                                               create_user, create_time
                                             , last_modified, last_modified_user)

    # 对比预期值和实际值是否一致
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')

def check_mcms_psi_dept_in(type=25):
    bill_mode = type
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_QL' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)
    # 获取主键
    id = get_id(
        " select id from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_QL' order by   CREATE_TIME desc LIMIT 1;" % (
            branch_id, bill_mode))
    # 获取source_id
    sql = "select id from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_QL' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    source_id = get_id(sql)
    source_no = get_id("select order_no from  mcms_psi where id='%s';" % source_id)
    # 获取order_no
    sql = " select order_no from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_QL' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    order_no = get_id(sql)
    target_corp_id = get_hosid()
    target_branch_id = get_branch_id()
    target_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    target_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    target_stock_id = get_stockId_fromdb(target_dept_name + '库房')
    target_area_code = get_stockAreaId_new_fromDb(target_dept_name, 2)
    PICK_id = get_PICK_id(branch_id, bill_mode)

    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    source_stock_id = get_stockId_fromdb(get_branch_name() + '中心库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 1)
    buyBillId = get_buyBillId(branch_id, bill_mode)
    pickOrderNo = get_PICK_order_no(branch_id, bill_mode)
    buyOrderNo = get_buyOrderNo(branch_id, bill_mode)
    pickBillId = get_PICK_id(branch_id, bill_mode)
    psiDeptOutBillId = source_id
    psiDeptOutOrderNo = source_no
    if type == 16:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 25:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    elif type == 66:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    else:
        hos_goods_id = None
    planBillId = get_planBillId(hos_goods_id)
    purOrderNo = get_purOrderNo(branch_id, bill_mode)
    purBillId = get_purBillId(branch_id, bill_mode)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept where id='%s';" % id)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept where id='%s';" % id)
    last_modified_user = create_user
    accounter = create_user
    sql = "select account_date from  mcms_psi_dept where id='%s';" % id
    account_date = get_account_date(sql)
    psiDeptInBillId = id
    psiDeptInOrderNo = order_no
    source_repl_id = get_distrBillId(branch_id, bill_mode)
    bill_relation_json = get_id(
        "select bill_relation_json from mcms_psi_dept a where id = '%s';" % (
            id))
    print(bill_relation_json)
    purBillDate = reGetString(bill_relation_json, r'purBillDate":"', r'""distrBillId')
    distrBillId = get_distrBillId(branch_id, bill_mode)
    distrOrderNo = get_distrOrderNo(branch_id, bill_mode)
    checkBillId = get_checkBillId(branch_id, bill_mode)
    checkOrderNo = get_checkOrderNo(branch_id, bill_mode)
    psiInBillId = get_psiInBillId(branch_id, bill_mode)
    psiInOrderNo = get_psiInOrderNo(branch_id, bill_mode)
    planOrderNo = get_planOrderNo(hos_goods_id)


    # 子表检查
    check_mcms_psi_dept_batch_in(id, type, order_no, source_id)
    operationApplyOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_notice  where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationNoticeOrderNo = get_id(
        "select order_no from spd3_herp_test2.mcms_operation_notice where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    operationApplyBillId = get_id(
        "select id from spd3_herp_test2.mcms_operation_apply where branch_id='%s' order by create_time desc  LIMIT 1;" % branch_id)
    psiOutBillId=get_id("select id from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_QL' order by   CREATE_TIME desc LIMIT 1;"%(branch_id,bill_mode))
    psiOutOrderNo=get_id("select order_no from  mcms_psi  where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_QL' order by   CREATE_TIME desc LIMIT 1;"%(branch_id,bill_mode))
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_dept_in_0912', id, order_no, target_corp_id, target_branch_id,
                                             target_dept_id, target_dept_name, target_stock_id
                                             , target_area_code, source_id, source_no, source_repl_id,
                                             source_corp_id, source_branch_id,
                                             source_dept_id, source_dept_name, source_stock_id, source_area_code,
                                             accounter, account_date, operationApplyOrderNo, operationNoticeBillId, distrBillId,
                                             operationNoticeOrderNo, distrOrderNo, operationApplyBillId, checkBillId, checkOrderNo,
                                             psiInBillId, psiInOrderNo, psiOutBillId, psiOutOrderNo, psiDeptInBillId,
                                             psiDeptInOrderNo,
                                             create_user, create_time, last_modified, last_modified_user)




    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_psi_dept_batch_in(DR_ID, type, order_no, source_id1):
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_dept_batch where pid='%s';" % (
        DR_ID)
    actual = check_mcms_dept_buy_sql(sql)
    print('actual', actual)
    batch_main_key = get_id("select id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    pid = DR_ID
    # order_no = get_id("select order_no from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    source_detail_id = source_id1 + '0001'
    pick_detail_id = None
    if type == 16:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 25:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    pkg_def_id = get_pkg_def_id(hos_goods_id)
    picker_name = FileUtils().r_info8("b2_herp3_bs", "用户名信息", 'message3')['username1']
    picker = get_login_user_uxid_bydb(picker_name)
    source_batch_id = get_id("select source_batch_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    target_batch_id = source_batch_id
    if check_batch_id(source_batch_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    barcode_id = get_id("select barcode_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    if check_barcode_id(barcode_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    shelf_code = get_stockAreaId_new_fromDb(dept_name, 2)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified_user = create_user
    if type == 16:
        expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                                 'mcms_psi_dept_batch_in4', batch_main_key, pid, order_no,
                                                 source_detail_id
                                                 , pick_detail_id, hos_goods_id, mdm_goods_code, goods_code,
                                                 source_batch_id,
                                                 target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                                 last_modified

                                                 )
    elif type == 25:
        expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                                 'mcms_psi_dept_batch_in5', batch_main_key, pid, order_no,
                                                 source_detail_id
                                                 , pick_detail_id, hos_goods_id, mdm_goods_code, goods_code,
                                                 source_batch_id,
                                                 target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                                 last_modified

                                                 )
    else:
        expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                                 'mcms_psi_dept_batch_in6', batch_main_key, pid, order_no,
                                                 source_detail_id
                                                 , pick_detail_id, hos_goods_id, mdm_goods_code, goods_code,
                                                 source_batch_id,
                                                 target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                                 last_modified

                                                 )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')

def check_mcms_psi_dept_out(type=25):
    bill_mode = type
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_TK' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    actual = check_mcms_dept_buy_sql(sql)
    print(actual)
    # 获取主键
    id = get_id(
        " select id from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_TK' order by   CREATE_TIME desc LIMIT 1;" % (
            branch_id, bill_mode))
    # 获取source_id
    # sql = "select id from  mcms_psi_dept  where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_XH' order by   CREATE_TIME desc LIMIT 1;" % (
    #     branch_id, bill_mode)
    source_id = get_PICK_id_KS_TK(branch_id,bill_mode)
    source_no = get_id("select order_no from  mcms_psi_dept where id='%s';" % source_id)
    # 获取order_no
    sql = " select order_no from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_TK' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    order_no = get_id(sql)
    target_corp_id = get_hosid()
    target_branch_id = get_branch_id()
    target_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    target_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    target_stock_id = get_stockId_fromdb(get_branch_name() + '中心库房')
    target_area_code = get_stockAreaId_new_fromDb(target_dept_name, 1)
    PICK_id = get_PICK_id(branch_id, bill_mode)

    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    source_stock_id = get_stockId_fromdb(source_dept_name + '库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 2)
    buyBillId = get_buyBillId(branch_id, bill_mode)
    pickBillId = get_PICK_id_KS_TK(branch_id, bill_mode)
    sql="select order_no from mcms_pick where id='%s';"%pickBillId
    pickOrderNo = get_id(sql)
    buyOrderNo = get_buyOrderNo(branch_id, bill_mode)
    psiDeptOutBillId = id
    psiDeptOutOrderNo = order_no
    if type == 16:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 25:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    elif type == 66:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    else:
        hos_goods_id = None
    planBillId = get_planBillId(hos_goods_id)
    purOrderNo = get_purOrderNo(branch_id, bill_mode)
    purBillId = get_purBillId(branch_id, bill_mode)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept where id='%s';" % id)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept where id='%s';" % id)
    last_modified_user = create_user
    accounter = create_user
    sql = "select account_date from  mcms_psi_dept where id='%s';" % id
    account_date = get_account_date(sql)
    psiDeptInBillId = id
    psiDeptInOrderNo = order_no
    source_repl_id = get_distrBillId(branch_id, bill_mode)
    bill_relation_json = get_id(
        "select bill_relation_json from mcms_psi_dept a where id = '%s';" % (
            id))
    print(bill_relation_json)
    purBillDate = reGetString(bill_relation_json, r'purBillDate":"', r'""distrBillId')
    distrBillId = get_distrBillId(branch_id, bill_mode)
    distrOrderNo = get_distrOrderNo(branch_id, bill_mode)
    checkBillId = get_checkBillId(branch_id, bill_mode)
    checkOrderNo = get_checkOrderNo(branch_id, bill_mode)
    psiInBillId = get_psiInBillId(branch_id, bill_mode)
    psiInOrderNo = get_psiInOrderNo(branch_id, bill_mode)
    planOrderNo = get_planOrderNo(hos_goods_id)


    # 子表检查
    check_mcms_psi_dept_batch_out(id, type, hos_goods_id)

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_dept_out_0913', id, order_no, target_corp_id, target_branch_id,
                                             target_dept_id, target_dept_name, target_stock_id
                                             , target_area_code, source_id,
                                             source_corp_id, source_branch_id,
                                             source_dept_id, source_dept_name, source_stock_id, source_area_code,
                                             accounter, account_date, pickOrderNo, pickBillId, psiDeptOutBillId,
                                             psiDeptOutOrderNo,
                                             create_user, create_time, last_modified, last_modified_user)




    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')

def check_mcms_psi_dept_batch_out(DR_ID, type, hos_goods_id):
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_dept_batch where pid='%s';" % (
        DR_ID)
    actual = check_mcms_dept_buy_sql(sql)
    print('actual', actual)
    batch_main_key = get_id("select id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    pid = DR_ID
    order_no = get_id("select order_no from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    source_detail_id =get_pick_detail_id_KS_TK(branch_id,type)
    pick_detail_id = source_detail_id
    # if type == 16:
    #     hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    # elif type == 25:
    #     hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    # else:
    #     hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    pkg_def_id = get_pkg_def_id(hos_goods_id)
    picker_name = FileUtils().r_info8("b2_herp3_bs", "用户名信息", 'message3')['username1']
    picker = get_login_user_uxid_bydb(picker_name)
    source_batch_id = get_id("select source_batch_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    target_batch_id = source_batch_id
    if check_batch_id(source_batch_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    barcode_id = get_id("select barcode_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    if check_barcode_id(barcode_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    shelf_code = get_stockAreaId_new_fromDb(dept_name, 2)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified_user = create_user


    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_dept_batch_0913', batch_main_key, pid, order_no,
                                             source_detail_id
                                             , pick_detail_id, hos_goods_id, mdm_goods_code, goods_code,
                                             source_batch_id,
                                             target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                             last_modified,last_modified_user

                                             )


    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')

def check_mcms_psi_dept_XH_CK(type1=25,type2=25):
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_XH' order by   CREATE_TIME desc LIMIT 1;" % (
            branch_id, type1)

    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    DR_ID=get_id(" select id from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='CK_XH' order by   CREATE_TIME desc LIMIT 1;" % (
    branch_id, type1))
    sql = "select order_no from mcms_psi_dept where id='%s';" % DR_ID
    order_no = get_id(sql)
    target_corp_id = get_hosid()
    target_branch_id = get_branch_id()
    target_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    target_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    target_stock_id = get_stockId_fromdb(target_dept_name + '库房')
    target_area_code = get_stockAreaId_new_fromDb(target_dept_name, 2)
    PICK_id = get_PICK_id_KS_XH(branch_id, type1)
    source_id = PICK_id
    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    source_stock_id = get_stockId_fromdb(source_dept_name + '库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 2)
    buyBillId = get_buyBillId(branch_id, type1)
    pickOrderNo = get_PICK_order_no_KS_XH(branch_id, type1)
    buyOrderNo = get_buyOrderNo(branch_id, type1)
    pickBillId = get_PICK_id_KS_XH(branch_id, type1)
    psiDeptOutBillId = DR_ID
    psiDeptOutOrderNo = order_no
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept where id='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept where id='%s';" % DR_ID)
    last_modified_user = create_user
    accounter=create_user
    account_date = process_tuple(get_create_time("select account_date from  mcms_psi_dept where id='%s';" % DR_ID))

    # 子表检查
    check_mcms_psi_dept_batch_xhck(DR_ID,type1,order_no)
    his_charge_no=get_id(" select his_charge_no from his_order where branch_id='%s' and psi_dept_id='%s' order by create_time desc LIMIT 1;"%(branch_id,DR_ID))
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_dept_out_xhck_0913',  DR_ID, order_no, target_corp_id, target_branch_id,
                                             target_dept_id, target_dept_name, target_stock_id
                                             , target_area_code, source_id, source_corp_id, source_branch_id,
                                             source_dept_id, source_dept_name, source_stock_id, source_area_code,his_charge_no,accounter,account_date,
                                             pickOrderNo, pickBillId, psiDeptOutBillId, psiDeptOutOrderNo
                                             , create_user, create_time, last_modified, last_modified_user
                                             )

    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')
    #消耗反入库============================================================

    branch_id = get_branch_id()

    sql = " select * from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_XH' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, type2)

    actual = check_mcms_dept_buy_sql(sql)
    print(actual)

    DR_ID1 = get_id(
        " select id from  mcms_psi_dept where target_branch_id='%s' and bill_mode='%s' and stock_kind='RK_XH' order by   CREATE_TIME desc LIMIT 1;" % (
            branch_id, type2))

    sql = "select order_no from mcms_psi_dept where id='%s';" % DR_ID1
    order_no1 = get_id(sql)
    target_corp_id = get_hosid()
    target_branch_id = get_branch_id()
    target_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    target_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    target_stock_id = get_stockId_fromdb(target_dept_name + '库房')
    target_area_code = get_stockAreaId_new_fromDb(target_dept_name, 2)
    PICK_id = get_PICK_id(branch_id, type1)
    source_id = "-"
    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    source_stock_id = get_stockId_fromdb(source_dept_name + '库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 2)
    buyBillId = get_buyBillId(branch_id, type1)
    pickOrderNo = get_PICK_order_no(branch_id, type1)
    buyOrderNo = get_buyOrderNo(branch_id, type1)
    pickBillId = get_PICK_id(branch_id, type1)
    psiDeptOutBillId = DR_ID
    psiDeptOutOrderNo = order_no
    psiDeptInBillId=DR_ID1
    psiDeptInOrderNo=order_no1
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept where id='%s';" % DR_ID1)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept where id='%s';" % DR_ID1)
    last_modified_user = create_user
    accounter = create_user
    source_no=None
    last_auditor=create_user
    last_audit_time= get_create_time("select last_audit_time from  mcms_psi_dept where id='%s';" % DR_ID1)
    account_date = process_tuple(get_create_time("select account_date from  mcms_psi_dept where id='%s';" % DR_ID1))
    #子表检查
    check_mcms_psi_dept_batch_xhrk(DR_ID1, source_id, type2, order_no1)
    source_id = "-"
    source_area_code = None
    his_charge_no = get_id(
        "select his_charge_no from his_order where branch_id='%s' and psi_dept_id='%s' order by create_time desc LIMIT 1;" % (
        branch_id, DR_ID1))
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_dept_out_xhrk_0913', DR_ID1, order_no1, target_corp_id,
                                             target_branch_id,
                                             target_dept_id, target_dept_name, target_stock_id
                                             , target_area_code, source_id, source_corp_id, source_branch_id,
                                             source_dept_id, source_dept_name, source_stock_id, source_area_code,
                                             his_charge_no, accounter, account_date,
                                             create_user, create_time, last_modified, last_modified_user

                                             )


    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')
def check_mcms_psi_dept_batch_xhck(DR_ID,type,order_no):
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_dept_batch where pid='%s';" % (
        DR_ID)
    actual = check_mcms_dept_buy_sql(sql)
    print('actual', actual)
    batch_main_key = get_id("select id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    pid = DR_ID
    # order_no = get_id("select order_no from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    source_detail_id = get_pick_detail_id_KS_XH(branch_id,type)
    pick_detail_id=source_detail_id

    if type == 16 or type==10:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 25:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    pkg_def_id = get_pkg_def_id(hos_goods_id)
    picker_name = FileUtils().r_info8("b2_herp3_bs", "用户名信息", 'message3')['username1']
    picker = get_login_user_uxid_bydb(picker_name)
    source_batch_id=get_id("select source_batch_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    target_batch_id=get_id("select target_batch_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    if check_batch_id(source_batch_id)==True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    barcode_id=get_id("select barcode_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    if check_barcode_id(barcode_id)==True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    dept_name=FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    shelf_code= get_stockAreaId_new_fromDb(dept_name, 2)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified_user = create_user

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_dept_batch_xhck_0913', batch_main_key, pid, order_no,source_detail_id
                                        ,pick_detail_id,hos_goods_id,mdm_goods_code,goods_code,source_batch_id,
                                        target_batch_id,barcode_id,shelf_code,create_user,create_time,last_modified,
                                        last_modified_user

                                             )


    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')
def check_mcms_psi_dept_batch_xhrk(DR_ID,source_ID,type,order_no):
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_dept_batch where pid='%s';" % (
        DR_ID)
    actual = check_mcms_dept_buy_sql(sql)
    print('actual', actual)
    batch_main_key = get_id("select id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    pid = DR_ID
    # order_no = get_id("select order_no from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    source_detail_id = get_id("select id from mcms_psi_dept where stock_kind='CK_XH' and target_branch_id='%s' order by   CREATE_TIME desc LIMIT 1;"%(branch_id))
    source_detail_id=source_detail_id+"0001"
    pick_detail_id=None

    if type==10:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 25:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    pkg_def_id = get_pkg_def_id(hos_goods_id)
    picker_name = FileUtils().r_info8("b2_herp3_bs", "用户名信息", 'message3')['username1']
    picker = get_login_user_uxid_bydb(picker_name)
    source_batch_id=get_id("select source_batch_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    target_batch_id=get_id("select target_batch_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    if check_batch_id(source_batch_id)==True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    barcode_id=get_id("select barcode_id from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    if check_barcode_id(barcode_id)==True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    dept_name=FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    shelf_code= get_stockAreaId_new_fromDb(dept_name, 2)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_dept_batch where pid='%s';" % DR_ID)
    last_modified_user = None
    mdm_goods_code=get_mdm_goods_code1(hos_goods_id)
    # if type == 16 or type==10:
    #     expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
    #                                              'mcms_psi_dept_batch_xhrk1', batch_main_key, pid, order_no,source_detail_id
    #                                         ,pick_detail_id,hos_goods_id,mdm_goods_code,goods_code,source_batch_id,
    #                                         target_batch_id,barcode_id,shelf_code,create_user,create_time,last_modified,
    #                                         last_modified_user
    #
    #                                              )
    # elif type == 67:
    # mdm_goods_code=None
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_dept_batch_xhrk_0913', batch_main_key, pid, order_no,source_detail_id
                                        ,pick_detail_id,hos_goods_id,mdm_goods_code,goods_code,source_batch_id,
                                        target_batch_id,barcode_id,shelf_code,create_user,create_time,last_modified,
                                        last_modified_user

                                             )


    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_psi_out(type=2):
    print('检查中心库出库单')
    if type == 1:
        bill_mode = 16
    elif type == 2:
        bill_mode = 25
    else:
        bill_mode = 66
    branch_id = get_branch_id()
    sql = "select * from  mcms_psi where source_branch_id='%s' and bill_mode='%s' and stock_kind='RK_TK'  order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    # 获取实际值
    actual = check_mcms_pur_plan_sql(sql)
    print('actual', actual)
    sql = "select id from  mcms_psi  where source_branch_id='%s' and bill_mode='%s' and stock_kind='RK_TK' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    id = get_id(sql)
    sql = "select order_no from  mcms_psi  where source_branch_id='%s' and bill_mode='%s' and stock_kind='RK_TK' order by   CREATE_TIME desc LIMIT 1;" % (
        branch_id, bill_mode)
    order_no = get_id(sql)
    target_corp_id = get_hosid()
    target_branch_id =get_branch_id()
    target_dept_id =FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid1']
    target_dept_name =FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid1']
    stock_name = get_branch_name() + "中心库房"
    target_stock_id = get_stockId_fromdb(get_branch_name()+'中心库房')
    target_area_code = get_stockAreaId_new_fromDb(target_dept_name, 1)
    source_id =get_id("select id from  mcms_psi_dept where target_branch_id='%s' and stock_kind='CK_TK' order by   CREATE_TIME desc LIMIT 1;"%branch_id)
    source_no = None
    source_repl_id = None
    source_corp_id = get_hosid()
    source_branch_id = get_branch_id()
    source_dept_id = FileUtils().r_info8("b2_herp3_bs", "所有科室id", 'message6')['deptid2']
    source_dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    source_stock_id = get_stockId_fromdb(source_dept_name+'库房')
    source_area_code = get_stockAreaId_new_fromDb(source_dept_name, 2)
    accounter = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    account_date = get_create_time("select account_date from  mcms_psi where id='%s';" % id)
    buyBillId = get_buyBillId(branch_id, bill_mode)
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    pickBillId = get_PICK_id_KS_TK(branch_id, bill_mode)
    pickOrderNo =get_id("select order_no from mcms_pick where id='%s';"%pickBillId)

    planBillId = get_planBillId(hos_goods_id)
    psiOutBillId = get_id("select id from  mcms_psi_dept where target_branch_id='%s' and stock_kind='CK_TK' order by   CREATE_TIME desc LIMIT 1;"%branch_id)
    psiOutOrderNo =get_id("select order_no from mcms_psi_dept where id='%s';"%psiOutBillId)

    buyOrderNo = get_buyOrderNo(branch_id, bill_mode)
    purOrderNo = get_purOrderNo(branch_id, bill_mode)
    purBillId = get_purBillId(branch_id, bill_mode)
    bill_relation_json = get_purBillDate2(branch_id, bill_mode)
    purBillDate = reGetString(bill_relation_json, r'purBillDate":"', r'""distrBillId')
    distrBillId = get_distrBillId(branch_id, bill_mode)
    distrOrderNo = get_distrOrderNo(branch_id, bill_mode)
    checkBillId = source_id
    sql = "select order_no from mcms_check where id='%s';" % checkBillId
    checkOrderNo = get_id(sql)
    psiInBillId = id
    psiInOrderNo = order_no
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi where id='%s';" % id)
    last_modified = get_create_time("select last_modified from  mcms_psi where id='%s';" % id)
    last_modified_user = create_user


    check_mcms_psi_batch_out2(id, type, order_no, source_id)
    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check', 'check_mcms_psi_out_0913', id,
                                             order_no, target_corp_id, target_branch_id, target_dept_id,
                                             target_dept_name, target_stock_id
                                             , target_area_code, source_id,
                                             source_corp_id, source_branch_id, source_dept_id, source_dept_name
                                             , source_stock_id, source_area_code, accounter, account_date,
                                             pickOrderNo, pickBillId,
                                             psiOutBillId, psiOutOrderNo,psiInBillId,psiInOrderNo,
                                             create_user
                                             , create_time, last_modified, last_modified_user)

    # 对比预期值和实际值是否一致
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    result = (compare_text_index(actual_value2, expected_value2))
    print('result', result)
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')


def check_mcms_psi_batch_out2(DR_ID, type, order_no, source_id1):
    if type == 1:
        bill_mode = 16
    elif type == 2:
        bill_mode = 25
    else:
        bill_mode = 66
    branch_id = get_branch_id()
    sql = " select * from  mcms_psi_batch where pid='%s';" % (
        DR_ID)
    actual = check_mcms_dept_buy_sql(sql)
    print('actual', actual)
    batch_main_key = get_id("select id from mcms_psi_batch where pid='%s';" % DR_ID)
    pid = DR_ID
    # order_no = get_id("select order_no from mcms_psi_dept_batch where pid='%s';" % DR_ID)
    sql="select id from  mcms_psi_dept where target_branch_id='%s' and stock_kind='CK_TK' order by   CREATE_TIME desc LIMIT 1;"%branch_id
    source_detail_id =get_id(sql)
    source_detail_id=source_detail_id+'0001'
    pick_detail_id = None
    if type == 1:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message2')["hosGoodsId"]
    elif type == 2:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message1')["hosGoodsId"]
    else:
        hos_goods_id = FileUtils().r_info8('b5_spd3_core_business_flow', '产品审核信息', 'message3')["hosGoodsId"]
    mdm_goods_code = get_mdm_goods_code1(hos_goods_id)
    goods_code = get_goods_code1(hos_goods_id)
    pkg_def_id = get_pkg_def_id(hos_goods_id)
    picker_name = FileUtils().r_info8("b2_herp3_bs", "用户名信息", 'message3')['username1']
    picker = get_login_user_uxid_bydb(picker_name)
    source_batch_id = get_id("select source_batch_id from mcms_psi_batch where pid='%s';" % DR_ID)
    distrBillId = get_distrBillId(branch_id, bill_mode)
    target_batch_id = source_batch_id
    if check_batch_id(source_batch_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    barcode_id = get_id("select barcode_id from mcms_psi_batch where pid='%s';" % DR_ID)
    if check_barcode_id(barcode_id) == True:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        commonFuc().check_text_exist_result_text('error', 'succees')
    dept_name = FileUtils().r_info8("b2_herp3_bs", "所有科室name", 'message6')['deptid2']
    shelf_code = get_stockAreaId_new_fromDb(get_branch_name(), 1)
    create_user = get_login_user_uxid_bydb(FileUtils().r_info8('b2_herp3_bs', "用户名信息", 'message3')['username1'])
    create_time = get_create_time("select create_time from  mcms_psi_batch where pid='%s';" % DR_ID)
    last_modified = get_create_time("select last_modified from  mcms_psi_batch where pid='%s';" % DR_ID)
    last_modified_user = None

    expected = commonFuc().get_business_data('b6_spd3_core_business_flow_database_check',
                                             'mcms_psi_batch_out_0913', batch_main_key, pid, order_no, source_detail_id
                                             , pick_detail_id,hos_goods_id, mdm_goods_code, goods_code, source_batch_id,
                                             target_batch_id, barcode_id, shelf_code, create_user, create_time,
                                             last_modified, last_modified_user

                                             )


    print('expected', expected)
    print('aaaaaaaaaaaaaaaaa')
    actual_value1 = get_process_list2(actual)
    expected_value1 = get_process_list2(expected)
    actual_value2 = actual_value1.replace(" ", "")
    expected_value2 = expected_value1.replace(" ", "")
    # print('actual_value2',actual_value2)
    print('expected_value2')
    print(expected_value2)
    print('actual_value2')
    print(actual_value2)
    print(compare_text_index(actual_value2, expected_value2))
    if actual_value2 == expected_value2:
        print('ok')
        commonFuc().check_text_exist_result_text('succees', 'succees')
    else:
        print('error')
        commonFuc().check_text_exist_result_text('error', 'succees')

pro_path = commonFuc().get_pro_path2()
print('pro_path', pro_path)
sys.path.append(pro_path + r'/air_case/b5_spd3_core_business_flow/a_b1流程八_高值跟台业务流程.air')
using(pro_path + r'//air_case/b5_spd3_core_business_flow/a_b1流程八_高值跟台业务流程.air')
from a_b1流程八_高值跟台业务流程 import dept2_set, operationApply, second_dept_in_warehouse, out_return_gt

try:
    dept2_set()
    # # # # 设置默认科室,切换到二级科室,使用科室管理功能
    updateUserLoginDefaultRange(get_listUserMgrRangePage(2))  # 设置登录账号默认权限是二级库
    herpService_mcmsDeptGoodsInfo_getByProvIdPage()
    time.sleep(6)
    operationApply()  # 手术跟台申请单提交
    time.sleep(6)
    check_mcms_operation_apply()# 手术跟台申请单数据库检查
    approval_center()  # 二级科室审批审批手术跟台申请单
    updateUserLoginDefaultRange(get_listUserMgrRangePage(1))  # 设置登录账号默认权限是中心库
    approval_center1()  # 中心库再次审批手术跟台申请单
    time.sleep(6)
    check_mcms_operation_apply_approval_after()  # 手术跟台申请单审批后的数据库检查
    # #内网查询手术通知单号
    updateUserLoginDefaultRange(get_listUserMgrRangePage(1))  # 设置登录账号默认权限是中心库
    time.sleep(6)
    check_mcms_operation_notice()# 手术通知单数据库检查
    time.sleep(6)
    orderno = Search_OrderNO()  # 手术通知单接口查询单号
    height_value_order_dp(orderno)  # 高值跟台外网配送
    time.sleep(6)
    check_hdi_distr()  # 外网配送单数据库检查
    time.sleep(6)
    check_accept_order()  # 内网验收
    time.sleep(6)
    check_mcms_check(2)#高值跟台验收检查验收表数据
    #这里验收后会自动生成出入库单，批次信息，需要同步验证入库单和批次信息
    check_mcms_psi(2)  # 调用函数检查中心库入库单和出库单数据库写值
    # 检查批次信息
    check_mcms_hos_batch(2)
    updateUserLoginDefaultRange(get_listUserMgrRangePage(2))  # 设置登录账号默认权限是二级库
    second_dept_in_warehouse()  # 二级科室入库
    time.sleep(6)
    check_mcms_psi_dept_in()   # 检查二级库入库单数据库表数据
    updateUserLoginDefaultRange(get_listUserMgrRangePage(1))  # 设置登录账号默认权限是中心库
    out_return_gt()  # 跟台退货出库_中心库处理
    time.sleep(6)
    #这里的业务会产生二级库消耗出库和消耗退货入库单据，和二级库出库数据
    check_mcms_psi_dept_XH_CK()
    time.sleep(6)
    check_mcms_psi_dept_out()# 检查二级库退库出库单数据库表数据
    # 检查中心库出库单
    time.sleep(2)
    check_mcms_psi_out()
    commonFuc().check_text_exist_result_text('succees', 'succees')
except Exception as e:
    # 打印错误信息
    print(f"发生错误: {e}")
    commonFuc().check_text_exist_result_text('error', 'succees')
