Prechádzať zdrojové kódy

健康度巡检时,正常指标也需要记录

wukai 8 mesiacov pred
rodič
commit
a755f56dd2

+ 114 - 0
jjt-biz/src/main/java/com/jjt/hl/controller/HlMetricsScoreViewController.java

@@ -0,0 +1,114 @@
+package com.jjt.hl.controller;
+
+import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jjt.common.annotation.Log;
+import com.jjt.common.core.controller.BaseController;
+import com.jjt.common.core.domain.AjaxResult;
+import com.jjt.common.enums.BusinessType;
+import com.jjt.hl.domain.HlMetricsScoreView;
+import com.jjt.hl.service.IHlMetricsScoreViewService;
+import com.jjt.common.utils.poi.ExcelUtil;
+import com.jjt.common.core.page.TableDataInfo;
+
+/**
+ * 业务模型健康度得分指标查看Controller
+ *
+ * @author jjt
+ * @date 2024-09-23
+ */
+@Api(tags="业务模型健康度得分指标查看")
+@RestController
+@RequestMapping("/hl/hlView")
+public class HlMetricsScoreViewController extends BaseController
+{
+    @Resource
+    private IHlMetricsScoreViewService hlMetricsScoreViewService;
+
+    /**
+     * 查询业务模型健康度得分指标查看列表
+     */
+    @ApiOperation("查询业务模型健康度得分指标查看列表")
+    @PreAuthorize("@ss.hasPermi('hl:hlView:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(HlMetricsScoreView hlMetricsScoreView)
+    {
+        startPage();
+        List<HlMetricsScoreView> list = hlMetricsScoreViewService.selectHlMetricsScoreViewList(hlMetricsScoreView);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出业务模型健康度得分指标查看列表
+     */
+    @ApiOperation("导出业务模型健康度得分指标查看列表")
+    @PreAuthorize("@ss.hasPermi('hl:hlView:export')")
+    @Log(title = "业务模型健康度得分指标查看", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, HlMetricsScoreView hlMetricsScoreView)
+    {
+        List<HlMetricsScoreView> list = hlMetricsScoreViewService.selectHlMetricsScoreViewList(hlMetricsScoreView);
+        ExcelUtil<HlMetricsScoreView> util = new ExcelUtil<HlMetricsScoreView>(HlMetricsScoreView.class);
+        util.exportExcel(response, list, "业务模型健康度得分指标查看数据");
+    }
+
+    /**
+     * 获取业务模型健康度得分指标查看详细信息
+     */
+    @ApiOperation("获取业务模型健康度得分指标查看详细信息")
+    @PreAuthorize("@ss.hasPermi('hl:hlView:query')")
+    @GetMapping(value = "/{scoreDetailId}")
+    public AjaxResult getInfo(@PathVariable("scoreDetailId") Long scoreDetailId)
+    {
+        return success(hlMetricsScoreViewService.selectHlMetricsScoreViewByScoreDetailId(scoreDetailId));
+    }
+
+    /**
+     * 新增业务模型健康度得分指标查看
+     */
+    @ApiOperation("新增业务模型健康度得分指标查看")
+    @PreAuthorize("@ss.hasPermi('hl:hlView:add')")
+    @Log(title = "业务模型健康度得分指标查看", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody HlMetricsScoreView hlMetricsScoreView)
+    {
+        return toAjax(hlMetricsScoreViewService.insertHlMetricsScoreView(hlMetricsScoreView));
+    }
+
+    /**
+     * 修改业务模型健康度得分指标查看
+     */
+    @ApiOperation("修改业务模型健康度得分指标查看")
+    @PreAuthorize("@ss.hasPermi('hl:hlView:edit')")
+    @Log(title = "业务模型健康度得分指标查看", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody HlMetricsScoreView hlMetricsScoreView)
+    {
+        return toAjax(hlMetricsScoreViewService.updateHlMetricsScoreView(hlMetricsScoreView));
+    }
+
+    /**
+     * 删除业务模型健康度得分指标查看
+     */
+    @ApiOperation("删除业务模型健康度得分指标查看")
+    @PreAuthorize("@ss.hasPermi('hl:hlView:remove')")
+    @Log(title = "业务模型健康度得分指标查看", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{scoreDetailIds}")
+    public AjaxResult remove(@PathVariable Long[] scoreDetailIds)
+    {
+        return toAjax(hlMetricsScoreViewService.deleteHlMetricsScoreViewByScoreDetailIds(scoreDetailIds));
+    }
+}

+ 89 - 0
jjt-biz/src/main/java/com/jjt/hl/domain/HlMetricsScoreView.java

@@ -0,0 +1,89 @@
+package com.jjt.hl.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.jjt.common.annotation.Excel;
+import com.jjt.common.core.domain.BaseEntity;
+
+/**
+ * 业务模型健康度得分指标查看对象 hl_metrics_score_view
+ *
+ * @author jjt
+ * @date 2024-09-23
+ */
+@ApiModel(value = "HlMetricsScoreView", description = "业务模型健康度得分指标查看")
+public class HlMetricsScoreView extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 指标明细ID */
+    @ApiModelProperty("指标明细ID")
+    @TableId
+    private Long scoreDetailId;
+
+    /** 得分明细ID */
+    @ApiModelProperty("得分明细ID")
+    @Excel(name = "得分明细ID")
+    private Long scoreMetricsId;
+
+    /** 指标ID */
+    @ApiModelProperty("指标ID")
+    @Excel(name = "指标ID")
+    private Long objMetricsId;
+
+    /** 当前值 */
+    @ApiModelProperty("当前值")
+    @Excel(name = "当前值")
+    private BigDecimal dValue;
+
+    public void setScoreDetailId(Long scoreDetailId)
+    {
+        this.scoreDetailId = scoreDetailId;
+    }
+
+    public Long getScoreDetailId()
+    {
+        return scoreDetailId;
+    }
+    public void setScoreMetricsId(Long scoreMetricsId)
+    {
+        this.scoreMetricsId = scoreMetricsId;
+    }
+
+    public Long getScoreMetricsId()
+    {
+        return scoreMetricsId;
+    }
+    public void setObjMetricsId(Long objMetricsId)
+    {
+        this.objMetricsId = objMetricsId;
+    }
+
+    public Long getObjMetricsId()
+    {
+        return objMetricsId;
+    }
+    public void setdValue(BigDecimal dValue)
+    {
+        this.dValue = dValue;
+    }
+
+    public BigDecimal getdValue()
+    {
+        return dValue;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("scoreDetailId", getScoreDetailId())
+            .append("scoreMetricsId", getScoreMetricsId())
+            .append("objMetricsId", getObjMetricsId())
+            .append("dValue", getdValue())
+            .toString();
+    }
+}

+ 62 - 0
jjt-biz/src/main/java/com/jjt/hl/mapper/HlMetricsScoreViewMapper.java

@@ -0,0 +1,62 @@
+package com.jjt.hl.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jjt.hl.domain.HlMetricsScoreView;
+
+/**
+ * 业务模型健康度得分指标查看Mapper接口
+ * 
+ * @author jjt
+ * @date 2024-09-23
+ */
+public interface HlMetricsScoreViewMapper extends BaseMapper<HlMetricsScoreView>
+{
+    /**
+     * 查询业务模型健康度得分指标查看
+     * 
+     * @param scoreDetailId 业务模型健康度得分指标查看主键
+     * @return 业务模型健康度得分指标查看
+     */
+    public HlMetricsScoreView selectHlMetricsScoreViewByScoreDetailId(Long scoreDetailId);
+
+    /**
+     * 查询业务模型健康度得分指标查看列表
+     * 
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 业务模型健康度得分指标查看集合
+     */
+    public List<HlMetricsScoreView> selectHlMetricsScoreViewList(HlMetricsScoreView hlMetricsScoreView);
+
+    /**
+     * 新增业务模型健康度得分指标查看
+     * 
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 结果
+     */
+    public int insertHlMetricsScoreView(HlMetricsScoreView hlMetricsScoreView);
+
+    /**
+     * 修改业务模型健康度得分指标查看
+     * 
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 结果
+     */
+    public int updateHlMetricsScoreView(HlMetricsScoreView hlMetricsScoreView);
+
+    /**
+     * 删除业务模型健康度得分指标查看
+     * 
+     * @param scoreDetailId 业务模型健康度得分指标查看主键
+     * @return 结果
+     */
+    public int deleteHlMetricsScoreViewByScoreDetailId(Long scoreDetailId);
+
+    /**
+     * 批量删除业务模型健康度得分指标查看
+     * 
+     * @param scoreDetailIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteHlMetricsScoreViewByScoreDetailIds(Long[] scoreDetailIds);
+}

+ 61 - 0
jjt-biz/src/main/java/com/jjt/hl/service/IHlMetricsScoreViewService.java

@@ -0,0 +1,61 @@
+package com.jjt.hl.service;
+
+import java.util.List;
+import com.jjt.hl.domain.HlMetricsScoreView;
+
+/**
+ * 业务模型健康度得分指标查看Service接口
+ * 
+ * @author jjt
+ * @date 2024-09-23
+ */
+public interface IHlMetricsScoreViewService 
+{
+    /**
+     * 查询业务模型健康度得分指标查看
+     * 
+     * @param scoreDetailId 业务模型健康度得分指标查看主键
+     * @return 业务模型健康度得分指标查看
+     */
+    public HlMetricsScoreView selectHlMetricsScoreViewByScoreDetailId(Long scoreDetailId);
+
+    /**
+     * 查询业务模型健康度得分指标查看列表
+     * 
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 业务模型健康度得分指标查看集合
+     */
+    public List<HlMetricsScoreView> selectHlMetricsScoreViewList(HlMetricsScoreView hlMetricsScoreView);
+
+    /**
+     * 新增业务模型健康度得分指标查看
+     * 
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 结果
+     */
+    public int insertHlMetricsScoreView(HlMetricsScoreView hlMetricsScoreView);
+
+    /**
+     * 修改业务模型健康度得分指标查看
+     * 
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 结果
+     */
+    public int updateHlMetricsScoreView(HlMetricsScoreView hlMetricsScoreView);
+
+    /**
+     * 批量删除业务模型健康度得分指标查看
+     * 
+     * @param scoreDetailIds 需要删除的业务模型健康度得分指标查看主键集合
+     * @return 结果
+     */
+    public int deleteHlMetricsScoreViewByScoreDetailIds(Long[] scoreDetailIds);
+
+    /**
+     * 删除业务模型健康度得分指标查看信息
+     * 
+     * @param scoreDetailId 业务模型健康度得分指标查看主键
+     * @return 结果
+     */
+    public int deleteHlMetricsScoreViewByScoreDetailId(Long scoreDetailId);
+}

+ 86 - 0
jjt-biz/src/main/java/com/jjt/hl/service/impl/HlMetricsScoreViewServiceImpl.java

@@ -0,0 +1,86 @@
+package com.jjt.hl.service.impl;
+
+import java.util.List;
+import org.springframework.stereotype.Service;
+import com.jjt.hl.mapper.HlMetricsScoreViewMapper;
+import com.jjt.hl.domain.HlMetricsScoreView;
+import com.jjt.hl.service.IHlMetricsScoreViewService;
+import javax.annotation.Resource;
+
+/**
+ * 业务模型健康度得分指标查看Service业务层处理
+ *
+ * @author jjt
+ * @date 2024-09-23
+ */
+@Service
+public class HlMetricsScoreViewServiceImpl implements IHlMetricsScoreViewService {
+    @Resource
+    private HlMetricsScoreViewMapper hlMetricsScoreViewMapper;
+
+    /**
+     * 查询业务模型健康度得分指标查看
+     *
+     * @param scoreDetailId 业务模型健康度得分指标查看主键
+     * @return 业务模型健康度得分指标查看
+     */
+    @Override
+    public HlMetricsScoreView selectHlMetricsScoreViewByScoreDetailId(Long scoreDetailId) {
+        return hlMetricsScoreViewMapper.selectHlMetricsScoreViewByScoreDetailId(scoreDetailId);
+    }
+
+    /**
+     * 查询业务模型健康度得分指标查看列表
+     *
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 业务模型健康度得分指标查看
+     */
+    @Override
+    public List<HlMetricsScoreView> selectHlMetricsScoreViewList(HlMetricsScoreView hlMetricsScoreView) {
+        return hlMetricsScoreViewMapper.selectHlMetricsScoreViewList(hlMetricsScoreView);
+    }
+
+    /**
+     * 新增业务模型健康度得分指标查看
+     *
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 结果
+     */
+    @Override
+    public int insertHlMetricsScoreView(HlMetricsScoreView hlMetricsScoreView) {
+            return hlMetricsScoreViewMapper.insertHlMetricsScoreView(hlMetricsScoreView);
+    }
+
+    /**
+     * 修改业务模型健康度得分指标查看
+     *
+     * @param hlMetricsScoreView 业务模型健康度得分指标查看
+     * @return 结果
+     */
+    @Override
+    public int updateHlMetricsScoreView(HlMetricsScoreView hlMetricsScoreView) {
+        return hlMetricsScoreViewMapper.updateHlMetricsScoreView(hlMetricsScoreView);
+    }
+
+    /**
+     * 批量删除业务模型健康度得分指标查看
+     *
+     * @param scoreDetailIds 需要删除的业务模型健康度得分指标查看主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlMetricsScoreViewByScoreDetailIds(Long[] scoreDetailIds) {
+        return hlMetricsScoreViewMapper.deleteHlMetricsScoreViewByScoreDetailIds(scoreDetailIds);
+    }
+
+    /**
+     * 删除业务模型健康度得分指标查看信息
+     *
+     * @param scoreDetailId 业务模型健康度得分指标查看主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlMetricsScoreViewByScoreDetailId(Long scoreDetailId) {
+        return hlMetricsScoreViewMapper.deleteHlMetricsScoreViewByScoreDetailId(scoreDetailId);
+    }
+}

+ 20 - 1
jjt-biz/src/main/java/com/jjt/hl/service/impl/HlScoreServiceImpl.java

@@ -7,6 +7,7 @@ import com.jjt.common.utils.DateUtils;
 import com.jjt.common.utils.bean.BeanUtils;
 import com.jjt.hl.domain.*;
 import com.jjt.hl.mapper.HlMetricsScoreDetailMapper;
+import com.jjt.hl.mapper.HlMetricsScoreViewMapper;
 import com.jjt.hl.mapper.HlScoreMapper;
 import com.jjt.hl.service.*;
 import com.jjt.hl.vo.HlMetricsVO;
@@ -202,6 +203,7 @@ public class HlScoreServiceImpl implements IHlScoreService {
         //查找健康度分类
         List<HlClass> classList = modelService.selectHlClassList4modelId(modelId);
         List<HlMetricsScoreDetail> details = new ArrayList<>();
+        List<HlMetricsScoreView> views = new ArrayList<>();
         for (HlClass hlClass : classList) {
             HlClassScore hlClassScore = new HlClassScore();
             BeanUtils.copyBeanProp(hlClassScore, hlClass);
@@ -225,7 +227,7 @@ public class HlScoreServiceImpl implements IHlScoreService {
 
                 List<HlMetricsVO> vos = metricsMap.get(hlMetrics.getMetricsId());
                 if (vos == null || vos.size() == 0) {
-                    //如果没有事件产生,则无事发生
+                    //如果没有查到指标,继续下一盘
                     continue;
                 }
                 //扣分
@@ -235,7 +237,13 @@ public class HlScoreServiceImpl implements IHlScoreService {
                 //评分标准 1.当前值  2.持续1小时值
                 int eventNum = 0;
                 List<Long> eventIds = new ArrayList<>();
+                List<HlMetricsScoreView> viewList = new ArrayList<>();
                 for (HlMetricsVO vo : vos) {
+                    //加这个是,不管有没有事件,都需要查看当时的值
+                    HlMetricsScoreView view = new HlMetricsScoreView();
+                    view.setdValue(vo.getDValue());
+                    view.setObjMetricsId(vo.getObjMetricsId());
+                    viewList.add(view);
                     if (vo.getEventId() != null) {
                         eventIds.add(vo.getEventId());
                         if ("1".equals(hlMetrics.getHlStand())) {
@@ -275,6 +283,10 @@ public class HlScoreServiceImpl implements IHlScoreService {
                     detail.setEventId(eventId);
                     details.add(detail);
                 }
+                viewList.forEach(view -> {
+                    view.setScoreMetricsId(metricsScore.getScoreMetricsId());
+                    views.add(view);
+                });
                 lostClass = lostClass.add(lost);
             }
             hlClassScore.setLoseScore(lostClass);
@@ -293,6 +305,13 @@ public class HlScoreServiceImpl implements IHlScoreService {
                 sqlSession.commit();
             }
         }
+        if (views.size() > 0) {
+            try (SqlSession sqlSession = factory.openSession(ExecutorType.BATCH, false)) {
+                HlMetricsScoreViewMapper mapper = sqlSession.getMapper(HlMetricsScoreViewMapper.class);
+                views.forEach(mapper::insertHlMetricsScoreView);
+                sqlSession.commit();
+            }
+        }
         score.setHlScore(totalScore);
         updateHlScore(score);
     }

+ 2 - 1
jjt-biz/src/main/java/com/jjt/hl/vo/HlMetricsVO.java

@@ -52,5 +52,6 @@ public class HlMetricsVO {
     @ApiModelProperty("事件产生时值")
     @Excel(name = "事件产生时值")
     private BigDecimal eventValue;
-
+    @ApiModelProperty("指标当前值")
+    private BigDecimal dValue;
 }

+ 1 - 1
jjt-biz/src/main/java/com/jjt/task/HlTask.java

@@ -11,7 +11,7 @@ import java.time.ZoneId;
 import java.util.Date;
 
 /**
- * 定时任务调度测试
+ * 健康度定时任务
  *
  * @author jjt
  */

+ 88 - 0
jjt-biz/src/main/resources/mapper/hl/HlMetricsScoreViewMapper.xml

@@ -0,0 +1,88 @@
+<?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.jjt.hl.mapper.HlMetricsScoreViewMapper">
+
+    <resultMap type="HlMetricsScoreView" id="HlMetricsScoreViewResult">
+            <result property="scoreDetailId" column="SCORE_DETAIL_ID"/>
+            <result property="scoreMetricsId" column="SCORE_METRICS_ID"/>
+            <result property="objMetricsId" column="OBJ_METRICS_ID"/>
+            <result property="dValue" column="D_VALUE"/>
+    </resultMap>
+
+    <sql id="selectHlMetricsScoreViewVo">
+        select SCORE_DETAIL_ID, SCORE_METRICS_ID, OBJ_METRICS_ID, D_VALUE
+        from hl_metrics_score_view
+    </sql>
+
+    <select id="selectHlMetricsScoreViewList" parameterType="HlMetricsScoreView" resultMap="HlMetricsScoreViewResult">
+        <include refid="selectHlMetricsScoreViewVo"/>
+        <where>
+                        <if test="scoreMetricsId != null ">
+                            and SCORE_METRICS_ID = #{scoreMetricsId}
+                        </if>
+                        <if test="objMetricsId != null ">
+                            and OBJ_METRICS_ID = #{objMetricsId}
+                        </if>
+                        <if test="dValue != null ">
+                            and D_VALUE = #{dValue}
+                        </if>
+        </where>
+    </select>
+
+    <select id="selectHlMetricsScoreViewByScoreDetailId" parameterType="Long"
+            resultMap="HlMetricsScoreViewResult">
+            <include refid="selectHlMetricsScoreViewVo"/>
+            where SCORE_DETAIL_ID = #{scoreDetailId}
+    </select>
+
+    <insert id="insertHlMetricsScoreView" parameterType="HlMetricsScoreView" useGeneratedKeys="true"
+            keyProperty="scoreDetailId">
+        insert into hl_metrics_score_view
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                    <if test="scoreMetricsId != null">SCORE_METRICS_ID,
+                    </if>
+                    <if test="objMetricsId != null">OBJ_METRICS_ID,
+                    </if>
+                    <if test="dValue != null">D_VALUE,
+                    </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                    <if test="scoreMetricsId != null">#{scoreMetricsId},
+                    </if>
+                    <if test="objMetricsId != null">#{objMetricsId},
+                    </if>
+                    <if test="dValue != null">#{dValue},
+                    </if>
+        </trim>
+    </insert>
+
+    <update id="updateHlMetricsScoreView" parameterType="HlMetricsScoreView">
+        update hl_metrics_score_view
+        <trim prefix="SET" suffixOverrides=",">
+                    <if test="scoreMetricsId != null">SCORE_METRICS_ID =
+                        #{scoreMetricsId},
+                    </if>
+                    <if test="objMetricsId != null">OBJ_METRICS_ID =
+                        #{objMetricsId},
+                    </if>
+                    <if test="dValue != null">D_VALUE =
+                        #{dValue},
+                    </if>
+        </trim>
+        where SCORE_DETAIL_ID = #{scoreDetailId}
+    </update>
+
+    <delete id="deleteHlMetricsScoreViewByScoreDetailId" parameterType="Long">
+        delete
+        from hl_metrics_score_view where SCORE_DETAIL_ID = #{scoreDetailId}
+    </delete>
+
+    <delete id="deleteHlMetricsScoreViewByScoreDetailIds" parameterType="String">
+        delete from hl_metrics_score_view where SCORE_DETAIL_ID in
+        <foreach item="scoreDetailId" collection="array" open="(" separator="," close=")">
+            #{scoreDetailId}
+        </foreach>
+    </delete>
+</mapper>