From a067fdbf6b1374a1402096c722257575916eab99 Mon Sep 17 00:00:00 2001
From: wjli <591616088@qq.com>
Date: 星期四, 11 五月 2023 16:21:14 +0800
Subject: [PATCH] 1.首页分段显示 2.配送订单页可根据分段显示 3.后端配送率统计

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java |   78 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java
index 19a72f2..d4c6d98 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java
@@ -1,22 +1,36 @@
 package cn.exrick.xboot.your.controller;
 
+import cn.exrick.xboot.core.common.utils.ExcelUtil;
 import cn.exrick.xboot.core.common.utils.PageUtil;
 import cn.exrick.xboot.core.common.utils.ResultUtil;
 import cn.exrick.xboot.core.common.vo.PageVo;
 import cn.exrick.xboot.core.common.vo.Result;
 import cn.exrick.xboot.your.entity.AddOil;
+import cn.exrick.xboot.your.entity.Car;
 import cn.exrick.xboot.your.service.IAddOilService;
+
+import cn.exrick.xboot.your.service.ICarService;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import jodd.net.URLCoder;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import java.io.*;
+import java.math.BigDecimal;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author zhangzeli
@@ -30,6 +44,8 @@
 
     @Autowired
     private IAddOilService iAddOilService;
+    @Autowired
+    private ICarService iCarService;
 
     @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
     @ApiOperation(value = "閫氳繃id鑾峰彇")
@@ -39,10 +55,62 @@
         return new ResultUtil<AddOil>().setData(addOil);
     }
 
+    @RequestMapping(value = "/getExcel", method = RequestMethod.GET)
+    @ApiOperation(value = "閫氳繃杞﹁締id鑾峰彇")
+    public Result<List<AddOil>> getExcel(String beginTime,String endTime) {
+
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        if (beginTime!=null && beginTime==""){
+            //鑾峰彇褰撳墠鏈堢涓�澶╋細
+            Calendar c = Calendar.getInstance();
+            c.add(Calendar.MONTH, 0);
+            c.set(Calendar.DAY_OF_MONTH,1);
+            beginTime = format.format(c.getTime());
+        }
+        if (endTime!=null && endTime==""){
+            //鑾峰彇褰撳墠鏈堟渶鍚庝竴澶�
+            Calendar ca = Calendar.getInstance();
+            ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
+            endTime = format.format(ca.getTime());
+        }
+
+        QueryWrapper<AddOil> wrapper = new QueryWrapper<>();
+
+        wrapper.ge(beginTime!=null && beginTime!="","add_date",beginTime);
+        wrapper.le(endTime!=null && endTime!="","add_date",endTime);
+
+        List<AddOil> list = iAddOilService.getAddOil(wrapper);
+        List<AddOil> addOilList = new ArrayList<>();
+        Map<String, List<AddOil>> map = list.stream().collect(Collectors.groupingBy(AddOil::getCarNo));
+        map.forEach((key, value) -> {
+            for (AddOil addOil:
+                    value) {
+                addOilList.add(addOil);
+            }
+            AddOil addOil = new AddOil();
+            java.text.DecimalFormat   df   =new   java.text.DecimalFormat("#.##");
+
+            addOil.setCarNo("鍚堣");
+            addOil.setAmount(Double.parseDouble(df.format(value.stream().map(e -> e.getAmount()).reduce(Double::sum).get())));
+            addOil.setMileage(value.stream().map(e -> e.getMileage()).reduce(Integer::sum).get());
+            addOil.setMoney(Double.parseDouble(df.format(value.stream().map(e -> e.getMoney()).reduce(Double::sum).get())));
+            Double f = addOil.getAmount()/addOil.getMileage()*100;
+            BigDecimal b = new BigDecimal(f);
+            addOil.setOilWear(b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
+            addOilList.add(addOil);
+            addOilList.add(new AddOil());
+            addOilList.add(new AddOil());
+            addOilList.add(new AddOil());
+
+        });
+        return new ResultUtil<List<AddOil>>().setData(addOilList);
+    }
+
+
+
     @RequestMapping(value = "/getAll", method = RequestMethod.GET)
     @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁")
     public Result<List<AddOil>> getAll() {
-
         List<AddOil> list = iAddOilService.list();
         return new ResultUtil<List<AddOil>>().setData(list);
     }
@@ -61,6 +129,11 @@
     @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�")
     public Result<AddOil> saveOrUpdate(AddOil addOil) {
 
+        if(StrUtil.isNotEmpty(addOil.getCarId())&&StrUtil.isEmpty(addOil.getAddOilCode())){
+            Car byId = iCarService.getById(addOil.getCarId());
+            addOil.setAddOilCode(byId.getAddOilCode());
+        }
+
         if (iAddOilService.saveOrUpdate(addOil)) {
             return new ResultUtil<AddOil>().setData(addOil);
         }
@@ -76,4 +149,5 @@
         }
         return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛");
     }
+
 }

--
Gitblit v1.9.1