示例#1
0
def getProcessInstanceId(loginID, env='c', MMusername='', MMpassword=''):
    out(f'{MMusername} 正在获取 {loginID} 对应流程实例Id……\t\t\t\t\t\t')
    head = {
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',
        'Cookie':
        loginMMReq(env=env, username=MMusername,
                   password=MMpassword)['Cookie'],
        'Content-Type':
        'application/x-www-form-urlencoded; charset=UTF-8',
        'Connection':
        'close',
    }
    for i in range(5):
        r = requests.get(f'{MMdomainDic[env]}/myTask/list?page=1&limit=10',
                         headers=head,
                         verify=False)
        try:
            result = r.json()
        except json.decoder.JSONDecodeError:
            saveLog('查询流程实例Id失败!', r.text)
            time.sleep(1)
            continue
        for data in result['data']:
            if data['loginCode'] == loginID:
                return MMdomainDic[env], head, data['processInstanceId']
        time.sleep(1)
    print('未查询到', loginID, '对应的 processInstanceId')
示例#2
0
def addUser(company, head=''):  #新增用户、角色
    if not head:
        head = {
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',
            'Cookie':
            loginMMReq(env=company.env, username='', password='')['Cookie'],
            'Content-Type':
            'application/x-www-form-urlencoded; charset=UTF-8',
            'Connection':
            'close',
        }
    key = {
        'userNum': '',
        'loginName': company.loginID,
        'realName': company.legalName,
        'password': '',
        'email': company.email,
        'statusCd': 'Y',
        'sexCd': '1',
        'city': company.city,
        'mobile': company.legalTel,
        'entCreditCode': company.BLRN,
    }
    # userNumDic={}
    if company.cusType == 'CORE':
        roleNameDic = {'manager': 'coreManager', 'liable': 'coreLiable'}
    elif company.cusType == 'CUSTOMER':
        roleNameDic = {'manager': 'custManager', 'liable': 'custLiable'}
    for loginID in [company.loginID, company.opLoginID]:
        key['loginName'] = loginID
        out(f'正在为 {loginID} 新增资金管理后台用户……\t\t\t\t\t\t')
        for i in range(5):
            r = requests.post(
                f'{MMdomainDic[company.env]}/electronicSealUser/insert',
                headers=head,
                data=key,
                verify=False)
            try:
                result = r.json()
            except json.decoder.JSONDecodeError:
                time.sleep(1)
                continue
            if result['success']:
                out(f'为 {loginID} 新增资金管理后台用户成功!\t\t\t\t\t\t\t')
                # userNumDic[loginID]=result['result']['userNum']
                roleType = roleNameDic['liable'] if loginID.endswith(
                    'b') else roleNameDic['manager']
                addRole(head, company.env, result['result']['userNum'],
                        roleType)
                break
            else:
                time.sleep(1)
    return head
示例#3
0
def getProcessInstanceId(loginID,env='c',MMusername='******',MMpassword='******',head=False):
	out(f'{MMusername} 正在获取 {loginID} 对应流程实例Id……\t\t\t\t\t\t')
	if not head:head=loginMMReq(env=env,username=MMusername,password=MMpassword)
	for i in range(5):
		r=requests.get(f'{MMdomainDic[env]}/myTask/list?page=1&limit=10',headers=head,verify=False)
		try:
			result=r.json()
		except json.decoder.JSONDecodeError:
			saveLog('查询流程实例Id失败!',r.text)
			time.sleep(1);continue
		for data in result['data']:
			if data['loginCode']==loginID:return MMdomainDic[env],head,data['processInstanceId']
		time.sleep(1)
	print('未查询到',loginID,'对应的 processInstanceId')
