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