wukai 6 månader sedan
förälder
incheckning
b0207fcc4c

+ 1 - 73
jjt-biz/src/main/java/com/jjt/check/controller/CheckConfigController.java

@@ -136,85 +136,13 @@ public class CheckConfigController extends BaseController {
         return success(crService.selectCheckRecordByCrId(crId));
     }
 
-    @Resource
-    private IBizObjMetricsService omService;
-
     /**
      * 修改自动巡检记录明细
      */
     @ApiOperation("一键巡检")
     @PostMapping("/check")
     public AjaxResult check() {
-        List<CheckConfig> list = checkConfigService.selectCheckConfigList(new CheckConfig());
-        CheckRecord cr = new CheckRecord();
-        cr.setCheckTime(new Date());
-        CheckExportVO vo = new CheckExportVO();
-        vo.mock();
-        List<CheckRecordDetail> details = new ArrayList<>();
-        crService.insertCheckRecord(cr);
-        int errors = 0;
-        for (CheckConfig checkConfig : list) {
-            String e = checkConfig.getCheckCode().split("_")[1];
-            int pos = Integer.parseInt(e) - 1;
-
-            CheckRecordDetail crd = new CheckRecordDetail();
-            BeanUtils.copyProperties(checkConfig, crd);
-            crd.setCrId(cr.getCrId());
-            BizObjMetrics bom = new BizObjMetrics();
-            Long metricsId = checkConfig.getMetricsId();
-            if (metricsId != null) {
-                bom.setMetricsId(checkConfig.getMetricsId());
-                List<BizObjMetrics> oms = omService.selectBizObjMetricsList(bom);
-                if (oms.size() > 0) {
-                    if ("1".equals(checkConfig.getCheckMethod())) {
-                        //平均值
-                        BigDecimal total = BigDecimal.ZERO;
-                        for (BizObjMetrics om : oms) {
-                            total = total.add(om.getDValue());
-                        }
-                        BigDecimal avg = total.divide(BigDecimal.valueOf(oms.size()), 2, RoundingMode.HALF_UP);
-                        boolean flag = IntervalUtil.inNumRange(avg.floatValue(), checkConfig.getCheckRule());
-                        Map<String, String> pair = CheckExportVO.checkV(flag, avg.floatValue(), pos);
-                        crd.setResultL(pair.get("left"));
-                        crd.setResultR(pair.get("right"));
-                        if (flag) {
-                            errors++;
-                        }
-                    } else {
-                        //发现一个就算异常
-                        for (BizObjMetrics om : oms) {
-                            boolean flag = IntervalUtil.inNumRange(om.getDValue().floatValue(), checkConfig.getCheckRule());
-                            Map<String, String> pair = CheckExportVO.checkV(true, 0f, pos);
-                            crd.setResultL(pair.get("left"));
-                            crd.setResultR(pair.get("right"));
-                            if (flag) {
-                                errors++;
-                                break;
-                            }
-                        }
-                    }
-                }
-            } else {
-                BigDecimal v = BigDecimal.valueOf(Math.random() * 100).setScale(2, RoundingMode.HALF_UP);
-                boolean flag = false;
-                if (v.intValue() % 2 == 0) {
-                    flag = true;
-                }
-
-                Map<String, String> pair = CheckExportVO.checkV(flag, v.floatValue(), pos);
-                crd.setResultL(pair.get("left"));
-                crd.setResultR(pair.get("right"));
-                if (flag) {
-                    errors++;
-                }
-            }
-            crdService.insertCheckRecordDetail(crd);
-            details.add(crd);
-        }
-        String result = "共检查" + list.size() + "项,发现问题" + errors + "项";
-        cr.setCheckResult(result);
-        cr.setDetailList(details);
-        crService.updateCheckRecord(cr);
+        CheckRecord cr=crService.check();
         return success(cr);
     }
 

+ 14 - 8
jjt-biz/src/main/java/com/jjt/check/service/ICheckRecordService.java

@@ -5,15 +5,15 @@ import com.jjt.check.domain.CheckRecord;
 
 /**
  * 自动巡检记录Service接口
- * 
+ *
  * @author jjt
  * @date 2024-12-06
  */
-public interface ICheckRecordService 
+public interface ICheckRecordService
 {
     /**
      * 查询自动巡检记录
-     * 
+     *
      * @param crId 自动巡检记录主键
      * @return 自动巡检记录
      */
@@ -21,7 +21,7 @@ public interface ICheckRecordService
 
     /**
      * 查询自动巡检记录列表
-     * 
+     *
      * @param checkRecord 自动巡检记录
      * @return 自动巡检记录集合
      */
@@ -29,7 +29,7 @@ public interface ICheckRecordService
 
     /**
      * 新增自动巡检记录
-     * 
+     *
      * @param checkRecord 自动巡检记录
      * @return 结果
      */
@@ -37,7 +37,7 @@ public interface ICheckRecordService
 
     /**
      * 修改自动巡检记录
-     * 
+     *
      * @param checkRecord 自动巡检记录
      * @return 结果
      */
@@ -45,7 +45,7 @@ public interface ICheckRecordService
 
     /**
      * 批量删除自动巡检记录
-     * 
+     *
      * @param crIds 需要删除的自动巡检记录主键集合
      * @return 结果
      */
@@ -53,9 +53,15 @@ public interface ICheckRecordService
 
     /**
      * 删除自动巡检记录信息
-     * 
+     *
      * @param crId 自动巡检记录主键
      * @return 结果
      */
     public int deleteCheckRecordByCrId(Long crId);
+
+    /**
+     * 自动巡检
+     * @return
+     */
+    CheckRecord check();
 }

