优化逻辑

This commit is contained in:
weitang 2025-05-13 16:01:26 +08:00
parent 3085903b88
commit 0afb07f36f
8 changed files with 123 additions and 10 deletions

View File

@ -1,9 +1,17 @@
package com.yfd.platform.modules.algorithm.controller; package com.yfd.platform.modules.algorithm.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yfd.platform.config.ResponseResult;
import com.yfd.platform.modules.algorithm.domain.AlgorithmClass;
import com.yfd.platform.modules.algorithm.service.IAlgorithmClassService;
import com.yfd.platform.modules.auxcontrol.domain.DeviceSignal;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping; import javax.annotation.Resource;
import java.util.List;
import org.springframework.web.bind.annotation.RestController;
/** /**
* <p> * <p>
@ -18,4 +26,47 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/algorithm/algorithm-class") @RequestMapping("/algorithm/algorithm-class")
public class AlgorithmClassController { public class AlgorithmClassController {
@Resource
private IAlgorithmClassService algorithmClassService;
@GetMapping("/getAlgorithmClassList")
@ApiOperation("查询算法分类")
public ResponseResult getAlgorithmClassList() {
List<AlgorithmClass> list =
algorithmClassService.list(new LambdaQueryWrapper<AlgorithmClass>().orderByAsc(AlgorithmClass::getAlgorithmClassCode));
return ResponseResult.successData(list);
}
@PostMapping("/addAlgorithmClass")
@ApiOperation("新增算法分类")
public ResponseResult addAlgorithmClass(@RequestBody AlgorithmClass algorithmClass) {
boolean isOK = algorithmClassService.addAlgorithmClass(algorithmClass);
if (isOK) {
return ResponseResult.success();
} else {
return ResponseResult.error();
}
}
@PostMapping("/updateAlgorithmClass")
@ApiOperation("新增算法分类")
public ResponseResult updateAlgorithmClass(@RequestBody AlgorithmClass algorithmClass) {
boolean isOK = algorithmClassService.updateAlgorithmClass(algorithmClass);
if (isOK) {
return ResponseResult.success();
} else {
return ResponseResult.error();
}
}
@PostMapping("/deleteAlgorithmClass")
@ApiOperation("新增算法分类")
public ResponseResult deleteAlgorithmClass(String id) {
boolean isOK = algorithmClassService.deleteAlgorithmClass(id);
if (isOK) {
return ResponseResult.success();
} else {
return ResponseResult.error();
}
}
} }

View File

@ -32,7 +32,7 @@ public class AlgorithmDevice implements Serializable {
/** /**
* 算法分类id * 算法分类id
*/ */
private String dictionaryId; private String algorithm_id;
/** /**
* 参数id * 参数id

View File

@ -13,4 +13,26 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IAlgorithmClassService extends IService<AlgorithmClass> { public interface IAlgorithmClassService extends IService<AlgorithmClass> {
/**********************************
* 用途说明: 新增算法分类
* 参数说明 algorithmClass 算法分类对象
* 返回值说明: boolean 是否成功
***********************************/
boolean addAlgorithmClass(AlgorithmClass algorithmClass);
/**********************************
* 用途说明: 修改算法分类
* 参数说明 algorithmClass 算法分类对象
* 返回值说明: boolean 是否成功
***********************************/
boolean updateAlgorithmClass(AlgorithmClass algorithmClass);
/**********************************
* 用途说明: 新增算法分类
* 参数说明 id 算法分类Id
* 返回值说明: boolean 是否成功
***********************************/
boolean deleteAlgorithmClass(String id);
} }

View File

