瀏覽代碼

中台-可视化子页

limeng 2 年之前
父節點
當前提交
f99492917b

+ 53 - 0
mybusiness/src/main/java/com/business/controller/VisualizationController.java

@@ -7,9 +7,11 @@ import com.sooka.common.core.controller.BaseController;
 import com.sooka.common.core.domain.AjaxResult;
 import com.sooka.framework.util.ShiroUtils;
 import com.sooka.system.domain.SysDept;
+import com.sooka.system.domain.SysDictData;
 import com.sooka.system.domain.TUInterfaceinfo;
 import com.sooka.system.service.ISysDeptService;
 import com.sooka.system.service.ITUInterfaceinfoService;
+import com.sooka.system.utils.DictUtils;
 import com.util.StaticScheduleTask;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -55,6 +57,8 @@ public class VisualizationController extends BaseController {
         /**查询接口数量**/
         TUInterfaceinfo shareCount = interfaceinfoService.getShareCountByDeptId(id.toString());
 
+        /**查询归集数据分析**/
+
         mmap.put("deptId",sysDept.getDeptId());
         mmap.put("deptName",sysDept.getDeptName());
         mmap.put("interfaceList",interfaceList);
@@ -63,6 +67,55 @@ public class VisualizationController extends BaseController {
     }
 
     /**
+     * 查询 接口接口占比-子页
+     * */
+    @PostMapping("subPercent")
+    @ResponseBody
+    public JSONObject getSubPercent(String deptId,String year){
+        JSONObject jsonObject = new JSONObject();
+        List<TUInterfaceinfo> list_percent = interfaceinfoService.getSubPercent(deptId,year);
+        jsonObject.put("percent",list_percent);
+        return jsonObject;
+    }
+
+    /**
+     * 查询 接口审批分析-子页 自动获取近三年
+     * */
+    @PostMapping("subJkspfx")
+    @ResponseBody
+    public JSONObject subJkspfx(String deptId){
+        JSONObject jsonObject = new JSONObject();
+        //年份数据
+        jsonObject.put("years",getYears());
+        //类别数组
+        List<SysDictData> list = DictUtils.getDictCache("share_type");
+        String[] types = new String[list.size()];
+        for(int i=0;i<list.size();i++){
+            types[i] = list.get(i).getDictLabel();
+        }
+        jsonObject.put("types",types);
+        for(int i=0;i<getYears().length;i++){
+            TUInterfaceinfo subJkspfx = interfaceinfoService.getSubJkspfx(deptId,getYears()[i]);
+            String[] jkspfxData = new String[4];
+            jkspfxData[0] = subJkspfx.getShareType1();
+            jkspfxData[1] = subJkspfx.getShareType2();
+            jkspfxData[2] = subJkspfx.getShareType3();
+            jkspfxData[3] = subJkspfx.getShareType4();
+            jsonObject.put(getYears()[i],jkspfxData);
+        }
+        return jsonObject;
+    }
+
+    /**获取当前年和前两年的年份**/
+    private String[] getYears() {
+        String[] arr = new String[3];
+        for(int i=0;i<arr.length;i++){
+            arr[i] = StaticScheduleTask.getYears(i-2);
+        }
+        return arr;
+    }
+
+    /**
      * 查询 接口数量和接口占比
      * */
     @PostMapping("countAndPercent")

+ 13 - 0
mybusiness/src/main/java/com/sooka/system/mapper/TUInterfaceinfoMapper.java

@@ -81,6 +81,19 @@ public interface TUInterfaceinfoMapper
     public List<TUInterfaceinfo> getPercent(@Param("year") String year);
 
     /**
+     * 查询接口占比
+     * @param year
+     * @return 结果
+     */
+    public List<TUInterfaceinfo> getSubPercent(@Param("deptId") String deptId, @Param("year") String year);
+
+    /**
+     * 接口审批分析
+     * @return 结果
+     */
+    public TUInterfaceinfo getSubJkspfx(@Param("deptId") String deptId, @Param("year") String year);
+
+    /**
      * 查询省接口调用频次TOP5
      * @return 结果
      */

+ 12 - 0
mybusiness/src/main/java/com/sooka/system/service/ITUInterfaceinfoService.java

@@ -78,6 +78,18 @@ public interface ITUInterfaceinfoService
     public List<TUInterfaceinfo> getPercent(String year);
 
     /**
+     * 查询接口占比
+     * @return 结果
+     */
+    public List<TUInterfaceinfo> getSubPercent(String deptId, String year);
+
+    /**
+     * 接口审批分析
+     * @return 结果
+     */
+    public TUInterfaceinfo getSubJkspfx(String deptId, String year);
+
+    /**
      * 查询省接口调用频次TOP5
      * @return 结果
      */

+ 18 - 0
mybusiness/src/main/java/com/sooka/system/service/impl/TUInterfaceinfoServiceImpl.java

@@ -153,6 +153,24 @@ public class TUInterfaceinfoServiceImpl implements ITUInterfaceinfoService
     }
 
     /**
+     * 查询接口占比
+     * @return 结果
+     */
+    @Override
+    public List<TUInterfaceinfo> getSubPercent(String deptId, String year){
+        return tUInterfaceinfoMapper.getSubPercent(deptId,year);
+    }
+
+    /**
+     * 接口审批分析
+     * @return 结果
+     */
+    @Override
+    public TUInterfaceinfo getSubJkspfx(String deptId, String year){
+        return tUInterfaceinfoMapper.getSubJkspfx(deptId, year);
+    }
+
+    /**
      * 查询省接口调用频次TOP5
      * @return 结果
      */

