1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057 |
- using log4net;
- using Microsoft.AspNetCore.Mvc;
- using Ropin.Inspection.Api.Common;
- using Ropin.Inspection.Model.ViewModel;
- using Ropin.Inspection.Service.LGS.Interface;
- using System.Threading.Tasks;
- using System;
- using Ropin.Inspection.Service;
- using Ropin.Inspection.Service.Interface;
- using Ropin.Inspection.Model.ViewModel.LGS;
- using System.Collections.Generic;
- using System.Linq;
- using Ropin.Inspection.Model.SearchModel.LGS;
- using Castle.Core.Internal;
- using Ropin.Inspection.Model.Common;
- using NPOI.SS.Formula.Functions;
- using Ropin.Inspection.Service.MTN.Interface;
- using Microsoft.EntityFrameworkCore.Metadata.Internal;
- namespace Ropin.Inspection.Api.Controllers.LGS
- {
- public class ScreenInterfaceDataController : BaseController
- {
- private readonly ILGSLargeScreenService _lGSLargeScreenService;
- private readonly ITmtnDevOpsService _TmtnDevOpsService;
- private readonly ITmtnRepairOrderService _TmtnRepairOrderService;
- private readonly ITispRecordService _tispRecordService;
- private readonly ITmtnAlarmOrderService _tmtnAlarmOrderService;
- private static readonly ILog log = LogManager.GetLogger(typeof(ScreenInterfaceDataController));
- /// <summary>
- /// 构造函数
- /// </summary>
- public ScreenInterfaceDataController(ILGSLargeScreenService lGSLargeScreenService, ITmtnDevOpsService TmtnDevOpsService, ITmtnRepairOrderService tmtnRepairOrderService, ITispRecordService tispRecordService, ITmtnAlarmOrderService tmtnAlarmOrderService)
- {
- _lGSLargeScreenService = lGSLargeScreenService;
- _TmtnDevOpsService = TmtnDevOpsService;
- _TmtnRepairOrderService = tmtnRepairOrderService;
- _tispRecordService = tispRecordService;
- _tmtnAlarmOrderService = tmtnAlarmOrderService;
- }
- /// <summary>
- /// 设备维保-柱状图统计[天]
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("DevOpsDaysStatisticsBarChart")]
- public async Task<ApiResult> DevOpsDaysStatisticsBarChart(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DaysStatusStatistics> content = await _lGSLargeScreenService.DevOpsDaysStatistics(search.DevCode, search.Days);
- if (content != null && content.Count() > 0)
- {
- List<string> YData= new List<string>();
- //normal=4、abnormal=3
- //【approval=1;confirm=2;repairOn=3;complete=4;cancel=5;repairRework=6;repairCompleted=7】
- switch (search.DataType)
- {
- case "approval":
- case "1":
- YData = content.Select(d => d.Status1.ToString()).ToList();break;
- case "confirm":
- case "2":
- YData = content.Select(d => d.Status2.ToString()).ToList(); break;
- case "repairOn":
- case "abnormal":
- case "3":
- YData = content.Select(d => d.Status3.ToString()).ToList(); break;
- case "complete":
- case "normal":
- case "4":
- YData = content.Select(d => d.Status4.ToString()).ToList(); break;
- case "cancel":
- case "5":
- YData = content.Select(d => d.Status5.ToString()).ToList(); break;
- case "repairRework":
- case "6":
- YData = content.Select(d => d.Status6.ToString()).ToList(); break;
- case "repairCompleted":
- case "7":
- YData = content.Select(d => d.Status7.ToString()).ToList(); break;
- default:
- YData = content.Select(d => d.StatusTotal.ToString()).ToList(); break;
- }
- var data = new
- {
- y = YData,
- x = content.Select(d => d.SpecificDay).ToArray()
- };
- return new ApiResult<object>(data);
- }
- else
- {
- DateTime time = DateTime.Now;
- List<string> y = new List<string>();
- List<string> x = new List<string>();
- for (int i = search.Days; i >= 0; i--)
- {
- x.Add(time.AddDays(-i).ToString("yyyyMMdd"));
- y.Add("0");
- }
- var data = new
- {
- y = y,
- x = x
- };
- return new ApiResult<object>(data);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备维修-柱状图统计[天]
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("RepairDaysStatisticsBarChart")]
- public async Task<ApiResult> RepairDaysStatisticsBarChart(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DaysStatusStatistics> content = await _lGSLargeScreenService.RepairOrderDaysStatistics(search.DevCode, search.Days);
- if (content != null && content.Count() > 0)
- {
- List<string> YData = new List<string>();
- switch (search.DataType)
- {
- case "approval":
- case "1":
- YData = content.Select(d => d.Status1.ToString()).ToList(); break;
- case "confirm":
- case "2":
- YData = content.Select(d => d.Status2.ToString()).ToList(); break;
- case "repairOn":
- case "abnormal":
- case "3":
- YData = content.Select(d => d.Status3.ToString()).ToList(); break;
- case "complete":
- case "normal":
- case "4":
- YData = content.Select(d => d.Status4.ToString()).ToList(); break;
- case "cancel":
- case "5":
- YData = content.Select(d => d.Status5.ToString()).ToList(); break;
- case "repairRework":
- case "6":
- YData = content.Select(d => d.Status6.ToString()).ToList(); break;
- case "repairCompleted":
- case "7":
- YData = content.Select(d => d.Status7.ToString()).ToList(); break;
- default:
- YData = content.Select(d => d.StatusTotal.ToString()).ToList(); break;
- }
- var data = new
- {
- y = YData,
- x = content.Select(d => d.SpecificDay).ToArray()
- };
- return new ApiResult<object>(data);
- }
- else
- {
- DateTime time = DateTime.Now;
- List<string> y = new List<string>();
- List<string> x = new List<string>();
- for (int i = search.Days; i >= 0; i--)
- {
- x.Add(time.AddDays(-i).ToString("yyyyMMdd"));
- y.Add("0");
- }
- var data = new
- {
- y = y,
- x = x
- };
- return new ApiResult<object>(data);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备点检-柱状图统计[天]
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("ISPDaysStatisticsBarChart")]
- public async Task<ApiResult> ISPDaysStatisticsBarChart(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DaysStatusStatistics> content = await _lGSLargeScreenService.ISPDaysStatistics(search.DevCode, search.Days);
- if (content != null && content.Count() > 0)
- {
- List<string> YData = new List<string>();
- switch (search.DataType)
- {
- case "normal":
- case "1":
- YData = content.Select(d => d.Status1.ToString()).ToList(); break;
- case "abnormal":
- case "2":
- YData = content.Select(d => d.Status2.ToString()).ToList(); break;
- case "3":
- YData = content.Select(d => d.Status3.ToString()).ToList(); break;
- default:
- YData = content.Select(d => d.StatusTotal.ToString()).ToList(); break;
- }
- var data = new
- {
- y = YData,
- x = content.Select(d => d.SpecificDay).ToArray()
- };
- return new ApiResult<object>(data);
- }
- else
- {
- DateTime time = DateTime.Now;
- List<string> y = new List<string>();
- List<string> x = new List<string>();
- for (int i = search.Days; i >= 0; i--)
- {
- x.Add(time.AddDays(-i).ToString("yyyyMMdd"));
- y.Add("0");
- }
- var data = new
- {
- y = y,
- x = x
- };
- return new ApiResult<object>(data);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
-
- /// <summary>
- /// 设备【维修、维保、点检】条形图统计[天]
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("DevOpsRepairISPDaysStatisticsBarChart")]
- public async Task<ApiResult> DevOpsRepairISPDaysStatisticsBarChart(LargeScreenInterfaceDataSearch search)
- {
- if (search==null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DevOpsRepairISPDaysStatistics> content =null;
- switch (search.Days)
- {
- case 30: content = await _lGSLargeScreenService.DevOpsRepairISP30DaysStatistics(search.DevCode);break;
- case 7: content = await _lGSLargeScreenService.DevOpsRepairISP7DaysStatistics(search.DevCode); break;
- default:
- break;
- }
- if (content!=null&& content.Count()>0)
- {
- List<LargeScreenInterfaceBar> bar=new List<LargeScreenInterfaceBar>();
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维保",
- type = "bar",
- data = GetChartData(search.DataType, "维保", content)
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维修",
- type = "bar",
- data = GetChartData(search.DataType, "维修", content)
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "点检",
- type = "bar",
- data = GetChartData(search.DataType, "点检", content)
- });
- var data = new
- {
- y= content.Select(d => d.SpecificDay).ToArray(),
- x = bar
- };
- return new ApiResult<object>(data);
- }
- else
- {
- DateTime time = DateTime.Now;
- List<string> y= new List<string>();
- List<string> x= new List<string>();
- for (int i = search.Days; i >= 0; i --)
- {
- y.Add(time.AddDays(-i).ToString("yyyyMMdd"));
- x.Add("0");
- }
- var data = new
- {
- y =y,
- x = new
- {
- name="未知",
- type="bar",
- data=x
- }
- };
- return new ApiResult<object>(data);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备维保-各个状态的条形图统计[天]
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("DevOpsStatusDaysStatisticsBarChart")]
- public async Task<ApiResult> DevOpsStatusDaysStatisticsBarChart(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DaysStatusStatistics> content = await _lGSLargeScreenService.DevOpsDaysStatistics(search.DevCode, search.Days);
- if (content != null && content.Count() > 0)
- {
- List<LargeScreenInterfaceBar> bar = new List<LargeScreenInterfaceBar>();
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维保上报",//Approval
- type = "bar",
- data = content.Select(x => x.Status1.ToString()).ToList()
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维保确认",//Confirm
- type = "bar",
- data = content.Select(x => x.Status2.ToString()).ToList()
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "正在维保",//RepairOn
- type = "bar",
- data = content.Select(x => x.Status3.ToString()).ToList()
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维保完成",//Complete
- type = "bar",
- data = content.Select(x => x.Status4.ToString()).ToList()
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维保取消",//Cancel
- type = "bar",
- data = content.Select(x => x.Status5.ToString()).ToList()
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维保返工",//RepairRework
- type = "bar",
- data = content.Select(x => x.Status6.ToString()).ToList()
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "维保完成确认",//RepairCompleted
- type = "bar",
- data = content.Select(x => x.Status7.ToString()).ToList()
- });
- bar.Add(new LargeScreenInterfaceBar
- {
- name = "总数",
- type = "bar",
- data = content.Select(x => x.StatusTotal.ToString()).ToList()
- });
- var data = new
- {
- y = content.Select(d => d.SpecificDay).ToArray(),
- x = bar
- };
- return new ApiResult<object>(data);
- }
- else
- {
- DateTime time = DateTime.Now;
- List<string> y = new List<string>();
- List<string> x = new List<string>();
- for (int i = search.Days; i >= 0; i--)
- {
- y.Add(time.AddDays(-i).ToString("yyyyMMdd"));
- x.Add("0");
- }
- var data = new
- {
- y = y,
- x = new
- {
- name = "未知",
- type = "bar",
- data = x
- }
- };
- return new ApiResult<object>(data);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备【维修、维保、点检】堆叠条形图统计[天]
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("DevOpsRepairISPDaysStatisticsStackBarChart")]
- public async Task<ApiResult> DevOpsRepairISPDaysStatisticsStackBarChart(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DevOpsRepairISPDaysStatistics> content = null;
- switch (search.Days)
- {
- case 30: content = await _lGSLargeScreenService.DevOpsRepairISP30DaysStatistics(search.DevCode); break;
- case 7: content = await _lGSLargeScreenService.DevOpsRepairISP7DaysStatistics(search.DevCode); break;
- default:
- break;
- }
- if (content != null && content.Count() > 0)
- {
- List<LargeScreenInterfaceStackBar> bar = new List<LargeScreenInterfaceStackBar>();
- bar.Add(new LargeScreenInterfaceStackBar
- {
- name = "维保",
- type = "bar",
- stack= "total",
- label=new LabelStackBarModel { show= search.LableIsShow },
- data = GetChartData(search.DataType, "维保", content)
- });
- bar.Add(new LargeScreenInterfaceStackBar
- {
- name = "维修",
- type = "bar",
- stack = "total",
- label = new LabelStackBarModel { show = search.LableIsShow },
- data = GetChartData(search.DataType, "维修", content)
- });
- bar.Add(new LargeScreenInterfaceStackBar
- {
- name = "点检",
- type = "bar",
- stack = "total",
- label = new LabelStackBarModel { show = search.LableIsShow },
- data = GetChartData(search.DataType, "点检", content)
- });
- var data = new
- {
- y = content.Select(d => d.SpecificDay).ToArray(),
- x = bar
- };
- return new ApiResult<object>(data);
- }
- else
- {
- DateTime time = DateTime.Now;
- List<string> y = new List<string>();
- List<string> x = new List<string>();
- for (int i = search.Days; i >= 0; i--)
- {
- y.Add(time.AddDays(-i).ToString("yyyyMMdd"));
- x.Add("0");
- }
- var data = new
- {
- y = y,
- x = new
- {
- name = "未知",
- type = "bar",
- stack = "total",
- label = new LabelStackBarModel { show = true },
- data = x
- }
- };
- return new ApiResult<object>(data);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备【维修、维保、点检 】折线图统计[天]
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("DevOpsRepairISPDaysStatisticsLineChart")]
- public async Task<ApiResult> DevOpsRepairISPDaysStatisticsLineChart(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DevOpsRepairISPDaysStatistics> content = null;
- string type = "line";string stack = "Total";
- switch (search.Days)
- {
- case 30: content = await _lGSLargeScreenService.DevOpsRepairISP30DaysStatistics(search.DevCode); break;
- case 7: content = await _lGSLargeScreenService.DevOpsRepairISP7DaysStatistics(search.DevCode); break;
- default:
- break;
- }
- if (content != null && content.Count() > 0)
- {
- List<LargeScreenInterfaceLine> bar = new List<LargeScreenInterfaceLine>();
- bar.Add(new LargeScreenInterfaceLine
- {
- name = "维保",
- type = type,
- stack = stack,
- data = GetChartData(search.DataType, "维保", content)
- });
- bar.Add(new LargeScreenInterfaceLine
- {
- name = "维修",
- type = type,
- stack = stack,
- data = GetChartData(search.DataType, "维修", content)
- });
- bar.Add(new LargeScreenInterfaceLine
- {
- name = "点检",
- type = type,
- stack = stack,
- data = GetChartData(search.DataType, "点检", content)
- });
- var data = new
- {
- y = bar,
- x = content.Select(d => d.SpecificDay).ToArray()
- };
- return new ApiResult<object>(data);
- }
- else
- {
- DateTime time = DateTime.Now;
- List<string> y = new List<string>();
- List<string> x = new List<string>();
- for (int i = search.Days; i >= 0; i--)
- {
- x.Add(time.AddDays(-i).ToString("yyyyMMdd"));
- y.Add("0");
- }
- var data = new
- {
- y = new
- {
- name = "未知",
- type = type,
- stack = stack,
- data = y
- },
- x = x
- };
- return new ApiResult<object>(data);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 根据数据源,类型、名称获取的数组形式的数据
- /// </summary>
- /// <param name="type">数据类型</param>
- /// <param name="name">数据名称</param>
- /// <param name="content">【点检、维保、维修】根据天获取数据统计的数据源</param>
- /// <returns></returns>
- private List<string> GetChartData(string type,string name, IEnumerable<DevOpsRepairISPDaysStatistics> content)
- {
- List<string> arrayStr=new List<string>();
- if (name=="维保")
- {
- switch (type)
- {
- case "complete":
- case "normal":
- case "4": arrayStr = content.Select(d => d.DevOpsNormal.ToString()).ToList(); break;
- case "repairOn":
- case "abnormal":
- case "3": arrayStr = content.Select(d => d.DevOpsAbnormal.ToString()).ToList(); break;
- default: arrayStr = content.Select(d => d.DevOpsTotal.ToString()).ToList(); break;
- }
- }
- else if (name=="维修")
- {
- switch (type)
- {
- case "complete":
- case "normal":
- case "4": arrayStr = content.Select(d => d.RepairOrderNormal.ToString()).ToList(); break;
- case "repairOn":
- case "abnormal":
- case "3": arrayStr = content.Select(d => d.RepairOrderAbnormal.ToString()).ToList(); break;
- default: arrayStr = content.Select(d => d.RepairOrderTotal.ToString()).ToList(); break;
- }
- }
- else if (name == "点检")
- {
- switch (type)
- {
- case "complete":
- case "normal":
- case "4": arrayStr = content.Select(d => d.ISPNormal.ToString()).ToList(); break;
- case "repairOn":
- case "abnormal":
- case "3": arrayStr = content.Select(d => d.ISPAbnormal.ToString()).ToList(); break;
- default: arrayStr = content.Select(d => d.ISPTotal.ToString()).ToList(); break;
- }
- }
- return arrayStr;
- }
- /// <summary>
- /// 报警工单状态【1、2、3、4、5、6、7】-饼图统计
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("AlarmOrderStatusStatisticsMonthPieChart")]
- public async Task<ApiResult> AlarmOrderStatusStatisticsMonthPieChart(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var content = await _tmtnAlarmOrderService.GetAlarmOrderStatisticsAsync(search.DevCode,search.MonthNum);
- List<LargeScreenInterfacePie> data = new List<LargeScreenInterfacePie>();
- if (content != null)
- {
- if (search.StatusArray!=null&&search.StatusArray.Count>0)
- {
- foreach (var item in search.StatusArray)
- {
- switch (item)
- {
- case 1: data.Add(new LargeScreenInterfacePie { name = "报警上报", value = content.Approval.ToString(), });break;
- case 2: data.Add(new LargeScreenInterfacePie { name = "报警确认", value = content.Confirm.ToString(), }); break;
- case 3: data.Add(new LargeScreenInterfacePie { name = "报警处理", value = content.RepairOn.ToString(), });break;
- case 4: data.Add(new LargeScreenInterfacePie { name = "报警审批", value = content.Complete.ToString(), }); break;
- case 5: data.Add(new LargeScreenInterfacePie { name = "报警取消", value = content.Cancel.ToString(), }); break;
- case 6: data.Add(new LargeScreenInterfacePie { name = "报警返工", value = content.RepairRework.ToString(), }); break;
- case 7: data.Add(new LargeScreenInterfacePie { name = "报警完成审批", value = content.RepairCompleted.ToString(), }); break;
- default: data.Add(new LargeScreenInterfacePie { name = "其它"+ item, value = "0", }); break;
- }
- }
- }
- else
- {
- data.Add(new LargeScreenInterfacePie { name = "报警上报", value = content.Approval.ToString(), });//1上报处理报警
- data.Add(new LargeScreenInterfacePie { name = "报警确认", value = content.Confirm.ToString(), });//2报警确认
- data.Add(new LargeScreenInterfacePie { name = "报警处理", value = content.RepairOn.ToString(), });//3正在处理报警
- data.Add(new LargeScreenInterfacePie { name = "报警审批", value = content.Complete.ToString(), });//4报警处理完成
- data.Add(new LargeScreenInterfacePie { name = "报警取消", value = content.Cancel.ToString(), });//5报警取消
- data.Add(new LargeScreenInterfacePie { name = "报警返工", value = content.RepairRework.ToString(), });//6报警处理返工
- data.Add(new LargeScreenInterfacePie { name = "报警完成审批", value = content.RepairCompleted.ToString(), });//7报警处理完成确认
- }
- }
- else
- {
- data.Add(new LargeScreenInterfacePie { name = "未知", value = "0" });
- }
- return new ApiResult<object>(data);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 维保状态【1、2、3、4、5、6、7】-饼图统计
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("GeDevOpsStatisticsMonthPieAsync")]
- public async Task<ApiResult> GeDevOpsStatisticsMonthPieAsync(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var content = await _lGSLargeScreenService.GeDevOpsStatisticsMonthPieAsync(search.DevCode, search.MonthNum);
- List<LargeScreenInterfacePie> data = new List<LargeScreenInterfacePie>();
- if (content != null)
- {
- if (search.StatusArray != null && search.StatusArray.Count > 0)
- {
- foreach (var item in search.StatusArray)
- {
- switch (item)
- {
- case 1: data.Add(new LargeScreenInterfacePie { name = "维保上报", value = content.Approval.ToString(), }); break;
- case 2: data.Add(new LargeScreenInterfacePie { name = "维保确认", value = content.Confirm.ToString(), }); break;
- case 3: data.Add(new LargeScreenInterfacePie { name = "维保处理", value = content.RepairOn.ToString(), }); break;
- case 4: data.Add(new LargeScreenInterfacePie { name = "维保审批", value = content.Complete.ToString(), }); break;
- case 5: data.Add(new LargeScreenInterfacePie { name = "维保取消", value = content.Cancel.ToString(), }); break;
- case 6: data.Add(new LargeScreenInterfacePie { name = "维保返工", value = content.RepairRework.ToString(), }); break;
- case 7: data.Add(new LargeScreenInterfacePie { name = "维保完成审批", value = content.RepairCompleted.ToString(), }); break;
- default: data.Add(new LargeScreenInterfacePie { name = "其它" + item, value = "0", }); break;
- }
- }
- }
- else
- {
- data.Add(new LargeScreenInterfacePie { name = "维保上报", value = content.Approval.ToString(), });//上报维保(维保上报)
- data.Add(new LargeScreenInterfacePie { name = "维保确认", value = content.Confirm.ToString(), });//维保确认
- data.Add(new LargeScreenInterfacePie { name = "维保处理", value = content.RepairOn.ToString(), });//正在维保
- data.Add(new LargeScreenInterfacePie { name = "维保审批", value = content.Complete.ToString(), });//维保完成
- data.Add(new LargeScreenInterfacePie { name = "维保取消", value = content.Cancel.ToString(), });//维保取消
- data.Add(new LargeScreenInterfacePie { name = "维保返工", value = content.RepairRework.ToString(), });//维保修复(维保返工)
- data.Add(new LargeScreenInterfacePie { name = "维保完成审批", value = content.RepairCompleted.ToString(), });//维保完成确认
- }
- }
- else
- {
- data.Add(new LargeScreenInterfacePie { name = "未知", value = "0" });
- }
- return new ApiResult<object>(data);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 维修状态【1、2、3、4、5、6、7】-饼图统计
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("GeRepairOrderStatisticsMonthPieAsync")]
- public async Task<ApiResult> GeRepairOrderStatisticsMonthPieAsync(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var content = await _lGSLargeScreenService.GeRepairOrderStatisticsMonthPieAsync(search.DevCode, search.MonthNum);
- List<LargeScreenInterfacePie> data = new List<LargeScreenInterfacePie>();
- if (content != null)
- {
- if (search.StatusArray != null && search.StatusArray.Count > 0)
- {
- foreach (var item in search.StatusArray)
- {
- switch (item)
- {
- case 1: data.Add(new LargeScreenInterfacePie { name = "故障上报", value = content.Approval.ToString(), }); break;
- case 2: data.Add(new LargeScreenInterfacePie { name = "维修确认", value = content.Confirm.ToString(), }); break;
- case 3: data.Add(new LargeScreenInterfacePie { name = "维修处理", value = content.RepairOn.ToString(), }); break;
- case 4: data.Add(new LargeScreenInterfacePie { name = "维修审批", value = content.Complete.ToString(), }); break;
- case 5: data.Add(new LargeScreenInterfacePie { name = "维修取消", value = content.Cancel.ToString(), }); break;
- case 6: data.Add(new LargeScreenInterfacePie { name = "维修返工", value = content.RepairRework.ToString(), }); break;
- case 7: data.Add(new LargeScreenInterfacePie { name = "维修完成审批", value = content.RepairCompleted.ToString(), }); break;
- default: data.Add(new LargeScreenInterfacePie { name = "其它" + item, value = "0", }); break;
- }
- }
- }
- else
- {
- data.Add(new LargeScreenInterfacePie { name = "故障上报", value = content.Approval.ToString(), });//报修(故障上报)
- data.Add(new LargeScreenInterfacePie { name = "维修确认", value = content.Confirm.ToString(), });//维修确认
- data.Add(new LargeScreenInterfacePie { name = "维修处理", value = content.RepairOn.ToString(), });//正在维修
- data.Add(new LargeScreenInterfacePie { name = "维修审批", value = content.Complete.ToString(), });//维修完成
- data.Add(new LargeScreenInterfacePie { name = "维修取消", value = content.Cancel.ToString(), });//维修取消
- data.Add(new LargeScreenInterfacePie { name = "维修返工", value = content.RepairRework.ToString(), });//故障修复(维修返工)
- data.Add(new LargeScreenInterfacePie { name = "维修完成审批", value = content.RepairCompleted.ToString(), });//维修完成确认
- }
- }
- else
- {
- data.Add(new LargeScreenInterfacePie { name = "未知", value = "0" });
- }
- return new ApiResult<object>(data);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备维保-统计[天]-列表
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("DevOpsDaysStatisticsList")]
- public async Task<ApiResult> DevOpsDaysStatisticsList(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DaysStatusStatistics> content = await _lGSLargeScreenService.DevOpsDaysStatistics(search.DevCode, search.Days);
- if (search.Columns == null || search.Columns.Count==0)
- {
- search.Columns = new List<LargeScreenInterfaceListColumns>();
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "日期", key = "SpecificDay" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维保上报", key = "Approval" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维保确认", key = "Confirm" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "正在维保", key = "RepairOn" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维保完成", key = "Complete" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维保取消", key = "Cancel" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维保返工", key = "RepairRework" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维保完成确认", key = "RepairCompleted" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "总数", key = "DevOpsTotal" });
- }
- List<Dictionary<string, string>> datas = new List<Dictionary<string, string>>();
- if (content != null && content.Count() > 0)
- {
- foreach (var item in content)
- {
- if (item!=null)
- {
- Dictionary<string, string> rows = new Dictionary<string, string>();
- foreach (var index in search.Columns)
- {
- switch (index.key)
- {
- case "SpecificDay": rows.Add(index.key, item.SpecificDay); break;
- case "Approval": rows.Add(index.key, item.Status1.ToString()); break;
- case "Confirm": rows.Add(index.key, item.Status2.ToString()); break;
- case "RepairOn": rows.Add(index.key, item.Status3.ToString()); break;
- case "Complete": rows.Add(index.key, item.Status4.ToString()); break;
- case "Cancel": rows.Add(index.key, item.Status5.ToString()); break;
- case "RepairRework": rows.Add(index.key, item.Status6.ToString()); break;
- case "RepairCompleted": rows.Add(index.key, item.Status7.ToString()); break;
- case "DevOpsTotal": rows.Add(index.key, item.StatusTotal.ToString()); break;
- default: rows.Add(index.key,"未知"); break;
- }
- }
- datas.Add(rows);
- }
- }
- }
- else
- {
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "未知", key = "null" });
- Dictionary<string, string> rows = new Dictionary<string, string>();
- rows.Add("null", "未知");
- datas.Add(rows);
- }
- var data = new
- {
- columns = search.Columns,
- data = datas
- };
- return new ApiResult<object>(data);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备维修-统计[天]-列表
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("RepairOrderDaysStatisticsList")]
- public async Task<ApiResult> RepairOrderDaysStatisticsList(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DaysStatusStatistics> content = await _lGSLargeScreenService.RepairOrderDaysStatistics(search.DevCode, search.Days);
- if (search.Columns == null || search.Columns.Count == 0)
- {
- search.Columns = new List<LargeScreenInterfaceListColumns>();
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "日期", key = "SpecificDay" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维修上报", key = "Approval" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维修确认", key = "Confirm" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "正在维修", key = "RepairOn" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维修完成", key = "Complete" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维修取消", key = "Cancel" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维修返工", key = "RepairRework" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "维修完成确认", key = "RepairCompleted" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "总数", key = "Total" });
- }
- List<Dictionary<string, string>> datas = new List<Dictionary<string, string>>();
- if (content != null && content.Count() > 0)
- {
- foreach (var item in content)
- {
- if (item != null)
- {
- Dictionary<string, string> rows = new Dictionary<string, string>();
- foreach (var index in search.Columns)
- {
- switch (index.key)
- {
- case "SpecificDay": rows.Add(index.key, item.SpecificDay); break;
- case "Approval": rows.Add(index.key, item.Status1.ToString()); break;
- case "Confirm": rows.Add(index.key, item.Status2.ToString()); break;
- case "RepairOn": rows.Add(index.key, item.Status3.ToString()); break;
- case "Complete": rows.Add(index.key, item.Status4.ToString()); break;
- case "Cancel": rows.Add(index.key, item.Status5.ToString()); break;
- case "RepairRework": rows.Add(index.key, item.Status6.ToString()); break;
- case "RepairCompleted": rows.Add(index.key, item.Status7.ToString()); break;
- case "Total": rows.Add(index.key, item.StatusTotal.ToString()); break;
- default: rows.Add(index.key, "未知"); break;
- }
- }
- datas.Add(rows);
- }
- }
- }
- else
- {
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "未知", key = "null" });
- Dictionary<string, string> rows = new Dictionary<string, string>();
- rows.Add("null", "未知");
- datas.Add(rows);
- }
- var data = new
- {
- columns = search.Columns,
- data = datas
- };
- return new ApiResult<object>(data);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 设备点检-统计[天]-列表
- /// </summary>
- /// <param name="search"></param>
- /// <returns></returns>
- [HttpPost("ISPDaysStatisticsList")]
- public async Task<ApiResult> ISPDaysStatisticsList(LargeScreenInterfaceDataSearch search)
- {
- if (search == null || string.IsNullOrEmpty(search.DevCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- IEnumerable<DaysStatusStatistics> content = await _lGSLargeScreenService.ISPDaysStatistics(search.DevCode, search.Days);
- if (search.Columns == null || search.Columns.Count == 0)
- {
- search.Columns = new List<LargeScreenInterfaceListColumns>();
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "日期", key = "SpecificDay" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "正常", key = "Normal" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "异常", key = "Abnormal" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "确认异常", key = "ConfirmAbnormal" });
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "总数", key = "Total" });
- }
- List<Dictionary<string, string>> datas = new List<Dictionary<string, string>>();
- if (content != null && content.Count() > 0)
- {
- foreach (var item in content)
- {
- if (item != null)
- {
- Dictionary<string, string> rows = new Dictionary<string, string>();
- foreach (var index in search.Columns)
- {
- switch (index.key)
- {
- case "SpecificDay": rows.Add(index.key, item.SpecificDay); break;
- case "Normal": rows.Add(index.key, item.Status1.ToString()); break;
- case "Abnormal": rows.Add(index.key, item.Status2.ToString()); break;
- case "ConfirmAbnormal": rows.Add(index.key, item.Status3.ToString()); break;
- case "Total": rows.Add(index.key, item.StatusTotal.ToString()); break;
- default: rows.Add(index.key, "未知"); break;
- }
- }
- datas.Add(rows);
- }
- }
- }
- else
- {
- search.Columns.Add(new LargeScreenInterfaceListColumns() { title = "未知", key = "null" });
- Dictionary<string, string> rows = new Dictionary<string, string>();
- rows.Add("null", "未知");
- datas.Add(rows);
- }
- var data = new
- {
- columns = search.Columns,
- data = datas
- };
- return new ApiResult<object>(data);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- }
- }
|