def addContractEnd():
    """新增委托合同终止结算"""
    try:
        base=Base()
        base.open(page.entrustContractPage, houseContractEndPage.addContractEndMould['tr_contract'], havaFrame=False)
        #配置文件读取将要终止的委托合同
        contractNum = get_conf('houseContractInfo', 'contractnum')
        sql = "SELECT entrust_end_date from house_contract hc where hc.contract_num = '%s' and deleted = 0 and audit_status = 'APPROVED' and contract_status = 'EFFECTIVE'" % contractNum.encode('utf-8')

        if sqlbase.get_count(sql) > 0:
            base.input_text(houseContractEndPage.searchMould['contract_num_loc'], contractNum)
            endDate = sqlbase.serach(sql)[0]
        else:
            consoleLog(u'未找到或不满足新增终止条件的合同 %s,开始随机查找符合条件的委托合同' % contractNum, level='w')
            sql = "select house_contract.contract_num,house_contract.entrust_end_date from house_contract where house_contract.contract_id not in " \
                  "(select house_contract.contract_id from apartment ,apartment_contract ,house_contract where  house_contract.contract_id=apartment.house_contract_id " \
                  "and apartment.house_id=apartment_contract.house_id and house_contract.deleted = 0 and house_contract.audit_status = 'APPROVED' and house_contract.contract_status = 'EFFECTIVE' " \
                  "and house_contract.city_code = 330100 and apartment_contract.real_due_date>NOW()) and contract_num<>'' limit 1"
            if sqlbase.get_count(sql) > 0:
                contractNum = sqlbase.serach(sql, needConvert=False)[0]
                consoleLog(u'随机对委托合同 %s 做新增终止结算操作' % contractNum, level='w')
                base.input_text(houseContractEndPage.searchMould['contract_num_loc'], contractNum)
                endDate = sqlbase.serach(sql)[1]
            else:
                consoleLog(u'未找到符合条件的委托合同,跳过终止结算用例')
                return
        base.click(houseContractEndPage.searchMould['contract_search_button_loc'])
        base.staleness_of(houseContractEndPage.addContractEndMould['tr_contract'])
        base.context_click(houseContractEndPage.addContractEndMould['tr_contract'])#右击第一条数据
        base.click(houseContractEndPage.addContractEndMould['end_button_loc'], index=1)
        base.input_text(houseContractEndPage.addContractEndMould['penalty_loc'], 111)
        base.type_select(houseContractEndPage.typeMould['end_type'], 'RETREATING')  # 结算类型-正退
        base.type_date(houseContractEndPage.typeMould['end_date'], endDate)
        # 结算扣款
        base.input_text(houseContractEndPage.addContractEndMould['penalty_remark_loc'], u'违约金陪入')
        base.input_text(houseContractEndPage.addContractEndMould['return_rent_loc'], 222)
        base.input_text(houseContractEndPage.addContractEndMould['return_rent_remark_loc'], u'返还房租')
        base.input_text(houseContractEndPage.addContractEndMould['no_charge_loc'], 333)
        base.input_text(houseContractEndPage.addContractEndMould['no_charge_remark_loc'], u'未扣款项')
        base.input_text(houseContractEndPage.addContractEndMould['fitment_charge_loc'], 444)
        base.input_text(houseContractEndPage.addContractEndMould['fitment_charge_remark_loc'], u'装修扣款')
        base.input_text(houseContractEndPage.addContractEndMould['other_loc'], 555)
        base.input_text(houseContractEndPage.addContractEndMould['other_remark_loc'], u'其他信息')
        # 代垫费用
        base.click(houseContractEndPage.addContractEndMould['tool_bar'], index=0)
        base.type_select(houseContractEndPage.typeMould['return_type_loc'], 'LIQUIDATED')  # 违约金赔出
        base.input_text(houseContractEndPage.addContractEndMould['return_money_loc'], 666)
        base.type_select(houseContractEndPage.typeMould['bear_type_loc'], 'COMPANY')  # 承担方-公司
        base.type_select(houseContractEndPage.typeMould['bear_name'], 'ISZTECH')
        base.type_date(houseContractEndPage.typeMould['money_start_date'], '2017-07-07')
        base.type_date(houseContractEndPage.typeMould['money_end_date'], '2017-08-08')
        base.type_select(houseContractEndPage.typeMould['explain'], 'VACANCY')  # 情况说明-空置期
        base.type_select(houseContractEndPage.typeMould['dispute'], 'N')
        base.type_date(houseContractEndPage.typeMould['receivable_date'], '2017-08-08')
        # 打款信息
        base.type_select(houseContractEndPage.typeMould['pay_type'], 'OWNER')  # 打款类别-业主收款
        base.input_text(houseContractEndPage.addContractEndMould['pay_name_loc'], 'AutoTest')
        base.input_text(houseContractEndPage.addContractEndMould['pay_bank_loc'], u'中国银行')
        base.input_text(houseContractEndPage.addContractEndMould['pay_bank_no_loc'], '12345678910')
        # base.input_text(HouseContractEndPage.addContractEndMould['company_no_loc'],u'杭州爱上租科技有限公司')
        base.click(houseContractEndPage.addContractEndMould['submit_loc'])
        base.check_submit()
        consoleLog(u'委托合同 %s 终止结算新增成功' % contractNum)
    finally:
        base.driver.quit()
