AnalysisController.cs 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. using Cksoft.Data;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using DllEapEntity.Dtos;
  8. using Microsoft.AspNetCore.Mvc;
  9. using Cksoft.Data.Repository;
  10. using DllEapDal;
  11. using DllEapEntity;
  12. using DllEapEntity.Mes;
  13. namespace DllUnityWebApi
  14. {
  15. [Route("Eap/Api/[controller]/[action]")]
  16. [ApiController]
  17. public class AnalysisController : Controller
  18. {
  19. private IDatabase db;
  20. /// <summary>
  21. /// 一段时间内机台报警
  22. /// </summary>
  23. /// <param name="startTime"></param>
  24. /// <param name="endTime"></param>
  25. /// <returns></returns>
  26. [HttpGet]
  27. public ChartDto GetAlarmAnalysis(string filter)
  28. {
  29. using (db = DbFactory.Base("sqlconn"))
  30. {
  31. var dal = new McaSecVMstDal(db);
  32. var dto = dal.CreateCategory(filter);
  33. return dto;
  34. }
  35. }
  36. [HttpGet]
  37. public LayuiModel<AnalysisDto> GetAlarmGrid(string startTime, string endTime)
  38. {
  39. if (string.IsNullOrEmpty(startTime))
  40. {
  41. startTime = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
  42. }
  43. if (string.IsNullOrEmpty(endTime))
  44. {
  45. endTime = DateTime.Now.ToString("yyyy-MM-dd");
  46. }
  47. using (db = DbFactory.Base("sqlconn"))
  48. {
  49. var dal = new McaSecVMstDal(db);
  50. var dtos = dal.GetAlarmAnalysis(startTime, endTime);
  51. return new LayuiModel<AnalysisDto>
  52. {
  53. code = 0,
  54. msg = "ok",
  55. count = dtos.Count(),
  56. data = dtos
  57. };
  58. }
  59. }
  60. [HttpGet]
  61. public IEnumerable<AnalysisDto> GetMachineAlarmDtos(string filter, string sortField = "name", string sortOrder = "ascend")
  62. {
  63. if (sortOrder == "descend")
  64. {
  65. sortOrder = "desc";
  66. }
  67. else
  68. {
  69. sortOrder = "asc";
  70. }
  71. using (db = DbFactory.Base("sqlconn"))
  72. {
  73. var dal = new McaSecVMstDal(db);
  74. var dtos = dal.GetAlarmAnalysis(filter, sortField, sortOrder);
  75. return dtos;
  76. }
  77. }
  78. [HttpGet]
  79. public LayuiModel<AnalysisDto> GetAlarmCodeGrid(string filter)
  80. {
  81. using (db = DbFactory.Base("sqlconn"))
  82. {
  83. var dal = new McaSecVMstDal(db);
  84. var dtos = dal.GetAlarmCodeAnalysis(filter);
  85. return new LayuiModel<AnalysisDto>
  86. {
  87. code = 0,
  88. msg = "ok",
  89. count = dtos.Count(),
  90. data = dtos
  91. };
  92. }
  93. }
  94. /// <summary>
  95. /// 一段时间内报警代码
  96. /// </summary>
  97. /// <param name="startTime">开始时间</param>
  98. /// <param name="endTime">结束时间</param>
  99. /// <param name="macModel">机型编码</param>
  100. /// <param name="pCode">制程</param>
  101. /// <returns></returns>
  102. [HttpGet]
  103. public ChartDto GetAlarmAnalysisByCode(string filter)
  104. {
  105. using (db = DbFactory.Base("sqlconn"))
  106. {
  107. var dal = new McaSecVMstDal(db);
  108. var dto = dal.CreateAlarmCat(filter);
  109. return dto;
  110. }
  111. }
  112. /// <summary>
  113. /// 获取所有的机型
  114. /// </summary>
  115. /// <returns></returns>
  116. [HttpGet]
  117. public IEnumerable<SecMacModel> GetMacModels()
  118. {
  119. using (db = DbFactory.Base("sqlconn"))
  120. {
  121. var dal = new MacModelDal(db);
  122. var models = dal.Get();
  123. return models;
  124. }
  125. }
  126. /// <summary>
  127. /// 获取所有制程
  128. /// </summary>
  129. /// <returns></returns>
  130. [HttpGet]
  131. public IEnumerable<Process> GetProcesses()
  132. {
  133. using (db = DbFactory.Base("eapslave"))
  134. {
  135. var dal = new TProcessDal(db);
  136. var models = dal.Get();
  137. return models;
  138. }
  139. }
  140. [HttpGet]
  141. public IEnumerable<AnalysisDto> GetCodeAlarmDtos(string filter, string sortField = "name", string sortOrder = "ascend")
  142. {
  143. if (sortOrder == "descend")
  144. {
  145. sortOrder = "desc";
  146. }
  147. else
  148. {
  149. sortOrder = "asc";
  150. }
  151. using (db = DbFactory.Base("sqlconn"))
  152. {
  153. var dal = new McaSecVMstDal(db);
  154. var dtos = dal.GetAlarmCodeAnalysis(filter, sortField, sortOrder);
  155. return dtos;
  156. }
  157. }
  158. [HttpGet]
  159. public LayuiModel<AlarmCode> GetAlarmCodeDetail(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ptime", string sortOrder = "descend")
  160. {
  161. if (sortOrder == "descend")
  162. {
  163. sortOrder = "desc";
  164. }
  165. else
  166. {
  167. sortOrder = "asc";
  168. }
  169. int start, end;
  170. start = (pageIndex - 1) * pageSize + 1;
  171. end = start + pageSize;
  172. using (db = DbFactory.Base("sqlconn"))
  173. {
  174. var dal = new McaSecVMstDal(db);
  175. var dtos = dal.GetAramCodeDetail(filter, start, end, sortField, sortOrder);
  176. int count = dal.GetAralrCodeCount(filter);
  177. return new LayuiModel<AlarmCode>()
  178. {
  179. code = 0,
  180. count = count,
  181. data = dtos,
  182. msg = "ok"
  183. };
  184. }
  185. }
  186. [HttpGet]
  187. public IEnumerable<MTBFDto> GetMtbfs(string filter, string type)
  188. {
  189. using (db = DbFactory.Base("sqlconn"))
  190. {
  191. McaSecVMstDal dal = new McaSecVMstDal(db);
  192. return dal.GetMTBFs(filter, type);
  193. }
  194. }
  195. [HttpGet]
  196. public LineDateDto GetAlarmTimes(string filter, string type)
  197. {
  198. using (db = DbFactory.Base("sqlconn"))
  199. {
  200. McaSecVMstDal dal = new McaSecVMstDal(db);
  201. return dal.GetAlarmTimeDtos(filter, type);
  202. }
  203. }
  204. [HttpGet]
  205. public IEnumerable<MachineEfficiency> GetMachineEfficiencies(string filter, string type)
  206. {
  207. using (db = DbFactory.Base("sqlconn"))
  208. {
  209. McaSecVMstDal dal = new McaSecVMstDal(db);
  210. switch (type)
  211. {
  212. case "machine":
  213. return dal.GetMachineEfficienciesGroupByMcaCode(filter).OrderBy(c => c.Name);
  214. case "macmodel":
  215. return dal.GetMachineEfficienciesGroupByMacModel(filter).OrderBy(c => c.Name);
  216. case "pcode":
  217. return dal.GetMachineEfficienciesGroupByPcode(filter).OrderBy(c => c.Name);
  218. default:
  219. return dal.GetMachineEfficienciesGroupByMcaCode(filter).OrderBy(c => c.Name);
  220. }
  221. }
  222. }
  223. }
  224. }