Esempio n. 1
0
    def isz_login(self):
        """
        ISZ ERP登录
        :return:登录用户的信息
        """
        base.consoleLog('ISZ测试登录。账号:' + self.user)
        result = getCookie.get_cookie(self.user, self.pwd)
        if result == '登录成功':
            try:
                sql = "SELECT user_id from sys_user where user_phone= %s " % self.user
                user_id = base.searchSQL(sql)[0][0]

                sql = "SELECT dep_id from sys_user where user_phone= %s " % self.user
                dep_id = base.searchSQL(sql)[0][0]

                sql = "SELECT user_name from sys_user where user_phone= %s " % self.user
                user_name = base.searchSQL(sql)[0][0]
            except BaseException as e:
                base.consoleLog('查询SQL报错。sql:' + sql + '  报错信息:' + str(e), 'e')
                return

            base.set_conf('loginUser', 'user', self.user)
            base.set_conf('loginUser', 'pwd', self.pwd)
            base.set_conf('loginUser', 'user_id', user_id)
            base.set_conf('loginUser', 'user_name', user_name)
            base.set_conf('loginUser', 'dep_id', dep_id)
            return result

        else:
            return result


#
# Login('18279881085','1').isz_login()
Esempio n. 2
0
def get_residentail_ratio(residential_id, rent_type):
    """获取楼盘房源标准价系数
    :param rent_type: 房源类型
    :param residential_id 楼盘id
    :return [{"apartment_id": 123,"ratio":1.023}]"""
    url = 'http://erp.ishangzu.com/isz_house/ResidentialStandardPriceController/selectModifyPriceApartmentList'
    data = {
        "residential_id": residential_id,
        "new_price": "4400",
        "rent_type": rent_type
    }
    apartmentList = myRequest(url, data)
    if not apartmentList:
        consoleLog('试算接口异常', 'e')
        return
    apartmentList = apartmentList.get('obj')
    coefficientResults = []
    for apartment in apartmentList:
        coefficientResult = {'apartment_id': apartment.get('apartment_id')}
        coefficientList = apartment.get('coefficientList')
        ratio = 1
        for coefficient in coefficientList:
            ratio = ratio * coefficient.get('detail').get('ratio_value')
        coefficientResult['ratio'] = '%.3f' % ratio
        coefficientResults.append(coefficientResult)
    return coefficientResults
Esempio n. 3
0
def creatFloor(count=5):
    url = 'isz_house/ResidentialBuildingController/saveResidentialBuildingFloor.action'
    unit = creatUnit()
    floors = []
    for i in range(count):
        residential = {}
        for key in unit.keys():
            residential[key] = unit[key]
        floorName = i + 1
        data = {
            "property_name":
            residential['residentialName'] + residential['buildingName'] +
            residential['unitName'],
            "floor_name":
            floorName,
            "unit_id":
            residential['unitID'],
            "building_id":
            residential['buildingID']
        }
        result = myRequest(url, data)
        if result:
            sql = "SELECT floor_id from residential_building_floor where building_id = '%s' and unit_id = '%s' order by CONVERT(floor_name,SIGNED)" % (
                residential['buildingID'], residential['unitID'])
            floorID = sqlbase.serach(sql, oneCount=False)[i]
            residential['floorID'] = floorID
            residential['floorName'] = floorName
            floors.append(residential)
    consoleLog(u'楼层全部创建成功')
    return floors
def addHouseContact():
    """审核委托合同"""
    try:
        base = Base()
        base.open(page.entrustContractPage,
                  houseContractPage.contractSearchMould['tr_contract'],
                  havaFrame=False)
        #配置文件读取合同编号
        contractNum = get_conf('houseContractInfo', 'contractNum')
        sql = "SELECT * from house_contract WHERE contract_num = '%s' and deleted = 0" % contractNum.encode(
            'utf-8')
        if sqlbase.get_count(sql) != 0:
            base.input_text(
                houseContractPage.contractSearchMould['contract_num_loc'],
                contractNum)
            base.click(
                houseContractPage.contractSearchMould['search_button_loc'])
            base.staleness_of(
                houseContractPage.contractSearchMould['tr_contract'])
            base.click(
                houseContractPage.addHouseContractMould['delete_button'])
            base.click(houseContractPage.
                       addHouseContractMould['delete_button_confirm'])
            base.check_submit()
            consoleLog(u'委托合同删除成功')
        else:
            consoleLog(u'未找到委托合同 %s,略过删除功能' % contractNum)
    finally:
        base.driver.quit()
