Browse Source

接口调整

tanmh 6 years ago
parent
commit
678cc28d77

+ 502 - 0
src/main/java/com/uas/erp/schedular/finance/task/B2BInformation.java

@@ -0,0 +1,502 @@
+
+package com.uas.erp.schedular.finance.task;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import com.alibaba.fastjson.JSONObject;
+import com.uas.erp.schedular.task.support.Method;
+import com.usoft.fin.external.open.api.entity.CapitalSideLoan;
+import com.usoft.fin.external.open.api.entity.FinanceOfferListOrBuilder;
+import com.usoft.fin.external.open.api.entity.OfferQuotaInfoRest;
+import com.usoft.fin.external.open.api.protobuf.*;
+import com.usoft.sdk.fin.client.CapitalSideSdk;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import com.uas.erp.schedular.task.support.Role;
+import com.uas.erp.schedular.task.support.TaskMapping;
+import com.usoft.fin.external.open.api.entity.FinanceOfferDetails;
+import com.usoft.fin.external.open.api.entity.OfferDetailAndFinanceAccept;
+import com.usoft.fin.external.open.api.entity.OpenCapitalSideLoanOther;
+import com.usoft.fin.external.open.api.entity.OpenCapitalSideRepaymentPlanOther;
+import com.usoft.fin.external.open.api.protobuf.GetCapitalSideLoanReq;
+import com.usoft.fin.external.open.api.protobuf.GetCapitalSideLoanResp;
+import com.usoft.fin.external.open.api.protobuf.GetFinanceOfferDetailsReq;
+import com.usoft.fin.external.open.api.protobuf.GetFinanceOfferDetailsResp;
+import com.usoft.fin.external.open.api.protobuf.GetFinanceOfferListReq;
+import com.usoft.fin.external.open.api.protobuf.GetFinanceOfferListResp;
+import com.usoft.fin.external.open.api.protobuf.GetOfferQuotaInfoListReq;
+import com.usoft.fin.external.open.api.protobuf.GetOfferQuotaInfoListResp;
+import com.usoft.sdk.fin.utils.ProtoBufUtil;
+
+
+
+
+
+@Component
+@TaskMapping(title = "U智融对接服务", role = Role.SELLER)
+public class B2BInformation  extends AbstractTask{
+	
+	private CapitalSideSdk capitalSideSdk = new CapitalSideSdk("https://finrest.uuzcc.cn", "10050877", "b78d577449b64f56a8a6cf1feeb3fbf5");
+	/**
+	 * 下载放款记录列表
+	 * @throws Exception
+	 */
+	@TaskMapping(title = "放款记录下载", fixedDelay = 360000, method = Method.DOWNLOAD)
+    public void getCapitalSideLoan() throws Exception {
+		final List<String> sqls = new ArrayList<>();
+        GetCapitalSideLoanReq.Builder req = GetCapitalSideLoanReq.newBuilder();
+        req.setPageSize(100);
+        req.setPageNumber(1);
+        //req.setCsEnuu(10050877);  //保理企业UU
+        req.setCsEnuu(10050877);    //优软商城企业UU com.usoft.fin.external.open.api.entity.
+        GetCapitalSideLoanResp resp = capitalSideSdk.getCapitalSideLoan(req);
+        java.util.List<CapitalSideLoan> rlist = resp.getCapitalSideLoanList();
+        for(CapitalSideLoan loan :rlist){
+        	String aaCode = jdbcTemplate.generateCode("AccountApply!YSB2", 2);
+        	sqls.add("MERGE INTO AccountApply a"
+        			+" USING (SELECT nvl(max(id),0) ID FROM AccountApply where AA_LOANCODE = '"+loan.getLoanCode()+"') b"
+        		    +" ON (a.ID = b.ID)"
+        		    +" WHEN MATCHED THEN "
+        		    +" UPDATE SET a.AA_LOANDATE = '"+loan.getLoanDate()+"',a.AA_BACKDATE = '"+loan.getRepaymentData()+"', a.AA_TRUSTER ='"+loan.getPersonInCharge()+"',"
+        		    + "a.AA_APPLYDATE ='"+loan.getApplyDate()+"',a.AA_AUDITMAN ='"+loan.getApprovalMan()+"',a.AA_AUDITDATE='"+loan.getApprovalMan()+"',a.AA_AUDITDATE ='"+loan.getApprovalDate()+"',"
+        		    + "a.AA_LOANAMOUNT = '"+loan.getLoanAmount()+"',a.AA_FINANCEDEMANDCODE = '"+loan.getFinanceDemandCode()+"',a.AA_RECEIVABLESARRIVALDATE ='"+loan.getReceivablesArrivalDate()+"',"
+        		    + "a.AA_LOANRATE ='"+loan.getLoanRate()+"',a.AA_REPAYMENTFREQUENCY = '"+loan.getRepaymentFrequency()+"',a.AA_FSCOLLECTIONBANK ='"+loan.getFsCollectionBank()+"',"
+        		    + "a.AA_FSCOLLECTIONACCOUNT ='"+loan.getFsCollectionAccount()+"',a.AA_FSCOLLECTIONNAME ='"+loan.getFsCollectionName()+"',a.AA_RECEIPTFORLOAN ='"+loan.getReceiptForLoan()+"',"
+        		    + "a.AA_INTERESTPAYABLE='"+loan.getInterestPayable()+"',a.AA_BEOVERDUE='"+loan.getBeOverdue()+"',a.AA_SETTLE='"+loan.getSettle()+"',a.AA_PERSONINCHARGE'"+loan.getPersonInCharge()+"',"
+        		    + "a.AA_APPROVALDATE='"+loan.getApprovalDate()+"',a.AA_APPROVALMAN='"+loan.getApprovalMan()+"',a.AA_B2BSTATUS='"+loan.getStatus()+"',a.AA_REPAYMENTDATA= '"+loan.getRepaymentData()+"'"
+        		    +" WHEN NOT MATCHED THEN"
+        		    +" INSERT (AA_ID, AA_CODE, AA_CUSTCODE, AA_CUSTNAME, AA_STATUS, AA_SACODES, AA_BILLCODES,AA_BILLAMOUNT, AA_CURRENCY, AA_DUEAMOUNT,"
+        		    + " AA_BANK, AA_BACKBANKNO, AA_LOANDATE, AA_BACKDATE,AA_INTERESTRATE, AA_PENALTYRATE, AA_LENDRATE, AA_EFFECTDAYS, AA_HANDRATE, AA_OTHRATE, AA_ISNOTARIZATION,"
+        		    + "AA_OTHERS, AA_REMARK, AA_TRUSTER, AA_APPLYDATE, AA_RECORDER, AA_INDATE, AA_AUDITMAN, AA_AUDITDATE,AA_STATUSCODE, AA_ISPENALTY, AA_CACODE, AA_INTERESTPAYMETHOD, AA_FACTORING, AA_HAND, AA_MATURITYDATE,"
+        		    + "AA_LEFTAMOUNT, AA_INTERESTPAY, AA_AHEADPOUNDAGE, AA_OVERDUEDAYS, AA_ISCLOSEOFF, AA_CATECODE, AA_CATEDESC,AA_ISOVERDUE, AA_ODCODE, AA_INTEREST, AA_ARID, AA_ARCODE, AA_SAAMOUNT, AA_THISPAYAMOUNT, AA_THISPAYDATE,"
+        		    + "AA_TURNSTATUS, AA_TURNSTATUSCODE, AA_YAMOUNT, AA_MFCUSTCODE, AA_MFCUSTNAME, AA_TRANSFERAMOUNT, AA_ACTPAYDATE,"
+        			+ " AA_DOWNPAY, AA_DOWNPAYDESC, AA_MARGIN, AA_MARGINAMOUNT, AA_MARGINDATE, AA_GRACEPERIOD, AA_GRACEDAYS, "
+        			+ "AA_GRACERATE, AA_ASSUREMEANS, AA_CUSTACCOUNT, AA_LIVEYEAR, AA_AAID, AA_PRODUCTTYPE, AA_CLASS, AA_WANTAMOUNT, "
+        			+ "AA_FACTORCODE, AA_FACTORNAME, AA_LASTUPDATEDATE, AA_FIRSTDATE, AA_DEBXDATE, AA_DEBJDATE, AA_SENDSTATUS, " 
+        			+ "AA_B2BCODE, AA_AGREE, AA_MATURITY, AA_FINANCEDEMANDCODE, AA_ACCEPTOFFERCODE, AA_LOANCODE, AA_CSENUU, "
+        			+ "AA_FSENUU, AA_FSNAME, AA_RECEIVABLESARRIVALDATE, AA_FINANCERATE, AA_LOANAMOUNT, AA_LOANRATE, "
+        			+ "AA_REPAYMENTFREQUENCY, AA_FSCOLLECTIONBANK, AA_FSCOLLECTIONACCOUNT, AA_FSCOLLECTIONNAME, "
+        			+ "AA_RECEIPTFORLOAN, AA_INTERESTPAYABLE, AA_BEOVERDUE, AA_SETTLE, AA_PERSONINCHARGE, AA_APPROVALDATE, "
+        			+ "AA_APPROVALMAN, AA_UPLOADSTATUS,AA_B2BSTATUS,AA_REPAYMENTDATA,AA_B2BAA_APPLYDATE,AA_B2BAA_AUDITDATE) "
+        			+ "values (AccountApply_seq.nextval,'"+aaCode+"',null,null,'在录入',null,null,null,' ',null,null,null,to_date('"+loan.getLoanDate()+"','yyyy-MM-dd'),to_date('"+loan.getRepaymentData()+"','yyyy-MM-dd'),'"+loan.getLoanRate()+"',null,'"+loan.getFinanceRate()+"',null,null,null,null,null,null"
+			        + ",'"+loan.getPersonInCharge()+"',to_date('"+loan.getApplyDate()+"','yyyy-MM-dd'),null,null,'"+loan.getApprovalMan()+"',to_date('"+loan.getApprovalDate()+"','yyyy-MM-dd'),'ENTERING',null,null,null,null,null"
+				    + ",to_date('"+loan.getReceivablesArrivalDate()+"','yyyy-MM-dd'),null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null"
+					+ ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,'"+loan.getFinanceDemandCode()+"','"+loan.getAcceptOfferCode()+"',"
+					+ "'"+loan.getLoanCode()+"','"+loan.getCsEnuu()+"','"+loan.getFsEnuu()+"','"+loan.getFsName()+"',"
+				    + "'"+loan.getReceivablesArrivalDate()+"','"+loan.getFinanceRate()+"','"+loan.getLoanAmount()+"',"
+				    + "'"+loan.getLoanRate()+"','"+loan.getRepaymentFrequency()+"','"+loan.getFsCollectionBank()+"',"
+				    + "'"+loan.getFsCollectionAccount()+"','"+loan.getFsCollectionName()+"','"+loan.getReceiptForLoan()+"','"+loan.getInterestPayable()+"',"
+				    + "'"+loan.getBeOverdue()+"','"+loan.getSettle()+"','"+loan.getPersonInCharge()+"','"+loan.getApprovalDate()+"','"+loan.getApprovalMan()+"','已上传',"
+				    + "'"+loan.getStatus()+"','"+loan.getRepaymentData()+"','"+loan.getApplyDate()+"','"+loan.getApprovalDate()+"')");
+        	
+        	
+        	/*sqls.add("insert into AccountApply(AA_ID, AA_CODE, AA_CUSTCODE, AA_CUSTNAME, AA_STATUS, AA_SACODES, AA_BILLCODES,"
+        			+ " AA_BILLAMOUNT, AA_CURRENCY, AA_DUEAMOUNT, AA_BANK, AA_BACKBANKNO, AA_LOANDATE, AA_BACKDATE, "
+        			+ "AA_INTERESTRATE, AA_PENALTYRATE, AA_LENDRATE, AA_EFFECTDAYS, AA_HANDRATE, AA_OTHRATE, AA_ISNOTARIZATION,"
+        			
+        			+ " AA_OTHERS, AA_REMARK, AA_TRUSTER, AA_APPLYDATE, AA_RECORDER, AA_INDATE, AA_AUDITMAN, AA_AUDITDATE, "
+        			+ "AA_STATUSCODE, AA_ISPENALTY, AA_CACODE, AA_INTERESTPAYMETHOD, AA_FACTORING, AA_HAND, AA_MATURITYDATE, "
+        			
+        			+ "AA_LEFTAMOUNT, AA_INTERESTPAY, AA_AHEADPOUNDAGE, AA_OVERDUEDAYS, AA_ISCLOSEOFF, AA_CATECODE, AA_CATEDESC,"
+        			+ " AA_ISOVERDUE, AA_ODCODE, AA_INTEREST, AA_ARID, AA_ARCODE, AA_SAAMOUNT, AA_THISPAYAMOUNT, AA_THISPAYDATE, "
+        			
+        			+ "AA_TURNSTATUS, AA_TURNSTATUSCODE, AA_YAMOUNT, AA_MFCUSTCODE, AA_MFCUSTNAME, AA_TRANSFERAMOUNT, AA_ACTPAYDATE,"
+        			+ " AA_DOWNPAY, AA_DOWNPAYDESC, AA_MARGIN, AA_MARGINAMOUNT, AA_MARGINDATE, AA_GRACEPERIOD, AA_GRACEDAYS, "
+        			+ "AA_GRACERATE, AA_ASSUREMEANS, AA_CUSTACCOUNT, AA_LIVEYEAR, AA_AAID, AA_PRODUCTTYPE, AA_CLASS, AA_WANTAMOUNT, "
+        			+ "AA_FACTORCODE, AA_FACTORNAME, AA_LASTUPDATEDATE, AA_FIRSTDATE, AA_DEBXDATE, AA_DEBJDATE, AA_SENDSTATUS, " 
+        			+ "AA_B2BCODE, AA_AGREE, AA_MATURITY, AA_FINANCEDEMANDCODE, AA_ACCEPTOFFERCODE, AA_LOANCODE, AA_CSENUU, "
+        			+ "AA_FSENUU, AA_FSNAME, AA_RECEIVABLESARRIVALDATE, AA_FINANCERATE, AA_LOANAMOUNT, AA_LOANRATE, "
+        			+ "AA_REPAYMENTFREQUENCY, AA_FSCOLLECTIONBANK, AA_FSCOLLECTIONACCOUNT, AA_FSCOLLECTIONNAME, "
+        			+ "AA_RECEIPTFORLOAN, AA_INTERESTPAYABLE, AA_BEOVERDUE, AA_SETTLE, AA_PERSONINCHARGE, AA_APPROVALDATE, "
+        			+ "AA_APPROVALMAN, AA_UPLOADSTATUS,AA_B2BSTATUS,AA_REPAYMENTDATA,AA_B2BAA_APPLYDATE,AA_B2BAA_AUDITDATE) "
+        			+ "values (AccountApply_seq.nextval,'"+aaCode+"',null,null,'在录入',null,null,null,' ',null,null,null,to_date('"+loan.getLoanDate()+"','yyyy-MM-dd'),to_date('"+loan.getRepaymentData()+"','yyyy-MM-dd'),'"+loan.getLoanRate()+"',null,'"+loan.getFinanceRate()+"',null,null,null,null,null,null"
+        			        + ",'"+loan.getPersonInCharge()+"',to_date('"+loan.getApplyDate()+"','yyyy-MM-dd'),null,null,'"+loan.getApprovalMan()+"',to_date('"+loan.getApprovalDate()+"','yyyy-MM-dd'),'ENTERING',null,null,null,null,null"
+        				    + ",to_date('"+loan.getReceivablesArrivalDate()+"','yyyy-MM-dd'),null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null"
+        					+ ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,'"+loan.getFinanceDemandCode()+"','"+loan.getAcceptOfferCode()+"',"
+        					+ "'"+loan.getLoanCode()+"','"+loan.getCsEnuu()+"','"+loan.getFsEnuu()+"','"+loan.getFsName()+"',"
+        				    + "'"+loan.getReceivablesArrivalDate()+"','"+loan.getFinanceRate()+"','"+loan.getLoanAmount()+"',"
+        				    + "'"+loan.getLoanRate()+"','"+loan.getRepaymentFrequency()+"','"+loan.getFsCollectionBank()+"',"
+        				    + "'"+loan.getFsCollectionAccount()+"','"+loan.getFsCollectionName()+"','"+loan.getReceiptForLoan()+"','"+loan.getInterestPayable()+"',"
+        				    + "'"+loan.getBeOverdue()+"','"+loan.getSettle()+"','"+loan.getPersonInCharge()+"','"+loan.getApprovalDate()+"','"+loan.getApprovalMan()+"','已上传',"
+        				    + "'"+loan.getStatus()+"','"+loan.getRepaymentData()+"','"+loan.getApplyDate()+"','"+loan.getApprovalDate()+"')");*/
+        }
+        System.out.println(sqls);
+        jdbcTemplate.batchExecute(sqls);
+       
+    }
+    
+    /**
+     * 报价记录下载
+     * @throws Exception
+     */
+	@TaskMapping(title = "报价记录下载", fixedDelay = 360000, method = Method.DOWNLOAD)
+    public void getFinanceOfferList() throws Exception {
+    	final List<String> sqls = new ArrayList<>();
+    	final List<String> sqlsDemand = new ArrayList<>();
+    	GetFinanceOfferListReq.Builder req = GetFinanceOfferListReq.newBuilder();
+		req.setEnuu(10050877);
+		req.setPageNumber(1);
+		req.setPageSize(100);
+		GetFinanceOfferListResp resp = capitalSideSdk.getFinanceOfferList(req);
+		
+		List<? extends FinanceOfferListOrBuilder> flist = resp.getFinanceOfferInfoOrBuilderList();
+		
+		for(FinanceOfferListOrBuilder Finance :flist){
+			sqls.add("MERGE INTO AcceptOffer ao"
+			+" USING (SELECT nvl(max(id),0) ID FROM AcceptOffer where CODE = '"+Finance.getAcceptOfferInfo().getCode()+"') b"
+		    +" ON (ao.ID = b.ID)"
+		    +" WHEN MATCHED THEN "
+		    +" UPDATE SET ao.OFFERAMOUNT='"+Finance.getAcceptOfferInfo().getOfferAmount()+"',ao.FINANCERATE = '"+Finance.getAcceptOfferInfo().getFinanceRate()+"',ao.FINANCEDAYS ='"+Finance.getAcceptOfferInfo().getFinanceDays()+"',"
+		    	+ "ao.CAPITALSIDENAME = '"+Finance.getAcceptOfferInfo().getCapitalSideName()+"',ao.CSCONTACTSMAN = '"+Finance.getAcceptOfferInfo().getCsContactsMan()+"',ao.FSCONTACTSPHONE = '"+Finance.getAcceptOfferInfo().getFsContactsPhone()+"',"
+		    	+ "ao.OFFERTIME = '"+Finance.getAcceptOfferInfo().getOfferTime()+"',ao.STATUS = '"+Finance.getAcceptOfferInfo().getStatus()+"',ao.PAYMENTS ='"+Finance.getAcceptOfferInfo().getPayments()+"',"
+		    	+ " ao.FINANCINGRATIO = '"+Finance.getAcceptOfferInfo().getFinancingRatio()+"' "
+		    +" WHEN NOT MATCHED THEN"
+		    +" INSERT (ID,CODE,FINANCECODE,OFFERAMOUNT,FINANCERATE,FINANCEDAYS,CAPITALSIDENAME,CSCONTACTSMAN,CSCONTACTSPHONE,CSENUU,"
+		    +" CSUSERUU,CSUSERNAME,FINANCESIDENAME,FSCONTACTSMAN,FSCONTACTSPHONE,OFFERTIME,STATUS,PAYMENTS,OFFERRATE,FINANCINGRATIO,UPLOADSTATUS)"
+		    + " values (AcceptOffer_seq.nextval,'"+Finance.getAcceptOfferInfo().getCode()+"','"+Finance.getAcceptOfferInfo().getFinanceCode()+"','"+Finance.getAcceptOfferInfo().getOfferAmount()+"',"
+				+ "'"+Finance.getAcceptOfferInfo().getFinanceRate()+"','"+Finance.getAcceptOfferInfo().getFinanceDays()+"','"+Finance.getAcceptOfferInfo().getCapitalSideName()+"','"+Finance.getAcceptOfferInfo().getCsContactsMan()+"',"
+			    + "'"+Finance.getAcceptOfferInfo().getCsContactsPhone()+"','"+Finance.getAcceptOfferInfo().getCsEnuu()+"','"+Finance.getAcceptOfferInfo().getCsUseruu()+"','"+Finance.getAcceptOfferInfo().getCsUserName()+"',"
+			    + "'"+Finance.getAcceptOfferInfo().getFinanceSideName()+"','"+Finance.getAcceptOfferInfo().getFsContactsMan()+"','"+Finance.getAcceptOfferInfo().getFsContactsPhone()+"','"+Finance.getAcceptOfferInfo().getOfferTime()+"',"
+			    + "'"+Finance.getAcceptOfferInfo().getStatus()+"','"+Finance.getAcceptOfferInfo().getPayments()+"','"+Finance.getAcceptOfferInfo().getOfferRate()+"',"
+			    + "'"+Finance.getAcceptOfferInfo().getFinancingRatio()+"','已上传')");
+			
+			sqlsDemand.add("MERGE INTO ACCEPTFINANCEDEMAND a"
+				    +" USING (SELECT nvl(max(id),0) ID from ACCEPTFINANCEDEMAND where code = '"+Finance.getFinanceDemandInfo().getCode()+"') b"
+				    +" ON (a.ID = b.ID)"
+				    +" WHEN MATCHED THEN "
+				    +" UPDATE SET a.AMOUNT='"+Finance.getFinanceDemandInfo().getAmount()+"',a.DEALAMOUNT = '"+Finance.getFinanceDemandInfo().getDealAmount()+"',a.DEALRATE = '"+Finance.getFinanceDemandInfo().getDealRate()+"',"
+				    		+ "a.FSENNAME = '"+Finance.getFinanceDemandInfo().getFsEnName()+"',a.status = '"+Finance.getFinanceDemandInfo().getStatus()+"',a.FSCONTACTSPHONE = '"+Finance.getFinanceDemandInfo().getFsContactsPhone()+"',"
+				    		+ "a.PUBTIME = '"+Finance.getFinanceDemandInfo().getPubTime()+"',a.ENDTIME = '"+Finance.getFinanceDemandInfo().getEndTime()+"',"
+				    		+ "a.DEALTIME ='"+Finance.getFinanceDemandInfo().getDealTime()+"',a.OFFERCOUNT ='"+Finance.getFinanceDemandInfo().getOfferCount()+"',a.FSDEMANDAMOUNT = '"+Finance.getFinanceDemandInfo().getFsDemandAmount()+"'"
+				    +" WHEN NOT MATCHED THEN "
+				    +" INSERT (ID,CODE,ADOPTCODE,FINANCEDAYS,STATUS,AMOUNT,DEALAMOUNT,DEALRATE,FSENNAME,FSENUU,FSUSERNAME,FSUSERUU,FSCONTACTSMAN,"
+				    + "FSCONTACTSPHONE,CSENNAME,CSENUU,CSUSERNAME,CSUSERUU,CSCONTACTSMAN,CSCONTACTSPHONE,PUBTIME,ENDTIME,DEALTIME,OFFERCOUNT,FSDEMANDAMOUNT,UPLOADSTATUS)"
+    			+ " values (ACCEPTFINANCEDEMAND_seq.nextval,'"+Finance.getFinanceDemandInfo().getCode()+"','"+Finance.getFinanceDemandInfo().getAdoptCode()+"','"+Finance.getFinanceDemandInfo().getFinanceDays()+"',"
+    					+ "'"+Finance.getFinanceDemandInfo().getStatus()+"','"+Finance.getFinanceDemandInfo().getAmount()+"','"+Finance.getFinanceDemandInfo().getDealAmount()+"','"+Finance.getFinanceDemandInfo().getDealRate()+"',"
+    				    + "'"+Finance.getFinanceDemandInfo().getFsEnName()+"','"+Finance.getFinanceDemandInfo().getFsEnuu()+"','"+Finance.getFinanceDemandInfo().getFsUserName()+"','"+Finance.getFinanceDemandInfo().getFsUseruu()+"',"
+    				    + "'"+Finance.getFinanceDemandInfo().getFsContactsMan()+"','"+Finance.getFinanceDemandInfo().getFsContactsPhone()+"','"+Finance.getFinanceDemandInfo().getCsEnName()+"','"+Finance.getFinanceDemandInfo().getCsEnuu()+"',"
+    				    + "'"+Finance.getFinanceDemandInfo().getCsUserName()+"','"+Finance.getFinanceDemandInfo().getCsUseruu()+"','"+Finance.getFinanceDemandInfo().getCsContactsMan()+"',"
+    				    + "'"+Finance.getFinanceDemandInfo().getCsContactsPhone()+"','"+Finance.getFinanceDemandInfo().getPubTime()+"','"+Finance.getFinanceDemandInfo().getEndTime()+"'"
+    				    + ",'"+Finance.getFinanceDemandInfo().getDealTime()+"','"+Finance.getFinanceDemandInfo().getOfferCount()+"','"+Finance.getFinanceDemandInfo().getFsDemandAmount()+"'"
+    				    + ",'已上传')");
+			
+		}
+		System.out.println(sqlsDemand);
+        jdbcTemplate.batchExecute(sqls);  //报价信息
+        jdbcTemplate.batchExecute(sqlsDemand);   //融资信息
+        
+        
+        
+	}
+    
+    /**
+     * 额度申请
+     * @throws Exception
+     */
+	@TaskMapping(title = "额度申请下载", fixedDelay = 360000, method = Method.DOWNLOAD)
+    public void getOfferQuotaInfoList() throws Exception {
+		final List<String> sqls = new ArrayList<>();
+    	GetOfferQuotaInfoListReq.Builder req = GetOfferQuotaInfoListReq.newBuilder();
+    	req.setCsEnuu(10042875);
+		req.setPageNumber(1);
+		req.setPageSize(100);
+		GetOfferQuotaInfoListResp resp = capitalSideSdk.getOfferQuotaInfoList(req);
+		java.util.List<OfferQuotaInfoRest> restlist = resp.getOfferQuoteInfoList();
+		for(OfferQuotaInfoRest rest :restlist){
+        	sqls.add("MERGE INTO OfferQuotaInfoRest a"
+				    +" USING (SELECT nvl(max(id),0) ID from OfferQuotaInfoRest where code = '"+rest.getCode()+"') b"
+				    +" ON (a.ID = b.ID)"
+				    +" WHEN MATCHED THEN "
+				    +" UPDATE SET a.CSENNAME='"+rest.getCsEnName()+"',a.QUOTAAMOUNT ='"+rest.getQuotaAmount()+"',a.CREDDAYS='"+rest.getCredDays()+"',a.FINANCERATE='"+rest.getFinanceRate()+"',a.OFFERRATE='"+rest.getOfferRate()+"',"
+				     + "a.REPAYMENT='"+rest.getRepayment()+"',a.APPLYTIME='"+rest.getApplyTime()+"',a.APPLYUU='"+rest.getApplyUu()+"',a.APPLYUSERNAME='"+rest.getApplyUsername()+"',"
+				     + "a.CHECKERTIME='"+rest.getCheckerTime()+"',a.CHECKERUU='"+rest.getCheckerUu()+"',a.CHECKERUSERNAME='"+rest.getCheckerUsername()+"',a.STATUS='"+rest.getStatus()+"',a.CHECKERCONTENT='"+rest.getCheckerContent()+"'"
+				    +" WHEN NOT MATCHED THEN "
+				    +" INSERT (CSENUU,CSENNAME,FSENUU,FSENNAME,QUOTAAMOUNT,CREDDAYS,FINANCERATE,OFFERRATE,REPAYMENT,APPLYTIME,"
+				    + "APPLYUU,APPLYUSERNAME,CHECKERTIME,CHECKERUU,CHECKERUSERNAME,STATUS,CHECKERCONTENT,ID,CODE,UPLOADSTATUS)"
+				    + "values ('"+rest.getCsEnuu()+"','"+rest.getCsEnName()+"','"+rest.getFsEnuu()+"',"
+					+ "'"+rest.getFsEnName()+"','"+rest.getQuotaAmount()+"','"+rest.getCredDays()+"','"+rest.getFinanceRate()+"',"
+				    + "'"+rest.getOfferRate()+"','"+rest.getRepayment()+"',to_date('"+rest.getApplyTime()+"','yyyy-MM-dd HH24:MI:SS'),'"+rest.getApplyUu()+"',"
+				    + "'"+rest.getApplyUsername()+"',to_date('"+rest.getCheckerTime()+"','yyyy-MM-dd HH24:MI:SS'),'"+rest.getCheckerUu()+"','"+rest.getCheckerUsername()+"',"
+				    + "'"+rest.getStatus()+"','"+rest.getCheckerContent()+"',OfferQuotaInfoRest_seq.nextval,'"+rest.getCode()+"','已上传')");
+        }
+		System.out.println(sqls);
+		jdbcTemplate.batchExecute(sqls);
+    }
+    
+    
+    /**
+     * 下载报价详情
+     */
+	public void getFinanceOfferDetails() throws Exception {
+		final List<String> ordersqls = new ArrayList<>();   //订单详情
+		final List<String> acceptsqls = new ArrayList<>();   //验收单详情
+		GetFinanceOfferDetailsReq.Builder req = GetFinanceOfferDetailsReq.newBuilder();
+		req.setOfferCode("71191218666434955543");//financeDemandDetail
+		GetFinanceOfferDetailsResp resp = capitalSideSdk.getFinanceOfferDetails(req);
+		FinanceOfferDetails adetaillist =  resp.getFinanceOfferInfo();
+		List<OfferDetailAndFinanceAccept> restlist = adetaillist.getOfferDetailAndFinanceAcceptInfoList();
+		for(OfferDetailAndFinanceAccept rest :restlist){
+			
+			ordersqls.add("MERGE INTO ACCEPTFINANCEDEMANDDETAIL a"
+				    +" USING (SELECT nvl(max(id),0) ID from ACCEPTFINANCEDEMANDDETAIL where code = '"+rest.getFinanceDemandDetail().getCode()+"') b"
+				    +" ON (a.ID = b.ID)"
+				    +" WHEN MATCHED THEN "
+				    +" UPDATE SET a.FINANCEDEMANDCODE='"+rest.getFinanceDemandDetail().getFinanceDemandCode()+"',a.CUSTENNAME='"+rest.getFinanceDemandDetail().getCustEnName()+"',a.CUSTGRADE='"+rest.getFinanceDemandDetail().getCustGrade()+"',a.PAYMENTS='"+rest.getFinanceDemandDetail().getPayments()+"',"
+				    + "a.ORDERID='"+rest.getFinanceDemandDetail().getOrderId()+"',a.ORDERCODE='"+rest.getFinanceDemandDetail().getOrderCode()+"',a.ORDERTOTAL='"+rest.getFinanceDemandDetail().getOrderTotal()+"',a.ACCEPTAMOUNT='"+rest.getFinanceDemandDetail().getAcceptAmount()+"'"
+				    +" WHEN NOT MATCHED THEN "
+				    +" INSERT (ID,CODE,FINANCEDEMANDCODE,CUSTENUU,CUSTENNAME,CUSTGRADE,PAYMENTS,ORDERID,ORDERCODE,ORDERTOTAL,"
+				    + "ACCEPTAMOUNT,UPLOADSTATUS)"
+				    + "values (ACCEPTFINANCEDEMANDDETAIL_seq.nextval,'"+rest.getFinanceDemandDetail().getCode()+"','"+rest.getFinanceDemandDetail().getFinanceDemandCode()+"','"+rest.getFinanceDemandDetail().getCustEnuu()+"',"
+					+ "'"+rest.getFinanceDemandDetail().getCustEnName()+"','"+rest.getFinanceDemandDetail().getCustGrade()+"','"+rest.getFinanceDemandDetail().getPayments()+"','"+rest.getFinanceDemandDetail().getOrderId()+"',"
+				    + "'"+rest.getFinanceDemandDetail().getOrderCode()+"','"+rest.getFinanceDemandDetail().getOrderTotal()+"','"+rest.getFinanceDemandDetail().getAcceptAmount()+"','已上传')");
+			
+			/*ordersqls.add("insert into ACCEPTFINANCEDEMANDDETAIL(ID,CODE,FINANCEDEMANDCODE,CUSTENUU,CUSTENNAME,CUSTGRADE,PAYMENTS,ORDERID,ORDERCODE,ORDERTOTAL,"
+        			+ "ACCEPTAMOUNT,UPLOADSTATUS) "
+        			+ "values (ACCEPTFINANCEDEMANDDETAIL_seq.nextval,'"+rest.getFinanceDemandDetail().getCode()+"','"+rest.getFinanceDemandDetail().getFinanceDemandCode()+"','"+rest.getFinanceDemandDetail().getCustEnuu()+"',"
+        					+ "'"+rest.getFinanceDemandDetail().getCustEnName()+"','"+rest.getFinanceDemandDetail().getCustGrade()+"','"+rest.getFinanceDemandDetail().getPayments()+"','"+rest.getFinanceDemandDetail().getOrderId()+"',"
+        				    + "'"+rest.getFinanceDemandDetail().getOrderCode()+"','"+rest.getFinanceDemandDetail().getOrderTotal()+"','"+rest.getFinanceDemandDetail().getAcceptAmount()+"','已上传'");*/
+			 String formats = "yyyy-MM-dd HH:mm:ss";
+			 Long timestamp = Long.parseLong(rest.getFinanceDemandDetailAccept().getAcceptDate());
+		     String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
+
+			acceptsqls.add("MERGE INTO FINANCEDEMANDDETAILACCEPT a"
+				    +" USING (SELECT nvl(max(id),0) ID from FINANCEDEMANDDETAILACCEPT where code = '"+rest.getFinanceDemandDetailAccept().getCode()+"') b"
+				    +" ON (a.ID = b.ID)"
+				    +" WHEN MATCHED THEN "
+				    +" UPDATE SET a.FINANCEDEMANDCODE='"+rest.getFinanceDemandDetailAccept().getFinanceDemandCode()+"',a.FINANCEDEMANDDETAILCODE='"+rest.getFinanceDemandDetailAccept().getFinanceDemandDetailCode()+"',a.ORDERITEMID='"+rest.getFinanceDemandDetailAccept().getOrderItemId()+"',"
+				    + "a.ACCEPTITEMID='"+rest.getFinanceDemandDetailAccept().getAcceptItemId()+"',a.ACCEPTID='"+rest.getFinanceDemandDetailAccept().getAcceptId()+"',a.ACCEPTAMOUNT='"+rest.getFinanceDemandDetailAccept().getAcceptAmount()+"',"
+				    + "a.ACCEPTCODE='"+rest.getFinanceDemandDetailAccept().getAcceptCode()+"',a.ACCEPTSTATUS='"+rest.getFinanceDemandDetailAccept().getAcceptStatus()+"',a.TITLE='"+rest.getFinanceDemandDetailAccept().getTitle()+"',a.SPEC='"+rest.getFinanceDemandDetailAccept().getSpec()+"',a.PRODUCTCODE='"+rest.getFinanceDemandDetailAccept().getProductCode()+"',a.STATUS='"+rest.getFinanceDemandDetailAccept().getStatus()+"'"
+				    +" WHEN NOT MATCHED THEN "
+				    +" INSERT (ID,CODE,FINANCEDEMANDCODE,FINANCEDEMANDDETAILCODE,ORDERITEMID,ACCEPTITEMID,ACCEPTID,ACCEPTAMOUNT,ACCEPTDATE,ACCEPTCODE,"
+				    + "ACCEPTSTATUS,TITLE,SPEC,PRODUCTCODE,STATUS,UPLOADSTATUS)"
+				    + "values (FINANCEDEMANDDETAILACCEPT_seq.nextval,'"+rest.getFinanceDemandDetailAccept().getCode()+"','"+rest.getFinanceDemandDetailAccept().getFinanceDemandCode()+"','"+rest.getFinanceDemandDetailAccept().getFinanceDemandDetailCode()+"',"
+        			+ "'"+rest.getFinanceDemandDetailAccept().getOrderItemId()+"','"+rest.getFinanceDemandDetailAccept().getAcceptItemId()+"','"+rest.getFinanceDemandDetailAccept().getAcceptId()+"','"+rest.getFinanceDemandDetailAccept().getAcceptAmount()+"','"+date+"',"
+        		    + "'"+rest.getFinanceDemandDetailAccept().getAcceptCode()+"','"+rest.getFinanceDemandDetailAccept().getAcceptStatus()+"','"+rest.getFinanceDemandDetailAccept().getTitle()+"',"
+        		    + "'"+rest.getFinanceDemandDetailAccept().getSpec()+"','"+rest.getFinanceDemandDetailAccept().getProductCode()+"','"+rest.getFinanceDemandDetailAccept().getStatus()+"','已上传')");
+			
+			/*acceptsqls.add("insert into FINANCEDEMANDDETAILACCEPT(ID,CODE,FINANCEDEMANDCODE,FINANCEDEMANDDETAILCODE,ORDERITEMID,ACCEPTITEMID,ACCEPTID,ACCEPTAMOUNT,ACCEPTDATE,ACCEPTCODE,"
+        			+ "ACCEPTSTATUS,TITLE,SPEC,PRODUCTCODE,STATUS,UPLOADSTATUS) "
+        			+ "values (FINANCEDEMANDDETAILACCEPT_seq.nextval,'"+rest.getFinanceDemandDetailAccept().getCode()+"','"+rest.getFinanceDemandDetailAccept().getFinanceDemandCode()+"','"+rest.getFinanceDemandDetailAccept().getFinanceDemandDetailCode()+"',"
+        			+ "'"+rest.getFinanceDemandDetailAccept().getOrderItemId()+"','"+rest.getFinanceDemandDetailAccept().getAcceptId()+"','"+rest.getFinanceDemandDetailAccept().getAcceptAmount()+"','"+rest.getFinanceDemandDetailAccept().getAcceptDate()+"',"
+        		    + "'"+rest.getFinanceDemandDetailAccept().getAcceptCode()+"','"+rest.getFinanceDemandDetailAccept().getAcceptStatus()+"','"+rest.getFinanceDemandDetailAccept().getTitle()+"','"+rest.getFinanceDemandDetailAccept().getSpec()+"','"+rest.getFinanceDemandDetailAccept().getProductCode()+"','"+rest.getFinanceDemandDetailAccept().getStatus()+"','已上传'");*/
+		}
+		System.out.println(acceptsqls);
+		jdbcTemplate.batchExecute(acceptsqls);
+		jdbcTemplate.batchExecute(ordersqls);
+		
+	}
+	
+	  /**
+		* 上传放款信息
+		* @throws Exception
+		*/
+	@TaskMapping(title = "上传放款信息", fixedDelay = 60000, method = Method.DOWNLOAD)
+	public void addCapitalSideLoan() throws Exception  {
+		   
+		    List<Map<String, Object>> capitalSideLoan = getAccountApplyUpload();  //获取需要上传的放款申请
+		    AddCapitalSideLoanReq.Builder req = AddCapitalSideLoanReq.newBuilder();
+		    OpenCapitalSideLoanOther.Builder capitalSideLoanOther = OpenCapitalSideLoanOther.newBuilder();
+		    if (!CollectionUtils.isEmpty(capitalSideLoan)) {
+	            List<String> sqlList = new ArrayList<>();
+				for (Map<String, Object> map:capitalSideLoan) {
+					 capitalSideLoanOther.setFinanceDemandCode(map.get("AA_FINANCEDEMANDCODE").toString());
+					 Object loancode = map.get("AA_LOANCODE");
+					 if(loancode != null){
+						 capitalSideLoanOther.setLoanCode(map.get("AA_LOANCODE").toString());  //放款编号
+					 }
+					 if(map.get("AA_RECEIVABLESARRIVALDATE").toString() != null){
+					    capitalSideLoanOther.setReceivablesArrivalDate(map.get("AA_RECEIVABLESARRIVALDATE").toString()); //应收账款到期日
+					  }
+					  if(Double.valueOf(map.get("AA_FINANCERATE").toString()) != null && Double.valueOf(map.get("AA_FINANCERATE").toString()) != 0){
+						  capitalSideLoanOther.setFinanceRate(Double.valueOf(map.get("AA_FINANCERATE").toString()));   //融资比例
+					  }
+					  if(Double.valueOf(map.get("AA_LOANAMOUNT").toString()) != null && Double.valueOf(map.get("AA_LOANAMOUNT").toString()) !=0){
+					      capitalSideLoanOther.setLoanAmount(Double.valueOf(map.get("AA_LOANAMOUNT").toString()));    //放款金额(元)
+					    }
+					  if(map.get("AA_LOANRATE").toString() != null){
+						  capitalSideLoanOther.setLoanDate(map.get("AA_LOANRATE").toString());   //放款日期
+					  }
+					  if(map.get("AA_BACKDATE").toString() != null){
+						  capitalSideLoanOther.setRepaymentData(map.get("AA_BACKDATE").toString());  //还款日期
+					  }
+					  if(Double.valueOf(map.get("AA_LOANRATE").toString()) != null && Double.valueOf(map.get("AA_LOANRATE").toString()) != 0){
+						  capitalSideLoanOther.setLoanRate(Double.valueOf(map.get("AA_LOANRATE").toString()));    //放款年利率
+					  }
+					  if(map.get("AA_REPAYMENTFREQUENCY").toString() != null){
+						  capitalSideLoanOther.setRepaymentFrequency(map.get("AA_REPAYMENTFREQUENCY").toString());   //还息频率
+					  }
+					   if(map.get("AA_FSCOLLECTIONBANK").toString() != null){
+						   capitalSideLoanOther.setFsCollectionBank(map.get("AA_FSCOLLECTIONBANK").toString());    //客户收款开户行
+					   }
+					    if(map.get("AA_FSCOLLECTIONACCOUNT").toString() != null){
+					    	capitalSideLoanOther.setFsCollectionAccount(map.get("AA_FSCOLLECTIONACCOUNT").toString());   //客户收款账号
+					    }
+					  if(map.get("AA_FSCOLLECTIONNAME").toString() != null){
+						  capitalSideLoanOther.setFsCollectionName(map.get("AA_FSCOLLECTIONNAME").toString());   //客户收款账号名称
+					  }
+					  if(map.get("AA_RECEIPTFORLOAN").toString() != null){
+						  capitalSideLoanOther.setReceiptForLoan(Double.valueOf(map.get("AA_RECEIPTFORLOAN").toString()));  //借据余额(元)
+					  }
+					  if(Double.valueOf(map.get("AA_INTERESTPAYABLE").toString()) != null && Double.valueOf(map.get("AA_INTERESTPAYABLE").toString()) != 0){
+						  capitalSideLoanOther.setInterestPayable(Double.valueOf(map.get("AA_INTERESTPAYABLE").toString()));   //应还利息(元)
+					  }
+					  if(Integer.valueOf(map.get("AA_BEOVERDUE").toString()) != null && Integer.valueOf(map.get("AA_BEOVERDUE").toString()) != 0){
+						  capitalSideLoanOther.setBeOverdue(Integer.valueOf(map.get("AA_BEOVERDUE").toString()));   //是否结清
+					  }
+					  if(Integer.valueOf(map.get("AA_SETTLE").toString()) != null && Integer.valueOf(map.get("AA_SETTLE").toString()) != 0){
+						  capitalSideLoanOther.setSettle(Integer.valueOf(map.get("AA_SETTLE").toString()));   //是否结清
+				      }
+					  if(map.get("AA_APPLYDATE").toString() != null && map.get("AA_APPLYDATE").toString() != " "){
+						  capitalSideLoanOther.setApplyDate(map.get("AA_APPLYDATE").toString());   //申请日期
+					  } 
+					  if(map.get("AA_PERSONINCHARGE").toString() != null){
+						  capitalSideLoanOther.setPersonInCharge(map.get("AA_PERSONINCHARGE").toString());   //状态
+
+					  }
+					   if(Integer.valueOf(map.get("AA_B2BSTATUS").toString()) != null && Integer.valueOf(map.get("AA_B2BSTATUS").toString()) != 0){
+						   capitalSideLoanOther.setStatus(Integer.valueOf(map.get("AA_B2BSTATUS").toString()));  //状态
+
+					   }
+					  if(map.get("AA_APPROVALDATE").toString() != null ){
+						  capitalSideLoanOther.setApprovalDate(map.get("AA_APPROVALDATE").toString());  //审批人
+					  }
+					  if(map.get("AA_APPROVALMAN").toString() != null){
+						  capitalSideLoanOther.setApprovalMan(map.get("AA_APPROVALMAN").toString()); //审批人
+					  }
+					   req.setCapitalSideLoan(capitalSideLoanOther);
+					   req.setEnuu(10050877);
+					 AddCapitalSideLoanResp resp = capitalSideSdk.addCapitalSideLoan(req);
+					 System.out.println(resp);
+	                String s = ProtoBufUtil.toJSON(resp);
+	                JSONObject jsonObject = JSONObject.parseObject(s);
+	                Object code = JSONObject.parseObject(jsonObject.get("respHeader").toString()).get("code");
+	                if ("0".equals(code.toString())){
+	                    sqlList.add("update ACCOUNTAPPLY set AA_UPLOADSTATUS = '已上传' where aa_id = " + map.get("aa_ID"));
+	                }
+				}
+	            if (!CollectionUtils.isEmpty(sqlList)) {
+	                jdbcTemplate.batchExecute(sqlList);
+	            }
+			}
+		
+		   /* OpenCapitalSideRepaymentPlanOther.Builder capitalSideRepaymentPlanOther = OpenCapitalSideRepaymentPlanOther.newBuilder();
+		    capitalSideRepaymentPlanOther.setRepaymentData("2020-2-25");
+		    capitalSideRepaymentPlanOther.setCurrency("RMB");
+		    capitalSideRepaymentPlanOther.setCapitalAmount(10000);
+		    capitalSideRepaymentPlanOther.setInterest(1000);
+		    capitalSideRepaymentPlanOther.setAmount(101000);
+		    capitalSideRepaymentPlanOther.setPersonInCharge("lzx");
+		    req.addCapitalSideRepaymentPlan(capitalSideRepaymentPlanOther);
+		
+		    OpenCapitalSideRepaymentPlanOther.Builder capitalSideRepaymentPlanOther1 = OpenCapitalSideRepaymentPlanOther.newBuilder();
+		    capitalSideRepaymentPlanOther1.setRepaymentData("2020-3-25");
+		    capitalSideRepaymentPlanOther1.setCurrency("RMB");
+		    capitalSideRepaymentPlanOther1.setCapitalAmount(9891.2);
+		    capitalSideRepaymentPlanOther1.setInterest(4000);
+		    capitalSideRepaymentPlanOther1.setAmount(13891.2);
+		    capitalSideRepaymentPlanOther1.setPersonInCharge("lzx");
+		    req.addCapitalSideRepaymentPlan(capitalSideRepaymentPlanOther1);
+		    req.setEnuu(10050877);*/
+		
+		  //  AddCapitalSideLoanResp resp = capitalSideSdk.addCapitalSideLoan(req);
+		   // System.out.println(ProtoBufUtil.toJSON(resp));
+		}
+		
+		/**
+		 * 获取需要上传的放款申请
+		 *
+		 * @return
+		 */
+	private List<Map<String, Object>> getAccountApplyUpload() {
+			List<Map<String, Object>> maps = jdbcTemplate.queryForList(" select * from ("
+        +" select AA_ID,AA_FINANCEDEMANDCODE,AA_LOANCODE,AA_CSENUU,AA_FSENUU,AA_RECEIVABLESARRIVALDATE,AA_FINANCERATE,AA_LOANAMOUNT,"
+        +" AA_LOANRATE,AA_REPAYMENTFREQUENCY,AA_FSCOLLECTIONBANK,AA_FSCOLLECTIONACCOUNT,AA_FSCOLLECTIONNAME,AA_RECEIPTFORLOAN,AA_INTERESTPAYABLE,"
+        +" AA_BEOVERDUE,AA_SETTLE,AA_PERSONINCHARGE,AA_APPROVALDATE,AA_APPROVALMAN,AA_BACKDATE,AA_APPLYDATE,AA_B2BSTATUS from ACCOUNTAPPLY "
+        +" where AA_UPLOADSTATUS = '待上传' order by aa_code) where rownum < 100");
+		 return maps;
+		}
+
+	/**
+	 * 上传卖方客户额度申请
+	 * @throws Exception
+	 */
+	@TaskMapping(title = "上传卖方客户额度申请", fixedDelay = 60000, method = Method.DOWNLOAD)
+	public void saveOfferQuotaInfoReq() throws Exception{
+		List<Map<String, Object>> customerQuotaUpload = getCustomerQuotaUpload();
+		if (!CollectionUtils.isEmpty(customerQuotaUpload)) {
+            List<String> sqlList = new ArrayList<>();
+			for (Map<String, Object> map:customerQuotaUpload) {
+                //资金方UU
+                Object cq_factoruu = map.get("CQ_FACTORUU");
+                Integer cqFactoruu =10050877;
+                //Integer cqFactoruu =10046945; //线上
+                if (cq_factoruu!=null) {
+                   cqFactoruu = Integer.valueOf(cq_factoruu.toString());
+                }
+
+			    //融资方UU
+                Object cq_custuu = map.get("CQ_CUSTUU");
+                Integer cqCustuu =0;
+                if (cq_custuu!=null) {
+                    cqCustuu = Integer.valueOf(cq_custuu.toString());
+                }
+                //融资方企业名称
+                String cqCustname = map.get("CQ_CUSTNAME").toString();
+                //授信期限(月)
+                Integer cqEffectdays = Integer.valueOf(map.get("CQ_EFFECTDAYS").toString());
+			    //当前额度
+                Double cqQuota = Double.valueOf(map.get("CQ_QUOTA").toString())/10000;
+                //融资比例
+                Double cqLendrate = Double.valueOf(map.get("CQ_LENDRATE").toString());
+                //年化利率
+                Double cqAnnualrate = Double.valueOf(map.get("CQ_ANNUALRATE").toString());
+                //还款方式
+                String cqRepaymentmeans = map.get("CQ_REPAYMENTMEANS").toString();
+                //录入人UU
+                Object cq_recorderuu = map.get("CQ_RECORDERUU");
+                Integer cqRecorderuu =200040254;
+                //Integer cqRecorderuu =1000014617;  // 线上
+                if (cq_recorderuu!=null) {
+                    cqRecorderuu = Integer.valueOf(cq_recorderuu.toString());
+                }
+                SaveOfferQuotaInfoReq.Builder req = SaveOfferQuotaInfoReq.newBuilder();
+				req.setCsEnuu(cqFactoruu).setCsEnName("深圳市英唐保理有限公司").setFsEnuu(cqCustuu).setFsEnName(cqCustname).setQuotaAmount(cqQuota)
+						.setCredDays(cqEffectdays).setFinanceRate(cqLendrate).setOfferRate(cqAnnualrate).setRepayment(
+                        cqRepaymentmeans).setApplyUu(cqRecorderuu);
+				SaveOfferQuotaInfoResp resp = capitalSideSdk.saveOfferQuotaInfo(req);
+                String s = ProtoBufUtil.toJSON(resp);
+                JSONObject jsonObject = JSONObject.parseObject(s);
+                Object code = JSONObject.parseObject(jsonObject.get("respHeader").toString()).get("code");
+                if ("0".equals(code.toString())){
+                    sqlList.add("update customerQuota set CQ_UPLOADSTATUS = '已上传' where cq_id = " + map.get("CQ_ID"));
+                }
+			}
+            if (!CollectionUtils.isEmpty(sqlList)) {
+                jdbcTemplate.batchExecute(sqlList);
+            }
+		}
+	}
+
+	/**
+	 * 获取需要上传的卖方客户额度申请
+	 *
+	 * @return
+	 */
+	private List<Map<String, Object>> getCustomerQuotaUpload() {
+		List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from (select cq_id,cq_factoruu," +
+                "cq_custuu,cq_custname,cq_effectdays,cq_quota,cq_lendrate,cq_annualrate," +
+                "cq_repaymentmeans,cq_recorderuu from " +
+                "customerQuota where " +
+				"CQ_UPLOADSTATUS='待上传' and cq_quotatype='卖方客户' order by cq_code ) where rownum < 100");
+		return maps;
+	}
+}
+
+

