巡检完成

This commit is contained in:
attiya 2025-12-05 17:35:30 +08:00
parent c5a730fe66
commit 04b9deccee
5 changed files with 66 additions and 25 deletions

View File

@ -9,10 +9,7 @@ import com.cdzy.operations.model.dto.EbikeBikeOrderInfoDto;
import com.cdzy.operations.model.dto.EbikeOrderBikeListDto; import com.cdzy.operations.model.dto.EbikeOrderBikeListDto;
import com.cdzy.operations.model.dto.EbikeBikeOrderPageDto; import com.cdzy.operations.model.dto.EbikeBikeOrderPageDto;
import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto; import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto;
import com.cdzy.operations.model.vo.EbikeBatteryChangeVo; import com.cdzy.operations.model.vo.*;
import com.cdzy.operations.model.vo.EbikeBatteryClaimReturnVo;
import com.cdzy.operations.model.vo.FaultOrderVo;
import com.cdzy.operations.model.vo.InspectionSwapOrderVo;
import com.cdzy.operations.service.EbikeBikeOrderService; import com.cdzy.operations.service.EbikeBikeOrderService;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
@ -119,16 +116,16 @@ public class EbikeBikeOrderController {
return JsonResult.success(); return JsonResult.success();
} }
// /** /**
// * 完成巡检工单 * 完成巡检工单
// * *
// * @return 结果 * @return 结果
// */ */
// @PostMapping("doInspection") @PostMapping("doInspection")
// public JsonResult<?> doInspection() { public JsonResult<?> doInspection(@RequestBody @Validated DoneInspectionVo inspectionVo) {
// ebikeBikeOrderService.doInspection(inspectionSwapOrderVo); ebikeBikeOrderService.doInspection(inspectionVo);
// return JsonResult.success(); return JsonResult.success();
// } }
/** /**
* 生成调度工单 * 生成调度工单
@ -252,7 +249,7 @@ public class EbikeBikeOrderController {
* @return 操作结果 * @return 操作结果
*/ */
@GetMapping("bikeInfo") @GetMapping("bikeInfo")
public JsonResult<EbikeOrderBikeInfoDto> bikeInfo(@RequestParam("bikeCode") String bikeCode) { public JsonResult<EbikeOrderBikeInfoDto> bikeInfo(@RequestParam("bikeCode") String bikeCode) throws IOException {
EbikeOrderBikeInfoDto info = ebikeBikeOrderService.bikeInfo(bikeCode); EbikeOrderBikeInfoDto info = ebikeBikeOrderService.bikeInfo(bikeCode);
return JsonResult.success(info); return JsonResult.success(info);
} }

View File

@ -126,4 +126,9 @@ public class EbikeOrderBikeInfoDto implements Serializable {
*/ */
private LocalDateTime latestTime; private LocalDateTime latestTime;
/**
* 是否在线
*/
private Boolean online;
} }

View File

@ -0,0 +1,32 @@
package com.cdzy.operations.model.vo;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author attiya
* @since 2025-11-26
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DoneInspectionVo {
@NotNull(message = "车辆编号不能为空")
private String bikeCode;
private List<String> beforeInspectionFileUrls;
private List<String> afterInspectionFileUrls;
@NotNull(message = "是否上报故障不能为空")
private Boolean isFault;
private String remarks;
}

View File