Esempio n. 5
0
    def update_sql(self):
        """
        更新数据
        :return:
        """
        base.consoleLog('更新sql:' + self.sql)
        try:
            conn = sqlite3.connect('../sysDemo/sqlite/database.db')
            c = conn.cursor()
            c.execute(self.sql)
            conn.commit()
            conn.close()
        except Exception as e:
            base.consoleLog(str(e), 'e')
            return str(e)
        return c


# sql = """SELECT event, classification, datas, money, create_name
#         FROM financial_flow
#         WHERE deleted = 0
#             AND classification like "%%"
#             AND create_name like "%%"
#             AND datas >= "1971-01-01"
#             AND datas <= "2099-12-31"
#             AND money >= "0"
#             AND money <= "999999" ORDER BY datas limit "0","30" """
# print(MySqlite(sql).select_sql())
Esempio n. 6
0
    def delete_apartment_contract_collecting_money(self):
        """
        删除首期款实收
        :return:
        """
        base.consoleLog('删除首期款实收。出租合同号:' + self.contract_num)

        url = 'http://isz.ishangzu.com/isz_finance/ApartmentContractReceiptsController/deleteReceipts.action'

        try:
            sql = "select contract_id from apartment_contract where contract_num = '%s'" % self.contract_num
            contract_id = base.searchSQL(sql)[0][0]
        except Exception as e:
            base.consoleLog("查询出租合同sql报错,sql:" + sql + "错误返回" + str(e), 'e')
            return str(e)

        sql = 'SELECT receivable_id from apartment_contract_receivable where contract_id = "%s" and deleted =0' % contract_id
        receivable_id_tuple = base.searchSQL(sql)

        for i in range(3):
            data = {
                "receipts_id": "FF80808164D5FFB20164E662B2111708",
                "receivable_id": "FF80808164E4302C0164E662A80815D4",
                "send_status": "UNSEND"
            }
    def update_credit_card(self):
        base.consoleLog('获取新增信用卡详情的内容,如果修改了重新保存')
        card_name = QLineEdit.displayText(self.credit_card_name_lineEdit)
        card_number = QLineEdit.displayText(self.credit_card_number_lineEdit)
        card_quota = QLineEdit.displayText(self.credit_card_quota_lineEdit)
        account_date = QLineEdit.displayText(
            self.credit_card_account_date_lineEdit)
        repayment_date = QLineEdit.displayText(
            self.credit_card_repayment_date_lineEdit)
        binding_payment_name = QLineEdit.displayText(
            self.credit_card_binding_payment_name_lineEdit)
        welfare = QLineEdit.displayText(self.credit_card_welfare_lineEdit)
        welfare_data = QLineEdit.displayText(
            self.credit_card_welfare_data_lineEdit)
        ID = int(self.windowTitle().split('信用卡详情')[1])

        if card_name == '' or card_number == '' or card_quota == '' or account_date == '' or repayment_date == '' or binding_payment_name == '' or welfare == '' or welfare_data == '':
            QMessageBox.about(self, "提示", "您有部分数据为空,请输入完整信息之后再点击保存!")
            return
        sql = """update credit_card set card_name='%s',card_number='%s',card_quota='%s',account_date='%s',repayment_date='%s',binding_payment_name='%s',welfare='%s',welfare_data='%s',update_time='%s' where card_id = '%s' ;
                              """ % (
            card_name, card_number, card_quota, account_date, repayment_date,
            binding_payment_name, welfare, welfare_data, base.time_time(), ID)
        MySqlite(sql).update_sql()
        QMessageBox.about(self, "提示", "您的信用卡信息更新成功!")
        self.close()
        return
