|
- using Learun.Application.OA;
- using Learun.Application.OA.File.FileInfo;
- using Learun.Application.TwoDevelopment.AssetManagementSystem;
- using Learun.Application.TwoDevelopment.EducationalAdministration;
- using Learun.Application.WorkFlow;
- using Learun.Util;
- using Nancy;
- using System;
- using System.Collections.Generic;
- using System.Linq;
-
- namespace Learun.Application.WebApi.Modules.Echarts
- {
- public class EchartsApi : BaseNoAuthentication
- {
-
- private NewsIBLL newsIBLL = new NewsBLL();
- private SYS_SendMessageIBLL sYS_SendMessageIBLL = new SYS_SendMessageBLL();
- private Sys_ReceiveFileIBLL sys_ReceiveFileIBLL = new Sys_ReceiveFileBLL();
- private FileInfoIBLL fileInfoBLL = new FileInfoBLL();
- private NWFSchemeIBLL nWFSchemeIBLL = new NWFSchemeBLL();
- private NWFProcessIBLL nWFProcessIBLL = new NWFProcessBLL();
- private EmpInfoIBLL empInfoIBLL = new EmpInfoBLL();
- private FundsApplyIBLL fundsApplyIBLL = new FundsApplyBLL();
- private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
-
-
- public EchartsApi() : base("/api/echarts/")
- {
- Get["/notice/sum"] = NoticeSum;
- Get["/notice/monthsum"] = NoticeMonthSum;
- Get["/message/sum"] = MessageSum;
- Get["/message/monthsum"] = MessageMonthSum;
- Get["/receivefile/sum"] = ReceiveFileSum;
- Get["/receivefile/monthsum"] = ReceiveFileMonthSum;
- Get["/resourcefile/sum"] = ResourceFileSum;
- Get["/resourcefile/monthsum"] = ResourceFileMonthSum;
- Get["/SchemeInfoCount"] = SchemeInfoCount;
- Get["/ProcessNotFinishCount"] = ProcessNotFinishCount;
- Get["/ProcessCount"] = ProcessCount;
- Get["/teacher/sum"] = TeacherSum;
- Get["/teacher/gendersum"] = TeacherGenderSum;
- Get["/teacher/jsgwsum"] = TeacherTitSum;
- Get["/foundapply/monthsum"] = FundsApplyMonthSum;
- Get["/wf/sumuse"] = WfUseSumCount;
- Get["/wf/use1"] = WfUseFive;
- Get["/wf/use2"] = WfUseSix;
- Get["/stu/sum"] = StuSum;
- Get["/stu/gendersum"] = StuGenderSum;
- Get["/stu/deptsum"] = StuDeptSum;
- }
-
-
-
-
-
- /// <summary>
- /// 新闻数量
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response NoticeSum(dynamic _)
- {
- var sum = newsIBLL.GetNewCount();
- var res = new { value = sum };
-
- return Res(res);
- }
-
- public Response NoticeMonthSum(dynamic _)
- {
- var dic = newsIBLL.GetMonthCount();
- var m = 0;
- while (m < 13)
- {
- m++;
- if (!dic.ContainsKey(m))
- {
- dic.Add(m, 0);
- }
- }
- var cate = new List<string>();
- var data = new List<int>();
- for (int i = 1; i < 13; i++)
- {
- cate.Add($"{i}月");
- data.Add(dic[i]);
- }
-
- var res = new { categories = cate, series = new List<object> { new { name = "公告", data = data } } };
- return Res(res);
- }
-
- /// <summary>
- /// 邮件
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response MessageSum(dynamic _)
- {
- var sum = sYS_SendMessageIBLL.GetCount();
- var res = new { value = sum };
-
- return Res(res);
- }
-
- public Response MessageMonthSum(dynamic _)
- {
- var dic = sYS_SendMessageIBLL.GetMonthCount();
- var m = 0;
- while (m < 13)
- {
- m++;
- if (!dic.ContainsKey(m))
- {
- dic.Add(m, 0);
- }
- }
- var cate = new List<string>();
- var data = new List<int>();
- for (int i = 1; i < 13; i++)
- {
- cate.Add($"{i}月");
- data.Add(dic[i]);
- }
-
- var res = new { categories = cate, series = new List<object> { new { name = "邮件", data = data } } };
- return Res(res);
- }
-
- /// <summary>
- /// 公文
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response ReceiveFileSum(dynamic _)
- {
- var sum = sys_ReceiveFileIBLL.GetCount();
- var res = new { value = sum };
-
- return Res(res);
- }
-
- public Response ReceiveFileMonthSum(dynamic _)
- {
- var dic = sys_ReceiveFileIBLL.GetMonthCount();
- var m = 0;
- while (m < 13)
- {
- m++;
- if (!dic.ContainsKey(m))
- {
- dic.Add(m, 0);
- }
- }
- var cate = new List<string>();
- var data = new List<int>();
- for (int i = 1; i < 13; i++)
- {
- cate.Add($"{i}月");
- data.Add(dic[i]);
- }
-
- var res = new { categories = cate, series = new List<object> { new { name = "公文", data = data } } };
- return Res(res);
- }
- /// <summary>
- /// 系统流程统计
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response SchemeInfoCount(dynamic _)
- {
- var sum = nWFSchemeIBLL.GetInfoList().Count();
- var res = new { value = sum };
-
- return Res(res);
- }
- /// <summary>
- /// 运转中的流程
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response ProcessNotFinishCount(dynamic _)
- {
- var sum = nWFProcessIBLL.GetAllList().Where(x => x.F_EnabledMark == 1 && x.F_IsFinished == 0).Count();
- var res = new { value = sum };
-
- return Res(res);
- }
- /// <summary>
- /// 流程使用次数
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response ProcessCount(dynamic _)
- {
- var sum = nWFProcessIBLL.GetAllList().Count();
- var res = new { value = sum };
-
- return Res(res);
- }
-
- /// <summary>
- /// 流程使用和数量雷达图
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response WfUseSumCount(dynamic _)
- {
- var data = nWFSchemeIBLL.GetWfUseSum();
- var nm = data.Select(x => new { name = x.Item1, max = (x.Item2 + x.Item3) == 0 ? 50 : (x.Item2 + x.Item3) * 2 }).ToList();
-
- var sumValue = data.Select(x => x.Item2).ToList();
- var useValue = data.Select(x => x.Item3).ToList();
-
- var values = new List<object>();
- values.Add(new { name = "流程数量", value = sumValue });
- values.Add(new { name = "流程使用次数", value = useValue });
-
- var rs = new { indicator = nm, series = new List<object> { new { data = values } } };
-
- return Res(rs);
- }
-
- /// <summary>
- /// 使用1-5
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response WfUseFive(dynamic _)
- {
- var data = nWFSchemeIBLL.GetUseCount().OrderByDescending(x => x.Value).Take(5);
- //var value = data.Select(x => x.Value).ToList();
- //var nm = new List<string> { "No.1", "No.2", "No.3", "No.4", "No.5" };
- //var res = new { categories = nm, series = new List<object> { new { name = "", data = value } } };
-
- var res = data.Select(x => new { name = x.Key, value = x.Value }).ToList();
- return Res(res);
- }
- /// <summary>
- /// 使用6-
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response WfUseSix(dynamic _)
- {
- var data = nWFSchemeIBLL.GetUseCount().OrderByDescending(x => x.Value).Skip(5).Take(5);
- //var value = data.Select(x => x.Value).ToList();
- //if(value.Count!=5)
- //{
- // for (int i = 0; i < 5-value.Count; i++)
- // {
- // value.Add(0);
- // }
- //}
- //var nm = new List<string> { "No.5", "No.7", "No.8", "No.9", "No.10" };
- //var res = new { categories = nm, series = new List<object> { new { name = "", data = value } } };
-
- var res = data.Select(x => new { name = x.Key, value = x.Value }).ToList();
- return Res(res);
- }
- /// <summary>
- /// 云盘
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response ResourceFileSum(dynamic _)
- {
- var sum = fileInfoBLL.GetCount();
- var res = new { value = sum };
-
- return Res(res);
- }
-
- public Response ResourceFileMonthSum(dynamic _)
- {
- var dic = fileInfoBLL.GetMonthCount();
- var m = 0;
- while (m < 13)
- {
- m++;
- if (!dic.ContainsKey(m))
- {
- dic.Add(m, 0);
- }
- }
- var cate = new List<string>();
- var data = new List<int>();
- for (int i = 1; i < 13; i++)
- {
- cate.Add($"{i}月");
- data.Add(dic[i]);
- }
-
- var res = new { categories = cate, series = new List<object> { new { name = "云盘", data = data } } };
- return Res(res);
- }
-
- /// <summary>
- /// 教师总数量
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response TeacherSum(dynamic _)
- {
- var sum = empInfoIBLL.GetCount();
- var res = new { value = sum };
-
- return Res(res);
- }
-
- public Response TeacherGenderSum(dynamic _)
- {
- var dic = empInfoIBLL.GetGenderCount();
-
- var res = dic.Select(x => new { name = x.Key, value = x.Value, url = string.Empty });
- return Res(res);
- }
-
- public Response TeacherTitSum(dynamic _)
- {
- var dic = empInfoIBLL.GetTitCount();
- var res = dic.Select(x => new { name = x.Key, value = x.Value, url = string.Empty });
- return Res(res);
- }
-
- /// <summary>
- /// 申报经费按月
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response FundsApplyMonthSum(dynamic _)
- {
- var dic = fundsApplyIBLL.GetMonthCount();
- var m = 0;
- while (m < 13)
- {
- m++;
- if (!dic.ContainsKey(m))
- {
- dic.Add(m, 0);
- }
- }
- var cate = new List<string>();
- var data = new List<decimal>();
- for (int i = 1; i < 13; i++)
- {
- cate.Add($"{i}月");
- data.Add(dic[i]);
- }
-
- var res = new { categories = cate, series = new List<object> { new { name = "申报经费", data = data } } };
- return Res(res);
- }
-
- /// <summary>
- /// 学生总数量
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- public Response StuSum(dynamic _)
- {
- var sum = stuInfoBasicIBLL.GetCount();
- var res = new { value = sum };
-
- return Res(res);
- }
-
- public Response StuGenderSum(dynamic _)
- {
- var dic = stuInfoBasicIBLL.GetGenderCount();
-
- var res = dic.Select(x => new { name = x.Key, value = x.Value, url = string.Empty });
- return Res(res);
- }
-
- public Response StuDeptSum(dynamic _)
- {
- var dic = stuInfoBasicIBLL.GetDeptCount();
- //var res = dic.Select(x => new { name = x.Key, value = x.Value, url = string.Empty });
- var res = new { categories = dic.Keys.ToList(), series = new List<object> { new { name = "学生系部统计", data = dic.Values.ToList() } } };
- return Res(res);
- }
- }
- }
|