예제 #1
0
    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
예제 #2
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
예제 #3
0
    def dispach(self):
        """
        派单
        :return:
        """
        base.consoleLog('派单')
        # 装配专员
        url = "http://decorate.ishangzu.com/isz_decoration/AssembleAreaController/searchAssemblyPerson"
        data = {"city_code": "330100"}
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            return result['msg']
        result = result["obj"][0]

        construct_uname = result["user_name"]
        construct_uid = result["user_id"]

        # 供应商
        # url = "http://decorate.ishangzu.com/isz_decoration/DecorationProjectController/suppliers?city_code=330100&supplier_type=STUFF"
        # result = interface.myRequest(url, method="get")
        # if result['code'] != 0:
        #     return result['msg']
        # result = result["obj"][0]
        # supplier_name = result["item_name"]
        # supplier_id = result["item_id"]

        supplier_name = "测试专用硬装供应商"
        supplier_id = "8A2152435FBAEFC3015FBAEFC3000000"

        # 工长
        url = "http://decorate.ishangzu.com/isz_decoration/DecorationProjectController/supplier/" + supplier_id + "/persons?supplier_person_type=MANAGER&supplier_id=" + supplier_id
        result = interface.myRequest(url, method="get")
        if result['code'] != 0:
            return result['msg']
        result = result["obj"][0]
        supplier_uname = result["item_name"]
        supplier_uid = result["item_id"]

        # 派单
        url = "http://decorate.ishangzu.com/isz_decoration/NewDecorationProjectController/changeProgress/dispatchOrder"
        data = {
            "construct_uid": construct_uid,
            "construct_uname": construct_uname,
            "dispach_remark": "派单备注",
            "project_id": self.project_id,
            "supplier_id": supplier_id,
            "supplier_uid": supplier_uid,
            "predict_survey_date": "",
            "supplier_name": supplier_name,
            "supplier_uname": supplier_uname}
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog('派单接口执行失败!')
            return result['msg']
        base.consoleLog('派单接口执行成功!')
        return
예제 #4
0
    def confirmation_down_payment(self, breach_money="2000"):
        """
        违约
        :param breach_money: 违约金额
        :return:
        """
        base.consoleLog('下定违约。房源编号:' + self.apartment_code + ' 违约金额:' +
                        breach_money)

        # 查询定金编号id
        url = "http://isz.ishangzu.com/isz_contract/EarnestController/searchEarnestList.action"
        data = {
            "residential_name_object_code_search": self.apartment_code,
            "pageNumber": 1,
            "pageSize": 50,
            "sort": "create_time",
            "order": "DESC",
            "current_dep_id": "00000000000000000000000000000000"
        }
        result = interface.myRequest(url, data)["obj"]["rows"][0]
        earnest_id = result["earnest_id"]

        # 确认定金
        url = "http://isz.ishangzu.com/isz_contract/EarnestController/confirmEarnest.action"
        data = {
            "receipt_date": base.now_time(),
            "earnest_id": earnest_id,
            "earnest_money": result["earnest_money"],
            "payment_way": "BANKTRANSFER",
            "receipt_name": "收据姓名",
            "company": "ISZTECH"
        }
        results = interface.myRequest(url, data)
        if results['code'] != 0:
            return results['msg']

        # 违约
        url = "http://isz.ishangzu.com/isz_contract/EarnestController/saveEarnestBreach.action"
        data = {
            "breach_reason": "auto违约原因",
            "breach_money": breach_money,
            "earnest_id": earnest_id,
            "earnest_money": result["earnest_money"]
        }

        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog('下定违约接口执行失败!')
            return result['msg']
        base.consoleLog('下定违约接口执行成功!')
        return
예제 #5
0
    def place_order(self):
        """
        下单
        :return:
        """
        base.consoleLog('下单')

        url = "http://decorate.ishangzu.com/isz_decoration/NewDecorationProjectController/changeProgress/placeOrder"
        place_order_date = self.now_times + " 10:09:54"
        predict_survey_date = self.now_times + " 11:00"
        data = {
            "place_order_dep": "8A2152435E2E34E5015E30F811BB2653", # 下单部门id 测试专用店。
            "place_order_reason": "测试下单原因",
            "place_order_uid": "1444",
            "place_order_uname": "测试专用 勿改",
            "place_order_date": place_order_date,
            "predict_survey_date": predict_survey_date,
            "project_id": self.project_id}

        #下单
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog('下单接口执行失败!')
            return result['msg']
        base.consoleLog('下单接口执行成功!')
        return
예제 #6
0
    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