def test_1007():
    """租合同周期在跟前合同的周期重叠"""

    # describe:租合同周期在跟前合同的周期重叠,提示时间段被占用
    # data:有过出租合同且当前状态为待租的房源,新增出租合同时间在前合同的承租周期内
    # result:合同创建失败

    fileName = 'apartmentContract_1007'
    searchSql = "SELECT a.apartment_code,hc.contract_num,ac.contract_num,date_sub(date(ac.real_due_date), interval 2 DAY) FROM apartment a INNER JOIN house_contract hc " \
                "ON hc.contract_id = a.house_contract_id AND hc.is_active = 'Y' AND hc.deleted = 0 AND hc.audit_status='APPROVED' AND hc.contract_status = 'EFFECTIVE'" \
                "INNER JOIN apartment_contract_relation acr  on a.apartment_id=acr.apartment_id INNER JOIN apartment_contract ac on ac.contract_id=acr.contract_id and ac.deleted=0 " \
                "WHERE a.apartment_id=acr.apartment_id and a.deleted = 0 AND a.rent_price > 0 AND a.city_code = 330100 AND hc.entrust_type = 'SHARE' AND a.rent_status='WAITING_RENT' order by rand() limit 1"
    if sqlbase.get_count(searchSql) == 0:
        consoleLog(u'%s:SQL查无数据!' % fileName, 'w')
        consoleLog(u'执行SQL:%s' % searchSql)
        return
    info = sqlbase.serach(searchSql)
    apartmentCode = info[0]
    consoleLog(u'%s:取随机房源 %s 做签约' %(fileName, apartmentCode))
    signDate = info[3]

    with Base() as base:
        base.open(page.customerListPage, apartmentContractPage.customerSignMould['tr_customer'])
        try:
            base.find_element(By.ID, 'search_btn').click()
            base.staleness_of(apartmentContractPage.customerSignMould['tr_customer'])  # 搜索等待列表刷新
        except:
            base.click((By.CSS_SELECTOR, '.panel.window > div:nth-child(1) > div.panel-tool > a'))  # 可能会有分配租客的弹窗出现,此为关闭
        customerCode = base.script(
            "var a = $('[datagrid-row-index=\"0\"] > [field=\"customer_num\"] > div > font').text();return a",
            True).decode('utf-8')  # 获取第一条数据编号
        base.input_text(apartmentContractPage.customerSignMould['search_customer_name_loc'], customerCode)
        base.click(apartmentContractPage.customerSignMould['search_button_loc'])
        base.staleness_of(apartmentContractPage.customerSignMould['tr_customer'])
        base.script("$('button#edit_btn')[2].click()")  # 点击列表页第一行的签约
        consoleLog(u'使用房源 %s 签约出租合同' % apartmentCode)
        base.click(apartmentContractPage.customerSignMould['share'])  # 点合租
        base.input_text(apartmentContractPage.customerSignMould['search_apartment_loc'], apartmentCode)  # 房源编号
        base.click(apartmentContractPage.customerSignMould['house_search_btn'])
        base.staleness_of(apartmentContractPage.customerSignMould['apartment_loc'])
        base.dblclick(apartmentContractPage.customerSignMould['apartment_loc'])  # 对查询结果的第一条房源数据双击发起签约
        base.click(apartmentContractPage.customerSignMould['newsign_button_loc'])  # 新签
        contractNum = 'AutoTest' + '-' + time.strftime('%m%d%H%M%S')  # 定义合同编号
        randomHouseContract = sqlbase.serach(
            "SELECT entrust_start_date,entrust_end_date,date(sysdate()) from house_contract where contract_num = '%s'" % info[1])  # 获取房源合同时间元素
        base.input_text(apartmentContractPage.addApartmentContractMould['contract_num_loc'], contractNum)  # 合同编号
        base.type_date(apartmentContractPage.typeMould['sign_date'], signDate)  # 签约日期
        base.type_date(apartmentContractPage.typeMould['rent_start_date'], signDate)  # 承租起算日
        base.type_date(apartmentContractPage.typeMould['rent_end_date'], randomHouseContract[1])  # 承租到期日
        time.sleep(3)
        message = base.script(
            "var a = $('.panel.window.messager-window>div:nth-child(2)>div:nth-child(2)').text();return a",
            True)
        if message != '':
            messagehope = u'该时间段被合同号%s占用' % info[2]
            base.diffAssert(lambda test: asserts(message).is_equal_to(messagehope), 1007,
                            u'%s:页面信息提示不正确,期望值 %s 实际值 %s' % (fileName, messagehope, message))
        else:
            consoleLog(u'页面信息获取失败', 'e')
            return
