def get_labor(self, url, LaborName=None):
     """
     # 获取招聘、派遣端录名单时需要的去向
     :param url: 调用获取去向劳务的接口地址,必填
     :param LaborName: 去向劳务,可选,默认为空
     :return:
     """
     res = self.create_api(url).json()
     if url == get_labor:
         self.TargetSpId = int(get_api_result(res, 'SpId')[0])
         self.SpName = get_api_result(res, 'SpShortName')[0]
     else:
         # 企业不为空,获取企业列表
         laborlist = res['Data']['RecordList']
         # 遍历列表寻找指定名称的id,找到id后赋值给SpEntID,没找到传入的名称抛出异常
         for labor in laborlist:
             if labor['SpShortName'] == LaborName:
                 self.TargetSpId = labor['SpId']
                 self.SpName = LaborName
                 break
     # 打印日志
     if self.TargetSpId:
         logger.info(f'获取到去向:{self.SpName},{self.TargetSpId}')
     else:
         logger.error(f'未找到去向:{LaborName}')
         raise
     return res
 def test_threecardflow(self):
     # 先获取当天录入的名单手机号码,姓名,身份证号
     namemanage = NameList()
     namemanage.login(send_boss_user)
     namemanage.get_nameList(starttime=nowtime,
                             endtime=nowtime,
                             ScannerMobile=send_boss_user,
                             RecordSize=1000)
     mobiles = namemanage.getMobilelist
     names = namemanage.getrealnamelist
     idcardnums = namemanage.getidcardlist
     ents = namemanage.getentlist
     # 初始化审核身份证对象,并登陆
     mem_manage = Member_information_management_func()
     mem_manage.login(send_boss_user)
     # 根据获取的手机号码依次登陆上传三卡并认证
     n = len(mobiles)
     for i in range(n):
         # 登陆
         member = Applet_func()
         member.applogin(mobiles[i])
         # 上传身份证
         member.upload_idcard()
         # 审核身份证
         mem_manage.audit_idcard(idcardnum=idcardnums[i],
                                 rname=names[i],
                                 phone=mobiles[i])
         # 断言-检查身份证审核状态
         idcard_res = mem_manage.get_idcardlist(phone=mobiles[i],
                                                RegTimeBegin=nowtime,
                                                RegTimeEnd=nowtime)
         AuditSts = get_api_result(idcard_res, 'AuditSts')[0]
         self.assertEqual(AuditSts, 2)
         # 上传银行卡
         member.upload_bankcard(bankname=bankname)
         # 审核银行卡
         bankcardnum = create_bankcard()
         mem_manage.audit_bankcard(bankcardnum=bankcardnum,
                                   bankname=bankname,
                                   phone=mobiles[i])
         # 断言-检查银行卡审核状态
         bank_res = mem_manage.get_bankcardlist(phone=mobiles[i],
                                                UploadTimeBegin=nowtime,
                                                UploadTimeEnd=nowtime)
         AuditSts = get_api_result(bank_res, 'AuditSts')[0]
         self.assertEqual(AuditSts, 2)
         # 上传工牌
         member.upload_workcard(entname=ents[i])
         # 审核工牌
         workcardno = create_workcardno()
         mem_manage.audit_workcard(entshortname=ents[i],
                                   workcardno=workcardno,
                                   phone=mobiles[i])
         workcar_res = mem_manage.get_workcardlist(phone=mobiles[i],
                                                   UploadTimeBegin=nowtime,
                                                   UploadTimeEnd=nowtime)
         AuditSts = get_api_result(workcar_res, 'AuditSts')[0]
         self.assertEqual(AuditSts, 2)
