From 1f5b385ce89c528b8e4f3385dc27a3ae8cb09f24 Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期日, 19 五月 2024 15:55:58 +0800 Subject: [PATCH] 修改bug --- zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java | 82 +++++++++++++++++++++++++++------------- 1 files changed, 55 insertions(+), 27 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java index e8a3c85..d728150 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java @@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.domain.TravelCount; import com.ruoyi.domain.TravelDetail; +import com.ruoyi.domain.ZfProperty; import com.ruoyi.mapper.TravelCountMapper; import com.ruoyi.service.TravelCountService; import com.ruoyi.service.TravelDetailService; @@ -16,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import java.text.DecimalFormat; +import java.util.Date; import java.util.List; /** @@ -36,37 +39,30 @@ private TravelCountService travelCountService; @Override - public AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize) { + public AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize, TravelCount travelCount, String happenStartTime, String happenEndTime) { + //璁剧疆鏌ヨ鏉′欢 LambdaQueryWrapper<TravelCount> lqw = new LambdaQueryWrapper<>(); lqw.eq(TravelCount::getUid,userId); + if(travelCount!=null){ + lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName()); + lqw.like(travelCount.getDestination()!=null,TravelCount::getDestination,travelCount.getDestination()); + lqw.like(travelCount.getProperty()!=null,TravelCount::getProperty,travelCount.getProperty()); + lqw.like(travelCount.getManner()!=null,TravelCount::getManner,travelCount.getManner()); + lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName()); + lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName()); + lqw.like(travelCount.getName()!=null,TravelCount::getName,travelCount.getName()); + } + if(happenStartTime!=null){ + lqw.gt(TravelCount::getStartTime,happenStartTime); + } + + if(happenEndTime!=null){ + lqw.lt(TravelCount::getEndTime,happenEndTime); + } + lqw.orderByDesc(TravelCount::getCreateTime); Page<TravelCount> resultPage = page(new Page<>(pageNum, pageSize), lqw); - - resultPage.getRecords().forEach(data ->{ - //鍏堟壘鍒板搴斾竴鏉$粺璁℃暟鎹殑鎵�鏈夎缁嗘暟鎹� - List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(data.getId()); - double entranceTotal = 0; - double eatTotal = 0; - double stayTotal = 0; - double travelTotal = 0; - - //鎶婃墍鏈夎缁嗘暟鎹殑璐圭敤鍊肩疮鍔犺捣鏉� - for (TravelDetail detail : travelDetailList) { - entranceTotal+=detail.getEntrance(); - eatTotal+=detail.getEat(); - stayTotal+=detail.getStay(); - travelTotal+=detail.getTravel(); - } - - data.setEntranceTotal(entranceTotal); - data.setEatTotal(eatTotal); - data.setStayTotal(stayTotal); - data.setTravelTotal(travelTotal); - - DecimalFormat df = new DecimalFormat("0.00"); - data.setTotalPrice(Double.parseDouble(df.format(entranceTotal+eatTotal+data.getGroupTotal()+stayTotal+travelTotal))); - }); - + resultPage.getRecords().forEach(this::inputTotalData); return AjaxResult.success(MapUtils.getResult(resultPage)); } @@ -83,4 +79,36 @@ //鍐嶅垹闄よ嚜宸辫〃鐨勬暟鎹� travelCountService.removeBatchByIds(list); } + + @Override + public TravelCount getDataById(Long id) { + TravelCount travelCount = getById(id); + inputTotalData(travelCount); + return travelCount; + } + + private void inputTotalData(TravelCount travelCount){ + //鍏堟壘鍒板搴斾竴鏉$粺璁℃暟鎹殑鎵�鏈夎缁嗘暟鎹� + List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(travelCount.getId(),null); + double entranceTotal = 0; + double eatTotal = 0; + double stayTotal = 0; + double travelTotal = 0; + + //鎶婃墍鏈夎缁嗘暟鎹殑璐圭敤鍊肩疮鍔犺捣鏉� + for (TravelDetail detail : travelDetailList) { + entranceTotal+=detail.getEntrance(); + eatTotal+=detail.getEat(); + stayTotal+=detail.getStay(); + travelTotal+=detail.getTravel(); + } + + travelCount.setEntranceTotal(entranceTotal); + travelCount.setEatTotal(eatTotal); + travelCount.setStayTotal(stayTotal); + travelCount.setTravelTotal(travelTotal); + + DecimalFormat df = new DecimalFormat("0.00"); + travelCount.setTotalPrice(Double.parseDouble(df.format(entranceTotal+eatTotal+travelCount.getGroupTotal()+stayTotal+travelTotal))); + } } -- Gitblit v1.9.1