|
|
@@ -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;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|