凭证相关-客户num调整

This commit is contained in:
xiezhiwen 2018-08-28 16:11:42 +08:00
parent dea424baf7
commit 469f16bb10
17 changed files with 626 additions and 137 deletions

View File

@ -21,6 +21,7 @@
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] = {
{"true","","Button","导出凭证","导出凭证","createContractByTemplate()","","","","btn_icon_up",""},
{"true","","Button","NC接口","NC接口","NCInterface()","","","","btn_icon_up",""},
//{"true","","Button","刷新辅助账编码","刷新辅助账编码","synVoucherCode()","","","","btn_icon_save",""},
//{"true","","Button","明细","明细","showContractInsurance()","","","","btn_icon_detail",""},
//{"true","","Button","导入金蝶系统","导入金蝶系统","importFK()","","","","btn_icon_up",""},
@ -30,6 +31,15 @@
};
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
<script type="text/javascript">
function NCInterface(){
alert("传输开始");
var mes = RunJavaMethodTrans("com.tenwa.voucher.serviceImp.VoucherSysJointNCServiceImpl","sendVoucherData","");
alert("传输成功");
}
function synVoucherCode(){
var ids=getItemValue(0,'f3')+"";

View File

@ -11,12 +11,14 @@ 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;
/**
* 合同变更凭证取值
* @author xiezhiwen
*/
public class CreateVoucherContractOnhireChange {
public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
Transaction Sqlca =null;
Transaction Sqlca=null;
Map<String,String> map=new HashMap<String, String>();
Map<String,String> param=new HashMap<String, String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
@ -35,18 +37,16 @@ public class CreateVoucherContractOnhireChange {
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
//String CARID=null;
//String CARMODEL=null;
String sql="";
param.clear();
map.put("FlowUnid", FlowUnid);
// 未实现利息总额
if("PZ2018072100000049".equals(VOUCHERNO)||"PZ2018080400000105".equals(VOUCHERNO)){
sql="SELECT LRPT.SUMINTE - LRP.SUMINTE 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,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LB_CONTRACT_INFO LCI INNER JOIN (SELECT MAX(CONTRACT_ID) CONTRACT_ID,SUM(ROUND(INTEREST / 1.06, 2)) SUMINTE,FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID = LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(ROUND(INTEREST / 1.06, 2)) 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 ";
sql="SELECT LRPT.SUMINTE - LRP.SUMINTE 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(ROUND(INTEREST / 1.06, 2)) SUMINTE,FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID = LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(ROUND(INTEREST / 1.06, 2)) 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("PZ2018072100000050".equals(VOUCHERNO)||"PZ2018080400000106".equals(VOUCHERNO)){
sql="SELECT LRPT.SUMINTE-LRP.SUMINTE 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,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME ,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LB_CONTRACT_INFO LCI INNER JOIN (SELECT MAX(CONTRACT_ID) CONTRACT_ID,SUM(INTEREST-ROUND(INTEREST/1.06,2))SUMINTE, FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID=LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(INTEREST-ROUND(INTEREST/1.06,2)) 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";
sql="SELECT LRPT.SUMINTE-LRP.SUMINTE 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-ROUND(INTEREST/1.06,2))SUMINTE, FLOWUNID FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.CONTRACT_ID=LCI.ID INNER JOIN (SELECT CONTRACT_ID,SUM(INTEREST-ROUND(INTEREST/1.06,2)) 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";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
@ -60,61 +60,57 @@ public class CreateVoucherContractOnhireChange {
if(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");
//CARID=dataList.get(i).get("CARID");
//CARMODEL=dataList.get(i).get("MODEL");
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("CARID",CARID);
//param.put("CARMODEL",CARMODEL);
if("1".equals(BUSINESSTYPE)){
param.put("LEASFORMASSET", "04"); // 融资租赁资产
param.put("DEPT", "02"); // 部门
if("03".equals(CUSTOMERTYPE)){ // 如果是个人业务
param.put("LEASINCOMEFORM", "02"); // C端
}else if("01".equals(CUSTOMERTYPE)){
param.put("LEASINCOMEFORM", "01"); // B端
}
}
param.put("FUNDTYPE", "01"); // 主营类型
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);
}}
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");
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);
if("1".equals(BUSINESSTYPE)){
param.put("LEASFORMASSET", "04"); // 融资租赁资产
param.put("DEPT", "02"); // 部门
if("03".equals(CUSTOMERTYPE)){ // 如果是个人业务
param.put("LEASINCOMEFORM", "02"); // C端
}else if("01".equals(CUSTOMERTYPE)){
param.put("LEASINCOMEFORM", "01"); // B端
}
}
param.put("FUNDTYPE", "01"); // 主营类型
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();
}

View File

@ -50,16 +50,16 @@ public class CreateVoucherContractTerminate {
//提前还款-调整未实现利息收入--回租/直租
if("PZ2018072100000045".equals(VOUCHERNO)||"PZ2018072100000046".equals(VOUCHERNO)||"PZ2018080400000099".equals(VOUCHERNO)||"PZ2018080400000100".equals(VOUCHERNO)){
sql="SELECT LRP.INTEREST - LFRA.FIST_CORPUS - LRI.INTEREST AS MONEY,ROUND((LRP.INTEREST - LFRA.FIST_CORPUS) / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) - LRI.INTEREST AS MONEYNOTAX,LRP.INTEREST - LFRA.FIST_CORPUS - LRI.INTEREST - (ROUND((LRP.INTEREST - LFRA.FIST_CORPUS) / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) - LRI.INTEREST) 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.CERTID 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 (SELECT CONTRACT_ID,PAYMENT_NUMBER,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN WHERE PLAN_LIST IN (1, 2, 3, 4, 5, 6) GROUP BY CONTRACT_ID) LRI ON LRI.PAYMENT_NUMBER=LRP.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 ";
sql="SELECT LRP.INTEREST - LFRA.FIST_CORPUS - LRI.INTEREST AS MONEY,ROUND((LRP.INTEREST - LFRA.FIST_CORPUS) / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) - LRI.INTEREST AS MONEYNOTAX,LRP.INTEREST - LFRA.FIST_CORPUS - LRI.INTEREST - (ROUND((LRP.INTEREST - LFRA.FIST_CORPUS) / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) - LRI.INTEREST) 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 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 (SELECT CONTRACT_ID,PAYMENT_NUMBER,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN WHERE PLAN_LIST IN (1, 2, 3, 4, 5, 6) GROUP BY CONTRACT_ID) LRI ON LRI.PAYMENT_NUMBER=LRP.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 ";
}
//提前还款-确认未实现利息收入/确认租金利息税金--回租/直租
if("PZ2018081700000122".equals(VOUCHERNO)||"PZ2018081700000124".equals(VOUCHERNO)||"PZ2018081700000123".equals(VOUCHERNO)||"PZ2018081700000125".equals(VOUCHERNO)){
sql="SELECT LFRA.FIST_CORPUS AS MONEY,ROUND(LFRA.FIST_CORPUS / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 2) AS MONEYNOTAX,LFRA.FIST_CORPUS - ROUND(LFRA.FIST_CORPUS / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 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.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LFRA INNER JOIN (SELECT CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN LRP 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 ";
sql="SELECT LFRA.FIST_CORPUS AS MONEY,ROUND(LFRA.FIST_CORPUS / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 2) AS MONEYNOTAX,LFRA.FIST_CORPUS - ROUND(LFRA.FIST_CORPUS / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 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 FROM LC_RENT_PLAN LRP 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 ";
}
//收到的提前还款剩余本金--回租/直租
if("PZ2018081700000136".equals(VOUCHERNO)||"PZ2018081700000137".equals(VOUCHERNO)){
sql="SELECT IFNULL(LFRA.CORPUS_OVERAGE, 0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE, 0) - IFNULL(LFRA.OTHER_OUT, 0) AS MONEYNOTAX,IFNULL(LFRA.OTHER_OUT, 0) 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.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER AS ACC_NUMBER 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(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 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 IFNULL(LFRA.CORPUS_OVERAGE, 0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE, 0) - IFNULL(LFRA.OTHER_OUT, 0) AS MONEYNOTAX,IFNULL(LFRA.OTHER_OUT, 0) 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 AS ACC_NUMBER 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(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 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<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);

View File

@ -46,7 +46,7 @@ public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
map.put("FEE_TYPE", FeeType);
//sql= "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY/1.06,2)AS MONEYNOTAX,(LFIT.FACT_MONEY-ROUND(LFIT.FACT_MONEY/1.06,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') 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.CERTID 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 WHERE LFIT.FEE_TYPE=:FEE_TYPE AND LFIT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LFIT.FACT_DATE,'%Y/%m')=DATE_FORMAT(SYSDATE(),'%Y/%m')";
sql = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS MONEYNOTAX,(LFIT.FACT_MONEY-ROUND(LFIT.FACT_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') 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.CERTID 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 = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS MONEYNOTAX,(LFIT.FACT_MONEY-ROUND(LFIT.FACT_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') 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 ";
// 区分一次性收入和按月分摊--0010=一次性/0020=按月分摊
if("PZ2018071100000014".equals(VOUCHERNO)||"PZ2018080400000079".equals(VOUCHERNO)||"PZ2018072100000035".equals(VOUCHERNO)||"PZ2018080400000111".equals(VOUCHERNO)) {
sql+=" AND LCCT.HANDLING_CHARGE_MONEY_TYPE='0010'";

View File

@ -54,7 +54,7 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
//String FlowUnid=this.getAttribute("FlowUnid").toString();
//String VOUCHERNO="PZ2018071000000005";
//String VOUCHERNO=this.getAttribute("VoucherNo").toString();
String sql="SELECT LCCT.EQUIP_AMT,LCCT.FIRST_PAYMENT,LCCT.HANDLING_CHARGE_MONEY,LCCT.CLEAN_LEASE_MONEY,IFNULL(LCCT.CAUTION_MONEY,0)AS CAUTION_MONEY,LCCT.INSURANCE_PREMIUM,LCCT.PURCHASE_TAX,LCCT.INCIDENTAL,LCCT.GPS_FEE as GPS_FEE_FINANCE,LCCT.TABLEWARE_FEE,LRPT.INTEREST,LRPT.INTERESTNOTAX,LRPT.TAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,lfit.ACC_NUMBER,LCCT.GPS_FEE_FINA FROM LC_CALC_CONDITION LCCT inner join (SELECT contract_id,FLOWUNID,min(ACC_NUMBER) ACC_NUMBER FROM lc_fund_income_temp WHERE fee_type='feetype10' GROUP BY contract_id,FLOWUNID) lfit on lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,SUM(ROUND((INTEREST/1.06),2)) AS INTERESTNOTAX,SUM(INTEREST-ROUND((INTEREST/1.06),2)) AS TAX FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID=LCCT.FLOWUNID 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 WHERE lfit.FLOWUNID=:FLOWUNID";
String sql="SELECT LCCT.EQUIP_AMT,LCCT.FIRST_PAYMENT,LCCT.HANDLING_CHARGE_MONEY,LCCT.CLEAN_LEASE_MONEY,IFNULL(LCCT.CAUTION_MONEY,0)AS CAUTION_MONEY,LCCT.INSURANCE_PREMIUM,LCCT.PURCHASE_TAX,LCCT.INCIDENTAL,LCCT.GPS_FEE as GPS_FEE_FINANCE,LCCT.TABLEWARE_FEE,LRPT.INTEREST,LRPT.INTERESTNOTAX,LRPT.TAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%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,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,lfit.ACC_NUMBER,LCCT.GPS_FEE_FINA FROM LC_CALC_CONDITION LCCT inner join (SELECT contract_id,FLOWUNID,min(ACC_NUMBER) ACC_NUMBER FROM lc_fund_income_temp WHERE fee_type='feetype10' GROUP BY contract_id,FLOWUNID) lfit on lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,SUM(ROUND((INTEREST/1.06),2)) AS INTERESTNOTAX,SUM(INTEREST-ROUND((INTEREST/1.06),2)) AS TAX FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID=LCCT.FLOWUNID 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 WHERE lfit.FLOWUNID=:FLOWUNID";
param.clear();
map.put("FLOWUNID", FlowUnid);

View File

@ -74,7 +74,7 @@ public class CreateVoucherEarlySettlement {
}
//if("PZ2018081700000129".equals(VOUCHERNO)||"PZ2018081700000131".equals(VOUCHERNO)||"PZ2018081700000133".equals(VOUCHERNO)||"PZ2018081700000135".equals(VOUCHERNO)){
sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ " / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 2) AS MONEYNOTAX,("+moneyDataSource+ " - ROUND("+moneyDataSource+ " / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 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.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER 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 ";
sql="SELECT \"+moneyDataSource+ \" AS MONEY,ROUND(\"+moneyDataSource+ \" / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 2) AS MONEYNOTAX,(\"+moneyDataSource+ \" - ROUND(\"+moneyDataSource+ \" / CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END, 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.CERTID 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 ";
//}else {
//sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ " / 1.06, 2) AS MONEYNOTAX,("+moneyDataSource+ " - ROUND("+moneyDataSource+ " / 1.06, 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.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER 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 ";
//}

View File

@ -44,7 +44,7 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
//String VOUCHERNO=this.getAttribute("VoucherNo").toString();
param.clear();
map.put("FlowUnid", FlowUnid);
sql= "SELECT LCCT.HANDLING_CHARGE_MONEY AS MONEY,ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS HANDLFEENOTAX,(LCCT.HANDLING_CHARGE_MONEY-ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2))AS HANDLTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d')AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%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,LEC.ID AS CARID,LEC.MODEL ,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN lc_fund_income_temp lfit ON lfit.contract_id=lcct.contract_id AND lfit.fee_type='feetype10' LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.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 WHERE lfit.FLOWUNID=:FLOWUNID";
sql= "SELECT LCCT.HANDLING_CHARGE_MONEY AS MONEY,ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS HANDLFEENOTAX,(LCCT.HANDLING_CHARGE_MONEY-ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2))AS HANDLTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d')AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%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,LEC.ID AS CARID,LEC.MODEL ,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,cif.customer_num FROM LC_CALC_CONDITION LCCT INNER JOIN lc_fund_income_temp lfit ON lfit.contract_id=lcct.contract_id AND lfit.fee_type='feetype10' LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.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 WHERE lfit.FLOWUNID=:FLOWUNID";
// 给经销商放款冲抵确认收到手续费按月分摊收入
if("PZ2018071000000009".equals(VOUCHERNO)||"PZ2018080300000073".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020'";

View File

@ -76,6 +76,7 @@ public class CreateVoucherLoanDistributor {
sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.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 WHERE lfit.FLOWUNID=:FLOWUNID";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
@ -118,10 +119,6 @@ public class CreateVoucherLoanDistributor {
param.put("CARMODEL",CARMODEL);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
/*if("PZ2018070900000002".equals(VOUCHERNO)||"PZ2018072400000060".equals(VOUCHERNO)){
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
}*/
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",VOUCHERNO);

View File

@ -4,7 +4,7 @@ import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome;
/**
*
* 保证金退回流程结束后生成
* @author xiezhiwen
*/
public class CautionMoneyVoucher extends BaseBussiness {

View File

@ -4,7 +4,7 @@ import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherContractOnhireChange;
/**
*
* 汽车业务合同变更流程结束后生成相关凭证
* @author xiezhiwen
*/
public class ContractOnhireChange extends BaseBussiness {

View File

@ -8,7 +8,7 @@ import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoanDistributor;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherToCommission;
import com.tenwa.voucher.service.VoucherJavaParamService;
/**
*
* 起租相关凭证, 实际付款(汽车)流程借宿后生成
* @author xiezhiwen
*/
public class ContractOnhireVoucher extends BaseBussiness {

View File

@ -5,7 +5,7 @@ import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherContractTerminate;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEarlySettlement;
/**
* 回款
* 提前结清流程结束后生成相关凭证
* @author xiezhiwen
*/
public class ContractTerminate extends BaseBussiness {

View File

@ -4,7 +4,7 @@ import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherDistCautionMoneyRe;
/**
* 收取退回经销商保证金
* 经销商保证金退回流程结束后生成相应凭证
* @author xiezhiwen
*/
public class DistributorCautionMoneyVoucher extends BaseBussiness {

View File

@ -4,7 +4,7 @@ import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome;
/**
* 回款
* 网银收款流程结束后生成相应的凭证
* @author xiezhiwen
*/
public class IncomeVoucher extends BaseBussiness {

View File

@ -10,7 +10,7 @@ import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherInsuranceSettlement;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedRentIncome;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome;
/**
* 回款反冲的凭证生成
* 资金红冲/租金红冲流程结束后生成相应的凭证
* @author xiezhiwen
*/
public class RedIncomeVoucher extends BaseBussiness {

View File

@ -1,6 +1,8 @@
package com.tenwa.voucher.service;
import com.amarsoft.are.jbo.JBOTransaction;
public interface VoucherSysJointNCService {
public void sendVoucherData()throws Exception;
public void sendVoucherData(JBOTransaction tx)throws Exception;
}

View File

@ -2,83 +2,567 @@ package com.tenwa.voucher.serviceImp;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.junit.Test;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.voucher.service.VoucherSysJointNCService;
import jbo.app.VOUCHER_V8;
import jxl.write.DateFormat;
public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
@Override
public void sendVoucherData() throws Exception {
public void sendVoucherData(JBOTransaction tx) throws Exception {
DOM4JcreateToVoucher();
//DOM4JcreateToCustomer();
}
private static List<String> getDataList() throws Exception{
Transaction Sqlca =null;
Map<String,String> map=new HashMap<String, String>();
List<String> f3list=new ArrayList<String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
String sql="select F3 from voucher_v8 where v8_flag='1' or v8_flag='-1'";
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
for(Map ma:dataList){
f3list.add(ma.get("F3").toString());
/**
* 获取数据库凭证信息表所有的待传F3凭证编号
* @return
* @throws Exception
*/
private static List<String> getDataList() throws Exception {
JBOTransaction tx=JBOFactory.createJBOTransaction();// 获取事物
List<String> f3list = new ArrayList<String>();
String sql = "select F3 from vi_voucher_v8 where v8_flag='0' or v8_flag='-1'";// 查询所有待传输的数据
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(tx, sql, null);// 将所有凭证号封装到list集合中
for(int i=0;i<dataList.size();i++) {
f3list.add(dataList.get(i).get("F3"));
}
return f3list;
}
public static void DOM4Jcreate(File file)throws Exception{
Document document=DocumentHelper.createDocument();
List<String> f3list=getDataList();
//String s = String.Join(",", f3list.toArray());
Element root=document.addElement("ufinterface");
root.addAttribute("account", "develop");
root.addAttribute("billtype", "vouchergl");
root.addAttribute("businessunitcode", "develop");
root.addAttribute("filename", "");
root.addAttribute("groupcode", "");
root.addAttribute("isexchange", "");
root.addAttribute("orgcode", "");
root.addAttribute("receiver", "0001121000000000JIYO");
root.addAttribute("replace", "");
root.addAttribute("roottag", "");
root.addAttribute("sender", "001");
Element voucher=root.addElement("voucher");
Element voucherHead=voucher.addElement("voucher_head");
Element pkVoucher=voucherHead.addElement("pk_voucher");
//这个取值待定
pkVoucher.setText("10111210000000005JUK");
//
XMLWriter writer=new XMLWriter(new FileOutputStream(file),OutputFormat.createPrettyPrint());
writer.setEscapeText(false);//字符是否转义,默认true
writer.write(document);
writer.close();
}
public static void main(String[] args) {
File file=new File("C:\\Users\\amarsoft\\Desktop\\123.xml");
/**
* 凭证信息xml生成, 每1000条生成一个xml
* @throws Exception
*/
public static void DOM4JcreateToVoucher(){
try {
//DOM4Jcreate(file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Transaction Sqlca = null;
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
File file=null; // 定义全局文件路径对象
Document document = null; // 定义全局模板对象
XMLWriter writer=null; // 定义全局输出对象
Map<String, String> map = new HashMap<String, String>();
Date time = new Date(); // 获取当前时间对象, 并格式化
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = formatter1.format(time); // 格式化当前时间
String s2 = formatter2.format(time);
List<String> list= getDataList(); // 获取所有凭证编号
int a = list.size(); // 获取凭证编号的长度
int b=1000; // 设置当前xml生成的条数
int c = (int)(a / b); // 获取循环次数, 最大循环值=c+1
for (int i = 0; i <=c; i++) { // 外围循环/ 决定生成几个xml
document = DocumentHelper.createDocument(); // 生成每个xml的头
Element root = document.addElement("ufinterface");
root.addAttribute("account", "develop");
root.addAttribute("billtype", "vouchergl");
root.addAttribute("businessunitcode", "develop");
root.addAttribute("filename", "");
root.addAttribute("groupcode", "");
root.addAttribute("isexchange", "");
root.addAttribute("orgcode", "");
root.addAttribute("receiver", "0001121000000000JIYO");
root.addAttribute("replace", "");
root.addAttribute("roottag", "");
root.addAttribute("sender", "001");
for (int x = i * b; x < (i + 1) * b && x < a; x++) {// 决定当前xml生成的数据量
map.put("F3", list.get(x));// 获取单条凭证编号
BizObject v =DataOperatorUtil.getSingleJBO(VOUCHER_V8.CLASS_NAME, map, Sqlca);// 根据凭证编号获取v8表当条数据
Element voucher = root.addElement("voucher");
Element voucherHead = voucher.addElement("voucher_head");
Element pkVoucher = voucherHead.addElement("pk_voucher");// 凭证主键/非空
pkVoucher.setText("待问/非空");
Element pk_vouchertype = voucherHead.addElement("pk_vouchertype");// 凭证类别, 默认01/非空
pk_vouchertype.setText("1");
Element year = voucherHead.addElement("year");// 会计年度//分控
year.setText(v.getAttribute("periodyear").getString());
Element pk_system = voucherHead.addElement("pk_system");// 来源系统/非空
pk_system.setText("待问/非空");
Element voucherkind = voucherHead.addElement("voucherkind");// 凭证类型值/非空
voucherkind.setText("0");
Element pk_accountingbook = voucherHead.addElement("pk_accountingbook");// 核算核算账簿/非空
pk_accountingbook.setText("待问/非空");
Element discardflag = voucherHead.addElement("discardflag");// 作废标志/可空
discardflag.setText("待问/可空");
Element period = voucherHead.addElement("period");// 会计期间/非空
period.setText("待问/非空");
Element no = voucherHead.addElement("no");// 凭证号为空自动分配/非空
no.setText(v.getAttribute("F3").getString());
Element attachment = voucherHead.addElement("attachment");// 附单据数/可空
attachment.setText("待问/可空");
Element prepareddate = voucherHead.addElement("prepareddate");// 制单日期/非空
prepareddate.setText(s2);
Element pk_prepared = voucherHead.addElement("pk_prepared");// 制单人/非空
pk_prepared.setText("待问");
Element pk_casher = voucherHead.addElement("pk_casher");// 出纳
pk_casher.setText("待问");
Element signflag = voucherHead.addElement("signflag");// 签字标志
signflag.setText("待问");
Element pk_checked = voucherHead.addElement("pk_checked");// 审核人
pk_checked.setText("待问");
Element tallydate = voucherHead.addElement("tallydate");// 记账日期
tallydate.setText(v.getAttribute("F1").getString());
Element pk_manager = voucherHead.addElement("pk_manager");// 记账人
pk_manager.setText("待问");
Element memo1 = voucherHead.addElement("memo1");
memo1.setText("待问");
Element memo2 = voucherHead.addElement("memo2");
memo2.setText("待问");
Element reserve1 = voucherHead.addElement("reserve1");
reserve1.setText("待问");
Element reserve2 = voucherHead.addElement("reserve2");
reserve2.setText("待问");
Element siscardflag = voucherHead.addElement("siscardflag");
siscardflag.setText("待问");
Element pk_org = voucherHead.addElement("pk_org");// 所属组织/非空
pk_org.setText("待问/非空");
Element pk_org_v = voucherHead.addElement("pk_org_v");// 所属组织版本/可空
pk_org_v.setText("待问/可空");
Element pk_group = voucherHead.addElement("pk_group");// 所属集团 如果不输集团取当前登陆集团
pk_group.setText("待问");
Element details = voucherHead.addElement("details");
Element item1 = details.addElement("item"); // 借方
Element detailindex1 = item1.addElement("detailindex");// 分录号/非空
detailindex1.setText("待问/非空");
Element explanation1 = item1.addElement("explanation");// 摘要/非空
explanation1.setText(v.getAttribute("F5").getString());
Element verifydate1 = item1.addElement("verifydate");// 业务日期/可空
verifydate1.setText(v.getAttribute("F15").getString());
Element price1 = item1.addElement("price");// 单价/可空
price1.setText(v.getAttribute("F7").getString());
Element excrate21 = item1.addElement("excrate2");// 折本汇率/可空
excrate21.setText("待问/可空");
Element debitquantity1 = item1.addElement("debitquantity");// 借方数量/可空
debitquantity1.setText("待问/可空");
Element debitamount1 = item1.addElement("debitamount");// 原币借方金额/可空
debitamount1.setText("待问/可空");
Element localdebitamount1 = item1.addElement("localdebitamount");// 本币借方金额/可空
localdebitamount1.setText("待问/可空");
Element groupdebitamount1 = item1.addElement("groupdebitamount");// 集团本币借方金额/可空
groupdebitamount1.setText("待问/可空");
Element globaldebitamount1 = item1.addElement("globaldebitamount");// 全局本币借方金额/可空
globaldebitamount1.setText("待问/可空");
Element pk_currtype1 = item1.addElement("pk_currtype");// 币种/非空
pk_currtype1.setText("待问/非空");
Element pk_accasoa1 = item1.addElement("pk_accasoa");// 科目/非空
pk_accasoa1.setText("待问/非空");
Element pk_unit1 = item1.addElement("pk_unit");// 所属二级核算单位/可空
pk_unit1.setText("待问/可空");
Element pk_unit_v1 = item1.addElement("pk_unit_v");// 所属二级核算单位/版本可空
pk_unit_v1.setText("待问/可空");
Element ass1 = item1.addElement("ass");// 金额必须有一方不为空
Element ass_item1 = ass1.addElement("item");// 融资租赁资产
Element pk_Checktype1 = ass_item1.addElement("pk_Checktype");// key
pk_Checktype1.setText("融资租赁资产");
Element pk_Checkvalue1 = ass_item1.addElement("pk_Checkvalue");// value
pk_Checkvalue1.setText(v.getAttribute("F64").getString());
Element ass_item2 = ass1.addElement("item");// 部门名称
Element pk_Checktype2 = ass_item2.addElement("pk_Checktype");// key
pk_Checktype2.setText("部门名称");
Element pk_Checkvalue2 = ass_item2.addElement("pk_Checkvalue");// value
pk_Checkvalue2.setText(v.getAttribute("F63").getString());
Element ass_item3 = ass1.addElement("item");// 融资租赁收益类型
Element pk_Checktype3 = ass_item3.addElement("pk_Checktype");// key
pk_Checktype3.setText("融资租赁收益类型");
Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue");// value
pk_Checkvalue3.setText(v.getAttribute("F73").getString());
Element ass_item4 = ass1.addElement("item");// 资金类型
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");// key
pk_Checktype4.setText("资金类型");
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");// value
pk_Checkvalue4.setText(v.getAttribute("F74").getString());
Element ass_item5 = ass1.addElement("item");// 主营类型
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");// key
pk_Checktype5.setText("主营类型");
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");// value
pk_Checkvalue5.setText(v.getAttribute("F75").getString());
Element ass_item6 = ass1.addElement("item");// 银行账号
Element pk_Checktype6 = ass_item6.addElement("pk_Checktype");// key
pk_Checktype6.setText("银行账号");
Element pk_Checkvalue6 = ass_item6.addElement("pk_Checkvalue");// value
pk_Checkvalue6.setText(v.getAttribute("F76").getString());
Element cashFlow = item1.addElement("cashFlow");
Element cashFlow_item1 = cashFlow.addElement("item");
Element m_pk_currtype1 = cashFlow_item1.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
m_pk_currtype1.setText("待问");
Element money1 = cashFlow_item1.addElement("money");// 原币,最大长度为64,类型为:Double
money1.setText("待问");
Element moneymoneyglobal1 = cashFlow_item1.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneymoneyglobal1.setText("待问");
Element moneygroup1 = cashFlow_item1.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup1.setText("待问");
Element moneymain1 = cashFlow_item1.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain1.setText("待问");
Element pk_cashflow1 = cashFlow_item1.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow1.setText("待问");
Element pk_innercorp1 = cashFlow_item1.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp1.setText("待问");
Element item2 = details.addElement("item"); // 贷方金额
Element creditquantity2 = item2.addElement("creditquantity");// 贷方数量 可空
creditquantity2.setText("待问/可空");
Element creditamount2 = item2.addElement("creditamount"); // 原币贷方金额 可空
creditamount2.setText("待问/可空");
Element localcreditamount2 = item2.addElement("localcreditamount");// 本币贷方金额 可空
localcreditamount2.setText("待问/可空");
Element groupcreditamount2 = item2.addElement("groupcreditamount");// 集团本币贷方金额 可空
groupcreditamount2.setText("待问/可空");
Element globalcreditamount2 = item2.addElement("globalcreditamount");// 全局本币贷方金额 可空
globalcreditamount2.setText("待问/可空");
Element detailindex2 = item2.addElement("detailindex");// 分录号 非空
detailindex2.setText("待问/非空");
Element explanation2 = item2.addElement("explanation");// 摘要 非空
explanation2.setText(v.getAttribute("F5").getString());
Element verifydate2 = item2.addElement("verifydate");// 业务日期 可空
verifydate2.setText("待问/可空");
Element price2 = item2.addElement("price");// 单价 可空
price2.setText(v.getAttribute("F8").getString());
Element excrate22 = item2.addElement("excrate2");// 折本汇率 可空
excrate22.setText("待问/可空");
Element pk_currtype2 = item2.addElement("pk_currtype");// 币种 非空
pk_currtype2.setText("待问/非空");
Element pk_accasoa2 = item2.addElement("pk_accasoa");// 科目 非空
pk_accasoa2.setText("待问/非空");
Element pk_unit2 = item2.addElement("pk_unit");// 所属二级核算单位 可空 组织
pk_unit2.setText("待问/可空");
Element pk_unit_v2 = item2.addElement("pk_unit_v2");// 所属二级核算单位 版本可空 组织
pk_unit_v2.setText("待问/可空");
Element ass2 = item2.addElement("ass");//
Element ass2_item1 = ass2.addElement("item");
Element checktypename21 = ass2_item1.addElement("checktypename");
checktypename21.setText("融资租赁资产");
Element checkvaluecode21 = ass2_item1.addElement("checkvaluecode");
checkvaluecode21.setText(v.getAttribute("F64").getString());
Element ass2_item2 = ass2.addElement("item");
Element checktypename22 = ass2_item2.addElement("checktypename");
checktypename22.setText("部门名称");
Element checkvaluecode22 = ass2_item2.addElement("checkvaluecode");
checkvaluecode22.setText(v.getAttribute("F63").getString());
Element ass2_item3 = ass2.addElement("item");
Element checktypename23 = ass2_item3.addElement("checktypename");
checktypename23.setText("融资租赁收益类型");
Element checkvaluecode23 = ass2_item3.addElement("checkvaluecode");
checkvaluecode23.setText(v.getAttribute("F73").getString());
Element ass2_item4 = ass2.addElement("item");
Element checktypename24 = ass2_item4.addElement("checktypename");
checktypename24.setText("资金类型");
Element checkvaluecode24 = ass2_item4.addElement("checkvaluecode");
checkvaluecode24.setText(v.getAttribute("F74").getString());
Element ass2_item5 = ass2.addElement("item");
Element checktypename25 = ass2_item5.addElement("checktypename");
checktypename25.setText("主营类型");
Element checkvaluecode25 = ass2_item5.addElement("checkvaluecode");
checkvaluecode25.setText(v.getAttribute("F75").getString());
Element ass2_item6 = ass2.addElement("item");
Element checktypename26 = ass2_item6.addElement("checktypename");
checktypename26.setText("银行账号");
Element checkvaluecode26 = ass2_item6.addElement("checkvaluecode");
checkvaluecode26.setText(v.getAttribute("F76").getString());
Element item2_cashFlow = item2.addElement("cashFlow");
Element cashflowitem2 = item2_cashFlow.addElement("item");
Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
m_pk_currtype2.setText("待问");
Element money2 = cashflowitem2.addElement("money");// 原币,最大长度为64,类型为:Double
money2.setText("待问");
Element moneyglobal2 = cashflowitem2.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneyglobal2.setText("待问");
Element moneygroup2 = cashflowitem2.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup2.setText("待问");
Element moneymain2 = cashflowitem2.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain2.setText("待问");
Element pk_cashflow2 = cashflowitem2.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow2.setText("待问");
Element pk_innercorp2 = cashflowitem2.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp2.setText("待问");
}
String ss="C:\\Users\\xiezhiwen\\Desktop\\"+"APleasing_"+(i+1)+"_"+"VOUCHER"+s+".xml";
file=new File(ss);
writer = new XMLWriter(new FileOutputStream(file), OutputFormat.createPrettyPrint());
writer.setEscapeText(false);// 字符是否转义,默认true
writer.write(document);
writer.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 客户信息xml生成, 每1000条生成一个xml
* @throws Exception
*/
public static void DOM4JcreateToCustomer(){
try {
Transaction Sqlca = null;
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
File file=null; // 定义全局文件路径对象
Document document = null; // 定义全局模板对象
XMLWriter writer=null; // 定义全局输出对象
Map<String, String> map = new HashMap<String, String>();
Date time = new Date(); // 获取当前时间对象, 并格式化
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = formatter1.format(time); // 格式化当前时间
String s2 = formatter2.format(time);
List<String> list= getDataList(); // 获取所有凭证编号
int a = list.size(); // 获取凭证编号的长度
int b=1000; // 设置当前xml生成的条数
int c = (int)(a / b); // 获取循环次数, 最大循环值=c+1
for (int i = 0; i <=c; i++) { // 外围循环/ 决定生成几个xml
document = DocumentHelper.createDocument(); // 生成每个xml的头
Element root = document.addElement("ufinterface");
root.addAttribute("account", "develop");
root.addAttribute("billtype", "vouchergl");
root.addAttribute("businessunitcode", "develop");
root.addAttribute("filename", "");
root.addAttribute("groupcode", "");
root.addAttribute("isexchange", "");
root.addAttribute("orgcode", "");
root.addAttribute("receiver", "0001121000000000JIYO");
root.addAttribute("replace", "");
root.addAttribute("roottag", "");
root.addAttribute("sender", "001");
for (int x = i * b; x < (i + 1) * b && x < a; x++) {// 决定当前xml生成的数据量
map.put("F3", list.get(x));// 获取单条凭证编号
BizObject v =DataOperatorUtil.getSingleJBO(VOUCHER_V8.CLASS_NAME, map, Sqlca);// 根据凭证编号获取v8表当条数据
Element voucher = root.addElement("voucher");
Element voucherHead = voucher.addElement("voucher_head");
Element pkVoucher = voucherHead.addElement("pk_voucher");// 凭证主键/非空
pkVoucher.setText("待问/非空");
Element pk_vouchertype = voucherHead.addElement("pk_vouchertype");// 凭证类别, 默认01/非空
pk_vouchertype.setText("1");
Element year = voucherHead.addElement("year");// 会计年度//分控
year.setText(v.getAttribute("periodyear").getString());
Element pk_system = voucherHead.addElement("pk_system");// 来源系统/非空
pk_system.setText("待问/非空");
Element voucherkind = voucherHead.addElement("voucherkind");// 凭证类型值/非空
voucherkind.setText("0");
Element pk_accountingbook = voucherHead.addElement("pk_accountingbook");// 核算核算账簿/非空
pk_accountingbook.setText("待问/非空");
Element discardflag = voucherHead.addElement("discardflag");// 作废标志/可空
discardflag.setText("待问/可空");
Element period = voucherHead.addElement("period");// 会计期间/非空
period.setText("待问/非空");
Element no = voucherHead.addElement("no");// 凭证号为空自动分配/非空
no.setText(v.getAttribute("F3").getString());
Element attachment = voucherHead.addElement("attachment");// 附单据数/可空
attachment.setText("待问/可空");
Element prepareddate = voucherHead.addElement("prepareddate");// 制单日期/非空
prepareddate.setText(s2);
Element pk_prepared = voucherHead.addElement("pk_prepared");// 制单人/非空
pk_prepared.setText("待问");
Element pk_casher = voucherHead.addElement("pk_casher");// 出纳
pk_casher.setText("待问");
Element signflag = voucherHead.addElement("signflag");// 签字标志
signflag.setText("待问");
Element pk_checked = voucherHead.addElement("pk_checked");// 审核人
pk_checked.setText("待问");
Element tallydate = voucherHead.addElement("tallydate");// 记账日期
tallydate.setText(v.getAttribute("F1").getString());
Element pk_manager = voucherHead.addElement("pk_manager");// 记账人
pk_manager.setText("待问");
Element memo1 = voucherHead.addElement("memo1");
memo1.setText("待问");
Element memo2 = voucherHead.addElement("memo2");
memo2.setText("待问");
Element reserve1 = voucherHead.addElement("reserve1");
reserve1.setText("待问");
Element reserve2 = voucherHead.addElement("reserve2");
reserve2.setText("待问");
Element siscardflag = voucherHead.addElement("siscardflag");
siscardflag.setText("待问");
Element pk_org = voucherHead.addElement("pk_org");// 所属组织/非空
pk_org.setText("待问/非空");
Element pk_org_v = voucherHead.addElement("pk_org_v");// 所属组织版本/可空
pk_org_v.setText("待问/可空");
Element pk_group = voucherHead.addElement("pk_group");// 所属集团 如果不输集团取当前登陆集团
pk_group.setText("待问");
Element details = voucherHead.addElement("details");
Element item1 = details.addElement("item"); // 借方
Element detailindex1 = item1.addElement("detailindex");// 分录号/非空
detailindex1.setText("待问/非空");
Element explanation1 = item1.addElement("explanation");// 摘要/非空
explanation1.setText(v.getAttribute("F5").getString());
Element verifydate1 = item1.addElement("verifydate");// 业务日期/可空
verifydate1.setText(v.getAttribute("F15").getString());
Element price1 = item1.addElement("price");// 单价/可空
price1.setText(v.getAttribute("F7").getString());
Element excrate21 = item1.addElement("excrate2");// 折本汇率/可空
excrate21.setText("待问/可空");
Element debitquantity1 = item1.addElement("debitquantity");// 借方数量/可空
debitquantity1.setText("待问/可空");
Element debitamount1 = item1.addElement("debitamount");// 原币借方金额/可空
debitamount1.setText("待问/可空");
Element localdebitamount1 = item1.addElement("localdebitamount");// 本币借方金额/可空
localdebitamount1.setText("待问/可空");
Element groupdebitamount1 = item1.addElement("groupdebitamount");// 集团本币借方金额/可空
groupdebitamount1.setText("待问/可空");
Element globaldebitamount1 = item1.addElement("globaldebitamount");// 全局本币借方金额/可空
globaldebitamount1.setText("待问/可空");
Element pk_currtype1 = item1.addElement("pk_currtype");// 币种/非空
pk_currtype1.setText("待问/非空");
Element pk_accasoa1 = item1.addElement("pk_accasoa");// 科目/非空
pk_accasoa1.setText("待问/非空");
Element pk_unit1 = item1.addElement("pk_unit");// 所属二级核算单位/可空
pk_unit1.setText("待问/可空");
Element pk_unit_v1 = item1.addElement("pk_unit_v");// 所属二级核算单位/版本可空
pk_unit_v1.setText("待问/可空");
Element ass1 = item1.addElement("ass");// 金额必须有一方不为空
Element ass_item1 = ass1.addElement("item");// 融资租赁资产
Element pk_Checktype1 = ass_item1.addElement("pk_Checktype");// key
pk_Checktype1.setText("融资租赁资产");
Element pk_Checkvalue1 = ass_item1.addElement("pk_Checkvalue");// value
pk_Checkvalue1.setText(v.getAttribute("F64").getString());
Element ass_item2 = ass1.addElement("item");// 部门名称
Element pk_Checktype2 = ass_item2.addElement("pk_Checktype");// key
pk_Checktype2.setText("部门名称");
Element pk_Checkvalue2 = ass_item2.addElement("pk_Checkvalue");// value
pk_Checkvalue2.setText(v.getAttribute("F63").getString());
Element ass_item3 = ass1.addElement("item");// 融资租赁收益类型
Element pk_Checktype3 = ass_item3.addElement("pk_Checktype");// key
pk_Checktype3.setText("融资租赁收益类型");
Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue");// value
pk_Checkvalue3.setText(v.getAttribute("F73").getString());
Element ass_item4 = ass1.addElement("item");// 资金类型
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");// key
pk_Checktype4.setText("资金类型");
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");// value
pk_Checkvalue4.setText(v.getAttribute("F74").getString());
Element ass_item5 = ass1.addElement("item");// 主营类型
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");// key
pk_Checktype5.setText("主营类型");
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");// value
pk_Checkvalue5.setText(v.getAttribute("F75").getString());
Element ass_item6 = ass1.addElement("item");// 银行账号
Element pk_Checktype6 = ass_item6.addElement("pk_Checktype");// key
pk_Checktype6.setText("银行账号");
Element pk_Checkvalue6 = ass_item6.addElement("pk_Checkvalue");// value
pk_Checkvalue6.setText(v.getAttribute("F76").getString());
Element cashFlow = item1.addElement("cashFlow");
Element cashFlow_item1 = cashFlow.addElement("item");
Element m_pk_currtype1 = cashFlow_item1.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
m_pk_currtype1.setText("待问");
Element money1 = cashFlow_item1.addElement("money");// 原币,最大长度为64,类型为:Double
money1.setText("待问");
Element moneymoneyglobal1 = cashFlow_item1.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneymoneyglobal1.setText("待问");
Element moneygroup1 = cashFlow_item1.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup1.setText("待问");
Element moneymain1 = cashFlow_item1.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain1.setText("待问");
Element pk_cashflow1 = cashFlow_item1.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow1.setText("待问");
Element pk_innercorp1 = cashFlow_item1.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp1.setText("待问");
Element item2 = details.addElement("item"); // 贷方金额
Element creditquantity2 = item2.addElement("creditquantity");// 贷方数量 可空
creditquantity2.setText("待问/可空");
Element creditamount2 = item2.addElement("creditamount"); // 原币贷方金额 可空
creditamount2.setText("待问/可空");
Element localcreditamount2 = item2.addElement("localcreditamount");// 本币贷方金额 可空
localcreditamount2.setText("待问/可空");
Element groupcreditamount2 = item2.addElement("groupcreditamount");// 集团本币贷方金额 可空
groupcreditamount2.setText("待问/可空");
Element globalcreditamount2 = item2.addElement("globalcreditamount");// 全局本币贷方金额 可空
globalcreditamount2.setText("待问/可空");
Element detailindex2 = item2.addElement("detailindex");// 分录号 非空
detailindex2.setText("待问/非空");
Element explanation2 = item2.addElement("explanation");// 摘要 非空
explanation2.setText(v.getAttribute("F5").getString());
Element verifydate2 = item2.addElement("verifydate");// 业务日期 可空
verifydate2.setText("待问/可空");
Element price2 = item2.addElement("price");// 单价 可空
price2.setText(v.getAttribute("F8").getString());
Element excrate22 = item2.addElement("excrate2");// 折本汇率 可空
excrate22.setText("待问/可空");
Element pk_currtype2 = item2.addElement("pk_currtype");// 币种 非空
pk_currtype2.setText("待问/非空");
Element pk_accasoa2 = item2.addElement("pk_accasoa");// 科目 非空
pk_accasoa2.setText("待问/非空");
Element pk_unit2 = item2.addElement("pk_unit");// 所属二级核算单位 可空 组织
pk_unit2.setText("待问/可空");
Element pk_unit_v2 = item2.addElement("pk_unit_v2");// 所属二级核算单位 版本可空 组织
pk_unit_v2.setText("待问/可空");
Element ass2 = item2.addElement("ass");//
Element ass2_item1 = ass2.addElement("item");
Element checktypename21 = ass2_item1.addElement("checktypename");
checktypename21.setText("融资租赁资产");
Element checkvaluecode21 = ass2_item1.addElement("checkvaluecode");
checkvaluecode21.setText(v.getAttribute("F64").getString());
Element ass2_item2 = ass2.addElement("item");
Element checktypename22 = ass2_item2.addElement("checktypename");
checktypename22.setText("部门名称");
Element checkvaluecode22 = ass2_item2.addElement("checkvaluecode");
checkvaluecode22.setText(v.getAttribute("F63").getString());
Element ass2_item3 = ass2.addElement("item");
Element checktypename23 = ass2_item3.addElement("checktypename");
checktypename23.setText("融资租赁收益类型");
Element checkvaluecode23 = ass2_item3.addElement("checkvaluecode");
checkvaluecode23.setText(v.getAttribute("F73").getString());
Element ass2_item4 = ass2.addElement("item");
Element checktypename24 = ass2_item4.addElement("checktypename");
checktypename24.setText("资金类型");
Element checkvaluecode24 = ass2_item4.addElement("checkvaluecode");
checkvaluecode24.setText(v.getAttribute("F74").getString());
Element ass2_item5 = ass2.addElement("item");
Element checktypename25 = ass2_item5.addElement("checktypename");
checktypename25.setText("主营类型");
Element checkvaluecode25 = ass2_item5.addElement("checkvaluecode");
checkvaluecode25.setText(v.getAttribute("F75").getString());
Element ass2_item6 = ass2.addElement("item");
Element checktypename26 = ass2_item6.addElement("checktypename");
checktypename26.setText("银行账号");
Element checkvaluecode26 = ass2_item6.addElement("checkvaluecode");
checkvaluecode26.setText(v.getAttribute("F76").getString());
Element item2_cashFlow = item2.addElement("cashFlow");
Element cashflowitem2 = item2_cashFlow.addElement("item");
Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
m_pk_currtype2.setText("待问");
Element money2 = cashflowitem2.addElement("money");// 原币,最大长度为64,类型为:Double
money2.setText("待问");
Element moneyglobal2 = cashflowitem2.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneyglobal2.setText("待问");
Element moneygroup2 = cashflowitem2.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup2.setText("待问");
Element moneymain2 = cashflowitem2.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain2.setText("待问");
Element pk_cashflow2 = cashflowitem2.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow2.setText("待问");
Element pk_innercorp2 = cashflowitem2.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp2.setText("待问");
}
String ss="C:\\Users\\xiezhiwen\\Desktop\\"+"APleasing_"+(i+1)+"_"+"VOUCHER"+s+".xml";
file=new File(ss);
writer = new XMLWriter(new FileOutputStream(file), OutputFormat.createPrettyPrint());
writer.setEscapeText(false);// 字符是否转义,默认true
writer.write(document);
writer.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}