Esempio n. 9
0
def creatResidential(cityCode=None, residentialName=None):
    url = 'isz_house/ResidentialController/saveResidential.action'
    residentialName = residentialName if residentialName else u"XX苏州测试楼盘"  # + '-' + time.strftime('%m%d-%H%M%S')
    sql = "SELECT sd.parent_id FROM sys_department sd INNER JOIN sys_user sur ON sur.dep_id = sd.dep_id INNER JOIN sys_position spt ON spt.position_id = sur.position_id " \
          "WHERE sd.dep_district = 320500 AND sd.is_active='Y' AND sd.dep_id <> '00000000000000000000000000000000' AND (spt.position_name LIKE '资产管家%' OR spt.position_name LIKE '综合管家%') AND sd.dep_name NOT LIKE '%培训%'" \
          "ORDER BY RAND() LIMIT 1"
    dutyDepID = sqlbase.serach(sql)[0]
    data = {
        "residential_name": residentialName,
        "residential_jianpin": "auto",
        "city_code": city_code if not cityCode else cityCode,
        "area_code": area_code,
        "taBusinessCircleString": taBusinessCircleString,
        "address": "autoTest",
        "gd_lng": "120.138631",
        "gd_lat": "30.186537",
        "property_type": "ordinary",
        "taDepartString": dutyDepID,
        "byname": "auto"
    }
    result = myRequest(url, data)
    if result:
        sql = "SELECT residential_id from residential where residential_name = '%s' and deleted=0" % residentialName.encode(
            'utf-8')
        residentialID = sqlbase.serach(sql)[0]
        residential = {
            'residentialName': residentialName,
            'residentialID': residentialID,
            'dutyDepID': dutyDepID
        }
        consoleLog(u'楼盘‘%s’创建成功' % residentialName)
        return residential
def addResidential():
    """删除楼盘"""
    try:
        mybase = Base()
        mybase.open(page.residentiaPage, residentiaPage.searchResidentialModule['search_btn'], havaFrame=False);consoleLog(u'打开JSP页面')
        # mybase.open(Page.residentiaPage, (By.ID, 'search_btn'), havaFrame=False)
        sql = 'select residential_name from residential where residential_name like "AutoTest-%" and deleted<>1'
        ResidentiaName = sqlbase.serach(sql)[0];consoleLog(u'查询结果:%s' % ResidentiaName)
        # ResidentiaName='AutoTest-0706-103107'
        mybase.input_text((By.CSS_SELECTOR, "#residential_name"), ResidentiaName,event=u'输入楼盘名称:')\
            # ;consoleLog(u'输入楼盘名称')
        mybase.click((By.ID, 'search_btn'));consoleLog(u'点击查找')
        mybase.staleness_of(residentiaPage.searchResidentialModule['tr_residential']);consoleLog(u'等待数据刷新')
        mybase.click((By.CSS_SELECTOR,
                           '#residential + div > div:nth-child(2) > div > div:nth-child(2) > div:nth-child(2) > table > tbody > tr:nth-child(1) > td:nth-child(17) > div > button:nth-child(5)'));consoleLog(u'点击删除')  # 点击删除
        mybase.click((By.CSS_SELECTOR, 'div>a>span>span'),1);consoleLog(u'确定删除')  # 点击确定
        mybase.click((By.ID, 'search_btn'));consoleLog(u'再次查找')  # 再次查找
        try:
            WebDriverWait(mybase.driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR,
                                                                                   '#residential + div > div:nth-child(2) > div > div:nth-child(2) > div:nth-child(2) > table > tbody > tr:nth-child(1) > td:nth-child(11) ')),
                                                 u'未找确定楼盘 %s 信息' % ResidentiaName)
            raise Exception(u'楼盘 %s 信息存在,删除失败'%ResidentiaName)
        except u'未找确定楼盘 %s 信息' % ResidentiaName:
            consoleLog(u'楼盘删除成功')
    finally:
        mybase.driver.quit()
