From d270fd7fcffc081091106f3008b4b6c79635b2b3 Mon Sep 17 00:00:00 2001 From: maliang Date: Thu, 19 Nov 2020 13:39:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=9C=88=E5=BA=A6=E8=B5=84=E9=87=91?= =?UTF-8?q?=E6=B5=81=E5=85=A5=E8=A1=A8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/quartzmession/ReportRentMonth.java | 72 ++++++++++++++----- 1 file changed, 55 insertions(+), 17 deletions(-) diff --git a/src/com/tenwa/lease/app/quartzmession/ReportRentMonth.java b/src/com/tenwa/lease/app/quartzmession/ReportRentMonth.java index c8305fe71..8d05b1fda 100644 --- a/src/com/tenwa/lease/app/quartzmession/ReportRentMonth.java +++ b/src/com/tenwa/lease/app/quartzmession/ReportRentMonth.java @@ -44,26 +44,49 @@ public class ReportRentMonth implements Job{ logger.info("【月度资金流入表】【ReportRentMonth】插入数据<<<<<<<<<<<<<"); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); //初始化信审考核明细表 - String deleteSql="delete from report_rent_month where report_month='"+month+"'"; + String deleteSql="delete from report_rent_month where report_month='"+month+"' and data_flag='0'"; String insertSql="INSERT INTO report_rent_month ( report_month, report_date, rent, corpus, " + - "interest, all_remain_corpus, fact_rent, fact_corpus, fact_interest, fact_penalty, contract_count ) " + - "SELECT '"+month+"' AS report_month,'"+today+"' AS report_date,a1.rent,a1.corpus,a1.interest," + - "a2.all_remain_corpus,a3.fact_rent,a3.fact_corpus,a3.fact_interest,a3.fact_penalty,a2.contract_count " + - "FROM (SELECT 'month' AS report_month,sum( rrp.rent ) rent,sum( rrp.corpus ) corpus,sum( rrp.interest ) interest " + - "FROM report_rent_plan rrp,lb_contract_info lci " + - "WHERE rrp.contract_number = lci.CONTRACT_NUMBER AND lci.CONTRACT_STATUS >= 31 AND lci.CONTRACT_STATUS < 100 " + - "AND rrp.plan_date LIKE '%"+month+"%' ) a1," + - "(SELECT 'month' AS report_month,sum( vcorpusover ) all_remain_corpus,count( rrp.contract_number ) contract_count " + - "FROM contract_statis_car rrp,lb_contract_info lci " + - "WHERE rrp.contract_number = lci.CONTRACT_NUMBER " + - "AND lci.businesstype = '1' AND lci.CONTRACT_STATUS >= 31 AND lci.CONTRACT_STATUS < 100 ) a2," + - "(SELECT 'month' AS report_month,sum( lri.rent ) fact_rent,sum( lri.corpus ) fact_corpus," + - "sum( lri.interest ) fact_interest,sum( lri.penalty ) fact_penalty " + - "FROM LC_RENT_INCOME lri LEFT JOIN LB_CONTRACT_INFO lci ON lri.contract_id = lci.id " + - "WHERE lci.businesstype = '1' AND lri.hire_date LIKE '%"+month+"%' ) a3 " + - "WHERE a1.report_month = a2.report_month AND a1.report_month = a3.report_month"; + "interest, all_remain_corpus, fact_rent, fact_corpus, fact_interest, fact_penalty, " + + "contract_count,sdhandling_charge,sdnominal_price,fact_money ,data_flag,subjectname,agreed_datepenalty) " + + "SELECT '"+month+"' AS report_month,'"+today+"' AS report_date," + + "a.rent+b.rent rent,a.corpus+b.corpus corpus,a.interest+b.interest interest,a.ALL_REMAIN_CORPUS+b.ALL_REMAIN_CORPUS ALL_REMAIN_CORPUS," + + "a3.fact_rent fact_rent,a3.fact_corpus,a3.fact_interest fact_interest,a3.fact_penalty," + + "a.contract_count+b.contract_count contract_count,a.SDHANDLING_CHARGE,a.SDNOMINAL_PRICE," + + "a3.fact_rent+a3.fact_penalty+a.AGREED_DATEPENALTY+a.SDHANDLING_CHARGE+a.SDNOMINAL_PRICE fact_money,0,a.subjectname,a.AGREED_DATEPENALTY" + + " from (select 'month' AS report_month,nvl(sum(t.rent),0) rent,nvl(sum(t.corpus),0) corpus,nvl(sum(t.interest),0) interest ," + + " nvl(sum(t.ALL_REMAIN_CORPUS ),0) ALL_REMAIN_CORPUS,nvl(count(t.CONTRACT_ID),0) contract_count," + + " nvl(sum(O.SDHANDLING_CHARGE),0) SDHANDLING_CHARGE,nvl(sum(SDNOMINAL_PRICE),0) SDNOMINAL_PRICE," + + "nvl(sum(AGREED_DATEPENALTY),0) AGREED_DATEPENALTY,lci.subjectname " + + " from LC_RENT_PLAN_HIS t,LC_FUND_RENT_ADJUST_TEMP O ,lb_contract_info lci WHERE t.contract_id = lci.id and t.FLOWUNID=O.FLOWUNID " + + " and exists (select OBJECTNO from (select vfm.OBJECTNO,max(let.FACT_DATE) FACT_DATE from VI_FLOW_MONITORING vfm,LC_EBANK_TEMP let" + + " where vfm.OBJECTNO=let.flowunid and vfm.PHASENAME='结束' and vfm.FLOW_NAME='提前结清' group by vfm.OBJECTNO) vl " + + " where FACT_DATE like '%"+month+"%' and vl.OBJECTNO=O.FLOWUNID) and t.PLAN_DATE like '%"+month+"%' group by lci.subjectname) a ," + + " (SELECT 'month' AS report_month,sum( rrp.rent ) rent,sum( rrp.corpus ) corpus,sum( rrp.interest ) interest ," + + " sum( rrp.ALL_REMAIN_CORPUS ) ALL_REMAIN_CORPUS,count(distinct rrp.contract_number) contract_count,lci.subjectname" + + " FROM report_rent_plan rrp,lb_contract_info lci " + + " WHERE rrp.contract_number = lci.CONTRACT_NUMBER AND lci.CONTRACT_STATUS >= 31 AND lci.CONTRACT_STATUS < 100 " + + " AND rrp.plan_date LIKE '%"+month+"%' group by lci.subjectname) b ," + + " (SELECT 'month' AS report_month,nvl(sum( lri.rent ),0) fact_rent,nvl(sum( lri.corpus ),0) fact_corpus, " + + " nvl(sum( lri.interest ),0) fact_interest,nvl(sum( lri.penalty ),0) fact_penalty,lci.subjectname " + + " FROM LC_RENT_INCOME lri LEFT JOIN LB_CONTRACT_INFO lci ON lri.contract_id = lci.id " + + " WHERE lci.businesstype = '1' AND lri.hire_date LIKE '%"+month+"%' group by lci.subjectname) a3 " + + " where a.report_month=b.report_month and a.report_month=a3.report_month" + + " and a.subjectname=b.subjectname and a.subjectname=a3.subjectname" + ; + String deleteSql2="delete from report_rent_month where data_flag='1'"; + String insertSql2="INSERT INTO report_rent_month(report_month, report_date,rent,corpus,interest,all_remain_corpus,data_flag,subjectname) " + + "SELECT left(rrp.PLAN_DATE, 7) report_month,'"+today+"' AS report_date,sum( rrp.rent ) rent,sum( rrp.corpus ) corpus," + + "sum( rrp.interest ) interest ,sum( rrp.ALL_REMAIN_CORPUS ) ALL_REMAIN_CORPUS,'1' ,lci.subjectname "+//,count(distinct rrp.contract_number) contract_count" + + " FROM report_rent_plan rrp,lb_contract_info lci " + + " WHERE rrp.contract_number = lci.CONTRACT_NUMBER AND lci.CONTRACT_STATUS >= 31 AND lci.CONTRACT_STATUS < 100 " + + " and str_to_date(replace(left(rrp.PLAN_DATE, 10), '/', '-'), '%Y-%m-%d') >=" + + " str_to_date('"+getNextMonthFirstDay()+"', '%Y-%m-%d') " + + " group by left(rrp.PLAN_DATE, 7),lci.subjectname"; + Sqlca.executeSQL(new SqlObject(deleteSql)); Sqlca.executeSQL(new SqlObject(insertSql)); + Sqlca.executeSQL(new SqlObject(deleteSql2)); + Sqlca.executeSQL(new SqlObject(insertSql2)); Sqlca.commit(); }catch(Exception e){ logger.error("<<<<<<<<<<<<<<<<<<<<<<【月度资金流入表】【ReportRentMonth】插入数据>>>>>>>>>>>>>>>>>>>>>>>"); @@ -85,8 +108,23 @@ public class ReportRentMonth implements Job{ } } + /** + * 获得下月的第一天 格式yyyy/MM/dd + * @return + */ + public static String getNextMonthFirstDay(){ + SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DAY_OF_MONTH,1); + calendar.add(Calendar.MONTH, 1); + return dayFormat.format(calendar.getTime()); + } public static void main(String[] args){ SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("--"+dayFormat.format(new Date()).substring(0,7)); + + System.out.println("--"+getNextMonthFirstDay()); } }