Beispiel #3
0
 def create_order_pq(self, entbrorrowname, ReceiverType=1, SettlementTyp=None, OrderTyp=2, OrderChargeTyp=6,
                     OrderDt=nowtime, BeginDt=nowtime,
                     EndDt='', PriceUnit=None):
     """
     派遣端创建订单
     :param entbrorrowname: 企业,必选
     :param ReceiverType:订单发单类型,1 门店订单,2 供应商订单
     :param OrderTyp:订单类型 1 返费订单,2 周薪订单
     :param SettlementTyp: 订单结算方式 1:ZX结算方式 2:Z结算方式 3:ZA结算方式 4:ZX-A
     :param OrderChargeTyp:订单类型 默认6  5 一周收费5天 6 一周收费6天
     :param OrderDt:订单时间(报价日期)
     :param BeginDt:订单有效期限开始日期
     :param EndDt:订单有效期限结束日期
     :param PriceUnit:供应商订单参数,1 按天算服务费,2 按小时算服务费
     :return:
     """
     # 加载企业
     self.get_entbrorrow(entbrorrowname)
     if SettlementTyp:
         self.SettlementTyp = SettlementTyp
     # 会员相关费用
     OrderWeekFeeList = [
         {"BeginDt": BeginDt, 'EndDt': EndDt, 'TerminateTyp': 2, 'AdvancePayAmt': 10000, 'Remark': '工资说明',
          'AcpHourlyWorkAmt': 2000, 'AcpLeavedHourlyWorkAmt': 2000, 'HourlyWorkAmt': 2000,
          'LeavedHourlyWorkAmt': 2000}]
     # 中介费
     if PriceUnit==2:  # 供应商政策按小时结算
         OrderAgencyFee = [
             {'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}]
     else:
         OrderAgencyFee = [
             {'MinDays': 1, 'MaxDays': 0, 'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''},
             {'DaysNoMoney': 7, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}]
     # 服务费
     OrderServiceFee = [{'PlatformSrvcFee': 0, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}]
     # 返费
     OrderReturnFee = [{'Days': 10, 'FeeTyp': 3, 'ReturnTyp': 2, 'ReturnFee': 5000},
                       {'Days': 20, 'FeeTyp': 3, 'ReturnTyp': 1, 'ReturnFee': 1000}]
     # 获取劳务ID、name
     res = self.create_api(get_vlabor).json()
     TargetSpId = int(get_api_result(res, 'SpId')[0])
     SpName = get_api_result(res, 'SpShortName')[0]
     # 调用接口创建订单
     res = self.create_api(add_order, OrderTyp=OrderTyp, HasReturnFee=0, SettlementTyp=SettlementTyp,
                                  EmploymentTyp=1,
                                  ReceiverType=ReceiverType, SpQuota=20, InsideRemark='企业政策', OrderDt=OrderDt,
                                  EntId=self.entbrorrowid,
                                  SpEntName=entbrorrowname, TrgtSpId=TargetSpId, TrgtSpName=SpName,
                                  OrderChargeTyp=OrderChargeTyp, OrderWeekFeeList=OrderWeekFeeList,
                                  OrderAgencyFee=OrderAgencyFee, OrderServiceFee=OrderServiceFee,
                                  OrderReturnFee=OrderReturnFee, Remark='供应商备注', PriceUnit=PriceUnit)
     self.orderid = res.json()['Data']
     return res.json()
    def get_bankcardlist(self,
                         auditsts=-9999,
                         idcardnum='',
                         phone='',
                         name='',
                         UploadTimeBegin=None,
                         UploadTimeEnd=None):
        """
        获取银行卡审核列表
        :param auditsts:审核状态,可选,默认全部,1 未审核,2 通过,3 未通过
        :param idcardnum:会员身份证号码,可选,默认空
        :param phone:会员手机号码,可选,默认空
        :param name:会员姓名,可选,默认空
        :return:        返回示例:
        {'Code': 0,
             'Data': {'NeedDesen': 0,
                      'RecordCount': 1,
                      'RecordList': [{'AliBucket': 'woda-app-private-test',
                                      'AreaName': '',
                                      'AuditBy': '',
                                      'AuditRemark': '',
                                      'AuditSts': 1,
                                      'AuditTm': '0000-00-00 00:00:00',
                                      'BankCardNum': '',
                                      'BankCardUrl': 'zxx/BankCard/tmp_u=108706899,646491533&fm=26&gp=0.jpg',
                                      'BankName': '',
                                      'CityName': '',
                                      'IdCardAuditSts': 2,
                                      'IdCardNum': '521953667811287984',
                                      'IdcardFrontUrl': '',
                                      'Mobile': '18654445366',
                                      'ProvinceName': '',
                                      'RealName': '同工',
                                      'UploadTime': '2020-04-06 14:20:39.519822',
                                      'UserBankCardAuditId': 5710,
                                      'UserIdcardAuditId': 0}],
                      'UnAuditRecordCount': 62},
             'Desc': '成功'}

        """
        #调用获取银行卡审核列表接口
        res = self.create_api(BankCardInfoList_Api,
                              SequenceUploadTime=1,
                              RecordIndex=0,
                              RecordSize=999,
                              AuditSts=auditsts,
                              IsUserDelete=-9999,
                              Bank3keyAvlSts=-9999,
                              Bank3keyCheckResult=-9999,
                              IdCardNum=idcardnum,
                              Mobile=phone,
                              UploadTimeBegin=UploadTimeBegin,
                              UploadTimeEnd=UploadTimeEnd,
                              RealName=name)
        response = res.json()
        self.UserBankCardAuditId = get_api_result(response,
                                                  'UserBankCardAuditId')
        # pprint.pprint(response)
        # 返回response
        return response
Beispiel #5
0
    def test_create_order_flow(self):
        """
        1、创建五个工种不一样的订单
        2、审核订单
        3、分配订单
        """
        entborrows = ['淳华工种1', '郑鹏工种1', '复扬工种1', '建大工种1', '明基工种1']
        # 创建订单
        for entborrow in entborrows:
            self.ordermanage.create_order_pq(entbrorrowname=entborrow,
                                             ReceiverType=2,
                                             PriceUnit=1)

        #查询订单
        get_order_res = self.ordermanage.get_orders(
            CreatedBy=self.ordermanage.zt_guid, OrderStatus=1)

        # 审核订单
        orderids = get_api_result(get_order_res, 'RcrtMainOrderId')
        print(orderids)
        for orderid in orderids:
            self.ordermanage.Judge_Order(auditsts=2, orderid=orderid)

        # 获取供应商
        self.ordermanage.get_agent(agentname=agentName)

        # 订单分配供应商
        for orderid in orderids:
            self.ordermanage.order_allocation_pq(agentname=agentName,
                                                 OrderId=orderid)
 def get_waitbindorder_pq(self, names: list, orderDt=nowtime):
     """
     获取待绑定订单
     :param names:要绑定订单的名单姓名,只接受list
     :param orderDt:面试日期
     :return:生成对象属性wait_bind_orderids,list类型
     """
     nameids = []
     res = None
     for name in names:
         res = self.get_nameList(name=name,
                                 starttime=orderDt,
                                 endtime=orderDt)
         nameid = res['Data']['RecordList'][0]['NameID']
         nameids.append(nameid)
     entborrowid = res['Data']['RecordList'][0]['SpEntID']
     stdentid = res['Data']['RecordList'][0]['EntId']
     agentid = res['Data']['RecordList'][0]['FromSpID']
     res = self.create_api(GetWaitToBindZXXOrderList,
                           OrderDt=orderDt,
                           EntId=entborrowid,
                           StdEntID=stdentid,
                           NameListIds=nameids,
                           FromSpId=agentid)
     self.wait_bind_orderids = get_api_result(res.json(), 'MainOrderId')
 def test_name_bind_order(self):
     """名单绑订单"""
     # 定义企业列表
     entborrows = ['淳华工种1', '郑鹏工种1', '复扬工种1', '建大工种1', '明基工种1']
     # 在企业列表循环
     for entborrow in entborrows:
         # 根据企业查询名单
         get_name_res = self.namemanage.get_nameList(
             ScannerMobile=send_boss_user,
             SpEntName=entborrow,
             ScannerUserID=self.namemanage.zt_guid,
             RecordSize=1000)
         # 解析查询结果获取姓名列表和id列表
         names = get_api_result(get_name_res, 'Name')
         nameids = get_api_result(get_name_res, 'NameID')
         # 根据姓名获取待绑定的订单id
         self.namemanage.get_waitbindorder_pq(names=names)
         # 名单绑定订单
         self.namemanage.bind_order(
             orderid=self.namemanage.wait_bind_orderids[0],
             NameIdList=nameids)
 def get_workcardlist(self,
                      auditsts=-9999,
                      idcardnum='',
                      phone='',
                      name='',
                      UploadTimeBegin=None,
                      UploadTimeEnd=None,
                      RecordSize=10):
     """
     返回值示例:
     {'Code': 0,
      'Data': {'NeedDesen': 0,
               'RecordCount': 5,
               'RecordList': [{'AuditBy': '张四风',
                               'AuditRemark': '',
                               'AuditSts': 2,
                               'AuditTm': '2020-04-02 17:21:51',
                               'EntFullName': '神达电脑科技有限公司',
                               'EntId': 476,
                               'EntShortName': '昆山昆达电脑',
                               'IdCardNum': '521953667811287984',
                               'IneterviewDate': '2020-03-25',
                               'InterViewEntId': 10082,
                               'InterViewEntShortNme': '岱哥标准',
                               'InterviewEntFullName': '贾岱的标准企业',
                               'Mobile': '18654445366',
                               'RealName': '同工',
                               'UploadTime': '2020-04-02 16:50:57.735982',
                               'UserWorkCardAuditId': 84128,
                               'WorkCardNo': '22',
                               'WorkCardUrl': 'zhjz/WorkCard/tmp_u=165670367,2479347840&fm=26&gp=0.jpg'}],
               'UnAuditRecordcount': 5},
      'Desc': '成功'}
     """
     #调用获取工牌列表接口
     res = self.create_api(WorkCardInfoList_Api,
                           SequenceUploadTime=2,
                           RecordIndex=0,
                           RecordSize=RecordSize,
                           EntId=-9999,
                           AuditSts=auditsts,
                           IdCardNum=idcardnum,
                           Mobile=phone,
                           UploadTimeBegin=UploadTimeBegin,
                           UploadTimeEnd=UploadTimeEnd,
                           RealName=name)
     response = res.json()
     self.UserWorkCardAuditId = get_api_result(response,
                                               'UserWorkCardAuditId')
     # pprint.pprint(response)
     # 返回response
     return response
 def test_set_who_give_me(self):
     """设置来源"""
     # 调用接口设置来源
     req = self.suite.set_source(FromSpName='自动化测试供应商')
     isok = req['Data']['ResultList'][0]['IsOk']
     # 断言-检查isok字段
     self.assertEqual(isok, 1)
     # 断言-检查该名单绑单状况
     results = self.suite.get_nameList(name=self.suite.newname_pq)
     agent = get_api_result(results, 'FromSpName')
     agentid1 = get_api_result(results, 'FromSpID')
     self.suite.get_source(get_vagent, FromSpName='自动化测试供应商')
     agentid2 = self.suite.FromSpID
     self.assertEqual(agent[0], '自动化测试供应商')
     self.assertEqual(agentid1[0], agentid2)
     # 断言-检查数据落表
     sql = f'select srce_tenant_coop_id,srce_sp_short_name from name_list where name_list_id={self.suite.newnameid_pq}'
     res = self.zt_db.selectsql(sql)
     agentid = res[0][0]
     agentname = res[0][1]
     self.assertEqual(agentid, agentid2)
     self.assertEqual(agentname, '自动化测试供应商')
 def test_get_namelist(self):
     """测试查询"""
     # 调用接口手工录取名单
     self.suite.add_name_pq(entbrorrowname='中达自动化测试预支工种', FromSpName='奇迹招聘')
     # 断言-全量查询当日数据
     res = self.suite.get_nameList()
     nameidlist = get_api_result(res, 'NameID')
     lenth = len(nameidlist)
     count = res['Data']['RecordCount']
     self.assertIn(self.suite.newnameid_pq, nameidlist)
     self.assertGreater(lenth, 0)
     self.assertGreater(count, 0)
     sql = 'select count(*) from name_list order by '
     # 断言-使用企业查询名单
     res = self.suite.get_nameList(SpEntName='中达自动化测试预支工种')
     self.assertIn(self.suite.newnameid_pq, nameidlist)
     entnamelist = get_api_result(res, 'SpEntName')
     entidlist = get_api_result(res, 'SpEntID')
     sql = f'select sp_ent_id from sp_ent where sp_ent_name="中达自动化测试预支工种"'
     results = self.zt_db.selectsql(sql)
     for entname in entnamelist:
         self.assertEqual(entname, '中达自动化测试预支工种')
     for entid in entidlist:
         self.assertEqual(entid, results[0][0])
Beispiel #11
0
 def ali_import(self,
                myObjectName,
                myLocalFile,
                region='http://oss-cn-shanghai.aliyuncs.com',
                bucketname='woda-app-private-test'):
     # 调用接口
     res = self.create_api(url=ALI_GetAliSTS).json()
     # 获取参数
     api_resuil = get_api_result(res)
     # 定义变量
     AccessKeyId = api_resuil['AccessKeyId']
     AccessKeySecret = api_resuil['AccessKeySecret']
     SecurityToken = api_resuil['SecurityToken']
     # 上传excel到阿里云
     auth = oss2.StsAuth(AccessKeyId, AccessKeySecret, SecurityToken)
     bucket = oss2.Bucket(auth, region, bucketname)
     bucket.put_object_from_file(myObjectName, myLocalFile)
 def get_idcardlist(self,
                    auditsts=-9999,
                    phone='',
                    name='',
                    RegTimeBegin=None,
                    RegTimeEnd=None):
     """
     获取身份证审核列表
     :param auditsts:审核状态,可选,默认全部,1 未审核,2 通过,3 未通过
     :param phone:会员手机号码,可选,默认空
     :param name:会员姓名,可选,默认空
     :return: 函数返回示例:
     {'Code': 0,
          'Data': {'NeedDesen': 0,
                   'RecordCount': 1,
                   'RecordList': [{'AuditBy': '',
                                   'AuditRemark': '',
                                   'AuditSts': 1,
                                   'AuditTm': '',
                                   'BankCardAuditSts': 0,
                                   'CreditScore': '',
                                   'Guid': 313721,
                                   'IdCardNum': '',
                                   'IdcardFrontUrl': 'zhjz/IDCard/tmp_idcard.jpg',
                                   'Mobile': '17256282601',
                                   'RealName': '',
                                   'RegTime': '2020-04-06 14:59:40.920248',
                                   'UserIdcardAuditId': 6027}],
                   'UnAuditRecordCount': 234},
          'Desc': '成功'}
     """
     #调用获取身份证审核列表接口
     res = self.create_api(IDCardInfoList_Api,
                           SequenceUploadTime=2,
                           RecordIndex=0,
                           RecordSize=999,
                           AuditSts=auditsts,
                           Mobile=phone,
                           RegTimeBegin=RegTimeBegin,
                           RegTimeEnd=RegTimeEnd,
                           RealName=name)
     response = res.json()
     self.UserIdcardAuditId = get_api_result(response, 'UserIdcardAuditId')
     # pprint.pprint(res)
     # 返回response
     return response
 def test_set_intsts(self):
     """设置面试状态"""
     # 调用接口,设置面试状态为面试通过
     res = self.suite.set_interview_state(IntvSts=2)
     # 断言-检查接口返回
     status = self.suite.status_code
     code = res['Code']
     desc = res['Desc']
     succcount = res['Data']['SuccCount']
     self.assertEqual(status, 200)
     self.assertEqual(code, 0)
     self.assertEqual(desc, '成功')
     self.assertEqual(succcount, 1)
     # 断言,查询名单检查接口面试状态
     res = self.suite.get_nameList(name=self.suite.newname_pq)
     intsts = get_api_result(res, 'InterviewStatus')
     self.assertEqual(intsts[0], 2)
     # 断言,检查数据落表
     sql = f'select intv_sts from name_list where name_list_id = {self.suite.newnameid_pq}'
     results = self.zt_db.selectsql(sql)
     intsts = results[0][0]
     self.assertEqual(intsts, 2)
 def test_add_name_flow(self):
     """
     1、创建150个无来源的名单
     2、对步骤1创建的名单设置来源
     3、创建50个有来源的名单
     """
     entborrows = ['淳华工种1', '郑鹏工种1', '复扬工种1', '建大工种1', '明基工种1']
     # 录名单时不带来源
     for entborrowname in entborrows:
         for i in range(30):
             self.namemanage.add_name_pq(entbrorrowname=entborrowname)
     # 查询录入的名单
     res = self.namemanage.get_nameList(
         ScannerMobile=send_boss_user,
         ScannerUserID=self.namemanage.zt_guid,
         RecordSize=1000)
     # 断言-检查名单数量
     count = res['Data']['RecordCount']
     self.assertEqual(count, 150)
     # 断言-检查名单企业
     entborrowlist = get_api_result(res, 'SpEntName')
     entborrowlist = list(set(entborrowlist))  # 去重
     self.assertEqual(sorted(entborrows), sorted(entborrowlist))
     # 断言-检查名单标准企业
     entids = []
     for entborrowname in entborrows:
         res_getentborrow = self.groupmanage.getEntBorrowList(
             BEntName=entborrowname)
         entid = get_api_result(res_getentborrow, 'EntId')[0]
         entids.append(entid)
     entidlist = get_api_result(res, 'EntId')
     entidlist = list(set(entidlist))
     self.assertEqual(sorted(entidlist), sorted(entids))
     # 断言-检查来源
     for name in res['Data']['RecordList']:
         agentname = name['FromSpName']
         agentid = name['FromSpID']
         self.assertEqual(agentname, '')
         self.assertEqual(agentid, 0)
     # 断言-检查数据库落表数量
     selectdb = OperateMDdb()
     sql = f"""SELECT count(*) FROM name_list WHERE intv_dt = '2020-04-25' and scanner_id = {self.namemanage.zt_guid} and tenant_id = '{self.namemanage.zt_tid}'"""
     sqlcount = selectdb.selectsql(sql)[0][0]
     self.assertEqual(sqlcount, count)
     # 设置来源
     NameListIds = [
         self.namemanage.getnameidlist[i:i + 100]
         for i in range(0, len(self.namemanage.getnameidlist), 100)
     ]
     a = len(self.namemanage.getnameidlist)
     if a % 100 != 0:
         num = a // 100 + 1
     else:
         num = a // 100
     for i in range(num):
         self.namemanage.set_source(FromSpName=agentName,
                                    NameListIds=NameListIds[i])
     # 查询名单,重新获取数据
     res = self.namemanage.get_nameList(
         ScannerMobile=send_boss_user,
         ScannerUserID=self.namemanage.zt_guid,
         RecordSize=1000)
     # 断言-检查来源
     result = self.groupmanage.getcooplist(NickName=agentName)
     agentID = get_api_result(result, 'ZtVspId')[0]
     for name in res['Data']['RecordList']:
         agentname = name['FromSpName']
         agentid = name['FromSpID']
         self.assertEqual(agentname, agentName)
         self.assertEqual(agentid, agentID)
     # 录名单时带来源
     for entborrowname in entborrows:
         for i in range(10):
             self.namemanage.add_name_pq(entbrorrowname=entborrowname,
                                         FromSpName=agentName)
     # 查询录入的名单
     res = self.namemanage.get_nameList(
         ScannerMobile=send_boss_user,
         ScannerUserID=self.namemanage.zt_guid,
         RecordSize=1000)
     # 断言-检查名单数量
     count = res['Data']['RecordCount']
     self.assertEqual(count, 200)
     # 断言-检查落表数据量
     sql = f"""SELECT count(*) FROM name_list WHERE intv_dt = '2020-04-25' and scanner_id = {self.namemanage.zt_guid} and tenant_id = '{self.namemanage.zt_tid}'"""
     sqlcount = selectdb.selectsql(sql)[0][0]
     self.assertEqual(sqlcount, count)
     # 断言-检查来源
     for name in res['Data']['RecordList']:
         agentname = name['FromSpName']
         agentid = name['FromSpID']
         self.assertEqual(agentname, agentName)
         self.assertEqual(agentid, agentID)
Beispiel #15
0
 def get_nameList(self,
                  starttime=nowtime,
                  endtime=nowtime,
                  name=None,
                  idcardnum=None,
                  mobile=None,
                  Gender=None,
                  InterviewStatus=9999,
                  RecordSize=10,
                  RecordIndex=0,
                  FromBindStatus=-9999,
                  SpEntName=None,
                  RcrtTyp=-9999,
                  agentname=None,
                  ScannerMobile=None,
                  ScannerUserID=None):
     """
     # 获取派遣端实接记录列表
     :param starttime: 面试日期前区间,可选,默认为当天日期
     :param endtime: 面试日期后区间,可选,默认为当天日期
     :param name: 会员名称,可选,默认为None
     :param idcardnum: 身份证号,可选,默认为None
     :param mobile: 手机号码,可选,默认为None
     :param Gender: 性别,可选,1 男,2 女,默认为None
     :param InterviewStatus:面试状态,可选,0:未处理,1:未面试,2:面试通过,3:面试不通过,4:放弃
     :param FromBindStatus:绑单状态,可选,1 未绑, 2 已绑
     :param SpEntName:企业名称,可选
     :param RcrtTyp:企业类型,可选,1 预支,2 返费
     :param agentname:来源名称,可选
     :param ScannerMobile:扫描人手机号码,可选
     :param ScannerUserID:扫描人guid,可选
     :return:
     """
     if agentname == None:
         FromSpId = None
     else:
         FromSpId = self.get_source(get_vagent, FromSpName=agentname)
     # 调用获取派遣端实接记录列表接口
     res = self.create_api(getnamelist,
                           StartTime=starttime,
                           EndTime=endtime,
                           Name=name,
                           IDCardNum=idcardnum,
                           InterviewStatus=InterviewStatus,
                           Gender=Gender,
                           Mobile=mobile,
                           RcrtTyp=RcrtTyp,
                           FromBindStatus=-FromBindStatus,
                           ScannerMobile=ScannerMobile,
                           ScannerUserID=ScannerUserID,
                           RecordIndex=RecordIndex,
                           RecordSize=RecordSize,
                           SpEntName=SpEntName,
                           FromSpId=FromSpId,
                           SpIDs=[22699])
     res = res.json()
     self.getnamelists = res['Data']['RecordList']
     self.getnameidlist = get_api_result(res, 'NameID')
     self.getMobilelist = get_api_result(res, 'Mobile')
     self.getidcardlist = get_api_result(res, 'IDCardNum')
     self.getrealnamelist = get_api_result(res, 'Name')
     self.getentlist = get_api_result(res, 'EntShortName')
     # 打印日志
     # logger.info('查询名单,查询结果:{}'.format(res.json()))
     return res
Beispiel #16
0
 def create_order_pq_mult(self, entbrorrowname, HasReturnFee=0, ReceiverType=2, EmploymentTyp=1, SettlementTyp=None,
                          OrderTyp=2, OrderChargeTyp=6,OrderDt=nowtime, BeginDt=nowtime,
                          HasDiffPrice=0, DiffPriceIssueDt=None,AdditionalSubsidy=0, SubsidyMoney=None,
                          EnjoyStart=None,EnjoyEnd=None,InWorkDay=None,IssueDay=None,
                          EndDt='', PriceUnit=None):
     """
     派遣端创建多模式订单
     :param entbrorrowname: 企业,必选
     :param HasReturnFee:是否有会员返费,0 无返费,1 劳务返费,2 平台返费
     :param ReceiverType:订单发单类型,1 门店订单,2 供应商订单
     :param EmploymentTyp: 用工方式,1 劳务用工,2 灵活用工
     :param OrderTyp:订单类型 1 返费订单,2 周薪订单
     :param SettlementTyp: 订单结算方式 1:ZX结算方式 2:Z结算方式 3:ZA结算方式 4:ZX-A
     :param OrderChargeTyp:订单类型 默认6  5 一周收费5天 6 一周收费6天
     :param OrderDt:订单时间(报价日期)
     :param BeginDt:订单有效期限开始日期
     :param EndDt:订单有效期限结束日期
     :param HasDiffPrice:是否有差价,1 无差价,2 有差价
     :param DiffPriceIssueDt:差价发放日期,限制整形
     :param AdditionalSubsidy:是否有补贴,0 无补贴,1 有补贴
     :param SubsidyMoney:补贴金额(元/小时) 限制整形
     :param EnjoyStart:享受周期开始时间
     :param EnjoyEnd:享受周期结束时间
     :param IssueDay:补贴发放会员的日期
     :param InWorkDay:补贴发放要求会员在职日期
     :param PriceUnit:供应商订单参数,1 按天算服务费,2 按小时算服务费
     :return:
     """
     # 加载企业
     self.get_entbrorrow(entbrorrowname)
     # 结算方式
     if SettlementTyp:
         self.SettlementTyp = SettlementTyp
     # 会员相关费用
     OrderWeekFeeList = [
         {"BeginDt": BeginDt, 'EndDt': EndDt, 'TerminateTyp': 2, 'AdvancePayAmt': 10000, 'Remark': '工资说明',
          'AcpHourlyWorkAmt': 2000, 'AcpLeavedHourlyWorkAmt': 2000, 'HourlyWorkAmt': 2000,
          'LeavedHourlyWorkAmt': 2000}]
     # 中介费
     if PriceUnit==2:  # 供应商政策按小时结算
         OrderAgencyFee = [
             {'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}]
     else:
         OrderAgencyFee = [
             {'MinDays': 1, 'MaxDays': 0, 'AgentFee': 1000, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''},
             {'DaysNoMoney': 7, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}]
     # 服务费
     OrderServiceFee = [{'PlatformSrvcFee': 0, 'TerminateTyp': 2, 'BeginDt': BeginDt, 'EndDt': ''}]
     # 返费
     if HasReturnFee: # 有会员返费
         OrderReturnFee = [{'Days': 10, 'FeeTyp': 3, 'ReturnTyp': 2, 'ReturnFee': 5000},
                         {'Days': 20, 'FeeTyp': 3, 'ReturnTyp': 1, 'ReturnFee': 10000},
                           {'Days': 30, 'FeeTyp': 3, 'ReturnTyp': 3, 'ReturnFee': 10000}
                           ]
     else:# 无会员返费,只有供应商返费
         OrderReturnFee = [
                           {'Days': 30, 'FeeTyp': 3, 'ReturnTyp': 3, 'ReturnFee': 10000}
                           ]
     # 获取劳务ID、name
     res = self.create_api(get_vlabor).json()
     TargetSpId = int(get_api_result(res, 'SpId')[0])
     SpName = get_api_result(res, 'SpShortName')[0]
     # 调用接口创建订单
     res = self.create_api(add_order_mult,
                                  OrderTyp=OrderTyp,
                                  HasReturnFee=HasReturnFee,
                                  SettlementTyp=SettlementTyp,
                                  EmploymentTyp=EmploymentTyp,
                                  ReceiverType=ReceiverType,
                                  SpQuota=20,
                                  InsideRemark='企业政策',
                                  OrderDt=OrderDt,
                                  EntId=self.entbrorrowid,
                                  HasDiffPrice=HasDiffPrice,
                                  DiffPriceIssueDt=DiffPriceIssueDt,
                                  AdditionalSubsidy=AdditionalSubsidy,
                                  SubsidyMoney=SubsidyMoney,
                                  EnjoyStart=EnjoyStart,
                                  EnjoyEnd=EnjoyEnd,
                                  InWorkDay=InWorkDay,
                                  IssueDay=IssueDay,
                                  SpEntName=entbrorrowname,
                                  TrgtSpId=TargetSpId,
                                  TrgtSpName=SpName,
                                  OrderChargeTyp=OrderChargeTyp,
                                  OrderWeekFeeList=OrderWeekFeeList,
                                  OrderAgencyFee=OrderAgencyFee,
                                  OrderServiceFee=OrderServiceFee,
                                  OrderReturnFee=OrderReturnFee,
                                  Remark='供应商备注',
                                  PriceUnit=PriceUnit)
     self.orderid = res.json()['Data']
     return res.json()