Example #1
0
	def __init__(self, env_file, data_file):
		"""
		构造函数
		:param env_file:  环境配置文件
		:param data_file: 数据配置文件
		"""
		
		self.using_time = None  # 执行时长
		self.apply_code = None
		self.next_user_id = None
		
		# 版本信息
		custom.print_version_info()
		self.log = custom.mylog()
		
		if env_file is not None:
			self.env_file = env_file
		else:
			return
		if data_file is not None:
			self.data_file = data_file
		else:
			return
		
		self.page = login.Login()
		
		# 环境初始化,解析环境
		self.__init_env()
		
		# 数据初始化
		self.__init_data()
		# 默认产品
		self.product_info = dict(
			name=self.data['applyVo']['productName'],
			amount=self.data['applyVo']['applyAmount'],
			period=self.data['applyVo']['applyPeriod'],
			)
		
		self.person_info = dict(
			name=self.data['custInfoVo'][0]['custName'],
			idNum=self.data['custInfoVo'][0]['idNum'],
			phone=self.data['custInfoVo'][0]['phone'],
			address=self.data['custInfoVo'][0]['address']
			)
		self.rec_bank_info = dict(
			recBankNum=self.data['houseCommonLoanInfoList'][0]['recBankNum'],
			recPhone=self.data['houseCommonLoanInfoList'][0]['recPhone'],
			recBankProvince=self.data['houseCommonLoanInfoList'][0]['recBankProvince'],
			recBankDistrict=self.data['houseCommonLoanInfoList'][0]['recBankDistrict'],
			recBank=self.data['houseCommonLoanInfoList'][0]['recBank'],
			recBankBranch=self.data['houseCommonLoanInfoList'][0]['recBankBranch'],
			)
		
		# 信息输出
		custom.print_env_info(self.env, self.company)
		custom.print_person_info(self.person_info)
		
		self.__init__object()
		self.__user_define()
Example #2
0
def get_next_user(page, applycode, stage=0):
    """
	获取下一个处理人
	:param page: 页面对象
	:param applycode: 申请件code
	:param stage: 0 审批流程,1 财务流程,2
	:return:
	"""
    next_id = process_monitor(page, applycode, stage)
    if next_id is None:
        raise ValueError("没有找到下一步处理人")
    else:
        next_user_id = next_id
        mylog().info("下一步处理人:" + next_id)
        # 当前用户退出系统
        page.driver.quit()
    return next_user_id
Example #3
0
 def __init__(self):
     self.log = custom.mylog()
Example #4
0
 def __init__(self):
     self.log = custom.mylog()
     self.HAE = Hae.HouseLoanApplyEntry()
Example #5
0
 def __init__(self):
     self.log = custom.mylog()
     self.db = database.DB()