예제 #7
0
 def max_date(self):
     """获取房源最大签约日期"""
     url = '/isz_contract/ApartmentContractController/getApartmentContractSignDate.action'
     requestPayload = {"apartment_id": self.apartment_id}
     result = myRequest(url, requestPayload)
     if result:
         return result['obj']['max_date']
예제 #8
0
    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
예제 #9
0
 def water_closed_test(self):
     """
     闭水试验
     :return:
     """
     base.consoleLog('闭水试验')
     url = "http://decorate.ishangzu.com/isz_decoration/NewDecorationProjectController/survey/closed"
     idCardPhotos = interface.upLoadPhoto(self.url, base.get_conf('Img', 'picture_name'),
                                          base.get_conf('Img', 'file_path'),value='rsm')
     data = {
         "remark": "闭水试验备注",
         "attachments": [{
             "attach_type": "SCENE",
             "imgs": [{
                 "url": idCardPhotos["src"],
                 "img_id": idCardPhotos["img_id"],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 0,
                 "type": ""
             }]
         }],
         "project_id": self.project_id,
         "closed_water_test_result": "Y",
         "is_need_waterproofing": "N"}
     result = interface.myRequest(url, data)
     if result['code'] != 0:
         base.consoleLog('闭水试验接口执行失败!')
         return result['msg']
     base.consoleLog('闭水试验接口执行成功!')
     return
예제 #10
0
 def rceipt(self):
     """
     接单
     :return:
     """
     base.consoleLog('接单')
     url = "http://decorate.ishangzu.com/isz_decoration/NewDecorationProjectController/changeProgress/acceptOrder"
     data = {"project_id": self.project_id}
     result = interface.myRequest(url, data)
     if result['code'] != 0:
         base.consoleLog('接单接口执行失败!')
         return result['msg']
     base.consoleLog('接单接口执行成功!')
     return
예제 #11
0
    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
예제 #12
0
 def cost_settlement(self):
     """
     费用结算
     :return:
     """
     base.consoleLog('费用结算')
     url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationProjectController/proCheck/costsettle'
     data = {
         "project_id": self.project_id,
         "remark": ""
     }
     result = interface.myRequest(url, data)
     if result['code'] != 0:
         base.consoleLog('费用结算提交接口执行失败!')
         return result['msg']
     base.consoleLog('费用结算提交接口执行成功!')
     return
예제 #13
0
    def property_acceptance(self):
        """
        物业交割验收
        :return:
        """
        base.consoleLog('物业交割验收')

        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/NewDecorationProjectController/proCheck/profee'
        data = {
            "air_switch": "",
            "door_card": "",
            "door_key": "",
            "electricity_card": "",
            "electricity_meter_num": "",
            "electricity_meter_remain": "",
            "gas_card": "",
            "gas_meter_num": "",
            "gas_meter_remain": "",
            "project_id": self.project_id,
            "water_card": "",
            "water_card_remain": "",
            "water_meter_num": "",
            "attachments": [{
                "attach_type": "PROPERTY_DELIVERY_ORDER",
                "imgs": [{
                    "url": idCardPhotos['src'],
                    "img_id": idCardPhotos['img_id'],
                    "create_name": "",
                    "create_dept": "",
                    "create_time": "",
                    "sort": 0,
                    "type": ""
                }]
            }],
            "resource": "PROJECT_CHECK"
        }
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog('物业交割确认接口执行失败!')
            return result['msg']
        base.consoleLog('物业交割确认接口执行成功!')
        return
예제 #14
0
 def delivery(self):
     """
     竣工交付
     :return:
     """
     base.consoleLog('竣工交付')
     url = 'http://decorate.ishangzu.com/isz_decoration/NewDecorationProjectController/proComp/delivery'
     data = {
         "deliver_room_date": '%s 18:00:00' % self.now_times,
         "project_id": self.project_id,
         "remark": ""
     }
     result = interface.myRequest(url, data)
     if result['code'] != 0:
         base.consoleLog('竣工交付接口执行失败!')
         return result['msg']
     base.consoleLog('竣工交付接口执行成功!')
     return