Esempio n. 2
0
def designSharehouse():
    """品牌合租公寓设计装修"""
    def common():
        #分割户型
        base.click(designSharePage.designShareMould['add_house_btn'])
        base.script("$('#rooms').numberspinner('setValue',2)")  #设置户型为2居室
        base.click(designSharePage.designShareMould['add_house_btn'])
        base.type_select(designSharePage.typeMould['fitment_style'],
                         'SIMPLECHINESE')
        base.script(
            "$('[onclick=\"ShareWorkBlank.selectAll(this);\"]').click()")
        base.type_select(designSharePage.typeMould['room1_no'], 'METH')
        base.input_text(designSharePage.designShareMould['room_area'],
                        '50',
                        index=0)
        base.type_select(designSharePage.typeMould['room1_orientation'],
                         'NORTH')
        base.type_select(designSharePage.typeMould['room2_no'], 'ETH')
        base.input_text(designSharePage.designShareMould['room_area'],
                        '20',
                        index=1)
        base.type_select(designSharePage.typeMould['room2_orientation'],
                         'EAST')
        base.click(designSharePage.designShareMould['save_btn'])
        base.check_submit()
        #派单
        base.context_click(designSharePage.searchMould['tr_contract'])
        base.click(designSharePage.designShareMould['design_btn_1'], index=0)
        base.wait_element(designSharePage.designShareMould['save_btn_1'])
        user = "******" \
                 "AND sp.position_name LIKE '%品牌公寓专员%' LIMIT 1"
        base.type_select(designSharePage.typeMould['fitment_uid'],
                         sqlbase.serach(user)[0])
        time.sleep(1)
        base.click(designSharePage.designShareMould['save_btn_1'])
        base.check_submit()
        #交房
        base.context_click(designSharePage.searchMould['tr_contract'])
        base.click(designSharePage.designShareMould['design_btn_2'], index=0)
        base.input_text(designSharePage.designShareMould['total_cost'],
                        '5000.00')
        base.type_date(designSharePage.typeMould['decorate_start_date'],
                       '2017-01-01')
        base.type_date(designSharePage.typeMould['hard_delivery_date'],
                       '2017-01-15')
        base.type_date(designSharePage.typeMould['set_delivery_date'],
                       '2017-01-20')
        base.click(designSharePage.designShareMould['save_btn_2'])
        base.check_submit()
        Base.succeed += 1
        sql = "SELECT hh.house_code, hh.house_id, aa.apartment_code, aa.apartment_id FROM house_contract hc INNER JOIN apartment aa ON hc.contract_id = aa.house_contract_id " \
                "INNER JOIN house hh ON hh.house_id = hc.house_id WHERE hc.contract_num = '%s' LIMIT 1" % base.contractNum.encode('utf-8')
        info = sqlbase.serach(sql)
        set_conf('houseInfo',
                 houseCode=info[0],
                 houseID=info[1],
                 apartmentCode=info[2],
                 apatmentID=info[3])
        consoleLog(u'委托合同 %s 设计装修成功' % base.contractNum)
        try:
            base.solr('apartment', get_conf('testCondition', 'test'))
            consoleLog(u'apartment-core增量成功')
        except:
            consoleLog(Exception.message, level='e')
            consoleLog(u'执行solr增量出现问题,请查看solr是否正常', level='e')

    try:
        base = Base()
        base.open(page.designSharePage,
                  designSharePage.searchMould['tr_contract'],
                  havaFrame=False)
        # 配置文件读取委托合同信息
        contractNum = get_conf('houseContractInfo', 'contractNum')
        consoleLog(u'查询委托合同 %s 是否已操作过设计工程' % contractNum)
        sql1 = "select * from house_contract where contract_num = '%s' and deleted = 0" % contractNum.encode(
            'utf-8')
        sql2 = "select * from house_contract hc INNER JOIN fitment_house fh on hc.contract_id = fh.contract_id where hc.contract_num = '%s' and hc.deleted = 0" % contractNum.encode(
            'utf-8')

        if sqlbase.get_count(sql1) > 0 and sqlbase.get_count(sql2) is 0:
            base.input_text(designSharePage.searchMould['contract_num_loc'],
                            contractNum)
            base.click(designSharePage.searchMould['search_btn_loc'])
            base.staleness_of(designSharePage.searchMould['tr_contract'])
            base.context_click(designSharePage.searchMould['tr_contract'])
            base.click(designSharePage.designShareMould['design_btn'], index=0)
            base.common()
        else:
            consoleLog(u'未找到委托合同 %s ,随机查询待设计的委托合同' % contractNum, level='w')
            sql = "SELECT hc.contract_num FROM house_contract hc WHERE hc.deleted = 0 AND hc.city_code = 330100 AND hc.contract_status = 'EFFECTIVE' " \
                  "AND hc.apartment_type = 'BRAND' AND hc.entrust_type = 'SHARE' AND NOT EXISTS ( SELECT 1 FROM fitment_house fh WHERE " \
                  "fh.contract_id = hc.contract_id ) ORDER BY RAND() LIMIT 1"
            if sqlbase.get_count(sql) != 0:
                base.contractNum = sqlbase.serach(sql, False)[0]
                base.input_text(
                    designSharePage.searchMould['contract_num_loc'],
                    contractNum)
                base.click(designSharePage.searchMould['search_btn_loc'])
                base.staleness_of(designSharePage.searchMould['tr_contract'])
                base.context_click(designSharePage.searchMould['tr_contract'])
                base.click(designSharePage.designShareMould['design_btn'],
                           index=0)
                base.common()
            else:
                consoleLog(u'未找到待设计的品牌合租委托合同,跳过设计分割用例', level='e')
                return
    finally:
        base.driver.quit()
