优化租赁物占比取值及占比精度缺失问题

This commit is contained in:
zzk 2022-04-13 17:14:44 +08:00
parent 89ba021d2c
commit d36c653311
2 changed files with 12 additions and 13 deletions

View File

@ -210,7 +210,7 @@ public class EarlyContract {
}
}
// 获取租赁物-增融后租赁物价格()
REDUCTION_RATIO = Sqlca.getString("SELECT ROUND(ifnull(LECT.EQUIP_PRICE,0)/ifnull(LEC.EQUIP_PRICE,0),4) AS REDUCTION_RATIO FROM ( SELECT CONTRACT_ID, SUM(ifnull(EQUIP_PRICE,0)) AS EQUIP_PRICE FROM LB_EQUIPMENT_CAR_TEMP WHERE ID IN ( "+idss+" ) AND FLOWUNID='"+flowunid+"' GROUP BY CONTRACT_ID ) LECT LEFT JOIN ( SELECT CONTRACT_ID, SUM(ifnull(EQUIP_PRICE,0)) AS EQUIP_PRICE FROM LB_EQUIPMENT_CAR WHERE ifnull(TERMINATE_TYPE,'1')<>'2' GROUP BY CONTRACT_ID )LEC ON LEC.CONTRACT_ID=LECT.CONTRACT_ID ");
REDUCTION_RATIO = Sqlca.getString("select EQUIP_PRICE as REDUCTION_RATIO from (select SUM(retainfield2) as EQUIP_PRICE from LB_EQUIPMENT_CAR_TEMP where ID in ("+idss+") and FLOWUNID = '"+flowunid+"' group by CONTRACT_ID ) LECT");
REDUCTION_RATIO = new BigDecimal(REDUCTION_RATIO).multiply(new BigDecimal(100)).toString();
DecimalFormat df = new DecimalFormat("#.00");
REDUCTION_RATIO = df.format(Double.valueOf(REDUCTION_RATIO.toString()));
@ -231,7 +231,6 @@ public class EarlyContract {
}
}
}
// return REDUCTION_RATIO;
return ""+REDUCTION_RATIO+"";
}
@ -358,19 +357,19 @@ public class EarlyContract {
BizObjectManager lfratBm = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_FUND_RENT_ADJUST_TEMP",Sqlca);
BizObject lfrat = lfratBm.createQuery("FLOWUNID='"+flowunid+"'").getSingleResult(true);
String CONTRACT_ID = Sqlca.getString("SELECT lci.id FROM lb_contract_info_temp lcit left join lb_contract_info lci on lci.CONTRACT_NO = lcit.CONTRACT_NO where lcit.FLOWUNID='"+flowunid+"'");
String adjustType = lfrat.getAttribute("ADJUST_TYPE").toString();//coerce_terminate
String adjustType = lfrat.getAttribute("ADJUST_TYPE").toString();
// 获取网银ID
String EBANK_NUMBER = Sqlca.getString("SELECT LE.ID FROM LC_EBANK_TEMP LET LEFT JOIN LC_EBANK LE ON LE.EBANK_NUMBER=LET.EBANK_NUMBER where LET.FLOWUNID='"+flowunid+"'");
String MAXIMUM_TOTAL = lfrat.getAttribute("MAXIMUM_TOTAL").getString();
String RECEIVABLE_MONEY02 = MAXIMUM_TOTAL;
//String OPEN_MONEY = lfrat.getAttribute("OPEN_MONEY").getString();
// 判断结清类型是否为提前结清
if("01".equals(adjustType)){
Sqlca.executeSQL(new SqlObject("update LC_EBANK_TEMP let set HAD_MONEY = HAD_MONEY+"+RECEIVABLE_MONEY02+",MAYOPE_MONEY=MAYOPE_MONEY-"+RECEIVABLE_MONEY02+" where LET.FLOWUNID = '" +flowunid+ "'") );
}else if("coerce_terminate".equals(adjustType)){
Sqlca.executeSQL(new SqlObject("update LC_EBANK_TEMP let set HAD_MONEY = HAD_MONEY+MAYOPE_MONEY,MAYOPE_MONEY=MAYOPE_MONEY-MAYOPE_MONEY where LET.FLOWUNID = '" +flowunid+ "'") );
}
// String MAXIMUM_TOTAL = lfrat.getAttribute("MAXIMUM_TOTAL").getString();
// String RECEIVABLE_MONEY02 = MAXIMUM_TOTAL;
// //String OPEN_MONEY = lfrat.getAttribute("OPEN_MONEY").getString();
// // 判断结清类型是否为提前结清
// if("01".equals(adjustType)){
// Sqlca.executeSQL(new SqlObject("update LC_EBANK_TEMP let set HAD_MONEY = HAD_MONEY+"+RECEIVABLE_MONEY02+",MAYOPE_MONEY=MAYOPE_MONEY-"+RECEIVABLE_MONEY02+" where LET.FLOWUNID = '" +flowunid+ "'") );
// }else if("coerce_terminate".equals(adjustType)){
// Sqlca.executeSQL(new SqlObject("update LC_EBANK_TEMP let set HAD_MONEY = HAD_MONEY+MAYOPE_MONEY,MAYOPE_MONEY=MAYOPE_MONEY-MAYOPE_MONEY where LET.FLOWUNID = '" +flowunid+ "'") );
// }
/**
* 变更租金计划表
*/

View File

@ -40,7 +40,7 @@ public class LBEquipmentFormalToTempBusiness extends BaseBussiness {
String FRAME_NUMBER01;
String FRAME_NUMBER02;
String flowUnid=this.getAttribute("ObjectNo").toString();
String sql="select round(round(lect.EQUIP_PRICE / ifnull(t.num, 1), 4)* 100, 2) as PROPROTION_NUMBER,f.FRAME_NUMBER as FRAME_NUMBER01,lect.FRAME_NUMBER as FRAME_NUMBER02 from lb_equipment_car_temp lect left join (select CONTRACT_ID,sum(ifnull(EQUIP_PRICE, 0)) as num from apzl.lb_equipment_car group by CONTRACT_ID ) t on t.CONTRACT_ID = lect.CONTRACT_ID left join (select CONTRACT_ID,max(FRAME_NUMBER) as FRAME_NUMBER from apzl.lb_equipment_car a where CONTRACT_ID in ( select CONTRACT_ID from lb_equipment_car_temp where FLOWUNID = '"+flowUnid+"')) f on f.CONTRACT_ID = lect.CONTRACT_ID where lect.FLOWUNID = '"+flowUnid+"' order by lect.FRAME_NUMBER";
String sql="select round(round(lect.EQUIP_PRICE / ifnull(t.num, 1), 4), 4) as PROPROTION_NUMBER,f.FRAME_NUMBER as FRAME_NUMBER01,lect.FRAME_NUMBER as FRAME_NUMBER02 from lb_equipment_car_temp lect left join (select CONTRACT_ID,sum(ifnull(EQUIP_PRICE, 0)) as num from apzl.lb_equipment_car group by CONTRACT_ID ) t on t.CONTRACT_ID = lect.CONTRACT_ID left join (select CONTRACT_ID,max(FRAME_NUMBER) as FRAME_NUMBER from apzl.lb_equipment_car a where CONTRACT_ID in ( select CONTRACT_ID from lb_equipment_car_temp where FLOWUNID = '"+flowUnid+"')) f on f.CONTRACT_ID = lect.CONTRACT_ID where lect.FLOWUNID = '"+flowUnid+"' order by lect.FRAME_NUMBER";
List<Map<String,String>> list=DataOperatorUtil.getDataBySql(Sqlca, sql, null);
for (Map<String,String> let : list) {
PROPROTION_NUMBER = let.get("PROPROTION_NUMBER");