Esempio n. 11
0
def query(sql, nullThrow=True):
    """
    :return  list
    """
    cursor.execute(sql)
    index = cursor.description
    result = []
    _result = cursor.fetchall()
    for res in _result:
        row = {}
        for i in range(len(index)):
            if type(res[i]) is not unicode and type(res[i]) is not int:
                row[index[i][0]] = str(res[i])
            else:
                row[index[i][0]] = res[i]
        result.append(row)
    if result:
        return result
    else:
        if not nullThrow:
            consoleLog('there is no result searched by sql: %s ' % sql, 'w')
            return [{}]
        else:
            raise BaseException('there is no result searched by sql: %s ' %
                                sql)
Esempio n. 12
0
        def auditBase(page, auditAction):
            url = 'http://erp.ishangzu.com/isz_housecontract/houseContractController/saveOrUpdateHouseContractDetailByPart'
            url_audit = 'http://erp.ishangzu.com/isz_housecontract/houseContractController/houseContractAudit'
            page_Data = {
                'auditForm': {
                    'audit_status': auditStatus_Par[auditAction],
                    'content': '同意!'
                },
                'action_type': 'AUDIT',
                step_Par[page]: contractInfo[step_Par[page]],
                'save_part': page,
                'contract_id': self.house_contract_id
            }
            data_FIVE = {
                "audit_status": auditStatus_Par[auditAction],
                "content": "合同内容、资料、备件无误,正常审核通过。同意!",
                "contract_id": self.house_contract_id,
                "is_normal_approved": "0"

            }
            page_Data = data_FIVE if page == 'FIVE' else page_Data
            url = url_audit if page == 'FIVE' else url
            method = 'put' if page == 'FIVE' else 'post'
            result = myRequest(url, page_Data, method=method)
            if result:
                # consoleLog(u'HOUSE CONTRACT STEP *%s* %s SUCCESS' % (page, auditAction))
                return
            else:
                consoleLog(u'HOUSE CONTRACT STEP *%s* %s FAIL!!!' % (page, auditAction))
                quit()
def auditApartmentContract():
    """删除核出租合同终止结算"""
    try:
        base = Base()
        base.open(page.contractEndPage,
                  apartmentContractEndPage.searchMould['tr_contract_end'],
                  havaFrame=False)
        contractNum = get_conf('apartmentContractInfo', 'contractnum')
        sql = "SELECT * from apartment_contract where contract_num = '%s' and deleted = 0 and contract_status != 'EFFECTIVE'" % contractNum.encode(
            'utf-8')
        if sqlbase.get_count(sql) > 0:
            base.input_text(
                apartmentContractEndPage.searchMould['contract_num_loc'],
                contractNum)
        else:
            consoleLog(u'未找到出租合同终止结算的测试数据,跳过删除用例', level='w')
            return
        base.click(apartmentContractEndPage.searchMould['search_button_loc'])
        base.staleness_of(
            apartmentContractEndPage.searchMould['tr_contract_end'])
        base.click(
            apartmentContractEndPage.addContractEndMould['delete_button'])
        base.click(apartmentContractEndPage.
                   addContractEndMould['delete_button_confirm'])
        base.check_submit()
        consoleLog(u'出租合同 %s 终止结算删除成功' % contractNum)
    finally:
        base.driver.quit()
Esempio n. 14
0
    def __init__(self, parent=None):
        super(UpdateCapital, self).__init__(parent)
        base.consoleLog('还款计划信息')
        self.setWindowTitle("还款计划信息")
        self.resize(400, 300)
        self.update_capital_button = QPushButton("保存", self)
        self.update_capital_button.setGeometry(QtCore.QRect(250, 230, 75, 23))
        self.update_capital_button.show()
        self.update_capital_button.clicked.connect(self.update_capital_info)

        flo = QFormLayout()
        flo.addRow(QLabel())
        flo.addRow(QLabel())
        flo.addRow(QLabel())
        self.assetTypeInfo = QComboBox()
        flo.addRow("    还款类型", self.assetTypeInfo)
        self.statementDateInfoLineEdit = QLineEdit()
        self.statementDateInfoLineEdit.setPlaceholderText('请输入账单日')
        flo.addRow("      账单日", self.statementDateInfoLineEdit)
        self.repaymentDateInfoLineEdit = QLineEdit()
        self.repaymentDateInfoLineEdit.setPlaceholderText('请输入还款日')
        flo.addRow("      还款日", self.repaymentDateInfoLineEdit)
        self.repaymentPeriodInfoLineEdit = QLineEdit()
        self.repaymentPeriodInfoLineEdit.setPlaceholderText('请输入期数')
        flo.addRow("    还款期数", self.repaymentPeriodInfoLineEdit)
        self.repaymentAmountInfoLineEdit = QLineEdit()
        self.repaymentAmountInfoLineEdit.setPlaceholderText('请输入每期金额')
        flo.addRow("        金额", self.repaymentAmountInfoLineEdit)
        self.setLayout(flo)
