From 9e91ae67150c35278b69457e5a9b839851af0890 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 18 八月 2025 22:49:56 +0800 Subject: [PATCH] 8.18 --- DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java | 129 ++++++++++++++++++++++-------------------- 1 files changed, 67 insertions(+), 62 deletions(-) diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java index 67090e1..a0fe981 100644 --- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java +++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java @@ -464,73 +464,78 @@ OrderCrossCity tOrderCrossCity = orderCrossCityService.selectById(tReassign.getOrderId()); Driver oldDriver = driverService.selectById(tReassign.getOriginalDriverId()); LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(tOrderCrossCity.getLineShiftDriverId()); - lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + tOrderCrossCity.getPeopleNumber() > lineShiftDriver.getTotalSeat() ? - lineShiftDriver.getTotalSeat() : lineShiftDriver.getLaveSeat() + tOrderCrossCity.getPeopleNumber()); - String seat = ""; - String[] split = tOrderCrossCity.getSeatNumber().split(","); - for(String s : split){ - seat += s + ","; - } - seat = lineShiftDriver.getLaveSeatNumber() + "," + seat.substring(0, seat.length() - 1); + if(lineShiftDriver!=null){ + lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + tOrderCrossCity.getPeopleNumber() > lineShiftDriver.getTotalSeat() ? + lineShiftDriver.getTotalSeat() : lineShiftDriver.getLaveSeat() + tOrderCrossCity.getPeopleNumber()); - //总和大于总座位数的情况 - if(lineShiftDriver.getLaveSeat() + tOrderCrossCity.getPeopleNumber() > lineShiftDriver.getTotalSeat()){ - seat = ""; - for(int i = 1; i <= lineShiftDriver.getTotalSeat(); i++){ - seat += i + ","; + + String seat = ""; + String[] split = tOrderCrossCity.getSeatNumber().split(","); + for(String s : split){ + seat += s + ","; } - seat = seat.substring(0, seat.length() - 1); - } - lineShiftDriver.setLaveSeatNumber(seat); - lineShiftDriverMapper.updateById(lineShiftDriver); - if(lineShiftDriver.getLaveSeat() >= lineShiftDriver.getTotalSeat()){ - oldDriver.setState(2); - driverService.updateById(oldDriver); - } + seat = lineShiftDriver.getLaveSeatNumber() + "," + seat.substring(0, seat.length() - 1); - //修改新司机数据 - List<LineShiftDriver> query = lineShiftDriverMapper.queryByDriver(lineShiftDriver.getLineShiftId(), driverId, tOrderCrossCity.getTravelTime()); - LineShiftDriver lineShiftDriver1 = null; + //总和大于总座位数的情况 + if(lineShiftDriver.getLaveSeat() + tOrderCrossCity.getPeopleNumber() > lineShiftDriver.getTotalSeat()){ + seat = ""; + for(int i = 1; i <= lineShiftDriver.getTotalSeat(); i++){ + seat += i + ","; + } + seat = seat.substring(0, seat.length() - 1); + } + lineShiftDriver.setLaveSeatNumber(seat); + lineShiftDriverMapper.updateById(lineShiftDriver); + if(lineShiftDriver.getLaveSeat() >= lineShiftDriver.getTotalSeat()){ + oldDriver.setState(2); + driverService.updateById(oldDriver); + } - if(query.size() == 0){ + //修改新司机数据 + List<LineShiftDriver> query = lineShiftDriverMapper.queryByDriver(lineShiftDriver.getLineShiftId(), driverId, tOrderCrossCity.getTravelTime()); + LineShiftDriver lineShiftDriver1 = null; + + if(query.size() == 0){ // return ResultUtil.error("司机没有预约班次"); - CarModel carModel = carModelMapper.selectById(carService.selectById(driverService.selectById(driverId).getCarId()).getCarModelId()); + CarModel carModel = carModelMapper.selectById(carService.selectById(driverService.selectById(driverId).getCarId()).getCarModelId()); - LineShiftDriver lineShiftDriver0 = new LineShiftDriver(); - lineShiftDriver0.setLineShiftId(lineShiftDriver.getLineShiftId()); - lineShiftDriver0.setDriverId(driverId); - lineShiftDriver0.setDay(lineShiftDriver.getDay()); - lineShiftDriver0.setTotalSeat(carModel.getSeat() - 1); - lineShiftDriver0.setLaveSeat(carModel.getSeat() - 1); - lineShiftDriver0.setInserTime(new Date()); - String seatNumber = ""; - for(int i = 1; i < carModel.getSeat(); i++){ - seatNumber += i + ","; + LineShiftDriver lineShiftDriver0 = new LineShiftDriver(); + lineShiftDriver0.setLineShiftId(lineShiftDriver.getLineShiftId()); + lineShiftDriver0.setDriverId(driverId); + lineShiftDriver0.setDay(lineShiftDriver.getDay()); + lineShiftDriver0.setTotalSeat(carModel.getSeat() - 1); + lineShiftDriver0.setLaveSeat(carModel.getSeat() - 1); + lineShiftDriver0.setInserTime(new Date()); + String seatNumber = ""; + for(int i = 1; i < carModel.getSeat(); i++){ + seatNumber += i + ","; + } + lineShiftDriver0.setLaveSeatNumber(seatNumber.substring(0, seatNumber.length() - 1)); + + Integer insert = lineShiftDriverMapper.insert(lineShiftDriver0); + lineShiftDriver1 = lineShiftDriver0; + + }else { + lineShiftDriver1 = query.get(0); + } - lineShiftDriver0.setLaveSeatNumber(seatNumber.substring(0, seatNumber.length() - 1)); + if(lineShiftDriver1.getLaveSeat() < tOrderCrossCity.getPeopleNumber()){ + return ResultUtil.runErr("司机车辆剩余座位数不足"); + } + lineShiftDriver1.setLaveSeat(lineShiftDriver1.getLaveSeat() - tOrderCrossCity.getPeopleNumber()); + String[] split1 = lineShiftDriver1.getLaveSeatNumber().split(","); + String seat1 = "";//使用 + String seat2 = "";//未使用 + for(int i = 0; i < tOrderCrossCity.getPeopleNumber(); i++){ + seat1 += split1[i] + ","; + } + for(int i = tOrderCrossCity.getPeopleNumber(); i < split1.length; i++){ + seat2 += split1[i] + ","; + } + lineShiftDriver1.setLaveSeatNumber(seat2); + lineShiftDriverMapper.updateById(lineShiftDriver1); + } - Integer insert = lineShiftDriverMapper.insert(lineShiftDriver0); - lineShiftDriver1 = lineShiftDriver0; - - }else { - lineShiftDriver1 = query.get(0); - - } - if(lineShiftDriver1.getLaveSeat() < tOrderCrossCity.getPeopleNumber()){ - return ResultUtil.runErr("司机车辆剩余座位数不足"); - } - lineShiftDriver1.setLaveSeat(lineShiftDriver1.getLaveSeat() - tOrderCrossCity.getPeopleNumber()); - String[] split1 = lineShiftDriver1.getLaveSeatNumber().split(","); - String seat1 = "";//使用 - String seat2 = "";//未使用 - for(int i = 0; i < tOrderCrossCity.getPeopleNumber(); i++){ - seat1 += split1[i] + ","; - } - for(int i = tOrderCrossCity.getPeopleNumber(); i < split1.length; i++){ - seat2 += split1[i] + ","; - } - lineShiftDriver1.setLaveSeatNumber(seat2); - lineShiftDriverMapper.updateById(lineShiftDriver1); Driver driver = driverService.selectById(driverId); // if(driver.getState() == 1){ // return ResultUtil.error("司机还未上班呢"); @@ -542,9 +547,9 @@ //修改订单数据 tOrderCrossCity.setDriverId(driverId); tOrderCrossCity.setCarId(driver.getCarId()); - tOrderCrossCity.setSeatNumber(seat1); +// tOrderCrossCity.setSeatNumber(seat1); tOrderCrossCity.setState(tOrderCrossCity.getOldState()); - tOrderCrossCity.setLineShiftDriverId(lineShiftDriver1.getId()); +// tOrderCrossCity.setLineShiftDriverId(lineShiftDriver1.getId()); tOrderCrossCity.setOldState(null); tOrderCrossCity.setIsReassign(2); try { @@ -553,7 +558,7 @@ e.printStackTrace(); } orderCrossCityService.updateAllColumnById(tOrderCrossCity); - + oldDriver.setState(2); //修改专车改派订单 tReassign.setNowDriverId(driverId); tReassign.setNowCarId(driver.getCarId()); -- Gitblit v1.7.1