| | |
| | | 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.Car; |
| | | import cn.exrick.xboot.your.service.ICarService; |
| | | import cn.exrick.xboot.your.entity.*; |
| | | import cn.exrick.xboot.your.service.*; |
| | | 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 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 |
| | |
| | | |
| | | @Autowired |
| | | private ICarService iCarService; |
| | | @Autowired |
| | | private IAddOilService iAddOilService; |
| | | @Autowired |
| | | private IDrivingRecordService iDrivingRecordService; |
| | | @Autowired |
| | | private ICustomerService iCustomerService; |
| | | |
| | | |
| | | @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) |
| | | @ApiOperation(value = "通过id获取") |
| | |
| | | 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,PageVo page) { |
| | | List<CarVo> carVos = new ArrayList<>(); |
| | | |
| | | IPage<Car> list = iCarService.getAll2(PageUtil.initMpPage(page)); |
| | | for (Car car:list.getRecords()){ |
| | | 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",endTime); |
| | | |
| | | QueryWrapper<OrderTask> wrapper1 = new QueryWrapper<>(); |
| | | |
| | | |
| | | wrapper1.eq("car_id",car.getId()); |
| | | wrapper1.ge(beginTime!=null && beginTime!="","send_date",beginTime); |
| | | wrapper1.le(endTime!=null && endTime!="","send_date",endTime); |
| | | |
| | | |
| | | 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); |
| | | carVo.setTotal(list.getTotal()); |
| | | } |
| | | 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(PageVo page) { |
| | | |
| | | IPage<Car> data = iCarService.page(PageUtil.initMpPage(page)); |
| | | 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); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "编辑或更新数据") |
| | | public Result<Car> saveOrUpdate(Car car) { |
| | | |
| | | QueryWrapper<Car> wrapper = new QueryWrapper<>(); |
| | | QueryWrapper<Car> wrapper1 = new QueryWrapper<>(); |
| | | if (!car.getUserId().equals("")){ |
| | | wrapper.eq("user_id",car.getUserId()); |
| | | Car car1 = iCarService.getOne(wrapper); |
| | | if (car1!=null && !car1.getId().equals(car.getId())){ |
| | | return new ResultUtil<Car>().setErrorMsg("该驾驶员已被其他车辆绑定,请先解绑"); |
| | | } |
| | | } |
| | | |
| | | if (!car.getFollowUserId().equals("")){ |
| | | wrapper1.eq("follow_user_id",car.getFollowUserId()); |
| | | Car car1 = iCarService.getOne(wrapper1); |
| | | if (car1!=null && !car1.getId().equals(car.getId())){ |
| | | return new ResultUtil<Car>().setErrorMsg("该配送员已被其他车辆绑定,请先解绑"); |
| | | } |
| | | } |
| | | |
| | | 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) { |