示例#4
0
def factorApply(head):#发起保理申请
	out('正在发起保理申请……\t\t\t\t\t\t')
	if not head:head=loginMMReq(env=args.env,username='',password='')
	key={
		'loginCode':args.loginID,
		'partnerCode':'BESTPAY',
		'productCode':productCodeDic[_productCodeDic[args.productCode]],
		'forecastReceAmount':args.FRA,
		'applyAmount':args.applyAmount,
		'expectTransferAmount':args.ETA,
		'expectLoanDay':args.expectLoanDay,
		'loanUsage':args.loanUsage,
		'factoringExpires':args.factorExp,
		'fundingCode':args.daddy,
		'creditAgencyCode':args.CAC,
		'factoringRate':args.factorRate,
		'totalPeriod':args.totalPeriod,
		'discountRate':args.discountRate,
		'coreEnterpriseCode':args.CEC,
		'repaymentType':args.repaymentType,
		'repayType':args.repayType,
		'guaranteeType':args.guarante,
		'loanType':args.loanType,
		'isRightRecourse':args.recourse,
		'factoringType':'',
		'informationSources':'',
		'contractSignWay':'',
		'repaySource':'',
		'externalEnhcType':'',
		'agent':'',
		'agentContact':'13207165870',
		'applyTime':f'{time.strftime("%Y%m%d",time.localtime())}000000',
	}
	for i in range(5):
		r=requests.post(f'{MMdomainDic[args.env]}/actFactoringApply/applyLargeFactoring',headers=head,data=key,verify=False)
		try:
			result=r.json()
			if result['success']:
				print("发起保理申请成功: ",result)
				return True
			else:
				print("发起保理申请失败: ",result)
		except json.decoder.JSONDecodeError:
			saveLog('发起保理申请请求失败!',r.text)
			time.sleep(1);continue
		except KeyError:
			saveLog('发起保理申请失败,返回数据异常!',r.text)
			time.sleep(1);continue
示例#5
0
def actCreditGranting(MMusername='',MMpassword=''):#授信申请发起
	out(f'发起授信申请:{args.loginID}\t\t\t\t\t\t')
	head=loginMMReq(env=args.env,username=MMusername,password=MMpassword)
	key={
		'loginCode':args.loginID,
		'customerType':args.cusType,
		'productCode':productCodeDic[_productCodeDic[args.productCode]],
	}
	for i in range(5):
		r=requests.post(f'{domain}/actCreditGranting/start',headers=head,data=key,verify=False)
		try:
			result=r.json()
			state=result['state']
			if state==1:return head
		except json.decoder.JSONDecodeError:
			saveLog(f'{args.loginID} 发起授信申请请求失败!',r.text)
			time.sleep(1);continue
		except KeyError:
			saveLog(f'{args.loginID} 发起授信申请失败!',str(result))
			time.sleep(1);continue
	goonORquit()
	return False
示例#6
0
def addUser(company,head=''):#新增用户、角色
	if not head:head=loginMMReq(env=company.env,username='******',password='******')
	key={
		'userNum':'',
		'loginName':company.loginID,
		'realName':company.legalName,
		'password':'******',
		'email':company.email,
		'statusCd':'Y',
		'sexCd':'1',
		'city':company.city,
		'mobile':company.legalTel,
		'entCreditCode':company.BLRN,
	}
	# userNumDic={}
	if company.cusType=='CORE':
		roleNameDic={'manager':'coreManager','liable':'coreLiable'}
	elif company.cusType=='CUSTOMER':
		roleNameDic={'manager':'custManager','liable':'custLiable'}
	for loginID in [company.loginID,company.opLoginID]:
		key['loginName']=loginID
		out(f'正在为 {loginID} 新增资金管理后台用户……\t\t\t\t\t\t')        
		for i in range(5):
			r=requests.post(f'{MMdomainDic[company.env]}/electronicSealUser/insert',headers=head,data=key,verify=False)
			try:
				result=r.json()
			except json.decoder.JSONDecodeError:
				time.sleep(1);continue
			if result['success']:
				out(f'为 {loginID} 新增资金管理后台用户成功!\t\t\t\t\t\t\t')
				# userNumDic[loginID]=result['result']['userNum']
				roleType=roleNameDic['liable'] if loginID.endswith('b') else roleNameDic['manager']
				addRole(head,company.env,result['result']['userNum'],roleType)
				break
			else:
				time.sleep(1)
	return head