Example #6
0
def process_monitor(page, condition, stage=0):
    """
		流程监控
	:param page: 页面
	:param condition: applyCode
	:param stage  0,1,2  对应风控、财务、募资
	:return: 下一个处理人登录 ID
	"""
    try:
        time.sleep(1)
        page.driver.switch_to_default_content()
        # 打开任务中心
        page.click_control(page.driver, "id",
                           "1DBCBC52791800014989140019301189")
        time.sleep(1)
        # 流程监控
        page.driver.find_element_by_name(
            "/house/commonIndex/processMonitor").click()
        time.sleep(2)

        #  切换frame
        try:
            page.driver.switch_to.frame(
                "bTabs_tab_house_commonIndex_processMonitor")
            time.sleep(1)
        except ec.NoSuchFrameException as msg:
            raise msg
        # 输入搜索条件
        page.driver.find_element_by_name("process_search").click()
        time.sleep(1)
        page.driver.find_element_by_xpath("//*[@id='applyCode']").click()
        page.driver.find_element_by_xpath("//*[@id='applyCode']").send_keys(
            condition)
        time.sleep(1)
        # 点击查询
        page.driver.find_element_by_xpath(
            "/html/body/div[1]/div[1]/div[2]/a[1]/span").click()
        time.sleep(1)
        # 校验查询结果
        res = page.driver.find_element_by_xpath(
            "//*[@id='datagrid-row-r4-2-0']/td[5]/div")
        time.sleep(2)
        if not res.text:
            return None
        else:
            res.click()
            # page.driver.find_element_by_class_name("datagrid-btable").click()
            page.driver.find_element_by_name('process_search').click()
            # 双击该笔案件
            ActionChains(page.driver).double_click(res).perform()
            time.sleep(1)
            role = ""
            next_user_id = ""
            if stage == 0:
                res = page.driver.find_element_by_class_name("datagrid-btable")
                rcount = res.find_elements_by_tag_name("tr")  # 取表格的行数
                for i in range(1, len(rcount)):
                    role = page.driver.find_element_by_xpath(
                        '//*[@id="datagrid-row-r1-2-%s"]/td[1]/div' % i).text
                    time.sleep(1)
                mylog().info("下一个处理节点:" + role)  # 返回节点所有值
                # 下一步处理人ID
                next_user_id = page.driver.find_element_by_xpath(
                    '//*[@id="datagrid-row-r1-2-%s"]/td[4]/div' %
                    (len(rcount) - 1)).text
            elif stage == 1:
                page.driver.find_element_by_id('firstLoanA').click()
                # page.driver.find_element_by_xpath('//*[@id="profile"]/div/div/div/div/div[2]').click()
                page.driver.find_element_by_class_name('datagrid-view2')
                res = page.driver.find_element_by_xpath(
                    '//*[@id="profile"]/div/div/div/div/div[2]/div[2]/table/tbody'
                )
                rcount = res.find_elements_by_tag_name("tr")
                for i in range(1, len(rcount)):
                    role = page.driver.find_element_by_xpath(
                        '//*[@id="datagrid-row-r4-2-%s"]/td[1]/div' % i).text
                    time.sleep(1)
                mylog().info("下一个处理环节:" + role)  # 返回节点所有值
                next_user_id = page.driver.find_element_by_xpath(
                    '//*[@id="datagrid-row-r4-2-%s"]/td[4]/div' %
                    (len(rcount) - 1)).text
            elif stage == 2:
                # 第二次放款
                page.driver.find_element_by_id('secondLoanLi').click()
                page.driver.find_element_by_class_name("datagrid-btable")
                res = page.driver.find_element_by_xpath(
                    '//*[@id="settings"]/div/div/div/div/div[2]/div[2]/table')
                rcount = res.find_elements_by_tag_name("tr")  # 取表格的行数
                for i in range(1, len(rcount)):
                    role = page.driver.find_element_by_xpath(
                        '//*[@id="datagrid-row-r8-2-%s"]/td[1]/div' % i).text
                    time.sleep(1)
                mylog().info("下一个处理节点:" + role)  # 返回节点所有值
                # 下一步处理人ID
                next_user_id = page.driver.find_element_by_xpath(
                    '//*[@id="datagrid-row-r8-2-%s"]/td[4]/div' %
                    (len(rcount) - 1)).text
    except ec.NoSuchElementException as msg:
        raise msg
    finally:
        page.driver.quit()
    return next_user_id