@ -4,10 +4,7 @@ import com.cdzy.operations.model.dto.EbikeBikeOrderInfoDto;
import com.cdzy.operations.model.dto.EbikeOrderBikeListDto; import com.cdzy.operations.model.dto.EbikeOrderBikeListDto;
import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto; import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto;
import com.cdzy.operations.model.entity.EbikeBikeOrder; import com.cdzy.operations.model.entity.EbikeBikeOrder;
import com.cdzy.operations.model.vo.EbikeBatteryChangeVo; import com.cdzy.operations.model.vo.*;
import com.cdzy.operations.model.vo.EbikeBatteryClaimReturnVo;
import com.cdzy.operations.model.vo.FaultOrderVo;
import com.cdzy.operations.model.vo.InspectionSwapOrderVo;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -97,7 +94,7 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
* @param bikeCode 车辆编号 * @param bikeCode 车辆编号
* @return 详情 * @return 详情
*/ */
EbikeOrderBikeInfoDto bikeInfo(String bikeCode); EbikeOrderBikeInfoDto bikeInfo(String bikeCode) throws IOException;
/** /**
* 获取车辆列表 * 获取车辆列表
@ -112,4 +109,10 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
* @param siteId 站点ID * @param siteId 站点ID
*/ */
void bikeDispatch(String bikeCode, Long siteId); void bikeDispatch(String bikeCode, Long siteId);
/**
* 完成巡检
* @param inspectionVo 巡检信息
*/
void doInspection(DoneInspectionVo inspectionVo);
} }

View File

@ -10,10 +10,7 @@ import com.cdzy.operations.model.dto.EbikeBikeOrderInfoDto;
import com.cdzy.operations.model.dto.EbikeOrderBikeListDto; import com.cdzy.operations.model.dto.EbikeOrderBikeListDto;
import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto; import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto;
import com.cdzy.operations.model.entity.*; import com.cdzy.operations.model.entity.*;
import com.cdzy.operations.model.vo.EbikeBatteryChangeVo; import com.cdzy.operations.model.vo.*;
import com.cdzy.operations.model.vo.EbikeBatteryClaimReturnVo;
import com.cdzy.operations.model.vo.FaultOrderVo;
import com.cdzy.operations.model.vo.InspectionSwapOrderVo;
import com.cdzy.operations.service.EbikeBikeOrderService; import com.cdzy.operations.service.EbikeBikeOrderService;
import com.cdzy.operations.utils.EmqxApiClient; import com.cdzy.operations.utils.EmqxApiClient;
import com.cdzy.operations.utils.GeoCodingUtil; import com.cdzy.operations.utils.GeoCodingUtil;
@ -384,7 +381,7 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
} }
@Override @Override
public EbikeOrderBikeInfoDto bikeInfo(String bikeCode) { public EbikeOrderBikeInfoDto bikeInfo(String bikeCode) throws IOException {
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
.select(EBIKE_BIKE_INFO.BIKE_INFO_ID, EBIKE_BIKE_INFO.LOCATION, EBIKE_BIKE_INFO.USAGE_STATUS, EBIKE_BIKE_INFO.LATEST_CYCLING_TIME, EBIKE_ECU_INFO.ECU_SN) .select(EBIKE_BIKE_INFO.BIKE_INFO_ID, EBIKE_BIKE_INFO.LOCATION, EBIKE_BIKE_INFO.USAGE_STATUS, EBIKE_BIKE_INFO.LATEST_CYCLING_TIME, EBIKE_ECU_INFO.ECU_SN)
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode)) .where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))
@ -415,6 +412,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
bikeInfo.setSpeed(resGPSDto.getSpeed()); bikeInfo.setSpeed(resGPSDto.getSpeed());
bikeInfo.setLatestTime(resGPSDto.getLatestTime()); bikeInfo.setLatestTime(resGPSDto.getLatestTime());
String locationToAddress = geoCodingUtil.getLocationToAddress(resGPSDto.getLongitude(), resGPSDto.getLatitude()); String locationToAddress = geoCodingUtil.getLocationToAddress(resGPSDto.getLongitude(), resGPSDto.getLatitude());
boolean online = EmqxApiClient.isClientOnline(bikeInfo.getEcuSn());
bikeInfo.setOnline(online);
bikeInfo.setChineseLocation(locationToAddress); bikeInfo.setChineseLocation(locationToAddress);
return bikeInfo; return bikeInfo;
} }
@ -500,6 +499,11 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
} }
@Override
public void doInspection(DoneInspectionVo inspectionVo) {
}
EbikeBikeInfo checkBikeCode(String bikeCode) { EbikeBikeInfo checkBikeCode(String bikeCode) {
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode)) .where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))