Browse Source
- 新增 Algorithm、ModelStatus、ModelTrash 和 ModelVisible 枚举类- 重构了模型相关的数据结构和接口 - 新增模型列表查询和创建模型的功能 -优化了代码结构,提高了可维护性和可扩展性pull/16/head
53 changed files with 1060 additions and 169 deletions
@ -0,0 +1,32 @@ |
|||
package cn.iocoder.yudao.module.alert.common.enums; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
|
|||
import java.util.Objects; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-19 14:07 |
|||
*/ |
|||
@AllArgsConstructor |
|||
public enum Algorithm { |
|||
/** |
|||
* 模型算法枚举 |
|||
*/ |
|||
ERROR(-1), |
|||
PCA(0), |
|||
ANN(1); |
|||
|
|||
public final Integer code; |
|||
|
|||
|
|||
public static Algorithm of(Integer code) { |
|||
for (Algorithm algorithm : values()) { |
|||
if (Objects.equals(algorithm.code, code)) { |
|||
return algorithm; |
|||
} |
|||
} |
|||
return ERROR; |
|||
} |
|||
} |
@ -0,0 +1,22 @@ |
|||
package cn.iocoder.yudao.module.alert.common.enums; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-19 13:48 |
|||
*/ |
|||
@AllArgsConstructor |
|||
public enum ModelStatus { |
|||
/** |
|||
* 模型状态 |
|||
*/ |
|||
TRAINING(0, "训练中"), |
|||
FINISH(1, "已下装"); |
|||
|
|||
|
|||
public final Integer code; |
|||
|
|||
public final String desc; |
|||
} |
@ -0,0 +1,21 @@ |
|||
package cn.iocoder.yudao.module.alert.common.enums; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-19 13:53 |
|||
*/ |
|||
@AllArgsConstructor |
|||
public enum ModelTrash { |
|||
/** |
|||
* 删除状态 |
|||
*/ |
|||
NORMAL(0, "正常"), |
|||
TRASH(1, "已删除"), |
|||
; |
|||
public final Integer code; |
|||
|
|||
public final String desc; |
|||
} |
@ -0,0 +1,19 @@ |
|||
package cn.iocoder.yudao.module.alert.common.enums; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-19 14:00 |
|||
*/ |
|||
@AllArgsConstructor |
|||
public enum ModelVisible { |
|||
/** |
|||
* 模型可见状态 |
|||
*/ |
|||
VISIBLE(1), |
|||
INVISIBLE(0), |
|||
; |
|||
public final Integer code; |
|||
} |
@ -0,0 +1,67 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.exa.vo; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-20 20:45 |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class ExaPoint { |
|||
/** |
|||
* 点号 |
|||
*/ |
|||
@JsonProperty("ItemName") |
|||
private String itemName; |
|||
/** |
|||
* |
|||
*/ |
|||
@JsonProperty("SerialNumber") |
|||
private int serialNumber; |
|||
/** |
|||
* 组名 |
|||
*/ |
|||
@JsonProperty("GroupName") |
|||
private String groupName; |
|||
/** |
|||
* 类型 |
|||
*/ |
|||
@JsonProperty("ItemType") |
|||
private int itemType; |
|||
/** |
|||
* 描述 |
|||
*/ |
|||
@JsonProperty("Descriptor") |
|||
private String descriptor; |
|||
/** |
|||
* 单位 |
|||
*/ |
|||
@JsonProperty("EngUnits") |
|||
private String engUnits; |
|||
/** |
|||
* 上限 |
|||
*/ |
|||
@JsonProperty("UpperLimit") |
|||
private Double upperLimit; |
|||
/** |
|||
* 下限 |
|||
*/ |
|||
@JsonProperty("LowerLimit") |
|||
private Double lowerLimit; |
|||
/** |
|||
* 上边界 |
|||
*/ |
|||
@JsonProperty("LowerBound") |
|||
private Double lowerBound; |
|||
/** |
|||
* 下变价 |
|||
*/ |
|||
@JsonProperty("UpperBound") |
|||
private Double upperBound; |
|||
} |
@ -0,0 +1,35 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.model; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.*; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-19 23:02 |
|||
*/ |
|||
@Data |
|||
@Builder |
|||
@ToString |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class ModelInfo { |
|||
/** |
|||
* id |
|||
*/ |
|||
private Integer id; |
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createName; |
|||
/** |
|||
* 名称 |
|||
*/ |
|||
private String modelName; |
|||
|
|||
|
|||
|
|||
private List<Point> pointInfo; |
|||
} |
@ -0,0 +1,59 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.model; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.*; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-19 22:48 |
|||
*/ |
|||
@Data |
|||
@Builder |
|||
@ToString |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class Point { |
|||
/** |
|||
* 系统名称 |
|||
*/ |
|||
private String systemName; |
|||
|
|||
/** |
|||
* 目标点号 |
|||
*/ |
|||
@JsonProperty("target_point") |
|||
private String targetPoint; |
|||
|
|||
/** |
|||
* 描述 |
|||
*/ |
|||
private String description; |
|||
|
|||
/** |
|||
* 单位 |
|||
*/ |
|||
private String unit; |
|||
|
|||
/** |
|||
* 类型 |
|||
*/ |
|||
private String marktype; |
|||
|
|||
/** |
|||
* 上限 |
|||
*/ |
|||
private BigDecimal upperlimit; |
|||
|
|||
/** |
|||
* 下限 |
|||
*/ |
|||
private BigDecimal lowerlimit; |
|||
|
|||
/** |
|||
* 网格数 |
|||
*/ |
|||
private Integer gridNumber; |
|||
} |
@ -1,4 +1,4 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.model.vo; |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
|||
|
|||
import lombok.Data; |
|||
|
@ -1,4 +1,4 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.model.vo; |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import jakarta.validation.constraints.NotBlank; |
@ -1,4 +1,4 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.model.vo; |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
|||
|
|||
import lombok.*; |
|||
|
@ -1,4 +1,4 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.model.vo; |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
|||
|
|||
import lombok.Data; |
|||
|
@ -1,4 +1,4 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.model.vo; |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Builder; |
@ -1,4 +1,4 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.model.vo; |
|||
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
|||
|
|||
import lombok.Data; |
|||
|
@ -0,0 +1,56 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.system; |
|||
|
|||
import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.OptionItemVO; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectQuery; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.PointOptionItemVO; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectAllOptionVO; |
|||
import cn.iocoder.yudao.module.alert.service.exa.EXAService; |
|||
import cn.iocoder.yudao.module.alert.service.system.SelectService; |
|||
import jakarta.validation.Valid; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.util.StringUtils; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-16 22:37 |
|||
*/ |
|||
@RestController |
|||
@RequiredArgsConstructor |
|||
@RequestMapping("/alert/select") |
|||
public class SelectController { |
|||
/** |
|||
* 查询条件不能含有这个,否则exa会挂掉 |
|||
*/ |
|||
private static final String EXA_NOT_SUPPORT_STR = "'"; |
|||
private final SelectService selectService; |
|||
|
|||
private final EXAService exaService; |
|||
|
|||
@GetMapping("list") |
|||
public CommonResult<SelectAllOptionVO> getAllOptions() { |
|||
SelectAllOptionVO allOptions = selectService.getAllOptions(); |
|||
return CommonResult.success(allOptions); |
|||
} |
|||
|
|||
@GetMapping("/system/options") |
|||
public CommonResult<List<OptionItemVO>> getTypeOptions(@Valid SelectQuery query) { |
|||
List<OptionItemVO> systemOptions = selectService.getSystemOptions(query); |
|||
return CommonResult.success(systemOptions); |
|||
} |
|||
|
|||
@GetMapping("/point/options") |
|||
public CommonResult<List<PointOptionItemVO>> getPointOptions(String keyword) { |
|||
List<PointOptionItemVO> pointOptionList = new ArrayList<>(); |
|||
if (StringUtils.hasText(keyword) && !keyword.contains(EXA_NOT_SUPPORT_STR)) { |
|||
pointOptionList = exaService.getPointOptionList(keyword); |
|||
} |
|||
return CommonResult.success(pointOptionList); |
|||
} |
|||
} |
@ -0,0 +1,26 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.system.vo; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Builder; |
|||
import lombok.Data; |
|||
import lombok.ToString; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-16 22:39 |
|||
*/ |
|||
@Data |
|||
@Builder |
|||
@ToString |
|||
@AllArgsConstructor |
|||
public class OptionItemVO { |
|||
/** |
|||
* id |
|||
*/ |
|||
private Integer id; |
|||
/** |
|||
* 名称 |
|||
*/ |
|||
private String name; |
|||
} |
@ -0,0 +1,21 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.system.vo; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Builder; |
|||
import lombok.Data; |
|||
import lombok.ToString; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-20 20:55 |
|||
*/ |
|||
@Data |
|||
@Builder |
|||
@ToString |
|||
@AllArgsConstructor |
|||
public class PointOptionItemVO { |
|||
private String id; |
|||
|
|||
private String name; |
|||
} |
@ -0,0 +1,32 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.system.vo; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Builder; |
|||
import lombok.Data; |
|||
import lombok.ToString; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-16 22:38 |
|||
*/ |
|||
@Data |
|||
@Builder |
|||
@ToString |
|||
@AllArgsConstructor |
|||
public class SelectAllOptionVO { |
|||
/** |
|||
* 机组选项 |
|||
*/ |
|||
private List<OptionItemVO> units; |
|||
/** |
|||
* 系统选项 |
|||
*/ |
|||
private List<OptionItemVO> types; |
|||
/** |
|||
* 子系统选项 |
|||
*/ |
|||
private List<OptionItemVO> systems; |
|||
} |
@ -0,0 +1,18 @@ |
|||
package cn.iocoder.yudao.module.alert.controller.admin.system.vo; |
|||
|
|||
import jakarta.validation.constraints.NotNull; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-17 23:48 |
|||
*/ |
|||
@Data |
|||
public class SelectQuery { |
|||
@NotNull |
|||
private Integer unitId; |
|||
@NotNull |
|||
private Integer typeId; |
|||
} |
@ -1,75 +1,53 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Builder; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @TableName model_cfg |
|||
*/ |
|||
@TableName(value ="model_cfg") |
|||
@TableName(value = "model_cfg") |
|||
@Data |
|||
public class ModelCfg { |
|||
@Builder |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class ModelCfg implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
private Integer id; |
|||
|
|||
private Integer systemId; |
|||
|
|||
private Integer algorithmId; |
|||
|
|||
private String modelName; |
|||
|
|||
private Date creatTime; |
|||
|
|||
private String creatName; |
|||
|
|||
private String modelInfo; |
|||
|
|||
private Integer status; |
|||
|
|||
private Integer visible; |
|||
|
|||
private String conditionInfo; |
|||
|
|||
private Integer trash; |
|||
|
|||
private String assessRes; |
|||
|
|||
private Integer needToAssess; |
|||
|
|||
private Double score; |
|||
|
|||
private String clearOrNot; |
|||
|
|||
private Integer effNumber; |
|||
|
|||
private Integer needToClean; |
|||
|
|||
private String origAssessRes; |
|||
|
|||
private Double loadCover; |
|||
|
|||
private String coverOutput; |
|||
|
|||
private String curVersion; |
|||
|
|||
private String modelVersion; |
|||
|
|||
private String versionInfo; |
|||
|
|||
private String conditionName; |
|||
|
|||
private Integer isOnline; |
|||
|
|||
private Integer trainStatus; |
|||
|
|||
private String creator; |
|||
|
|||
private Date createTime; |
|||
|
|||
private String updater; |
|||
|
|||
private Date updateTime; |
|||
|
|||
private Boolean deleted; |
|||
} |
@ -0,0 +1,34 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @TableName system_cfg |
|||
*/ |
|||
@TableName(value ="system_cfg") |
|||
@Data |
|||
public class SystemCfg implements Serializable { |
|||
private Integer systemId; |
|||
|
|||
private Integer systemTypeId; |
|||
|
|||
private String systemName; |
|||
|
|||
private String systemShortname; |
|||
|
|||
private Integer unitId; |
|||
|
|||
private String resetpoint; |
|||
|
|||
private Date resettime; |
|||
|
|||
private String resetlist; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
} |
@ -0,0 +1,23 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import java.io.Serializable; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @TableName system_type_cfg |
|||
*/ |
|||
@TableName(value ="system_type_cfg") |
|||
@Data |
|||
public class SystemTypeCfg implements Serializable { |
|||
private Integer systemTypeId; |
|||
|
|||
private String systemTypeName; |
|||
|
|||
private String systemTypeShortname; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
} |
@ -0,0 +1,41 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import java.io.Serializable; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @TableName unit_cfg |
|||
*/ |
|||
@TableName(value ="unit_cfg") |
|||
@Data |
|||
public class UnitCfg implements Serializable { |
|||
private Integer unitId; |
|||
|
|||
private Integer plantId; |
|||
|
|||
private String unitName; |
|||
|
|||
private String unitShortname; |
|||
|
|||
private String alertBasicSample; |
|||
|
|||
private String loadpoint; |
|||
|
|||
private String temppoint; |
|||
|
|||
private Integer capacity; |
|||
|
|||
private String zqylqx; |
|||
|
|||
private String zqylMeasured; |
|||
|
|||
private String zqylTarget; |
|||
|
|||
private String datas; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
} |
@ -0,0 +1,18 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.mapper; |
|||
|
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【system_cfg】的数据库操作Mapper |
|||
* @createDate 2025-05-21 16:10:38 |
|||
* @Entity cn.iocoder.yudao.module.alert.dao.domain.SystemCfg |
|||
*/ |
|||
public interface SystemCfgMapper extends BaseMapper<SystemCfg> { |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,18 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.mapper; |
|||
|
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【system_type_cfg】的数据库操作Mapper |
|||
* @createDate 2025-05-21 16:10:57 |
|||
* @Entity cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg |
|||
*/ |
|||
public interface SystemTypeCfgMapper extends BaseMapper<SystemTypeCfg> { |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,18 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.mapper; |
|||
|
|||
import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【unit_cfg】的数据库操作Mapper |
|||
* @createDate 2025-05-21 16:07:43 |
|||
* @Entity cn.iocoder.yudao.module.alert.dao.domain.UnitCfg |
|||
*/ |
|||
public interface UnitCfgMapper extends BaseMapper<UnitCfg> { |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,13 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.service; |
|||
|
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【system_cfg】的数据库操作Service |
|||
* @createDate 2025-05-21 16:10:38 |
|||
*/ |
|||
public interface SystemCfgService extends IService<SystemCfg> { |
|||
|
|||
} |
@ -0,0 +1,13 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.service; |
|||
|
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【system_type_cfg】的数据库操作Service |
|||
* @createDate 2025-05-21 16:10:57 |
|||
*/ |
|||
public interface SystemTypeCfgService extends IService<SystemTypeCfg> { |
|||
|
|||
} |
@ -0,0 +1,13 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.service; |
|||
|
|||
import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【unit_cfg】的数据库操作Service |
|||
* @createDate 2025-05-21 16:07:43 |
|||
*/ |
|||
public interface UnitCfgService extends IService<UnitCfg> { |
|||
|
|||
} |
@ -0,0 +1,22 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; |
|||
import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; |
|||
import cn.iocoder.yudao.module.alert.dao.mapper.SystemCfgMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【system_cfg】的数据库操作Service实现 |
|||
* @createDate 2025-05-21 16:10:38 |
|||
*/ |
|||
@Service |
|||
public class SystemCfgServiceImpl extends ServiceImpl<SystemCfgMapper, SystemCfg> |
|||
implements SystemCfgService{ |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,22 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; |
|||
import cn.iocoder.yudao.module.alert.dao.service.SystemTypeCfgService; |
|||
import cn.iocoder.yudao.module.alert.dao.mapper.SystemTypeCfgMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【system_type_cfg】的数据库操作Service实现 |
|||
* @createDate 2025-05-21 16:10:57 |
|||
*/ |
|||
@Service |
|||
public class SystemTypeCfgServiceImpl extends ServiceImpl<SystemTypeCfgMapper, SystemTypeCfg> |
|||
implements SystemTypeCfgService{ |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,22 @@ |
|||
package cn.iocoder.yudao.module.alert.dao.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; |
|||
import cn.iocoder.yudao.module.alert.dao.service.UnitCfgService; |
|||
import cn.iocoder.yudao.module.alert.dao.mapper.UnitCfgMapper; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* @author 陈小黑 |
|||
* @description 针对表【unit_cfg】的数据库操作Service实现 |
|||
* @createDate 2025-05-21 16:07:43 |
|||
*/ |
|||
@Service |
|||
public class UnitCfgServiceImpl extends ServiceImpl<UnitCfgMapper, UnitCfg> |
|||
implements UnitCfgService{ |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,30 @@ |
|||
package cn.iocoder.yudao.module.alert.service.system; |
|||
|
|||
|
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.OptionItemVO; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectAllOptionVO; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectQuery; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-16 22:44 |
|||
*/ |
|||
public interface SelectService { |
|||
/** |
|||
* 获取所有的下拉框选项 |
|||
* |
|||
* @return 下拉框选项 |
|||
*/ |
|||
SelectAllOptionVO getAllOptions(); |
|||
|
|||
/** |
|||
* 根据unit id和type id获取系统选项 |
|||
* |
|||
* @param query 查询参数 |
|||
* @return 系统选项 |
|||
*/ |
|||
List<OptionItemVO> getSystemOptions(SelectQuery query); |
|||
} |
@ -0,0 +1,88 @@ |
|||
package cn.iocoder.yudao.module.alert.service.system.impl; |
|||
|
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.OptionItemVO; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectAllOptionVO; |
|||
import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectQuery; |
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; |
|||
import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; |
|||
import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; |
|||
import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; |
|||
import cn.iocoder.yudao.module.alert.dao.service.SystemTypeCfgService; |
|||
import cn.iocoder.yudao.module.alert.dao.service.UnitCfgService; |
|||
import cn.iocoder.yudao.module.alert.service.system.SelectService; |
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import jakarta.validation.Valid; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* @author chenjiale |
|||
* @version 1.0 |
|||
* @date 2023-08-16 22:45 |
|||
*/ |
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class SelectServiceImpl implements SelectService { |
|||
private final UnitCfgService unitCfgService; |
|||
|
|||
private final SystemTypeCfgService systemTypeCfgService; |
|||
|
|||
private final SystemCfgService systemCfgService; |
|||
|
|||
@Override |
|||
public SelectAllOptionVO getAllOptions() { |
|||
List<UnitCfg> unitCfgList = unitCfgService.list(); |
|||
|
|||
LambdaQueryWrapper<SystemTypeCfg> typeQuery = new LambdaQueryWrapper<>(); |
|||
typeQuery.orderByAsc(SystemTypeCfg::getSystemTypeId); |
|||
List<SystemTypeCfg> typeCfgList = systemTypeCfgService.list(typeQuery); |
|||
|
|||
LambdaQueryWrapper<SystemCfg> queryWrapper = new LambdaQueryWrapper<>(); |
|||
queryWrapper.eq(SystemCfg::getSystemTypeId, typeCfgList.get(0).getSystemTypeId()) |
|||
.eq(SystemCfg::getUnitId, unitCfgList.get(0).getUnitId()) |
|||
.orderByAsc(SystemCfg::getSystemId); |
|||
List<SystemCfg> systemCfgList = systemCfgService.list(queryWrapper); |
|||
|
|||
|
|||
List<OptionItemVO> units = unitCfgList.stream().map(o -> OptionItemVO.builder() |
|||
.id(o.getUnitId()) |
|||
.name(o.getUnitName().trim()) |
|||
.build()).collect(Collectors.toList()); |
|||
List<OptionItemVO> types = typeCfgList.stream().map(o -> OptionItemVO.builder() |
|||
.id(o.getSystemTypeId()) |
|||
.name(o.getSystemTypeShortname().trim()) |
|||
.build()).collect(Collectors.toList()); |
|||
|
|||
List<OptionItemVO> systems = systemCfgList.stream().map(o -> OptionItemVO.builder() |
|||
.id(o.getSystemId()) |
|||
.name(o.getSystemName().trim()) |
|||
.build()).collect(Collectors.toList()); |
|||
systems.add(0, OptionItemVO.builder().id(null).name("全部").build()); |
|||
return SelectAllOptionVO.builder() |
|||
.units(units) |
|||
.types(types) |
|||
.systems(systems) |
|||
.build(); |
|||
} |
|||
|
|||
@Override |
|||
public List<OptionItemVO> getSystemOptions(@Valid SelectQuery query) { |
|||
LambdaQueryWrapper<SystemCfg> queryWrapper = new LambdaQueryWrapper<>(); |
|||
Integer unitId = query.getUnitId(); |
|||
Integer typeId = query.getTypeId(); |
|||
queryWrapper.eq(SystemCfg::getSystemTypeId, typeId) |
|||
.eq(SystemCfg::getUnitId, unitId) |
|||
.orderByAsc(SystemCfg::getSystemId); |
|||
List<SystemCfg> systemCfgList = systemCfgService.list(queryWrapper); |
|||
List<OptionItemVO> systems = systemCfgList.stream().map(o -> OptionItemVO.builder() |
|||
.id(o.getSystemId()) |
|||
.name(o.getSystemName().trim()) |
|||
.build()) |
|||
.collect(Collectors.toList()); |
|||
systems.add(0, OptionItemVO.builder().id(null).name("全部").build()); |
|||
return systems; |
|||
} |
|||
} |
@ -1,49 +0,0 @@ |
|||
<?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="cn.iocoder.yudao.module.alert.dao.mapper.ModelCfgMapper"> |
|||
|
|||
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.alert.dao.domain.ModelCfg"> |
|||
<id property="id" column="id" /> |
|||
<result property="systemId" column="system_id" /> |
|||
<result property="algorithmId" column="algorithm_id" /> |
|||
<result property="modelName" column="model_name" /> |
|||
<result property="creatTime" column="creat_time" /> |
|||
<result property="creatName" column="creat_name" /> |
|||
<result property="modelInfo" column="model_info" /> |
|||
<result property="status" column="status" /> |
|||
<result property="visible" column="visible" /> |
|||
<result property="conditionInfo" column="condition_info" /> |
|||
<result property="trash" column="trash" /> |
|||
<result property="assessRes" column="assess_res" /> |
|||
<result property="needToAssess" column="need_to_assess" /> |
|||
<result property="score" column="score" /> |
|||
<result property="clearOrNot" column="clear_or_not" /> |
|||
<result property="effNumber" column="eff_number" /> |
|||
<result property="needToClean" column="need_to_clean" /> |
|||
<result property="origAssessRes" column="orig_assess_res" /> |
|||
<result property="loadCover" column="load_cover" /> |
|||
<result property="coverOutput" column="cover_output" /> |
|||
<result property="curVersion" column="cur_version" /> |
|||
<result property="modelVersion" column="model_version" /> |
|||
<result property="versionInfo" column="version_info" /> |
|||
<result property="conditionName" column="condition_name" /> |
|||
<result property="isOnline" column="is_online" /> |
|||
<result property="trainStatus" column="train_status" /> |
|||
<result property="creator" column="creator" /> |
|||
<result property="createTime" column="create_time" /> |
|||
<result property="updater" column="updater" /> |
|||
<result property="updateTime" column="update_time" /> |
|||
<result property="deleted" column="deleted" /> |
|||
</resultMap> |
|||
|
|||
<sql id="Base_Column_List"> |
|||
id,system_id,algorithm_id,model_name,creat_time,creat_name, |
|||
model_info,status,visible,condition_info,trash, |
|||
assess_res,need_to_assess,score,clear_or_not,eff_number, |
|||
need_to_clean,orig_assess_res,load_cover,cover_output,cur_version, |
|||
model_version,version_info,condition_name,is_online,train_status, |
|||
creator,create_time,updater,update_time,deleted |
|||
</sql> |
|||
</mapper> |
@ -0,0 +1,54 @@ |
|||
<?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="cn.iocoder.yudao.module.alert.dao.mapper.ModelCfgMapper"> |
|||
|
|||
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.alert.dao.domain.ModelCfg"> |
|||
<id property="id" column="id" jdbcType="INTEGER"/> |
|||
<result property="systemId" column="system_id" jdbcType="INTEGER"/> |
|||
<result property="algorithmId" column="algorithm_id" jdbcType="INTEGER"/> |
|||
<result property="modelName" column="model_name" jdbcType="VARCHAR"/> |
|||
<result property="creatTime" column="creat_time" jdbcType="TIMESTAMP"/> |
|||
<result property="creatName" column="creat_name" jdbcType="VARCHAR"/> |
|||
<result property="modelInfo" column="model_info" jdbcType="VARCHAR"/> |
|||
<result property="status" column="status" jdbcType="INTEGER"/> |
|||
<result property="visible" column="visible" jdbcType="INTEGER"/> |
|||
<result property="conditionInfo" column="condition_info" jdbcType="VARCHAR"/> |
|||
<result property="trash" column="trash" jdbcType="INTEGER"/> |
|||
<result property="assessRes" column="assess_res" jdbcType="VARCHAR"/> |
|||
<result property="needToAssess" column="need_to_assess" jdbcType="INTEGER"/> |
|||
<result property="score" column="score" jdbcType="FLOAT"/> |
|||
<result property="clearOrNot" column="clear_or_not" jdbcType="CHAR"/> |
|||
<result property="effNumber" column="eff_number" jdbcType="INTEGER"/> |
|||
<result property="needToClean" column="need_to_clean" jdbcType="INTEGER"/> |
|||
<result property="origAssessRes" column="orig_assess_res" jdbcType="VARCHAR"/> |
|||
<result property="loadCover" column="load_cover" jdbcType="FLOAT"/> |
|||
<result property="coverOutput" column="cover_output" jdbcType="VARCHAR"/> |
|||
<result property="curVersion" column="cur_version" jdbcType="VARCHAR"/> |
|||
<result property="modelVersion" column="model_version" jdbcType="VARCHAR"/> |
|||
<result property="versionInfo" column="version_info" jdbcType="VARCHAR"/> |
|||
<result property="conditionName" column="condition_name" jdbcType="VARCHAR"/> |
|||
<result property="isOnline" column="is_online" jdbcType="INTEGER"/> |
|||
<result property="trainStatus" column="train_status" jdbcType="INTEGER"/> |
|||
<result property="creator" column="creator" jdbcType="VARCHAR"/> |
|||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> |
|||
<result property="updater" column="updater" jdbcType="VARCHAR"/> |
|||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> |
|||
<result property="deleted" column="deleted" jdbcType="BIT"/> |
|||
</resultMap> |
|||
|
|||
<sql id="Base_Column_List"> |
|||
id,system_id,algorithm_id, |
|||
model_name,creat_time,creat_name, |
|||
model_info,status,visible, |
|||
condition_info,trash,assess_res, |
|||
need_to_assess,score,clear_or_not, |
|||
eff_number,need_to_clean,orig_assess_res, |
|||
load_cover,cover_output,cur_version, |
|||
model_version,version_info,condition_name, |
|||
is_online,train_status,creator, |
|||
create_time,updater,update_time, |
|||
deleted |
|||
</sql> |
|||
</mapper> |
@ -0,0 +1,23 @@ |
|||
<?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="cn.iocoder.yudao.module.alert.dao.mapper.SystemCfgMapper"> |
|||
|
|||
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.alert.dao.domain.SystemCfg"> |
|||
<result property="systemId" column="system_id" jdbcType="INTEGER"/> |
|||
<result property="systemTypeId" column="system_type_id" jdbcType="INTEGER"/> |
|||
<result property="systemName" column="system_name" jdbcType="VARCHAR"/> |
|||
<result property="systemShortname" column="system_shortname" jdbcType="CHAR"/> |
|||
<result property="unitId" column="unit_id" jdbcType="INTEGER"/> |
|||
<result property="resetpoint" column="resetpoint" jdbcType="VARCHAR"/> |
|||
<result property="resettime" column="resettime" jdbcType="TIMESTAMP"/> |
|||
<result property="resetlist" column="resetlist" jdbcType="VARCHAR"/> |
|||
</resultMap> |
|||
|
|||
<sql id="Base_Column_List"> |
|||
system_id,system_type_id,system_name, |
|||
system_shortname,unit_id,resetpoint, |
|||
resettime,resetlist |
|||
</sql> |
|||
</mapper> |
@ -0,0 +1,16 @@ |
|||
<?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="cn.iocoder.yudao.module.alert.dao.mapper.SystemTypeCfgMapper"> |
|||
|
|||
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg"> |
|||
<id property="systemTypeId" column="system_type_id" jdbcType="INTEGER"/> |
|||
<result property="systemTypeName" column="system_type_name" jdbcType="CHAR"/> |
|||
<result property="systemTypeShortname" column="system_type_shortname" jdbcType="CHAR"/> |
|||
</resultMap> |
|||
|
|||
<sql id="Base_Column_List"> |
|||
system_type_id,system_type_name,system_type_shortname |
|||
</sql> |
|||
</mapper> |
@ -0,0 +1,28 @@ |
|||
<?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="cn.iocoder.yudao.module.alert.dao.mapper.UnitCfgMapper"> |
|||
|
|||
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.alert.dao.domain.UnitCfg"> |
|||
<result property="unitId" column="unit_id" jdbcType="INTEGER"/> |
|||
<result property="plantId" column="plant_id" jdbcType="INTEGER"/> |
|||
<result property="unitName" column="unit_name" jdbcType="CHAR"/> |
|||
<result property="unitShortname" column="unit_shortname" jdbcType="CHAR"/> |
|||
<result property="alertBasicSample" column="alert_basic_sample" jdbcType="VARCHAR"/> |
|||
<result property="loadpoint" column="loadpoint" jdbcType="VARCHAR"/> |
|||
<result property="temppoint" column="temppoint" jdbcType="VARCHAR"/> |
|||
<result property="capacity" column="capacity" jdbcType="INTEGER"/> |
|||
<result property="zqylqx" column="zqylqx" jdbcType="VARCHAR"/> |
|||
<result property="zqylMeasured" column="zqyl_measured" jdbcType="VARCHAR"/> |
|||
<result property="zqylTarget" column="zqyl_target" jdbcType="VARCHAR"/> |
|||
<result property="datas" column="datas" jdbcType="VARCHAR"/> |
|||
</resultMap> |
|||
|
|||
<sql id="Base_Column_List"> |
|||
unit_id,plant_id,unit_name, |
|||
unit_shortname,alert_basic_sample,loadpoint, |
|||
temppoint,capacity,zqylqx, |
|||
zqyl_measured,zqyl_target,datas |
|||
</sql> |
|||
</mapper> |
Loading…
Reference in new issue