Authored by qinchao

修正bug-流水计算sum

... ... @@ -117,7 +117,7 @@ public class AssetsService {
public TradeBillsSummaryBo call() throws Exception {
TradeBillsSummaryBo summary = new TradeBillsSummaryBo();
BigDecimal sum_goods_income=new BigDecimal(0);
BigDecimal goods_income=new BigDecimal(0);
BigDecimal compensate_income=new BigDecimal(0);
//计算收入
... ... @@ -125,15 +125,15 @@ public class AssetsService {
if(CollectionUtils.isNotEmpty(incomeList)){
for(Map<String, Object> tmpMap:incomeList){
if(tmpMap.get("tradeType")==null){
if(tmpMap.get("tradeType")==null||tmpMap.get("allAmount")==null){
continue;
}
Integer key = (Integer)tmpMap.get("tradeType");
if(TradeType.goods_income.getCode()==key){
sum_goods_income = sum_goods_income.add((BigDecimal)tmpMap.get("allAmount"));
if(TradeType.goods_income.getCode()==key.intValue()){
goods_income = goods_income.add((BigDecimal)tmpMap.get("allAmount"));
}
if(TradeType.compensateIncome.getCode()==key){
if(TradeType.compensateIncome.getCode()==key.intValue()){
compensate_income = compensate_income.add((BigDecimal)tmpMap.get("allAmount"));
}
... ... @@ -143,29 +143,30 @@ public class AssetsService {
//计算支出
List<Map<String, Object>> spendList=tradeBillsMapper.selectSpendAmountByUid(uid);
if(CollectionUtils.isNotEmpty(spendList)){
for(Map<String, Object> tmpMap:incomeList){
if(tmpMap.get("tradeType")==null){
for(Map<String, Object> tmpMap:spendList){
if(tmpMap.get("tradeType")==null||tmpMap.get("allAmount")==null){
continue;
}
Integer key = (Integer)tmpMap.get("tradeType");
if(TradeType.goods_income.getCode()==key){
sum_goods_income = sum_goods_income.subtract((BigDecimal)tmpMap.get("allAmount"));
if(TradeType.goods_income.getCode()==key.intValue()){
goods_income = goods_income.subtract((BigDecimal)tmpMap.get("allAmount"));
}
if(TradeType.compensateIncome.getCode()==key){
if(TradeType.compensateIncome.getCode()==key.intValue()){
compensate_income = compensate_income.subtract((BigDecimal)tmpMap.get("allAmount"));
}
}
}
//TODO 内存中计算total
summary.setGoods_income(sum_goods_income);
summary.setGoodsIncome(sum_goods_income.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString());
summary.setGoods_income(goods_income);
summary.setGoodsIncome(goods_income.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString());
summary.setCompensate_income(compensate_income);
summary.setCompensateIncome(compensate_income.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString());
summary.setTotal_income(sum_goods_income.add(compensate_income));
summary.setTotalIncome(compensate_income.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString());
BigDecimal total= goods_income.add(compensate_income);
summary.setTotal_income(total);
summary.setTotalIncome(total.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString());
return summary;
}
});
... ... @@ -173,4 +174,12 @@ public class AssetsService {
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
BigDecimal a=new BigDecimal(1.2);
BigDecimal b=new BigDecimal(2.4);
a= a.add(b);
System.out.println(a);
}
}
... ...