加入传统计提

This commit is contained in:
amarsoft 2018-10-23 15:42:16 +08:00
parent 24d68d6453
commit f8720dad59
3 changed files with 573 additions and 6 deletions

View File

@ -23,6 +23,7 @@ import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.log.Log;
import com.amarsoft.are.util.StringFunction;
import com.amarsoft.awe.util.ASResultSet;
@ -48,26 +49,43 @@ public class SplitInts2 implements Job{
Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId");
String curUserId = userId == null? "system" : userId.toString();
JBOTransaction tx =null;
try{
//Æû³µÒµÎñ
Sqlca = Transaction.createTransaction("als");
Sqlca.executeSQL(new SqlObject("{call proc_financial_interest()}"));
Sqlca.commit();
//´«Í³ÒµÎñ
SplitInts3 s3=new SplitInts3();
s3.contractRentMonth(tx);
s3.contractRentQuarter(tx);
tx.commit();
discountApportion();
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.SplitInts", "success", "³É¹¦", curUserId);
} catch (Exception e) {
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.SplitInts", "error", "ʧ°Ü", curUserId);
logger.error(e.getMessage());
e.printStackTrace();
try {
Sqlca.rollback();
tx.rollback();
} catch (JBOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}finally{
try {
if(Sqlca!=null){
try {
Sqlca.disConnect();
} catch (JBOException e) {
e.printStackTrace();
}
Sqlca.disConnect();
Sqlca = null;
}
if(tx!=null){
tx=null;
}
} catch (JBOException e) {
e.printStackTrace();
}
}
}
public void discountApportion() throws Exception{

View File

@ -0,0 +1,174 @@
package com.tenwa.lease.app.quartzmession;
import java.math.BigDecimal;
import java.text.DateFormat;
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.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import jbo.com.tenwa.lease.comm.CONTRACT_RENT_MONTH;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.util.StringFunction;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.lease.util.MonthInterestEntity;
/***
* 传统业务和汽车类传统业务的计提利息计算
* 分成月付和季付两种
* @author amarsoft
*
*/
public class SplitInts3 implements Job{
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
JBOTransaction tx =null;
try{
contractRentMonth(tx);
contractRentQuarter(tx);
tx.commit();
discountApportion();
}catch(Exception e){
try {
tx.rollback();
if(tx!=null)tx=null;
} catch (JBOException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
}
public void contractRentMonth(JBOTransaction tx) throws Exception {
Transaction Sqlca =null;
List<String> idList=new ArrayList<String>();
tx =JBOFactory.createJBOTransaction();
Sqlca = Transaction.createTransaction(tx);
//传统月付
String sql="SELECT lci.id AS ID ,lcc.PAYMENT_NUMBER,getTax(lci.leas_form,'租息',lcc.start_date) as TAX, lcc.START_DATE,lr.interest INTEREST, ROUND(lcc.HANDLING_CHARGE_MONEY/getTax(lci.LEAS_FORM,'手续费',lcc.start_date),2) AS HANDLING_CHARGE_MONEY FROM lb_contract_info lci LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lci.id LEFT JOIN (SELECT lrp.contract_id,ROUND(SUM(lrp.interest/getTax(lci.LEAS_FORM,'租息',lcc.start_date)),2) interest FROM lc_rent_plan lrp LEFT JOIN lb_contract_info lci ON lci.id=lrp.CONTRACT_ID LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lci.id GROUP BY lrp.contract_id) lr ON lr.contract_id=lci.id WHERE NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id) AND nvl(lr.interest,0) > 0 AND lci.contract_status BETWEEN 31 AND 100 AND lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust) AND lci.BUSINESSTYPE<>'1' AND lcc.INCOME_NUMBER_YEAR='income_1'";
Map<String,String> map=new HashMap<String, String>();
//传统月付
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
tx.commit();
for(Map<String,String> ma:dataList){
MonthInterestEntity mit =new MonthInterestEntity();
String contract_id=ma.get("ID");
mit.setHandling_charge_money(ma.get("HANDLING_CHARGE_MONEY"));
mit.setSum_interest(ma.get("INTEREST"));
mit.setStart_date(ma.get("START_DATE"));
mit.setTax_rate(ma.get("TAX"));
mit.setContract_id(contract_id);
mit.setPayment_number(ma.get("PAYMENT_NUMBER"));
excuteSave(contract_id,mit);
}
}
public void contractRentQuarter(JBOTransaction tx )throws Exception{
Transaction Sqlca =null;
List<String> idList=new ArrayList<String>();
tx =JBOFactory.createJBOTransaction();
Sqlca = Transaction.createTransaction(tx);
//传统季付
String sql="SELECT lci.id AS ID ,lcc.PAYMENT_NUMBER,getTax(lci.leas_form,'租息',lcc.start_date) as TAX, lcc.START_DATE,lr.interest INTEREST, ROUND(lcc.HANDLING_CHARGE_MONEY/getTax(lci.LEAS_FORM,'手续费',lcc.start_date),2) AS HANDLING_CHARGE_MONEY FROM lb_contract_info lci LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lci.id LEFT JOIN (SELECT lrp.contract_id,ROUND(SUM(lrp.interest/getTax(lci.LEAS_FORM,'租息',lcc.start_date)),2) interest FROM lc_rent_plan lrp LEFT JOIN lb_contract_info lci ON lci.id=lrp.CONTRACT_ID LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lci.id GROUP BY lrp.contract_id) lr ON lr.contract_id=lci.id WHERE NOT EXISTS (SELECT 1 FROM contract_rent_month WHERE contract_id = lcc.contract_id) AND nvl(lr.interest,0) > 0 AND lci.contract_status BETWEEN 31 AND 100 AND lci.id NOT IN (SELECT contract_id FROM lc_fund_rent_adjust) AND lci.BUSINESSTYPE<>'1' AND lcc.INCOME_NUMBER_YEAR='income_3'";
Map<String,String> map=new HashMap<String, String>();
//传统季付
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
tx.commit();
for(Map<String,String> ma:dataList){
MonthInterestEntity mit =new MonthInterestEntity();
String contract_id=ma.get("ID");
mit.setHandling_charge_money(ma.get("HANDLING_CHARGE_MONEY"));
mit.setSum_interest(ma.get("INTEREST"));
mit.setStart_date(ma.get("START_DATE"));
mit.setTax_rate(ma.get("TAX"));
mit.setContract_id(contract_id);
mit.setPayment_number(ma.get("PAYMENT_NUMBER"));
excuteSave(contract_id,mit);
}
}
public void excuteSave(String contract_id,MonthInterestEntity mit) throws Exception {
JBOTransaction tx =null;
Transaction Sqlca =null;
tx =JBOFactory.createJBOTransaction();
Sqlca = Transaction.createTransaction(tx);
String sql="SELECT lrp.plan_list L_PLAN_LIST,lrp.plan_date L_PLAN_DATE,ROUND(lrp.interest/getTax(lci.LEAS_FORM,'租息',lcc.START_DATE),2) L_INTEREST,lrp1.plan_list N_PLAN_LIST,lrp1.plan_date N_PLAN_DATE,ROUND(lrp1.interest/getTax(lci.LEAS_FORM,'租息',lcc.START_DATE),2) N_INTERST,lcc.START_DATE FROM lc_rent_plan lrp LEFT JOIN lc_rent_plan lrp1 ON lrp1.contract_id=lrp.contract_id AND lrp1.plan_list=lrp.plan_list+1 LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lrp.contract_id LEFT JOIN lb_contract_info lci ON lci.ID=lcc.contract_id WHERE lrp.contract_id=:ID ORDER BY lrp.plan_list";
Map<String,String> map=new HashMap<String, String>();
map.put("ID", contract_id);
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
mit.setRent_plan_list(dataList);
List<BizObject> bolist=mit.getBizObjList();
saveBM(tx,bolist);
tx.commit();
}
public void saveBM(JBOTransaction tx,List<BizObject> boList) throws Exception{
BizObjectManager bm=JBOFactory.getBizObjectManager(CONTRACT_RENT_MONTH.CLASS_NAME,tx);
for(BizObject bo:boList){if(bo!=null){bm.saveObject(bo);}}
}
public void discountApportion() throws Exception{
Transaction Sqlca =null;
DateFormat df = new SimpleDateFormat("yyyy/MM");
String startime = StringFunction.getTodayNow();
Date nowdate=df.parse(startime);
String contract_id="";
String DISCOUNT_money="";
String suminterest="";
BigDecimal discount=new BigDecimal("0.00");
Sqlca = Transaction.createTransaction("als");
Map<String,String> map=new HashMap<String, String>();
String sql="SELECT lec.contract_id,ROUND(ld.DISCOUNT_money/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END ,2) AS DISCOUNT_money,crm.interest FROM LB_DISCOUNT ld LEFT JOIN LB_EQUIPMENT_CAR lec ON lec.FRAME_NUMBER=ld.FRAME_NUMBER AND lec.contract_id IS NOT NULL AND lec.contract_id<>'' LEFT JOIN lb_contract_info lci ON lci.id=lec.contract_id INNER JOIN (SELECT contract_id,SUM(interest) interest FROM contract_rent_month GROUP BY contract_id) crm ON crm.contract_id=lec.contract_id WHERE DATE_FORMAT(ld.inputtime,'%Y/%m/%d')=DATE_FORMAT(SYSDATE(),'%Y/%m/%d')";
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
BizObjectManager bom=JBOFactory.getBizObjectManager(CONTRACT_RENT_MONTH.CLASS_NAME, Sqlca);
for(Map<String,String> ma:dataList){
contract_id=ma.get("contract_id");
DISCOUNT_money=ma.get("DISCOUNT_money");
suminterest=ma.get("interest");
BizObject bo=null;
String accurte_date="";
Date accdate=null;
BigDecimal Discount_apart=new BigDecimal("0.00");
BigDecimal Discount_apart_nom=new BigDecimal("0.00");
List<BizObject> bolist=bom.createQuery("contract_id=:contract_id order by rent_list").setParameter("contract_id", contract_id).getResultList(true);
for(int i=0;i<bolist.size();i++){
bo=bolist.get(i);
accurte_date=bo.getAttribute("accrued_date").getString();
accdate=df.parse(accurte_date);
if(accdate.getTime()<nowdate.getTime()){
Discount_apart=Discount_apart.add(new BigDecimal(bo.getAttribute("interest").getString()).divide(new BigDecimal(suminterest),6,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(DISCOUNT_money)));
bo.setAttributeValue("discount", "0.00");
}
if(accdate.getTime()==nowdate.getTime()){
Discount_apart=Discount_apart.add(new BigDecimal(bo.getAttribute("interest").getString()).divide(new BigDecimal(suminterest),6,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(DISCOUNT_money)));
bo.setAttributeValue("discount", Discount_apart);
}
if(accdate.getTime()>nowdate.getTime()){
Discount_apart_nom=new BigDecimal(bo.getAttribute("interest").getString()).divide(new BigDecimal(suminterest),6,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(DISCOUNT_money));
bo.setAttributeValue("discount", Discount_apart_nom);
}
bom.saveObject(bo);
}
}
Sqlca.commit();
}
}

View File

@ -0,0 +1,375 @@
package com.tenwa.lease.util;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import jbo.com.tenwa.lease.comm.CONTRACT_RENT_MONTH;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
public class MonthInterestEntity {
private String handling_charge_money;
private String sum_interest;
private String tax_rate;
private String contract_id;
private String payment_number;
private List<Map<String,String>> rent_plan_list;
private String start_date;
private String n_interest="0.00";//上半部分利息
private String p_interest="0.00";//下半部分利息
private String over_sum_interest="0.00";//已计算出来的利息
private String over_sum_handl="0.00";//已计算出来的手续费
private String date= new SimpleDateFormat("yyyy/MM/dd").format(new Date());
public List<BizObject> getBizObjList() throws Exception {
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
Calendar ca = Calendar.getInstance();
List<BizObject> bizoList=new ArrayList<BizObject>();
if(this.getRent_plan_list().size()>0){
BizObjectManager bm=JBOFactory.getBizObjectManager(CONTRACT_RENT_MONTH.CLASS_NAME);
for(int i=0;i<this.getRent_plan_list().size();i++){
if(i==0){
BizObject bo=bm.newObject();
bo.setAttributeValue("contract_id", contract_id);
bo.setAttributeValue("payment_number", payment_number);
bo.setAttributeValue("create_date", date);
ca.setTime(format.parse(start_date));
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String last = format.format(ca.getTime());
ca.add(Calendar.MONTH, 0);
ca.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
String first = format.format(ca.getTime());
bo.setAttributeValue("end_date", last);
bo.setAttributeValue("start_date", first);
String accurt_date=start_date.substring(0,7);
bo.setAttributeValue("accrued_date", accurt_date);
caculateN_interest(start_date,rent_plan_list.get(i).get("L_INTEREST"));
//caculateI_interest("0.00");
bo.setAttributeValue("interest", new BigDecimal(n_interest).toString());
bo.setAttributeValue("fee", caculateHandling_Money(n_interest,p_interest));
bo.setAttributeValue("rent_list", "0");
bizoList.add(bo);
}
BizObject bo=bm.newObject();
bo.setAttributeValue("contract_id", contract_id);
bo.setAttributeValue("payment_number", payment_number);
bo.setAttributeValue("create_date", date);
ca.setTime(format.parse(rent_plan_list.get(i).get("L_PLAN_DATE")));
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String last = format.format(ca.getTime());
ca.add(Calendar.MONTH, 0);
ca.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
String first = format.format(ca.getTime());
bo.setAttributeValue("end_date", last);
bo.setAttributeValue("start_date", first);
String accurt_date=rent_plan_list.get(i).get("L_PLAN_DATE").substring(0,7);
bo.setAttributeValue("accrued_date", accurt_date);
bo.setAttributeValue("rent_list", (i+1)+"");
if(i==rent_plan_list.size()-1){
//最后一个月
caculateI_interest(rent_plan_list.get(i).get("L_INTEREST"));
caculateN_interest(rent_plan_list.get(i).get("L_PLAN_DATE"),"0.00");
bo.setAttributeValue("interest", new BigDecimal(sum_interest).subtract(new BigDecimal(over_sum_interest)).toString());
bo.setAttributeValue("fee", new BigDecimal(handling_charge_money).subtract(new BigDecimal(over_sum_handl)).toString());
}else{
//不是起租月
caculateI_interest(rent_plan_list.get(i).get("L_INTEREST"));
caculateN_interest(rent_plan_list.get(i).get("L_PLAN_DATE"),rent_plan_list.get(i).get("N_INTERST"));
bo.setAttributeValue("interest", new BigDecimal(n_interest).add(new BigDecimal(p_interest)).toString());
bo.setAttributeValue("fee", caculateHandling_Money(n_interest,p_interest));
}
bizoList.add(bo);
}
}
return bizoList;
}
public List<BizObject> getBizObjListIn_three() throws Exception{
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
Calendar ca = Calendar.getInstance();
List<BizObject> bizoList=new ArrayList<BizObject>();
if(this.getRent_plan_list().size()>0){
BizObjectManager bm=JBOFactory.getBizObjectManager(CONTRACT_RENT_MONTH.CLASS_NAME);
for(int i=0;i<this.getRent_plan_list().size();i++){
BizObject bo1=bm.newObject();
BizObject bo2=bm.newObject();
BizObject bo3=bm.newObject();
String al_handl="0.00";
bo1.setAttributeValue("contract_id", contract_id);
bo1.setAttributeValue("payment_number", payment_number);
bo1.setAttributeValue("create_date", date);
bo2.setAttributeValue("contract_id", contract_id);
bo2.setAttributeValue("payment_number", payment_number);
bo2.setAttributeValue("create_date", date);
bo3.setAttributeValue("contract_id", contract_id);
bo3.setAttributeValue("payment_number", payment_number);
bo3.setAttributeValue("create_date", date);
//三个月平均分
ca.setTime(format.parse(rent_plan_list.get(i).get("L_PLAN_DATE")));
ca.add(Calendar.MONTH, -2);
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String last = format.format(ca.getTime());
ca.add(Calendar.MONTH, 0);
ca.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
String first = format.format(ca.getTime());
bo1.setAttributeValue("end_date", last);
bo1.setAttributeValue("start_date", first);
String accurt_date=start_date.substring(0,7);
bo1.setAttributeValue("accrued_date", accurt_date);
bo1.setAttributeValue("rent_list", i*3+1);
bo1.setAttributeValue("interest", new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP).toString());
bo1.setAttributeValue("fee", caculateHandling_Money(new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP).toString(),"0.00"));
ca.setTime(format.parse(rent_plan_list.get(i).get("L_PLAN_DATE")));
ca.add(Calendar.MONTH, -2);
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
last = format.format(ca.getTime());
ca.add(Calendar.MONTH, 0);
ca.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
first = format.format(ca.getTime());
bo2.setAttributeValue("end_date", last);
bo2.setAttributeValue("start_date", first);
accurt_date=start_date.substring(0,7);
bo2.setAttributeValue("accrued_date", accurt_date);
bo2.setAttributeValue("rent_list", i*3+2);
bo2.setAttributeValue("interest", new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP).toString());
bo2.setAttributeValue("fee", caculateHandling_Money(new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP).toString(),"0.00"));
ca.setTime(format.parse(rent_plan_list.get(i).get("L_PLAN_DATE")));
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
last = format.format(ca.getTime());
ca.add(Calendar.MONTH, 0);
ca.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
first = format.format(ca.getTime());
bo3.setAttributeValue("end_date", last);
bo3.setAttributeValue("start_date", first);
accurt_date=start_date.substring(0,7);
bo3.setAttributeValue("accrued_date", accurt_date);
bo3.setAttributeValue("rent_list", i*3+3);
bo3.setAttributeValue("interest", new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).subtract(new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("2"))).toString());
if(i==rent_plan_list.size()-1){
bo3.setAttributeValue("fee", new BigDecimal(handling_charge_money).subtract(new BigDecimal(over_sum_handl)).toString());
}else{
bo3.setAttributeValue("fee", caculateHandling_Money(new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).subtract(new BigDecimal(rent_plan_list.get(i).
get("L_INTEREST")).divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("2"))).toString(),"0.00"));
}
bizoList.add(bo1);
bizoList.add(bo2);
bizoList.add(bo3);
}
}
return bizoList;
}
public void caculateN_interest(String date,String interest) throws Exception{
BigDecimal inte=new BigDecimal(interest);
BigDecimal da30=new BigDecimal("30");
String day=date.substring(8);
n_interest=inte.divide(da30, 2, BigDecimal.ROUND_HALF_UP).multiply(da30.subtract(new BigDecimal(day))).setScale(2,BigDecimal.ROUND_HALF_UP).toString();
over_sum_interest=new BigDecimal(over_sum_interest).add(new BigDecimal(n_interest)).toString();
}
public void caculateI_interest(String interest)throws Exception{
BigDecimal inte=new BigDecimal(interest);
p_interest=inte.subtract(new BigDecimal(n_interest)).toString();
over_sum_interest=new BigDecimal(over_sum_interest).add(new BigDecimal(p_interest)).toString();
}
public String caculateHandling_Money(String N_interest,String I_interest) throws Exception {
BigDecimal nInte=new BigDecimal(N_interest);
BigDecimal iInte=new BigDecimal(I_interest);
String handl_money=nInte.add(iInte).divide(new BigDecimal(sum_interest), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(handling_charge_money)).setScale(2,BigDecimal.ROUND_HALF_UP).toString();
over_sum_handl=new BigDecimal(over_sum_handl).add(new BigDecimal(handl_money)).toString();
return handl_money;
}
public String getContract_id() {
return contract_id;
}
public void setContract_id(String contract_id) {
this.contract_id = contract_id;
}
public String getPayment_number() {
return payment_number;
}
public void setPayment_number(String payment_number) {
this.payment_number = payment_number;
}
public String getN_interest() {
return n_interest;
}
public void setN_interest(String n_interest) {
this.n_interest = n_interest;
}
public String getP_interest() {
return p_interest;
}
public void setP_interest(String p_interest) {
this.p_interest = p_interest;
}
public String getOver_sum_interest() {
return over_sum_interest;
}
public void setOver_sum_interest(String over_sum_interest) {
this.over_sum_interest = over_sum_interest;
}
public String getOver_sum_handl() {
return over_sum_handl;
}
public String getHandling_charge_money() {
return handling_charge_money;
}
public void setHandling_charge_money(String handling_charge_money) {
this.handling_charge_money = handling_charge_money;
}
public String getSum_interest() {
return sum_interest;
}
public void setSum_interest(String sum_interest) {
this.sum_interest = sum_interest;
}
public String getTax_rate() {
return tax_rate;
}
public void setTax_rate(String tax_rate) {
this.tax_rate = tax_rate;
}
public List<Map<String, String>> getRent_plan_list() {
return rent_plan_list;
}
public void setRent_plan_list(List<Map<String, String>> rent_plan_list) {
this.rent_plan_list = rent_plan_list;
}
public String getStart_date() {
return start_date;
}
public void setStart_date(String start_date) {
this.start_date = start_date;
}
public void setOver_sum_handl(String over_sum_handl) {
this.over_sum_handl = over_sum_handl;
}
/*public void caculateExInterestOnHire(){
BigDecimal bpi=new BigDecimal(previousInterest);
BigDecimal bni=new BigDecimal(nextInterest);
BigDecimal bopi=new BigDecimal(previousOvInterest);
int a=Integer.parseInt(nextDate.substring(8));
if("trad_month".equals(exTpye)){
n_interest=bpi.subtract(bopi).add(bni.divide(new BigDecimal(30)).multiply(new BigDecimal(30).subtract(new BigDecimal(a)))).toString();
}
this.setExtractInterest(n_interest);
}
public void caculateN_Interest(String next,String plandate){
BigDecimal bni=new BigDecimal(next);
int a=Integer.parseInt(plandate);
if("trad_month".equals(exTpye)){
n_interest=bni.divide(new BigDecimal(30)).multiply(new BigDecimal(30).subtract(new BigDecimal(a))).setScale(2).toString();
}
}
public void caculatP_Interest(String last,String plandate){
BigDecimal bni=new BigDecimal(last);
int a=Integer.parseInt(plandate);
if("trad_month".equals(exTpye)){
p_interest=bni.subtract(bni.divide(new BigDecimal(30)).multiply(new BigDecimal(30).subtract(new BigDecimal(a)))).setScale(2).toString();
}
}*/
public static void main(String[] args) {
System.out.println(Integer.parseInt("2018/03/12".substring(0,7 )));
}
}