@ -17,4 +17,33 @@ import org.springframework.stereotype.Service;
@Service @Service
public class AlgorithmClassServiceImpl extends ServiceImpl<AlgorithmClassMapper, AlgorithmClass> implements IAlgorithmClassService { public class AlgorithmClassServiceImpl extends ServiceImpl<AlgorithmClassMapper, AlgorithmClass> implements IAlgorithmClassService {
/**********************************
* 用途说明: 新增算法分类
* 参数说明 algorithmClass
* 返回值说明: boolean是否成功
***********************************/
@Override
public boolean addAlgorithmClass(AlgorithmClass algorithmClass) {
return this.saveOrUpdate(algorithmClass);
}
/**********************************
* 用途说明: 修改算法分类
* 参数说明 algorithmClass 算法分类对象
* 返回值说明: boolean 是否成功
***********************************/
@Override
public boolean updateAlgorithmClass(AlgorithmClass algorithmClass) {
return this.saveOrUpdate(algorithmClass);
}
/**********************************
* 用途说明: 新增算法分类
* 参数说明 id 算法分类Id
* 返回值说明: boolean 是否成功
***********************************/
@Override
public boolean deleteAlgorithmClass(String id) {
return this.removeById(id);
}
} }

View File

@ -47,6 +47,7 @@ public class DeviceWorkDataController {
return ResponseResult.successData(deviceWorkDataPage); return ResponseResult.successData(deviceWorkDataPage);
} }
@GetMapping("/getDeviceWorkData") @GetMapping("/getDeviceWorkData")
@ApiOperation("查询变电站设备运行数据") @ApiOperation("查询变电站设备运行数据")
public ResponseResult getDeviceWorkData(String stationId) { public ResponseResult getDeviceWorkData(String stationId) {
@ -54,6 +55,8 @@ public class DeviceWorkDataController {
return ResponseResult.successData(map); return ResponseResult.successData(map);
} }
public Map<String, Object> processDeviceData(List<DeviceWorkData> deviceWorkDataList, String signalId) { public Map<String, Object> processDeviceData(List<DeviceWorkData> deviceWorkDataList, String signalId) {
// 生成过去60分钟的分钟时间槽 // 生成过去60分钟的分钟时间槽
LocalDateTime now = LocalDateTime.now().truncatedTo(ChronoUnit.MINUTES); LocalDateTime now = LocalDateTime.now().truncatedTo(ChronoUnit.MINUTES);

View File

@ -245,7 +245,10 @@ public class SubstationDevice implements Serializable {
*/ */
private String effectiveArea; private String effectiveArea;
/**
* 声纹装置的录制时长当前点位选中声纹装置时需要维护该字段单位
*/
private String duration;
/** /**
* 声纹设备缺陷类型声纹缺陷list集合采用","分隔 * 声纹设备缺陷类型声纹缺陷list集合采用","分隔
*/ */

View File

@ -125,7 +125,7 @@ public interface TaskResultMapper extends BaseMapper<TaskResult> {
"file_type, file_path, value_type, value, unit, " + "file_type, file_path, value_type, value, unit, " +
"`desc`, `conf`, `time`, defect_file_path, rectangle, flag, valid," + "`desc`, `conf`, `time`, defect_file_path, rectangle, flag, valid," +
"revise_value,revise_unit,revise_valid,is_alarm,datastatus,lastmodifier,lastmodifydate," + "revise_value,revise_unit,revise_valid,is_alarm,datastatus,lastmodifier,lastmodifydate," +
"station_code,custom1,custom2,custom3,robot_code,robot_result)" + "station_code,custom1,custom2,custom3,robot_code,robot_result,phase,voice_analysis_type_list)" +
"values " + "values " +
"<foreach collection='taskList' index='index' item='item' separator=','> " + "<foreach collection='taskList' index='index' item='item' separator=','> " +
"(#{item.resultId}, #{item.taskTodoId}, #{item.orderNum}, #{item.patroldeviceCode}, #{item" + "(#{item.resultId}, #{item.taskTodoId}, #{item.orderNum}, #{item.patroldeviceCode}, #{item" +
@ -138,7 +138,7 @@ public interface TaskResultMapper extends BaseMapper<TaskResult> {
"#{item.time}, #{item.defectFilePath},#{item.rectangle}, #{item.flag}," + "#{item.time}, #{item.defectFilePath},#{item.rectangle}, #{item.flag}," +
"#{item.valid}, #{item.reviseValue}, #{item.reviseUnit}," + "#{item.valid}, #{item.reviseValue}, #{item.reviseUnit}," +
"#{item.reviseValid},#{item.isAlarm}, #{item.datastatus}, #{item.lastmodifier}," + "#{item.reviseValid},#{item.isAlarm}, #{item.datastatus}, #{item.lastmodifier}," +
"#{item.lastmodifydate},#{item.stationCode}, #{item.custom1}, #{item.custom2}, #{item.custom3}, #{item.robotCode}, #{item.robotResult}) " + "#{item.lastmodifydate},#{item.stationCode}, #{item.custom1}, #{item.custom2}, #{item.custom3}, #{item.robotCode}, #{item.robotResult},#{item.phase},#{item.voiceAnalysisTypeList}) " +
"</foreach> " + "</foreach> " +
"ON DUPLICATE KEY UPDATE " + "ON DUPLICATE KEY UPDATE " +
"task_todo_id=VALUES(task_todo_id), " + "task_todo_id=VALUES(task_todo_id), " +
@ -189,10 +189,11 @@ public interface TaskResultMapper extends BaseMapper<TaskResult> {
"custom2=VALUES(custom2), " + "custom2=VALUES(custom2), " +
"custom3=VALUES(custom3), " + "custom3=VALUES(custom3), " +
"robot_code=VALUES(robot_code), " + "robot_code=VALUES(robot_code), " +
"robot_result=VALUES(robot_result) " + "robot_result=VALUES(robot_result), " +
"phase=VALUES(phase)," +
"voice_analysis_type_list=VALUES(voice_analysis_type_list) " +
"</script>") "</script>")
void batchAdd(List<TaskResult> taskList); void batchAdd(List<TaskResult> taskList);
List<Map<String, Object>> getPatrolDeviceInspectionStat(); List<Map<String, Object>> getPatrolDeviceInspectionStat();
List<Map<String, Object>> getNonHomologousAnalysis(String stationCode, String taskName, String mainDeviceId, String componentId, String bayId, String startFormat, String endFormat); List<Map<String, Object>> getNonHomologousAnalysis(String stationCode, String taskName, String mainDeviceId, String componentId, String bayId, String startFormat, String endFormat);

View File

@ -559,7 +559,11 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements IT
//相机参数[{"patroldevice_name":"1","patroldevice_code":"","patroldevice_channelcode":"","patroldevice_pos":"","pos_name":"","baseimage":"","effective_region":[{"x1":"","y1":""},{"x2":"","y2":""}]}] //相机参数[{"patroldevice_name":"1","patroldevice_code":"","patroldevice_channelcode":"","patroldevice_pos":"","pos_name":"","baseimage":"","effective_region":[{"x1":"","y1":""},{"x2":"","y2":""}]}]
taskResult.setPatroldeviceName(jobj.getStr("patroldevice_name")); taskResult.setPatroldeviceName(jobj.getStr("patroldevice_name"));
taskResult.setPatroldeviceCode(jobj.getStr("patroldevice_code")); taskResult.setPatroldeviceCode(jobj.getStr("patroldevice_code"));
taskResult.setPatroldeviceChannelcode(jobj.getStr("patroldevice_channelcode")); String patroldeviceChannelcode = jobj.getStr("patroldevice_channelcode");
if (StrUtil.isBlank(patroldeviceChannelcode)) {
patroldeviceChannelcode = taskResult.getPatroldeviceCode();
}
taskResult.setPatroldeviceChannelcode(patroldeviceChannelcode);
taskResult.setPatroldevicePos(jobj.getStr("patroldevice_pos")); taskResult.setPatroldevicePos(jobj.getStr("patroldevice_pos"));
taskResult.setPatroldeviceBaseimage(jobj.getStr("device_baseimage")); taskResult.setPatroldeviceBaseimage(jobj.getStr("device_baseimage"));
taskResult.setPatroldeviceEffectiveregion(jobj.getStr("effective_region")); taskResult.setPatroldeviceEffectiveregion(jobj.getStr("effective_region"));