From 5022599fc428bf5603acc15dbe93e3729aa7c1dc Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期四, 28 十一月 2024 11:09:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataJsonReqVO.java | 26 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateRespVO.java | 57 +++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java | 12 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyRateDao.java | 9 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java | 21 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java | 46 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmConfigController.java | 6 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StScheduleSuggestEntity.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisSaveReqVO.java | 32 + iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigReqDTO.java | 27 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java | 4 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyHisServiceImpl.java | 43 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRatePageReqVO.java | 22 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestPageReqVO.java | 25 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyRateController.java | 74 +++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmConfigService.java | 10 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestRespVO.java | 83 ++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyRateServiceImpl.java | 44 ++ iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmItemOutputDao.xml | 8 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyRateService.java | 17 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleSuggestDao.java | 10 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java | 1 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyHisService.java | 15 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisPageReqVO.java | 27 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestSaveReqVO.java | 88 ++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java | 24 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java | 58 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSuggestService.java | 17 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisRespVO.java | 33 + iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/video/hikvision/utils/MessageCode.java | 4 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateSaveReqVO.java | 56 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmConfigServiceImpl.java | 26 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmConfigDao.java | 13 iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml | 1 iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml | 19 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyHisController.java | 74 +++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyHisDao.java | 14 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java | 72 +++ 39 files changed, 1,093 insertions(+), 29 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java index 3913af3..339c042 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java @@ -38,7 +38,6 @@ import javax.annotation.security.PermitAll; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/video/hikvision/utils/MessageCode.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/video/hikvision/utils/MessageCode.java index 546062b..2a544a1 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/video/hikvision/utils/MessageCode.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/video/hikvision/utils/MessageCode.java @@ -9,8 +9,8 @@ public static final String JsonSavePath = "D:/hk-project/json";//海康威视抓取图片上传路径 // public static final String JsonSavePath = "D:/DLUT/json";//海康威视抓取图片上传路径 -// public static final String HIK_WIN_PATH = "hikvision/win64/HCNetSDK.dll"; - public static final String HIK_WIN_PATH = "D:\\DLUT\\lib\\HCNetSDK.dll"; + public static final String HIK_WIN_PATH = "hikvision/win64/HCNetSDK.dll"; +// public static final String HIK_WIN_PATH = "D:\\DLUT\\lib\\HCNetSDK.dll"; public static final String ModelCode = "Image_feature";//模型代码 diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java index ee39d33..039e10b 100644 --- a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java +++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java @@ -40,6 +40,10 @@ @Operation(summary = "预测数据图表") PreDataSingleChartRespVO getPreDataSingleChart(@RequestBody PreDataSingleChartReqVO reqVO); + @PostMapping(PREFIX + "/predict-data/cur") + @Operation(summary = "获取当前预测数据") + Map<String, List<Object[]>> getPreDataCur(PreDataJsonReqVO reqVO); + @PostMapping(PREFIX + "/plan-data/single-chart") @Operation(summary = "计划数据图表") PlanDataSingleChartRespVO getPlanDataSingleChart(@RequestBody PreDataSingleChartReqVO reqVO); @@ -50,7 +54,15 @@ @GetMapping(PREFIX + "/alarm-message/list") @Operation(summary = "获取预警信息列表") - List<AlarmMessageRespDTO> listAlarmMessage(@RequestParam Map<String, Object> params); + List<AlarmMessageRespDTO> listAlarmMessage(@RequestParam("params") Map<String, Object> params); + + @GetMapping(PREFIX + "/alarm-config/list") + @Operation(summary = "获取预警配置列表") + List<AlarmConfigRespDTO> listAlarmConfig(@RequestParam("params") Map<String, Object> params); + + @GetMapping(PREFIX + "/alarm-message/last-one") + @Operation(summary = "获取最新预警信息") + AlarmMessageRespDTO getLastAlarmMessage(@RequestParam("alarmObj") String alarmObj); @PostMapping(PREFIX + "/schedule-suggest/create") @Operation(summary = "添加调度建议") @@ -58,12 +70,17 @@ @GetMapping(PREFIX + "/schedule-suggest/list") @Operation(summary = "获取调度建议列表") - List<ScheduleSuggestRespDTO> listScheduleSuggest(@RequestParam ScheduleSuggestReqDTO params); + List<ScheduleSuggestRespDTO> listScheduleSuggest(@RequestParam("params") ScheduleSuggestReqDTO params); @PostMapping(PREFIX + "/predict-model-setting/modify") @Operation(summary = "修改预测模型设置参数") Boolean modifyPredictModelSetting(@RequestBody List<PredictModelSettingReqDTO> dtos); + @GetMapping(PREFIX + "/schedule-suggest/last-limit") + @Operation(summary = "获取调度建议列表") + List<ScheduleSuggestRespDTO> getLastLimitScheduleSuggest(@RequestParam("scheduleObj") String scheduleObj, @RequestParam("limit") Integer limit); + + @PostMapping(PREFIX + "/schedule-model-setting/modify") @Operation(summary = "修改调度模型设置参数") Boolean modifyScheduleModelSetting(@RequestBody List<ScheduleModelSettingReqDTO> dtos); diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigReqDTO.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigReqDTO.java new file mode 100644 index 0000000..657f56f --- /dev/null +++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigReqDTO.java @@ -0,0 +1,27 @@ +package com.iailab.module.model.api.mcs.dto; + +import com.iailab.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.io.Serializable; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型平台 - Request VO") +@Data +public class AlarmConfigReqDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @Schema(description = "消息标题") + private String title; + + @Schema(description = "监控对象") + private String alarmObj; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java new file mode 100644 index 0000000..8e3b6d1 --- /dev/null +++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java @@ -0,0 +1,72 @@ +package com.iailab.module.model.api.mcs.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型服务 - 预警配置 Response VO") +@Data +public class AlarmConfigRespDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @Schema(description = "ID") + private String id; + + @Schema(description = "消息标题") + private String title; + + @Schema(description = "监控对象") + private String alarmObj; + + @Schema(description = "预测项ID") + private String itemId; + + private String itemName; + + @Schema(description = "输出ID") + private String outId; + + private String outName; + + @Schema(description = "比较长度") + private Integer compLength; + + @Schema(description = "上限") + private BigDecimal upperLimit; + + @Schema(description = "下限") + private BigDecimal lowerLimit; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "转换系数") + private BigDecimal coefficient; + + @Schema(description = "调度方案") + private String scheduleId; + + @Schema(description = "是否启用(0禁用 1启用)") + private Integer isEnable; + + @Schema(description = "创建者") + private String creator; + + @Schema(description = "创建时间") + private Date createTime; + + @Schema(description = "更新者") + private String updater; + + @Schema(description = "更新时间") + private Date updateTime; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataJsonReqVO.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataJsonReqVO.java new file mode 100644 index 0000000..656b692 --- /dev/null +++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataJsonReqVO.java @@ -0,0 +1,26 @@ +package com.iailab.module.model.api.mcs.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月27日 + */ +@Data +public class PreDataJsonReqVO implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "预测时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date predictTime; + + @Schema(description = "预测输出ID") + private List<String> outputIdList; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java index 3aa0c92..3242912 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java @@ -15,7 +15,11 @@ import com.iailab.module.model.common.enums.PreLineTypeEnum; import com.iailab.module.model.mcs.pre.entity.DmModuleEntity; import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity; +import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.service.*; +import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO; +import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; +import com.iailab.module.model.mcs.sche.service.StScheduleSuggestService; import com.iailab.module.model.mdk.vo.ItemVO; import com.iailab.module.model.mpk.service.ChartService; import lombok.extern.slf4j.Slf4j; @@ -64,7 +68,17 @@ private ChartService chartService; @Autowired + private MmPredictAlarmMessageService mmPredictAlarmMessageService; + + @Autowired + private StScheduleSuggestService stScheduleSuggestService; + + @Autowired private PlanItemApi planItemApi; + + @Autowired + private MmPredictAlarmConfigService mmPredictAlarmConfigService; + private int HOUR_MINS = 60; @@ -346,6 +360,18 @@ } @Override + public Map<String, List<Object[]>> getPreDataCur(PreDataJsonReqVO reqVO) { + Map<String, List<Object[]>> result = new HashMap<>(); + if (reqVO == null || reqVO.getPredictTime() == null || CollectionUtils.isEmpty(reqVO.getOutputIdList())) { + return result; + } + reqVO.getOutputIdList().forEach(outPutId -> { + result.put(outPutId, mmItemResultJsonService.getData(outPutId, reqVO.getPredictTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); + }); + return result; + } + + @Override public PlanDataSingleChartRespVO getPlanDataSingleChart(PreDataSingleChartReqVO reqVO) { PlanDataSingleChartRespVO result = new PlanDataSingleChartRespVO(); Map<String, String> chartParams = chartService.getByChartCode(reqVO.getChartCode()); @@ -452,14 +478,36 @@ return result; } + /** + * 新增预警信息 + * + * @param dto + * @return + */ @Override public Boolean createAlarmMessage(AlarmMessageRespDTO dto) { - return true; + try { + mmPredictAlarmMessageService.create(ConvertUtils.sourceToTarget(dto, MmPredictAlarmMessageSaveReqVO.class)); + return true; + } catch (Exception e) { + return false; + } } @Override public List<AlarmMessageRespDTO> listAlarmMessage(Map<String, Object> params) { return null; + } + + @Override + public List<AlarmConfigRespDTO> listAlarmConfig(Map<String, Object> params) { + return mmPredictAlarmConfigService.list(params); + } + + @Override + public AlarmMessageRespDTO getLastAlarmMessage(String alarmObj) { + MmPredictAlarmMessageEntity entity = mmPredictAlarmMessageService.getLast(alarmObj); + return ConvertUtils.sourceToTarget(entity, AlarmMessageRespDTO.class); } @Override @@ -469,7 +517,13 @@ @Override public List<ScheduleSuggestRespDTO> listScheduleSuggest(ScheduleSuggestReqDTO params) { - return null; + return Collections.emptyList(); + } + + @Override + public List<ScheduleSuggestRespDTO> getLastLimitScheduleSuggest(String scheduleObj, Integer limit) { + List<StScheduleSuggestEntity> list = stScheduleSuggestService.getList(scheduleObj, limit); + return ConvertUtils.sourceToTarget(list, ScheduleSuggestRespDTO.class); } @Override diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java index a0421b1..41b12ec 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java @@ -19,6 +19,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; + import static com.iailab.framework.apilog.core.enums.OperateTypeEnum.EXPORT; /** @@ -90,7 +91,6 @@ @GetMapping("/predict-data/exportValue") @Operation(summary = "导出预测数据") - @ApiAccessLog(operateType = EXPORT) public void exportPointValue(@RequestParam("itemId") String itemId, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime, @@ -100,13 +100,13 @@ reqVO.setItemId(itemId); try { if (startTime == "") { - reqVO.setStartTime(new Date((new Date()).getTime() - 60*60*1000)); + reqVO.setStartTime(new Date((new Date()).getTime() - 60 * 60 * 1000)); } else { reqVO.setStartTime(formatter.parse(startTime)); } if (endTime == "") { - reqVO.setEndTime(new Date((new Date()).getTime() + 60*60*1000)); + reqVO.setEndTime(new Date((new Date()).getTime() + 60 * 60 * 1000)); } else { reqVO.setEndTime(formatter.parse(endTime)); } @@ -115,10 +115,26 @@ } PreDataItemChartRespVO respVO = mcsApi.getPreDataItemChart(reqVO); try { - String sheetTitle = "sheet1"; + String sheetTitle = "sheet1"; ExcelUtil.exportchart(sheetTitle, respVO, response); } catch (Exception ex) { ex.printStackTrace(); } } + + @GetMapping("/alarm-message/last-one") + @Operation(summary = "根据监控对象获取最新预警信息") + public CommonResult<AlarmMessageRespDTO> getLastAlarmMessage(HttpServletResponse response, HttpServletRequest + request, @RequestParam("alarmObj") String alarmObj) { + AlarmMessageRespDTO data = mcsApi.getLastAlarmMessage(alarmObj); + return CommonResult.success(data); + } + + @GetMapping("/schedule-suggest/last-limit") + @Operation(summary = "根据监控对象获取最新预警信息") + public CommonResult<List<ScheduleSuggestRespDTO>> getLastLimitScheduleSuggest(HttpServletResponse response, HttpServletRequest + request, @RequestParam("scheduleObj") String scheduleObj, @RequestParam("limit") Integer limit) { + List<ScheduleSuggestRespDTO> data = mcsApi.getLastLimitScheduleSuggest(scheduleObj, limit); + return CommonResult.success(data); + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyHisController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyHisController.java new file mode 100644 index 0000000..7197455 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyHisController.java @@ -0,0 +1,74 @@ +package com.iailab.module.model.mcs.pre.controller.admin; + +import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyHisEntity; +import com.iailab.module.model.mcs.pre.service.MmItemAccuracyHisService; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisPageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisRespVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisSaveReqVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +import static com.iailab.framework.common.pojo.CommonResult.success; + +/** + * @author lirm + * @Description + * @createTime 2024年11月25日 + */ +@RestController +@RequestMapping("/model/item/accuracy-his") +public class MmItemAccuracyHisController { + + @Autowired + private MmItemAccuracyHisService mmItemAccuracyHisService; + + @PostMapping("/create") + @Operation(summary = "创建预测精准度历史配置") + @PreAuthorize("@ss.hasPermission('item:accuracy-his:create')") + public CommonResult<Boolean> create(@Valid @RequestBody MmItemAccuracyHisSaveReqVO createReqVO) { + mmItemAccuracyHisService.create(createReqVO); + return success(true); + } + + @PutMapping("/update") + @Operation(summary = "更新预测精准度历史配置") + @PreAuthorize("@ss.hasPermission('item:accuracy-his:update')") + public CommonResult<Boolean> update(@Valid @RequestBody MmItemAccuracyHisSaveReqVO updateReqVO) { + mmItemAccuracyHisService.update(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除预测精准度历史配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('item:accuracy-his:delete')") + public CommonResult<Boolean> deleteTenant(@RequestParam("id") String id) { + mmItemAccuracyHisService.delete(id); + return success(true); + } + + @GetMapping("/get/{id}") + @Operation(summary = "获得预测精准度历史配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('item:accuracy-his:query')") + public CommonResult<MmItemAccuracyHisRespVO> getInfo(@PathVariable("id") String id) { + MmItemAccuracyHisEntity entity = mmItemAccuracyHisService.getInfo(id); + return success(BeanUtils.toBean(entity, MmItemAccuracyHisRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得预测精准度历史配置分页") + @PreAuthorize("@ss.hasPermission('item:accuracy-his:query')") + public CommonResult<PageResult<MmItemAccuracyHisRespVO>> getTenantPage(@Valid MmItemAccuracyHisPageReqVO pageVO) { + PageResult<MmItemAccuracyHisEntity> pageResult = mmItemAccuracyHisService.page(pageVO); + return success(BeanUtils.toBean(pageResult, MmItemAccuracyHisRespVO.class)); + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyRateController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyRateController.java new file mode 100644 index 0000000..c3b3fb9 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmItemAccuracyRateController.java @@ -0,0 +1,74 @@ +package com.iailab.module.model.mcs.pre.controller.admin; + +import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyRateEntity; +import com.iailab.module.model.mcs.pre.service.MmItemAccuracyRateService; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRatePageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRateRespVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRateSaveReqVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +import static com.iailab.framework.common.pojo.CommonResult.success; + +/** + * @author lirm + * @Description + * @createTime 2024年11月25日 + */ +@RestController +@RequestMapping("/model/item/accuracy-rate") +public class MmItemAccuracyRateController { + + @Autowired + private MmItemAccuracyRateService mmItemAccuracyRateService; + + @PostMapping("/create") + @Operation(summary = "创建预测精准度配置") + @PreAuthorize("@ss.hasPermission('item:accuracy-rate:create')") + public CommonResult<Boolean> create(@Valid @RequestBody MmItemAccuracyRateSaveReqVO createReqVO) { + mmItemAccuracyRateService.create(createReqVO); + return success(true); + } + + @PutMapping("/update") + @Operation(summary = "更新预测精准度配置") + @PreAuthorize("@ss.hasPermission('item:accuracy-rate:update')") + public CommonResult<Boolean> update(@Valid @RequestBody MmItemAccuracyRateSaveReqVO updateReqVO) { + mmItemAccuracyRateService.update(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除预测精准度配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('item:accuracy-rate:delete')") + public CommonResult<Boolean> deleteTenant(@RequestParam("id") String id) { + mmItemAccuracyRateService.delete(id); + return success(true); + } + + @GetMapping("/get/{id}") + @Operation(summary = "获得预测精准度配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('item:accuracy-rate:query')") + public CommonResult<MmItemAccuracyRateRespVO> getInfo(@PathVariable("id") String id) { + MmItemAccuracyRateEntity entity = mmItemAccuracyRateService.getInfo(id); + return success(BeanUtils.toBean(entity, MmItemAccuracyRateRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得预测精准度配置分页") + @PreAuthorize("@ss.hasPermission('item:accuracy-rate:query')") + public CommonResult<PageResult<MmItemAccuracyRateRespVO>> getTenantPage(@Valid MmItemAccuracyRatePageReqVO pageVO) { + PageResult<MmItemAccuracyRateEntity> pageResult = mmItemAccuracyRateService.page(pageVO); + return success(BeanUtils.toBean(pageResult, MmItemAccuracyRateRespVO.class)); + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmConfigController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmConfigController.java index 26c1675..9a8ddd0 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmConfigController.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmConfigController.java @@ -55,11 +55,11 @@ return success(true); } - @GetMapping("/get") + @GetMapping("/get/{id}") @Operation(summary = "获得预警配置") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-config:query')") - public CommonResult<MmPredictAlarmConfigRespVO> getInfo(@RequestParam("id") String id) { + public CommonResult<MmPredictAlarmConfigRespVO> getInfo(@PathVariable("id") String id) { MmPredictAlarmConfigEntity entity = mmPredictAlarmConfigService.getInfo(id); return success(BeanUtils.toBean(entity, MmPredictAlarmConfigRespVO.class)); } @@ -68,7 +68,7 @@ @Operation(summary = "获得预警配置分页") @PreAuthorize("@ss.hasPermission('pre:alarm-config:query')") public CommonResult<PageResult<MmPredictAlarmConfigRespVO>> getTenantPage(@Valid MmPredictAlarmConfigPageReqVO pageVO) { - PageResult<MmPredictAlarmConfigEntity> pageResult = mmPredictAlarmConfigService.page(pageVO); + PageResult<MmPredictAlarmConfigRespVO> pageResult = mmPredictAlarmConfigService.page(pageVO); return success(BeanUtils.toBean(pageResult, MmPredictAlarmConfigRespVO.class)); } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyHisDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyHisDao.java index a64d56d..e5175d2 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyHisDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyHisDao.java @@ -1,8 +1,13 @@ package com.iailab.module.model.mcs.pre.dao; +import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyHisEntity; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyHisEntity; +import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisPageReqVO; import org.apache.ibatis.annotations.Mapper; /** @@ -13,4 +18,11 @@ @TenantDS @Mapper public interface MmItemAccuracyHisDao extends BaseMapperX<MmItemAccuracyHisEntity> { -} + + default PageResult<MmItemAccuracyHisEntity> selectPage(MmItemAccuracyHisPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<MmItemAccuracyHisEntity>() + .likeIfPresent(MmItemAccuracyHisEntity::getRateId, reqVO.getRateId()) + .likeIfPresent(MmItemAccuracyHisEntity::getInDeviation, reqVO.getInDeviation()) + .orderByDesc(MmItemAccuracyHisEntity::getCreateTime)); + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyRateDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyRateDao.java index ed4228d..a63a7c3 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyRateDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyRateDao.java @@ -1,8 +1,12 @@ package com.iailab.module.model.mcs.pre.dao; +import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyRateEntity; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyRateEntity; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRatePageReqVO; import org.apache.ibatis.annotations.Mapper; /** @@ -13,4 +17,9 @@ @TenantDS @Mapper public interface MmItemAccuracyRateDao extends BaseMapperX<MmItemAccuracyRateEntity> { + + default PageResult<MmItemAccuracyRateEntity> selectPage(MmItemAccuracyRatePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<MmItemAccuracyRateEntity>() + .orderByDesc(MmItemAccuracyRateEntity::getCreateTime)); + } } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmConfigDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmConfigDao.java index 47fe438..1fa68e5 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmConfigDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmConfigDao.java @@ -1,12 +1,14 @@ package com.iailab.module.model.mcs.pre.dao; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; -import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigPageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigRespVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @author PanZhibao @@ -17,10 +19,9 @@ @Mapper public interface MmPredictAlarmConfigDao extends BaseMapperX<MmPredictAlarmConfigEntity> { - default PageResult<MmPredictAlarmConfigEntity> selectPage(MmPredictAlarmConfigPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX<MmPredictAlarmConfigEntity>() - .likeIfPresent(MmPredictAlarmConfigEntity::getTitle, reqVO.getTitle()) - .likeIfPresent(MmPredictAlarmConfigEntity::getAlarmObj, reqVO.getAlarmObj()) - .orderByDesc(MmPredictAlarmConfigEntity::getCreateTime)); + IPage<MmPredictAlarmConfigRespVO> getPageList(IPage<MmPredictAlarmConfigEntity> page, @Param("params") MmPredictAlarmConfigPageReqVO reqVO); + + default IPage<MmPredictAlarmConfigRespVO> selectPage(MmPredictAlarmConfigPageReqVO reqVO) { + return getPageList(getPage(reqVO), reqVO); } } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyHisService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyHisService.java index 3243536..a08bee5 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyHisService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyHisService.java @@ -1,9 +1,24 @@ package com.iailab.module.model.mcs.pre.service; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyHisEntity; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisPageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisSaveReqVO; + /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmItemAccuracyHisService { + + PageResult<MmItemAccuracyHisEntity> page(MmItemAccuracyHisPageReqVO pageVO); + + MmItemAccuracyHisEntity getInfo(String id); + + void create(MmItemAccuracyHisSaveReqVO createReqVO); + + void update(MmItemAccuracyHisSaveReqVO updateReqVO); + + void delete(String id); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyRateService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyRateService.java index 09a3036..42ee025 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyRateService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyRateService.java @@ -1,9 +1,26 @@ package com.iailab.module.model.mcs.pre.service; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyRateEntity; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRatePageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRateSaveReqVO; + +import javax.validation.Valid; + /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmItemAccuracyRateService { + + PageResult<MmItemAccuracyRateEntity> page(MmItemAccuracyRatePageReqVO pageVO); + + MmItemAccuracyRateEntity getInfo(String id); + + void create(MmItemAccuracyRateSaveReqVO createReqVO); + + void update(MmItemAccuracyRateSaveReqVO updateReqVO); + + void delete(String id); } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmConfigService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmConfigService.java index 9bc8319..fb480b2 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmConfigService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmConfigService.java @@ -1,10 +1,16 @@ package com.iailab.module.model.mcs.pre.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.BaseService; +import com.iailab.module.model.api.mcs.dto.AlarmConfigRespDTO; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigPageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigRespVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigSaveReqVO; + +import java.util.List; +import java.util.Map; /** * @author PanZhibao @@ -13,7 +19,7 @@ */ public interface MmPredictAlarmConfigService extends BaseService<MmPredictAlarmConfigEntity> { - PageResult<MmPredictAlarmConfigEntity> page(MmPredictAlarmConfigPageReqVO reqVO); + PageResult<MmPredictAlarmConfigRespVO> page(MmPredictAlarmConfigPageReqVO reqVO); MmPredictAlarmConfigEntity getInfo(String id); @@ -22,4 +28,6 @@ void update(MmPredictAlarmConfigSaveReqVO reqVO); void delete(String id); + + List<AlarmConfigRespDTO> list(Map<String, Object> params); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java index 3e1485e..5512dde 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java @@ -17,6 +17,8 @@ MmPredictAlarmMessageEntity getInfo(String id); + MmPredictAlarmMessageEntity getLast(String alarmObj); + void create(MmPredictAlarmMessageSaveReqVO reqVO); void update(MmPredictAlarmMessageSaveReqVO reqVO); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyHisServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyHisServiceImpl.java index 241c579..e17491d 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyHisServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyHisServiceImpl.java @@ -1,7 +1,19 @@ package com.iailab.module.model.mcs.pre.service.impl; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.framework.security.core.util.SecurityFrameworkUtils; +import com.iailab.module.model.mcs.pre.dao.MmItemAccuracyHisDao; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyHisEntity; import com.iailab.module.model.mcs.pre.service.MmItemAccuracyHisService; +import com.iailab.module.model.mcs.pre.service.MmItemAccuracyHisService; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisPageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyHisSaveReqVO; import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.UUID; /** * @author PanZhibao @@ -9,5 +21,34 @@ * @createTime 2024年11月19日 */ @Service -public class MmItemAccuracyHisServiceImpl implements MmItemAccuracyHisService { +public class MmItemAccuracyHisServiceImpl extends BaseServiceImpl<MmItemAccuracyHisDao, MmItemAccuracyHisEntity> + implements MmItemAccuracyHisService { + @Override + public PageResult<MmItemAccuracyHisEntity> page(MmItemAccuracyHisPageReqVO reqVO) { + return baseDao.selectPage(reqVO); + } + + @Override + public MmItemAccuracyHisEntity getInfo(String id) { + return baseDao.selectById(id); + } + + @Override + public void create(MmItemAccuracyHisSaveReqVO reqVO) { + MmItemAccuracyHisEntity entity = BeanUtils.toBean(reqVO, MmItemAccuracyHisEntity.class); + entity.setId(UUID.randomUUID().toString()); + entity.setCreateTime(new Date()); + baseDao.insert(entity); + } + + @Override + public void update(MmItemAccuracyHisSaveReqVO reqVO) { + MmItemAccuracyHisEntity entity = BeanUtils.toBean(reqVO, MmItemAccuracyHisEntity.class); + baseDao.updateById(entity); + } + + @Override + public void delete(String id) { + baseDao.deleteById(id); + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyRateServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyRateServiceImpl.java index abaade9..79951cb 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyRateServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyRateServiceImpl.java @@ -1,7 +1,19 @@ package com.iailab.module.model.mcs.pre.service.impl; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.framework.security.core.util.SecurityFrameworkUtils; +import com.iailab.module.model.mcs.pre.dao.MmItemAccuracyRateDao; +import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyRateEntity; import com.iailab.module.model.mcs.pre.service.MmItemAccuracyRateService; +import com.iailab.module.model.mcs.pre.service.MmItemAccuracyRateService; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRatePageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmItemAccuracyRateSaveReqVO; import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.UUID; /** * @author PanZhibao @@ -9,5 +21,35 @@ * @createTime 2024年11月19日 */ @Service -public class MmItemAccuracyRateServiceImpl implements MmItemAccuracyRateService { +public class MmItemAccuracyRateServiceImpl extends BaseServiceImpl<MmItemAccuracyRateDao, MmItemAccuracyRateEntity> + implements MmItemAccuracyRateService { + @Override + public PageResult<MmItemAccuracyRateEntity> page(MmItemAccuracyRatePageReqVO reqVO) { + return baseDao.selectPage(reqVO); + } + + @Override + public MmItemAccuracyRateEntity getInfo(String id) { + return baseDao.selectById(id); + } + + @Override + public void create(MmItemAccuracyRateSaveReqVO reqVO) { + MmItemAccuracyRateEntity entity = BeanUtils.toBean(reqVO, MmItemAccuracyRateEntity.class); + entity.setId(UUID.randomUUID().toString()); + entity.setCreateTime(new Date()); + baseDao.insert(entity); + } + + @Override + public void update(MmItemAccuracyRateSaveReqVO reqVO) { + MmItemAccuracyRateEntity entity = BeanUtils.toBean(reqVO, MmItemAccuracyRateEntity.class); + entity.setUpdateTime(new Date()); + baseDao.updateById(entity); + } + + @Override + public void delete(String id) { + baseDao.deleteById(id); + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmConfigServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmConfigServiceImpl.java index 6536a6c..42b9252 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmConfigServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmConfigServiceImpl.java @@ -1,17 +1,24 @@ package com.iailab.module.model.mcs.pre.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.framework.security.core.util.SecurityFrameworkUtils; +import com.iailab.module.model.api.mcs.dto.AlarmConfigRespDTO; import com.iailab.module.model.mcs.pre.dao.MmPredictAlarmConfigDao; +import com.iailab.module.model.mcs.pre.entity.DmModuleEntity; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; +import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmConfigService; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigPageReqVO; +import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigRespVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigSaveReqVO; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.UUID; +import java.util.*; /** * @author PanZhibao @@ -23,8 +30,9 @@ implements MmPredictAlarmConfigService { @Override - public PageResult<MmPredictAlarmConfigEntity> page(MmPredictAlarmConfigPageReqVO reqVO) { - return baseDao.selectPage(reqVO); + public PageResult<MmPredictAlarmConfigRespVO> page(MmPredictAlarmConfigPageReqVO reqVO) { + IPage<MmPredictAlarmConfigRespVO> page = baseDao.selectPage(reqVO); + return new PageResult<>(page.getRecords(), page.getTotal()); } @Override @@ -36,6 +44,7 @@ public void create(MmPredictAlarmConfigSaveReqVO reqVO) { MmPredictAlarmConfigEntity entity = BeanUtils.toBean(reqVO, MmPredictAlarmConfigEntity.class); entity.setId(UUID.randomUUID().toString()); + entity.setCreator(SecurityFrameworkUtils.getLoginUserNickname()); entity.setCreateTime(new Date()); baseDao.insert(entity); } @@ -43,6 +52,8 @@ @Override public void update(MmPredictAlarmConfigSaveReqVO reqVO) { MmPredictAlarmConfigEntity entity = BeanUtils.toBean(reqVO, MmPredictAlarmConfigEntity.class); + entity.setUpdater(SecurityFrameworkUtils.getLoginUserNickname()); + entity.setUpdateTime(new Date()); baseDao.updateById(entity); } @@ -50,4 +61,11 @@ public void delete(String id) { baseDao.deleteById(id); } + + @Override + public List<AlarmConfigRespDTO> list(Map<String, Object> params) { + QueryWrapper<MmPredictAlarmConfigEntity> wrapper = new QueryWrapper<>(); + wrapper.eq("is_enable", 1); + return BeanUtils.toBean(baseDao.selectList(wrapper), AlarmConfigRespDTO.class); + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java index 33da851..1f55917 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java @@ -1,5 +1,6 @@ package com.iailab.module.model.mcs.pre.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; @@ -9,8 +10,10 @@ import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessagePageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.Date; +import java.util.List; import java.util.UUID; /** @@ -34,6 +37,15 @@ } @Override + public MmPredictAlarmMessageEntity getLast(String alarmObj) { + QueryWrapper<MmPredictAlarmMessageEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("alarm_obj", alarmObj) + .orderByDesc("alarm_time") + .last("limit 1"); + return baseDao.selectOne(queryWrapper); + } + + @Override public void create(MmPredictAlarmMessageSaveReqVO reqVO) { MmPredictAlarmMessageEntity entity = BeanUtils.toBean(reqVO, MmPredictAlarmMessageEntity.class); entity.setId(UUID.randomUUID().toString()); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisPageReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisPageReqVO.java new file mode 100644 index 0000000..6b0c166 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisPageReqVO.java @@ -0,0 +1,27 @@ +package com.iailab.module.model.mcs.pre.vo; + +import com.iailab.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.math.BigDecimal; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型平台 - Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MmItemAccuracyHisPageReqVO extends PageParam { + + @Schema(description = "预测精准度ID") + private String rateId; + + @Schema(description = "精准误差") + private String inDeviation; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisRespVO.java new file mode 100644 index 0000000..6343ee8 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisRespVO.java @@ -0,0 +1,33 @@ +package com.iailab.module.model.mcs.pre.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型服务 - 预警配置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MmItemAccuracyHisRespVO { + @Schema(description = "ID") + private String id; + + private String rateId; + + private BigDecimal inDeviation; + + private BigDecimal inAccuracyRate; + + private BigDecimal outDeviation; + + private BigDecimal outAccuracyRate; + + private Date createTime; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisSaveReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisSaveReqVO.java new file mode 100644 index 0000000..21f90e0 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyHisSaveReqVO.java @@ -0,0 +1,32 @@ +package com.iailab.module.model.mcs.pre.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型服务 - 预警信息创建/修改 Request VO") +@Data +public class MmItemAccuracyHisSaveReqVO { + + @Schema(description = "ID") + private String id; + + private String rateId; + + private BigDecimal inDeviation; + + private BigDecimal inAccuracyRate; + + private BigDecimal outDeviation; + + private BigDecimal outAccuracyRate; + + private Date createTime; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRatePageReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRatePageReqVO.java new file mode 100644 index 0000000..0b3e20e --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRatePageReqVO.java @@ -0,0 +1,22 @@ +package com.iailab.module.model.mcs.pre.vo; + +import com.iailab.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型平台 - Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MmItemAccuracyRatePageReqVO extends PageParam { + + @Schema(description = "预测项ID") + private String itemId; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateRespVO.java new file mode 100644 index 0000000..75cc8a2 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateRespVO.java @@ -0,0 +1,57 @@ +package com.iailab.module.model.mcs.pre.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型服务 - 预警配置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MmItemAccuracyRateRespVO { + @Schema(description = "ID") + private String id; + + + private String itemId; + + + private String outId; + + + private Integer sampleLength; + + + private Integer valueType; + + + private Date beginTime; + + + private BigDecimal inDeviation; + + + private BigDecimal inAccuracyRate; + + + private BigDecimal outDeviation; + + + private BigDecimal outAccuracyRate; + + + private Integer isEnable; + + + private Date createTime; + + + private Date updateTime; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateSaveReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateSaveReqVO.java new file mode 100644 index 0000000..9fc685c --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemAccuracyRateSaveReqVO.java @@ -0,0 +1,56 @@ +package com.iailab.module.model.mcs.pre.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月20日 + */ +@Schema(description = "模型服务 - 预警信息创建/修改 Request VO") +@Data +public class MmItemAccuracyRateSaveReqVO { + + @Schema(description = "ID") + private String id; + + + private String itemId; + + + private String outId; + + + private Integer sampleLength; + + + private Integer valueType; + + + private Date beginTime; + + + private BigDecimal inDeviation; + + + private BigDecimal inAccuracyRate; + + + private BigDecimal outDeviation; + + + private BigDecimal outAccuracyRate; + + + private Integer isEnable; + + + private Date createTime; + + + private Date updateTime; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java index 5807ec9..9b06aec 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java @@ -28,8 +28,12 @@ @Schema(description = "预测项ID") private String itemId; + private String itemName; + @Schema(description = "输出ID") private String outId; + + private String outName; @Schema(description = "比较长度") private Integer compLength; diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleSuggestDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleSuggestDao.java index 23fab12..ea81414 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleSuggestDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleSuggestDao.java @@ -1,8 +1,11 @@ package com.iailab.module.model.mcs.sche.dao; +import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; +import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestPageReqVO; import org.apache.ibatis.annotations.Mapper; /** @@ -13,4 +16,11 @@ @TenantDS @Mapper public interface StScheduleSuggestDao extends BaseMapperX<StScheduleSuggestEntity> { + + default PageResult<StScheduleSuggestEntity> selectPage(StScheduleSuggestPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<StScheduleSuggestEntity>() + .likeIfPresent(StScheduleSuggestEntity::getTitle, reqVO.getTitle()) + .likeIfPresent(StScheduleSuggestEntity::getScheduleObj, reqVO.getScheduleObj()) + .orderByDesc(StScheduleSuggestEntity::getCreateTime)); + } } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StScheduleSuggestEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StScheduleSuggestEntity.java index babae42..9dda28a 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StScheduleSuggestEntity.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StScheduleSuggestEntity.java @@ -111,7 +111,7 @@ private Date scheduleTime; /** - * 状态 + * 状态(0未处理 1已采纳 2已忽略) */ private Integer status; diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSuggestService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSuggestService.java index 72104b3..489487f 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSuggestService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSuggestService.java @@ -1,7 +1,12 @@ package com.iailab.module.model.mcs.sche.service; +import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.BaseService; import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; +import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestPageReqVO; +import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestSaveReqVO; + +import java.util.List; /** * @author PanZhibao @@ -9,4 +14,16 @@ * @createTime 2024年09月06日 */ public interface StScheduleSuggestService extends BaseService<StScheduleSuggestEntity> { + + PageResult<StScheduleSuggestEntity> page(StScheduleSuggestPageReqVO reqVO); + + void create(StScheduleSuggestSaveReqVO createReqVO); + + void update(StScheduleSuggestSaveReqVO createReqVO); + + void delete(String id); + + StScheduleSuggestEntity getInfo(String id); + + List<StScheduleSuggestEntity> getList(String scheduleObj, Integer limit); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java index 32b7055..46cdb20 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java @@ -1,10 +1,18 @@ package com.iailab.module.model.mcs.sche.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.sche.dao.StScheduleSuggestDao; import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; import com.iailab.module.model.mcs.sche.service.StScheduleSuggestService; +import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestPageReqVO; +import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestSaveReqVO; import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.UUID; /** * @author PanZhibao @@ -14,4 +22,42 @@ @Service public class StScheduleSuggestServiceImpl extends BaseServiceImpl<StScheduleSuggestDao, StScheduleSuggestEntity> implements StScheduleSuggestService { + + @Override + public PageResult<StScheduleSuggestEntity> page(StScheduleSuggestPageReqVO reqVO) { + return baseDao.selectPage(reqVO); + } + + @Override + public void create(StScheduleSuggestSaveReqVO createReqVO) { + StScheduleSuggestEntity entity = BeanUtils.toBean(createReqVO, StScheduleSuggestEntity.class); + entity.setId(UUID.randomUUID().toString()); + baseDao.insert(entity); + } + + @Override + public void update(StScheduleSuggestSaveReqVO createReqVO) { + StScheduleSuggestEntity entity = BeanUtils.toBean(createReqVO, StScheduleSuggestEntity.class); + baseDao.updateById(entity); + } + + @Override + public void delete(String id) { + baseDao.deleteById(id); + } + + @Override + public StScheduleSuggestEntity getInfo(String id) { + return baseDao.selectById(id); + } + + @Override + public List<StScheduleSuggestEntity> getList(String scheduleObj, Integer limit) { + QueryWrapper<StScheduleSuggestEntity> queryWrapper = new QueryWrapper<>(); + limit = limit == null ? 1 : limit; + queryWrapper.eq("schedule_obj", scheduleObj) + .orderByDesc("create_time") + .last("limit " + limit); + return baseDao.selectList(queryWrapper); + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestPageReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestPageReqVO.java new file mode 100644 index 0000000..1bc0564 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestPageReqVO.java @@ -0,0 +1,25 @@ +package com.iailab.module.model.mcs.sche.vo; + +import com.iailab.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月27日 + */ +@Schema(description = "模型服务 - 调度建议分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class StScheduleSuggestPageReqVO extends PageParam { + + @Schema(description = "标题,模糊匹配", example = "") + private String title; + + @Schema(description = "调整对象,模糊匹配", example = "") + private String scheduleObj; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestRespVO.java new file mode 100644 index 0000000..7c3e0e7 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestRespVO.java @@ -0,0 +1,83 @@ +package com.iailab.module.model.mcs.sche.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月27日 + */ +@Schema(description = "模型服务 - 调度建议 Response VO") +@Data +public class StScheduleSuggestRespVO { + + @Schema(description = "ID") + private String id; + + @Schema(description = "标题") + private String title; + + @Schema(description = "内容") + private String content; + + @Schema(description = "排序") + private Integer sort; + + @Schema(description = "方案ID") + private String schemeId; + + @Schema(description = "预警ID") + private String alarmId; + + @Schema(description = "预测项ID") + private String itemId; + + @Schema(description = "模型ID") + private String modelId; + + @Schema(description = "调整对象") + private String scheduleObj; + + @Schema(description = "调整类型") + private String scheduleType; + + @Schema(description = "调整策略") + private String scheduleStrategy; + + @Schema(description = "调整方式") + private String adjustMode; + + @Schema(description = "调整值") + private BigDecimal adjustValue; + + @Schema(description = "调整单位") + private String adjustUnit; + + @Schema(description = "持续时长") + private BigDecimal adjustTimes; + + @Schema(description = "调整开始时间") + private Date adjustStart; + + @Schema(description = "调整结束时间") + private Date adjustEnd; + + @Schema(description = "调度时间") + private Date scheduleTime; + + @Schema(description = "状态(0未处理 1已采纳 2已忽略)") + private Integer status; + + @Schema(description = "处理人") + private String handler; + + @Schema(description = "处理时间") + private Date handleTime; + + @Schema(description = "创建时间") + private Date createTime; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestSaveReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestSaveReqVO.java new file mode 100644 index 0000000..fa3a51b --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestSaveReqVO.java @@ -0,0 +1,88 @@ +package com.iailab.module.model.mcs.sche.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月27日 + */ +@Schema(description = "模型服务 - 调度建议创建/修改 Request VO") +@Data +public class StScheduleSuggestSaveReqVO { + + @Schema(description = "ID") + private String id; + + @Schema(description = "标题") + @NotNull(message = "应用编号不能为空") + private String title; + + @Schema(description = "内容") + @NotNull(message = "应用编号不能为空") + private String content; + + @Schema(description = "排序") + @NotNull(message = "应用编号不能为空") + private Integer sort; + + @Schema(description = "方案ID") + private String schemeId; + + @Schema(description = "预警ID") + private String alarmId; + + @Schema(description = "预测项ID") + private String itemId; + + @Schema(description = "模型ID") + private String modelId; + + @Schema(description = "调整对象") + @NotNull(message = "应用编号不能为空") + private String scheduleObj; + + @Schema(description = "调整类型") + private String scheduleType; + + @Schema(description = "调整策略") + private String scheduleStrategy; + + @Schema(description = "调整方式") + private String adjustMode; + + @Schema(description = "调整值") + private BigDecimal adjustValue; + + @Schema(description = "调整单位") + private String adjustUnit; + + @Schema(description = "持续时长") + private BigDecimal adjustTimes; + + @Schema(description = "调整开始时间") + private Date adjustStart; + + @Schema(description = "调整结束时间") + private Date adjustEnd; + + @Schema(description = "调度时间") + private Date scheduleTime; + + @Schema(description = "状态(0未处理 1已采纳 2已忽略)") + private Integer status; + + @Schema(description = "处理人") + private String handler; + + @Schema(description = "处理时间") + private Date handleTime; + + @Schema(description = "创建时间") + private Date createTime; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml b/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml index 61cdbda..9883f9f 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml +++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml @@ -193,6 +193,7 @@ - t_mm_item_result_json - t_mm_item_result_last_point - t_mm_item_accuracy_rate + - t_mm_item_accuracy_his - t_mm_predict_alarm_config - t_mm_predict_alarm_message - t_mm_sequence_num diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmItemOutputDao.xml b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmItemOutputDao.xml index 7579f95..be28aad 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmItemOutputDao.xml +++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmItemOutputDao.xml @@ -3,4 +3,12 @@ <mapper namespace="com.iailab.module.model.mcs.pre.dao.MmItemOutputDao"> + <select id="queryList" resultType="com.iailab.module.model.mcs.pre.dto.MmItemOutputDTO"> + select * from t_mm_item_output t + <where> + <if test="params.itemid != null and params.itemid != ''"> + AND t.itemid LIKE CONCAT('%', #{params.itemid},'%') + </if> + </where> + </select> </mapper> \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml new file mode 100644 index 0000000..9cee8c2 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.iailab.module.model.mcs.pre.dao.MmPredictAlarmConfigDao"> + <select id="getPageList" resultType="com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigRespVO"> + select t1.*,t2.itemname itemName,t3.tagname outName + from t_mm_predict_alarm_config t1 + left join t_mm_predict_item t2 on t2.id = t1.item_id + left join t_mm_item_output t3 on t3.id = t1.out_id + <where> + <if test="params.title != null and params.title != ''"> + AND t.title LIKE CONCAT('%', #{params.title},'%') + </if> + <if test="params.alarmObj != null and params.alarmObj != ''"> + AND t.alarmObj LIKE CONCAT('%', #{params.alarmObj},'%') + </if> + </where> + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.3