예제 #15
0
    def add_customer(self):
        """
        新增租客
        :return:
        """
        base.consoleLog('新增租客,手机号码:' + self.phone)

        rent_date = str(time.strftime('%Y-%m-%d', time.localtime(time.time())))
        url = "http://isz.ishangzu.com/isz_customer/CustomerController/saveCustomer.action"
        data = {
            "customer_name": "crazytest",
            "phone": self.phone,
            "customer_status": "EFFECTIVE",
            "email": "*****@*****.**",
            "belong_did": base.get_conf("loginUser", "dep_id"),
            "belong_uid": base.get_conf("loginUser", "user_id"),
            "customer_from": "GANJICOM",
            "rent_class": "NOCLASS",
            "rent_type": "GATHERHOUSE",
            "rent_use": "RESIDENCE",
            "rent_fitment": "FITMENT_SIMPLE",
            "city_code": "330100",
            "rent_area_code": "330102",
            "rent_business_circle_ids": "35",
            "rent_rooms": "1",
            "rent_livings": "1",
            "rent_bathrooms": "1",
            "rent_from_price": "0.00",
            "rent_to_price": "6000.00",
            "rent_date": rent_date,
            "rent_people": "1",
            "area": "40",
            "gender": "MALE",
            "marriage": "UNMARRIED",
            "submit_channels": "ERP"
        }

        #新增租客
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog('新增租客接口执行失败!')
            return result['msg']
        base.consoleLog('新增租客接口执行成功!')
        return
예제 #16
0
 def volume_room(self):
     """
     量房评分
     :return:
     """
     base.consoleLog('量房评分')
     url = "http://decorate.ishangzu.com/isz_decoration/NewDecorationProjectController/survey/score"
     idCardPhotos = interface.upLoadPhoto(self.url, base.get_conf('Img', 'picture_name'),
                                          base.get_conf('Img', 'file_path'),value='rsm')
     data = {
         "grade": "3",
         "project_id": self.project_id,
         "reform_way_fact": "REFORM",
         "score_remark": "",
         "attachments": [{
             "attach_type": "TOILET",
             "imgs": []
         }, {
             "attach_type": "KITCHEN",
             "imgs": []
         }, {
             "attach_type": "LIVING_ROOM",
             "imgs": []
         }, {
             "attach_type": "ROOM",
             "imgs": []
         }, {
             "attach_type": "OTHER",
             "imgs": [{
                 "url": idCardPhotos['src'],
                 "img_id": idCardPhotos["img_id"],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 0,
                 "type": "OTHER"
             }]
         }]}
     result = interface.myRequest(url, data)
     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
예제 #18
0
 def ES_apartment_contract(self):
     """
     ES出租合同列表数据更新
     :param number:
     :return:
     """
     base.consoleLog('ES出租合同列表数据更新。刷新起始日:' + base.now_time(self.number) +
                     " 00:00:01")
     url = "http://isz.ishangzu.com/isz_base/EsController/update.action"
     data = {
         "time": base.now_time(self.number) + " 00:00:01",
         "index": "apartment_contract_type"
     }
     result = interface.myRequest(url, str(data))
     if result['code'] == 0:
         base.consoleLog("出租合同列表ES数据查询成功!")
         return
     else:
         base.consoleLog("出租合同列表ES数据查询不成功,结果返回:" + str(result))
         return "出租合同列表ES数据查询不成功,结果返回:" + str(result)
    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
예제 #20
0
    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
예제 #21
0
    def serach_apartment_cose_detail(self):
        """
        查询自营房源成本
        :return:
        """
        base.consoleLog('查询自营房源成本。房源编号,ID:' + self.apartment_code + ' , ' + self.apartment_id)

        url = 'http://erp.ishangzu.com/isz_house/ApartmentController/selectApartmentDetail.action'
        data = {"apartment_id": self.apartment_id}
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog('查询自营房源成本接口执行失败!')
            return result['msg']
        result = result['obj']
        info = {}
        info['装修成本'] = float(result['fitment_cost'])
        info['资金成本'] = float(result['capital_cost'])
        info['租金成本'] = float(result['entrust_cost'])
        info['渠道成本'] = float(result['channel_cost'])
        info['物业能耗'] = float(result['propertyAndEnergyFee'])
        info['总成本'] = float(result['apartment_cost'])

        base.consoleLog('查询自营房源成本接口执行成功!')
        return info
