using Cksoft.Data; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using DllEapEntity.Dtos; using Microsoft.AspNetCore.Mvc; using Cksoft.Data.Repository; using DllEapDal; using DllEapEntity; using DllEapEntity.Mes; namespace DllUnityWebApi { [Route("Eap/Api/[controller]/[action]")] [ApiController] public class AnalysisController : Controller { private IDatabase db; /// /// 一段时间内机台报警 /// /// /// /// [HttpGet] public ChartDto GetAlarmAnalysis(string filter) { using (db = DbFactory.Base("sqlconn")) { var dal = new McaSecVMstDal(db); var dto = dal.CreateCategory(filter); return dto; } } [HttpGet] public LayuiModel GetAlarmGrid(string startTime, string endTime) { if (string.IsNullOrEmpty(startTime)) { startTime = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd"); } if (string.IsNullOrEmpty(endTime)) { endTime = DateTime.Now.ToString("yyyy-MM-dd"); } using (db = DbFactory.Base("sqlconn")) { var dal = new McaSecVMstDal(db); var dtos = dal.GetAlarmAnalysis(startTime, endTime); return new LayuiModel { code = 0, msg = "ok", count = dtos.Count(), data = dtos }; } } [HttpGet] public IEnumerable GetMachineAlarmDtos(string filter, string sortField = "name", string sortOrder = "ascend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } using (db = DbFactory.Base("sqlconn")) { var dal = new McaSecVMstDal(db); var dtos = dal.GetAlarmAnalysis(filter, sortField, sortOrder); return dtos; } } [HttpGet] public LayuiModel GetAlarmCodeGrid(string filter) { using (db = DbFactory.Base("sqlconn")) { var dal = new McaSecVMstDal(db); var dtos = dal.GetAlarmCodeAnalysis(filter); return new LayuiModel { code = 0, msg = "ok", count = dtos.Count(), data = dtos }; } } /// /// 一段时间内报警代码 /// /// 开始时间 /// 结束时间 /// 机型编码 /// 制程 /// [HttpGet] public ChartDto GetAlarmAnalysisByCode(string filter) { using (db = DbFactory.Base("sqlconn")) { var dal = new McaSecVMstDal(db); var dto = dal.CreateAlarmCat(filter); return dto; } } /// /// 获取所有的机型 /// /// [HttpGet] public IEnumerable GetMacModels() { using (db = DbFactory.Base("sqlconn")) { var dal = new MacModelDal(db); var models = dal.Get(); return models; } } /// /// 获取所有制程 /// /// [HttpGet] public IEnumerable GetProcesses() { using (db = DbFactory.Base("eapslave")) { var dal = new TProcessDal(db); var models = dal.Get(); return models; } } [HttpGet] public IEnumerable GetCodeAlarmDtos(string filter, string sortField = "name", string sortOrder = "ascend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } using (db = DbFactory.Base("sqlconn")) { var dal = new McaSecVMstDal(db); var dtos = dal.GetAlarmCodeAnalysis(filter, sortField, sortOrder); return dtos; } } [HttpGet] public LayuiModel GetAlarmCodeDetail(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ptime", string sortOrder = "descend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } int start, end; start = (pageIndex - 1) * pageSize + 1; end = start + pageSize; using (db = DbFactory.Base("sqlconn")) { var dal = new McaSecVMstDal(db); var dtos = dal.GetAramCodeDetail(filter, start, end, sortField, sortOrder); int count = dal.GetAralrCodeCount(filter); return new LayuiModel() { code = 0, count = count, data = dtos, msg = "ok" }; } } [HttpGet] public IEnumerable GetMtbfs(string filter, string type) { using (db = DbFactory.Base("sqlconn")) { McaSecVMstDal dal = new McaSecVMstDal(db); return dal.GetMTBFs(filter, type); } } [HttpGet] public LineDateDto GetAlarmTimes(string filter, string type) { using (db = DbFactory.Base("sqlconn")) { McaSecVMstDal dal = new McaSecVMstDal(db); return dal.GetAlarmTimeDtos(filter, type); } } [HttpGet] public IEnumerable GetMachineEfficiencies(string filter, string type) { using (db = DbFactory.Base("sqlconn")) { McaSecVMstDal dal = new McaSecVMstDal(db); switch (type) { case "machine": return dal.GetMachineEfficienciesGroupByMcaCode(filter).OrderBy(c => c.Name); case "macmodel": return dal.GetMachineEfficienciesGroupByMacModel(filter).OrderBy(c => c.Name); case "pcode": return dal.GetMachineEfficienciesGroupByPcode(filter).OrderBy(c => c.Name); default: return dal.GetMachineEfficienciesGroupByMcaCode(filter).OrderBy(c => c.Name); } } } } }