zhangzeli
2021-11-24 11ddf9cb831c5d12da0c85c718dafc04d51ce751
报表
15个文件已修改
2个文件已添加
229 ■■■■■ 已修改文件
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/SuggestController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/AddOil.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Car.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/DrivingRecord.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Suggest.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AddOilMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/CarMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/SuggestMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAddOilService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/ICarService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAddOilServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ICarServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISuggestServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/CarVo.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/resources/mapper/SuggestMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/AddOilController.java
@@ -1,22 +1,34 @@
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 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
@@ -39,10 +51,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("#.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);
    }
@@ -76,4 +140,5 @@
        }
        return ResultUtil.success("批量通过id删除数据成功");
    }
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java
@@ -4,8 +4,14 @@
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;
@@ -18,6 +24,7 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
@@ -32,6 +39,10 @@
    @Autowired
    private ICarService iCarService;
    @Autowired
    private IAddOilService iAddOilService;
    @Autowired
    private IDrivingRecordService iDrivingRecordService;
    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
    @ApiOperation(value = "通过id获取")
@@ -41,14 +52,56 @@
        return new ResultUtil<Car>().setData(car);
    }
    @RequestMapping(value = "/getAll", method = RequestMethod.GET)
    @RequestMapping(value = "/getAllCar", method = RequestMethod.GET)
    @ApiOperation(value = "获取全部数据")
    public Result<List<Car>> getAll() {
    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 = "/getByPage", method = RequestMethod.GET)
    @ApiOperation(value = "分页获取")
    public Result<IPage<Car>> getByPage(String carNo,PageVo page) {
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/SuggestController.java
@@ -49,9 +49,11 @@
    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
    @ApiOperation(value = "分页获取")
    public Result<IPage<Suggest>> getByPage(PageVo page) {
        IPage<Suggest> data = iSuggestService.page(PageUtil.initMpPage(page));
    public Result<IPage<Suggest>> getByPage(String content,PageVo page) {
        QueryWrapper<Suggest> wrapper = new QueryWrapper<>();
        if (!StrUtil.isEmpty(content))
            wrapper.like("a.content","%"+content+"%");
        IPage<Suggest> data = iSuggestService.page2(PageUtil.initMpPage(page),wrapper);
        return new ResultUtil<IPage<Suggest>>().setData(data);
    }
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/AddOil.java
@@ -41,6 +41,9 @@
    @ApiModelProperty(value = "加油量")
    private double amount;
    @ApiModelProperty(value = "加油卡号")
    private String addOilCode;
    @ApiModelProperty(value = "单价")
    private double unitPrice;
@@ -56,4 +59,8 @@
    @Transient
    @TableField(exist = false)
    private String carNo;
    @Transient
    @TableField(exist = false)
    private Double oilWear;
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Car.java
@@ -50,6 +50,9 @@
    @ApiModelProperty(value = "0:正常  1:移除")
    private int status;
    @ApiModelProperty(value = "加油卡号")
    private int addOilCode;
    @ApiModelProperty(value = "移除原因(报废、二手车销售)")
    private String removeReason;
@@ -73,4 +76,8 @@
    @TableField(exist = false)
    private String followNickName;
    @Transient
    @TableField(exist = false)
    private String areaName;
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/DrivingRecord.java
@@ -1,6 +1,7 @@
package cn.exrick.xboot.your.entity;
import cn.exrick.xboot.core.base.XbootBaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -12,6 +13,7 @@
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
/**
@@ -99,4 +101,11 @@
    @ApiModelProperty(value = "处理意见")
    private String content;
    @Transient
    @TableField(exist = false)
    private double beginMileage;
    @Transient
    @TableField(exist = false)
    private double endMileage;
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Suggest.java
@@ -1,6 +1,7 @@
package cn.exrick.xboot.your.entity;
import cn.exrick.xboot.core.base.XbootBaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -12,6 +13,7 @@
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
/**
@@ -40,4 +42,11 @@
    @ApiModelProperty(value = "司机或随车员id")
    private String userId;
    @Transient
    @TableField(exist = false)
    private String name;
    @Transient
    @TableField(exist = false)
    private String title;
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/AddOilMapper.java
@@ -24,4 +24,8 @@
    @Select("SELECT a.*,b.car_no as temp FROM t_add_oil a LEFT JOIN t_car b ON a.car_id=b.id ${ew.customSqlSegment} ")
    @Results({@Result(column="temp", property="carNo", jdbcType = JdbcType.VARCHAR)})
    IPage<AddOil> page2(Page initMpPage, @Param(Constants.WRAPPER) QueryWrapper<AddOil> wrapper);
    @Select("SELECT a.*,b.car_no as temp FROM t_add_oil a LEFT JOIN t_car b ON a.car_id=b.id ${ew.customSqlSegment} ")
    @Results({@Result(column="temp", property="carNo", jdbcType = JdbcType.VARCHAR)})
    List<AddOil> getAddOil(@Param(Constants.WRAPPER) QueryWrapper<AddOil> wrapper);
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/CarMapper.java
@@ -1,5 +1,6 @@
package cn.exrick.xboot.your.mapper;
import cn.exrick.xboot.your.entity.Area;
import cn.exrick.xboot.your.vo.CarVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -24,4 +25,7 @@
    @Select("SELECT a.*,b1.nickname AS temp,b2.nickname AS followNickName FROM t_car a LEFT JOIN t_user AS b1 ON a.user_id = b1.id LEFT JOIN t_user AS b2 ON a.follow_user_id = b2.id ${ew.customSqlSegment} ")
    @Results({@Result(column="temp", property="nickName", jdbcType = JdbcType.VARCHAR)})
    IPage<Car> page2(Page initMpPage, @Param(Constants.WRAPPER) QueryWrapper<Car> wrapper);
    @Select("SELECT c.*,u.nickname,a.`name` AS area_name FROM t_car c LEFT JOIN t_user AS u ON c.user_id=u.id LEFT JOIN t_area AS a ON a.user_id=u.id")
    List<Car> getAll2();
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/SuggestMapper.java
@@ -1,6 +1,7 @@
package cn.exrick.xboot.your.mapper;
import cn.exrick.xboot.your.entity.CustomerReceive;
import cn.exrick.xboot.your.entity.UserStatistic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.exrick.xboot.your.entity.Suggest;
@@ -20,7 +21,9 @@
 * @author zhangzeli
 */
public interface SuggestMapper extends BaseMapper<Suggest> {
    @Select("SELECT a.*,b.name as temp FROM t_customer_receive a LEFT JOIN t_customer b ON a.customer_id=b.id ${ew.customSqlSegment} ORDER BY a.status ASC,a.create_time DESC")
    @Results({@Result(column="temp", property="customerName", jdbcType = JdbcType.VARCHAR)})
    IPage<CustomerReceive> page2(Page initMpPage, @Param(Constants.WRAPPER) QueryWrapper<CustomerReceive> wrapper);
}
    @Select("SELECT a.*,b.name,c.title as title FROM t_suggest a LEFT JOIN t_customer b ON a.customer_id=b.id LEFT JOIN t_dict_data c ON a.dict_data_id=c.id ${ew.customSqlSegment}")
    @Results({@Result(column="name", property="name", jdbcType = JdbcType.VARCHAR)})
    IPage<Suggest> page2(Page initMpPage, @Param(Constants.WRAPPER) QueryWrapper<Suggest> wrapper);
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IAddOilService.java
@@ -2,9 +2,11 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.exrick.xboot.your.entity.AddOil;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -15,4 +17,6 @@
public interface IAddOilService extends IService<AddOil> {
    IPage<AddOil> page2(Page initMpPage, QueryWrapper<AddOil> wrapper);
    List<AddOil> getAddOil(@Param(Constants.WRAPPER) QueryWrapper<AddOil> wrapper);
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/ICarService.java
@@ -1,5 +1,6 @@
package cn.exrick.xboot.your.service;
import cn.exrick.xboot.your.vo.CarVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,4 +16,6 @@
public interface ICarService extends IService<Car> {
    IPage<Car> page2(Page initMpPage, QueryWrapper<Car> wrapper);
    List<Car> getAll2();
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IAddOilServiceImpl.java
@@ -31,4 +31,9 @@
    public IPage<AddOil> page2(Page initMpPage, QueryWrapper<AddOil> wrapper) {
        return addOilMapper.page2(initMpPage,wrapper);
    }
    @Override
    public List<AddOil> getAddOil(QueryWrapper<AddOil> wrapper) {
        return addOilMapper.getAddOil(wrapper);
    }
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ICarServiceImpl.java
@@ -3,6 +3,7 @@
import cn.exrick.xboot.your.mapper.CarMapper;
import cn.exrick.xboot.your.entity.Car;
import cn.exrick.xboot.your.service.ICarService;
import cn.exrick.xboot.your.vo.CarVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -31,4 +32,9 @@
    public IPage<Car> page2(Page initMpPage, QueryWrapper<Car> wrapper) {
        return carMapper.page2(initMpPage,wrapper);
    }
    @Override
    public List<Car> getAll2() {
        return carMapper.getAll2();
    }
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISuggestServiceImpl.java
@@ -29,6 +29,6 @@
    @Override
    public IPage<Suggest> page2(Page initMpPage, QueryWrapper<Suggest> wrapper) {
        return null;
        return suggestMapper.page2(initMpPage,wrapper);
    }
}
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/vo/CarVo.java
New file
@@ -0,0 +1,19 @@
package cn.exrick.xboot.your.vo;
import cn.exrick.xboot.your.entity.Car;
import lombok.Data;
@Data
public class CarVo {
    private Car car;
    private double beginMileage;
    private double endMileage;
    private double money;
    private double oilWear;
}
xboot-modules/xboot-your/src/main/resources/mapper/SuggestMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.exrick.xboot.your.mapper.SuggestMapper">
</mapper>