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