+ 80 - 0
mybusiness/src/main/resources/mapper/system/TUInterfaceinfoMapper.xml

@@ -239,6 +239,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY dict_value
     </select>
 
+    <select id="getSubPercent" resultMap="TUInterfaceinfoResult" parameterType="String">
+        SELECT
+            CONVERT (
+                (
+                    COUNT(id) / (
+                        SELECT
+                            COUNT(id)
+                        FROM
+                            t_u_interfaceinfo
+                    ) * 100
+                ),
+                DECIMAL (10, 0)
+            ) percent,
+            COUNT(id) count,
+            b.dict_label share_type
+        FROM
+            t_u_interfaceinfo a
+        LEFT JOIN sys_dict_data b ON a.share_type = b.dict_value
+        WHERE DATE_FORMAT(a.create_time,'%Y') = #{year}
+        <if test="deptId != null  and deptId != ''"> and a.dept_id = #{deptId}</if>
+        GROUP BY
+            share_type
+        ORDER BY dict_value
+    </select>
+
     <select id="getPercent" resultMap="TUInterfaceinfoResult" parameterType="String">
         SELECT
             CONVERT (
@@ -390,4 +415,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             status = 1
     </select>
 
+    <select id="getSubJkspfx" resultMap="TUInterfaceinfoResult">
+        SELECT
+            IFNULL(
+                SUM(
+                    CASE share_type
+                    WHEN 'share_type_1' THEN
+                        1
+                    ELSE
+                        0
+                    END
+                ),
+                0
+            ) AS shareType1,
+            IFNULL(
+                SUM(
+                    CASE share_type
+                    WHEN 'share_type_2' THEN
+                        1
+                    ELSE
+                        0
+                    END
+                ),
+                0
+            ) AS shareType2,
+            IFNULL(
+                SUM(
+                    CASE share_type
+                    WHEN 'share_type_3' THEN
+                        1
+                    ELSE
+                        0
+                    END
+                ),
+                0
+            ) AS shareType3,
+            IFNULL(
+                SUM(
+                    CASE share_type
+                    WHEN 'share_type_4' THEN
+                        1
+                    ELSE
+                        0
+                    END
+                ),
+                0
+            ) AS shareType4
+        FROM
+            int_detailed d
+        LEFT JOIN int_record r ON d.record_id = r.id
+        LEFT JOIN t_u_interfaceinfo i ON i.id = d.int_id
+        WHERE
+            provide_dept_id = #{deptId}
+        AND DATE_FORMAT(r.examine_time, '%Y') = #{year}
+    </select>
+
 </mapper>

+ 21 - 1
mybusiness/src/main/resources/static/visualization/js/echarts_div.js

@@ -8,6 +8,7 @@ function countAndPercent(year){
 	$.post("/visualization/countAndPercent",{
 		year:year
 	},function (res) {
+		console.log(res);
 		//渲染接口数量
 		if(res.count.length > 0){
 			$(".data1").remove();
@@ -103,6 +104,26 @@ function jkzb(percent) {
 		//渲染页面数据
 		$(".jkzb_list").remove();
 		$(".jkzb_txt").append(html);
+	}else{
+		let html = '<div class="sgj jkzb_list">' +
+		'	<h3><i></i>市归集</h3>' +
+		'	<p><span>0</span><span>0%</span></p>' +
+		'</div>' +
+		'<div class="sgx jkzb_list">' +
+		'	<h3><i></i>市共享</h3>' +
+		'	<p><span>0</span><span>0%</span></p>' +
+		'</div>' +
+		'<div class="sgj2 jkzb_list">' +
+		'	<h3><i></i>省归集</h3>' +
+		'	<p><span>0</span><span>0%</span></p>' +
+		'</div>' +
+		'<div class="sgx jkzb_list">' +
+		'	<h3><i></i>省共享</h3>' +
+		'	<p><span>0</span><span>0%</span></p>' +
+		'</div>';
+		//渲染页面数据
+		$(".jkzb_list").remove();
+		$(".jkzb_txt").append(html);
 	}
 	// 基于准备好的dom,初始化echarts实例
 	var tootipTimer = null;
@@ -1169,7 +1190,6 @@ function sjk2(res) {
 
 // 归集数据分析
 function gjsj(res) {
-	console.log(res);
 	//将数据处理为数组
 	let title = ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'];
 	let _data = [];

File diff suppressed because it is too large
+ 334 - 296
mybusiness/src/main/resources/templates/visualization/tk_iframe.html