Commit 3ecbbbec authored by youjj's avatar youjj

车辆出车相关修改

parent 1007a052
...@@ -121,6 +121,7 @@ public class VehicleActiveService { ...@@ -121,6 +121,7 @@ public class VehicleActiveService {
departureLog.setMileageEnd(arrivalVo.getMileage()); departureLog.setMileageEnd(arrivalVo.getMileage());
departureLog.setRecycleMan(arrivalVo.getRecycleMan()); departureLog.setRecycleMan(arrivalVo.getRecycleMan());
departureLog.setRecycleManTel(arrivalVo.getRecycleManTel()); departureLog.setRecycleManTel(arrivalVo.getRecycleManTel());
departureLog.setArrivalBranchCompanyId(arrivalVo.getArrivalBranchCompanyId());
departureLog.setUpdateTime(new Date()); departureLog.setUpdateTime(new Date());
departureLog.setArrivalTime(new Date()); departureLog.setArrivalTime(new Date());
departureLog.setState(VehicleDepartureState.END.getCode()); departureLog.setState(VehicleDepartureState.END.getCode());
......
...@@ -2,8 +2,14 @@ package com.xinxincaravan.caravan.vehicle.biz; ...@@ -2,8 +2,14 @@ package com.xinxincaravan.caravan.vehicle.biz;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.Vehicle;
import com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog;
import com.xinxincaravan.caravan.vehicle.mapper.VehicleDepartureLogMapper; import com.xinxincaravan.caravan.vehicle.mapper.VehicleDepartureLogMapper;
import com.xinxincaravan.caravan.vehicle.mapper.VehicleMapper;
import com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureLogVo; import com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureLogVo;
import com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureStatisticDataVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -13,6 +19,9 @@ public class VehicleDepartureService { ...@@ -13,6 +19,9 @@ public class VehicleDepartureService {
@Autowired @Autowired
VehicleDepartureLogMapper vehicleDepartureLogMapper; VehicleDepartureLogMapper vehicleDepartureLogMapper;
@Autowired
VehicleMapper vehicleMapper;
public PageInfo<VehicleDepartureLogVo> page(String numberPlate, Integer page, Integer limit) { public PageInfo<VehicleDepartureLogVo> page(String numberPlate, Integer page, Integer limit) {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
return new PageInfo<>(vehicleDepartureLogMapper.selectVoAll(numberPlate)); return new PageInfo<>(vehicleDepartureLogMapper.selectVoAll(numberPlate));
...@@ -22,4 +31,23 @@ public class VehicleDepartureService { ...@@ -22,4 +31,23 @@ public class VehicleDepartureService {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
return new PageInfo<>(vehicleDepartureLogMapper.selectByVehicleId(vehicleId)); return new PageInfo<>(vehicleDepartureLogMapper.selectByVehicleId(vehicleId));
} }
public VehicleDepartureStatisticDataVo statistic(String numberPlate) {
Vehicle vehicle = vehicleMapper.selectByNumberPlate(numberPlate);
if (vehicle == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode());
}
VehicleDepartureStatisticDataVo statisticData = new VehicleDepartureStatisticDataVo();
// 出行次数
VehicleDepartureLog departureLog = new VehicleDepartureLog();
departureLog.setVehicleId(vehicle.getId());
statisticData.setDepartureCount(vehicleDepartureLogMapper.selectCount(departureLog));
// 出行天数
statisticData.setDepartureDay(vehicleDepartureLogMapper.selectDayByVehicleId(vehicle.getId()));
// 出行公里数
statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId()));
return statisticData;
}
} }
...@@ -65,7 +65,18 @@ public class VehicleDepartureLog { ...@@ -65,7 +65,18 @@ public class VehicleDepartureLog {
* 出车结束的公里数 * 出车结束的公里数
*/ */
Integer mileageEnd; Integer mileageEnd;
/**
* 出车分公司
*/
Integer departureBranchCompanyId;
/**
* 预计还车分公司
*/
Integer expectArrivalBranchCompanyId;
/**
* 还车分公司
*/
Integer arrivalBranchCompanyId;
Date createTime; Date createTime;
Date updateTime; Date updateTime;
......
...@@ -14,4 +14,8 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo ...@@ -14,4 +14,8 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo
List<VehicleDepartureLogVo> selectByVehicleId(String vehicleId); List<VehicleDepartureLogVo> selectByVehicleId(String vehicleId);
List<VehicleDepartureLogVo> selectVoAll(@Param("numberPlate") String numberPlate); List<VehicleDepartureLogVo> selectVoAll(@Param("numberPlate") String numberPlate);
Integer selectMileageByVehicleId(String vehicleId);
Integer selectDayByVehicleId(String vehicleId);
} }
...@@ -24,4 +24,6 @@ public interface VehicleMapper extends Mapper<Vehicle> { ...@@ -24,4 +24,6 @@ public interface VehicleMapper extends Mapper<Vehicle> {
int updateStatusByIdAndStatus(@Param("vehicleId") String vehicleId, @Param("status") Integer status, int updateStatusByIdAndStatus(@Param("vehicleId") String vehicleId, @Param("status") Integer status,
@Param("lastStatus") Integer lastStatus); @Param("lastStatus") Integer lastStatus);
Vehicle selectByNumberPlate(String numberPlate);
} }
\ No newline at end of file
...@@ -3,10 +3,7 @@ package com.xinxincaravan.caravan.vehicle.rest; ...@@ -3,10 +3,7 @@ package com.xinxincaravan.caravan.vehicle.rest;
import com.xinxincaravan.caravan.vehicle.biz.VehicleActiveService; import com.xinxincaravan.caravan.vehicle.biz.VehicleActiveService;
import com.xinxincaravan.caravan.vehicle.common.RestResponse; import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode; import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.vo.VehicleArrivalVo; import com.xinxincaravan.caravan.vehicle.vo.*;
import com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureVo;
import com.xinxincaravan.caravan.vehicle.vo.VehicleUpkeepEndVo;
import com.xinxincaravan.caravan.vehicle.vo.VehicleUpkeepVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -31,7 +28,8 @@ public class VehicleActiveController { ...@@ -31,7 +28,8 @@ public class VehicleActiveController {
@PostMapping("departure") @PostMapping("departure")
public RestResponse departure(@RequestBody VehicleDepartureVo departureVo) { public RestResponse departure(@RequestBody VehicleDepartureVo departureVo) {
if (departureVo == null || departureVo.getVehicleId() == null if (departureVo == null || departureVo.getVehicleId() == null
|| departureVo.getMileage() == null) { || departureVo.getMileage() == null || departureVo.getDepartureBranchCompanyId() == null
|| departureVo.getExpectArrivalBranchCompanyId() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(), return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc()); ResCode.INVALID_REST_REQ_PARAM.getDesc());
} }
...@@ -41,6 +39,7 @@ public class VehicleActiveController { ...@@ -41,6 +39,7 @@ public class VehicleActiveController {
/** /**
* 还车 * 还车
*
* @param arrivalVo * @param arrivalVo
* @return * @return
*/ */
...@@ -57,6 +56,7 @@ public class VehicleActiveController { ...@@ -57,6 +56,7 @@ public class VehicleActiveController {
/** /**
* 保养 * 保养
*
* @param vehicleUpkeepVo * @param vehicleUpkeepVo
* @return * @return
*/ */
...@@ -77,6 +77,7 @@ public class VehicleActiveController { ...@@ -77,6 +77,7 @@ public class VehicleActiveController {
/** /**
* 保养结束 * 保养结束
*
* @param vehicleUpkeepEndVo * @param vehicleUpkeepEndVo
* @return * @return
*/ */
...@@ -92,17 +93,20 @@ public class VehicleActiveController { ...@@ -92,17 +93,20 @@ public class VehicleActiveController {
/** /**
* 维修 * 维修
*
* @return * @return
*/ */
public RestResponse fix() { public RestResponse repair(@RequestBody VehicleRepairVo vehicleRepairVo) {
return RestResponse.suc(); return RestResponse.suc();
} }
/** /**
* 维修结束 * 维修结束
*
* @return * @return
*/ */
public RestResponse fixEnd() { public RestResponse repairEnd() {
return RestResponse.suc(); return RestResponse.suc();
} }
......
...@@ -39,5 +39,14 @@ public class VehicleDepartureController { ...@@ -39,5 +39,14 @@ public class VehicleDepartureController {
return RestResponse.suc(vehicleDepartureService.findByVehicle(vehicleId, page, limit)); return RestResponse.suc(vehicleDepartureService.findByVehicle(vehicleId, page, limit));
} }
@GetMapping("statistic")
public RestResponse statistic(String numberPlate) {
if (numberPlate == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
return RestResponse.suc(vehicleDepartureService.statistic(numberPlate));
}
} }
...@@ -22,5 +22,9 @@ public class VehicleArrivalVo { ...@@ -22,5 +22,9 @@ public class VehicleArrivalVo {
* 公里数 * 公里数
*/ */
Integer mileage; Integer mileage;
/**
* 还车分公司id
*/
Integer arrivalBranchCompanyId;
} }
package com.xinxincaravan.caravan.vehicle.vo;
import lombok.Data;
/**
* 车辆出车统计数据
*/
@Data
public class VehicleDepartureStatisticDataVo {
/**
* 出车次数
*/
Integer departureCount;
/**
* 出车天数
*/
Integer departureDay;
/**
* 出车公里数
*/
Integer departureMileage;
}
...@@ -12,6 +12,10 @@ public class VehicleDepartureVo { ...@@ -12,6 +12,10 @@ public class VehicleDepartureVo {
* 车辆ID * 车辆ID
*/ */
String vehicleId; String vehicleId;
/**
* 出车分公司id
*/
Integer departureBranchCompanyId;
/** /**
* 用途 * 用途
*/ */
...@@ -36,5 +40,9 @@ public class VehicleDepartureVo { ...@@ -36,5 +40,9 @@ public class VehicleDepartureVo {
* 公里数 * 公里数
*/ */
Integer mileage; Integer mileage;
/**
* 预计还车分公司id
*/
Integer expectArrivalBranchCompanyId;
} }
package com.xinxincaravan.caravan.vehicle.vo;
import lombok.Data;
/**
* 车辆维修
*/
@Data
public class VehicleRepairVo {
Integer branchCompanyId;
String branchCompanyName;
String operator;
String repairContent;
}
...@@ -21,11 +21,21 @@ ...@@ -21,11 +21,21 @@
from vehicle_departure_log from vehicle_departure_log
left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id
<trim prefix="where"> <trim prefix="where">
<if test="numberPlate != null"> <if test="numberPlate != null and numberPlate != ''">
vehicle.number_plate = #{numberPlate} vehicle.number_plate = #{numberPlate}
</if> </if>
</trim> </trim>
order by create_time desc order by create_time desc
</select> </select>
<select id="selectMileageByVehicleId" resultType="int">
select sum(mileage_end - mileage_start)
from vehicle_departure_log
where vehicle_id = #{vehicleId};
</select>
<select id="selectDayByVehicleId" resultType="int">
select sum(to_days(arrival_time) - to_days(departure_time))
from vehicle_departure_log
where vehicle_id = #{vehicleId};
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -111,6 +111,10 @@ ...@@ -111,6 +111,10 @@
`code` = #{code} `code` = #{code}
for update for update
</select> </select>
<select id="selectByNumberPlate" resultType="com.xinxincaravan.caravan.vehicle.entity.Vehicle">
select * from vehicle
where number_plate = #{numberPlate}
</select>
<update id="updateStatusByIdAndStatus"> <update id="updateStatusByIdAndStatus">
update vehicle update vehicle
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment