electripper-v2/ruoyi-web/src/main/java/com/ruoyi/web/app/AppFaultController.java

93 lines
3.1 KiB
Java
Raw Normal View History

2025-03-26 18:15:56 +08:00
package com.ruoyi.web.app;
2025-03-28 12:42:23 +08:00
import com.ruoyi.bst.device.domain.DeviceVO;
import com.ruoyi.bst.device.service.DeviceService;
import com.ruoyi.bst.fault.domain.Fault;
import com.ruoyi.bst.fault.domain.FaultQuery;
2025-03-27 07:32:13 +08:00
import com.ruoyi.bst.fault.domain.FaultVO;
2025-03-28 16:21:17 +08:00
import com.ruoyi.bst.fault.domain.enums.FaultHandleStatus;
import com.ruoyi.bst.fault.domain.enums.FaultStatus;
2025-03-26 18:15:56 +08:00
import com.ruoyi.bst.fault.service.FaultService;
2025-03-28 12:42:23 +08:00
import com.ruoyi.bst.order.service.OrderService;
2025-03-27 21:50:48 +08:00
import com.ruoyi.common.core.controller.BaseController;
2025-03-26 18:15:56 +08:00
import com.ruoyi.common.core.domain.AjaxResult;
2025-03-28 16:21:17 +08:00
import com.ruoyi.common.core.page.TableDataInfo;
2025-03-27 07:32:13 +08:00
import com.ruoyi.common.utils.SecurityUtils;
2025-03-26 18:15:56 +08:00
import org.springframework.beans.factory.annotation.Autowired;
2025-03-28 12:42:23 +08:00
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
2025-03-26 18:15:56 +08:00
2025-03-27 07:32:13 +08:00
/**
2025-03-28 12:42:23 +08:00
* 故障申报前台
2025-03-27 07:32:13 +08:00
*/
2025-03-26 18:15:56 +08:00
@RestController
2025-03-27 07:32:13 +08:00
@RequestMapping("/app/fault")
2025-03-27 21:50:48 +08:00
public class AppFaultController extends BaseController {
2025-03-26 18:15:56 +08:00
@Autowired
private FaultService faultService;
2025-03-27 07:32:13 +08:00
2025-03-28 12:42:23 +08:00
@Autowired
private DeviceService deviceService;
@Autowired
private OrderService orderService;
/**
* 新增
* @param fault
* @return
*/
@PostMapping
public AjaxResult add(@RequestBody Fault fault) {
faultService.insertFault(fault);
return success();
}
2025-03-28 16:21:17 +08:00
@PutMapping
public AjaxResult update(@RequestBody Fault fault) {
FaultVO faultVO = faultService.selectFaultById(fault.getId());
if (faultVO.getAppealStatus().equals(FaultStatus.PENGDING.getCode()) && fault.getHandle().equals(FaultHandleStatus.REJECTED.getCode())) {
faultVO.setAppealStatus(FaultStatus.REJECTED.getCode());
}else
if (faultVO.getAppealStatus().equals(FaultStatus.PENGDING.getCode()) && fault.getHandle().equals(FaultHandleStatus.DO.getCode())) {
faultVO.setAppealStatus(FaultStatus.REPAIRING.getCode());
}else
if (faultVO.getAppealStatus().equals(FaultStatus.REPAIRING.getCode()) && fault.getHandle().equals(FaultHandleStatus.DO.getCode())) {
faultVO.setAppealStatus(FaultStatus.COMPLETED.getCode());
}
faultService.updateFault(faultVO);
return success();
}
/**
* 历史申报查询
* @param query
* @return
*/
2025-03-28 12:42:23 +08:00
@GetMapping
2025-03-28 16:21:17 +08:00
public TableDataInfo get(FaultQuery query) {
startPage();
2025-03-28 12:42:23 +08:00
query.setUserId(getUserId());
List<FaultVO> list = faultService.selectFaultList(query);
List<FaultVO> validList = new ArrayList<>();
list.forEach(faultVO -> {
DeviceVO deviceVO = deviceService.selectDeviceBySn(faultVO.getVehicleCode());
2025-03-28 16:21:17 +08:00
// 查询的设备不能为空
2025-03-28 12:42:23 +08:00
if (deviceVO == null){
return;
}
Long orderId = deviceVO.getOrderId();
LocalDateTime orderEndTime = orderService.selectOrderById(orderId).getEndTime();
faultVO.setOrderEndTime(orderEndTime);
validList.add(faultVO);
});
2025-03-28 16:21:17 +08:00
return getDataTable(validList);
2025-03-27 07:32:13 +08:00
}
2025-03-26 18:15:56 +08:00
}