浏览代码

增加日健康度模拟和查询

wukai 11 月之前
父节点
当前提交
b566ee80dc
共有 22 个文件被更改,包括 1442 次插入221 次删除
  1. 154 0
      jjt-biz/src/main/java/com/jjt/biz/controller/HlDayController.java
  2. 114 0
      jjt-biz/src/main/java/com/jjt/biz/controller/HlDayDetailController.java
  3. 103 62
      jjt-biz/src/main/java/com/jjt/biz/controller/HlScoreController.java
  4. 3 0
      jjt-biz/src/main/java/com/jjt/biz/domain/HlBase.java
  5. 2 0
      jjt-biz/src/main/java/com/jjt/biz/domain/HlClass.java
  6. 47 0
      jjt-biz/src/main/java/com/jjt/biz/domain/HlDay.java
  7. 65 0
      jjt-biz/src/main/java/com/jjt/biz/domain/HlDayDetail.java
  8. 22 73
      jjt-biz/src/main/java/com/jjt/biz/domain/HlDetail.java
  9. 2 0
      jjt-biz/src/main/java/com/jjt/biz/domain/HlObj.java
  10. 62 0
      jjt-biz/src/main/java/com/jjt/biz/mapper/HlDayDetailMapper.java
  11. 62 0
      jjt-biz/src/main/java/com/jjt/biz/mapper/HlDayMapper.java
  12. 5 0
      jjt-biz/src/main/java/com/jjt/biz/service/IHlBaseService.java
  13. 61 0
      jjt-biz/src/main/java/com/jjt/biz/service/IHlDayDetailService.java
  14. 61 0
      jjt-biz/src/main/java/com/jjt/biz/service/IHlDayService.java
  15. 75 1
      jjt-biz/src/main/java/com/jjt/biz/service/impl/HlBaseServiceImpl.java
  16. 89 0
      jjt-biz/src/main/java/com/jjt/biz/service/impl/HlDayDetailServiceImpl.java
  17. 89 0
      jjt-biz/src/main/java/com/jjt/biz/service/impl/HlDayServiceImpl.java
  18. 8 2
      jjt-biz/src/main/java/com/jjt/task/AlarmTask.java
  19. 5 1
      jjt-biz/src/main/java/com/jjt/task/HlTask.java
  20. 176 0
      jjt-biz/src/main/resources/mapper/hl/HlDayDetailMapper.xml
  21. 146 0
      jjt-biz/src/main/resources/mapper/hl/HlDayMapper.xml
  22. 91 82
      jjt-biz/src/main/resources/mapper/hl/HlScoreMapper.xml

+ 154 - 0
jjt-biz/src/main/java/com/jjt/biz/controller/HlDayController.java

@@ -0,0 +1,154 @@
+package com.jjt.biz.controller;
+
+import com.jjt.biz.domain.HlBase;
+import com.jjt.biz.domain.HlDay;
+import com.jjt.biz.domain.HlDayDetail;
+import com.jjt.biz.service.IHlBaseService;
+import com.jjt.biz.service.IHlDayDetailService;
+import com.jjt.biz.service.IHlDayService;
+import com.jjt.common.core.controller.BaseController;
+import com.jjt.common.core.domain.AjaxResult;
+import com.jjt.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 日健康度记录Controller
+ *
+ * @author jjt
+ * @date 2024-08-29
+ */
+@Api(tags = "日健康度记录")
+@RestController
+@RequestMapping("/hl/hlDay")
+public class HlDayController extends BaseController {
+    @Resource
+    private IHlDayService hlDayService;
+    @Resource
+    private IHlDayDetailService dayDetailService;
+
+    @Resource
+    private IHlBaseService baseService;
+
+    @ApiOperation("根据模型ID查询健康度得分")
+    @GetMapping("/list/{modelId}")
+    public TableDataInfo list(@PathVariable("modelId") Long modelId) {
+        startPage();
+        HlDay day = new HlDay();
+        day.setModelId(modelId);
+        List<HlDay> list = hlDayService.selectHlDayList(day);
+        return getDataTable(list);
+    }
+
+    @ApiOperation("健康度得分明细")
+    @GetMapping(value = "/{dayId}")
+    public AjaxResult getInfo(@PathVariable("dayId") Long dayId) {
+        HlDay day = hlDayService.selectHlDayByDayId(dayId);
+        HlBase base = baseService.selectHlBaseByModelId(day.getModelId());
+
+        HlDayDetail query = new HlDayDetail();
+        query.setDayId(dayId);
+        List<HlDayDetail> detailList = dayDetailService.selectHlDayDetailList(query);
+
+        Map<String, BigDecimal> map = detailList.stream().collect(Collectors.toMap(HlDayDetail::getHlCode, HlDayDetail::getHlScore));
+        base.getHlClassList().forEach(hlClass -> {
+            if (map.containsKey(hlClass.getClassCode())) {
+                hlClass.setCurrScore(map.get(hlClass.getClassCode()).floatValue());
+            }
+
+            hlClass.getHlObjList().forEach(hlObj -> {
+                if (map.containsKey(hlObj.getHlObjCode())) {
+                    hlObj.setCurrScore(map.get(hlObj.getHlObjCode()).floatValue());
+                }
+
+                hlObj.getHlDetailList().forEach(hlDetail -> {
+                    if (map.containsKey(hlDetail.getHlDetailCode())) {
+                        hlDetail.setCurrScore(map.get(hlDetail.getHlDetailCode()).floatValue());
+                    }
+                });
+            });
+
+        });
+
+        return success(base);
+    }
+
+
+//    /**
+//     * 查询日健康度记录列表
+//     */
+//    @ApiOperation("查询日健康度记录列表")
+//    @PreAuthorize("@ss.hasPermi('hl:hlDay:list')")
+//    @GetMapping("/list")
+//    public TableDataInfo list(HlDay hlDay) {
+//        startPage();
+//        List<HlDay> list = hlDayService.selectHlDayList(hlDay);
+//        return getDataTable(list);
+//    }
+//
+//    /**
+//     * 导出日健康度记录列表
+//     */
+//    @ApiOperation("导出日健康度记录列表")
+//    @PreAuthorize("@ss.hasPermi('hl:hlDay:export')")
+//    @Log(title = "日健康度记录", businessType = BusinessType.EXPORT)
+//    @PostMapping("/export")
+//    public void export(HttpServletResponse response, HlDay hlDay) {
+//        List<HlDay> list = hlDayService.selectHlDayList(hlDay);
+//        ExcelUtil<HlDay> util = new ExcelUtil<HlDay>(HlDay.class);
+//        util.exportExcel(response, list, "日健康度记录数据");
+//    }
+//
+//    /**
+//     * 获取日健康度记录详细信息
+//     */
+//    @ApiOperation("获取日健康度记录详细信息")
+//    @PreAuthorize("@ss.hasPermi('hl:hlDay:query')")
+//    @GetMapping(value = "/{dayId}")
+//    public AjaxResult getInfo(@PathVariable("dayId") Long dayId) {
+//        return success(hlDayService.selectHlDayByDayId(dayId));
+//    }
+//
+//    /**
+//     * 新增日健康度记录
+//     */
+//    @ApiOperation("新增日健康度记录")
+//    @PreAuthorize("@ss.hasPermi('hl:hlDay:add')")
+//    @Log(title = "日健康度记录", businessType = BusinessType.INSERT)
+//    @PostMapping
+//    public AjaxResult add(@RequestBody HlDay hlDay) {
+//        return toAjax(hlDayService.insertHlDay(hlDay));
+//    }
+//
+//    /**
+//     * 修改日健康度记录
+//     */
+//    @ApiOperation("修改日健康度记录")
+//    @PreAuthorize("@ss.hasPermi('hl:hlDay:edit')")
+//    @Log(title = "日健康度记录", businessType = BusinessType.UPDATE)
+//    @PutMapping
+//    public AjaxResult edit(@RequestBody HlDay hlDay) {
+//        return toAjax(hlDayService.updateHlDay(hlDay));
+//    }
+//
+//    /**
+//     * 删除日健康度记录
+//     */
+//    @ApiOperation("删除日健康度记录")
+//    @PreAuthorize("@ss.hasPermi('hl:hlDay:remove')")
+//    @Log(title = "日健康度记录", businessType = BusinessType.DELETE)
+//    @DeleteMapping("/{dayIds}")
+//    public AjaxResult remove(@PathVariable Long[] dayIds) {
+//        return toAjax(hlDayService.deleteHlDayByDayIds(dayIds));
+//    }
+}

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

