From 1b4c59f5f3a0e332ad1cc27c836d98c6d2bdf22c Mon Sep 17 00:00:00 2001
From: wang-hao-jie <1550036656@qq.com>
Date: 星期三, 08 十二月 2021 14:49:16 +0800
Subject: [PATCH] 违章记录

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java |  144 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 144 insertions(+), 0 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
new file mode 100644
index 0000000..8fd4cf0
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java
@@ -0,0 +1,144 @@
+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.service.IAddOilService;
+
+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 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
+ */
+@Slf4j
+@RestController
+@Api(tags = "鍔犳补璁板綍绠$悊鎺ュ彛")
+@RequestMapping("/xboot/addOil")
+@Transactional
+public class AddOilController {
+
+    @Autowired
+    private IAddOilService iAddOilService;
+
+    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
+    @ApiOperation(value = "閫氳繃id鑾峰彇")
+    public Result<AddOil> get(@PathVariable String id) {
+
+        AddOil addOil = iAddOilService.getById(id);
+        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("#.00");
+
+            addOil.setCarNo("鍚堣");
+            addOil.setAmount(value.stream().map(e -> e.getAmount()).reduce(Double::sum).get());
+            addOil.setMileage(value.stream().map(e -> e.getMileage()).reduce(Integer::sum).get());
+            addOil.setMoney(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);
+    }
+
+    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
+    @ApiOperation(value = "鍒嗛〉鑾峰彇")
+    public Result<IPage<AddOil>> getByPage(PageVo page,String carNo) {
+        QueryWrapper<AddOil> wrapper = new QueryWrapper<>();
+        if(!StrUtil.isEmpty(carNo))
+            wrapper.like("b.car_no","%"+carNo+"%");
+        IPage<AddOil> data = iAddOilService.page2(PageUtil.initMpPage(page),wrapper);
+        return new ResultUtil<IPage<AddOil>>().setData(data);
+    }
+
+    @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
+    @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�")
+    public Result<AddOil> saveOrUpdate(AddOil addOil) {
+
+        if (iAddOilService.saveOrUpdate(addOil)) {
+            return new ResultUtil<AddOil>().setData(addOil);
+        }
+        return new ResultUtil<AddOil>().setErrorMsg("鎿嶄綔澶辫触");
+    }
+
+    @RequestMapping(value = "/delByIds", method = RequestMethod.POST)
+    @ApiOperation(value = "鎵归噺閫氳繃id鍒犻櫎")
+    public Result<Object> delAllByIds(@RequestParam String[] ids) {
+
+        for (String id : ids) {
+            iAddOilService.removeById(id);
+        }
+        return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛");
+    }
+
+}

--
Gitblit v1.9.1