|
|
@@ -0,0 +1,339 @@
|
|
|
+package com.uas.erp.schedular.finance.task;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Locale;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.uas.erp.schedular.entity.Master;
|
|
|
+import com.uas.erp.schedular.task.support.Method;
|
|
|
+import com.uas.erp.schedular.util.ContextHolder;
|
|
|
+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 com.usoft.sdk.fin.client.TradingHallSdk;
|
|
|
+
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.tomcat.util.descriptor.web.ContextHandler;
|
|
|
+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.uas.erp.schedular.util.CollectionUtil;
|
|
|
+import com.uas.erp.schedular.util.ContextHolder;
|
|
|
+import com.usoft.fin.external.open.api.entity.AcceptOfferDetail;
|
|
|
+import com.usoft.fin.external.open.api.entity.CompanyBasicInfosByErmRest;
|
|
|
+import com.usoft.fin.external.open.api.entity.CompanyEnterpriseCrawlerListFinRest;
|
|
|
+import com.usoft.fin.external.open.api.entity.CompanyIndustryAndCommerceInfoRest;
|
|
|
+import com.usoft.fin.external.open.api.entity.CompanyLawInfoFinRest;
|
|
|
+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.entity.RestBaseInfo;
|
|
|
+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 QuoteInfo extends AbstractTask{
|
|
|
+ private CapitalSideSdk capitalSideSdk = new CapitalSideSdk("https://finrest.uuzcc.cn", "10050877", "b78d577449b64f56a8a6cf1feeb3fbf5");
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传放款信息
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @TaskMapping(title = "上传放款信息", fixedDelay = 30000, method = Method.UPLOAD)
|
|
|
+ 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()); //放款编号
|
|
|
+ }
|
|
|
+
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ Object aa_recedate = map.get("AA_RECEIVABLESARRIVALDATE");
|
|
|
+ //String aaredate = format.format(new Date());
|
|
|
+ if (aa_recedate!=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(map.get("AA_LOANAMOUNT") !=null){
|
|
|
+ capitalSideLoanOther.setLoanAmount(Double.valueOf(map.get("AA_LOANAMOUNT").toString())); //放款金额(元)
|
|
|
+ }
|
|
|
+ if(map.get("AA_LOANRATE") != null){
|
|
|
+ capitalSideLoanOther.setLoanDate(map.get("AA_LOANRATE").toString()); //放款日期
|
|
|
+ }
|
|
|
+ if(map.get("AA_BACKDATE") != null){
|
|
|
+ capitalSideLoanOther.setRepaymentData(map.get("AA_BACKDATE").toString()); //还款日期
|
|
|
+ }
|
|
|
+ if(map.get("AA_LOANRATE") != null){
|
|
|
+ capitalSideLoanOther.setLoanRate(Double.valueOf(map.get("AA_LOANRATE").toString())); //放款年利率
|
|
|
+ }
|
|
|
+ if(map.get("AA_REPAYMENTFREQUENCY") != null){
|
|
|
+ capitalSideLoanOther.setRepaymentFrequency(map.get("AA_REPAYMENTFREQUENCY").toString()); //还息频率
|
|
|
+ }
|
|
|
+ if(map.get("AA_FSCOLLECTIONBANK") != null){
|
|
|
+ capitalSideLoanOther.setFsCollectionBank(map.get("AA_FSCOLLECTIONBANK").toString()); //客户收款开户行
|
|
|
+ }
|
|
|
+ if(map.get("AA_FSCOLLECTIONACCOUNT") != null){
|
|
|
+ capitalSideLoanOther.setFsCollectionAccount(map.get("AA_FSCOLLECTIONACCOUNT").toString()); //客户收款账号
|
|
|
+ }
|
|
|
+ if(map.get("AA_FSCOLLECTIONNAME") != null){
|
|
|
+ capitalSideLoanOther.setFsCollectionName(map.get("AA_FSCOLLECTIONNAME").toString()); //客户收款账号名称
|
|
|
+ }
|
|
|
+ if(map.get("AA_RECEIPTFORLOAN") != null){
|
|
|
+ capitalSideLoanOther.setReceiptForLoan(Double.valueOf(map.get("AA_RECEIPTFORLOAN").toString())); //借据余额(元)
|
|
|
+ }
|
|
|
+ if(map.get("AA_INTERESTPAYABLE") != null){
|
|
|
+ capitalSideLoanOther.setInterestPayable(Double.valueOf(map.get("AA_INTERESTPAYABLE").toString())); //应还利息(元)
|
|
|
+ }
|
|
|
+ if(map.get("AA_BEOVERDUE") != null){
|
|
|
+ capitalSideLoanOther.setBeOverdue(Integer.valueOf(map.get("AA_BEOVERDUE").toString())); //是否结清
|
|
|
+ }
|
|
|
+ if(map.get("AA_SETTLE") != null ){
|
|
|
+ capitalSideLoanOther.setSettle(Integer.valueOf(map.get("AA_SETTLE").toString())); //是否结清
|
|
|
+ }
|
|
|
+ if(map.get("AA_APPLYDATE") != null ){
|
|
|
+ capitalSideLoanOther.setApplyDate(map.get("AA_APPLYDATE").toString()); //申请日期
|
|
|
+ }
|
|
|
+ if(map.get("AA_PERSONINCHARGE") != null){
|
|
|
+ capitalSideLoanOther.setPersonInCharge(map.get("AA_PERSONINCHARGE").toString()); //状态
|
|
|
+
|
|
|
+ }
|
|
|
+ if(map.get("AA_B2BSTATUS") != null ){
|
|
|
+ capitalSideLoanOther.setStatus(Integer.valueOf(map.get("AA_B2BSTATUS").toString())); //状态
|
|
|
+
|
|
|
+ }
|
|
|
+ if(map.get("AA_APPROVALDATE") != null ){
|
|
|
+ capitalSideLoanOther.setApprovalDate(map.get("AA_APPROVALDATE").toString()); //审批人
|
|
|
+ }
|
|
|
+ if(map.get("AA_APPROVALMAN") != null){
|
|
|
+ capitalSideLoanOther.setApprovalMan(map.get("AA_APPROVALMAN").toString()); //审批人
|
|
|
+ }
|
|
|
+ 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);
|
|
|
+
|
|
|
+ //req.setEnuu(10050877);
|
|
|
+ req.setCapitalSideLoan(capitalSideLoanOther);
|
|
|
+ Master ceuuMaster = ContextHolder.getMaster();
|
|
|
+ //req.setEnuu(Integer.valueOf(ceuuMaster.getMa_uu().toString()));
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // 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");
|
|
|
+ System.out.println(maps);
|
|
|
+ return maps;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 报价记录下载
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @TaskMapping(title = "报价记录下载", fixedDelay = 30000, method = Method.DOWNLOAD)
|
|
|
+ public void getFinanceOfferList() throws Exception {
|
|
|
+ final List<String> sqls = new ArrayList<>();
|
|
|
+ final List<String> sqlsDemand = new ArrayList<>();
|
|
|
+ final List<String> sqlloand = new ArrayList<>();
|
|
|
+ GetFinanceOfferListReq.Builder req = GetFinanceOfferListReq.newBuilder();
|
|
|
+ Master ceuuMaster = ContextHolder.getMaster();
|
|
|
+ //req.setEnuu(Integer.valueOf(ceuuMaster.getMa_uu().toString()));
|
|
|
+ req.setEnuu(10050877);
|
|
|
+ req.setPageNumber(1);
|
|
|
+ req.setPageSize(100);
|
|
|
+ Calendar beforeTime = Calendar.getInstance();
|
|
|
+ beforeTime.add(Calendar.MINUTE, -7);// 7分钟之前的时间
|
|
|
+ Date beforeD = beforeTime.getTime();
|
|
|
+ req.setUpdateTime(beforeD.getTime());//获取最近7分钟更新的单据列表
|
|
|
+ GetFinanceOfferListResp resp = capitalSideSdk.getFinanceOfferList(req);
|
|
|
+ List<? extends FinanceOfferListOrBuilder> flist = resp.getFinanceOfferInfoOrBuilderList();
|
|
|
+ for(FinanceOfferListOrBuilder Finance :flist){
|
|
|
+ //System.out.println("从表1:"+Finance.toString());
|
|
|
+ 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.STATUS = '"+Finance.getAcceptOfferInfo().getStatus()+"' "
|
|
|
+ +" 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().getOfferRate() * 100+"','"+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().getFinanceRate()+"',"
|
|
|
+ + "'"+Finance.getAcceptOfferInfo().getOfferRate() * 100+"','已上传')");
|
|
|
+ //融资需求
|
|
|
+ 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()+"'"
|
|
|
+ + ",'已上传')");
|
|
|
+ sqls.addAll(getFinanceOfferDetailsSqls(Finance.getAcceptOfferInfo().getCode()));
|
|
|
+
|
|
|
+ //放款记录
|
|
|
+ if(Finance.getAcceptOfferInfo().getStatus() == 1002){
|
|
|
+ String aaCode = jdbcTemplate.generateCode("AccountApply!YSB2", 2);
|
|
|
+ sqlloand.add("MERGE INTO AccountApply a"
|
|
|
+ +" USING (SELECT nvl(max(AA_ID),0) ID from AccountApply where AA_FINANCEDEMANDCODE = '"+Finance.getFinanceDemandInfo().getCode()+"') b"
|
|
|
+ +" ON (a.AA_ID = b.ID)"
|
|
|
+ +" WHEN MATCHED THEN "
|
|
|
+ +" UPDATE SET a.AA_CUSTNAME ='"+Finance.getFinanceDemandInfo().getCsUserName()+"'"
|
|
|
+ +" 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,null,null,'"+Finance.getAcceptOfferInfo().getOfferRate() * 100+"',null,'"+Finance.getAcceptOfferInfo().getFinancingRatio()+"',null,null,null,null,null,null"
|
|
|
+ + ",'"+Finance.getFinanceDemandInfo().getCsUserName()+"',sysdate,null,sysdate,null,null,'ENTERING',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,null,null,null,null,null,null,'"+Finance.getFinanceDemandInfo().getCode()+"','"+Finance.getAcceptOfferInfo().getCode()+"',"
|
|
|
+ + "'"+aaCode+"','"+Finance.getAcceptOfferInfo().getCsEnuu()+"','"+Finance.getFinanceDemandInfo().getFsEnuu()+"','"+Finance.getFinanceDemandInfo().getFsEnName()+"',"
|
|
|
+ + "null,'"+Finance.getAcceptOfferInfo().getFinancingRatio() * 100+"',null,"
|
|
|
+ + "'"+Finance.getAcceptOfferInfo().getOfferRate() * 100+"','"+Finance.getAcceptOfferInfo().getPayments()+"',null,"
|
|
|
+ + "null,null,null,null,"
|
|
|
+ + "null,null,'"+Finance.getFinanceDemandInfo().getCsUserName()+"',null,null,'已上传',"
|
|
|
+ + "'"+Finance.getAcceptOfferInfo().getStatus()+"',null,null,null)");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ jdbcTemplate.batchExecute(sqls); //报价信息
|
|
|
+ jdbcTemplate.batchExecute(sqlsDemand); //融资信息
|
|
|
+ System.out.println(sqlloand);
|
|
|
+ jdbcTemplate.batchExecute(sqlloand); //放款信息
|
|
|
+ }
|
|
|
+ //报价详情
|
|
|
+ public List<String> getFinanceOfferDetailsSqls(String OfferCode) throws Exception{
|
|
|
+ List<String> sqls = new ArrayList<String>();
|
|
|
+ GetFinanceOfferDetailsReq.Builder req = GetFinanceOfferDetailsReq.newBuilder();
|
|
|
+ //System.out.println("OfferCode:"+OfferCode);
|
|
|
+ req.setOfferCode(OfferCode);
|
|
|
+ GetFinanceOfferDetailsResp resp = capitalSideSdk.getFinanceOfferDetails(req);
|
|
|
+ FinanceOfferDetails adetaillist = resp.getFinanceOfferInfo();
|
|
|
+ List<OfferDetailAndFinanceAccept> restlist = adetaillist.getOfferDetailAndFinanceAcceptInfoList();
|
|
|
+ //System.out.println("从表1:"+restlist.size());
|
|
|
+ //System.out.println("从表1:"+restlist.toString());
|
|
|
+ for(OfferDetailAndFinanceAccept rest :restlist){
|
|
|
+ //报价明细
|
|
|
+ int offerDetailCount = jdbcTemplate.count(" from acceptOfferDetail where acceptOfferCode =?",OfferCode);
|
|
|
+ //System.out.println("acceptOfferDetail:"+offerDetailCount);
|
|
|
+ if(offerDetailCount == 0){
|
|
|
+ AcceptOfferDetail acceptOfferDetail = rest.getAcceptOfferDetail();
|
|
|
+ sqls.add("insert into acceptOfferDetail(id_,MIANcode,acceptOfferCode,financeDemandDetailCode,financeDemandDetailAcceptCode,offerAmount) "
|
|
|
+ + "values (acceptOfferDetail_seq.nextval,'"+acceptOfferDetail.getCode()+"','"+acceptOfferDetail.getAcceptOfferCode()+"',"
|
|
|
+ + "'"+acceptOfferDetail.getFinanceDemandDetailCode()+"','"+acceptOfferDetail.getFinanceDemandDetailAcceptCode()+"'"
|
|
|
+ + ",'"+acceptOfferDetail.getOfferAmount()+"')");
|
|
|
+ }
|
|
|
+ //融资需求与B2B订单信息
|
|
|
+ int accepDetailCount = jdbcTemplate.count(" from ACCEPTFINANCEDEMANDDETAIL where FINANCEDEMANDCODE =?",rest.getFinanceDemandDetail().getFinanceDemandCode());
|
|
|
+ //System.out.println("ACCEPTFINANCEDEMANDDETAIL:"+accepDetailCount);
|
|
|
+ if(accepDetailCount == 0){
|
|
|
+ sqls.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()+"','已上传')");
|
|
|
+ }
|
|
|
+ //融资需求与B2B验收单信息单详情
|
|
|
+ int accepDetCount = jdbcTemplate.count(" from FINANCEDEMANDDETAILACCEPT where FINANCEDEMANDCODE =?",rest.getFinanceDemandDetailAccept().getFinanceDemandCode());
|
|
|
+ //System.out.println("FINANCEDEMANDDETAILACCEPT:"+accepDetCount);
|
|
|
+ if(accepDetCount == 0){
|
|
|
+ sqls.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().getAcceptItemId()+"','"+rest.getFinanceDemandDetailAccept().getAcceptId()+"','"+rest.getFinanceDemandDetailAccept().getAcceptAmount()+"',"
|
|
|
+ + "( ("+rest.getFinanceDemandDetailAccept().getAcceptDate()+"/(1000*60*60*24)) + to_date('19700101 08:00:00','yyyymmdd hh24:mi:ss') ),"
|
|
|
+ + "'"+rest.getFinanceDemandDetailAccept().getAcceptCode()+"','"+rest.getFinanceDemandDetailAccept().getAcceptStatus()+"',"
|
|
|
+ + "'"+rest.getFinanceDemandDetailAccept().getTitle()+"','"+rest.getFinanceDemandDetailAccept().getSpec()+"',"
|
|
|
+ + "'"+rest.getFinanceDemandDetailAccept().getProductCode()+"','"+rest.getFinanceDemandDetailAccept().getStatus()+"','已上传')");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sqls;
|
|
|
+}
|
|
|
+}
|
|
|
+
|