+ 80 - 0
src/test/java/com/uas/erp/test/SdkTest.java

@@ -0,0 +1,80 @@
+package com.uas.erp.test;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.uas.erp.schedular.UasSchedulingApplication;
+import com.uas.erp.schedular.entity.Master;
+import com.uas.erp.schedular.finance.task.AbstractTask;
+import com.uas.erp.schedular.finance.task.B2BInformation;
+import com.uas.erp.schedular.util.ContextHolder;
+
+
+/**
+ * Created by Pro1 on 2020/1/13.
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = UasSchedulingApplication.class)
+public class SdkTest extends AbstractTask {
+	
+	 @Autowired
+	B2BInformation b2BInformation;
+	 
+	 @Test
+	 public void downCapitalSideLoan() throws Exception{
+		 Master master = new Master();
+         master.setMa_user("YITOA_BL");
+         ContextHolder.setMaster(master);
+		 b2BInformation.getCapitalSideLoan();
+	 }
+	 
+	 @Test
+	 public void downOfferQuotaInfoList() throws Exception{
+		 Master master = new Master();
+         master.setMa_user("YITOA_BL");
+         ContextHolder.setMaster(master);
+		 b2BInformation.getOfferQuotaInfoList();
+	 }	
+	 @Test
+	 public void getFinanceOfferList() throws Exception{
+		 Master master = new Master();
+         master.setMa_user("YITOA_BL");
+         ContextHolder.setMaster(master);
+		 b2BInformation.getFinanceOfferList();
+	 }
+	 
+	 @Test
+	 public void getFinanceOfferDetails() throws Exception{
+		 Master master = new Master();
+         master.setMa_user("YITOA_BL");
+         ContextHolder.setMaster(master);
+		 b2BInformation.getFinanceOfferDetails();
+	 }
+
+	 
+	 @Test
+	 public void addCapitalSideLoan() throws Exception  {
+		 Master master = new Master();
+         master.setMa_user("YITOA_BL");
+         ContextHolder.setMaster(master);
+		 b2BInformation.addCapitalSideLoan();
+	 }
+	 
+	 
+	 
+
+
+
+	@Test
+	public void saveOfferQuotaInfoReq() throws Exception{
+		Master master = new Master();
+		master.setMa_user("YITOA_BL");
+		ContextHolder.setMaster(master);
+		b2BInformation.saveOfferQuotaInfoReq();
+	}
+	
+	
+}