+ 100 - 0
jjt-biz/src/main/java/com/jjt/check/service/impl/CheckRecordServiceImpl.java

@@ -1,14 +1,27 @@
 package com.jjt.check.service.impl;
 
+import com.jjt.biz.domain.BizObjMetrics;
+import com.jjt.biz.service.IBizObjMetricsService;
+import com.jjt.check.domain.CheckConfig;
 import com.jjt.check.domain.CheckRecord;
 import com.jjt.check.domain.CheckRecordDetail;
 import com.jjt.check.mapper.CheckRecordDetailMapper;
 import com.jjt.check.mapper.CheckRecordMapper;
+import com.jjt.check.service.ICheckConfigService;
+import com.jjt.check.service.ICheckRecordDetailService;
 import com.jjt.check.service.ICheckRecordService;
+import com.jjt.check.vo.CheckExportVO;
+import com.jjt.common.utils.IntervalUtil;
+import com.jjt.common.utils.bean.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 自动巡检记录Service业务层处理
@@ -22,6 +35,13 @@ public class CheckRecordServiceImpl implements ICheckRecordService {
     private CheckRecordMapper checkRecordMapper;
     @Resource
     private CheckRecordDetailMapper crdMapper;
+    @Resource
+    private IBizObjMetricsService omService;
+    @Resource
+    private ICheckConfigService checkConfigService;
+    @Resource
+    private ICheckRecordDetailService crdService;
+
 
     /**
      * 查询自动巡检记录
@@ -98,4 +118,84 @@ public class CheckRecordServiceImpl implements ICheckRecordService {
     public int deleteCheckRecordByCrId(Long crId) {
         return checkRecordMapper.deleteCheckRecordByCrId(crId);
     }
+
+    /**
+     * 自动巡检
+     *
+     * @return 结果
+     */
+    @Override
+    public CheckRecord check() {
+        List<CheckConfig> list = checkConfigService.selectCheckConfigList(new CheckConfig());
+        CheckRecord cr = new CheckRecord();
+        cr.setCheckTime(new Date());
+        CheckExportVO vo = new CheckExportVO();
+        vo.mock();
+        List<CheckRecordDetail> details = new ArrayList<>();
+        insertCheckRecord(cr);
+        int errors = 0;
+        for (CheckConfig checkConfig : list) {
+            String e = checkConfig.getCheckCode().split("_")[1];
+            int pos = Integer.parseInt(e) - 1;
+
+            CheckRecordDetail crd = new CheckRecordDetail();
+            BeanUtils.copyProperties(checkConfig, crd);
+            crd.setCrId(cr.getCrId());
+            BizObjMetrics bom = new BizObjMetrics();
+            Long metricsId = checkConfig.getMetricsId();
+            if (metricsId != null) {
+                bom.setMetricsId(checkConfig.getMetricsId());
+                List<BizObjMetrics> oms = omService.selectBizObjMetricsList(bom);
+                if (oms.size() > 0) {
+                    if ("1".equals(checkConfig.getCheckMethod())) {
+                        //平均值
+                        BigDecimal total = BigDecimal.ZERO;
+                        for (BizObjMetrics om : oms) {
+                            total = total.add(om.getDValue());
+                        }
+                        BigDecimal avg = total.divide(BigDecimal.valueOf(oms.size()), 2, RoundingMode.HALF_UP);
+                        boolean flag = IntervalUtil.inNumRange(avg.floatValue(), checkConfig.getCheckRule());
+                        Map<String, String> pair = CheckExportVO.checkV(flag, avg.floatValue(), pos);
+                        crd.setResultL(pair.get("left"));
+                        crd.setResultR(pair.get("right"));
+                        if (flag) {
+                            errors++;
+                        }
+                    } else {
+                        //发现一个就算异常
+                        for (BizObjMetrics om : oms) {
+                            boolean flag = IntervalUtil.inNumRange(om.getDValue().floatValue(), checkConfig.getCheckRule());
+                            Map<String, String> pair = CheckExportVO.checkV(true, 0f, pos);
+                            crd.setResultL(pair.get("left"));
+                            crd.setResultR(pair.get("right"));
+                            if (flag) {
+                                errors++;
+                                break;
+                            }
+                        }
+                    }
+                }
+            } else {
+                BigDecimal v = BigDecimal.valueOf(Math.random() * 100).setScale(2, RoundingMode.HALF_UP);
+                boolean flag = false;
+                if (v.intValue() % 2 == 0) {
+                    flag = true;
+                }
+
+                Map<String, String> pair = CheckExportVO.checkV(flag, v.floatValue(), pos);
+                crd.setResultL(pair.get("left"));
+                crd.setResultR(pair.get("right"));
+                if (flag) {
+                    errors++;
+                }
+            }
+            crdService.insertCheckRecordDetail(crd);
+            details.add(crd);
+        }
+        String result = "共检查" + list.size() + "项,发现问题" + errors + "项";
+        cr.setCheckResult(result);
+        cr.setDetailList(details);
+        updateCheckRecord(cr);
+        return cr;
+    }
 }

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

@@ -2,6 +2,7 @@ package com.jjt.task;
 
 import com.jjt.biz.domain.BizModel;
 import com.jjt.biz.service.IBizModelService;
+import com.jjt.check.service.ICheckRecordService;
 import com.jjt.hl.service.IHlScoreService;
 import org.springframework.stereotype.Component;
 
@@ -21,6 +22,12 @@ public class HlTask {
     private IHlScoreService scoreService;
     @Resource
     private IBizModelService bizModelService;
+    @Resource
+    private ICheckRecordService crService;
+
+    public void check() {
+        crService.check();
+    }
 
     public void score() {
         bizModelService.selectBizModelList(new BizModel()).forEach(bm -> {