diff --git a/WebContent/Tenwa/Comm/Document/LBDocumentUpload.jsp b/WebContent/Tenwa/Comm/Document/LBDocumentUpload.jsp index c5e84aa39..f2a26fd30 100644 --- a/WebContent/Tenwa/Comm/Document/LBDocumentUpload.jsp +++ b/WebContent/Tenwa/Comm/Document/LBDocumentUpload.jsp @@ -110,7 +110,7 @@ //得到不带路径的文件名 sFileName = StringFunction.getFileName(sFileName); - sFileName = URLDecoder.decode(URLDecoder.decode(sFileName,"UTF-8"),"UTF-8"); + sFileName = URLDecoder.decode(URLDecoder.decode(sFileName,"utf-8"),"utf-8"); //定义数据库操作变量 SqlObject so = null; String sNewSql = ""; diff --git a/WebContent/Tenwa/Core/InvoiceManager/TablesXML/SelectCatalog/SelectTraditionContractPayment.xml b/WebContent/Tenwa/Core/InvoiceManager/TablesXML/SelectCatalog/SelectTraditionContractPayment.xml index d857d69c9..ca4771b8f 100644 --- a/WebContent/Tenwa/Core/InvoiceManager/TablesXML/SelectCatalog/SelectTraditionContractPayment.xml +++ b/WebContent/Tenwa/Core/InvoiceManager/TablesXML/SelectCatalog/SelectTraditionContractPayment.xml @@ -99,7 +99,7 @@ WHERE lci.businesstype='#businessType' AND ( WHERE fbo.flow_unid = fo.objectno AND fbo.flow_name = '璧勯噾浠樻' AND fo.phaseno NOT IN ('1000', '8000'))) tab - + where tab.overmoney>0 ]]> diff --git a/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java b/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java index 08f07002d..8f9c08199 100644 --- a/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java +++ b/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java @@ -63,7 +63,7 @@ public class CmbToCallbackController extends BaseFlowStartAction { * 本方放款账户获取######开始 */ BizObjectManager accountManager = JBOFactory.getBizObjectManager(OWN_ACCOUNT.CLASS_NAME); - List accountBoList = accountManager.createQuery("select o.acc_number,o.acc_bank,o.acc_name,o.branch_code,oi.OWN_NAME from o join jbo.com.tenwa.entity.comm.own.OWN_INFO oi on o.own_id = oi.OWN_NUMBER where o.money_type='01' and o.state_='0010' and acc_type='0010' and account_type='out_account' ").getResultList(false); + List accountBoList = accountManager.createQuery("select o.acc_number,o.acc_bank,o.acc_name,o.branch_code,oi.OWN_NAME from o join jbo.com.tenwa.entity.comm.own.OWN_INFO oi on o.own_id = oi.OWN_NUMBER where o.money_type='01' and o.state_='0010' and acc_type='0010' and account_type='out_account' or account_type='inAndOut_account' ").getResultList(false); if( accountBoList==null ) { map.put("code", "1") ; map.put("msg", "本方账户不存在,请检查") ; diff --git a/src_cmb/com/tenwa/sdk/controller/CmbToPayController.java b/src_cmb/com/tenwa/sdk/controller/CmbToPayController.java index b00d2e9ed..6bdbec1e4 100644 --- a/src_cmb/com/tenwa/sdk/controller/CmbToPayController.java +++ b/src_cmb/com/tenwa/sdk/controller/CmbToPayController.java @@ -88,7 +88,7 @@ public class CmbToPayController extends BaseFlowStartAction { * 本方放款账户获取######开始 */ BizObjectManager accountManager = JBOFactory.getBizObjectManager(OWN_ACCOUNT.CLASS_NAME); - List accountBoList = accountManager.createQuery("select o.id,o.acc_number,o.acc_bank,o.acc_name,o.branch_code,oi.OWN_NAME from o join jbo.com.tenwa.entity.comm.own.OWN_INFO oi on o.own_id = oi.OWN_NUMBER where o.money_type='01' and o.state_='0010' and acc_type='0010' and account_type='out_account' ").getResultList(false); + List accountBoList = accountManager.createQuery("select o.id,o.acc_number,o.acc_bank,o.acc_name,o.branch_code,oi.OWN_NAME from o join jbo.com.tenwa.entity.comm.own.OWN_INFO oi on o.own_id = oi.OWN_NUMBER where o.money_type='01' and o.state_='0010' and acc_type='0010' and (account_type='out_account' or account_type='inAndOut_account') ").getResultList(false); if( accountBoList==null ||accountBoList.size()==0) { map.put("code", "1") ; map.put("msg", "本方账户不存在,请检查") ; @@ -97,7 +97,7 @@ public class CmbToPayController extends BaseFlowStartAction { } if( accountBoList!=null && accountBoList.size()>1 ) { map.put("code", "1") ; - map.put("msg", "启用的汽车类放款账户有多个请检查,请检查") ; + map.put("msg", "启用的汽车类放款账户只能同时存在一个,请在本方账户中检查!") ; JSONObject jsonObj = JSONObject.fromObject(map); return jsonObj.toString(); } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForCarTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForCarTradition.java index ec78aa773..b47b9e051 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForCarTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForCarTradition.java @@ -43,11 +43,12 @@ public class CreateVoucherContractChangeForCarTradition { // 未实现利息总额 if("PZ2018100900000265".equals(VOUCHERNO)||"PZ2018100900000266".equals(VOUCHERNO) || "PZ2018100900000284".equals(VOUCHERNO)||"PZ2018100900000285".equals(VOUCHERNO)){ sql="SELECT ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) - ROUND(LRP.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LB_CONTRACT_INFO LCI INNER JOIN (SELECT MAX(CONTRACT_ID) CONTRACT_ID,SUM(INTEREST) SUMINTE,FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID = LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.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 LRPT.FLOWUNID = :FLOWUNID "; - } - // 未实现利息税金 - if("PZ2018100900000267".equals(VOUCHERNO)||"PZ2018100900000268".equals(VOUCHERNO) || "PZ2018100900000286".equals(VOUCHERNO)||"PZ2018100900000287".equals(VOUCHERNO)){ + }else if("PZ2018100900000267".equals(VOUCHERNO)||"PZ2018100900000268".equals(VOUCHERNO) || "PZ2018100900000286".equals(VOUCHERNO)||"PZ2018100900000287".equals(VOUCHERNO)){ sql="SELECT (LRPT.SUMINTE-ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) - (LRP.SUMINTE-ROUND(LRP.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LB_CONTRACT_INFO LCI INNER JOIN (SELECT MAX(CONTRACT_ID) CONTRACT_ID,SUM(INTEREST) SUMINTE,FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID = LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.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 LRPT.FLOWUNID = :FLOWUNID "; + }else {// 提前结清--调整未实现利息收入/调整未实现利息收入税金(汽车传统) + sql="SELECT LRP.INTEREST AS MONEY,ROUND(LRP.INTEREST/getTax(LCI.LEAS_FOMR,'租息',LCI.INPUTTIME),2) AS MONEYNOTAX,LRP.INTEREST- ROUND(LRP.INTEREST/getTax(LCI.LEAS_FOMR,'租息',LCI.INPUTTIME),2)AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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 FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER INNER JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID INNER 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 LFRA.FLOWUNID = :FLOWUNID "; } + List> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); @@ -89,9 +90,9 @@ public class CreateVoucherContractChangeForCarTradition { param.put("CUSTOMERTYPE",CUSTOMERTYPE); param.put("BUSINESSTYPE",BUSINESSTYPE); if("3".equals(BUSINESSTYPE)){ - param.put("LEASFORMASSET", ""); // 融资租赁资产 + param.put("LEASFORMASSET", "04"); // 融资租赁资产 param.put("DEPT", "01"); // 部门 - param.put("LEASINCOMEFORM", "05"); + param.put("LEASINCOMEFORM", "04"); } param.put("FUNDTYPE", "01"); // 主营类型 param.put("BUSINESSTYPE", "06"); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java index 9773bd0f0..0d9efc851 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java @@ -43,11 +43,13 @@ public class CreateVoucherContractChangeForTradition { // 未实现利息总额 if("PZ2018100900000269".equals(VOUCHERNO)||"PZ2018100900000270".equals(VOUCHERNO) || "PZ2018100900000288".equals(VOUCHERNO)||"PZ2018100900000289".equals(VOUCHERNO)){ sql="SELECT ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) - ROUND(LRP.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LB_CONTRACT_INFO LCI INNER JOIN (SELECT MAX(CONTRACT_ID) CONTRACT_ID,SUM(INTEREST) SUMINTE,FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID = LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.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 LRPT.FLOWUNID = :FLOWUNID "; - } // 未实现利息税金 - if("PZ2018100900000271".equals(VOUCHERNO)||"PZ2018100900000272".equals(VOUCHERNO) || "PZ2018100900000290".equals(VOUCHERNO)||"PZ2018100900000291".equals(VOUCHERNO)){ - sql="SELECT (LRPT.SUMINTE-ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) - (LRP.SUMINTE-ROUND(LRP.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LB_CONTRACT_INFO LCI INNER JOIN (SELECT MAX(CONTRACT_ID) CONTRACT_ID,SUM(INTEREST) SUMINTE,FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID = LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.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 LRPT.FLOWUNID = :FLOWUNID "; + }else if("PZ2018100900000271".equals(VOUCHERNO)||"PZ2018100900000272".equals(VOUCHERNO) || "PZ2018100900000290".equals(VOUCHERNO)||"PZ2018100900000291".equals(VOUCHERNO)){ + sql="SELECT (LRPT.SUMINTE-ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) - (LRP.SUMINTE-ROUND(LRP.SUMINTE/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LB_CONTRACT_INFO LCI INNER JOIN (SELECT MAX(CONTRACT_ID) CONTRACT_ID,SUM(INTEREST) SUMINTE,FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID = LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.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 LRPT.FLOWUNID = :FLOWUNID "; + }else { + sql="SELECT LRP.INTEREST AS MONEY,ROUND(LRP.INTEREST/getTax(LCI.LEAS_FOMR,'租息',LCI.INPUTTIME),2) AS MONEYNOTAX,LRP.INTEREST- ROUND(LRP.INTEREST/getTax(LCI.LEAS_FOMR,'租息',LCI.INPUTTIME),2)AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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 FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER INNER JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID INNER 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 LFRA.FLOWUNID = :FLOWUNID "; } + List> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); @@ -90,7 +92,7 @@ public class CreateVoucherContractChangeForTradition { param.put("BUSINESSTYPE",BUSINESSTYPE); if("2".equals(BUSINESSTYPE)){ - param.put("LEASFORMASSET", ""); // 融资租赁资产 + param.put("LEASFORMASSET", "02/03/05/06"); // 融资租赁资产 param.put("DEPT", "01"); // 部门 param.put("LEASINCOMEFORM", "06"); } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionForTradition.java new file mode 100644 index 000000000..7f2d60230 --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionForTradition.java @@ -0,0 +1,134 @@ +package com.tenwa.voucher.CreateVoucherProcess; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import jbo.voucher.LV_VOUCHER_CONFIG; + +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.awe.util.Transaction; +import com.amarsoft.dict.als.cache.CacheLoaderFactory; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; + +public class CreateVoucherDepositDeductionForTradition extends BaseBussiness { + + public String CreateVoucher(String FlowUnid, String VOUCHERNO) throws Exception { + + Transaction Sqlca = null; + Map map = new HashMap(); + Map param = new HashMap(); + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + + String MONEY = null; + String MONEYNOTAX = null; + String MONEYTAX = null; + String ACCOUNT_DATE = null; + String FACT_DATE = null; + String CONTRACT_ID = null; + String CONTRACT_NUMBER = null; + String PROJECT_NAME = null; + String leas_form = null; + String DISTRIBUTOR_ID = null; + String DISTRIBUTOR_NAME = null; + String CUSTID = null; + String CUSTNAME = null; + String CUSTOMERTYPE = null; + String BUSINESSTYPE = null; + String ACC_NUM = null; + String sql = ""; + String feeType=""; + String taxType=""; + param.clear(); + map.put("FlowUnid", FlowUnid); + + // 保证金抵扣租金 + if("PZ2018092500000217".equals(VOUCHERNO) || "PZ2018101000000336".equals(VOUCHERNO) || "PZ2018092500000185".equals(VOUCHERNO) || "PZ2018101000000338".equals(VOUCHERNO)) { + feeType="LRIT.RENT"; + taxType="租金"; + // 保证金抵扣罚金 + }else if("PZ2018092500000219".equals(VOUCHERNO) || "PZ2018101000000337".equals(VOUCHERNO) || "PZ2018092500000187".equals(VOUCHERNO) || "PZ2018101000000339".equals(VOUCHERNO)) { + feeType="LRIT.PENALTY"; + taxType="违约金"; + } + sql = "SELECT '"+feeType+"' AS MONEY,ROUND('"+feeType+"' / getTax(LCI.LEAS_FORM,'"+taxType+"',LCI.INPUTTIME),2) AS MONEYNOTAX,('"+feeType+"' - ROUND('"+feeType+"' / getTax(LCI.LEAS_FORM,'"+taxType+"',LCI.INPUTTIME),2)) AS MONEYTAX,LRIT.ACCOUNTING_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.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,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LRIT.SETTLE_METHOD = 'settlemethod7' AND LRIT.FLOWUNID = :FLOWUNID "; + + // 查询sql, 将结果集封装到list集合中 + List> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map); + CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); + String VOUCHER_TYPE = "1";// 凭证分类 金蝶 + String userid = "admin"; + //遍历获取结果集, 将结果写入map中 + for (int i = 0; i < dataList.size(); i++) { + MONEY = dataList.get(i).get("MONEY").toString(); + if ("".equals(MONEY)||MONEY == null)MONEY = "0.00"; + double mon = Double.parseDouble(MONEY); + // 判断有金额, 封装值到map中 + if (Math.abs(mon) > 0) { + MONEYNOTAX = dataList.get(i).get("MONEYNOTAX").toString(); + MONEYTAX = dataList.get(i).get("MONEYTAX").toString(); + ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString(); + FACT_DATE = dataList.get(i).get("FACT_DATE").toString(); + CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString(); + CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString(); + PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString(); + leas_form = dataList.get(i).get("LEAS_FORM").toString(); + DISTRIBUTOR_ID = dataList.get(i).get("DISTRIBUTOR_ID"); + DISTRIBUTOR_NAME = dataList.get(i).get("DISTRIBUTOR_NAME"); + CUSTID = dataList.get(i).get("CUSTOMERID"); + CUSTNAME = dataList.get(i).get("CUSTOMERNAME"); + CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); + BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); + ACC_NUM = dataList.get(i).get("OWN_NUMBER"); + + param.put("FACT_MONEY", MONEY); + param.put("INTERESTNOTAX", MONEYNOTAX); + param.put("TAX", MONEYTAX); + param.put("ACCOUNT_DATE", ACCOUNT_DATE); + param.put("FACT_DATE", FACT_DATE); + param.put("CONTRACT_ID", CONTRACT_ID); + param.put("CONTRACT_NUMBER", CONTRACT_NUMBER); + param.put("PROJECT_NAME", PROJECT_NAME); + param.put("LEAS_FORM", leas_form); + param.put("DISTRIBUTOR_ID", DISTRIBUTOR_ID); + param.put("DISTRIBUTOR_NAME", DISTRIBUTOR_NAME); + param.put("CUSTID", CUSTID); + param.put("CUSTNAME", CUSTNAME); + param.put("CUSTOMERTYPE", CUSTOMERTYPE); + param.put("BUSINESSTYPE", BUSINESSTYPE); + param.put("ACC_NUMBER", ACC_NUM); + + if ("2".equals(BUSINESSTYPE)) { + param.put("LEASFORMASSET", ""); // 融资租赁资产 + param.put("DEPT", "01"); // 部门 + param.put("LEASINCOMEFORM", "06"); + }else if ("3".equals(BUSINESSTYPE)) { + param.put("LEASFORMASSET", "04"); // 融资租赁资产 + param.put("DEPT", "01"); // 部门 + param.put("LEASINCOMEFORM", "05"); + } + param.put("BUSINESSTYPE", "06"); + param.put("FlowUnid", FlowUnid); + map.clear(); + map.put("PROJ_TYPE", leas_form); + map.put("VOUCHER_NO", VOUCHERNO); + // 根据map中的参数, 查询LV_VOUCHER_CONFIG表数据 + BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + // 如果结果不为空, + if (vouch != null) { + //将创建凭证的参数传入在下一层 + vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid, param,Sqlca); + } + } + } + + if (Sqlca != null) { + Sqlca.commit(); + } + + String sMessage = "true"; + return sMessage; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlement.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlement.java index 0efb80f2c..07dd9cb45 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlement.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlement.java @@ -45,29 +45,29 @@ public class CreateVoucherEarlySettlement { //收到的逾期租金--回租+直租 if("PZ2018081700000126".equals(VOUCHERNO)||"PZ2018081700000127".equals(VOUCHERNO)){ moneyDataSource="LFRA.DUN_RENT"; - joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; + joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; } //收到的逾期利息--回租/直租 if("PZ2018081700000128".equals(VOUCHERNO)||"PZ2018081700000129".equals(VOUCHERNO)){ moneyDataSource="LFRA.AGREED_PENALTY"; - joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; + joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; } //收到的违约金--回租/直租 if("PZ2018081700000130".equals(VOUCHERNO)||"PZ2018081700000131".equals(VOUCHERNO)){ moneyDataSource="LFRA.SDHANDLING_CHARGE"; - joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; + joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; } //收到的提前还款一年内剩余利息--回租/直租 if("PZ2018081700000138".equals(VOUCHERNO)||"PZ2018081700000139".equals(VOUCHERNO)){ moneyDataSource="LFRA.FIST_CORPUS"; - joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; + joinType="LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER "; } // 收到的手续费--回租/直租 if("PZ2018081700000132".equals(VOUCHERNO)||"PZ2018081700000133".equals(VOUCHERNO)) { - sql="SELECT LFRA.OTHER_IN AS MONEY,ROUND(LFRA.OTHER_IN / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME), 2) AS MONEYNOTAX,(LFRA.OTHER_IN - ROUND(LFRA.OTHER_IN / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME), 2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER,cif.customer_num FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN(SELECT CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN GROUP BY CONTRACT_ID)LRI ON LRI.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER INNER JOIN LB_CONTRACT_INFO LCI ON LRI.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER INNER 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 LFRA.FLOWUNID = :FLOWUNID "; + sql="SELECT LFRA.OTHER_IN AS MONEY,ROUND(LFRA.OTHER_IN / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME), 2) AS MONEYNOTAX,(LFRA.OTHER_IN - ROUND(LFRA.OTHER_IN / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME), 2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER,cif.customer_num FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN(SELECT CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN GROUP BY CONTRACT_ID,PAYMENT_NUMBER)LRI ON LRI.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER INNER JOIN LB_CONTRACT_INFO LCI ON LRI.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER INNER 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 LFRA.FLOWUNID = :FLOWUNID "; }else if("PZ2018081700000134".equals(VOUCHERNO)||"PZ2018081700000135".equals(VOUCHERNO)){//收到名义货价--回租/直租 - sql="SELECT LFRA.SDNOMINAL_PRICE AS MONEY,ROUND(LFRA.SDNOMINAL_PRICE / getTax(LCI.LEAS_FORM,'留购价',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFRA.SDNOMINAL_PRICE - ROUND(LFRA.SDNOMINAL_PRICE / getTax(LCI.LEAS_FORM,'留购价',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER,cif.customer_num FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRI ON LRI.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER INNER JOIN LB_CONTRACT_INFO LCI ON LRI.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER INNER 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 LFRA.FLOWUNID = :FLOWUNID "; + sql="SELECT LFRA.SDNOMINAL_PRICE AS MONEY,ROUND(LFRA.SDNOMINAL_PRICE / getTax(LCI.LEAS_FORM,'留购价',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFRA.SDNOMINAL_PRICE - ROUND(LFRA.SDNOMINAL_PRICE / getTax(LCI.LEAS_FORM,'留购价',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER,cif.customer_num FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRI ON LRI.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER INNER JOIN LB_CONTRACT_INFO LCI ON LRI.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LRI.CONTRACT_ID AND LRIT.PAYMENT_NUMBER = LRI.PAYMENT_NUMBER INNER 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 LFRA.FLOWUNID = :FLOWUNID "; }else { sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ " / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME), 2) AS MONEYNOTAX,("+moneyDataSource+ " - ROUND("+moneyDataSource+ " / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME), 2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER,cif.customer_num FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN(SELECT CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN GROUP BY CONTRACT_ID)LRI ON LRI.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER INNER JOIN LB_CONTRACT_INFO LCI ON LRI.CONTRACT_ID = LCI.ID "+joinType+" INNER 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 LFRA.FLOWUNID = :FLOWUNID "; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java new file mode 100644 index 000000000..6d72ab35f --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java @@ -0,0 +1,141 @@ +package com.tenwa.voucher.CreateVoucherProcess; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import jbo.voucher.LV_VOUCHER_CONFIG; + +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.awe.util.Transaction; +import com.amarsoft.dict.als.cache.CacheLoaderFactory; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; + +public class CreateVoucherEarlySettlementForTradition { + public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception { + + Transaction Sqlca =null; + Map map=new HashMap(); + Map param=new HashMap(); + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + + String MONEY=null; + String MONEYNOTAX=null; + String MONEYTAX=null; + String ACCOUNT_DATE=null; + String FACT_DATE=null; + String CONTRACT_ID=null; + String CONTRACT_NUMBER=null; + String PROJECT_NAME=null; + String leas_form=null; + String DISTRIBUTOR_ID=null; + String DISTRIBUTOR_NAME=null; + String CUSTID=null; + String CUSTNAME=null; + String CUSTOMERTYPE=null; + String BUSINESSTYPE=null; + String ACC_NUMBER=null; + String sql=""; + param.clear(); + map.put("FlowUnid", FlowUnid); + + // 收到的逾期租金 + if("PZ2018101000000322".equals(VOUCHERNO) || "PZ2018101000000323".equals(VOUCHERNO) || "PZ2018101000000304".equals(VOUCHERNO) || "PZ2018101000000305".equals(VOUCHERNO)) { + sql="SELECT LFRA.DUN_RENT AS MONEY,ROUND(LFRA.DUN_RENT / getTax(LCI.LEAS_FORM,'租金',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFRA.DUN_RENT - ROUND(LFRA.DUN_RENT / getTax(LCI.LEAS_FORM,'租金',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.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 LFRA.FLOWUNID = :FLOWUNID "; + // 收到的逾期罚息 + }else if("PZ2018101000000324".equals(VOUCHERNO) || "PZ2018101000000325".equals(VOUCHERNO) || "PZ2018101000000306".equals(VOUCHERNO) || "PZ2018101000000307".equals(VOUCHERNO)) { + sql="SELECT LFRA.AGREED_PENALTY AS MONEY,ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFRA.AGREED_PENALTY - ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.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 LFRA.FLOWUNID = :FLOWUNID "; + // 收到的提前还款剩余本金 + }else if("PZ2018101000000326".equals(VOUCHERNO) || "PZ2018101000000327".equals(VOUCHERNO) || "PZ2018101000000308".equals(VOUCHERNO) || "PZ2018101000000309".equals(VOUCHERNO)) { + sql="SELECT LFRA.CORPUS_OVERAGE AS MONEY,LFRA.CORPUS_OVERAGE-LFIT.CAUTION_MONEY AS MONEYNOTAX,LFIT.CAUTION_MONEY AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN(SELECT CONTRACT_ID,SUM(FACT_MONEY) AS CAUTION_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE='feetype2'GROUP BY CONTRACT_ID)LFIT ON LFIT.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"; + // 收到的未到期利息 + }else if("PZ2018101000000328".equals(VOUCHERNO) || "PZ2018101000000329".equals(VOUCHERNO) || "PZ2018101000000310".equals(VOUCHERNO) || "PZ2018101000000311".equals(VOUCHERNO)) { + sql="SELECT LFRA.AGREED_INTEREST AS MONEY,ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFRA.AGREED_INTEREST - ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.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 LFRA.FLOWUNID = :FLOWUNID "; + // 收到的项目违约金 + }else if("PZ2018101000000330".equals(VOUCHERNO) || "PZ2018101000000331".equals(VOUCHERNO) || "PZ2018101000000312".equals(VOUCHERNO) || "PZ2018101000000313".equals(VOUCHERNO)) { + sql="SELECT LFRA.PAYDAY_DATE AS MONEY,ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFRA.PAYDAY_DATE - ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.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 LFRA.FLOWUNID = :FLOWUNID "; + // 收到的违约手续费 + }else if("PZ2018101000000332".equals(VOUCHERNO) || "PZ2018101000000333".equals(VOUCHERNO) || "PZ2018101000000314".equals(VOUCHERNO) || "PZ2018101000000315".equals(VOUCHERNO)) { + sql="SELECT LFRA.SDHANDLING_CHARGE AS MONEY,ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFRA.SDHANDLING_CHARGE - ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME_TEMP GROUP BY CONTRACT_ID,PAYMENT_NUMBER) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.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 LFRA.FLOWUNID = :FLOWUNID "; + // 收到名义货价 + }else if("PZ2018101000000334".equals(VOUCHERNO) || "PZ2018101000000335".equals(VOUCHERNO) || "PZ2018101000000316".equals(VOUCHERNO) || "PZ2018101000000317".equals(VOUCHERNO)) { + sql=""; + } + + List> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); + CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); + String VOUCHER_TYPE="1";// 凭证分类 金蝶 + String userid ="admin"; + for (int i=0;i0){ + MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString(); + MONEYTAX=dataList.get(i).get("MONEYTAX").toString(); + ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString(); + FACT_DATE =dataList.get(i).get("FACT_DATE").toString(); + CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString(); + CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString(); + PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString(); + leas_form=dataList.get(i).get("LEAS_FORM").toString(); + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID"); + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); + CUSTID=dataList.get(i).get("CUSTOMERID"); + CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); + CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); + BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); + ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); + if("".equals(ACC_NUMBER)||ACC_NUMBER==null) { + ACC_NUMBER="0"; + } + param.put("FACT_MONEY",MONEY); + param.put("INTERESTNOTAX",MONEYNOTAX); + param.put("TAX",MONEYTAX); + param.put("ACCOUNT_DATE",ACCOUNT_DATE); + param.put("FACT_DATE",FACT_DATE); + param.put("CONTRACT_ID",CONTRACT_ID); + param.put("CONTRACT_NUMBER",CONTRACT_NUMBER); + param.put("PROJECT_NAME",PROJECT_NAME); + param.put("LEAS_FORM",leas_form); + param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID); + param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); + param.put("CUSTID",CUSTID); + param.put("CUSTNAME",CUSTNAME); + param.put("CUSTOMERTYPE",CUSTOMERTYPE); + param.put("BUSINESSTYPE",BUSINESSTYPE); + param.put("ACC_NUMBER",ACC_NUMBER); + param.put("VOUCHERNO",VOUCHERNO); + + if("2".equals(BUSINESSTYPE)){ + param.put("LEASFORMASSET", "02/03/05/06"); // 融资租赁资产 + param.put("DEPT", "01"); // 部门 + param.put("LEASINCOMEFORM", "06"); + }else if("3".equals(BUSINESSTYPE)){ + param.put("LEASFORMASSET", "04"); // 融资租赁资产 + param.put("DEPT", "01"); // 部门 + if("PZ2018101000000326".equals(VOUCHERNO) || "PZ2018101000000327".equals(VOUCHERNO)) { + param.put("LEASINCOMEFORM", "04"); + }else { + param.put("LEASINCOMEFORM", "05"); + } + } + param.put("BUSINESSTYPE", "06"); + param.put("FlowUnid", FlowUnid); + map.clear(); + map.put("PROJ_TYPE", leas_form); + map.put("VOUCHER_NO", VOUCHERNO); + BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + if(vouch!=null){ + vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); + } + } + } + if(Sqlca!=null){ + Sqlca.commit(); + } + String sMessage="true"; + return sMessage; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java new file mode 100644 index 000000000..fb64d11f3 --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java @@ -0,0 +1,135 @@ +package com.tenwa.voucher.CreateVoucherProcess; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import jbo.voucher.LV_VOUCHER_CONFIG; + +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.awe.util.Transaction; +import com.amarsoft.dict.als.cache.CacheLoaderFactory; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; + +public class CreateVoucherIncomeForTradition extends BaseBussiness { + + public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType) throws Exception { + + Transaction Sqlca = null; + Map map = new HashMap(); + Map param = new HashMap(); + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + + String MONEY = null; + String MONEYNOTAX = null; + String MONEYTAX = null; + String ACCOUNT_DATE = null; + String FACT_DATE = null; + String CONTRACT_ID = null; + String CONTRACT_NUMBER = null; + String PROJECT_NAME = null; + String leas_form = null; + String DISTRIBUTOR_ID = null; + String DISTRIBUTOR_NAME = null; + String CARID = null; + String CARMODEL = null; + String CUSTID = null; + String CUSTNAME = null; + String CUSTOMERTYPE = null; + String BUSINESSTYPE = null; + String ACC_NUM = null; + String sql = ""; + param.clear(); + map.put("FlowUnid", FlowUnid); + map.put("FEE_TYPE", FeeType); + + if("PZ2018092500000205".equals(VOUCHERNO)||"PZ2018100900000292".equals(VOUCHERNO)||"PZ2018092500000173".equals(VOUCHERNO)||"PZ2018100900000294".equals(VOUCHERNO)) { + sql = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax(LCI.LEAS_FORM,'违约金',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax(LCI.LEAS_FORM,'违约金',LCI.INPUTTIME),2)) AS MONEYTAX,LFIT.ACCOUNTING_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID "; + }else if("PZ2018092500000206".equals(VOUCHERNO)||"PZ2018100900000293".equals(VOUCHERNO)||"PZ2018092500000174".equals(VOUCHERNO)||"PZ2018100900000295".equals(VOUCHERNO)){ + sql = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax(LCI.LEAS_FORM,'留购价',LCI.INPUTTIME),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax(LCI.LEAS_FORM,'留购价',LCI.INPUTTIME),2)) AS MONEYTAX,LFIT.ACCOUNTING_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID "; + } + // 查询sql, 将结果集封装到list集合中 + List> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map); + CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); + String VOUCHER_TYPE = "1";// 凭证分类 金蝶 + String userid = "admin"; + //遍历获取结果集, 将结果写入map中 + for (int i = 0; i < dataList.size(); i++) { + MONEY = dataList.get(i).get("MONEY").toString(); + if ("".equals(MONEY)||MONEY == null)MONEY = "0.00"; + double mon = Double.parseDouble(MONEY); + // 判断有金额, 封装值到map中 + if (Math.abs(mon) > 0) { + MONEYNOTAX = dataList.get(i).get("MONEYNOTAX").toString(); + MONEYTAX = dataList.get(i).get("MONEYTAX").toString(); + ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString(); + FACT_DATE = dataList.get(i).get("FACT_DATE").toString(); + CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString(); + CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString(); + PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString(); + leas_form = dataList.get(i).get("LEAS_FORM").toString(); + DISTRIBUTOR_ID = dataList.get(i).get("DISTRIBUTOR_ID"); + DISTRIBUTOR_NAME = dataList.get(i).get("DISTRIBUTOR_NAME"); + CARID = dataList.get(i).get("CARID"); + CARMODEL = dataList.get(i).get("MODEL"); + CUSTID = dataList.get(i).get("CUSTOMERID"); + CUSTNAME = dataList.get(i).get("CUSTOMERNAME"); + CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); + BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); + ACC_NUM = dataList.get(i).get("ACC_NUMBER"); + + param.put("FACT_MONEY", MONEY); + param.put("INTERESTNOTAX", MONEYNOTAX); + param.put("TAX", MONEYTAX); + param.put("ACCOUNT_DATE", ACCOUNT_DATE); + param.put("FACT_DATE", FACT_DATE); + param.put("CONTRACT_ID", CONTRACT_ID); + param.put("CONTRACT_NUMBER", CONTRACT_NUMBER); + param.put("PROJECT_NAME", PROJECT_NAME); + param.put("LEAS_FORM", leas_form); + param.put("DISTRIBUTOR_ID", DISTRIBUTOR_ID); + param.put("DISTRIBUTOR_NAME", DISTRIBUTOR_NAME); + param.put("CARID", CARID); + param.put("CARMODEL", CARMODEL); + param.put("CUSTID", CUSTID); + param.put("CUSTNAME", CUSTNAME); + param.put("CUSTOMERTYPE", CUSTOMERTYPE); + param.put("BUSINESSTYPE", BUSINESSTYPE); + param.put("ACC_NUMBER", ACC_NUM); + param.put("VOUCHERNO", VOUCHERNO); + + if ("2".equals(BUSINESSTYPE)) { + param.put("LEASFORMASSET", ""); // 融资租赁资产 + param.put("DEPT", "01"); // 部门 + param.put("LEASINCOMEFORM", "06"); + }else if ("3".equals(BUSINESSTYPE)) { + param.put("LEASFORMASSET", ""); // 融资租赁资产 + param.put("DEPT", "01"); // 部门 + param.put("LEASINCOMEFORM", "05"); + } + // param.put("FUNDTYPE", ""); // 主营类型 + param.put("BUSINESSTYPE", "06"); + param.put("FlowUnid", FlowUnid); + map.clear(); + map.put("PROJ_TYPE", leas_form); + map.put("VOUCHER_NO", VOUCHERNO); + // 根据map中的参数, 查询LV_VOUCHER_CONFIG表数据 + BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + // 如果结果不为空, + if (vouch != null) { + //将创建凭证的参数传入在下一层 + vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid, param,Sqlca); + } + } + } + + if (Sqlca != null) { + Sqlca.commit(); + } + + String sMessage = "true"; + return sMessage; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractEarlySettlementSQForCarTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractEarlySettlementSQForCarTradition.java new file mode 100644 index 000000000..2ddcf1d57 --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractEarlySettlementSQForCarTradition.java @@ -0,0 +1,82 @@ +package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle; + +import com.amarsoft.awe.util.Transaction; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherContractChangeForCarTradition; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherContractChangeForTradition; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEarlySettlement; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEarlySettlementForTradition; +/** + * 汽车类传统提前结清流程结束后生成相关凭证 + * @author xiezhiwen + */ +public class ContractEarlySettlementSQForCarTradition extends BaseBussiness { + + @Override + public Object run(Transaction Sqlca) throws Exception { + this.initBussinessParam(Sqlca); + String FlowUnid=this.getAttribute("FlowUnid").toString(); + + // 汽车类传统------------------------------------------------------------------------------------- + CreateVoucherContractChangeForCarTradition cvct=new CreateVoucherContractChangeForCarTradition(); + cvct.CreateVoucher(FlowUnid, "PZ2018101000000318");//调整未实现利息收入(不含税)--回租 + cvct.CreateVoucher(FlowUnid, "PZ2018101000000319");//调整未实现利息收入(不含税)--直租 + + cvct.CreateVoucher(FlowUnid, "PZ2018101000000320");//调整未实现利息收入税金--回租 + cvct.CreateVoucher(FlowUnid, "PZ2018101000000321");//调整未实现利息收入税金--直租 + + // 传统--------------------------------------------------------------------------------------------- + CreateVoucherContractChangeForTradition cvcft= new CreateVoucherContractChangeForTradition(); + cvcft.CreateVoucher(FlowUnid, "PZ2018101000000300");//调整未实现利息收入(不含税)--回租 + cvcft.CreateVoucher(FlowUnid, "PZ2018101000000301");//调整未实现利息收入(不含税)--直租 + + cvcft.CreateVoucher(FlowUnid, "PZ2018101000000302");//调整未实现利息收入税金--回租 + cvcft.CreateVoucher(FlowUnid, "PZ2018101000000303");//调整未实现利息收入税金--直租 + + CreateVoucherEarlySettlementForTradition cves = new CreateVoucherEarlySettlementForTradition(); + // 汽车类传统----------------------------------------------------------------------------------------------- + cves.CreateVoucher(FlowUnid, "PZ2018101000000322");//收到的逾期租金--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000323");//收到的逾期租金--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000324");//收到的逾期罚息--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000325");//收到的逾期罚息--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000326");//收到的提前还款剩余本金--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000327");//收到的提前还款剩余本金--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000328");//收到的未到期利息--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000329");//收到的未到期利息--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000330");//收到的项目违约金--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000331");//收到的项目违约金--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000332");//收到的违约手续费--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000333");//收到的违约手续费--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000334");//收到名义货价--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000335");//收到名义货价--直租 + + // 传统----------------------------------------------------------------------------------------------- + cves.CreateVoucher(FlowUnid, "PZ2018101000000304");//收到的逾期租金--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000305");//收到的逾期租金--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000306");//收到的逾期罚息--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000307");//收到的逾期罚息--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000308");//收到的提前还款剩余本金--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000309");//收到的提前还款剩余本金--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000310");//收到的未到期利息--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000311");//收到的未到期利息--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000312");//收到的项目违约金--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000313");//收到的项目违约金--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000314");//收到的违约手续费--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000315");//收到的违约手续费--直租 + + cves.CreateVoucher(FlowUnid, "PZ2018101000000316");//收到名义货价--回租 + cves.CreateVoucher(FlowUnid, "PZ2018101000000317");//收到名义货价--直租 + return "true"; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucherForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucherForTradition.java new file mode 100644 index 000000000..909c2ed6a --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucherForTradition.java @@ -0,0 +1,33 @@ +package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle; + +import com.amarsoft.awe.util.Transaction; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherIncomeForTradition; +/** + * 传统/汽车类传统网银收款生成凭证 + * @author xiezhiwen + */ +public class IncomeVoucherForTradition extends BaseBussiness { + + @Override + public Object run(Transaction Sqlca) throws Exception { + this.initBussinessParam(Sqlca); + String FlowUnid=this.getAttribute("FlowUnid").toString(); + + CreateVoucherIncomeForTradition cvci=new CreateVoucherIncomeForTradition(); + // 汽车类传统 + cvci.CreateVoucher(FlowUnid, "PZ2018092500000205", "feetype30");//回款-收到的违约金/罚款--回租 + cvci.CreateVoucher(FlowUnid, "PZ2018100900000292", "feetype30");//回款-收到的违约金/罚款--直租 + cvci.CreateVoucher(FlowUnid, "PZ2018092500000206", "feetype4"); //回款-收到名义货价--回租 + cvci.CreateVoucher(FlowUnid, "PZ2018100900000293", "feetype4"); //回款-收到名义货价--直租 + + // 传统 + cvci.CreateVoucher(FlowUnid, "PZ2018092500000173", "feetype30");//回款-收到的违约金/罚款--回租 + cvci.CreateVoucher(FlowUnid, "PZ2018100900000294", "feetype30");//回款-收到的违约金/罚款--直租 + cvci.CreateVoucher(FlowUnid, "PZ2018092500000174", "feetype4"); //回款-收到名义货价--回租 + cvci.CreateVoucher(FlowUnid, "PZ2018100900000295", "feetype4"); //回款-收到名义货价--直租 + + return "true"; + } + +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/VoucherDepositDeductionForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/VoucherDepositDeductionForTradition.java new file mode 100644 index 000000000..a17d89d2c --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/VoucherDepositDeductionForTradition.java @@ -0,0 +1,48 @@ +package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle; + +import com.amarsoft.awe.util.Transaction; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherDepositDeductionForTradition; +import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherDepositDeductionToMoney; +/** + * 保证金抵扣流成结束后生成(传统) + * @author xiezhiwen + */ +public class VoucherDepositDeductionForTradition extends BaseBussiness { + + @Override + public Object run(Transaction Sqlca) throws Exception { + this.initBussinessParam(Sqlca); + String FlowUnid=this.getAttribute("FlowUnid").toString(); + + CreateVoucherDepositDeductionForTradition cvdd=new CreateVoucherDepositDeductionForTradition(); + // 汽车类传统 + cvdd.CreateVoucher(FlowUnid, "PZ2018092500000217");//保证金抵扣租金 --回租 + cvdd.CreateVoucher(FlowUnid, "PZ2018101000000336");//保证金抵扣租金--直租 + + //cvdd.CreateVoucher(FlowUnid, "PZ2018092500000218");//保证金抵扣违约金 --回租 + //cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣违约金 --直租 + + cvdd.CreateVoucher(FlowUnid, "PZ2018092500000219");//保证金抵扣罚金 --回租 + cvdd.CreateVoucher(FlowUnid, "PZ2018101000000337");//保证金抵扣罚金 --直租 + + //cvdd.CreateVoucher(FlowUnid, "PZ2018092500000220");//保证金抵扣名义货价 --回租 + //cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣名义货价--直租 + + // 传统 + cvdd.CreateVoucher(FlowUnid, "PZ2018092500000185");//保证金抵扣租金 --回租 + cvdd.CreateVoucher(FlowUnid, "PZ2018101000000338");//保证金抵扣租金--直租 + + cvdd.CreateVoucher(FlowUnid, "PZ2018092500000186");//保证金抵扣违约金 --回租 + cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣违约金 --直租 + + cvdd.CreateVoucher(FlowUnid, "PZ2018092500000187");//保证金抵扣罚金 --回租 + cvdd.CreateVoucher(FlowUnid, "PZ2018101000000339");//保证金抵扣罚金--直租 + + cvdd.CreateVoucher(FlowUnid, "PZ2018092500000188");//保证金抵扣名义货价 --回租 + cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣名义货价--直租 + return "true"; + } + +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java index b387a9aaa..3931329c3 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java @@ -17,9 +17,10 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; public class InsertVoucherRentIncome { private String sys_date; private String[] voucher_nos={"PZ2018072100000024","PZ2018080400000081", - "PZ2018072100000025","PZ2018080400000082" - ,"PZ2018072100000028","PZ2018080400000085", - "PZ2018082100000142","PZ2018082100000143","PZ2018082100000144","PZ2018082100000145"}; + "PZ2018072100000025","PZ2018080400000082","PZ2018072100000028","PZ2018080400000085", + "PZ2018082100000142","PZ2018082100000143","PZ2018082100000144","PZ2018082100000145", + "PZ2018092500000203","PZ2018100900000296","PZ2018092500000204","PZ2018100900000297", + "PZ2018092500000171","PZ2018100900000298","PZ2018092500000172","PZ2018100900000299"}; public String getSys_date() { return sys_date; @@ -34,7 +35,6 @@ public class InsertVoucherRentIncome { //回款-收到的逾期利息 复制--回款-收到的逾期利息 "PZ2018072100000025" "PZ2018080400000082"*/ /*** - * * @param VOUCHERNO * @throws Exception */ @@ -51,6 +51,14 @@ public class InsertVoucherRentIncome { if("PZ2018072100000024".equals(VOUCHERNO)||"PZ2018080400000081".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION='1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION='2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,CASE WHEN lv.loan_direction='1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction='1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018072100000024','PZ2018080400000081')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' and f58 is not null) and lvri.rent>0 and lvri.EBANK_NUMBER is not null and lvri.EBANK_NUMBER<>'' ORDER BY lvri.voucher_f3 "; } + //收到的租金--网银(汽车传统) + if("PZ2018092500000203".equals(VOUCHERNO)||"PZ2018100900000296".equals(VOUCHERNO)){ + sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION = '1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION = '2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,lci.contract_number,CASE WHEN lv.loan_direction = '1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction = '2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction = '2' THEN '04' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id WHERE lvc.voucher_no IN ('PZ2018092500000203','PZ2018100900000296')) lv ON lv.proj_type = lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + } + //收到的租金--网银(传统) + if("PZ2018092500000171".equals(VOUCHERNO)||"PZ2018100900000298".equals(VOUCHERNO)){ + sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION = '1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION = '2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,lci.contract_number,CASE WHEN lv.loan_direction = '1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction = '2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction = '2' THEN '06' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id WHERE lvc.voucher_no IN ('PZ2018092500000171','PZ2018100900000298')) lv ON lv.proj_type = lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + } //收到的租金--卡扣 if("PZ2018082100000142".equals(VOUCHERNO)||"PZ2018082100000143".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION='1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION='2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018082100000142','PZ2018082100000143')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' and f58 is not null) and lvri.rent>0 and (lvri.EBANK_NUMBER is null or lvri.EBANK_NUMBER='') ORDER BY lvri.voucher_f3 "; @@ -59,6 +67,14 @@ public class InsertVoucherRentIncome { if("PZ2018072100000025".equals(VOUCHERNO)||"PZ2018080400000082".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number='2' THEN ROUND(lvri.penalty/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) WHEN lv.sort_number='3' THEN lvri.penalty-(ROUND(lvri.penalty/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,CASE WHEN lv.loan_direction='1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction='1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018072100000025','PZ2018080400000082')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty>0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER<>'' ORDER BY lvri.voucher_f3"; } + //收到的逾期利息--网银(汽车传统) + if("PZ2018092500000204".equals(VOUCHERNO)||"PZ2018100900000297".equals(VOUCHERNO)){ + sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax(LCI.LEAS_FORM,'逾期利息',LCI.INPUTTIME),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty / getTax(LCI.LEAS_FORM,'逾期利息',LCI.INPUTTIME),2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,lci.contract_number,CASE WHEN lv.loan_direction = '1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction = '2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction = '2' THEN '05' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id WHERE lvc.voucher_no IN ('PZ2018092500000204','PZ2018100900000297')) lv ON lv.proj_type = lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + } + //收到的逾期利息--网银(传统) + if("PZ2018092500000172".equals(VOUCHERNO)||"PZ2018100900000299".equals(VOUCHERNO)){ + sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax(LCI.LEAS_FORM,'逾期利息',LCI.INPUTTIME),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty / getTax(LCI.LEAS_FORM,'逾期利息',LCI.INPUTTIME),2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,lci.contract_number,CASE WHEN lv.loan_direction = '1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction = '2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction = '2' THEN '06' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id WHERE lvc.voucher_no IN ('PZ2018092500000172','PZ2018100900000299')) lv ON lv.proj_type = lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + } //收到的逾期利息--卡扣 if("PZ2018082100000144".equals(VOUCHERNO)||"PZ2018082100000145".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number='2' THEN ROUND(lvri.penalty/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) WHEN lv.sort_number='3' THEN lvri.penalty-(ROUND(lvri.penalty/getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018082100000144','PZ2018082100000145')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty>0 and (lvri.EBANK_NUMBER is null or lvri.EBANK_NUMBER='') ORDER BY lvri.voucher_f3";