diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java index 7effdbd2b..5e972ef12 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java @@ -12,6 +12,7 @@ import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.awe.util.Transaction; import com.amarsoft.dict.als.cache.CacheLoaderFactory; +import com.itextpdf.text.log.SysoCounter; import com.tenwa.comm.util.jboutil.DataOperatorUtil; import com.tenwa.flow.baseBussion.BaseBussiness; import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; @@ -28,12 +29,9 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ Map map=new HashMap(); Map param=new HashMap(); // 定义全局对象 - String EQUIP=null; // 设备款 - String EQUIPNOTAX=null; // 设备款(不含税) - String EQUIPTAX=null; // 设备款(税金) - String OTHER_MONEY=null; // 其他款 - String OTHERNOTAX=null; // 其它金额(不含税) - String OTHERTAX=null; // 其它金额(税金) + String MONEY=null; // 差额放款中-购置融资租赁资产-传统租赁资产里面的--首付款 + String INTERESTNOTAX=null; // 差额放款中-购置融资租赁资产-传统租赁资产里面的--保证金 + String TAX=null; // 差额放款中-购置融资租赁资产-传统租赁资产里面的--手续费 String EQUIP_OTHER=null; // 设备款+其他 String FIRST_PAYMENT=null; // 首付款 String GUARANTY=null; // 保证金 @@ -56,19 +54,19 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ String ACC_NUMBER=null; // 银行账号 String sql=""; - sql="SELECT IFNULL(LFIT1.EQUIP, 0) AS EQUIP,IFNULL(ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS EQUIPNOTAX,IFNULL(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS EQUIPTAX,IFNULL(LFIT2.OTHER_MONEY, 0) AS OTHER_MONEY,IFNULL(ROUND(LFIT2.OTHER_MONEY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS OTHERNOTAX,IFNULL(LFIT2.OTHER_MONEY - ROUND(LFIT2.OTHER_MONEY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS OTHERTAX,IFNULL((LFIT1.EQUIP + LFIT2.OTHER_MONEY),0) AS EQUIP_OTHER,IFNULL(LFIT3.FIRST_PAYMENT, 0) AS FIRST_PAYMENT,IFNULL(LFIT4.GUARANTY, 0) AS GUARANTY,IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) AS HANDLING_CHARGE_MONEY,IFNULL(ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS HANDLING_CHARGE_MONEY_NOTAX,IFNULL((LFIT5.HANDLING_CHARGE_MONEY - ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) AS HANDLING_CHARGE_MONEY_TAX,IFNULL((LFIT1.EQUIP + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT - LFIT4.GUARANTY - LFIT5.HANDLING_CHARGE_MONEY),0) AS OTHERS_MATH,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN (SELECT FLOWUNID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN (SELECT FLOWUNID,FACT_MONEY AS GUARANTY,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2') LFIT4 ON LFIT4.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN (SELECT FLOWUNID,FACT_MONEY AS HANDLING_CHARGE_MONEY,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1') LFIT5 ON LFIT5.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.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 = '2' AND LCCT.FLOWUNID = :FLOWUNID "; + sql="SELECT CASE WHEN LFIT3.FIRST_PAYMENT IS NULL THEN LCCT.FIRST_PAYMENT ELSE 0.00 END AS MONEY,CASE WHEN LFIT4.GUARANTY IS NULL THEN LCCT.CAUTION_MONEY ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN LFIT5.HANDLING_CHARGE_MONEY IS NULL THEN LCCT.CAUTION_MONEY ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP,0)+ IFNULL(LFIT2.OTHER_MONEY,0) AS EQUIP_OTHER,CASE WHEN LFIT3.FIRST_PAYMENT IS NULL THEN LCCT.FIRST_PAYMENT ELSE IFNULL(LFIT3.FIRST_PAYMENT, 0) END AS FIRST_PAYMENT,CASE WHEN LFIT4.GUARANTY IS NULL THEN LCCT.CAUTION_MONEY ELSE IFNULL(LFIT4.GUARANTY, 0) END AS GUARANTY,CASE WHEN LFIT5.HANDLING_CHARGE_MONEY IS NULL THEN LCCT.CAUTION_MONEY ELSE IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) END AS HANDLING_CHARGE_MONEY,CASE WHEN LFIT5.HANDLING_CHARGE_MONEY IS NULL THEN IFNULL(ROUND(LCCT.CAUTION_MONEY / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) ELSE IFNULL(ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN LFIT5.HANDLING_CHARGE_MONEY IS NULL THEN IFNULL((LCCT.CAUTION_MONEY - ROUND(LCCT.CAUTION_MONEY/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) ELSE IFNULL((LFIT5.HANDLING_CHARGE_MONEY - ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP,0) + IFNULL(LFIT2.OTHER_MONEY,0) - (CASE WHEN LFIT3.FIRST_PAYMENT IS NULL THEN LCCT.FIRST_PAYMENT ELSE 0.00 END)- (CASE WHEN LFIT4.GUARANTY IS NULL THEN LCCT.CAUTION_MONEY ELSE 0.00 END ) - (CASE WHEN LFIT5.HANDLING_CHARGE_MONEY IS NULL THEN LCCT.CAUTION_MONEY ELSE 0.00 END) AS OTHERS_MATH,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.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 = '2' AND LCCT.FLOWUNID = :FLOWUNID "; - // 非差额放款部分 - if("PZ2018092500000161".equals(VOUCHERNO)){ - sql+=" AND (LFIT3.SETTLE_METHOD !='settlemethod11' OR LFIT3.SETTLE_METHOD IS NULL) AND (LFIT4.SETTLE_METHOD !='settlemethod11' OR LFIT4.SETTLE_METHOD IS NULL) AND (LFIT5.SETTLE_METHOD !='settlemethod11' OR LFIT5.SETTLE_METHOD IS NULL)"; - }else if("PZ2018092500000162".equals(VOUCHERNO) || "PZ2018092500000163".equals(VOUCHERNO)) {// 差额-经销商支付的预付款(首付)/给经销商放款-首付冲抵--回租 - sql+=" AND LFIT3.SETTLE_METHOD='settlemethod11'"; - }else if("PZ2018092500000164".equals(VOUCHERNO) || "PZ2018092500000165".equals(VOUCHERNO)) {// 客户记录保证金/给经销商放款-保证金冲抵 - sql+=" AND LFIT4.SETTLE_METHOD='settlemethod11'"; - }else if("PZ2018092500000166".equals(VOUCHERNO) || "PZ2018092500000167".equals(VOUCHERNO)) {// 收到客户手续费 / 给经销商放款-手续费冲抵 - sql+=" AND LFIT5.SETTLE_METHOD='settlemethod11'"; - }else if("PZ2018092500000169".equals(VOUCHERNO) || "PZ2018092600000233".equals(VOUCHERNO)) {// 给经销商放款-差额放款 - sql+=" AND (LFIT3.SETTLE_METHOD ='settlemethod11' OR LFIT4.SETTLE_METHOD ='settlemethod11' OR LFIT5.SETTLE_METHOD ='settlemethod11')"; + // 非差额放款部分--购置融资租赁资产-传统租赁资产(判断首付款&&保证金&&手续费是否已经回款) + if("PZ2018092500000159".equals(VOUCHERNO)){ + sql+="AND (LFIT3.FIRST_PAYMENT IS NOT NULL AND LFIT4.GUARANTY IS NOT NULL AND LFIT5.HANDLING_CHARGE_MONEY IS NOT NULL)"; + }else if("PZ2018092500000162".equals(VOUCHERNO)) {// 差额-经销商支付的预付款(首付) + sql+=" AND LFIT3.FIRST_PAYMENT IS NULL"; + }else if("PZ2018092500000164".equals(VOUCHERNO)) {// 客户记录保证金 + sql+=" AND LFIT4.GUARANTY IS NULL"; + }else if("PZ2018092500000166".equals(VOUCHERNO)) {// 收到客户手续费 + sql+=" AND LFIT5.HANDLING_CHARGE_MONEY IS NULL"; + }else if("PZ2018092500000169".equals(VOUCHERNO)) {// 给经销商放款-差额放款 + sql+=" AND (LFIT3.FIRST_PAYMENT IS NULL OR LFIT4.GUARANTY IS NULL OR LFIT5.HANDLING_CHARGE_MONEY IS NULL) "; } param.clear(); map.put("FLOWUNID", FlowUnid); @@ -84,12 +82,9 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ String userid ="admin"; for (int i=0;i getJavaParam(JBOTransaction tx,Map param,Map subData) throws BusinessException { MapreturnValue=new HashMap(); returnValue.putAll(param); - returnValue.put("FUNDTYPE","02"); returnValue.put("MONEY",param.get("INTERESTNOTAX")); return returnValue; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToMoneyTax.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToMoneyTax.java index 6131236ce..fb6e3be48 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToMoneyTax.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToMoneyTax.java @@ -14,7 +14,6 @@ public class ContractGetMoneyToMoneyTax implements VoucherJavaParamService{ public Map getJavaParam(JBOTransaction tx,Map param,Map subData) throws BusinessException { MapreturnValue=new HashMap(); returnValue.putAll(param); - returnValue.put("FUNDTYPE","02"); returnValue.put("MONEY",param.get("TAX")); return returnValue; }