From 76e9e8e05cbe7dafeba51a235386f20ebf986e25 Mon Sep 17 00:00:00 2001
From: wang-hao-jie <1550036656@qq.com>
Date: 星期一, 27 十二月 2021 11:54:35 +0800
Subject: [PATCH] 违章记录

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java |  168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 168 insertions(+), 0 deletions(-)

diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java
new file mode 100644
index 0000000..7fd6d1d
--- /dev/null
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java
@@ -0,0 +1,168 @@
+package cn.exrick.xboot.your.controller;
+
+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.entity.DrivingRecord;
+import cn.exrick.xboot.your.entity.Suggest;
+import cn.exrick.xboot.your.service.IAddOilService;
+import cn.exrick.xboot.your.service.ICarService;
+import cn.exrick.xboot.your.service.IDrivingRecordService;
+import cn.exrick.xboot.your.vo.CarVo;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author zhangzeli
+ */
+@Slf4j
+@RestController
+@Api(tags = "杞﹁締琛ㄧ鐞嗘帴鍙�")
+@RequestMapping("/xboot/car")
+@Transactional
+public class CarController {
+
+    @Autowired
+    private ICarService iCarService;
+    @Autowired
+    private IAddOilService iAddOilService;
+    @Autowired
+    private IDrivingRecordService iDrivingRecordService;
+
+    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
+    @ApiOperation(value = "閫氳繃id鑾峰彇")
+    public Result<Car> get(@PathVariable String id) {
+
+        Car car = iCarService.getById(id);
+        return new ResultUtil<Car>().setData(car);
+    }
+
+    @RequestMapping(value = "/getAllCar", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁")
+    public Result<List<Car>> getAllCar() {
+
+        List<Car> list = iCarService.list();
+        return new ResultUtil<List<Car>>().setData(list);
+    }
+
+    @RequestMapping(value = "/getAll", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁")
+    public Result<List<CarVo>> getAll(String beginTime,String endTime) {
+        List<CarVo> carVos = new ArrayList<>();
+        List<Car> list = iCarService.getAll2();
+        for (Car car:list){
+            CarVo carVo = new CarVo();
+            //鍔犳补淇℃伅
+            QueryWrapper<AddOil> queryWrapper = new QueryWrapper<>();
+            queryWrapper.select("sum(money) as money,sum(amount) as amount").eq("car_id", car.getId());
+
+
+            //浠庡彂杞︽椂闂磋椹堕噷绋嬪垽鏂垵濮嬮噷绋�
+            QueryWrapper<DrivingRecord> wrapper = new QueryWrapper<>();
+            wrapper.select("min(mileage) as beginMileage,max(mileage) as endMileage").eq("car_id",car.getId());
+
+            wrapper.ge(beginTime!=null && beginTime!="","out_time",beginTime);
+            queryWrapper.ge(beginTime!=null && beginTime!="","add_date",beginTime);
+
+            wrapper.le(endTime!=null && endTime!="","in_time",endTime);
+            queryWrapper.le(endTime!=null && endTime!="","add_date",beginTime);
+
+            DrivingRecord drivingRecord = iDrivingRecordService.getOne(wrapper);
+
+            AddOil addOil = iAddOilService.getOne(queryWrapper);
+
+            if (addOil!=null){
+                carVo.setMoney(addOil.getMoney());
+                carVo.setOilWear(addOil.getAmount());
+            }
+
+            if (drivingRecord!=null) {
+                carVo.setBeginMileage(drivingRecord.getBeginMileage());
+                carVo.setEndMileage(drivingRecord.getEndMileage());
+            }
+
+            carVo.setCar(car);
+            carVos.add(carVo);
+        }
+        return new ResultUtil<List<CarVo>>().setData(carVos);
+    }
+    @RequestMapping(value = "/getInfo", method = RequestMethod.GET)
+    @ApiOperation(value = "閫氳繃杞﹁締id鑾峰彇")
+    public Result<List<Car>> getInfo(String beginTime,String endTime) {
+        QueryWrapper<Car> wrapper = new QueryWrapper<>();
+        wrapper.ge(beginTime!=null && beginTime!="","a.add_date",beginTime);
+        wrapper.le(endTime!=null && endTime!="","a.add_date",endTime);
+        wrapper.groupBy("car_no");
+        List<Car> list2 = iCarService.getCarInfo2(wrapper);
+        List<Car> list = iCarService.getCarInfo();
+        for (Car car:list2){
+            for (Car car1:list){
+                if (car.getId().equals(car1.getId())){
+                    car1.setAmount(car.getAmount());
+                    car1.setMileage(car.getMileage());
+                    car1.setMoney(car.getMoney());
+                    continue;
+                }
+            }
+        }
+        return new ResultUtil<List<Car>>().setData(list);
+    }
+
+    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
+    @ApiOperation(value = "鍒嗛〉鑾峰彇")
+    public Result<IPage<Car>> getByPage(String carNo,PageVo page) {
+        QueryWrapper<Car> wrapper = new QueryWrapper<>();
+        if(!StrUtil.isEmpty(carNo)){
+            wrapper.like("a.car_no","%"+carNo+"%");
+        }
+        IPage<Car> data = iCarService.page2(PageUtil.initMpPage(page),wrapper);
+        return new ResultUtil<IPage<Car>>().setData(data);
+    }
+
+    @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
+    @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�")
+    public Result<Car> saveOrUpdate(Car car) {
+
+        if (iCarService.saveOrUpdate(car)) {
+            return new ResultUtil<Car>().setData(car);
+        }
+        return new ResultUtil<Car>().setErrorMsg("鎿嶄綔澶辫触");
+    }
+
+    @RequestMapping(value = "/bindCar", method = RequestMethod.POST)
+    @ApiOperation(value = "缁戝畾杞﹁締浜哄憳")
+    public Result<Car> bindCar(String carId,String userId) {
+        Car car = iCarService.getById(carId);
+        car.setUserId(userId);
+        iCarService.saveOrUpdate(car);
+        return ResultUtil.success("缁戝畾鎴愬姛");
+    }
+
+    @RequestMapping(value = "/delByIds", method = RequestMethod.POST)
+    @ApiOperation(value = "鎵归噺閫氳繃id鍒犻櫎")
+    public Result<Object> delAllByIds(@RequestParam String[] ids) {
+
+        for (String id : ids) {
+            iCarService.removeById(id);
+        }
+        return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛");
+    }
+}

--
Gitblit v1.9.1