예제 #22
0
 def concealment_acceptance(self):
     """
     隐蔽验收
     :return:
     """
     base.consoleLog('隐蔽验收')
     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/NewDecorationProjectController/constructing/hideCheck'
     data = {
         "air_switch": None,
         "attachments": [{
             "attach_type": "TOILET",
             "imgs": [{
                 "url": idCardPhotos['src'],
                 "img_id": idCardPhotos['img_id'],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 0,
                 "type": "TOILET"
             }]
         }, {
             "attach_type": "KITCHEN",
             "imgs": [{
                 "url": idCardPhotos['src'],
                 "img_id": idCardPhotos['img_id'],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 1,
                 "type": "KITCHEN"
             }]
         }, {
             "attach_type": "LIVING_ROOM",
             "imgs": [{
                 "url": idCardPhotos['src'],
                 "img_id": idCardPhotos['img_id'],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 2,
                 "type": "LIVING_ROOM"
             }]
         }, {
             "attach_type": "BALCONY",
             "imgs": [{
                 "url": idCardPhotos['src'],
                 "img_id": idCardPhotos['img_id'],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 3,
                 "type": "BALCONY"
             }]
         }, {
             "attach_type": "OTHER",
             "imgs": []
         }],
         "check_remark": "",
         "closed_water_test_result": None,
         "curOneLevelNode": None,
         "curTwoLevelNode": None,
         "door_card": None,
         "door_key": None,
         "electricity_card": None,
         "electricity_meter_num": None,
         "electricity_meter_remain": None,
         "gas_card": None,
         "gas_meter_num": None,
         "gas_meter_remain": None,
         "grade": None,
         "hidden_check_date": '%s 09:00:00' % self.now_times,
         "landlordGoods": None,
         "project_id": self.project_id,
         "reform_way_fact": None,
         "reform_way_fact_name": "",
         "remark": None,
         "score_remark": None,
         "water_card": None,
         "water_card_remain": None,
         "water_meter_num": None
     }
     result = interface.myRequest(url, data)
     if result['code'] != 0:
         base.consoleLog('隐蔽验收接口执行失败!')
         return result['msg']
     base.consoleLog('隐蔽验收接口执行成功!')
     return
    def serach_condition_info(self):
        """
        出租合同右键查询业绩信息
        :return:出单条件所有字段
        """

        url = "http://erp.ishangzu.com/isz_achievement/issueAchieve/issueConditions/" + self.contract_id
        result = interface.myRequest(url, method='get')

        try:
            if result['code'] != 0:
                return result['msg']
        except BaseException as e:
            base.consoleLog(str(e))
            return

        result = result["obj"]
        issue_conditions = {}

        if result == None:
            base.consoleLog(str(result))
            return


        data = []
        # 处理业绩核算条件返回信息
        for i in range(len(result['resultsAccountingConditionsList'])):
            condition_type_cn = []
            condition_type_cn.append(result['resultsAccountingConditionsList'][i]['condition_type_cn'])
            condition_type_cn.append(result['resultsAccountingConditionsList'][i]['finish_time'])
            condition_type_cn.append(result['resultsAccountingConditionsList'][i]['is_finish'])
            data.append(condition_type_cn)
        dic = {}
        for i in range(len(data)):
            dic.setdefault(data[i][0], data[i])
        issue_conditions['出单条件'] = dic


        data = []
        #处理业绩分成角色
        for i in range(len(result['resultsDividedRoleList'])):
            resultsDividedRoleList = []
            resultsDividedRoleList.append(result['resultsDividedRoleList'][i]['divide_type_cn'])
            resultsDividedRoleList.append(result['resultsDividedRoleList'][i]['divide_dname'])
            resultsDividedRoleList.append(result['resultsDividedRoleList'][i]['divide_uname'])
            resultsDividedRoleList.append(result['resultsDividedRoleList'][i]['divide_proportion_view'])
            data.append(resultsDividedRoleList)
        dic = {}
        for i in range(len(data)):
            dic.setdefault(data[i][0], data[i])
        issue_conditions['分成角色'] = dic


        data = []
        # 处理业绩核算记录
        for i in range(len(result['accountingRecordList'])):
            accountingRecordList = []
            accountingRecordList.append(result['accountingRecordList'][i]['is_active_cn'])
            accountingRecordList.append(result['accountingRecordList'][i]['active_time'])
            accountingRecordList.append(result['accountingRecordList'][i]['divide_house_source_us_uname'])
            accountingRecordList.append(result['accountingRecordList'][i]['divide_house_source_us_dname'])
            accountingRecordList.append(result['accountingRecordList'][i]['apartment_contract_num'])
            accountingRecordList.append(result['accountingRecordList'][i]['house_rent_times_cn'])
            accountingRecordList.append(result['accountingRecordList'][i]['accounting_num_view'])
            accountingRecordList.append(result['accountingRecordList'][i]['apartment_contract_type_cn'])
            accountingRecordList.append(result['accountingRecordList'][i]['profit_diff'])
            accountingRecordList.append(result['accountingRecordList'][i]['adjust_achievement'])
            accountingRecordList.append(result['accountingRecordList'][i]['accounting_month'])
            data.append(accountingRecordList)
        dic = {}
        for i in range(len(data)):
            dic.setdefault(data[i][6], data[i])
        issue_conditions['核算记录'] = dic

        base.consoleLog('出单条件返回值:' + str(issue_conditions))
        return issue_conditions
    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 serach_issue_list(self, serach_tiao_jian, perPageSize=10000,value=True):
        """
        出单业绩列表搜索
        :param serach_tiao_jian
        :param perPageSize:
        :param value True返回的数据包含第一行
        :return:搜索结果,按列表每个字段集合返回
        """
        base.consoleLog('查询出单业绩详情。')
        null = None

        url = 'http://erp.ishangzu.com/isz_achievement/issueAchieve/list'
        data = {
            "query_apartment": serach_tiao_jian['楼盘名称房源编号'],
            "building_name": serach_tiao_jian['栋座'],
            "unit": serach_tiao_jian['单元'],
            "house_no": serach_tiao_jian['房号'],
            "contract_num": serach_tiao_jian['出租合同号'],
            "is_active": serach_tiao_jian['状态'],
            "apartment_contract_type": serach_tiao_jian['承租类别'],
            "contract_audit_status": serach_tiao_jian['合同复审状态'],
            "frist_pay_status": serach_tiao_jian['首期款收款状态'],
            "apartment_type": serach_tiao_jian['公寓类型'],
            "apartment_entrust_type": serach_tiao_jian['合同类型'],
            "audit_status": serach_tiao_jian['审核状态'],
            "rent_times": serach_tiao_jian['出租次数'],
            "divide_house_source_us_did": serach_tiao_jian['房源方部门'],
            "divide_house_source_us_uname": serach_tiao_jian['房源方'],
            "apartment_customer_source_did": serach_tiao_jian['客源方部门'],
            "apartment_customer_source_uname": serach_tiao_jian['客源方'],
            "contract_commit_date_start": serach_tiao_jian['合同提交日期起始'],
            "contract_commit_date_end": serach_tiao_jian['合同提交日期结束'],
            "active_time_start": serach_tiao_jian['生效日期起始'],
            "active_time_end": serach_tiao_jian['生效日期结束'],
            "accounting_month_start": serach_tiao_jian['核发月份起始'],
            "accounting_month_end": serach_tiao_jian['核发月份结束'],
            "contract_audit_time_start": serach_tiao_jian['复审日期起始'],
            "contract_audit_time_end": serach_tiao_jian['复审日期结束'],
            "orderArr": null,
            "sortArr": null,
            "pageNum": 1,
            "perPageSize": perPageSize
        }
        base.consoleLog(data)
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog('出单业绩列表查询报错' + str(result))
            return

        issue_info_list = {}
        list = result['obj']['rows']
        base.consoleLog(list)

        # 处理返回的数据。按照返回的值分类。
        property_name = []
        apartment_code = []
        apartment_contract_num = []
        is_active_cn = []
        apartment_contract_type_cn = []
        contract_audit_status_cn = []
        frist_pay_status_cn = []
        apartment_type_cn = []
        apartment_entrust_type_cn = []
        audit_status_cn = []
        house_rent_times_cn = []
        house_source_us_dname = []
        house_source_us_uname = []
        apartment_customer_source_dname = []
        apartment_customer_source_uname = []
        apartment_contract_commit_date = []
        active_time = []
        accounting_month = []
        contract_audit_time = []
        profit_diff = []
        adjust_achievement = []
        if value:
            for i in range(len(list)):
                property_name.append(list[i]['property_name'])
                apartment_code.append(list[i]['apartment_code'])
                apartment_contract_num.append(list[i]['apartment_contract_num'])
                is_active_cn.append(list[i]['is_active_cn'])
                apartment_contract_type_cn.append(list[i]['apartment_contract_type_cn'])
                contract_audit_status_cn.append(list[i]['contract_audit_status_cn'])
                frist_pay_status_cn.append(list[i]['frist_pay_status_cn'])
                apartment_type_cn.append(list[i]['apartment_type_cn'])
                apartment_entrust_type_cn.append(list[i]['apartment_entrust_type_cn'])
                audit_status_cn.append(list[i]['audit_status_cn'])
                house_rent_times_cn.append(list[i]['house_rent_times_cn'])
                house_source_us_dname.append(list[i]['divide_house_source_us_dname'])
                house_source_us_uname.append(list[i]['divide_house_source_us_uname'])
                apartment_customer_source_dname.append(list[i]['apartment_customer_source_dname'])
                apartment_customer_source_uname.append(list[i]['apartment_customer_source_uname'])
                apartment_contract_commit_date.append(list[i]['apartment_contract_commit_date'])
                active_time.append(list[i]['active_time'])
                accounting_month.append(list[i]['accounting_month'])
                contract_audit_time.append(list[i]['contract_audit_time'])
                profit_diff.append(list[i]['profit_diff'])
                adjust_achievement.append(list[i]['adjust_achievement'])
        else:
            for i in range(1,len(list)):
                property_name.append(list[i]['property_name'])
                apartment_code.append(list[i]['apartment_code'])
                apartment_contract_num.append(list[i]['apartment_contract_num'])
                is_active_cn.append(list[i]['is_active_cn'])
                apartment_contract_type_cn.append(list[i]['apartment_contract_type_cn'])
                contract_audit_status_cn.append(list[i]['contract_audit_status_cn'])
                frist_pay_status_cn.append(list[i]['frist_pay_status_cn'])
                apartment_type_cn.append(list[i]['apartment_type_cn'])
                apartment_entrust_type_cn.append(list[i]['apartment_entrust_type_cn'])
                audit_status_cn.append(list[i]['audit_status_cn'])
                house_rent_times_cn.append(list[i]['house_rent_times_cn'])
                house_source_us_dname.append(list[i]['divide_house_source_us_dname'])
                house_source_us_uname.append(list[i]['divide_house_source_us_uname'])
                apartment_customer_source_dname.append(list[i]['apartment_customer_source_dname'])
                apartment_customer_source_uname.append(list[i]['apartment_customer_source_uname'])
                apartment_contract_commit_date.append(list[i]['apartment_contract_commit_date'])
                active_time.append(list[i]['active_time'])
                accounting_month.append(list[i]['accounting_month'])
                contract_audit_time.append(list[i]['contract_audit_time'])
                profit_diff.append(list[i]['profit_diff'])
                adjust_achievement.append(list[i]['adjust_achievement'])

        issue_info_list['楼盘地址'] = property_name
        issue_info_list['房源编号'] = apartment_code
        issue_info_list['出租合同号'] = apartment_contract_num
        issue_info_list['状态'] = is_active_cn
        issue_info_list['承租类别'] = apartment_contract_type_cn
        issue_info_list['合同复审状态'] = contract_audit_status_cn
        issue_info_list['首期款收款状态'] = frist_pay_status_cn
        issue_info_list['公寓类型'] = apartment_type_cn
        issue_info_list['合同类型'] = apartment_entrust_type_cn
        issue_info_list['审核状态'] = audit_status_cn
        issue_info_list['出租次数'] = house_rent_times_cn
        issue_info_list['房源方部门'] = house_source_us_dname
        issue_info_list['房源方'] = house_source_us_uname
        issue_info_list['客源方部门'] = apartment_customer_source_dname
        issue_info_list['客源方'] = apartment_customer_source_uname
        issue_info_list['合同提交日'] = apartment_contract_commit_date
        issue_info_list['生效日期'] = active_time
        issue_info_list['核发月份'] = accounting_month
        issue_info_list['复审日期'] = contract_audit_time
        issue_info_list['利润业绩'] = profit_diff
        issue_info_list['核算业绩'] = adjust_achievement

        base.consoleLog('出单业绩列表字段数据返回:' + str(issue_info_list))
        return issue_info_list
