From bfe6e8b654b3a90b0d95c4aebbef872418ebeaa6 Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期六, 07 十月 2023 20:14:08 +0800 Subject: [PATCH] 238497 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java | 6 +- zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java | 73 +++++++++++++++++++++++------------- zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java | 4 + zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java | 2 zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java | 2 zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java | 11 +++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java | 4 +- 7 files changed, 66 insertions(+), 36 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java index ae5e169..24681cf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java @@ -38,18 +38,18 @@ private TravelCountService travelCountService; @GetMapping("/all") - public AjaxResult listAll(){ + public AjaxResult listAll(TravelCount travelCount){ SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); - return travelCountService.selectDataList(userId,pageNum,pageSize); + return travelCountService.selectDataList(userId,pageNum,pageSize,travelCount); } @GetMapping("/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { - return AjaxResult.success(travelCountService.getById(id)); + return AjaxResult.success(travelCountService.getDataById(id)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java index c93385b..6f9ac20 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java @@ -27,8 +27,8 @@ TravelDetailService travelDetailService; @GetMapping() - public AjaxResult getDataByCid(@PathParam("cid") Long cid){ - List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(cid); + public AjaxResult getDataByCid(@PathParam("cid") Long cid,TravelDetail travelDetail){ + List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(cid,travelDetail); return AjaxResult.success(travelDetailList); } diff --git a/zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java b/zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java index c28cbb7..82ed391 100644 --- a/zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java +++ b/zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; + import java.io.Serializable; import java.util.Date; diff --git a/zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java b/zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java index 4e04b75..b3cfc55 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java +++ b/zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java @@ -17,7 +17,9 @@ */ public interface TravelCountService extends IService<TravelCount> { - AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize); + AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize,TravelCount travelCount); void removeData(List<Long> list); + + TravelCount getDataById(Long id); } diff --git a/zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java b/zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java index 4f3e685..b8b770c 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java +++ b/zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java @@ -16,7 +16,7 @@ */ public interface TravelDetailService extends IService<TravelDetail> { - List<TravelDetail> getDataByCid(Long cid); + List<TravelDetail> getDataByCid(Long cid,TravelDetail travelDetail); void removeBatchByCid(List<Long> cid); 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..02ec17f 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 @@ -36,37 +36,24 @@ private TravelCountService travelCountService; @Override - public AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize) { + public AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize,TravelCount travelCount) { + //璁剧疆鏌ヨ鏉′欢 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()); + } + + 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 +70,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))); + } } diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java index 1d2df06..3bf0e77 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java @@ -22,9 +22,18 @@ public class TravelDetailServiceImpl extends ServiceImpl<TravelDetailMapper, TravelDetail> implements TravelDetailService { @Override - public List<TravelDetail> getDataByCid(Long cid) { + public List<TravelDetail> getDataByCid(Long cid,TravelDetail travelDetail) { LambdaQueryWrapper<TravelDetail> lqw = new LambdaQueryWrapper<>(); lqw.eq(TravelDetail::getCid,cid); + if(travelDetail!=null){ + lqw.like(travelDetail.getAddress()!=null,TravelDetail::getAddress,travelDetail.getAddress()); + lqw.like(travelDetail.getScenic()!=null,TravelDetail::getScenic,travelDetail.getScenic()); + lqw.like(travelDetail.getHotel()!=null,TravelDetail::getHotel,travelDetail.getHotel()); + lqw.like(travelDetail.getTravelMode()!=null,TravelDetail::getTravelMode,travelDetail.getTravelMode()); + lqw.like(travelDetail.getFlight()!=null,TravelDetail::getFlight,travelDetail.getFlight()); + lqw.like(travelDetail.getDocument()!=null,TravelDetail::getDocument,travelDetail.getDocument()); + } + lqw.orderBy(true,true,TravelDetail::getHappenDate); return list(lqw); } -- Gitblit v1.9.1