New file |
| | |
| | | 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删除数据成功"); |
| | | } |
| | | |
| | | } |