예제 #26
0
    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 serach_personal_summary_list(self, serach_tiao_jian, perPageSize=10000):
        """
        预估业绩-个人汇总查询
        :param serach_tiao_jian:
        :param perPageSize:
        :return:
        """
        base.consoleLog('预估业绩-个人汇总查询')

        url = 'http://erp.ishangzu.com/isz_achievement/rankAchieve/person/estimate'
        data = {
            "user_status": serach_tiao_jian['在职状态'],
            "house_apartment_type": serach_tiao_jian['公寓类型'],
            "house_entrust_type": serach_tiao_jian['合同类型'],
            "accounting_status": serach_tiao_jian['核发状态'],
            "current_depart_id": serach_tiao_jian['当前部门'],
            "divide_uname": serach_tiao_jian['姓名'],
            "contract_commit_date_start": serach_tiao_jian['提交日期起始'],
            "contract_commit_date_end": serach_tiao_jian['提交日期结束'],
            "accounting_month_start": serach_tiao_jian['核发月份起始'],
            "accounting_month_end": serach_tiao_jian['核发月份结束'],
            "orderArr": '',
            "sortArr": '',
            "pageNum": 1,
            "perPageSize": perPageSize
        }

        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog( str(result))
            return

        personal_summary = {}
        list = result['obj']['rows']

        index = []
        name = []
        current_depart_name = []
        user_status_cn = []
        issue_achieve = []
        issue_achieve_num = []
        breach_achieve = []
        loss_achieve = []
        total_achieve = []

        for i in range(len(list)):
            index.append(list[i]['index'])
            name.append(list[i]['name'])
            current_depart_name.append(list[i]['current_depart_name'])
            user_status_cn.append(list[i]['user_status_cn'])
            issue_achieve.append(list[i]['issue_achieve'])
            issue_achieve_num.append(list[i]['issue_achieve_num'])
            breach_achieve.append(list[i]['breach_achieve'])
            loss_achieve.append(list[i]['loss_achieve'])
            total_achieve.append(list[i]['total_achieve'])

        personal_summary['名次'] = index
        personal_summary['姓名'] = name
        personal_summary['当前部门'] = current_depart_name
        personal_summary['在职状态'] = user_status_cn
        personal_summary['出单业绩'] = issue_achieve
        personal_summary['单数'] = issue_achieve_num
        personal_summary['违约业绩'] = breach_achieve
        personal_summary['亏损业绩'] = loss_achieve
        personal_summary['总业绩'] = total_achieve

        return personal_summary
    def serach_department_summary_list(self, serach_tiao_jian, perPageSize=10000):
        """
        预估业绩-部门汇总查询
        :param serach_tiao_jian:
        :param perPageSize:
        :return:
        """
        base.consoleLog('预估业绩-部门汇总查询')

        url = 'http://erp.ishangzu.com/isz_achievement/rankAchieve/depart/estimate'
        data = {
            "divide_level": serach_tiao_jian['部门层级'],
            "house_apartment_type": serach_tiao_jian['公寓类型'],
            "house_entrust_type": serach_tiao_jian['合同类型'],
            "accounting_status": serach_tiao_jian['核发状态'],
            "contract_commit_date_start": serach_tiao_jian['提交日期起始'],
            "apartment_contract_commit_date": serach_tiao_jian['提交日期结束'],
            "accounting_month_start": serach_tiao_jian['核发月份起始'],
            "accounting_month_end": serach_tiao_jian['核发月份结束'],
            "orderArr": serach_tiao_jian[''],
            "sortArr": serach_tiao_jian[''],
            "pageNum": 1,
            "perPageSize": perPageSize
        }

        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog(str(result))
            return

        department_summary = {}
        list = result['obj']['rows']

        index = []
        depart_name = []
        manager_name = []
        depart_num = []
        issue_achieve = []
        issue_achieve_num = []
        breach_achieve = []
        loss_achieve = []
        total_achieve = []

        for i in range(len(list)):
            index.append(list[i]['index'])
            depart_name.append(list[i]['depart_name'])
            manager_name.append(list[i]['manager_name'])
            depart_num.append(list[i]['depart_num'])
            issue_achieve.append(list[i]['issue_achieve'])
            issue_achieve_num.append(list[i]['issue_achieve_num'])
            breach_achieve.append(list[i]['breach_achieve'])
            loss_achieve.append(list[i]['loss_achieve'])
            total_achieve.append(list[i]['total_achieve'])

        department_summary['名次'] = index
        department_summary['部门名称'] = depart_name
        department_summary['负责人'] = manager_name
        department_summary['人数'] = depart_num
        department_summary['出单业绩'] = issue_achieve
        department_summary['单数'] = issue_achieve_num
        department_summary['违约业绩'] = breach_achieve
        department_summary['亏损业绩'] = loss_achieve
        department_summary['总业绩'] = total_achieve

        return department_summary
