巡检完成

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.EbikeBikeOrderPageDto;
import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto;
import com.cdzy.operations.model.vo.EbikeBatteryChangeVo;
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.model.vo.*;
import com.cdzy.operations.service.EbikeBikeOrderService;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
@ -119,16 +116,16 @@ public class EbikeBikeOrderController {
return JsonResult.success();
}
// /**
// * 完成巡检工单
// *
// * @return 结果
// */
// @PostMapping("doInspection")
// public JsonResult<?> doInspection() {
// ebikeBikeOrderService.doInspection(inspectionSwapOrderVo);
// return JsonResult.success();
// }
/**
* 完成巡检工单
*
* @return 结果
*/
@PostMapping("doInspection")
public JsonResult<?> doInspection(@RequestBody @Validated DoneInspectionVo inspectionVo) {
ebikeBikeOrderService.doInspection(inspectionVo);
return JsonResult.success();
}
/**
* 生成调度工单
@ -252,7 +249,7 @@ public class EbikeBikeOrderController {
* @return 操作结果
*/
@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);
return JsonResult.success(info);
}

View File

@ -126,4 +126,9 @@ public class EbikeOrderBikeInfoDto implements Serializable {
*/
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.EbikeOrderBikeInfoDto;
import com.cdzy.operations.model.entity.EbikeBikeOrder;
import com.cdzy.operations.model.vo.EbikeBatteryChangeVo;
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.model.vo.*;
import com.mybatisflex.core.service.IService;
import org.springframework.web.multipart.MultipartFile;
@ -97,7 +94,7 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
* @param bikeCode 车辆编号
* @return 详情
*/
EbikeOrderBikeInfoDto bikeInfo(String bikeCode);
EbikeOrderBikeInfoDto bikeInfo(String bikeCode) throws IOException;
/**
* 获取车辆列表
@ -112,4 +109,10 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
* @param siteId 站点ID
*/
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.EbikeOrderBikeInfoDto;
import com.cdzy.operations.model.entity.*;
import com.cdzy.operations.model.vo.EbikeBatteryChangeVo;
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.model.vo.*;
import com.cdzy.operations.service.EbikeBikeOrderService;
import com.cdzy.operations.utils.EmqxApiClient;
import com.cdzy.operations.utils.GeoCodingUtil;
@ -384,7 +381,7 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
}
@Override
public EbikeOrderBikeInfoDto bikeInfo(String bikeCode) {
public EbikeOrderBikeInfoDto bikeInfo(String bikeCode) throws IOException {
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)
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))
@ -415,6 +412,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
bikeInfo.setSpeed(resGPSDto.getSpeed());
bikeInfo.setLatestTime(resGPSDto.getLatestTime());
String locationToAddress = geoCodingUtil.getLocationToAddress(resGPSDto.getLongitude(), resGPSDto.getLatitude());
boolean online = EmqxApiClient.isClientOnline(bikeInfo.getEcuSn());
bikeInfo.setOnline(online);
bikeInfo.setChineseLocation(locationToAddress);
return bikeInfo;
}
@ -500,6 +499,11 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
}
@Override
public void doInspection(DoneInspectionVo inspectionVo) {
}
EbikeBikeInfo checkBikeCode(String bikeCode) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))