Example #7
0
def input_bbi_property_info(page):
    """
		输入物业基本信息
	:param page: 页面对象
	:return:
	"""
    # 这步骤很关键,没有选中,则定位不到下面的元素
    try:
        t1 = page.driver.find_element_by_class_name("house-head-line")
        t1.click()
        page.driver.execute_script("window.scrollTo(1600, 0)")  # 页面滑动到顶部
        page.driver.find_element_by_link_text(u"业务基本信息").click()
    except ec.ElementNotVisibleException as e:
        mylog().error(e.msg)
        raise e

    try:
        page.driver.find_element_by_name("propertyOwner").clear()
        page.driver.find_element_by_name("propertyOwner").send_keys(
            get_name())  # 产权人
        page.driver.find_element_by_name("propertyNo").clear()
        page.driver.find_element_by_name("propertyNo").send_keys(
            "gqt0132546")  # 房产证号

        time.sleep(3)
        page.driver.find_element_by_name("propertyStatus").click()  # 是否涉贷物业

        page.driver.find_element_by_name("propertyAge").click()
        page.driver.find_element_by_name("propertyAge").clear()
        page.driver.find_element_by_name("propertyAge").send_keys("10")  # 房龄

        page.driver.find_element_by_name("propertyArea").clear()
        page.driver.find_element_by_name("propertyArea").send_keys(
            "100")  # 建筑面积

        page.driver.find_element_by_name("registrationPrice").clear()
        page.driver.find_element_by_name("registrationPrice").send_keys(
            "200")  # 等级价

        try:
            # 地址
            Select(page.driver.find_element_by_name(
                "propertyAddressProvince")).select_by_visible_text(u"河北省")
            Select(page.driver.find_element_by_name(
                "propertyAddressCity")).select_by_visible_text(u"秦皇岛市")
            Select(page.driver.find_element_by_name(
                "propertyAddressDistinct")).select_by_visible_text(u"山海关区")
            page.driver.find_element_by_id("propertyAddressDetail").clear()
            page.driver.find_element_by_id("propertyAddressDetail").send_keys(
                u"不知道在哪个地方")
        except ec.ElementNotVisibleException as e:
            raise e.msg

        page.driver.find_element_by_name("evaluationSumAmount").clear()
        page.driver.find_element_by_name("evaluationSumAmount").send_keys(
            "200")  # 评估公允价总值
        page.driver.find_element_by_name("evaluationNetAmount").clear()
        page.driver.find_element_by_name("evaluationNetAmount").send_keys(
            "201")  # 评估公允价净值
        page.driver.find_element_by_name("slSumAmount").clear()
        page.driver.find_element_by_name("slSumAmount").send_keys(
            "202")  # 世联评估总值
        page.driver.find_element_by_name("slPrice").clear()
        page.driver.find_element_by_name("slPrice").send_keys("203")  # 世联评估净值
        page.driver.find_element_by_name("agentSumAmout").clear()
        page.driver.find_element_by_name("agentSumAmout").send_keys(
            "204")  # 中介评估总值
        page.driver.find_element_by_name("agentNetAmount").clear()
        page.driver.find_element_by_name("agentNetAmount").send_keys(
            "205")  # 中介评估净值
        page.driver.find_element_by_name("netSumAmount").clear()
        page.driver.find_element_by_name("netSumAmount").send_keys(
            "206")  # 网评总值
        page.driver.find_element_by_name("netAmount").clear()
        page.driver.find_element_by_name("netAmount").send_keys("207")  # 网评净值
        page.driver.find_element_by_name("localSumAmount").clear()
        page.driver.find_element_by_name("localSumAmount").send_keys(
            "208")  # 当地评估总值
        page.driver.find_element_by_name("localNetValue").clear()
        page.driver.find_element_by_name("localNetValue").send_keys(
            "209")  # 当地评估净值
        page.driver.find_element_by_name("remark").clear()
        page.driver.find_element_by_name("remark").send_keys(
            u"周边环境良好")  # 物业配套描述
        page.driver.find_element_by_name("localAssessmentOrigin").clear()
        page.driver.find_element_by_name("localAssessmentOrigin").send_keys(
            u"房产局")  # 当地评估来源
        page.driver.find_element_by_name("assessmentOrigin").clear()
        page.driver.find_element_by_name("assessmentOrigin").send_keys(
            u"房产局")  # 评估来源
        page.driver.find_element_by_name("evaluationCaseDescrip").click()
        page.driver.find_element_by_name("localAssessmentOrigin").clear()
        page.driver.find_element_by_name("localAssessmentOrigin").send_keys(
            u"世联行")

        page.driver.find_element_by_name("evaluationCaseDescrip").clear()
        page.driver.find_element_by_name("evaluationCaseDescrip").send_keys(
            u"符合事实")  # 评估情况描述

        # 征信信息
        page.driver.find_element_by_link_text(u"征信信息").click()
        page.driver.find_element_by_name("loanIdNum").clear()
        page.driver.find_element_by_name("loanIdNum").send_keys(get_name())
        page.driver.find_element_by_name("creditOverdueNum").clear()
        page.driver.find_element_by_name("creditOverdueNum").send_keys("0")
        page.driver.find_element_by_name("queryLoanNum").clear()
        page.driver.find_element_by_name("queryLoanNum").send_keys("0")
        page.driver.find_element_by_name("loanOtherAmt").clear()
        page.driver.find_element_by_name("loanOtherAmt").send_keys("0")

        page.driver.find_element_by_link_text(u"网查信息").click()
        page.driver.find_element_by_class_name("remark").click()
        p1 = page.driver.find_element_by_xpath(
            "//*[@id='apply_module_check_data_form']/div/div/textarea")
        p1.click()
        p1.send_keys(u"哈哈哈哈哈,无异常")

        page.driver.find_element_by_link_text(u"借款用途及回款来源").click()
        page.driver.find_element_by_id(
            "apply_module_payment_source").send_keys(u"薪资回款")
        p2 = page.driver.find_element_by_xpath(
            "//*[@id=\"apply_module_remark\"]")
        p2.click()
        p2.send_keys(u"无异常")

        page.driver.find_element_by_link_text(u"风控措施").click()
        page.driver.find_element_by_name("riskRemark").click()
        page.driver.find_element_by_name("riskRemark").send_keys(u"无异常")
        # 保存
        save(page)
    except ec.NoSuchElementException as e:
        raise e.msg