示例#7
0
def entryCoreCompany(company,head=''):#录入核心企业
	if not head:head=loginMMReq(env=company.env,username='******',password='******')
	a,b=str(time.time()).split('.')
	key={
		'customerType':'1',
		'coreEnterpriseCode':f"ENT{time.strftime('%Y%m%d%H%M%S',time.localtime(int(a)))}{b}",
		'coreEnterpriseName':company.companyName,
		'loginCode':company.loginID,
		'partnerCode':company.bankCode,
		'certType':'01',
		'certCode':company.legalID,
		'isRealnameAuth':'1',
		'coreEnterpriseType':'CTCC',
		'province':'000000',
		'busiManager':'*',
		'remark':'',
		'customerName':company.companyName,
		'busiLicenseNumber':company.BLRN,
		'legalPerson':company.legalName,
		'legalPersonCertNo':company.legalID,
		'legalPersonMobile':company.legalTel,
		'registrationDate':f"{company.regTime.replace('-','')}000000",
		'registeredCapital':company.regCapital,
		'registeredAddr':company.officeAddr,
		'enterpriseType':'国企',
		'enterpriseNature':'国企',
		'enterpriseScale':'国企',
		'registrationAuthority':'国企',
		'officeAddr':company.officeAddr,
		'businessOpeningDate':f"{company.regTime.replace('-','')}000000",
		'businessClosingDate':f"{company.endTime.replace('-','')}000000",
		'businessScope':company.scope,
		'nationalTaxNo':company.taxRegCode,
		'localTaxNo':company.taxRegCode,
		'organizationalCode':company.orgCode,
		'organizationalValidity':f"{company.endTime.replace('-','')}000000",
		'unifiedSocialCode':company.BLRN,
		'importExportCert':company.permitNum,
		'annualInspectionDate':f"{company.endTime.replace('-','')}000000",
		'employeeNum':company.regCapital,
		'shareholdersNum':company.district,
		'tel':company.legalTel,
		'fax':'020689745',
		'email':company.email,
		'establishmentBackground':'测试成立背景',
		'developingProcess':'测试发展过程',
		'managementStructure':'测试管理结构',
		'mainProducts':'测试主要产品',
		'industryPolicy':'测试行业政策',
		'marketCompetition':'测试市场竞争状况',
		'futureDevelopmentPlan':'测试未来发展计划',
		'busiPlacesNature':'临街店面',
		'busiPlacesArea':'100.00',
		'busiPlacesEvaluation':'1000000.00',
		'actualController':company.legalName,
		'actualControllerCertNo':company.legalID,
		'actualControllerMobile':company.legalTel,
		'contacts':company.legalName,
		'contactsMobile':company.legalTel,
	}
	for i in range(5):
		r=requests.post(f'{MMdomainDic[company.env]}/coreEnterprise/save',headers=head,data=key,verify=False)
		try:
			result=r.json()
		except json.decoder.JSONDecodeError:
			print('添加核心企业返回数据错误',r.text)
			time.sleep(1);continue
		if result['success']:
			out(f'资金后台添加 {company.loginID} 核心企业成功!\t\t\t\t\t')
			return result
		else:
			time.sleep(1)
	print(f'资金后台添加 {company.loginID} 核心企业失败!{result}')
	goonORquit()
示例#8
0
def uploadExcel(idlist=[' '],
                env='c',
                save=0,
                noprint=1,
                head=0,
                menhuPath=''):
    if env in 'ps':
        cookiePath = os.path.join(menhuPath, f'cookie\\MM_{env}')
        head = {
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0',
            'Connection': 'close'
        }
        while 1:
            localCookie = open(cookiePath, 'r', encoding='UTF-8').read()
            head['Cookie'] = localCookie
            if not isMMalive(head, env):
                if menhuPath:
                    sendInput('生产资金后台cookie已失效,发送 更新cookie 查看更新方法')
                    if getInput('已更新'): continue
                else:
                    input('生产资金后台cookie已失效,请手动更新后回车继续:')
            else:
                break
    else:
        if not head:
            head = loginMMReq(env=env,
                              username=countMM[env]['usernameMM'],
                              password=countMM[env]['passwordMM'])
    for Id in idlist:
        if save: save_excel(Id)  #将输入的营业执照号保存到excel
        keys = MultipartEncoder({
            'creditFile': ('Precredit.xlsx', open(
                'Precredit.xlsx', 'rb'
            ), 'multipart/form-data', {
                'Content-Type':
                'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
                'Content-Disposition':
                'form-data; name="creditFile"; filename="Precredit.xlsx"'
            })
        })
        head['Content-Type'] = keys.content_type
        for i in range(5):
            r = requests.post(f'{MMdomainDic[env]}/uploads/creditUploads',
                              headers=head,
                              data=keys,
                              verify=False)
            try:
                result = r.json()
            except json.decoder.JSONDecodeError:
                continue
            try:
                if result['successCount'] == 1:
                    if not noprint:
                        print(f'成功:{Id}')
                        break
                    else:
                        return 1, head
                else:
                    print(f'导入预授信失败:{Id} 原因:{r.text}')
                    return 0, 0
            except (KeyError, TypeError):
                print('导入预授信失败,资金后台返回结果:', result)
                sys.exit()