|  |  | 
 |  |  |         if (list.size() == 0) { | 
 |  |  |             return new HashMap(); | 
 |  |  |         } | 
 |  |  | //元谋一期陆常丽需求把赠送金额与充值金额分开显示 | 
 |  |  |         for (int i = list.size()-1; i >= 0 ; i--) { | 
 |  |  |             Optional.ofNullable(list.get(i).getGift()).orElse(0d); | 
 |  |  |             if (!list.get(i).getGift().equals(0d)){ | 
 |  |  |                 Double gift1 = list.get(i).getGift();//赠送金额 | 
 |  |  |                 String districtTitle = list.get(i).getDistrictTitle();//地址 | 
 |  |  |                 String clientNum = list.get(i).getClientNum();//农户编号 | 
 |  |  |                 String clientName = list.get(i).getClientName();//农户姓名 | 
 |  |  |                 String phone = list.get(i).getPhone();//手机号 | 
 |  |  |                 Date tradeTime = list.get(i).getTradeTime();//交易时间 | 
 |  |  |                 String orderNumber = list.get(i).getOrderNumber();//订单编号 | 
 |  |  |                 String cardNum = list.get(i).getCardNum();//卡编号 | 
 |  |  |                 String idCard = list.get(i).getIdCard();//身份证 | 
 |  |  |                 String cashierName = list.get(i).getCashierName();//操作人 | 
 |  |  |                 Double money = list.get(i).getMoney();//余额 | 
 |  |  |                 Double cardCost1 = list.get(i).getCardCost();//购卡金额 | 
 |  |  |                 Double tradeAmount = list.get(i).getTradeAmount();//交易金额 | 
 |  |  |                 Double waterCost1 = list.get(i).getWaterCost();//购水金额 | 
 |  |  |                 Double refundAmount1 = list.get(i).getRefundAmount();//返回金额 | 
 |  |  |                 String paymentName = list.get(i).getPaymentName();//支付方式 | 
 |  |  |                 String operateType = list.get(i).getOperateType();//业务类型 | 
 |  |  |                 String cardState = list.get(i).getCardState();//卡状态 | 
 |  |  |                 Long villageId = list.get(i).getVillageId();//村id | 
 |  |  |                 Long cashierId = list.get(i).getCashierId();//收银员id | 
 |  |  |  | 
 |  |  |                 list.get(i).setGift(0d); | 
 |  |  |                 list.get(i).setMoney(money-gift1); | 
 |  |  |  | 
 |  |  |                 VoTradeDetails voTradeDetail = new VoTradeDetails(); | 
 |  |  |                 voTradeDetail.setDistrictTitle(districtTitle);//2 | 
 |  |  |                 voTradeDetail.setClientNum(clientNum);//2 | 
 |  |  |                 voTradeDetail.setClientName(clientName);//2 | 
 |  |  |                 voTradeDetail.setPhone(phone);//2 | 
 |  |  |                 voTradeDetail.setOperateType("赠送");//2 | 
 |  |  |                 voTradeDetail.setTradeTime(tradeTime);//2 | 
 |  |  |                 voTradeDetail.setWaterCost(0d);//2 | 
 |  |  |                 voTradeDetail.setCardCost(0d);//2 | 
 |  |  |                 voTradeDetail.setGift(gift1);//2 | 
 |  |  |                 voTradeDetail.setTradeAmount(0d);//2 | 
 |  |  |                 voTradeDetail.setRefundAmount(refundAmount1);//2 | 
 |  |  |                 voTradeDetail.setMoney(money);//待2 | 
 |  |  |                 voTradeDetail.setPaymentName("赠送");//2 | 
 |  |  |                 voTradeDetail.setOrderNumber(orderNumber);//2 | 
 |  |  |                 voTradeDetail.setCardNum(cardNum);//2 | 
 |  |  |                 voTradeDetail.setIdCard(idCard);//2 | 
 |  |  |                 voTradeDetail.setCashierName(cashierName);//2 | 
 |  |  |                 voTradeDetail.setCashierId(cashierId);//2 | 
 |  |  |                 voTradeDetail.setCardState(cardState);//2 | 
 |  |  |                 voTradeDetail.setVillageId(villageId);//2 | 
 |  |  |  | 
 |  |  |                 list.add(voTradeDetail); | 
 |  |  |                 itemTotal = itemTotal + 1; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         list.sort(Comparator.comparing(VoTradeDetails::getTradeTime)); | 
 |  |  |         rsVo.obj = list; | 
 |  |  |         rsVo.calculateAndSet(itemTotal, params); | 
 |  |  |  | 
 |  |  |         // 遍历交易明细记录,汇总购水金额、购卡金额 | 
 |  |  |         Double totalWaterCost = 0.0; |