Esempio n. 15
0
 def end(self):
     """提交终止结算"""
     if not HouseContractEndInfo(self.house_contract_id).house_contract_end_info:
         self.audit('fushen')
         url = "http://erp.ishangzu.com/isz_housecontract/houseContractEndController/saveHouseContractEnd"
         end_contract_num = 'End-%s' % self.house_contract_num
         endBase = self.__getEndBase()
         endBase['end_contract_num'] = end_contract_num
         endBase['end_date'] = '%s 00:00:00' % time.strftime('%Y-%m-%d')
         endBase['contractImgList'] = [{
             "src": "http://img.ishangzu.com/erp/2018/4/19/17/ceed711b-aa91-4516-90be-71ea08eaafd3.png",
             "url": "http://img.ishangzu.com/erp/2018/4/19/17/ceed711b-aa91-4516-90be-71ea08eaafd3.png",
             "type": "",
             "img_id": "FF80808162D81DCB0162DD4C8B3500DD"
         }]
         endBase['pay_bank'] = self.account_bank
         endBase['pay_bank_no'] = self.account_num
         endBase['pay_object'] = self.pay_object
         endBase['payable_date'] = '%s 00:00:00' % time.strftime('%Y-%m-%d')
         endBase['receivable_date'] = '%s 00:00:00' % time.strftime('%Y-%m-%d')
         endBase['pay_name'] = self.account_name
         endBase['pay_type'] = 'OWNER'
         endBase['end_type'] = 'OWNER_DEFAULT'  # CORPORATE_DEFAULT
         result = myRequest(url, endBase)
         if result:
             consoleLog('委托合同 "%s" 已提交终止结算' % self.house_contract_num)
     else:
         consoleLog('委托合同 "%s",已经终止' % self.house_contract_num)
     return HouseContractEnd(self.house_contract_id)
Esempio n. 16
0
 def __init__(self, contractIdOrNum):
     super(HouseContractEndInfo, self).__init__(contractIdOrNum)
     sql = "select * from house_contract_end where contract_id='%s' and deleted=0" % self.house_contract_id
     self.house_contract_end_info = Mysql().query(sql, nullThrow=False)[0]
     if not self.house_contract_end_info:
         consoleLog(
             "there is no house_contract_end,contract_id: %s" %
             self.house_contract_id, 'e')
         return
     self.end_id = self.house_contract_end_info['end_id']
     self.end_date = self.house_contract_end_info['end_date']
     self.end_type = self.house_contract_end_info['end_type']
     self.pay_owner = self.house_contract_end_info['pay_owner']
     self.pay_owner_bank_no = self.house_contract_end_info[
         'pay_owner_bank_no']
     self.pay_owner_bank_location = self.house_contract_end_info[
         'pay_owner_bank_location']
     self.receivable_total = self.house_contract_end_info[
         'receivable_total']
     self.payable_totle = self.house_contract_end_info['payable_totle']
     self.payable_date = self.house_contract_end_info['payable_date']
     self.receivable_date = self.house_contract_end_info['receivable_date']
     self.end_audit_status = self.house_contract_end_info['audit_status']
     self.__end_audit_status = self.house_contract_end_info['audit_status']
     self.pay_object = self.house_contract_end_info['pay_object']
     self.bank = self.house_contract_end_info['bank']
