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()
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
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()
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())
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
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()
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)
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()
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)
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)
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']
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
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
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)
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')
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
def get_no(self): """ 点进取消 :return: """ base.consoleLog('删除财务流水点击取消按钮') self.close() return
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'报修订单不存在!')
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
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))
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)
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
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
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)