@@ -0,0 +1,114 @@
+package com.jjt.biz.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.biz.domain.HlDayDetail;
+import com.jjt.biz.service.IHlDayDetailService;
+import com.jjt.common.utils.poi.ExcelUtil;
+import com.jjt.common.core.page.TableDataInfo;
+
+/**
+ * 日健康扣分明细Controller
+ *
+ * @author jjt
+ * @date 2024-08-29
+ */
+@Api(tags="日健康扣分明细")
+@RestController
+@RequestMapping("/hl/hdd")
+public class HlDayDetailController extends BaseController
+{
+    @Resource
+    private IHlDayDetailService hlDayDetailService;
+
+    /**
+     * 查询日健康扣分明细列表
+     */
+    @ApiOperation("查询日健康扣分明细列表")
+    @PreAuthorize("@ss.hasPermi('hl:hdd:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(HlDayDetail hlDayDetail)
+    {
+        startPage();
+        List<HlDayDetail> list = hlDayDetailService.selectHlDayDetailList(hlDayDetail);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出日健康扣分明细列表
+     */
+    @ApiOperation("导出日健康扣分明细列表")
+    @PreAuthorize("@ss.hasPermi('hl:hdd:export')")
+    @Log(title = "日健康扣分明细", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, HlDayDetail hlDayDetail)
+    {
+        List<HlDayDetail> list = hlDayDetailService.selectHlDayDetailList(hlDayDetail);
+        ExcelUtil<HlDayDetail> util = new ExcelUtil<HlDayDetail>(HlDayDetail.class);
+        util.exportExcel(response, list, "日健康扣分明细数据");
+    }
+
+    /**
+     * 获取日健康扣分明细详细信息
+     */
+    @ApiOperation("获取日健康扣分明细详细信息")
+    @PreAuthorize("@ss.hasPermi('hl:hdd:query')")
+    @GetMapping(value = "/{dayDetailId}")
+    public AjaxResult getInfo(@PathVariable("dayDetailId") Long dayDetailId)
+    {
+        return success(hlDayDetailService.selectHlDayDetailByDayDetailId(dayDetailId));
+    }
+
+    /**
+     * 新增日健康扣分明细
+     */
+    @ApiOperation("新增日健康扣分明细")
+    @PreAuthorize("@ss.hasPermi('hl:hdd:add')")
+    @Log(title = "日健康扣分明细", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody HlDayDetail hlDayDetail)
+    {
+        return toAjax(hlDayDetailService.insertHlDayDetail(hlDayDetail));
+    }
+
+    /**
+     * 修改日健康扣分明细
+     */
+    @ApiOperation("修改日健康扣分明细")
+    @PreAuthorize("@ss.hasPermi('hl:hdd:edit')")
+    @Log(title = "日健康扣分明细", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody HlDayDetail hlDayDetail)
+    {
+        return toAjax(hlDayDetailService.updateHlDayDetail(hlDayDetail));
+    }
+
+    /**
+     * 删除日健康扣分明细
+     */
+    @ApiOperation("删除日健康扣分明细")
+    @PreAuthorize("@ss.hasPermi('hl:hdd:remove')")
+    @Log(title = "日健康扣分明细", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{dayDetailIds}")
+    public AjaxResult remove(@PathVariable Long[] dayDetailIds)
+    {
+        return toAjax(hlDayDetailService.deleteHlDayDetailByDayDetailIds(dayDetailIds));
+    }
+}

+ 103 - 62
jjt-biz/src/main/java/com/jjt/biz/controller/HlScoreController.java

@@ -1,21 +1,26 @@
 package com.jjt.biz.controller;
 
+import com.jjt.biz.domain.HlBase;
 import com.jjt.biz.domain.HlScore;
+import com.jjt.biz.domain.HlScoreDetail;
+import com.jjt.biz.service.IHlBaseService;
+import com.jjt.biz.service.IHlScoreDetailService;
 import com.jjt.biz.service.IHlScoreService;
-import com.jjt.common.annotation.Log;
 import com.jjt.common.core.controller.BaseController;
 import com.jjt.common.core.domain.AjaxResult;
 import com.jjt.common.core.page.TableDataInfo;
-import com.jjt.common.enums.BusinessType;
-import com.jjt.common.utils.poi.ExcelUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 健康度分数记录Controller
@@ -29,72 +34,108 @@ import java.util.List;
 public class HlScoreController extends BaseController {
     @Resource
     private IHlScoreService hlScoreService;
+    @Resource
+    private IHlScoreDetailService scoreDetailService;
+    @Resource
+    private IHlBaseService baseService;
 
-    /**
-     * 查询健康度分数记录列表
-     */
-    @ApiOperation("查询健康度分数记录列表")
-    @PreAuthorize("@ss.hasPermi('hl:hlScore:list')")
-    @GetMapping("/list")
-    public TableDataInfo list(HlScore hlScore) {
+    @ApiOperation("根据模型ID查询健康度得分")
+    @GetMapping("/list/{modelId}")
+    public TableDataInfo list(@PathVariable("modelId") Long modelId) {
         startPage();
+        HlScore hlScore = new HlScore();
+        hlScore.setModelId(modelId);
         List<HlScore> list = hlScoreService.selectHlScoreList(hlScore);
         return getDataTable(list);
     }
 
-    /**
-     * 导出健康度分数记录列表
-     */
-    @ApiOperation("导出健康度分数记录列表")
-    @PreAuthorize("@ss.hasPermi('hl:hlScore:export')")
-    @Log(title = "健康度分数记录", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, HlScore hlScore) {
-        List<HlScore> list = hlScoreService.selectHlScoreList(hlScore);
-        ExcelUtil<HlScore> util = new ExcelUtil<HlScore>(HlScore.class);
-        util.exportExcel(response, list, "健康度分数记录数据");
-    }
-
-    /**
-     * 获取健康度分数记录详细信息
-     */
-    @ApiOperation("获取健康度分数记录详细信息")
-    @PreAuthorize("@ss.hasPermi('hl:hlScore:query')")
+    @ApiOperation("健康度得分明细")
     @GetMapping(value = "/{hlScoreId}")
     public AjaxResult getInfo(@PathVariable("hlScoreId") Long hlScoreId) {
-        return success(hlScoreService.selectHlScoreByHlScoreId(hlScoreId));
-    }
+        HlScore hlScore = hlScoreService.selectHlScoreByHlScoreId(hlScoreId);
+        HlBase base = baseService.selectHlBaseByModelId(hlScore.getModelId());
+        HlScoreDetail query = new HlScoreDetail();
+        query.setHlScoreId(hlScoreId);
+        List<HlScoreDetail> detailList = scoreDetailService.selectHlScoreDetailList(query);
 
-    /**
-     * 新增健康度分数记录
-     */
-    @ApiOperation("新增健康度分数记录")
-    @PreAuthorize("@ss.hasPermi('hl:hlScore:add')")
-    @Log(title = "健康度分数记录", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody HlScore hlScore) {
-        return toAjax(hlScoreService.insertHlScore(hlScore));
-    }
+        Map<String, BigDecimal> map = detailList.stream().collect(Collectors.toMap(HlScoreDetail::getHlCode, HlScoreDetail::getHlScore));
+        base.getHlClassList().forEach(hlClass -> {
+            if (map.containsKey(hlClass.getClassCode())) {
+                hlClass.setCurrScore(map.get(hlClass.getClassCode()).floatValue());
+            }
 
-    /**
-     * 修改健康度分数记录
-     */
-    @ApiOperation("修改健康度分数记录")
-    @PreAuthorize("@ss.hasPermi('hl:hlScore:edit')")
-    @Log(title = "健康度分数记录", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody HlScore hlScore) {
-        return toAjax(hlScoreService.updateHlScore(hlScore));
-    }
+            hlClass.getHlObjList().forEach(hlObj -> {
+                if (map.containsKey(hlObj.getHlObjCode())) {
+                    hlObj.setCurrScore(map.get(hlObj.getHlObjCode()).floatValue());
+                }
+
+                hlObj.getHlDetailList().forEach(hlDetail -> {
+                    if (map.containsKey(hlDetail.getHlDetailCode())) {
+                        hlDetail.setCurrScore(map.get(hlDetail.getHlDetailCode()).floatValue());
+                    }
+                });
+            });
 
-    /**
-     * 删除健康度分数记录
-     */
-    @ApiOperation("删除健康度分数记录")
-    @PreAuthorize("@ss.hasPermi('hl:hlScore:remove')")
-    @Log(title = "健康度分数记录", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{hlScoreIds}")
-    public AjaxResult remove(@PathVariable Long[] hlScoreIds) {
-        return toAjax(hlScoreService.deleteHlScoreByHlScoreIds(hlScoreIds));
+        });
+
+        return success(base);
     }
+
+//    /**
+//     * 查询健康度分数记录列表
+//     */
+//    @ApiOperation("查询健康度分数记录列表")
+//    @PreAuthorize("@ss.hasPermi('hl:hlScore:list')")
+//    @GetMapping("/list")
+//    public TableDataInfo list(HlScore hlScore) {
+//        startPage();
+//        List<HlScore> list = hlScoreService.selectHlScoreList(hlScore);
+//        return getDataTable(list);
+//    }
+//
+//    /**
+//     * 导出健康度分数记录列表
+//     */
+//    @ApiOperation("导出健康度分数记录列表")
+//    @PreAuthorize("@ss.hasPermi('hl:hlScore:export')")
+//    @Log(title = "健康度分数记录", businessType = BusinessType.EXPORT)
+//    @PostMapping("/export")
+//    public void export(HttpServletResponse response, HlScore hlScore) {
+//        List<HlScore> list = hlScoreService.selectHlScoreList(hlScore);
+//        ExcelUtil<HlScore> util = new ExcelUtil<HlScore>(HlScore.class);
+//        util.exportExcel(response, list, "健康度分数记录数据");
+//    }
+
+//    /**
+//     * 新增健康度分数记录
+//     */
+//    @ApiOperation("新增健康度分数记录")
+//    @PreAuthorize("@ss.hasPermi('hl:hlScore:add')")
+//    @Log(title = "健康度分数记录", businessType = BusinessType.INSERT)
+//    @PostMapping
+//    public AjaxResult add(@RequestBody HlScore hlScore) {
+//        return toAjax(hlScoreService.insertHlScore(hlScore));
+//    }
+//
+//    /**
+//     * 修改健康度分数记录
+//     */
+//    @ApiOperation("修改健康度分数记录")
+//    @PreAuthorize("@ss.hasPermi('hl:hlScore:edit')")
+//    @Log(title = "健康度分数记录", businessType = BusinessType.UPDATE)
+//    @PutMapping
+//    public AjaxResult edit(@RequestBody HlScore hlScore) {
+//        return toAjax(hlScoreService.updateHlScore(hlScore));
+//    }
+//
+//    /**
+//     * 删除健康度分数记录
+//     */
+//    @ApiOperation("删除健康度分数记录")
+//    @PreAuthorize("@ss.hasPermi('hl:hlScore:remove')")
+//    @Log(title = "健康度分数记录", businessType = BusinessType.DELETE)
+//    @DeleteMapping("/{hlScoreIds}")
+//    public AjaxResult remove(@PathVariable Long[] hlScoreIds) {
+//        return toAjax(hlScoreService.deleteHlScoreByHlScoreIds(hlScoreIds));
+//    }
 }

+ 3 - 0
jjt-biz/src/main/java/com/jjt/biz/domain/HlBase.java

@@ -43,4 +43,7 @@ public class HlBase extends BaseEntity {
 
     @ApiModelProperty("评价项目")
     private List<HlClass> hlClassList;
+
+    @ApiModelProperty("当前得分")
+    private Float currScore;
 }

+ 2 - 0
jjt-biz/src/main/java/com/jjt/biz/domain/HlClass.java

@@ -56,4 +56,6 @@ public class HlClass extends BaseEntity {
     private Long classScore;
     @ApiModelProperty("评价对象")
     private List<HlObj> hlObjList;
+    @ApiModelProperty("当前得分")
+    private Float currScore;
 }

+ 47 - 0
jjt-biz/src/main/java/com/jjt/biz/domain/HlDay.java

@@ -0,0 +1,47 @@
+package com.jjt.biz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.jjt.common.annotation.Excel;
+import com.jjt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 日健康度记录对象 hl_day
+ *
+ * @author jjt
+ * @date 2024-08-29
+ */
+@ApiModel(value = "HlDay", description = "日健康度记录")
+@Data
+public class HlDay extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 健康度分数记录ID;
+     */
+    @ApiModelProperty("健康度分数记录ID;")
+    @TableId
+    private Long dayId;
+
+    /**
+     * 模型ID
+     */
+    @ApiModelProperty("模型ID")
+    @Excel(name = "模型ID")
+    private Long modelId;
+
+    /**
+     * 健康度分值
+     */
+    @ApiModelProperty("健康度分值")
+    @Excel(name = "健康度分值")
+    private BigDecimal hlScore;
+
+    @ApiModelProperty("评分日期")
+    private Date hlDate;
+}

+ 65 - 0
jjt-biz/src/main/java/com/jjt/biz/domain/HlDayDetail.java

@@ -0,0 +1,65 @@
+package com.jjt.biz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.jjt.common.annotation.Excel;
+import com.jjt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 日健康扣分明细对象 hl_day_detail
+ *
+ * @author jjt
+ * @date 2024-08-29
+ */
+@ApiModel(value = "HlDayDetail", description = "日健康扣分明细")
+@Data
+public class HlDayDetail extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 明细ID
+     */
+    @ApiModelProperty("明细ID")
+    @TableId
+    private Long dayDetailId;
+
+    /**
+     * 健康度分数记录ID;
+     */
+    @ApiModelProperty("健康度分数记录ID;")
+    @Excel(name = "健康度分数记录ID;")
+    private Long dayId;
+
+    /**
+     * 健康度类型
+     */
+    @ApiModelProperty("健康度类型")
+    @Excel(name = "健康度类型")
+    private String hlType;
+
+    /**
+     * 健康度编码
+     */
+    @ApiModelProperty("健康度编码")
+    @Excel(name = "健康度编码")
+    private String hlCode;
+
+    /**
+     * 健康度分值
+     */
+    @ApiModelProperty("健康度分值")
+    @Excel(name = "健康度分值")
+    private BigDecimal hlScore;
+
+    /**
+     * 指标当前值
+     */
+    @ApiModelProperty("指标当前值")
+    @Excel(name = "指标当前值")
+    private String hlValue;
+
+}

+ 22 - 73
jjt-biz/src/main/java/com/jjt/biz/domain/HlDetail.java

@@ -1,12 +1,11 @@
 package com.jjt.biz.domain;
 
 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;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 /**
  * 健康度明细对象 hl_detail
@@ -15,94 +14,44 @@ import com.jjt.common.core.domain.BaseEntity;
  * @date 2024-08-28
  */
 @ApiModel(value = "HlDetail", description = "健康度明细")
-public class HlDetail extends BaseEntity
-{
+@Data
+public class HlDetail extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 明细ID */
+    /**
+     * 明细ID
+     */
     @ApiModelProperty("明细ID")
     @TableId
     private Long hlDetailId;
 
-    /** 对象ID */
+    /**
+     * 对象ID
+     */
     @ApiModelProperty("对象ID")
     @Excel(name = "对象ID")
     private Long hlObjId;
 
-    /** 评价对象 */
+    /**
+     * 评价对象
+     */
     @ApiModelProperty("评价对象")
     @Excel(name = "评价对象")
     private String hlDetailName;
 
-    /** 评价对象编码 */
+    /**
+     * 评价对象编码
+     */
     @ApiModelProperty("评价对象编码")
     @Excel(name = "评价对象编码")
     private String hlDetailCode;
 
-    /** 分值 */
+    /**
+     * 分值
+     */
     @ApiModelProperty("分值")
     @Excel(name = "分值")
     private Long hlDetailScore;
-
-    public void setHlDetailId(Long hlDetailId)
-    {
-        this.hlDetailId = hlDetailId;
-    }
-
-    public Long getHlDetailId()
-    {
-        return hlDetailId;
-    }
-    public void setHlObjId(Long hlObjId)
-    {
-        this.hlObjId = hlObjId;
-    }
-
-    public Long getHlObjId()
-    {
-        return hlObjId;
-    }
-    public void setHlDetailName(String hlDetailName)
-    {
-        this.hlDetailName = hlDetailName;
-    }
-
-    public String getHlDetailName()
-    {
-        return hlDetailName;
-    }
-    public void setHlDetailCode(String hlDetailCode)
-    {
-        this.hlDetailCode = hlDetailCode;
-    }
-
-    public String getHlDetailCode()
-    {
-        return hlDetailCode;
-    }
-    public void setHlDetailScore(Long hlDetailScore)
-    {
-        this.hlDetailScore = hlDetailScore;
-    }
-
-    public Long getHlDetailScore()
-    {
-        return hlDetailScore;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("hlDetailId", getHlDetailId())
-            .append("hlObjId", getHlObjId())
-            .append("hlDetailName", getHlDetailName())
-            .append("hlDetailCode", getHlDetailCode())
-            .append("hlDetailScore", getHlDetailScore())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
+    @ApiModelProperty("当前得分")
+    private Float currScore;
 }

+ 2 - 0
jjt-biz/src/main/java/com/jjt/biz/domain/HlObj.java

@@ -64,4 +64,6 @@ public class HlObj extends BaseEntity {
 
     @ApiModelProperty("评价明细")
     private List<HlDetail> hlDetailList;
+    @ApiModelProperty("当前得分")
+    private Float currScore;
 }

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

@@ -0,0 +1,62 @@
+package com.jjt.biz.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jjt.biz.domain.HlDayDetail;
+
+/**
+ * 日健康扣分明细Mapper接口
+ * 
+ * @author jjt
+ * @date 2024-08-29
+ */
+public interface HlDayDetailMapper extends BaseMapper<HlDayDetail>
+{
+    /**
+     * 查询日健康扣分明细
+     * 
+     * @param dayDetailId 日健康扣分明细主键
+     * @return 日健康扣分明细
+     */
+    public HlDayDetail selectHlDayDetailByDayDetailId(Long dayDetailId);
+
+    /**
+     * 查询日健康扣分明细列表
+     * 
+     * @param hlDayDetail 日健康扣分明细
+     * @return 日健康扣分明细集合
+     */
+    public List<HlDayDetail> selectHlDayDetailList(HlDayDetail hlDayDetail);
+
+    /**
+     * 新增日健康扣分明细
+     * 
+     * @param hlDayDetail 日健康扣分明细
+     * @return 结果
+     */
+    public int insertHlDayDetail(HlDayDetail hlDayDetail);
+
+    /**
+     * 修改日健康扣分明细
+     * 
+     * @param hlDayDetail 日健康扣分明细
+     * @return 结果
+     */
+    public int updateHlDayDetail(HlDayDetail hlDayDetail);
+
+    /**
+     * 删除日健康扣分明细
+     * 
+     * @param dayDetailId 日健康扣分明细主键
+     * @return 结果
+     */
+    public int deleteHlDayDetailByDayDetailId(Long dayDetailId);
+
+    /**
+     * 批量删除日健康扣分明细
+     * 
+     * @param dayDetailIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteHlDayDetailByDayDetailIds(Long[] dayDetailIds);
+}

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

@@ -0,0 +1,62 @@
+package com.jjt.biz.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jjt.biz.domain.HlDay;
+
+/**
+ * 日健康度记录Mapper接口
+ * 
+ * @author jjt
+ * @date 2024-08-29
+ */
+public interface HlDayMapper extends BaseMapper<HlDay>
+{
+    /**
+     * 查询日健康度记录
+     * 
+     * @param dayId 日健康度记录主键
+     * @return 日健康度记录
+     */
+    public HlDay selectHlDayByDayId(Long dayId);
+
+    /**
+     * 查询日健康度记录列表
+     * 
+     * @param hlDay 日健康度记录
+     * @return 日健康度记录集合
+     */
+    public List<HlDay> selectHlDayList(HlDay hlDay);
+
+    /**
+     * 新增日健康度记录
+     * 
+     * @param hlDay 日健康度记录
+     * @return 结果
+     */
+    public int insertHlDay(HlDay hlDay);
+
+    /**
+     * 修改日健康度记录
+     * 
+     * @param hlDay 日健康度记录
+     * @return 结果
+     */
+    public int updateHlDay(HlDay hlDay);
+
+    /**
+     * 删除日健康度记录
+     * 
+     * @param dayId 日健康度记录主键
+     * @return 结果
+     */
+    public int deleteHlDayByDayId(Long dayId);
+
+    /**
+     * 批量删除日健康度记录
+     * 
+     * @param dayIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteHlDayByDayIds(Long[] dayIds);
+}

+ 5 - 0
jjt-biz/src/main/java/com/jjt/biz/service/IHlBaseService.java

@@ -85,4 +85,9 @@ public interface IHlBaseService {
      * 健康度评分
      */
     void score();
+
+    /**
+     * 昨日健康度评分
+     */
+    void yesterday();
 }

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

@@ -0,0 +1,61 @@
+package com.jjt.biz.service;
+
+import java.util.List;
+import com.jjt.biz.domain.HlDayDetail;
+
+/**
+ * 日健康扣分明细Service接口
+ * 
+ * @author jjt
+ * @date 2024-08-29
+ */
+public interface IHlDayDetailService 
+{
+    /**
+     * 查询日健康扣分明细
+     * 
+     * @param dayDetailId 日健康扣分明细主键
+     * @return 日健康扣分明细
+     */
+    public HlDayDetail selectHlDayDetailByDayDetailId(Long dayDetailId);
+
+    /**
+     * 查询日健康扣分明细列表
+     * 
+     * @param hlDayDetail 日健康扣分明细
+     * @return 日健康扣分明细集合
+     */
+    public List<HlDayDetail> selectHlDayDetailList(HlDayDetail hlDayDetail);
+
+    /**
+     * 新增日健康扣分明细
+     * 
+     * @param hlDayDetail 日健康扣分明细
+     * @return 结果
+     */
+    public int insertHlDayDetail(HlDayDetail hlDayDetail);
+
+    /**
+     * 修改日健康扣分明细
+     * 
+     * @param hlDayDetail 日健康扣分明细
+     * @return 结果
+     */
+    public int updateHlDayDetail(HlDayDetail hlDayDetail);
+
+    /**
+     * 批量删除日健康扣分明细
+     * 
+     * @param dayDetailIds 需要删除的日健康扣分明细主键集合
+     * @return 结果
+     */
+    public int deleteHlDayDetailByDayDetailIds(Long[] dayDetailIds);
+
+    /**
+     * 删除日健康扣分明细信息
+     * 
+     * @param dayDetailId 日健康扣分明细主键
+     * @return 结果
+     */
+    public int deleteHlDayDetailByDayDetailId(Long dayDetailId);
+}

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

@@ -0,0 +1,61 @@
+package com.jjt.biz.service;
+
+import java.util.List;
+import com.jjt.biz.domain.HlDay;
+
+/**
+ * 日健康度记录Service接口
+ * 
+ * @author jjt
+ * @date 2024-08-29
+ */
+public interface IHlDayService 
+{
+    /**
+     * 查询日健康度记录
+     * 
+     * @param dayId 日健康度记录主键
+     * @return 日健康度记录
+     */
+    public HlDay selectHlDayByDayId(Long dayId);
+
+    /**
+     * 查询日健康度记录列表
+     * 
+     * @param hlDay 日健康度记录
+     * @return 日健康度记录集合
+     */
+    public List<HlDay> selectHlDayList(HlDay hlDay);
+
+    /**
+     * 新增日健康度记录
+     * 
+     * @param hlDay 日健康度记录
+     * @return 结果
+     */
+    public int insertHlDay(HlDay hlDay);
+
+    /**
+     * 修改日健康度记录
+     * 
+     * @param hlDay 日健康度记录
+     * @return 结果
+     */
+    public int updateHlDay(HlDay hlDay);
+
+    /**
+     * 批量删除日健康度记录
+     * 
+     * @param dayIds 需要删除的日健康度记录主键集合
+     * @return 结果
+     */
+    public int deleteHlDayByDayIds(Long[] dayIds);
+
+    /**
+     * 删除日健康度记录信息
+     * 
+     * @param dayId 日健康度记录主键
+     * @return 结果
+     */
+    public int deleteHlDayByDayId(Long dayId);
+}

+ 75 - 1
jjt-biz/src/main/java/com/jjt/biz/service/impl/HlBaseServiceImpl.java

@@ -9,6 +9,10 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.ZoneOffset;
+import java.util.Date;
 import java.util.List;
 import java.util.Random;
 import java.util.concurrent.atomic.AtomicReference;
@@ -35,6 +39,10 @@ public class HlBaseServiceImpl implements IHlBaseService {
     private IHlScoreService scoreService;
     @Resource
     private IHlScoreDetailService scoreDetailService;
+    @Resource
+    private IHlDayService dayService;
+    @Resource
+    private IHlDayDetailService dayDetailService;
 
 
     /**
@@ -219,7 +227,7 @@ public class HlBaseServiceImpl implements IHlBaseService {
                                     case "C03":
                                         BigDecimal dc = random(d.getHlDetailScore());
                                         scoreDetail.setHlScore(dc);
-                                        sc.set(dc.add(dc));
+                                        sc.set(sc.get().add(dc));
                                         scoreDetailService.insertHlScoreDetail(scoreDetail);
                                         break;
                                     default:
@@ -243,6 +251,72 @@ public class HlBaseServiceImpl implements IHlBaseService {
         });
     }
 
+    /**
+     * 昨日健康度评分
+     */
+    @Override
+    public void yesterday() {
+        LocalDate localDate = LocalDate.now().minusDays(1);
+        List<HlBase> list = selectHlBaseList(new HlBase());
+
+        list.forEach(base -> {
+            if (base.getModelId() != -1) {
+                HlDay hlDay = new HlDay();
+                hlDay.setModelId(base.getModelId());
+                hlDay.setHlDate(Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()));
+                dayService.insertHlDay(hlDay);
+                List<HlClass> classes = base.getHlClassList();
+                AtomicReference<BigDecimal> total = new AtomicReference<>(new BigDecimal(0));
+                classes.forEach(cs -> {
+                    HlDayDetail csDetail = new HlDayDetail();
+                    csDetail.setDayId(hlDay.getDayId());
+                    csDetail.setHlType("CLASS");
+                    csDetail.setHlCode(cs.getClassCode());
+                    List<HlObj> objs = cs.getHlObjList();
+                    AtomicReference<BigDecimal> scc = new AtomicReference<>(new BigDecimal(0));
+                    objs.forEach(ob -> {
+                        List<HlDetail> details = ob.getHlDetailList();
+                        HlDayDetail obDetail = new HlDayDetail();
+                        obDetail.setDayId(hlDay.getDayId());
+                        obDetail.setHlType("OBJ");
+                        obDetail.setHlCode(ob.getHlObjCode());
+                        AtomicReference<BigDecimal> sc = new AtomicReference<>(new BigDecimal(0));
+                        if ("LINK".equals(ob.getHlObjCode())) {
+                            details.forEach(d -> {
+                                HlDayDetail scoreDetail = new HlDayDetail();
+                                scoreDetail.setDayId(hlDay.getDayId());
+                                scoreDetail.setHlType("DETAIL");
+                                scoreDetail.setHlCode(d.getHlDetailCode());
+                                switch (d.getHlDetailCode()) {
+                                    case "C01":
+                                    case "C02":
+                                    case "C03":
+                                        BigDecimal dc = random(d.getHlDetailScore());
+                                        scoreDetail.setHlScore(dc);
+                                        sc.set(sc.get().add(dc));
+                                        dayDetailService.insertHlDayDetail(scoreDetail);
+                                        break;
+                                    default:
+                                        break;
+                                }
+                            });
+                        } else {
+                            sc.set(random(ob.getHlObjScore()));
+                        }
+                        obDetail.setHlScore(sc.get());
+                        dayDetailService.insertHlDayDetail(obDetail);
+                        scc.set(scc.get().add(obDetail.getHlScore()));
+                    });
+                    csDetail.setHlScore(scc.get());
+                    dayDetailService.insertHlDayDetail(csDetail);
+                    total.set(total.get().add(csDetail.getHlScore()));
+                });
+                hlDay.setHlScore(total.get());
+                dayService.updateHlDay(hlDay);
+            }
+        });
+    }
+
     private BigDecimal random(Long s) {
         Random random = new Random();
         int randomNumber = random.nextInt(3);

+ 89 - 0
jjt-biz/src/main/java/com/jjt/biz/service/impl/HlDayDetailServiceImpl.java

@@ -0,0 +1,89 @@
+package com.jjt.biz.service.impl;
+
+import java.util.List;
+        import com.jjt.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.jjt.biz.mapper.HlDayDetailMapper;
+import com.jjt.biz.domain.HlDayDetail;
+import com.jjt.biz.service.IHlDayDetailService;
+import javax.annotation.Resource;
+
+/**
+ * 日健康扣分明细Service业务层处理
+ *
+ * @author jjt
+ * @date 2024-08-29
+ */
+@Service
+public class HlDayDetailServiceImpl implements IHlDayDetailService {
+    @Resource
+    private HlDayDetailMapper hlDayDetailMapper;
+
+    /**
+     * 查询日健康扣分明细
+     *
+     * @param dayDetailId 日健康扣分明细主键
+     * @return 日健康扣分明细
+     */
+    @Override
+    public HlDayDetail selectHlDayDetailByDayDetailId(Long dayDetailId) {
+        return hlDayDetailMapper.selectHlDayDetailByDayDetailId(dayDetailId);
+    }
+
+    /**
+     * 查询日健康扣分明细列表
+     *
+     * @param hlDayDetail 日健康扣分明细
+     * @return 日健康扣分明细
+     */
+    @Override
+    public List<HlDayDetail> selectHlDayDetailList(HlDayDetail hlDayDetail) {
+        return hlDayDetailMapper.selectHlDayDetailList(hlDayDetail);
+    }
+
+    /**
+     * 新增日健康扣分明细
+     *
+     * @param hlDayDetail 日健康扣分明细
+     * @return 结果
+     */
+    @Override
+    public int insertHlDayDetail(HlDayDetail hlDayDetail) {
+                hlDayDetail.setCreateTime(DateUtils.getNowDate());
+            return hlDayDetailMapper.insertHlDayDetail(hlDayDetail);
+    }
+
+    /**
+     * 修改日健康扣分明细
+     *
+     * @param hlDayDetail 日健康扣分明细
+     * @return 结果
+     */
+    @Override
+    public int updateHlDayDetail(HlDayDetail hlDayDetail) {
+                hlDayDetail.setUpdateTime(DateUtils.getNowDate());
+        return hlDayDetailMapper.updateHlDayDetail(hlDayDetail);
+    }
+
+    /**
+     * 批量删除日健康扣分明细
+     *
+     * @param dayDetailIds 需要删除的日健康扣分明细主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlDayDetailByDayDetailIds(Long[] dayDetailIds) {
+        return hlDayDetailMapper.deleteHlDayDetailByDayDetailIds(dayDetailIds);
+    }
+
+    /**
+     * 删除日健康扣分明细信息
+     *
+     * @param dayDetailId 日健康扣分明细主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlDayDetailByDayDetailId(Long dayDetailId) {
+        return hlDayDetailMapper.deleteHlDayDetailByDayDetailId(dayDetailId);
+    }
+}

+ 89 - 0
jjt-biz/src/main/java/com/jjt/biz/service/impl/HlDayServiceImpl.java

@@ -0,0 +1,89 @@
+package com.jjt.biz.service.impl;
+
+import java.util.List;
+        import com.jjt.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.jjt.biz.mapper.HlDayMapper;
+import com.jjt.biz.domain.HlDay;
+import com.jjt.biz.service.IHlDayService;
+import javax.annotation.Resource;
+
+/**
+ * 日健康度记录Service业务层处理
+ *
+ * @author jjt
+ * @date 2024-08-29
+ */
+@Service
+public class HlDayServiceImpl implements IHlDayService {
+    @Resource
+    private HlDayMapper hlDayMapper;
+
+    /**
+     * 查询日健康度记录
+     *
+     * @param dayId 日健康度记录主键
+     * @return 日健康度记录
+     */
+    @Override
+    public HlDay selectHlDayByDayId(Long dayId) {
+        return hlDayMapper.selectHlDayByDayId(dayId);
+    }
+
+    /**
+     * 查询日健康度记录列表
+     *
+     * @param hlDay 日健康度记录
+     * @return 日健康度记录
+     */
+    @Override
+    public List<HlDay> selectHlDayList(HlDay hlDay) {
+        return hlDayMapper.selectHlDayList(hlDay);
+    }
+
+    /**
+     * 新增日健康度记录
+     *
+     * @param hlDay 日健康度记录
+     * @return 结果
+     */
+    @Override
+    public int insertHlDay(HlDay hlDay) {
+                hlDay.setCreateTime(DateUtils.getNowDate());
+            return hlDayMapper.insertHlDay(hlDay);
+    }
+
+    /**
+     * 修改日健康度记录
+     *
+     * @param hlDay 日健康度记录
+     * @return 结果
+     */
+    @Override
+    public int updateHlDay(HlDay hlDay) {
+                hlDay.setUpdateTime(DateUtils.getNowDate());
+        return hlDayMapper.updateHlDay(hlDay);
+    }
+
+    /**
+     * 批量删除日健康度记录
+     *
+     * @param dayIds 需要删除的日健康度记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlDayByDayIds(Long[] dayIds) {
+        return hlDayMapper.deleteHlDayByDayIds(dayIds);
+    }
+
+    /**
+     * 删除日健康度记录信息
+     *
+     * @param dayId 日健康度记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteHlDayByDayId(Long dayId) {
+        return hlDayMapper.deleteHlDayByDayId(dayId);
+    }
+}

+ 8 - 2
jjt-biz/src/main/java/com/jjt/task/AlarmTask.java

@@ -1,6 +1,8 @@
 package com.jjt.task;
 
+import com.jjt.biz.domain.BizObj;
 import com.jjt.biz.service.IBizObjMetricsService;
+import com.jjt.biz.service.IBizObjService;
 import com.jjt.common.utils.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -15,10 +17,14 @@ import javax.annotation.Resource;
 public class AlarmTask {
     @Resource
     private IBizObjMetricsService metricsService;
+    @Resource
+    private IBizObjService objService;
 
     public void metrics() {
-        metricsService.pinpointMetricsValue(2L);
-        metricsService.prometheusMetricsValue(15L);
+        objService.selectBizObjList(new BizObj()).forEach(obj -> {
+            metricsService.pinpointMetricsValue(obj.getObjId());
+            metricsService.prometheusMetricsValue(obj.getObjId());
+        });
     }
 
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {

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

@@ -16,10 +16,14 @@ public class HlTask {
     @Resource
     private IHlBaseService baseService;
 
-    public void hl() {
+    public void score() {
         baseService.score();
     }
 
+    public void yesterday() {
+        baseService.yesterday();
+    }
+
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
         System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
     }

+ 176 - 0
jjt-biz/src/main/resources/mapper/hl/HlDayDetailMapper.xml

@@ -0,0 +1,176 @@
+<?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.biz.mapper.HlDayDetailMapper">
+
+    <resultMap type="HlDayDetail" id="HlDayDetailResult">
+        <result property="dayDetailId" column="DAY_DETAIL_ID"/>
+        <result property="dayId" column="DAY_ID"/>
+        <result property="hlType" column="HL_TYPE"/>
+        <result property="hlCode" column="HL_CODE"/>
+        <result property="hlScore" column="HL_SCORE"/>
+        <result property="hlValue" column="HL_VALUE"/>
+        <result property="createBy" column="CREATE_BY"/>
+        <result property="createTime" column="CREATE_TIME"/>
+        <result property="updateBy" column="UPDATE_BY"/>
+        <result property="updateTime" column="UPDATE_TIME"/>
+        <result property="remark" column="REMARK"/>
+    </resultMap>
+
+    <sql id="selectHlDayDetailVo">
+        select DAY_DETAIL_ID,
+               DAY_ID,
+               HL_TYPE,
+               HL_CODE,
+               HL_SCORE,
+               HL_VALUE,
+               CREATE_BY,
+               CREATE_TIME,
+               UPDATE_BY,
+               UPDATE_TIME,
+               REMARK
+        from hl_day_detail
+    </sql>
+
+    <select id="selectHlDayDetailList" parameterType="HlDayDetail" resultMap="HlDayDetailResult">
+        <include refid="selectHlDayDetailVo"/>
+        <where>
+            <if test="dayId != null ">
+                and DAY_ID = #{dayId}
+            </if>
+            <if test="hlType != null  and hlType != ''">
+                and HL_TYPE = #{hlType}
+            </if>
+            <if test="hlCode != null  and hlCode != ''">
+                and HL_CODE = #{hlCode}
+            </if>
+            <if test="hlScore != null ">
+                and HL_SCORE = #{hlScore}
+            </if>
+            <if test="hlValue != null  and hlValue != ''">
+                and HL_VALUE = #{hlValue}
+            </if>
+            <if test="createBy != null  and createBy != ''">
+                and CREATE_BY = #{createBy}
+            </if>
+            <if test="createTime != null ">
+                and CREATE_TIME = #{createTime}
+            </if>
+            <if test="updateBy != null  and updateBy != ''">
+                and UPDATE_BY = #{updateBy}
+            </if>
+            <if test="updateTime != null ">
+                and UPDATE_TIME = #{updateTime}
+            </if>
+            <if test="remark != null  and remark != ''">
+                and REMARK = #{remark}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectHlDayDetailByDayDetailId" parameterType="Long"
+            resultMap="HlDayDetailResult">
+        <include refid="selectHlDayDetailVo"/>
+        where DAY_DETAIL_ID = #{dayDetailId}
+    </select>
+
+    <insert id="insertHlDayDetail" parameterType="HlDayDetail" useGeneratedKeys="true"
+            keyProperty="dayDetailId">
+        insert into hl_day_detail
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="dayId != null">DAY_ID,
+            </if>
+            <if test="hlType != null">HL_TYPE,
+            </if>
+            <if test="hlCode != null">HL_CODE,
+            </if>
+            <if test="hlScore != null">HL_SCORE,
+            </if>
+            <if test="hlValue != null">HL_VALUE,
+            </if>
+            <if test="createBy != null">CREATE_BY,
+            </if>
+            <if test="createTime != null">CREATE_TIME,
+            </if>
+            <if test="updateBy != null">UPDATE_BY,
+            </if>
+            <if test="updateTime != null">UPDATE_TIME,
+            </if>
+            <if test="remark != null">REMARK,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="dayId != null">#{dayId},
+            </if>
+            <if test="hlType != null">#{hlType},
+            </if>
+            <if test="hlCode != null">#{hlCode},
+            </if>
+            <if test="hlScore != null">#{hlScore},
+            </if>
+            <if test="hlValue != null">#{hlValue},
+            </if>
+            <if test="createBy != null">#{createBy},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateBy != null">#{updateBy},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+            <if test="remark != null">#{remark},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateHlDayDetail" parameterType="HlDayDetail">
+        update hl_day_detail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="dayId != null">DAY_ID =
+                #{dayId},
+            </if>
+            <if test="hlType != null">HL_TYPE =
+                #{hlType},
+            </if>
+            <if test="hlCode != null">HL_CODE =
+                #{hlCode},
+            </if>
+            <if test="hlScore != null">HL_SCORE =
+                #{hlScore},
+            </if>
+            <if test="hlValue != null">HL_VALUE =
+                #{hlValue},
+            </if>
+            <if test="createBy != null">CREATE_BY =
+                #{createBy},
+            </if>
+            <if test="createTime != null">CREATE_TIME =
+                #{createTime},
+            </if>
+            <if test="updateBy != null">UPDATE_BY =
+                #{updateBy},
+            </if>
+            <if test="updateTime != null">UPDATE_TIME =
+                #{updateTime},
+            </if>
+            <if test="remark != null">REMARK =
+                #{remark},
+            </if>
+        </trim>
+        where DAY_DETAIL_ID = #{dayDetailId}
+    </update>
+
+    <delete id="deleteHlDayDetailByDayDetailId" parameterType="Long">
+        delete
+        from hl_day_detail
+        where DAY_DETAIL_ID = #{dayDetailId}
+    </delete>
+
+    <delete id="deleteHlDayDetailByDayDetailIds" parameterType="String">
+        delete from hl_day_detail where DAY_DETAIL_ID in
+        <foreach item="dayDetailId" collection="array" open="(" separator="," close=")">
+            #{dayDetailId}
+        </foreach>
+    </delete>
+</mapper>

+ 146 - 0
jjt-biz/src/main/resources/mapper/hl/HlDayMapper.xml

@@ -0,0 +1,146 @@
+<?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.biz.mapper.HlDayMapper">
+
+    <resultMap type="HlDay" id="HlDayResult">
+        <result property="dayId" column="DAY_ID"/>
+        <result property="modelId" column="MODEL_ID"/>
+        <result property="hlScore" column="HL_SCORE"/>
+        <result property="hlDate" column="HL_DATE"/>
+        <result property="createBy" column="CREATE_BY"/>
+        <result property="createTime" column="CREATE_TIME"/>
+        <result property="updateBy" column="UPDATE_BY"/>
+        <result property="updateTime" column="UPDATE_TIME"/>
+        <result property="remark" column="REMARK"/>
+    </resultMap>
+
+    <sql id="selectHlDayVo">
+        select DAY_ID,
+               MODEL_ID,
+               HL_SCORE,
+               HL_DATE,
+               CREATE_BY,
+               CREATE_TIME,
+               UPDATE_BY,
+               UPDATE_TIME,
+               REMARK
+        from hl_day
+    </sql>
+
+    <select id="selectHlDayList" parameterType="HlDay" resultMap="HlDayResult">
+        <include refid="selectHlDayVo"/>
+        <where>
+            <if test="modelId != null ">
+                and MODEL_ID = #{modelId}
+            </if>
+            <if test="hlScore != null ">
+                and HL_SCORE = #{hlScore}
+            </if>
+            <if test="createBy != null  and createBy != ''">
+                and CREATE_BY = #{createBy}
+            </if>
+            <if test="createTime != null ">
+                and CREATE_TIME = #{createTime}
+            </if>
+            <if test="updateBy != null  and updateBy != ''">
+                and UPDATE_BY = #{updateBy}
+            </if>
+            <if test="updateTime != null ">
+                and UPDATE_TIME = #{updateTime}
+            </if>
+            <if test="remark != null  and remark != ''">
+                and REMARK = #{remark}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectHlDayByDayId" parameterType="Long"
+            resultMap="HlDayResult">
+        <include refid="selectHlDayVo"/>
+        where DAY_ID = #{dayId}
+    </select>
+
+    <insert id="insertHlDay" parameterType="HlDay" useGeneratedKeys="true"
+            keyProperty="dayId">
+        insert into hl_day
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="modelId != null">MODEL_ID,
+            </if>
+            <if test="hlScore != null">HL_SCORE,
+            </if>
+            <if test="hlDate != null">HL_DATE,
+            </if>
+            <if test="createBy != null">CREATE_BY,
+            </if>
+            <if test="createTime != null">CREATE_TIME,
+            </if>
+            <if test="updateBy != null">UPDATE_BY,
+            </if>
+            <if test="updateTime != null">UPDATE_TIME,
+            </if>
+            <if test="remark != null">REMARK,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="modelId != null">#{modelId},
+            </if>
+            <if test="hlScore != null">#{hlScore},
+            </if>
+            <if test="hlDate != null">#{hlDate},
+            </if>
+            <if test="createBy != null">#{createBy},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateBy != null">#{updateBy},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+            <if test="remark != null">#{remark},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateHlDay" parameterType="HlDay">
+        update hl_day
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="modelId != null">MODEL_ID =
+                #{modelId},
+            </if>
+            <if test="hlScore != null">HL_SCORE =
+                #{hlScore},
+            </if>
+            <if test="createBy != null">CREATE_BY =
+                #{createBy},
+            </if>
+            <if test="createTime != null">CREATE_TIME =
+                #{createTime},
+            </if>
+            <if test="updateBy != null">UPDATE_BY =
+                #{updateBy},
+            </if>
+            <if test="updateTime != null">UPDATE_TIME =
+                #{updateTime},
+            </if>
+            <if test="remark != null">REMARK =
+                #{remark},
+            </if>
+        </trim>
+        where DAY_ID = #{dayId}
+    </update>
+
+    <delete id="deleteHlDayByDayId" parameterType="Long">
+        delete
+        from hl_day
+        where DAY_ID = #{dayId}
+    </delete>
+
+    <delete id="deleteHlDayByDayIds" parameterType="String">
+        delete from hl_day where DAY_ID in
+        <foreach item="dayId" collection="array" open="(" separator="," close=")">
+            #{dayId}
+        </foreach>
+    </delete>
+</mapper>

+ 91 - 82
jjt-biz/src/main/resources/mapper/hl/HlScoreMapper.xml

@@ -5,122 +5,131 @@
 <mapper namespace="com.jjt.biz.mapper.HlScoreMapper">
 
     <resultMap type="HlScore" id="HlScoreResult">
-            <result property="hlScoreId" column="HL_SCORE_ID"/>
-            <result property="modelId" column="MODEL_ID"/>
-            <result property="hlScore" column="HL_SCORE"/>
-            <result property="createBy" column="CREATE_BY"/>
-            <result property="createTime" column="CREATE_TIME"/>
-            <result property="updateBy" column="UPDATE_BY"/>
-            <result property="updateTime" column="UPDATE_TIME"/>
-            <result property="remark" column="REMARK"/>
+        <result property="hlScoreId" column="HL_SCORE_ID"/>
+        <result property="modelId" column="MODEL_ID"/>
+        <result property="hlScore" column="HL_SCORE"/>
+        <result property="createBy" column="CREATE_BY"/>
+        <result property="createTime" column="CREATE_TIME"/>
+        <result property="updateBy" column="UPDATE_BY"/>
+        <result property="updateTime" column="UPDATE_TIME"/>
+        <result property="remark" column="REMARK"/>
     </resultMap>
 
     <sql id="selectHlScoreVo">
-        select HL_SCORE_ID, MODEL_ID, HL_SCORE, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, REMARK
+        select HL_SCORE_ID,
+               MODEL_ID,
+               HL_SCORE,
+               CREATE_BY,
+               CREATE_TIME,
+               UPDATE_BY,
+               UPDATE_TIME,
+               REMARK
         from hl_score
     </sql>
 
     <select id="selectHlScoreList" parameterType="HlScore" resultMap="HlScoreResult">
         <include refid="selectHlScoreVo"/>
         <where>
-                        <if test="modelId != null ">
-                            and MODEL_ID = #{modelId}
-                        </if>
-                        <if test="hlScore != null ">
-                            and HL_SCORE = #{hlScore}
-                        </if>
-                        <if test="createBy != null  and createBy != ''">
-                            and CREATE_BY = #{createBy}
-                        </if>
-                        <if test="createTime != null ">
-                            and CREATE_TIME = #{createTime}
-                        </if>
-                        <if test="updateBy != null  and updateBy != ''">
-                            and UPDATE_BY = #{updateBy}
-                        </if>
-                        <if test="updateTime != null ">
-                            and UPDATE_TIME = #{updateTime}
-                        </if>
-                        <if test="remark != null  and remark != ''">
-                            and REMARK = #{remark}
-                        </if>
+            <if test="modelId != null ">
+                and MODEL_ID = #{modelId}
+            </if>
+            <if test="hlScore != null ">
+                and HL_SCORE = #{hlScore}
+            </if>
+            <if test="createBy != null  and createBy != ''">
+                and CREATE_BY = #{createBy}
+            </if>
+            <if test="createTime != null ">
+                and CREATE_TIME = #{createTime}
+            </if>
+            <if test="updateBy != null  and updateBy != ''">
+                and UPDATE_BY = #{updateBy}
+            </if>
+            <if test="updateTime != null ">
+                and UPDATE_TIME = #{updateTime}
+            </if>
+            <if test="remark != null  and remark != ''">
+                and REMARK = #{remark}
+            </if>
         </where>
+        order by create_time desc
     </select>
 
     <select id="selectHlScoreByHlScoreId" parameterType="Long"
             resultMap="HlScoreResult">
-            <include refid="selectHlScoreVo"/>
-            where HL_SCORE_ID = #{hlScoreId}
+        <include refid="selectHlScoreVo"/>
+        where HL_SCORE_ID = #{hlScoreId}
     </select>
 
     <insert id="insertHlScore" parameterType="HlScore" useGeneratedKeys="true"
             keyProperty="hlScoreId">
         insert into hl_score
         <trim prefix="(" suffix=")" suffixOverrides=",">
-                    <if test="modelId != null">MODEL_ID,
-                    </if>
-                    <if test="hlScore != null">HL_SCORE,
-                    </if>
-                    <if test="createBy != null">CREATE_BY,
-                    </if>
-                    <if test="createTime != null">CREATE_TIME,
-                    </if>
-                    <if test="updateBy != null">UPDATE_BY,
-                    </if>
-                    <if test="updateTime != null">UPDATE_TIME,
-                    </if>
-                    <if test="remark != null">REMARK,
-                    </if>
+            <if test="modelId != null">MODEL_ID,
+            </if>
+            <if test="hlScore != null">HL_SCORE,
+            </if>
+            <if test="createBy != null">CREATE_BY,
+            </if>
+            <if test="createTime != null">CREATE_TIME,
+            </if>
+            <if test="updateBy != null">UPDATE_BY,
+            </if>
+            <if test="updateTime != null">UPDATE_TIME,
+            </if>
+            <if test="remark != null">REMARK,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-                    <if test="modelId != null">#{modelId},
-                    </if>
-                    <if test="hlScore != null">#{hlScore},
-                    </if>
-                    <if test="createBy != null">#{createBy},
-                    </if>
-                    <if test="createTime != null">#{createTime},
-                    </if>
-                    <if test="updateBy != null">#{updateBy},
-                    </if>
-                    <if test="updateTime != null">#{updateTime},
-                    </if>
-                    <if test="remark != null">#{remark},
-                    </if>
+            <if test="modelId != null">#{modelId},
+            </if>
+            <if test="hlScore != null">#{hlScore},
+            </if>
+            <if test="createBy != null">#{createBy},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateBy != null">#{updateBy},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+            <if test="remark != null">#{remark},
+            </if>
         </trim>
     </insert>
 
     <update id="updateHlScore" parameterType="HlScore">
         update hl_score
         <trim prefix="SET" suffixOverrides=",">
-                    <if test="modelId != null">MODEL_ID =
-                        #{modelId},
-                    </if>
-                    <if test="hlScore != null">HL_SCORE =
-                        #{hlScore},
-                    </if>
-                    <if test="createBy != null">CREATE_BY =
-                        #{createBy},
-                    </if>
-                    <if test="createTime != null">CREATE_TIME =
-                        #{createTime},
-                    </if>
-                    <if test="updateBy != null">UPDATE_BY =
-                        #{updateBy},
-                    </if>
-                    <if test="updateTime != null">UPDATE_TIME =
-                        #{updateTime},
-                    </if>
-                    <if test="remark != null">REMARK =
-                        #{remark},
-                    </if>
+            <if test="modelId != null">MODEL_ID =
+                #{modelId},
+            </if>
+            <if test="hlScore != null">HL_SCORE =
+                #{hlScore},
+            </if>
+            <if test="createBy != null">CREATE_BY =
+                #{createBy},
+            </if>
+            <if test="createTime != null">CREATE_TIME =
+                #{createTime},
+            </if>
+            <if test="updateBy != null">UPDATE_BY =
+                #{updateBy},
+            </if>
+            <if test="updateTime != null">UPDATE_TIME =
+                #{updateTime},
+            </if>
+            <if test="remark != null">REMARK =
+                #{remark},
+            </if>
         </trim>
         where HL_SCORE_ID = #{hlScoreId}
     </update>
 
     <delete id="deleteHlScoreByHlScoreId" parameterType="Long">
         delete
-        from hl_score where HL_SCORE_ID = #{hlScoreId}
+        from hl_score
+        where HL_SCORE_ID = #{hlScoreId}
     </delete>
 
     <delete id="deleteHlScoreByHlScoreIds" parameterType="String">