Esempio n. 17
0
def myRequest(
    url,
    cookie,
    data=None,
    needCookie=True,
    method='post',
    returnValue=False,
):
    interfaceURL = host + url
    if method == 'get':
        if needCookie:
            request = requests.get(url, cookie=cookie)
        else:
            request = requests.get(url)
    if method == 'post':
        if needCookie:
            request = requests.post(interfaceURL,
                                    data=json.dumps(data),
                                    headers=headers,
                                    cookies=cookie)
        else:
            request = requests.post(interfaceURL,
                                    data=json.dumps(data),
                                    headers=headers)
    result = json.loads(request.text)
    if request.status_code is not 200 or result['code'] is not 0:
        msg = result['msg'].encode('utf-8')
        consoleLog(
            u'接口异常!\n接口地址:%s\n请求参数:%s\n返回结果:%s' %
            (interfaceURL, data, msg.decode('utf-8')), 'w')
        return False if not returnValue else msg
    else:
        return result
Esempio n. 18
0
    def modify_user_post(self):
        """
        修改用户岗位
        :return:
        """
        base.consoleLog('修改用户岗位。账号:' + self.user_phone)

        sql = 'SELECT user_id from sys_user where user_phone = "%s"' % self.user_phone
        user_id = base.searchSQL(sql)[0][0]
        url = "http://isz.ishangzu.com/isz_base/UserController/searchNewUser.action"
        data = {"user_id": user_id}
        result = interface.myRequest(url, data)["obj"]

        sql = 'select position_id from sys_position where position_name = "%s" ' % self.rolename
        position_id = base.searchSQL(sql)[0][0]
        sql = 'SELECT update_time from sys_user where user_phone = "%s"' % self.user_phone
        update_time = str(base.searchSQL(sql)[0][0])
        url = "http://isz.ishangzu.com/isz_base/UserController/saveUser.action"
        data = {
            "position_id": position_id,
            "update_time": update_time,
            "user_id": result["sysFollows"][0]["user_id"],
            "role_id": result["role_id"],
            "Operation_type": "POSTMOVE"
        }

        interface.myRequest(url, data)

        base.consoleLog('修改用户岗位接口执行完成。')
        return
Esempio n. 19
0
def createHouseContract(houseInfo):
    """新签委托合同"""
    house = House(houseInfo[0])
    consoleLog('签约房源:%s, %s, %s' % (house.house_id, house.house_code, house.property_name))
    # 委托合同参数
    contract_num_sign = u'WFL-2.0'  # 合同标识
    apartment_type = 'BRAND'
    entrust_type = 'ENTIRE'
    contract_num = '%s%s%s%s-%s' % (contract_num_sign, apartment_type[0], entrust_type[0], time.strftime('%m%d%H%M'), get_randomString(2))
    sign_date = addMonths(-2, today())
    # sign_date = addDays(-20, today())
    owner_sign_date = addDays(1, sign_date)
    fitment_start_date = addDays(3, sign_date)
    fitment_end_date = addMonths(1, sign_date)
    entrust_start_date = addDays(1, fitment_end_date)
    entrust_year = 3
    rent = 1234.34
    parking = 123
    # try:
    contract = house.createHouseContract(contract_num=contract_num, apartment_type=apartment_type,
                                         entrust_type=entrust_type, sign_date=sign_date,
                                         owner_sign_date=owner_sign_date, fitment_start_date=fitment_start_date, fitment_end_date=fitment_end_date,
                                         entrust_start_date=entrust_start_date, entrust_year=entrust_year, rent=rent,
                                         parking=parking)
    # contract.audit('fushen')
    decoration = Decoration(contract.house_contract_id)
Esempio n. 20
0
def serach(sql, needConvert=True, oneCount=True):
    """
    返回查询结果
    :param sql: 查询sql
    :param needConvert: 转换为Unicode、int以及datetime之类的时间数据
    :param oneCount: 返回结果是单条还是多条
    :return:list格式的查询结果
    """
    cursor.execute(sql)
    conn.commit()

    def convert(data):
        if type(data[0]) is tuple:
            if len(data[0]) == 1:
                return [i for i in data]
        elif data is None:
            consoleLog(u'查询无结果')
            return data
        for x, y in enumerate(data):
            if type(data[x]) is tuple or type(data[x]) is list:
                data[x] = list(y)
                convert(data[x])
        return data

    try:
        value = convert(
            list(cursor.fetchone()) if oneCount else list(cursor.fetchall()))
    except TypeError, e:
        consoleLog(e.message + '\n' + u'当前执行sql:%s' % sql.decode('utf-8'),
                   level='e')
