基础知识请自行百度查看,以下直接贴出实现代码:

<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>ECharts</title>
<% String year = request.getParameter("riskYear");
String actionType = request.getParameter("actionType");
%>
</head>
<body>
<div );
}
});
</script>
</body>
</html>

后台代码实现如下:

package com.riskintegrator.servlet.report;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import com.riskintegrator.ejb.user.UserData;
import com.riskintegrator.slsb.lem.LEMBD;
import com.riskintegrator.slsb.report.EchartForm;
import com.riskintegrator.slsb.report.EchartRiskBD;
import com.riskintegrator.slsb.report.SeriesForm;

import edu.emory.mathcs.backport.java.util.Collections;

public class EchartsServlet  extends HttpServlet {
    private static final long serialVersionUID = -6497480146173707253L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String jsonString = "";
        try {
            HttpSession session = request.getSession(true);
            UserData udt = (UserData)session.getAttribute("user");
            String orgID = udt.getorgID();
            String year = request.getParameter("year");
            String actionType = request.getParameter("actionType");
            
            LEMBD LBD = new LEMBD();
            String companyOrgId = LBD.getCompanyId(orgID);
            
            EchartRiskBD BD = new EchartRiskBD();
            List<EchartForm> riskOrgList =  BD.getAllRiskMessageByCondition(year,companyOrgId);
            if(riskOrgList.size() == 0){
                JSONArray json = new JSONArray();
                jsonString = json.toString();
            }else if("riskAssess".equalsIgnoreCase(actionType)){
                jsonString = doriskAssess(riskOrgList);
            }else if("riskKPI".equalsIgnoreCase(actionType)){
                jsonString = doriskKPI(riskOrgList);
            }else if("Assessment".equalsIgnoreCase(actionType)){
                jsonString = doAssessment(riskOrgList);
            }else if("riskControl".equalsIgnoreCase(actionType)){
                jsonString = doriskControl(riskOrgList);
            }
            
            
        } catch (Exception e) {
            
        }
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        out.println(jsonString);
        out.flush();
        out.close();
    }
    
    public String doriskAssess(List<EchartForm> riskOrgList) throws Exception{
        //{"低","中","较高","高"}
        List<String> legendList = new ArrayList<String>();
        //设置legend颜色
        List<String> legendColorList = new ArrayList<String>();
        //category--orgName
        List<String> categoryList = new ArrayList<String>();
        //orgid
        List<String> orgIdList = new ArrayList<String>();
         //series
        List<SeriesForm> seriesList = new ArrayList<SeriesForm>();
        
        //设置legend数组
        legendList.add("低"); //这里的名称必须和series的每一组series的name保持一致
        legendList.add("中");
        legendList.add("较高");
        legendList.add("高");
        //设置颜色
        legendColorList.add("#0C0");
        legendColorList.add("#FFC");
        legendColorList.add("#FC3");
        legendColorList.add("#F00");
        
        SeriesForm series1 = new SeriesForm();
        series1.setId(1);
        series1.setName("低");
        series1.setType("bar");
        List<Integer> seriesData1 = new ArrayList<Integer>();
        
        SeriesForm series2 = new SeriesForm();
        series2.setId(2);
        series2.setName("中");
        series2.setType("bar");
        List<Integer> seriesData2 = new ArrayList<Integer>();
        
        SeriesForm series3 = new SeriesForm();
        series3.setId(3);
        series3.setName("较高");
        series3.setType("bar");
        List<Integer> seriesData3 = new ArrayList<Integer>();
        
        SeriesForm series4 = new SeriesForm();
        series4.setId(4);
        series4.setName("高");
        series4.setType("bar");
        List<Integer> seriesData4 = new ArrayList<Integer>();

        EchartsComparator comparator=new EchartsComparator("riskAssess");
        Collections.sort(riskOrgList, comparator);
        for(EchartForm form : riskOrgList){
            orgIdList.add(form.getOrgid());//机构ID
            //加入category
            categoryList.add(form.getOrgName());//机构名称
            //加入数据值series序列数组 这里提供为了效果只提供一组series数据好了   
            seriesData1.add(Integer.parseInt(form.getSCORE_LEVEL1()));//风险评估--低
            seriesData2.add(Integer.parseInt(form.getSCORE_LEVEL2()));//风险评估--中
            seriesData3.add(Integer.parseInt(form.getSCORE_LEVEL3()));//风险评估--较高
            seriesData4.add(Integer.parseInt(form.getSCORE_LEVEL4()));//风险评估--高
        }
        series1.setData(seriesData1);
        series2.setData(seriesData2);
        series3.setData(seriesData3);
        series4.setData(seriesData4);
        
        seriesList.add(series1);
        seriesList.add(series2);
        seriesList.add(series3);
        seriesList.add(series4);
        
        JSONArray json = new JSONArray();
        JSONObject jo = new JSONObject();
        jo.put("legend", legendList);
        jo.put("legendColorList", legendColorList);
        jo.put("orgId", orgIdList);
        jo.put("category", categoryList);
        jo.put("series", seriesList);
        json.add(jo);
        
        return json.toString();
    }
    public String doriskKPI(List<EchartForm> riskOrgList) throws Exception{

        //{"低","中","较高","高"}
        List<String> legendList = new ArrayList<String>();
        //设置legend颜色
        List<String> legendColorList = new ArrayList<String>();
        //category--orgName
        List<String> categoryList = new ArrayList<String>();
        //orgid
        List<String> orgIdList = new ArrayList<String>();
         //series
        List<SeriesForm> seriesList = new ArrayList<SeriesForm>();
        
        //设置legend数组
        legendList.add("低"); //这里的名称必须和series的每一组series的name保持一致
        legendList.add("中");
        legendList.add("较高");
        legendList.add("高");
        //设置颜色
        legendColorList.add("#0C0");
        legendColorList.add("#FFC");
        legendColorList.add("#FC3");
        legendColorList.add("#F00");
        
        SeriesForm series1 = new SeriesForm();
        series1.setId(1);
        series1.setName("低");
        series1.setType("bar");
        List<Integer> seriesData1 = new ArrayList<Integer>();
        
        SeriesForm series2 = new SeriesForm();
        series2.setId(2);
        series2.setName("中");
        series2.setType("bar");
        List<Integer> seriesData2 = new ArrayList<Integer>();
        
        SeriesForm series3 = new SeriesForm();
        series3.setId(3);
        series3.setName("较高");
        series3.setType("bar");
        List<Integer> seriesData3 = new ArrayList<Integer>();
        
        SeriesForm series4 = new SeriesForm();
        series4.setId(4);
        series4.setName("高");
        series4.setType("bar");
        List<Integer> seriesData4 = new ArrayList<Integer>();

        EchartsComparator comparator=new EchartsComparator("riskKPI");
        Collections.sort(riskOrgList, comparator);
        for(EchartForm form : riskOrgList){
            orgIdList.add(form.getOrgid());//机构ID
            //加入category
            categoryList.add(form.getOrgName());//机构名称
            //加入数据值series序列数组 这里提供为了效果只提供一组series数据好了   
            seriesData1.add(Integer.parseInt(form.getKRI_LEVEL1()));//风险指标--低
            seriesData2.add(Integer.parseInt(form.getKRI_LEVEL2()));//风险指标--中
            seriesData3.add(Integer.parseInt(form.getKRI_LEVEL3()));//风险指标--较高
            seriesData4.add(Integer.parseInt(form.getKRI_LEVEL4()));//风险指标--高
        }
        series1.setData(seriesData1);
        series2.setData(seriesData2);
        series3.setData(seriesData3);
        series4.setData(seriesData4);
        
        seriesList.add(series1);
        seriesList.add(series2);
        seriesList.add(series3);
        seriesList.add(series4);
        
        JSONArray json = new JSONArray();
        JSONObject jo = new JSONObject();
        jo.put("legend", legendList);
        jo.put("orgId", orgIdList);
        jo.put("legendColorList", legendColorList);
        jo.put("category", categoryList);
        jo.put("series", seriesList);
        json.add(jo);
        
        return json.toString();
    }
    public String doAssessment(List<EchartForm> riskOrgList) throws Exception{

        //{"问题缺陷"}
        List<String> legendList = new ArrayList<String>();
        //设置legend颜色
        List<String> legendColorList = new ArrayList<String>();
        //category--orgName
        List<String> categoryList = new ArrayList<String>();
        //orgid
        List<String> orgIdList = new ArrayList<String>();
         //series
        List<SeriesForm> seriesList = new ArrayList<SeriesForm>();
        
        //设置legend数组
        legendList.add("问题缺陷"); //这里的名称必须和series的每一组series的name保持一致
        //设置颜色
        legendColorList.add("#F63");

        SeriesForm series1 = new SeriesForm();
        series1.setId(1);
        series1.setName("问题缺陷");
        series1.setType("bar");
        List<Integer> seriesData1 = new ArrayList<Integer>();
        
        EchartsComparator comparator=new EchartsComparator("Assessment");
        Collections.sort(riskOrgList, comparator);
        for(EchartForm form : riskOrgList){
            orgIdList.add(form.getOrgid());//机构ID
            //加入category
            categoryList.add(form.getOrgName());//机构名称
            //加入数据值series序列数组 这里提供为了效果只提供一组series数据好了   
            seriesData1.add(Integer.parseInt(form.getISS_LEVEL1()));//检查评价--问题缺陷
        }
        series1.setData(seriesData1);
        
        seriesList.add(series1);
        
        JSONArray json = new JSONArray();
        JSONObject jo = new JSONObject();
        jo.put("legend", legendList);
        jo.put("orgId", orgIdList);
        jo.put("legendColorList", legendColorList);
        jo.put("category", categoryList);
        jo.put("series", seriesList);
        json.add(jo);
        
        return json.toString();
    }
    public String doriskControl(List<EchartForm> riskOrgList) throws Exception{

        //{"有效","失效"}
        List<String> legendList = new ArrayList<String>();
        //设置legend颜色
        List<String> legendColorList = new ArrayList<String>();
        //category--orgName
        List<String> categoryList = new ArrayList<String>();
        //orgid
        List<String> orgIdList = new ArrayList<String>();
         //series
        List<SeriesForm> seriesList = new ArrayList<SeriesForm>();
        
        //设置legend数组
        legendList.add("有效"); //这里的名称必须和series的每一组series的name保持一致
        legendList.add("失效");
        //设置颜色
        legendColorList.add("#0C0");
        legendColorList.add("#F63");
        
        SeriesForm series1 = new SeriesForm();
        series1.setId(1);
        series1.setName("有效");
        series1.setType("bar");
        List<Integer> seriesData1 = new ArrayList<Integer>();
        
        SeriesForm series2 = new SeriesForm();
        series2.setId(2);
        series2.setName("失效");
        series2.setType("bar");
        List<Integer> seriesData2 = new ArrayList<Integer>();

        EchartsComparator comparator=new EchartsComparator("riskControl");
        Collections.sort(riskOrgList, comparator);
        for(EchartForm form : riskOrgList){
            orgIdList.add(form.getOrgid());//机构ID
            //加入category
            categoryList.add(form.getOrgName());//机构名称
            //加入数据值series序列数组 这里提供为了效果只提供一组series数据好了   
            seriesData1.add(Integer.parseInt(form.getCM_LEVEL1()));//控制监测--有效
            seriesData2.add(Integer.parseInt(form.getCM_LEVE2()));//控制监测--失效
        }
        series1.setData(seriesData1);
        series2.setData(seriesData2);
        
        seriesList.add(series1);
        seriesList.add(series2);
        
        JSONArray json = new JSONArray();
        JSONObject jo = new JSONObject();
        jo.put("legend", legendList);
        jo.put("orgId", orgIdList);
        jo.put("legendColorList", legendColorList);
        jo.put("category", categoryList);
        jo.put("series", seriesList);
        json.add(jo);
        
        return json.toString();
    }
    
}

 

相关文章:

  • 2021-12-30
  • 2021-12-17
  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
  • 2022-02-27
  • 2022-12-23
  • 2021-06-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2021-09-03
相关资源
相似解决方案