예제 #29
0
 def overall_acceptance(self):
     """
     整体验收
     :return:
     """
     base.consoleLog('整体验收')
     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/NewDecorationProjectController/proCheck/wholeCheck'
     data = {
         "air_switch": None,
         "attachments": None,
         "card_attachs": [{
             "attach_type": "CARDS",
             "imgs": [{
                 "url": idCardPhotos['src'],
                 "img_id": idCardPhotos['img_id'],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 0,
                 "type": ""
             }]
         }],
         "closed_water_test_result": None,
         "curOneLevelNode": None,
         "curTwoLevelNode": None,
         "door_card": None,
         "door_key": None,
         "electricity_card": None,
         "electricity_meter_num": None,
         "electricity_meter_remain": None,
         "gas_card": None,
         "gas_meter_num": None,
         "gas_meter_remain": None,
         "grade": None,
         "landlordGoods": None,
         "newStuffList": None,
         "overall_check_date": '%s 14:00:00' % self.now_times,
         "project_id": self.project_id,
         "remark": "",
         "score_remark": None,
         "three_attachs": [{
             "attach_type": "THREE",
             "imgs": [{
                 "url": idCardPhotos['src'],
                 "img_id": idCardPhotos['img_id'],
                 "create_name": "",
                 "create_dept": "",
                 "create_time": "",
                 "sort": 0,
                 "type": ""
             }]
         }],
         "water_card": None,
         "water_card_remain": None,
         "water_meter_num": None
     }
     result = interface.myRequest(url, data)
     if result['code'] != 0:
         base.consoleLog('整体验收接口执行失败!')
         return result['msg']
     base.consoleLog('整体验收接口执行成功!')
     return
    def serach_divide_into_list(self, serach_tiao_jian, perPageSize=10000):
        """
        预估业绩排行榜---业绩分成搜索
        :param:serach_tiao_jian 查询条件
        :param perPageSize 查询的最大条数
        :return:
        """
        base.consoleLog('查询预估业绩排行榜---业绩分成')

        url = 'http://erp.ishangzu.com/isz_achievement/rankAchieve/divide/estimate'
        data = {
            "query_apartment": serach_tiao_jian['楼盘名称房源编号'],
            "building_name": serach_tiao_jian['栋座'],
            "unit": serach_tiao_jian['单元'],
            "house_no": serach_tiao_jian['房号'],
            "contract_num": serach_tiao_jian['委托合同号出租合同号'],
            "is_active": serach_tiao_jian['状态'],
            "achievement_type": serach_tiao_jian['业绩类型'],
            "type": serach_tiao_jian['分类'],
            "house_apartment_type": serach_tiao_jian['公寓类型'],
            "house_entrust_type": serach_tiao_jian['合同类型'],
            "divide_did": serach_tiao_jian['分成部门'],
            "divide_uname": serach_tiao_jian['分成人'],
            "audit_status": serach_tiao_jian['审核状态'],
            "contract_commit_date_start": serach_tiao_jian['提交日期起始'],
            "contract_commit_date_end": serach_tiao_jian['提交日期结束'],
            "active_time_start": serach_tiao_jian['生效日期起始'],
            "active_time_end": serach_tiao_jian['生效日期结束'],
            "accounting_month_start": serach_tiao_jian['核发月份起始'],
            "accounting_month_end": serach_tiao_jian['核发月份结束'],
            "orderArr": '',
            "sortArr": '',
            "pageNum": 1,
            "perPageSize": perPageSize,
            "tableFilter": ''
        }
        base.consoleLog(data)
        result = interface.myRequest(url, data)
        if result['code'] != 0:
            base.consoleLog(str(result))
            return

        divide_into = {}
        list = result['obj']['rows']
        base.consoleLog(str(list))

        # 处理返回的数据。按照返回的值分类
        property_name = []
        apartment_code = []
        house_contract_num = []
        apartment_contract_num = []
        is_active = []
        achievement_type_cn = []
        type_cn = []
        house_apartment_type_cn = []
        house_entrust_type_cn = []
        divide_dname = []
        divide_uname = []
        audit_status_cn = []
        contract_commit_date = []
        active_time = []
        accounting_month = []
        xxCycles = []
        divide_type_cn = []
        divided_money = []
        for i in range(len(list)):
            property_name.append(list[i]['property_name'])
            apartment_code.append(list[i]['apartment_code'])
            house_contract_num.append(list[i]['house_contract_num'])
            apartment_contract_num.append(list[i]['apartment_contract_num'])
            is_active.append(list[i]['is_active_cn'])
            achievement_type_cn.append(list[i]['achievement_type_cn'])
            type_cn.append(list[i]['type_cn'])
            house_apartment_type_cn.append(list[i]['house_apartment_type_cn'])
            house_entrust_type_cn.append(list[i]['house_entrust_type_cn'])
            divide_dname.append(list[i]['divide_dname'])
            divide_uname.append(list[i]['divide_uname'])
            audit_status_cn.append(list[i]['audit_status_cn'])
            contract_commit_date.append(list[i]['contract_commit_date'])
            active_time.append(list[i]['active_time'])
            accounting_month.append(list[i]['accounting_month'])
            xxCycles.append(list[i]['xxCycles'])
            divide_type_cn.append(list[i]['divide_type_cn'])
            divided_money.append(list[i]['divided_money'])
        divide_into['物业地址'] = property_name
        divide_into['房源编号'] = apartment_code
        divide_into['委托合同号'] = house_contract_num
        divide_into['出租合同号'] = apartment_contract_num
        divide_into['状态'] = is_active
        divide_into['业绩类型'] = achievement_type_cn
        divide_into['分类'] = type_cn
        divide_into['公寓类型'] = house_apartment_type_cn
        divide_into['合同类型'] = house_entrust_type_cn
        divide_into['分成部门'] = divide_dname
        divide_into['分成人'] = divide_uname
        divide_into['审核状态'] = audit_status_cn
        divide_into['提交日期'] = contract_commit_date
        divide_into['生效日期'] = active_time
        divide_into['核发月份'] = accounting_month
        divide_into['核算周期'] = xxCycles
        divide_into['分成方'] = divide_type_cn
        divide_into['核算业绩'] = divided_money
        base.consoleLog('预估排行榜业绩分成数据返回: ' + str(divide_into))
        return divide_into