Esempio n. 21
0
    def return_list_data(self):
        """
        根据搜索条件返回搜索结果
        :return:
        """
        base.consoleLog('加载信用卡页面数据')

        sql = """SELECT
	card_id,
	card_name,
	card_number,
	card_quota,
	account_date,
	repayment_date,
	binding_payment_name,
	welfare,
	welfare_data
FROM
	credit_card
WHERE
	deleted = 0
ORDER BY
	create_time ;"""
        data = MySqlite(sql).select_sql()

        sql = "SELECT count(*) from credit_card where deleted=0;"
        count = MySqlite(sql).select_sql()[0][0]
        result = {}
        result['data'] = data
        result['count'] = count
        return result
Esempio n. 22
0
 def get_no(self):
     """
     点进取消
     :return:
     """
     base.consoleLog('删除财务流水点击取消按钮')
     self.close()
     return
Esempio n. 23
0
 def orderNum(orderIdOrNum):
     order_id = sqlbase.serach(
         "select order_id from %s.repairs_order where (order_id='%s' or order_no='%s') and deleted=0"
         % (get_conf('db', 'rsm_db'), orderIdOrNum, orderIdOrNum))
     if order_id:
         return order_id[0]
     else:
         consoleLog(u'报修订单不存在!')
Esempio n. 24
0
 def config_suppliers(self):
     """订单所有物品供应商id"""
     sql = "select distinct supplier_id from %s.new_stuff_list where project_id='%s' and deleted=0" % (
         get_conf('db', 'decoration_db'), self.project_id)
     supplier_ids = Mysql().getAll(sql)
     if not supplier_ids:
         consoleLog(u'订单配置供应商不存在')
     return supplier_ids
Esempio n. 25
0
 def contract_field(contractNumOrId, field):
     """查询合同字段"""
     fieldRetrun = Mysql().getOne(
         "select %s from apartment_contract where (contract_num='%s' or contract_id='%s') and deleted=0"
         % (field, contractNumOrId, contractNumOrId))
     if fieldRetrun:
         return fieldRetrun[0]
     else:
         consoleLog(u'合同:%s 对应字段:%s 查询结果为空' % (contractNumOrId, field))
Esempio n. 26
0
 def wrapper(*args, **kwargs):
     result = func(*args, **kwargs)
     loginmsg = '请重新登陆'
     loginmsg2 = '请先登录系统'
     if loginmsg.encode('utf-8') in result or loginmsg2.encode(
             'utf-8') in result:
         consoleLog('登录状态失效,尝试重新登录!')
         login()
         return func(*args, **kwargs)
Esempio n. 27
0
 def readCell(self, row, col):
     """坐标单元格内容"""
     if row == 0 or col == 0:
         consoleLog('行或列不能等于0')
     else:
         try:
             return self.sheet().cell_value(row - 1, col - 1)
         except IndexError:
             return None
Esempio n. 28
0
 def __init__(self, path=None, sheetIndex=1, sheetName=None):
     self.sheetIndex = sheetIndex - 1
     if path:
         self.path = path
         if not os.path.exists(self.path):
             consoleLog('文件不存在!')
             exit()
         else:
             self.sheetName = sheetName
             self.book = xlrd.open_workbook(self.path)
 def select_residential_detail_request(self):
     """
     ERP查询楼盘信息接口
     :return:
     """
     base.consoleLog('楼盘详情接口。楼盘名称:' + self.residential_name)
     url = 'http://isz.ishangzu.com/isz_house/ResidentialController/selectResidentialDetail.action'
     data = {"residential_id":self.residential_id}
     result = NewRequest(url, data).post()['obj']
     return result
Esempio n. 30
0
 def cancel(self):
     url = 'http://rsm.ishangzu.com/isz_repair/RepairsController/order/%s/cancel' % self.order_id
     data = {
         'order_id': self.order_id,
         'reason': 'cancel by test',
         'update_time': '{}{}'.format(time.strftime('%Y-%m-%d %H:%M:%S'),
                                      '.0')
     }
     if myRequest(url, data, method='put'):
         consoleLog(u'订单:%s 已取消' % self.order_no)