凭证相关--传统月结
This commit is contained in:
parent
c6da28178e
commit
c46aad45c4
@ -0,0 +1,138 @@
|
||||
package com.tenwa.voucher.CreateVoucherProcess;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
import jbo.voucher.LV_VOUCHER_CONFIG;
|
||||
import jbo.voucher.TAX_CODE;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.JBOException;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
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;
|
||||
/**
|
||||
* 传统月结凭证
|
||||
* @author xiezhiwen
|
||||
*/
|
||||
public class CreateVoucherMonthSettlementForTradition {
|
||||
|
||||
public void CreateVoucher(String voucherNo)throws Exception {
|
||||
Transaction Sqlca = null;
|
||||
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
Map<String, String> param = new HashMap<String, String>();
|
||||
// 定义全局变量
|
||||
String MONEY = null;
|
||||
String MONEYNOTAX = null;
|
||||
String TAX = 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 F58 = null;
|
||||
String sql = "";
|
||||
/**
|
||||
* 传统
|
||||
*/
|
||||
// 月结--确认未实现利息收入-月付(传统)
|
||||
if ("PZ2018092500000183".equals(voucherNo)) {
|
||||
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CASE WHEN (CL.CUST_NAME IS NOT NULL OR CL.CUST_NAME != '') THEN CRM.INTEREST_TAX WHEN (CL.CUST_NAME IS NULL OR CL.CUST_NAME ='') AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 THEN CRM.INTEREST_TAX ELSE 0 END AS MONEY,ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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 FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.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 CUSTOMER_LIST CL ON (CL.CUST_NAME= DI.DISTRIBUTOR_CODING OR CL.CUST_NAME=CIF.CUSTOMER_NUM) WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LCCT.INCOME_NUMBER_YEAR='income_1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%确认未实现利息收入-月付%') ";
|
||||
}
|
||||
// 月结--确认未实现利息收入-季付(传统)
|
||||
if ("".equals(voucherNo)) {
|
||||
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CASE WHEN (CL.CUST_NAME IS NOT NULL OR CL.CUST_NAME != '') THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST = 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST - LRI2.PLAN_LIST = 1) AND ((TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 1) OR (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 0)) THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST - LRI2.PLAN_LIST = 1) AND (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 2) AND (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 2) THEN ROUND(CRM.INTEREST_TAX * 2, 2) WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST-LRI2.PLAN_LIST<=1) AND ((TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 3) OR (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 0)) THEN CRM.INTEREST_TAX ELSE 0 END AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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 FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST,MAX(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) AS PLAN_DATE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID,PLAN_LIST) LRP2 ON LRP2.CONTRACT_ID = LRI2.CONTRACT_ID AND LRP2.PLAN_LIST = LRI2.PLAN_LIST 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 CUSTOMER_LIST CL ON (CL.CUST_NAME = DI.DISTRIBUTOR_CODING OR CL.CUST_NAME = CIF.CUSTOMER_NUM) WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%确认未实现利息收入-季付%');";
|
||||
}
|
||||
|
||||
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
|
||||
|
||||
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
|
||||
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
|
||||
String userid = "yuejie";
|
||||
for (int i = 0; i < dataList.size(); i++) {
|
||||
MONEY = dataList.get(i).get("MONEY").toString();
|
||||
double mon = Double.parseDouble(MONEY);
|
||||
if (mon > 0) {
|
||||
MONEYNOTAX = dataList.get(i).get("MONEYNOTAX");
|
||||
TAX = dataList.get(i).get("TAX");
|
||||
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");
|
||||
F58 = dataList.get(i).get("ID");
|
||||
/*TAX_NUM = dataList.get(i).get("TAX_NUM");
|
||||
// 通过税率获取编码
|
||||
BizObject TAX_CODES = null;
|
||||
if (TAX_NUM != null && !"".equals(TAX_NUM)) {
|
||||
TAX_CODES = JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME, "TAX_NUMBER='" + TAX_NUM + "'").getSingleResult(false);
|
||||
}*/
|
||||
|
||||
param.put("FACT_MONEY", MONEY);
|
||||
param.put("INTERESTNOTAX", MONEYNOTAX);
|
||||
param.put("TAX", TAX);
|
||||
// param.put("FACT_MONEY",FEEMONEY);
|
||||
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("VOUCHERNO", voucherNo);
|
||||
param.put("F58", F58);
|
||||
/*if (TAX_CODES != null) {
|
||||
param.put("TAX_CODE", TAX_CODES.getAttribute("TAX_CODES").getString());
|
||||
}*/
|
||||
|
||||
param.put("BUSINESSTYPE", "0604"); // 主营类型
|
||||
|
||||
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("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid, param,Sqlca);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Sqlca != null) {
|
||||
Sqlca.disConnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,6 +9,7 @@ import com.amarsoft.are.util.StringFunction;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.base.util.QuartzUtil;
|
||||
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMonthSettlement;
|
||||
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMonthSettlementForTradition;
|
||||
|
||||
public class CreateVoucherMonthSettlementMission implements Job {
|
||||
|
||||
@ -41,6 +42,21 @@ public class CreateVoucherMonthSettlementMission implements Job {
|
||||
//vouchermanage.CreateVoucher("PZ2018072100000055");//日结税金--回租
|
||||
//vouchermanage.CreateVoucher("PZ2018080200000063");//日结税金--直租
|
||||
|
||||
|
||||
/**
|
||||
* 传统月结凭证
|
||||
* */
|
||||
CreateVoucherMonthSettlementForTradition cmsft = new CreateVoucherMonthSettlementForTradition();
|
||||
cmsft.CreateVoucher("PZ2018092500000183");//日结-确认未实现利息收入--回租
|
||||
//vouchermanage.CreateVoucher("PZ2018100900000280");//日结-确认未实现利息收入--直租
|
||||
|
||||
cmsft.CreateVoucher("PZ2018092500000184");//日结-确认租金利息税金--回租
|
||||
//vouchermanage.CreateVoucher("PZ2018100900000281");//日结-确认租金利息税金--直租
|
||||
|
||||
//vouchermanage.CreateVoucher("PZ2018100900000282");//月结-确认未实现利息收入--回租
|
||||
//vouchermanage.CreateVoucher("PZ2018100900000283");//月结-确认未实现利息收入--直租
|
||||
|
||||
|
||||
// 汽车类传统类日结-月结
|
||||
/*vouchermanage.CreateVoucher("PZ2018092500000215");//日结-确认未实现利息收入--回租
|
||||
vouchermanage.CreateVoucher("PZ2018100900000275");//日结-确认未实现利息收入--直租
|
||||
@ -51,15 +67,6 @@ public class CreateVoucherMonthSettlementMission implements Job {
|
||||
vouchermanage.CreateVoucher("PZ2018100900000278");//月结-确认未实现利息收入--回租
|
||||
vouchermanage.CreateVoucher("PZ2018100900000279");//月结-确认未实现利息收入--直租
|
||||
|
||||
// 传统类日结-月结
|
||||
vouchermanage.CreateVoucher("PZ2018092500000183");//日结-确认未实现利息收入--回租
|
||||
vouchermanage.CreateVoucher("PZ2018100900000280");//日结-确认未实现利息收入--直租
|
||||
|
||||
vouchermanage.CreateVoucher("PZ2018092500000184");//日结-确认租金利息税金--回租
|
||||
vouchermanage.CreateVoucher("PZ2018100900000281");//日结-确认租金利息税金--直租
|
||||
|
||||
vouchermanage.CreateVoucher("PZ2018100900000282");//月结-确认未实现利息收入--回租
|
||||
vouchermanage.CreateVoucher("PZ2018100900000283");//月结-确认未实现利息收入--直租
|
||||
*/
|
||||
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CreateVoucherMonthSettlementMission", "success", "成功", curUserId);
|
||||
} catch (Exception e) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user