Ver código fonte

Merge branch 'master' of http://39.98.38.2:13000/dumingliang/sh-model-platform

Hua 3 meses atrás
pai
commit
02a57fd32c

+ 30 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/controller/MdEfficiencyController.java

@@ -0,0 +1,30 @@
+package com.ruoyi.interfaces.controller;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.interfaces.domain.MdModelInfo;
+import com.ruoyi.interfaces.domain.vo.PtServiceLogStatisVo;
+import com.ruoyi.interfaces.service.IPtServiceLogStatisService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+
+@RestController
+@RequestMapping("/md/efficiency")
+public class MdEfficiencyController extends BaseController {
+
+
+    @Autowired
+    private IPtServiceLogStatisService logStatisService;
+
+    @GetMapping("/list")
+    public AjaxResult list(MdModelInfo modelInfo) {
+        List<PtServiceLogStatisVo> ptServiceLogStatisVos = logStatisService.selectMdEfficiency(modelInfo);
+        return success(ptServiceLogStatisVos);
+    }
+
+}

+ 12 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/domain/vo/PtServiceLogStatisVo.java

@@ -14,6 +14,18 @@ public class PtServiceLogStatisVo extends PtServiceLogStatis {
 
     private Double rate;
     private String rateLv;
+    /**
+     * 时间效率等级
+     */
+    private String execTmLv;
+
+    public String getExecTmLv() {
+        return execTmLv;
+    }
+
+    public void setExecTmLv(String execTmLv) {
+        this.execTmLv = execTmLv;
+    }
 
     public String getRateLv() {
         return rateLv;

+ 2 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/mapper/PtServiceLogStatisMapper.java

@@ -29,4 +29,6 @@ public interface PtServiceLogStatisMapper {
     List<PtServiceLogStatisVo> selectPtServiceLogStatisYearMdList(PtServiceLogStatis logStatis);
 
     List<PtServiceLogStatisVo> selectMdQuality(MdModelInfo modelInfo);
+
+    List<PtServiceLogStatisVo> selectMdEfficiency(MdModelInfo modelInfo);
 }

+ 2 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/IPtServiceLogStatisService.java

@@ -21,4 +21,6 @@ public interface IPtServiceLogStatisService {
     List<PtServiceLogStatisVo> selectPtServiceLogStatisYearMdList(PtServiceLogStatis logStatis);
 
     List<PtServiceLogStatisVo> selectMdQuality(MdModelInfo modelInfo);
+
+    List<PtServiceLogStatisVo> selectMdEfficiency(MdModelInfo modelInfo);
 }

+ 21 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/impl/PtServiceLogStatisServiceImpl.java

@@ -69,7 +69,7 @@ public class PtServiceLogStatisServiceImpl implements IPtServiceLogStatisService
 
         ptServiceLogStatisVos.forEach(v -> {
             if (StringUtils.isNotNull(v.getStatisNum())) {
-                v.setRate(Arith.div(Arith.mul(v.getStatisNumTrue(), 100), v.getStatisNum()));
+                v.setRate(Arith.div(Arith.mul(v.getStatisNumTrue(), 100), v.getStatisNum(), 0));
                 if (v.getRate() >= 90) {
                     v.setRateLv("优");
                 } else if (v.getRate() >= 80 && v.getRate() < 90) {
@@ -84,4 +84,24 @@ public class PtServiceLogStatisServiceImpl implements IPtServiceLogStatisService
 
         return ptServiceLogStatisVos;
     }
+
+    @Override
+    public List<PtServiceLogStatisVo> selectMdEfficiency(MdModelInfo modelInfo) {
+        List<PtServiceLogStatisVo> ptServiceLogStatisVos = ptServiceLogStatisMapper.selectMdEfficiency(modelInfo);
+        ptServiceLogStatisVos.forEach(v -> {
+            if (StringUtils.isNotNull(v.getStatisNum())) {
+                v.setRate(Arith.div(v.getExecTm(), v.getStatisNum(), 0));
+                if (v.getRate() >= 6000) {
+                    v.setRateLv("差");
+                } else if (v.getRate() >= 3000 && v.getRate() < 6000) {
+                    v.setRateLv("中");
+                } else if (v.getRate() >= 1000 && v.getRate() < 3000) {
+                    v.setRateLv("高");
+                } else if (v.getRate() < 1000) {
+                    v.setRateLv("优");
+                }
+            }
+        });
+        return ptServiceLogStatisVos;
+    }
 }

+ 18 - 0
ruoyi-api-patform/src/main/resources/mapper/interfaces/PtServiceLogStatisMapper.xml

@@ -269,5 +269,23 @@
         </where>
         ORDER BY m.sort
     </select>
+    <select id="selectMdEfficiency" resultMap="PtServiceLogStatisMap" >
+        SELECT m.mdid MD_ID, m.name as MD_NAME, d.STATIS_NUM, d.EXEC_TM
+        FROM md_model_info m
+        LEFT JOIN (SELECT md_id,
+        sum(statis_num) statis_num,
+        sum(exec_tm)    exec_tm
+        FROM PT_SERVICE_LOG_STATIS
+        WHERE STATIS_TM &gt;= to_date(#{params.beginTime}, 'yyyy-mm-dd')
+        AND STATIS_TM &lt;= to_date(#{params.endTime}, 'yyyy-mm-dd')
+        AND status_code = '200'
+        GROUP BY md_id) d ON m.mdid = d.MD_ID
+        <where>
+            <if test="devkind != null and devkind != ''">
+                and devkind = #{devkind}
+            </if>
+        </where>
+        ORDER BY m.sort
+    </select>
 
 </mapper>