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 update_did(self): """ 更新部门到技术开发中心 :return: """ self.modify_user_post() sql = 'SELECT user_id from sys_user where user_phone = "%s"' % self.user_phone user_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 = { "dep_id": "10013", "update_time": update_time, "user_id": user_id, "Operation_type": "DEPMOVE" } interface.myRequest(url, data) 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 = { "role_id": "8AB398CA5D0D2944015D2B7FF10C6E49", "update_time": update_time, "user_id": user_id, "Operation_type": "ROLEMOVE" } interface.myRequest(url, data) return
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 reviewed_apartment_contract_receivable(self): """ 审核出租合同所有应收 :return: """ base.consoleLog('审核出租合同所有应收。出租合同号:' + self.contract_num) 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) #循环审核应收 url = 'http://isz.ishangzu.com/isz_finance/ApartmentContractReceiptsController/endReceivable.action' for i in range(len(receivable_id_tuple)): data = {"receivable_id": receivable_id_tuple[i][0]} result = interface.myRequest(url, data) if result['code'] == 0: base.consoleLog('审核应收接口执行成功。应收ID:' + receivable_id_tuple[i][0]) else: base.consoleLog('审核应收接口执行失败。应收ID:' + receivable_id_tuple[i][0], level='e') return
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 apartment_price_entire(self, rent_price='5030'): """ 自营房源整租定价 :param rent_price: 价格 :return: """ base.consoleLog("自营房源整租定价。价格:" + rent_price) try: sql = 'SELECT apartment_id from apartment where house_id = (SELECT house_id from house_contract where contract_num ="%s") ORDER BY create_time desc limit 1 ' % self.contract_num apartment_id = base.searchSQL(sql)[0][0] except Exception as e: base.consoleLog("查询sql报错,sql:" + sql + "错误返回:" + str(e),'e') return str(e) #整租定价 url = "http://erp.ishangzu.com/isz_house/ApartmentController/confirmApatmentRentPricing.action" data = {"apartment_id": apartment_id, "rent_price": rent_price} result = interface.myRequest(url, data) if result['code'] != 0: base.consoleLog('自营房源整租定价接口执行失败!') return result['msg'] base.consoleLog('自营房源整租定价接口执行成功!') return
def add_floor(self): """ 新增楼层 :return: """ base.consoleLog('新增楼层:' + str(self.floor_name)) try: sql = """SELECT unit_id FROM residential_building_unit WHERE building_id = '%s' ORDER BY create_time DESC LIMIT 1""" % self.building_id self.unit_id = base.searchSQL(sql)[0][0] except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) url = 'http://isz.ishangzu.com/isz_house/ResidentialBuildingController/saveResidentialBuildingFloor.action' data = { "property_name": self.residential_name + self.building_name +self.unit_name, "floor_name": self.floor_name, "building_id": self.building_id, "unit_id": self.unit_id } result = NewRequest(url, data).post() if result['code'] != 0: base.consoleLog('新增楼层接口执行失败!') return result['msg'] base.consoleLog('新增楼层接口执行成功!') return
def __init__(self, apartment_code): """ :param apartment_code: 房源编号 """ self.apartment_code = apartment_code try: sql = 'select apartment_id from apartment where apartment_code="%s" ' % self.apartment_code self.apartment_id = base.searchSQL(sql)[0][0] except BaseException as e: base.consoleLog("查询自营公寓返回为空,sql:" + sql + "错误返回:" + str(e),'e')
def __init__(self, contract_num=None): """ :param contract_num: 出租合同号 """ self.contract_num = contract_num try: sql = "select contract_id from apartment_contract where contract_num = '%s' and deleted=0" % self.contract_num self.contract_id = base.searchSQL(sql)[0][0] except Exception as e: base.consoleLog("查询出租合同返回为空,sql:" + sql + "错误返回:" + str(e)) self.contract_id = ''
def add_residential(self): """ 新增楼盘 :param residential_name:楼盘名称 :return: """ base.consoleLog('新增楼盘。楼盘名称:' + self.residential_name) try: 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 = '330100' and sd.dep_id <> '00000000000000000000000000000000' and (spt.position_name like '资产管家%' or spt.position_name like '综合管家%') " \ "ORDER BY RAND() LIMIT 1" parent_id = base.searchSQL(sql)[0][0] except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) #新增楼盘 url = "http://isz.ishangzu.com/isz_house/ResidentialController/saveResidential.action" data = { "residential_name": self.residential_name, "residential_jianpin": "xqzxcslp", "city_code": "330100", "area_code": "330108", "taBusinessCircleString": "4", "address": "海创基地南楼", "gd_lng": "120.138631", "gd_lat": "30.186537", "property_type": "ordinary", "taDepartString": parent_id, "build_date": "1975", "totle_buildings": "50", "total_unit_count": "200", "total_house_count": "4000", "build_area": "5000.00", "property_company": "我是物业公司", "property_fee": "2", "plot_ratio": "20.00", "green_rate": "30.00", "parking_amount": "2500", "other_info": "我是楼盘亮点", "bus_stations": "我是公交站", "metro_stations": "我是地铁站", "byname": "cs"} result = NewRequest(url, data).post() if result['code'] != 0: base.consoleLog('新增楼盘接口执行失败!') return result['msg'] base.consoleLog('新增楼盘接口执行成功!') return
def issue_reaccounting(self): """ 业绩重新核算 :return: """ base.consoleLog('业绩重新核算') url = 'http://erp.ishangzu.com/isz_achievement/issueAchieve/adjustAchieve/' sql = "SELECT achievement_issue_id from achievement_issue where apartment_contract_num='%s' and deleted=0" % self.contract_num achievement_issue_id = base.searchSQL(sql) for i in range(len(achievement_issue_id[0])): result = interface.myRequest(url+str(achievement_issue_id[0][i]), method='get') if result['code'] == 0: base.consoleLog('业绩重新核算成功~~') else: base.consoleLog(str(result)) return
def update_issue_audit_status(self): """ 更新业绩审核状态 :return: """ base.consoleLog('更新业绩审核状态。出租合同。' + self.contract_num) url = 'http://erp.ishangzu.com/isz_achievement/issueAchieve/audite' sql = "SELECT achievement_issue_id from achievement_issue where apartment_contract_num='%s' and deleted=0" % self.contract_num achievement_issue_id = base.searchSQL(sql) for i in range(len(achievement_issue_id[0])): data = {"achievement_issue_id": achievement_issue_id[0][i], "content": "审核业绩"} result = interface.myRequest(url, data) if result['code'] == 0: base.consoleLog('业绩状态更新成已审核~~') else: base.consoleLog(str(result)) return
def __init__(self,contract_num,value=True): """ :param contract_num: 委托合同号 :param value: 是否需要交房 """ self.now_times = base.now_time(1) self.contract_num = contract_num self.url = 'http://decorate.ishangzu.com/isz_decoration/DecorationFileController/uploadPhoto' #工程管理上传图片地址 for i in range(5): try: sql = 'SELECT project_id from new_decoration_project where info_id = (SELECT info_id from decoration_house_info where contract_num = "%s")' % self.contract_num print(sql) self.project_id = base.searchSQL(sql, db="isz_decoration")[0][0] print(self.project_id) except Exception as e: base.consoleLog("查询委托工程信息sql报错,sql:" + sql + "错误返回:" + str(e),'e') sleep(1) pass self.value = value
def add_building(self): """ 新增栋座 :return: """ base.consoleLog('新增栋座。栋座名称:'+self.building_name) try: sql = """SELECT residential_id FROM residential WHERE residential_name = '%s' AND deleted = 0 ORDER BY create_time DESC LIMIT 1 """ % self.residential_name self.residential_id = base.searchSQL(sql)[0][0] except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) url = 'http://isz.ishangzu.com/isz_house/ResidentialBuildingController/saveResidentialBuildingNew.action' data = {"property_name": self.residential_name, "building_name": self.building_name, "no_building": "无", "gd_lng": "120.152476", "gd_lat": "30.287232", "housing_type": "ordinary", "ground_floors": "20", "underground_floors": "2", "ladder_count": "10", "house_count": "200", "residential_id": self.residential_id, "have_elevator": "Y"} result = NewRequest(url, data).post() if result['code'] != 0: base.consoleLog('新增栋座接口执行失败!') return result['msg'] base.consoleLog('新增栋座接口执行成功!') return
def user_quit(self, valus=True): """ 提交用户离职 :return: """ base.consoleLog('用户离职。离职账号', self.user_phone) try: sql = "select user_id,update_time from sys_user where user_phone = '%s'" % self.user_phone user_id_update_time = base.searchSQL(sql) except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return if valus: user_status = "LEAVING" url = "http://isz.ishangzu.com/isz_base/UserController/saveUser.action" data = { "remark": "测试专用", "Operation_type": "DEPARTURE", "user_status": user_status, "user_id": user_id_update_time[0][0], "update_time": str(user_id_update_time[0][1]) } result = interface.myRequest(url, data) if result["code"] == 0 and valus: base.consoleLog("账号:" + self.user_phone + "提交离职成功!") else: try: sql = 'UPDATE sys_user set user_status = "INCUMBENCY" where user_phone = "%s"; ' % self.user_phone base.updateSQL(sql) base.consoleLog("账号:" + self.user_phone + "数据库更改在职成功!") except Exception as e: base.consoleLog("账号:" + self.user_phone + "数据库更改在职异常!" + str(e) + sql) base.consoleLog('用户离职离职接口执行完成。') return
def add_house_no(self): """ 新增房间 """ base.consoleLog('新增房间数量:' + str(self.house_no_number)) try: sql = "SELECT floor_id from residential_building_floor where unit_id='%s' ORDER BY create_time desc LIMIT 1" % self.unit_id self.floor_id = base.searchSQL(sql)[0][0] except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) url = 'http://isz.ishangzu.com/isz_house/ResidentialBuildingController/saveResidentialBuildingHouseNo.action' for i in range(int(self.house_no_number)): house_no = int(self.house_no) + i data = { "property_name": self.residential_name + self.building_name + self.unit_name + self.floor_name, "house_no": house_no, "rooms": "1", "livings": "1", "bathrooms": "1", "kitchens": "1", "balconys": "1", "build_area": "100.00", "orientation": "NORTH", "building_id": self.building_id, "unit_id": self.unit_id, "floor_id": self.floor_id} base.consoleLog('新增房间号:' + str(house_no)) result = NewRequest(url, data).post() if result['code'] != 0: base.consoleLog('新增房间号接口执行失败!') base.consoleLog('新增房间接口执行完成。') return
def apartment_price_share(self, rent_price=['2030','2360','2890']): """ 自营房源合租定价 :param rent_price:列表 :return: """ base.consoleLog('自营房源合租定价。价格' + str(rent_price)) try: sql = 'SELECT apartment_id from apartment where house_id = (SELECT house_id from house_contract where contract_num ="%s") ORDER BY create_time desc limit 1 ' % self.contract_num apartment_id = base.searchSQL(sql)[0][0] except Exception as e: base.consoleLog("查询自营公寓返回为空,sql:" + sql + "错误返回:" + str(e),'e') return str(e) # 查询合租房间信息 url = "http://erp.ishangzu.com/isz_house/ApartmentController/searchShareApartment.action" data = {"apartment_id": apartment_id} result = interface.myRequest(url, data) if result['code'] != 0: return result['msg'] # 出租合同定价 data = result["obj"] for i in range(len(data)): data[i]['canEdit'] = True data[i]['rent_price'] = rent_price[i] # 自营公寓合租定价 url = "http://erp.ishangzu.com/isz_house/ApartmentController/confirmPricing.action" result = interface.myRequest(url, data) if result['code'] != 0: base.consoleLog('自营房源合租定价接口执行失败!') return result['msg'] base.consoleLog('自营房源合租定价接口执行成功!') return
def decoration_list(self): """ 硬装清单提交及验证 :return: """ base.consoleLog('硬装清单提交及验证') #制定物品清单 url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationStuffController/preview' commonData = [ { "acceptance_num": None, "acceptance_num_this": 0, "acceptance_time": None, "create_time": base.time_time('second'), "create_uid": base.get_conf('loginUser','user_id'), "data_type": "成品安装", "data_type_len": 26, "decoration_detial": "家具安装", "deleted": 0, "function_zone": "甲", "function_zone_len": 100, "hard_deliver_audit_status": None, "order_type": None, "predict_delivery_date": None, "project_id": self.project_id, "purchase_num": "10", "purchase_order_no": None, "remark": None, "remark_accept": None, "remark_detail": "", "remark_return": None, "replacement_order": None, "return_name": None, "return_num": None, "return_num_this": 0, "stuff_fees_change_reason": None, "stuff_list_id": None, "stuff_list_status": "DRAFT", "submit_time": None, "supplier_id": None, "supplier_name": None, "total_account": None, "total_paid": "100.00", "unit_id": None, "unit_name": "件", "unit_price": 10, "update_time": base.time_time('second'), "update_uid": base.get_conf('loginUser','user_id'), "zone_type": None, "type_index": 0, "fun_index": 0 }, { "acceptance_num": None, "acceptance_num_this": 0, "acceptance_time": None, "create_time": base.time_time('second'), "create_uid": base.get_conf('loginUser','user_id'), "data_type": "成品安装", "data_type_len": 26, "decoration_detial": "嵌入式天花灯-改造", "deleted": 0, "function_zone": "甲", "function_zone_len": 100, "hard_deliver_audit_status": None, "order_type": None, "predict_delivery_date": None, "project_id": self.project_id, "purchase_num": "11", "purchase_order_no": None, "remark": None, "remark_accept": None, "remark_detail": "", "remark_return": None, "replacement_order": None, "return_name": None, "return_num": None, "return_num_this": 0, "stuff_fees_change_reason": None, "stuff_list_id": None, "stuff_list_status": "DRAFT", "submit_time": None, "supplier_id": None, "supplier_name": None, "total_account": None, "total_paid": "264.00", "unit_id": None, "unit_name": "个", "unit_price": 24, "update_time": base.time_time('second'), "update_uid": base.get_conf('loginUser','user_id'), "zone_type": None, "fun_index": 1, "type_index": 1 }, { "acceptance_num": None, "acceptance_num_this": 0, "acceptance_time": None, "create_time": base.time_time('second'), "create_uid": base.get_conf('loginUser','user_id'), "data_type": "成品安装", "data_type_len": 26, "decoration_detial": "明装筒灯-改造", "deleted": 0, "function_zone": "甲", "function_zone_len": 100, "hard_deliver_audit_status": None, "order_type": None, "predict_delivery_date": None, "project_id": self.project_id, "purchase_num": "12", "purchase_order_no": None, "remark": None, "remark_accept": None, "remark_detail": "", "remark_return": None, "replacement_order": None, "return_name": None, "return_num": None, "return_num_this": 0, "stuff_fees_change_reason": None, "stuff_list_id": None, "stuff_list_status": "DRAFT", "submit_time": None, "supplier_id": None, "supplier_name": None, "total_account": None, "total_paid": "403.20", "unit_id": None, "unit_name": "个", "unit_price": 33.6, "update_time": base.time_time('second'), "update_uid": base.get_conf('loginUser','user_id'), "zone_type": None, "fun_index": 1, "type_index": 1 } ] result = interface.myRequest(url,commonData) if result['code'] != 0: return result['msg'] #提交硬装清单 url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationStuffController/saveStuffLists' sql = """SELECT b.address, a.config_order_no, b.contract_id, b.contract_num, b.create_time, b.entrust_end_date, b.entrust_start_date, b.house_code, b.housekeep_mange_uid, b.info_id, a.project_no, b.sign_date, b.city_code, b.city_name FROM decoration_house_info b INNER JOIN new_decoration_project a ON a.info_id = b.info_id AND a.project_id = '%s' """ % self.project_id projectInfo = base.searchSQL(sql,db='isz_decoration')[0] data = { "newStuffList": commonData, "project": { "address": projectInfo[0], "build_area": "120.00", "cable_laying_type": "INNERPIPEINNERLINE", "cable_laying_type_name": None, "city_code": "330100", "city_name": "杭州市", "closed_water_test_result": "Y", "complete_two_nodes": "[\"VOLUME_SCORE\",\"SURVEY_PROPERTY_DELIVERY\",\"WATER_CLOSED_TEST\",\"PROJECT_PLAN\",\"GOODS_CONFIG_LIST\"]", "complete_two_nodes_list": ["VOLUME_SCORE", "SURVEY_PROPERTY_DELIVERY", "WATER_CLOSED_TEST", "PROJECT_PLAN", "GOODS_CONFIG_LIST"], "config_list_status": "CHECKED", "config_list_status_name": "已验收", "config_order_no": projectInfo[1], "config_progress": "WAIT_DESIGN", "config_progress_name": "待设计", "config_submit_time": '%s 13:35:00' % self.now_times, "config_submit_uid": base.get_conf('loginUser','user_id'), "config_submit_uname": base.get_conf('loginUser','user_name'), "construct_uid": "1610", "construct_uname": "徐经纬", "construct_uname_phone": "徐经纬/13105715060", "contract_id": projectInfo[2], "contract_num": projectInfo[3], "contract_type": "NEWSIGN", "contract_type_name": "新签", "create_time": str(projectInfo[4]), "create_uid": "8AEF8688600F30F30160257579287F96", "current_one_node": "PROJECT_PLAN", "decoration_style": "WUSHE_BREEZE", "decoration_style_name": "随寓和风", "deleted": 0, "deliver_room_date": "1970-01-02 00:00:00.0", "dispach_remark": "测试", "entrust_end_date": str(projectInfo[5]), "entrust_start_date": str(projectInfo[6]), "entrust_type_fact": "SHARE", "entrust_type_fact_name": "合租", "grade": 20, "hidden_check_date": "1970-01-02 00:00:00.0", "house_code": projectInfo[7], "housekeep_mange_name": None, "housekeep_mange_uid": projectInfo[8], "info_id": projectInfo[9], "is_active": "Y", "is_active_name": "是", "one_level_nodes": "[\"PLACE_ORDER\",\"DISPATCH_ORDER\",\"SURVEY\",\"PROJECT_PLAN\",\"CONSTRUCTING\",\"PROJECT_CHECK\",\"PROJECT_COMPLETION\"]", "order_status_name": "进程中", "order_type_name": "新收配置订单", "overall_check_date": "1970-01-02 00:00:00.0", "phone": "18815286582", "place_order_date": "2018-03-20 20:47:38", "place_order_dep": "", "place_order_dep_name": None, "place_order_reason": "测试", "place_order_uid": base.get_conf('loginUser','user_id'), "place_order_uname": base.get_conf('loginUser','user_name'), "plumbing_type": "INNERPIPE", "plumbing_type_name": None, "predict_complete_date": "", "predict_days": 0, "predict_hidden_check_date": '%s 00:00:00' % base.now_time(2), "predict_overall_check_date": '%s 00:00:00' % base.now_time(2), "predict_stuff_check_date": '%s 00:00:00' % base.now_time(2), "predict_survey_date": '%s 09:00:00' % base.now_time(2), "project_id": self.project_id, "project_no": projectInfo[10], "project_order_status": "INPROCESS", "project_order_type": "NEW_COLLECT_ORDER", "reform_way": "OLDRESTYLE", "reform_way_fact": "OLDRESTYLE", "reform_way_fact_name": "老房全装", "reform_way_name": "老房全装", "remark": "", "room_toilet": "3/2", "sign_date": str(projectInfo[11]), "sign_name": None, "sign_uid": "8A2152435DC1AEAA015DDE96F9276279", "sign_user_phone": None, "start_time": '%s 00:00:00' % base.now_time(2), "stuff_check_date": "1970-01-02 00:00:00.0", "stuff_list_status": "DRAFT", "stuff_list_status_name": "待下单", "stuff_order_no": "", "stuff_submit_time": "1970-01-02 00:00:00.0", "stuff_submit_uid": "", "stuff_submit_uname": "", "supplier_id": "8A2152435FBAEFC3015FBAEFC3000000", "supplier_name": "测试专用硬装供应商", "supplier_uid": "8AB398CA5FBAF072015FBB26338A0002", "supplier_uname": "测试专用硬装员工", "supplier_uname_phone": "测试专用硬装员工/18815286582", "timeMap": None, "total_paid": 0, "two_level_nodes": "[\"VOLUME_SCORE\",\"SURVEY_PROPERTY_DELIVERY\",\"WATER_CLOSED_TEST\",\"DECORATION_CONFIG_LIST\",\"GOODS_CONFIG_LIST\",\"PROJECT_PLAN\",\"CONCEALMENT_ACCEPTANCE\",\"HARD_ACCEPTANCE\",\"ACCEPTANCE_PROPERTY_DELIVERY\",\"COST_SETTLEMENT\",\"OVERALL_ACCEPTANCE\",\"HOUSE_DELIVERY\",\"INDOOR_PICTURE\"]", "update_time": '%s 13:35:00' % self.now_times, "update_uid": "8AEF8688600F30F30160257579287F96", "wall_condition": "OLDHOUSE", "wall_condition_name": None } } result = interface.myRequest(url,data) if result['code'] != 0: return result['msg'] #装修清单验收 geturl = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationStuffController/getSuffList/%s' % self.project_id result = interface.myRequest(geturl, method='get') if result['code'] != 0: return result['msg'] url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationStuffController/acceptanceAll' acceptance_time = base.time_time('second') data = result['obj']['newStuffList'] for stufflist in data: stufflist['acceptance_time'] = acceptance_time stufflist['acceptance_num_this'] = stufflist['purchase_num'] result = interface.myRequest(url, data) if result['code'] != 0: base.consoleLog('硬装清单提交验收接口执行失败!') return result['msg'] base.consoleLog('硬装清单提交验收接口执行成功!') return
def pay_down_payment(self, earnest_money="4000"): """ 下定 :param earnest_money: 下定金额 :return: """ base.consoleLog('下定。下定房源编号:' + self.apartment_code + ' 下定金额:' + earnest_money) # 新增租客 phone = '18279881085' try: sql = "select customer_id,customer_num,customer_from,customer_name from customer where phone = '%s'" % phone customer = base.searchSQL(sql)[0] except BaseException as e: base.consoleLog('sql执行报错。sql' + sql + ' 报错信息:' + str(e), 'e') return str(e) # 预定房源信息 url = "http://isz.ishangzu.com/isz_customer/CustomerController/initBookAvailability.action" data = {"customer_id": customer[0]} result = interface.myRequest(url, data) if result['code'] != 0: return result['msg'] result = result["obj"] # 查询房源信息 if "-" in self.apartment_code: url = "http://isz.ishangzu.com/isz_customer/CustomerController/searchBookAvailabilityShareList.action" rent_type_search = "SHARE" else: url = "http://isz.ishangzu.com/isz_customer/CustomerController/searchBookAvailabilityEntireList.action" rent_type_search = "ENTIRE" data = { "residential_name_house_code_search": self.apartment_code, "pageNumber": 1, "pageSize": 50, "sort": "update_time", "order": "DESC", "rent_type_search": rent_type_search } results = interface.myRequest(url, data) if results['code'] != 0: return results['msg'] try: house_list = results["obj"]["rows"][0] except BaseException as e: return '查询下定房源数据为空。报错信息:' + str(e) # plan_sign_data,预计签约时间 url = "http://isz.ishangzu.com/isz_contract/ApartmentContractController/getLastApartmentContractRealDueDate.action" datas = { "house_id": house_list["house_id"], "room_id": house_list["room_id"], "object_id": house_list["apartment_id"], "object_type": house_list["object_type"], "property_address": house_list["property_address"], "rent_type": house_list["rent_type"], "object_status": house_list["rent_status"], "rent_price": house_list["rent_price"] } results = interface.myRequest(url, datas) if results['code'] != 0: return results['msg'] plan_sign_data = results["obj"]['sign_date_last'] # 下定 url = "http://isz.ishangzu.com/isz_contract/EarnestController/saveEarnest.action" data = { "earnest_money": earnest_money, "plan_sign_date": plan_sign_data, "remark": "下定备注", "customer_id": customer[0], "earnestImgList": [{ "img_id": 'FF80808163814B6E01638197EA730030' }] } data.update(result) data.update(datas) result = interface.myRequest(url, data) if result['code'] != 0: base.consoleLog('下定接口执行失败!') return result['msg'] base.consoleLog('下定接口执行成功。') return
def add_role_authority(self): """ 给角色赋所有权限 :param role_name: 角色名称 :return: 执行接口之后的返回值 """ base.consoleLog('角色赋所有权限。角色名称:' + self.role_name) try: sql = "select role_id from sys_role where role_name = '%s' limit 1" % self.role_name role_id = base.searchSQL(sql)[0][0] sql = "select res_id from sys_res" res_list = base.searchSQL(sql) except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return def reslist(): list = [] for i in range(len(res_list)): res = {} res["res_id"] = res_list[i][0] res["attributes"] = "DEPARTMENTS" list.append(res) return list url = "http://isz.ishangzu.com/isz_base/RoleController/saveResByRole.action" data = { "role_id": role_id, "flow_list": [{ "activityId": "30", "attributes": "DEPARTMENTS" }, { "activityId": "31", "attributes": "DEPARTMENTS" }, { "activityId": "32", "attributes": "DEPARTMENTS" }, { "activityId": "22", "attributes": "DEPARTMENTS" }, { "activityId": "23", "attributes": "DEPARTMENTS" }, { "activityId": "24", "attributes": "DEPARTMENTS" }, { "activityId": "25", "attributes": "DEPARTMENTS" }, { "activityId": "14", "attributes": "DEPARTMENTS" }, { "activityId": "15", "attributes": "DEPARTMENTS" }, { "activityId": "16", "attributes": "DEPARTMENTS" }, { "activityId": "17", "attributes": "DEPARTMENTS" }, { "activityId": "6", "attributes": "DEPARTMENTS" }, { "activityId": "7", "attributes": "DEPARTMENTS" }, { "activityId": "8", "attributes": "DEPARTMENTS" }, { "activityId": "9", "attributes": "DEPARTMENTS" }, { "activityId": "2", "attributes": "DEPARTMENTS" }, { "activityId": "3", "attributes": "DEPARTMENTS" }, { "activityId": "4", "attributes": "DEPARTMENTS" }, { "activityId": "5", "attributes": "DEPARTMENTS" }, { "activityId": "10", "attributes": "DEPARTMENTS" }, { "activityId": "11", "attributes": "DEPARTMENTS" }, { "activityId": "12", "attributes": "DEPARTMENTS" }, { "activityId": "13", "attributes": "DEPARTMENTS" }, { "activityId": "18", "attributes": "DEPARTMENTS" }, { "activityId": "19", "attributes": "DEPARTMENTS" }, { "activityId": "20", "attributes": "DEPARTMENTS" }, { "activityId": "21", "attributes": "DEPARTMENTS" }], "data_list": [{ "data_type": "HOUSECONTRACT", "perm_type": "DEPARTMENTS" }, { "data_type": "APARTMENTCONTRACT", "perm_type": "DEPARTMENTS" }, { "data_type": "CONTRACTRECEIVABLE", "perm_type": "DEPARTMENTS" }, { "data_type": "CONTRACTPAYABLE", "perm_type": "DEPARTMENTS" }, { "data_type": "GENERALCONTRACT", "perm_type": "DEPARTMENTS" }, { "data_type": "CUSTOMER", "perm_type": "DEPARTMENTS" }, { "data_type": "CUSTOMERPERSON", "perm_type": "DEPARTMENTS" }, { "data_type": "CUSTOMERFOLLOW", "perm_type": "DEPARTMENTS" }, { "data_type": "CUSTOMERVIEW", "perm_type": "DEPARTMENTS" }, { "data_type": "APARTMENTVIEW", "perm_type": "DEPARTMENTS" }, { "data_type": "CONTRACTRECEIVABLEFI", "perm_type": "DEPARTMENTS" }, { "data_type": "CONTRACTPAYABLEFI", "perm_type": "DEPARTMENTS" }, { "data_type": "APARTMENTCONTRACTEND", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSECONTRACTEND", "perm_type": "DEPARTMENTS" }, { "data_type": "REIMBURSEMENTEXPENSE", "perm_type": "DEPARTMENTS" }, { "data_type": "REIMBURSEMENTEXPENSEITEM", "perm_type": "DEPARTMENTS" }, { "data_type": "CONTRACTACHIEVEMENT", "perm_type": "DEPARTMENTS" }, { "data_type": "PUSHRENTRECORD", "perm_type": "DEPARTMENTS" }, { "data_type": "APARTMENTACHIEVEMENT", "perm_type": "DEPARTMENTS" }, { "data_type": "EARNEST", "perm_type": "DEPARTMENTS" }, { "data_type": "EARNESTBREACH", "perm_type": "DEPARTMENTS" }, { "data_type": "APARTMENTCONTRACTENDLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "MANAGESHARE", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSECONTRACTENDLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "GENERALCONTRACTRECEIVABLE", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSEPRICEMEASURE", "perm_type": "DEPARTMENTS" }, { "data_type": "REPAIRORDER", "perm_type": "DEPARTMENTS" }, { "data_type": "VACANCYACHIEVEMENTLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "BREACHACHIEVEMENTLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "BACKACHIEVEMENTLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "INSTALLMENTREPAYPLANS", "perm_type": "DEPARTMENTS" }, { "data_type": "REPAYLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "OVDLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "LENDLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "INSTREPAYLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "CLEANINGORDER", "perm_type": "DEPARTMENTS" }, { "data_type": "DEDUCTIONEXPENSELIST", "perm_type": "DEPARTMENTS" }, { "data_type": "DEVELOPHOUSE", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSERESOURCE", "perm_type": "DEPARTMENTS" }, { "data_type": "VALIDHOUSE", "perm_type": "DEPARTMENTS" }, { "data_type": "TRUSTEESHIPHOUSE", "perm_type": "DEPARTMENTS" }, { "data_type": "DCOVERDUERECEIVABLELIST", "perm_type": "DEPARTMENTS" }, { "data_type": "LOANSTATUSLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "LOCKLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "DCFINANCIALSTAGINGLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSESUBJECTACTIVITYLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "COMPLAINORDER", "perm_type": "DEPARTMENTS" }, { "data_type": "ONLINEHOUSELIST", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSEDEVELOPLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSESTATUSCHANGELIST", "perm_type": "DEPARTMENTS" }, { "data_type": "EXPLORATIONHOUSELIST", "perm_type": "DEPARTMENTS" }, { "data_type": "APARTMENTFOLLOWLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "HOUSEFOLLOWLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "LOCKHOUSEINSTALLED", "perm_type": "DEPARTMENTS" }, { "data_type": "SYSTEMUSERLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "PROPERTYDELIVERYLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "CONTRACTAPPLICATIONORDER", "perm_type": "DEPARTMENTS" }, { "data_type": "WORKORDERLIST", "perm_type": "DEPARTMENTS" }, { "data_type": "CALLLOGINDEX", "perm_type": "DEPARTMENTS" }, { "data_type": "WORKORDERINDEX", "perm_type": "DEPARTMENTS" }] } data["res_list"] = reslist() interface.myRequest(url, data) base.consoleLog('角色添加所有权限接口执行完成。') return
def add_house_delelop(self, value=True): """ 新增并审核开发自营房源 :return: """ base.consoleLog('新增并审核开发自营房源。') null = None # 查询楼盘所有房间id try: sql = """SELECT house_no_id FROM residential_building_house_no WHERE floor_id IN ( SELECT floor_id FROM residential_building_floor WHERE unit_id IN ( SELECT unit_id FROM residential_building_unit WHERE building_id IN ( SELECT building_id FROM residential_building WHERE residential_id IN ( SELECT residential_id FROM residential WHERE residential_name = "%s" ) ) ) ) and used = 'N';""" % self.residential_name new_house_no_id_list = base.searchSQL(sql) except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) try: sql = "select residential_id from residential where residential_name = '%s' and deleted = 0" % self.residential_name residential_id = base.searchSQL(sql)[0][0] except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) house_no_id_list = [] for i in range(len(new_house_no_id_list)): house_no_id_list.append(new_house_no_id_list[i][0]) # 查询楼盘信息 residential = residentialRequest.ResidentialInfo( residential_id).select_residential_detail_request() area_code = residential["area_code"] area_name = residential["area_name"] city_code = residential["city_code"] city_name = residential["city_name"] residential_id = residential["residential_id"] byname = residential["byname"] business_circle_name = residential["taBusinessCircleList"][0][ "business_circle_name"] business_circle_id = residential["taBusinessCircleList"][0][ "business_circle_id"] address = residential["address"] #新增审核房源 for i in range(int(self.room_number)): #新增房源 url = "http://isz.ishangzu.com/isz_house/HouseController/saveHouseDevelop.action" try: sql = """SELECT building_id, unit_id, floor_id, house_no, rooms, livings, kitchens, bathrooms, balconys FROM residential_building_house_no WHERE house_no_id = '%s' """ % house_no_id_list[i] data_list = base.searchSQL(sql)[0] sql = "select building_name from residential_building where building_id = '%s'" % data_list[ 0] building_name = base.searchSQL(sql)[0][0] sql = "select unit_name from residential_building_unit where unit_id = '%s'" % data_list[ 1] unit_name = base.searchSQL(sql)[0][0] sql = "select floor_name from residential_building_floor where floor_id = '%s'" % data_list[ 2] floor_name = base.searchSQL(sql)[0][0] except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) data = { "residential_name_search": residential_id, "building_name_search": data_list[0], "unit_search": data_list[1], "house_no_search": house_no_id_list[i], "residential_name": self.residential_name + "(" + byname + ")", "building_name": building_name, "unit": unit_name, "floor": floor_name, "house_no": data_list[3], "residential_address": city_name + " " + area_name + " " + business_circle_name + " " + address, "city_code": city_code, "area_code": area_code, "business_circle_id": business_circle_id, "contact": "联系人", "did": base.get_conf("loginUser", "dep_id"), "uid": base.get_conf("loginUser", "user_id"), "house_status": "WAITING_RENT", "category": "NOLIMIT", "source": self.source, "rental_price": "5000.00", "rooms": data_list[4], "livings": data_list[5], "kitchens": data_list[6], "bathrooms": data_list[7], "balconys": data_list[8], "build_area": "100", "orientation": "NORTH", "property_type": "HIGH_LIFE", "property_use": "HOUSE", "fitment_type": "FITMENT_ROUGH", "remark": "备注", "look_type": "DIRECTION", "residential_id": residential_id, "building_id": data_list[0], "unit_id": data_list[1], "floor_id": data_list[2], "house_no_id": house_no_id_list[i], "business_circle_name": business_circle_name, "contact_tel": base.get_conf('loginUser', 'user') } base.consoleLog('新增房源。物业地址:' + self.residential_name + building_name + unit_name + floor_name + data_list[3]) result = NewRequest(url, data).post() if result['code'] != 0: base.consoleLog('新增房源接口提交失败!房源信息:' + self.residential_name + building_name + unit_name + floor_name + data_list[3]) #审核房源 url = "http://erp.ishangzu.com/isz_house/HouseController/selectHouseDevelopDetail.action" try: sql = "select house_develop_id from house_develop where residential_name like '%s' ORDER BY create_time desc limit 1" % ( self.residential_name + "%") house_develop_id = base.searchSQL(sql) except BaseException as e: base.consoleLog('查询SQL报错。sql:' + sql + ' 报错信息:' + str(e), 'e') return str(e) #获取房源信息 data = {"house_develop_id": house_develop_id[0][0]} house_develop = NewRequest(url, data).post() if house_develop['code'] != 0: base.consoleLog('获取房源信息失败。信息:' + self.residential_name + building_name + unit_name + floor_name + data_list[3]) house_develop = house_develop["obj"] balconys = house_develop["balconys"] bathrooms = house_develop["bathrooms"] build_area = house_develop["build_area"] building_id = house_develop["building_id"] building_name = house_develop["building_name"] floor_id = house_develop["floor_id"] floor = house_develop["floor"] house_no = house_develop["house_no"] house_no_id = house_develop["house_no_id"] kitchens = house_develop["kitchens"] livings = house_develop["livings"] residential_dep_id = house_develop["residential_dep_id"] residential_id = house_develop["residential_id"] residential_names = house_develop["residential_name"] unit = house_develop["unit"] unit_id = house_develop["unit_id"] update_time = house_develop["update_time"] url = "http://erp.ishangzu.com/isz_house/HouseController/auditHouseDevelop.action" data = { "area_code": area_code, "audit_content": "Agree", "audit_status": "PASS", "balconys": balconys, "bathrooms": bathrooms, "build_area": build_area, "building_id": building_id, "building_name": building_name, "building_name_search": building_id, "category": "NOLIMIT", "city_code": city_code, "fitment_type": "FITMENT_ROUGH", "floor": floor, "floor_id": floor_id, "houseRent": { "category": "NOLIMIT", "house_status": "WAITING_RENT", "look_date": null, "look_type": "DIRECTION", "rental_price": 5000, "source": self.source }, "house_develop_id": house_develop_id[0][0], "house_no": house_no, "house_no_id": house_no_id, "house_no_search": house_no_id, "house_no_suffix": null, "house_status": "WAITING_RENT", "kitchens": kitchens, "livings": livings, "look_date": null, "look_type": "DIRECTION", "orientation": "NORTH", "property_use": "HOUSE", "property_type": "HIGH_LIFE", "rental_price": 5000, "residential_address": city_name + " " + area_name + " " + business_circle_name + " " + address, "residential_department_did": residential_dep_id, "residential_id": residential_id, "residential_name": residential_names, "residential_name_search": residential_id, "remark": "test", "rooms": 1, "source": "MIDDLEMEN", "unit": unit, "unit_id": unit_id, "unit_search": unit_id, "update_time": update_time } base.consoleLog('审核房源。物业地址:' + self.residential_name + building_name + unit_name + floor_name + house_no) if value: result = NewRequest(url, data).post() if result['code'] != 0: base.consoleLog('审核房源接口执行失败!信息:' + self.residential_name + building_name + unit_name + floor_name + data_list[3]) return
def serach_issue_info(self): """ 同一个出租合同下所有出单业绩列表的详情字段 :return: """ base.consoleLog('出单业绩详情。合同号:' + self.contract_num) sql = "SELECT achievement_issue_id from achievement_issue where apartment_contract_id = '%s' and deleted=0" % self.contract_id achievement_issue_id = base.searchSQL(sql) # 同一个出租合同所有出单业绩详情 achievement_issue_info_list = [] url_ = 'http://erp.ishangzu.com/isz_achievement/issueAchieve/details/' for i in range(len(achievement_issue_id)): achievement_issue_info_list.append( interface.myRequest(url_ + str(achievement_issue_id[i][0]), method='get')['obj']) base.consoleLog('出单业绩详情查询接口执行完成!') # 每一条出单业绩对应的出租合同信息 apartment_contract_info = [] for i in range(len(achievement_issue_info_list)): data = {} data["合同提交日"] = achievement_issue_info_list[i]["apartment_contract_commit_date"] data["合同号"] = achievement_issue_info_list[i]["apartment_contract_num"] data["出租周期"] = achievement_issue_info_list[i]["apartment_rental_cycles"] data["核算周期"] = achievement_issue_info_list[i]["apartment_accounting_cycles"] data["月租金"] = achievement_issue_info_list[i]["apartment_rent_month"] data["付款方式"] = achievement_issue_info_list[i]["apartment_payment_type_cn"] data["付款周期"] = achievement_issue_info_list[i]["apartment_payment_cycle_cn"] data["承租类别"] = achievement_issue_info_list[i]["apartment_contract_type_cn"] data["客源方"] = achievement_issue_info_list[i]["apartment_customer_source_uname"] data["客源方部门"] = achievement_issue_info_list[i]["apartment_customer_source_dname"] apartment_contract_info.append(data) # 每一条出单业绩对应的委托合同信息 house_contract_info = [] for i in range(len(achievement_issue_info_list)): data = {} house_contract_num = [] house_rent_times_cn = [] house_rent_month_total = [] house_decoration_cycles = [] house_source_cn = [] house_apartment_type_cn = [] house_entrust_type_cn = [] house_contract_type_cn = [] house_source_us_uname = [] house_source_us_dname = [] for j in range(len(achievement_issue_info_list[i]['houseContractRelations'])): house_contract_num.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_contract_num']) house_rent_times_cn.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_rent_times_cn']) house_rent_month_total.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_rent_month_total']) house_decoration_cycles.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_decoration_cycles']) house_source_cn.append(achievement_issue_info_list[i]['houseContractRelations'][j]['house_source_cn']) house_apartment_type_cn.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_apartment_type_cn']) house_entrust_type_cn.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_entrust_type_cn']) house_contract_type_cn.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_contract_type_cn']) house_source_us_uname.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_source_us_uname']) house_source_us_dname.append( achievement_issue_info_list[i]['houseContractRelations'][j]['house_source_us_dname']) data["合同号"] = house_contract_num data["出租次数"] = house_rent_times_cn data["月总租金"] = house_rent_month_total data["核算装修期"] = house_decoration_cycles data["房屋来源"] = house_source_cn data["公寓类型"] = house_apartment_type_cn data["合同类型"] = house_entrust_type_cn data["委托类型"] = house_contract_type_cn data['房源方'] = house_source_us_uname data['房源方部门'] = house_source_us_dname house_contract_info.append(data) # 每一条出单的利润业绩 profit_info = [] for i in range(len(achievement_issue_info_list)): data = {} data["月租金成本"] = achievement_issue_info_list[i]["profit_rent_month"] data["月装修成本"] = achievement_issue_info_list[i]["profit_decoration_month"] data["月资金成本"] = achievement_issue_info_list[i]["profit_capital_month"] data["月渠道成本"] = achievement_issue_info_list[i]["profit_channel_month"] data["出租总价"] = achievement_issue_info_list[i]["profit_rent_total"] data["收房总价"] = achievement_issue_info_list[i]["profit_inhouse_total"] data["装修总价"] = achievement_issue_info_list[i]["profit_decoration_total"] data["成本总价"] = achievement_issue_info_list[i]["profit_cost_total"] data["差价业绩"] = achievement_issue_info_list[i]["profit_diff"] profit_info.append(data) # 每一条出单的核算业绩 adjust_info = [] for i in range(len(achievement_issue_info_list)): data = {} data["核算免租期"] = achievement_issue_info_list[i]["adjust_free_days"] data["委托年限"] = achievement_issue_info_list[i]["adjust_house_year"] data["委托年限加成"] = achievement_issue_info_list[i]["adjust_house_year_add"] data["委托付款周期"] = achievement_issue_info_list[i]["adjust_pay_cycle"] data["付款周期加成"] = achievement_issue_info_list[i]["adjust_pay_cycle_add"] data["业绩核算系数"] = achievement_issue_info_list[i]["adjust_ratio_percent"] data["核算业绩"] = achievement_issue_info_list[i]["adjust_achievement"] adjust_info.append(data) # 每一条出单业绩对应的业绩分成信息 divides_info = [] for i in range(len(achievement_issue_info_list)): data = {} create_time = [] divide_type_cn = [] divide_dname = [] divide_uname = [] divide_post = [] up_level_store_manager_name = [] up_level_dist_manager_name = [] accounting_time = [] divided_money = [] for j in range(len(achievement_issue_info_list[i]['divides'])): create_time.append(achievement_issue_info_list[i]['divides'][j]['create_time']) divide_type_cn.append(achievement_issue_info_list[i]['divides'][j]['divide_type_cn']) divide_dname.append(achievement_issue_info_list[i]['divides'][j]['divide_dname']) divide_post.append(achievement_issue_info_list[i]['divides'][j]['divide_post']) divide_uname.append(achievement_issue_info_list[i]['divides'][j]['divide_uname']) up_level_store_manager_name.append( achievement_issue_info_list[i]['divides'][j]['up_level_store_manager_name']) up_level_dist_manager_name.append( achievement_issue_info_list[i]['divides'][j]['up_level_dist_manager_name']) accounting_time.append(achievement_issue_info_list[i]['divides'][j]['accounting_month']) divided_money.append(achievement_issue_info_list[i]['divides'][j]['divided_money']) data["创建日期"] = create_time data["分成方"] = divide_type_cn data["部门"] = divide_dname data["员工"] = divide_uname data["岗位"] = divide_post data["上级店经理"] = up_level_store_manager_name data["上级区经理"] = up_level_dist_manager_name data['业绩金额'] = divided_money data["核发月份"] = accounting_time divides_info.append(data) issue_info = {} issue_info['出租合同信息'] = apartment_contract_info issue_info['委托合同信息'] = house_contract_info issue_info['利润业绩'] = profit_info issue_info['核算业绩'] = adjust_info issue_info['业绩分成'] = divides_info base.consoleLog('出单业绩详情返回值:' + str(issue_info)) return issue_info
def apartment_contract_collecting_money(self, value=True): """ 出租合同首期款全部收钱 :param contract_num: :param value:如果为真,收齐,否则收一种 :return: """ base.consoleLog('出租合同收首期款。出租合同号:' + self.contract_num) 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) try: sql = """SELECT receivable_id,receivable_money FROM apartment_contract_receivable WHERE money_type IN ( "FRIST_RENT", "FIRST_MANAGE_SERVER_FEE", "DEPOSIT" ) AND contract_id = '%s' and end_status = 'NOTGET'""" % contract_id receivable_id_tuple = base.searchSQL(sql) except Exception as e: base.consoleLog("查询出租合同sql报错,sql:" + sql + "错误返回" + str(e), 'e') return str(e) if receivable_id_tuple == (): base.consoleLog("该出租合同首期款都是已收状态") return u"该出租合同首期款都是已收状态" #收首期款 url = "http://isz.ishangzu.com/isz_finance/ApartmentContractReceiptsController/saveOrUpdateNewReceipts.action" for i in range(len(receivable_id_tuple)): if value: data = { "receipts_date": base.now_time(), "company": "ISZTECH", "bank_name": "ABC", "bank_card_last_four": "3714", "operation_total": float(receivable_id_tuple[i][1]), "remark": "出租合同实收", "receipts_money": float(receivable_id_tuple[i][1]), "receivable_id": receivable_id_tuple[i][0], "contract_id": contract_id, "receipts_type": "BANKTRANSFER" } result = interface.myRequest(url, data) if result['code'] != 0: base.consoleLog('出租合同所有首期款支付接口执行失败!') return result['msg'] else: if i == 0: pass else: data = { "receipts_date": base.now_time(), "company": "ISZTECH", "bank_name": "ABC", "bank_card_last_four": "3714", "operation_total": int(receivable_id_tuple[i][1]), "remark": "出租合同实收", "receipts_money": int(receivable_id_tuple[i][1]), "receivable_id": receivable_id_tuple[i][0], "contract_id": contract_id, "receipts_type": "BANKTRANSFER" } result = interface.myRequest(url, data) if result['code'] != 0: base.consoleLog('出租合同所有首期款支付接口执行失败!') return result['msg'] base.consoleLog('出租合同收齐首期款接口执行成功!') return
def config_list(self): """ 物品清单提交及验证 :return: """ base.consoleLog('物品清单提交及验证') #查找房间 url = 'http://decorate.ishangzu.com/isz_decoration/NewConfigurationController/queryZone/%s' % self.project_id result = interface.myRequest(url, method='get') if result['code'] != 0: return result['msg'] result = result['obj'] zoneId = None for i in result: if i['function_zone'] == u'甲': zoneId = i['zone_id'] #添加物品 url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationConfigController/confirm' data = [{ "acceptance_num": None, "acceptance_num_this": None, "brand_id": None, "brand_name": "爱上租定制", "category_flag": None, "category_one_id": None, "category_one_len": None, "category_one_nm": "家具", "category_two_id": None, "category_two_nm": "书桌", "config_list_id": None, "config_list_status": None, "config_list_status_name": None, "create_name": None, "create_time": None, "create_uid": None, "deleted": None, "flag": None, "function_zone": "甲", "function_zone_len": None, "new_replenish_id": None, "order_type": None, "predict_delivery_date": None, "project_id": self.project_id, "purchase_num": "10", "purchase_order_no": None, "real_delivery_time": None, "remark": None, "remark_accept": None, "remark_return": None, "replacement_order": None, "return_num": None, "return_num_this": None, "standard_id": None, "standard_name": "0.86M(3.0)", "submit_time": None, "supplier_id": "8A2152435CF3FFF3015D0C64330F0011", "supplier_name": "浙江品至家具有限公司", "total_account": None, "total_paid": 3100, "unit_id": None, "unit_name": "张", "unit_price": 310, "update_time": None, "update_uid": None, "zone_id": zoneId, "index": 0, "disabled": "true"}] result = interface.myRequest(url,data) if result['code'] != 0: return result['msg'] #提交订单 url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationConfigController/submitOrder' data = [{ "predict_delivery_date": '%s 13:00:00' % self.now_times, "project_id": self.project_id, "supplier_id": "8A2152435CF3FFF3015D0C64330F0011", "supplier_name": "家具供应商:浙江品至家具有限公司" }] result = interface.myRequest(url, data) if result['code'] != 0: return result['msg'] #验收物品清单 url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationConfigController/supplierOrdersDetail' sql = "select supplier_id from new_config_list where project_id='%s' and deleted=0 and config_list_status<>'CHECKED'" % self.project_id supplier_id = base.searchSQL(sql,db='isz_decoration')[0][0] data = {"project_id": self.project_id, "supplier_id": supplier_id} result = interface.myRequest(url, data) if result['code'] != 0: return result['msg'] result = result['obj'] url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationConfigController/acceptance/confirm' for i in result: i['real_delivery_time'] = base.time_time('second') results = interface.myRequest(url, result) if results['code'] != 0: base.consoleLog('配置清单接口执行失败!') return results['msg'] base.consoleLog('配置清单接口执行成功!') return
def project_plan(self): """ 项目计划 :return: """ base.consoleLog('项目计划') sql = """SELECT b.info_id, a.project_no, b.entrust_type, b.build_area FROM new_decoration_project a INNER JOIN decoration_house_info b ON a.info_id = b.info_id AND a.project_id = '%s' WHERE b.deleted = 0 """ % self.project_id projectInfo = base.searchSQL(sql,db='isz_decoration')[0] idCardPhotos = interface.upLoadPhoto(self.url, base.get_conf('Img', 'picture_name'), base.get_conf('Img', 'file_path'), value='rsm') url = 'http://decorate.ishangzu.com/isz_decoration/decoHouseInfoController/saveOrUpdateApartment/saveApartment/projectOrder' data = { 'build_area': str(projectInfo[3]), 'reform_way_fact': 'OLDRESTYLE', 'decoration_style': 'WUSHE_BREEZE', 'house_orientation': 'SOURTH', 'remould_rooms': 3, 'remould_livings': '1', 'remould_kitchens': '1', 'remould_bathrooms': '2', 'remould_balconys': '2', 'info_id': projectInfo[0], 'module_type': 'projectOrder', 'handle_type': 'updateApartment', "layout_attachs": { "attach_type": "LAYOUT", "imgs": [{ "url": idCardPhotos['src'], "img_id": idCardPhotos['img_id'], "create_name": "", "create_dept": "", "create_time": "", "sort": 0, "type": "" }] }, 'zoneList': [ { "zone_type": "PUBLIC_TOILET", "zone_type_name": "公共卫生间", "room_no": "PUBLIC_TOILET_1", "room_no_name": "公共卫生间1", "zone_orientation": "NORTH", "zone_orientation_name": "北", "have_toilet": "WITHOUT", "have_toilet_name": "-", "toilet_area": "0", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(1平米)", "window_area": "1", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "4", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" }, { "zone_type": "KITCHEN", "zone_type_name": "厨房", "room_no": "KITCHEN_1", "room_no_name": "厨房", "zone_orientation": "EAST", "zone_orientation_name": "东", "have_toilet": "WITHOUT", "have_toilet_name": "-", "toilet_area": "0", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(1平米)", "window_area": "1", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "8", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" }, { "zone_type": "PARLOUR", "zone_type_name": "客厅", "room_no": "PARLOUR_1", "room_no_name": "客厅1", "zone_orientation": "EAST", "zone_orientation_name": "东", "have_toilet": "WITHOUT", "have_toilet_name": "-", "toilet_area": "0", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(1平米)", "window_area": "1", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "16", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" }, { "zone_type": "ROOM", "zone_type_name": "房间", "room_no": "METH", "room_no_name": "甲", "zone_orientation": "SOURTH", "zone_orientation_name": "南", "have_toilet": "HAVE", "have_toilet_name": "有(4平米)", "toilet_area": "4", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(1平米)", "window_area": "1", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "11", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" }, { "zone_type": "ROOM", "zone_type_name": "房间", "room_no": "ETH", "room_no_name": "乙", "zone_orientation": "SOURTH", "zone_orientation_name": "南", "have_toilet": "WITHOUT", "have_toilet_name": "-", "toilet_area": "0", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(1平米)", "window_area": "1", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "12", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" }, { "zone_type": "ROOM", "zone_type_name": "房间", "room_no": "PROP", "room_no_name": "丙", "zone_orientation": "SOURTH", "zone_orientation_name": "南", "have_toilet": "WITHOUT", "have_toilet_name": "-", "toilet_area": "0", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(1平米)", "window_area": "1", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "13", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" }, { "zone_type": "BALCONY", "zone_type_name": "阳台", "room_no": "BALCONY_1", "room_no_name": "阳台1", "zone_orientation": "SOURTH", "zone_orientation_name": "南", "have_toilet": "WITHOUT", "have_toilet_name": "-", "toilet_area": "0", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(0平米)", "window_area": "0", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "2", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" }, { "zone_type": "BALCONY", "zone_type_name": "阳台", "room_no": "BALCONY_2", "room_no_name": "阳台2", "zone_orientation": "SOURTH", "zone_orientation_name": "南", "have_toilet": "WITHOUT", "have_toilet_name": "-", "toilet_area": "0", "have_balcony": "WITHOUT", "have_balcony_name": "-", "balcony_area": "0", "have_window_name": "有(1平米)", "window_area": "1", "zone_status_name": "已创建", "zone_status": "FOUND", "usearea": "3", "window_type": "ORDINARYWINDOW", "zone_id": "", "is_fictitious_room": "N" } ], 'project_id': self.project_id, 'project_no': projectInfo[1], 'entrust_type': projectInfo[2] } result = interface.myRequest(url, data) if result['code'] != 0: base.consoleLog('项目计划接口执行失败!') return result['msg'] base.consoleLog('项目计划接口执行成功!') return