def addApartmentContract():
    """新增出租合同终止结算"""
    try:
        base = Base()
        base.open(page.apartmentContractPage,
                  apartmentContractEndPage.addContractEndMould['tr_contract'],
                  havaFrame=False)
        #配置文件读取合同信息
        contractNum = get_conf('apartmentContractInfo', 'contractnum')
        endDate = None
        sql = "SELECT rent_end_date from apartment_contract where contract_num = '%s' and deleted = 0" % contractNum.encode(
            'utf-8')
        if sqlbase.get_count(sql) > 0:
            base.input_text(
                apartmentContractEndPage.
                addContractEndMould['contract_num_loc'], contractNum)
            endDate = sqlbase.serach(sql)[0]
        else:
            sql = "SELECT contract_num,rent_end_date from apartment_contract where deleted = 0 and city_code = 330100 and audit_status = 'APPROVED' and contract_status = 'EFFECTIVE' " \
                  "and contract_type = 'NEWSIGN' and entrust_type = 'SHARE' limit 1"
            if sqlbase.get_count(sql) > 0:
                info = sqlbase.serach(sql)
                contractNum = info[0]
                endDate = info[1]
                consoleLog(u'未找到测试合同,随机使用合同 %s 做新增终止结算用例' % contractNum,
                           level='w')
                base.input_text(
                    apartmentContractEndPage.
                    addContractEndMould['contract_num_loc'], contractNum)
                set_conf('apartmentContractInfo', contractnum=contractNum)
            else:
                consoleLog(u'未找到符合条件的可以做终止的出租合同,跳过出租合同终止步骤', level='w')
                return
        base.click(
            apartmentContractEndPage.addContractEndMould['search_button_loc'])
        base.staleness_of(
            apartmentContractEndPage.addContractEndMould['tr_contract'])
        base.context_click(
            apartmentContractEndPage.addContractEndMould['tr_contract'])
        base.click(
            apartmentContractEndPage.addContractEndMould['end_button_loc'],
            index=1)
        base.click(apartmentContractEndPage.addContractEndMould['now_end_loc'])
        base.input_text(
            apartmentContractEndPage.addContractEndMould['receipt_num_loc'],
            'AutoTest')
        base.type_date(apartmentContractEndPage.typeMould['end_date'], endDate)
        base.input_text(
            apartmentContractEndPage.addContractEndMould['end_reason_loc'],
            u'承租周期已完')
        base.type_select(apartmentContractEndPage.typeMould['end_type'],
                         'RETREATING')  # 正退
        base.type_select(
            apartmentContractEndPage.typeMould['receipt_type_loc'],
            'PAYER')  # 承租人
        base.input_text(
            apartmentContractEndPage.addContractEndMould['bank_loc'], u'中国银行')
        base.dblclick(
            apartmentContractEndPage.addContractEndMould['weiyuejin_loc'],
            index=12)
        base.input_text(
            apartmentContractEndPage.
            addContractEndMould['receivable_money_loc'], '888.88')
        base.input_text(
            apartmentContractEndPage.addContractEndMould['payable_money_loc'],
            '666.66')
        base.input_text(
            apartmentContractEndPage.addContractEndMould['remark_loc'],
            'AutoTest')
        # base.click(base.addContractEndMould['submit_loc'])     #不知道这步为什么会报错,改用js执行
        base.script('$("#form_submit_btn").click()')
        base.check_submit()
        consoleLog(u'出租合同 %s 终止结算新增成功' % contractNum)
    finally:
        base.driver.quit()