4.23冲刺记录

今日对故障销号模块进行全面测试,发现照片智能审核功能存在误判情况,部分清晰照片被错误驳回;人脸识别技术在某些设备上兼容性较差。针对这些问题,后端优化照片智能审核算法,提高审核准确性;更换兼容性更好的人脸识别 SDK,解决设备兼容性问题。同时,修复了审核超时提醒不及时等其他小问题。​
完成故障销号模块优化后,正式启动巡检验收模块的开发工作,完成数据模型设计,确定巡检项点、设备状态等关键字段,规划了巡检流程与审核逻辑。在设计过程中,对于巡检项点与设备状态的关联关系存在争议,通过组织团队内部讨论,结合业务实际需求,明确了两者的关联方式。明日计划开始编写巡检验收模块的后端接口代码,实现巡检状态变更和任务推送功能。
package com.example.devicemanagesystem.controller;

import com.example.devicemanagesystem.config.ApiResponse;
import com.example.devicemanagesystem.entity.FaultTask;
import com.example.devicemanagesystem.service.FaultTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/api/fault-tasks")
public class FaultTaskController {

@Autowired
private FaultTaskService faultTaskService;

/**
 * 创建故障单
 */
@PostMapping
public ApiResponse<FaultTask> createFaultTask(@RequestBody FaultTask faultTask) {
    return ApiResponse.success(faultTaskService.createFaultTask(faultTask));
}

/**
 * 获取设备的故障单列表
 */
@GetMapping("/device/{deviceId}")
public ApiResponse<List<FaultTask>> getFaultTasksByDevice(@PathVariable Long deviceId) {
    return ApiResponse.success(faultTaskService.getFaultTasksByDeviceId(deviceId));
}

/**
 * 获取故障单详情
 */
@GetMapping("/{id}")
public ApiResponse<FaultTask> getFaultTaskById(@PathVariable Long id) {
    return ApiResponse.success(faultTaskService.getFaultTaskById(id));
}

/**
 * 更新故障单状态
 */
@PutMapping("/{id}/status")
public ApiResponse<Boolean> updateFaultTaskStatus(
        @PathVariable Long id,
        @RequestParam String status
) {
    return ApiResponse.success(faultTaskService.updateFaultTaskStatus(id, status));
}

/**
 * 获取当前用户的待处理故障单
 */
@GetMapping("/pending")
public ApiResponse<List<FaultTask>> getPendingFaultTasks(
        @RequestParam String inspectorId
) {
    return ApiResponse.success(faultTaskService.getPendingFaultTasksByInspector(inspectorId));
}

/**
 * 班组长验收故障单
 */
@PostMapping("/{id}/approve-by-team-leader")
public ApiResponse<Boolean> approveByTeamLeader(
        @PathVariable Long id,
        @RequestBody Map<String, Object> request
) {
    boolean approved = Boolean.parseBoolean(request.getOrDefault("approved", "false").toString());
    String comments = request.getOrDefault("comments", "").toString();

    return ApiResponse.success(faultTaskService.approveByTeamLeader(id, approved, comments));
}
/**
 * 工区长验收故障单
 */
@PostMapping("/{id}/approve-by-section-leader")
public ApiResponse<Boolean> approveBySectionLeader(
        @PathVariable Long id,
        @RequestBody Map<String, Object> request
) {
    boolean approved = Boolean.parseBoolean(request.getOrDefault("approved", "false").toString());
    String comments = request.getOrDefault("comments", "").toString();

    return ApiResponse.success(faultTaskService.approveBySectionLeader(id, approved, comments));
}

/**
 * 主管验收故障单
 */
@PostMapping("/{id}/approve-by-station-leader")
public ApiResponse<Boolean> approveByStationLeader(
        @PathVariable Long id,
        @RequestBody Map<String, Object> request
) {
    boolean approved = Boolean.parseBoolean(request.getOrDefault("approved", "false").toString());
    String comments = request.getOrDefault("comments", "").toString();
    Integer satisfactionScore = request.containsKey("satisfactionScore") ?
            Integer.parseInt(request.get("satisfactionScore").toString()) : null;
    String signature = request.getOrDefault("signature", "").toString();

    return ApiResponse.success(faultTaskService.approveByStationLeader(id, approved, comments, satisfactionScore, signature));
}

/**
 * 根据状态获取故障单列表
 */
@GetMapping("/status/{status}")
public ApiResponse<List<FaultTask>> getFaultTasksByStatus(@PathVariable String status) {
    return ApiResponse.success(faultTaskService.getFaultTasksByStatus(status));
}

}

posted @ 2025-04-23 21:51  李蕊lr  阅读(5)  评论(0)    收藏  举报