提前结清凭证生成重复修复及微信消息推送
This commit is contained in:
parent
f18cbd4035
commit
c6aad7efce
2
config/Wechat.properties
Normal file
2
config/Wechat.properties
Normal file
@ -0,0 +1,2 @@
|
||||
# 微信推送消息接口路径
|
||||
WechatURL=http://wx.tenwa.com.cn/wxapi/template/send
|
||||
@ -57,6 +57,9 @@ public class SerialNumberUtil {
|
||||
public static synchronized String getVoucherPCNumber(JBOTransaction tx) throws Exception{
|
||||
return SerialNumberUtil.getSerialNumber("AP{year}{month}{day}-{maxOrderNumber}",3,null, "ƾ֤½Ó¿ÚÅú´Î", null, tx);
|
||||
}
|
||||
public static synchronized String getWechatBatchNumber(JBOTransaction tx) throws Exception{
|
||||
return SerialNumberUtil.getSerialNumber("AP{year}{month}{day}-{maxOrderNumber}",3,null, "微信接口批次", null, tx);
|
||||
}
|
||||
//ÅôÔªapply_id
|
||||
public static synchronized String getPengyuanNumber(JBOTransaction tx) throws Exception{
|
||||
return SerialNumberUtil.getSerialNumber("{year}{month}{day}{maxOrderNumber}",9,null, "ÅôÔªapply_id", null, tx);
|
||||
|
||||
@ -71,31 +71,31 @@ public class CreateVoucherContractTerminate {
|
||||
|
||||
// 调整未实现利息收入
|
||||
if("PZ2018072100000045".equals(VOUCHERNO)){
|
||||
//sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE,'%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST,'%Y/%m/%d')GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LRPT.INTEREST, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
//sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LRPT.INTEREST, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LRPT.INTEREST, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 收到的逾期租金
|
||||
}else if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
//sql="SELECT IFNULL(LRPT.RENT, 0)-IFNULL(LRI.RENT,0) AS MONEY,IFNULL(LRPT.CORPUS, 0)-IFNULL(LRI.CORPUS,0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0)-IFNULL(LRI.INTEREST,0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE,'%Y/%m/%d') <DATE_FORMAT(LCRAT.PAYDAY_ADJUST,'%Y/%m/%d')GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID)LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY,IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
//sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY,IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY,IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP GROUP BY FLOWUNID) LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
// 将当月利息转收入
|
||||
}else if("PZ2018081700000129".equals(VOUCHERNO)) {
|
||||
//sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRPT.INTEREST, 0)-IFNULL(LRI.INTEREST, 0)AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)-ROUND(IFNULL(LRI.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) -(IFNULL(LRI.INTEREST, 0) - ROUND(IFNULL(LRI.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.PLAN_LIST,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID,LRPT.PLAN_LIST ) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,LRI.PLAN_LIST,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID,LRI.PLAN_LIST ) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST=LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) - (IFNULL(LRI.INTEREST, 0) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.PLAN_LIST,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID,LRPT.PLAN_LIST) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,LRI.PLAN_LIST,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID,LRI.PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST = LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) - (IFNULL(LRI.INTEREST, 0) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP GROUP BY FLOWUNID) LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.PLAN_LIST,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID,LRPT.PLAN_LIST) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,LRI.PLAN_LIST,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID,LRI.PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST = LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
// 收到的提前还款剩余本金
|
||||
}else if("PZ2018081700000136".equals(VOUCHERNO)) {
|
||||
//sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY,(IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0)) AS MONEYNOTAX,IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID)LRPT ON LRPT.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY,(IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0)) AS MONEYNOTAX,IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LCRAT.CORPUS_OVERAGE, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY,(IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0)) AS MONEYNOTAX,IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP GROUP BY FLOWUNID) LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LCRAT.CORPUS_OVERAGE, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
// 确认贴息收入
|
||||
}else if("PZ2018072100000046".equals(VOUCHERNO)) {
|
||||
//sql="SELECT IFNULL(CRM.DISCOUNT,0) AS MONEY,ROUND(IFNULL(CRM.DISCOUNT,0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.DISCOUNT,0) - ROUND(IFNULL(CRM.DISCOUNT,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID=LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER=LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID)LRPT ON LRPT.CONTRACT_ID=CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE,'%Y%m')>=DATE_FORMAT(LRPT.PAYDAY_ADJUST,'%Y%m')GROUP BY CRM.CONTRACT_ID)CRM ON CRM.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(CRM.DISCOUNT, 0) AS MONEY,ROUND(IFNULL(CRM.DISCOUNT, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.DISCOUNT, 0) - ROUND(IFNULL(CRM.DISCOUNT, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(CRM.DISCOUNT, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(CRM.DISCOUNT, 0) AS MONEY,ROUND(IFNULL(CRM.DISCOUNT, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.DISCOUNT, 0) - ROUND(IFNULL(CRM.DISCOUNT, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP GROUP BY FLOWUNID) LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(CRM.DISCOUNT, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
// 确认手续费
|
||||
}else if("PZ2018081700000122".equals(VOUCHERNO)) {
|
||||
//sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY,ROUND(IFNULL(CRM.FEE, 0)/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.FEE, 0) - ROUND(IFNULL(CRM.FEE, 0)/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY,ROUND(IFNULL(CRM.FEE, 0) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.FEE, 0) - ROUND(IFNULL(CRM.FEE, 0) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(CRM.FEE, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY,ROUND(IFNULL(CRM.FEE, 0) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.FEE, 0) - ROUND(IFNULL(CRM.FEE, 0) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP GROUP BY FLOWUNID) LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(CRM.FEE, 0)>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
}else {
|
||||
//sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,"+date1+" AS MONEY,ROUND("+date1+"/getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+date1+" - ROUND("+date1+"/getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,"+date1+" AS MONEY,ROUND("+date1+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+date1+" - ROUND("+date1+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN LC_EBANK_TEMP LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND "+date1+">0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,"+date1+" AS MONEY,ROUND("+date1+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+date1+" - ROUND("+date1+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LE.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP GROUP BY FLOWUNID) LE ON LE.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND "+date1+">0 AND LCRAT.FLOWUNID = :FLOWUNID ";
|
||||
}
|
||||
|
||||
// 执行SQL, 获取结果集
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
package com.tenwa.httpclient.resources;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* 1: ΢ÐÅÍÆËÍÏûÏ¢ÅäÖÃ
|
||||
*/
|
||||
public class WechatPropertiesUtil {
|
||||
private static String CONFIG_FILE_NAME = "/Wechat.properties";
|
||||
private static final Map<String, String> configMap = new HashMap<String, String>();
|
||||
public static String getConfigValue(String propertyName) {
|
||||
if (0 == configMap.size()) {
|
||||
FileInputStream fis = null;
|
||||
try {
|
||||
fis = new FileInputStream(URLDecoder.decode(Thread.currentThread().getContextClassLoader().getResource(CONFIG_FILE_NAME).getFile(),"UTF-8"));
|
||||
Properties pro = new Properties();
|
||||
pro.load(fis);
|
||||
for (Object key : pro.keySet()) {
|
||||
String valString = pro.get(key).toString().trim();
|
||||
String keyString = key.toString();
|
||||
configMap.put(keyString, valString);
|
||||
}
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (null != fis) {
|
||||
fis.close();
|
||||
fis = null;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return configMap.get(propertyName);
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
System.out.println(WechatPropertiesUtil.getConfigValue("WechatMenuURL"));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,298 @@
|
||||
package com.tenwa.lease.app.quartzmession;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import org.apache.log4j.LogManager;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.awe.dw.ui.page.body.imp.Integer;
|
||||
import com.amarsoft.awe.util.ASResultSet;
|
||||
import com.amarsoft.awe.util.SqlObject;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
|
||||
import com.tenwa.httpclient.resources.WechatPropertiesUtil;
|
||||
import com.tenwa.util.SerialNumberUtil;
|
||||
|
||||
|
||||
/**
|
||||
* 1:微信公众号信息推送
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
public class WechatMessagePush implements Job{
|
||||
private static final Logger logger = LogManager.getLogger(WechatMessagePush.class);// 引入logger日志
|
||||
|
||||
public void execute(JobExecutionContext arg0) throws JobExecutionException {
|
||||
Transaction Sqlca=null;
|
||||
try{
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
// 执行还款消息推送
|
||||
String result1 = RefundRemindPush(Sqlca);
|
||||
String result2 = OverdueRefundRemindPush(Sqlca);
|
||||
Sqlca.commit();
|
||||
|
||||
logger.info("还款提醒发送状态<<<<<<<<<<<<<: "+result1);
|
||||
logger.info("逾期还款提醒发送状态<<<<<<<<<<: "+result2);
|
||||
}catch(Exception e){
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<微信推送定时任务执行异常>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<微信推送定时任务执行异常>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<微信推送定时任务执行异常>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(Sqlca!=null) {
|
||||
try {
|
||||
Sqlca.commit();
|
||||
Sqlca.disConnect();
|
||||
} catch (JBOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1: 还款提醒发送
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public String RefundRemindPush(Transaction Sqlca) throws Exception {
|
||||
// 定义全局对象
|
||||
String contract_number=null;// 合同名称
|
||||
String customer_num=null; // 客户编码
|
||||
String cust_name=null; // 客户名称
|
||||
String plan_list=null; // 客户名称
|
||||
String mobile=null; // 手机号
|
||||
String contract_id=null; // 合同id
|
||||
String customer_id=null; // 客户id
|
||||
String openid=null; // 微信标识
|
||||
String link=null; // 详情链接
|
||||
String type="1"; // 类型
|
||||
String keyword1=null;// 还款日期
|
||||
String keyword2=null;// 还款期次
|
||||
String keyword3=null;// 还款金额
|
||||
String uuid=null; // 记录表id
|
||||
String first="尊敬的用户您好,您的本期还款信息如下:";// 内容头
|
||||
String remark="祝您工作顺利。"; // 备注
|
||||
String updSql="";
|
||||
String insertSql="";
|
||||
String msgid =null;
|
||||
String result="推送成功";
|
||||
String batch=SerialNumberUtil.getWechatBatchNumber(Sqlca);
|
||||
int con=0;
|
||||
|
||||
// 查询所有需要发送还款提醒的数据
|
||||
String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'年',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'月',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'日') AS KEYWORD1,CONCAT('第',LRP.PLAN_LIST,'期') KEYWORD2,CONCAT(LRP.RENT,'元') KEYWORD3 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LCI.ID WHERE WUI.BINDING_STATUS='Y' AND TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) = 3 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE='1' AND CONTRACT_NUMBER=LCI.CONTRACT_NUMBER AND PLAN_LIST=LRP.PLAN_LIST AND SEND_STATUS = 'Y') LIMIT 0,50000 ";
|
||||
ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql));
|
||||
// 循环, 逐条发送---如果数据量过大, 超出微信限制, 用此优化
|
||||
//new Thread(new Runnable() {
|
||||
// public void run() {
|
||||
// try {
|
||||
// Thread.sleep(500);
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
//}).start();
|
||||
|
||||
while(rs.next()) {
|
||||
// 获取接口推送所需数据
|
||||
con++;
|
||||
uuid = UUID.randomUUID().toString().replace("-", "");
|
||||
openid=rs.getString("openid");
|
||||
link=rs.getString("link");
|
||||
keyword1=rs.getString("keyword1");
|
||||
keyword2=rs.getString("keyword2");
|
||||
keyword3=rs.getString("keyword3");
|
||||
contract_number=rs.getString("contract_number");
|
||||
customer_num=rs.getString("customer_num");
|
||||
cust_name=rs.getString("cust_name");
|
||||
mobile=rs.getString("mobile_");
|
||||
plan_list=rs.getString("plan_list");
|
||||
contract_id=rs.getString("contract_id");
|
||||
customer_id=rs.getString("customerid");
|
||||
|
||||
// 查寻当条是否是历史失败的
|
||||
selSql="SELECT openid FROM wechat_message_record WHERE OPENID='"+openid+"' AND CONTRACT_NUMBER='"+contract_number+"' AND PLAN_LIST='"+plan_list+"' AND SEND_TYPE='1'";
|
||||
ASResultSet rs1 = Sqlca.getASResultSet(new SqlObject(selSql));
|
||||
|
||||
if(!rs1.next()) {
|
||||
insertSql="INSERT INTO WECHAT_MESSAGE_RECORD(ID,BATCH,OPENID,CONTRACT_NUMBER,CUSTOMER_NUM,CUST_NAME,PLAN_LIST,MODILE,SEND_DATE,SEND_TYPE,SEND_CONTENT,SEND_STATUS,CONTRACT_ID,CUSTOMER_ID) VALUES('"+uuid+"',CONCAT('"+batch+"','-','"+con+"'),'"+openid+"','"+contract_number+"','"+customer_num+"','"+cust_name+"','"+plan_list+"','"+mobile+"',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'1',CONCAT('"+first+"','还款日期: ','"+keyword1+"',',还款期数: ','"+keyword2+"',',还款金额: ','"+keyword3+"',', ','"+remark+"'),'N','"+contract_id+"','"+customer_id+"')";
|
||||
Sqlca.executeSQL(new SqlObject(insertSql));
|
||||
}
|
||||
try {
|
||||
msgid = WechatMessagePush.WechatPush(openid,link,type,first,keyword1,keyword2,keyword3,remark);
|
||||
System.out.println(con);
|
||||
} catch (Exception e) {
|
||||
result="推送失败";
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 成功改状态, 失败改时间
|
||||
if(msgid!=null) {
|
||||
updSql="UPDATE wechat_message_record SET MSGID='"+msgid+"',SEND_DATE=DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),SEND_STATUS='Y' WHERE OPENID='"+openid+"' AND CONTRACT_NUMBER='"+contract_number+"' AND PLAN_LIST='"+plan_list+"' AND SEND_TYPE='1'";
|
||||
Sqlca.executeSQL(new SqlObject(updSql));
|
||||
}else {
|
||||
result="推送失败";
|
||||
updSql="UPDATE wechat_message_record SET SEND_DATE=DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),SEND_STATUS='N' WHERE OPENID='"+openid+"' AND CONTRACT_NUMBER='"+contract_number+"' AND PLAN_LIST='"+plan_list+"' AND SEND_TYPE='1'";
|
||||
Sqlca.executeSQL(new SqlObject(updSql));
|
||||
}
|
||||
}
|
||||
return result+String.valueOf(con);
|
||||
}
|
||||
|
||||
/**
|
||||
* 2: 逾期 还款提醒发送
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public String OverdueRefundRemindPush(Transaction Sqlca) throws Exception {
|
||||
// 定义全局对象
|
||||
String contract_number=null;// 合同名称
|
||||
String customer_num=null; // 客户编码
|
||||
String cust_name=null; // 客户名称
|
||||
String plan_list=null; // 客户名称
|
||||
String mobile=null; // 手机号
|
||||
String contract_id=null; // 合同id
|
||||
String customer_id=null; // 客户id
|
||||
String openid=null; // 微信标识
|
||||
String link=null; // 详情链接
|
||||
String type="1"; // 类型
|
||||
String keyword1=null; // 还款日期
|
||||
String keyword2=null; // 应还金额
|
||||
String keyword3=null; // 逾期金额
|
||||
String keyword4=null; // 罚息金额
|
||||
String uuid=null; // 记录表id
|
||||
String first="亲爱的用户您好,您本期应还金额尚未归还,以下是您的账单信息:"; // 内容头
|
||||
String remark="XX提醒您,逾期会产生逾期费用,请尽快还款,如需帮助请您致电客服123456."; // 备注
|
||||
String updSql="";
|
||||
String insertSql="";
|
||||
String msgid =null;
|
||||
String result="推送成功";
|
||||
String batch=SerialNumberUtil.getWechatBatchNumber(Sqlca);
|
||||
int con=0;
|
||||
|
||||
// 查询所有需要发送还款提醒的数据
|
||||
String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'年',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'月',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'日') AS KEYWORD1,CONCAT(ROUND((LRP.RENT + IFNULL(getRentPenalty (LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,DATE_FORMAT(NOW(), '%y/%m/%d')),0) - IFNULL(LRI.RENT, 0) - IFNULL(LRI.PENALTY, 0)),2),'元') AS KEYWORD2,CONCAT((LRP.RENT-IFNULL(LRI.RENT,0)), '元') AS KEYWORD3,CONCAT(ROUND(IFNULL(getRentPenalty (LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,DATE_FORMAT(NOW(), '%y/%m/%d')),0),2),'元') AS KEYWORD4 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) AS PLAN_DATE,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY,0)) AS PENALTY FROM LC_RENT_PLAN WHERE TIMESTAMPDIFF(DAY,DATE_FORMAT(PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d')) >= 3 GROUP BY CONTRACT_ID,PLAN_LIST)LRP ON LRP.CONTRACT_ID=LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY,0)) AS PENALTY FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST)LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID AND LRI.PLAN_LIST=LRP.PLAN_LIST WHERE WUI.BINDING_STATUS='Y' AND (IFNULL(LRP.RENT,0)+IFNULL(LRP.PENALTY,0)-IFNULL(LRI.RENT,0)-IFNULL(LRI.PENALTY,0))<>0 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE='2' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') LIMIT 0,50000 ";
|
||||
ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql));
|
||||
// 循环, 逐条发送
|
||||
while(rs.next()) {
|
||||
con++;
|
||||
// 获取接口推送所需数据
|
||||
uuid = UUID.randomUUID().toString().replace("-", "");
|
||||
openid=rs.getString("openid");
|
||||
link=rs.getString("link");
|
||||
keyword1=rs.getString("keyword1");
|
||||
keyword2=rs.getString("keyword2");
|
||||
keyword3=rs.getString("keyword3");
|
||||
keyword4=rs.getString("keyword4");
|
||||
contract_number=rs.getString("contract_number");
|
||||
customer_num=rs.getString("customer_num");
|
||||
cust_name=rs.getString("cust_name");
|
||||
mobile=rs.getString("mobile_");
|
||||
plan_list=rs.getString("plan_list");
|
||||
contract_id=rs.getString("contract_id");
|
||||
customer_id=rs.getString("customerid");
|
||||
|
||||
// 查寻当条是否是历史失败的
|
||||
selSql="SELECT openid FROM wechat_message_record WHERE OPENID='"+openid+"' AND CONTRACT_NUMBER='"+contract_number+"' AND PLAN_LIST='"+plan_list+"' AND SEND_TYPE='1'";
|
||||
ASResultSet rs1 = Sqlca.getASResultSet(new SqlObject(selSql));
|
||||
|
||||
if(!rs1.next()) {
|
||||
insertSql="INSERT INTO WECHAT_MESSAGE_RECORD(ID,BATCH,OPENID,CONTRACT_NUMBER,CUSTOMER_NUM,CUST_NAME,PLAN_LIST,MODILE,SEND_DATE,SEND_TYPE,SEND_CONTENT,SEND_STATUS,CONTRACT_ID,CUSTOMER_ID) VALUES('"+uuid+"',CONCAT('"+batch+"','-','"+con+"'),'"+openid+"','"+contract_number+"','"+customer_num+"','"+cust_name+"','"+plan_list+"','"+mobile+"',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'2',CONCAT('"+first+"','还款日期: ','"+keyword1+"',',还款金额: ','"+keyword2+"',',逾期金额: ','"+keyword3+"',',罚息金额: ','"+keyword4+"',',','"+remark+"'),'N','"+contract_id+"','"+customer_id+"')";
|
||||
Sqlca.executeSQL(new SqlObject(insertSql));
|
||||
}
|
||||
try {
|
||||
msgid = WechatMessagePush.WechatPush(openid,link,type,first,keyword1,keyword2,keyword3,remark);
|
||||
System.out.println(con);
|
||||
} catch (Exception e) {
|
||||
result="推送失败";
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 成功改状态, 失败改时间
|
||||
if(msgid!=null) {
|
||||
updSql="UPDATE wechat_message_record SET MSGID='"+msgid+"',SEND_DATE=DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),SEND_STATUS='Y' WHERE OPENID='"+openid+"' AND CONTRACT_NUMBER='"+contract_number+"' AND PLAN_LIST='"+plan_list+"' AND SEND_TYPE='2'";
|
||||
Sqlca.executeSQL(new SqlObject(updSql));
|
||||
}else {
|
||||
result="推送失败";
|
||||
updSql="UPDATE wechat_message_record SET SEND_DATE=DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),SEND_STATUS='N' WHERE OPENID='"+openid+"' AND CONTRACT_NUMBER='"+contract_number+"' AND PLAN_LIST='"+plan_list+"' AND SEND_TYPE='2'";
|
||||
Sqlca.executeSQL(new SqlObject(updSql));
|
||||
}
|
||||
}
|
||||
return result+String.valueOf(con);
|
||||
}
|
||||
|
||||
/**
|
||||
* 3: 调用消息推送接口
|
||||
*/
|
||||
public synchronized static String WechatPush(String openid,String link,String type,String first,String keyword1,String keyword2,String keyword3,String remark) throws Exception {
|
||||
String strURL = WechatPropertiesUtil.getConfigValue("WechatURL");
|
||||
URL url = new URL(strURL);
|
||||
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
|
||||
httpConn.setDoOutput(true);
|
||||
httpConn.setDoInput(true);
|
||||
httpConn.setRequestProperty("Content-Type", "application/json");
|
||||
httpConn.setRequestMethod("POST");
|
||||
httpConn.connect();
|
||||
OutputStreamWriter out = new OutputStreamWriter(httpConn.getOutputStream(), "UTF-8");
|
||||
|
||||
// 发送请求参数
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("openid", openid);// 微信的uuid
|
||||
json.put("type", type);// 推送类型
|
||||
json.put("link", link);// 推送详情的连接,绑定成功的推送参数为空
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("first", first);// 推送的头部
|
||||
data.put("keyword1", keyword1);// 关键字1
|
||||
data.put("keyword2", keyword2);// 关键字2
|
||||
data.put("remark", remark);// 备注
|
||||
json.put("data", data);
|
||||
|
||||
out.write(json.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
|
||||
BufferedReader reader = null;
|
||||
try {
|
||||
reader = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.info("<<<<<<<<<<<<<<<获取回执信息失败>>>>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<获取回执信息失败>>>>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<获取回执信息失败>>>>>>>>>>>>>>>>>>>");
|
||||
throw new Exception("推送失败!");
|
||||
}
|
||||
String line;
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
while ((line = reader.readLine()) != null) {
|
||||
buffer.append(line);
|
||||
}
|
||||
reader.close();
|
||||
httpConn.disconnect();
|
||||
|
||||
logger.info("微信接口返回信息" + buffer.toString());
|
||||
JSONObject resultjson = JSONObject.parseObject(buffer.toString());
|
||||
String msgid = null;
|
||||
if (resultjson.get("errcode").toString().equals("0")) {// 推送成功
|
||||
msgid = resultjson.get("msgid").toString();
|
||||
} else {// 推送失败
|
||||
throw new Exception("推送失败");
|
||||
}
|
||||
return msgid;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user