WorkProcedureController.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. using AutoMapper;
  2. using Cksoft.Data;
  3. using Cksoft.Data.Repository;
  4. using Cksoft.Unity;
  5. using Cksoft.Unity.Log4NetConfig;
  6. using DllEapCommon.NPOI;
  7. using DllEapDal.OFILM;
  8. using DllEapEntity;
  9. using DllEapEntity.Dtos;
  10. using DllEapEntity.OFILM;
  11. using Microsoft.AspNetCore.Mvc;
  12. using System;
  13. using System.Collections.Generic;
  14. using System.IO;
  15. using System.Linq;
  16. using System.Text;
  17. using System.Threading.Tasks;
  18. namespace DllEapBll.OFILM
  19. {
  20. [Route("eap/api/[controller]/[action]")]//WorkingProcedure
  21. [ApiController]
  22. public class WorkProcedureController : ControllerBase
  23. {
  24. private IMapper _mapper;
  25. public WorkProcedureController(IMapper mapper)
  26. {
  27. _mapper = mapper;
  28. }
  29. [HttpGet]
  30. public LayuiModel<WorkingProcedure> Get(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "park", string sortOrder = "ascend")
  31. {
  32. if (sortOrder == "descend")
  33. {
  34. sortOrder = "desc";
  35. }
  36. else
  37. {
  38. sortOrder = "asc";
  39. }
  40. int start, end;
  41. start = (pageIndex - 1) * pageSize + 1;
  42. end = start + pageSize;
  43. using (IDatabase db = DbFactory.Base("eapslave"))
  44. {
  45. db.BeginTrans();
  46. var dal = new WorkProcedureDal(db);
  47. string errorinfo = string.Empty;
  48. var roles = dal.Get(start, pageSize, sortOrder, sortField, filter, errorinfo);
  49. var total = dal.GetCount(filter);
  50. return new LayuiModel<WorkingProcedure>
  51. {
  52. code = 1,
  53. count = total,
  54. data = roles,
  55. msg = ""
  56. };
  57. }
  58. }
  59. [HttpGet]
  60. public WorkingProcedure GetSingle(int id)
  61. {
  62. using (IDatabase db = DbFactory.Base("eapslave"))
  63. {
  64. var dal = new WorkProcedureDal(db);
  65. return dal.Get(id);
  66. }
  67. }
  68. [HttpPost]
  69. public EapResponse Add([FromBody] WorkingProcedure programMst)
  70. {
  71. string usercode = Request.Headers["usercode"];
  72. using (IDatabase db = DbFactory.Base("eap"))
  73. {
  74. db.BeginTrans();
  75. var dal = new WorkProcedureDal(db);
  76. string errorinfo = string.Empty;
  77. var response = new EapResponse() { Code = 1, Msg = string.Empty };
  78. int id = -1;
  79. if (programMst.ID == 0)
  80. {
  81. id = dal.Add(programMst, usercode, ref errorinfo);
  82. }
  83. else
  84. {
  85. id = dal.Update(programMst, usercode, ref errorinfo);
  86. }
  87. if (id < 0)
  88. {
  89. db.Rollback();
  90. response.Code = -1;
  91. response.Msg = errorinfo;
  92. }
  93. else
  94. {
  95. db.Commit();
  96. if (programMst.ID == 0)
  97. {
  98. LogHelper<WorkingProcedure>.LogFatal("新增WorkProcedure-->" + Json.ToJson(programMst), "用户操作", usercode);
  99. }
  100. else
  101. LogHelper<WorkingProcedure>.LogFatal("修改WorkProcedure-->" + Json.ToJson(programMst), "用户操作", usercode);
  102. }
  103. response.Id = id;
  104. return response;
  105. }
  106. }
  107. [HttpPost]
  108. public EapResponse Delete([FromBody] int id)
  109. {
  110. IDatabase db = null;
  111. string errormsg = string.Empty;
  112. try
  113. {
  114. db = DbFactory.Base("eap");
  115. var dal = new WorkProcedureDal(db);
  116. var model = dal.getWorkingProcedure(id);
  117. var modelsec = dal.Get(id);
  118. //db.BeginTrans();
  119. var res = dal.Delete(id, ref errormsg);
  120. if (res < 0)
  121. {
  122. // db.Rollback();
  123. return new EapResponse()
  124. {
  125. Code = -1,
  126. Msg = errormsg
  127. };
  128. }
  129. //db.Commit();
  130. LogHelper<WorkingProcedure>.LogFatal("删除WorkProcedure-->:" + Json.ToJson(modelsec) + ";apappservermac" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]);
  131. return new EapResponse()
  132. {
  133. Code = 1,
  134. Msg = ""
  135. };
  136. }
  137. catch (Exception e)
  138. {
  139. errormsg = e.Message;
  140. return new EapResponse
  141. {
  142. Code = -1,
  143. Msg = errormsg
  144. };
  145. }
  146. finally
  147. {
  148. if (db != null)
  149. db.Close();
  150. }
  151. }
  152. [HttpPost]
  153. public EapResponse DeleteAll([FromBody] dynamic filter)
  154. {
  155. IDatabase db = null;
  156. string errormsg = string.Empty;
  157. string ff = filter["filter"];
  158. try
  159. {
  160. db = DbFactory.Base("eap");
  161. var dal = new WorkProcedureDal(db);
  162. //var model = dal.getWorkingProcedure(id);
  163. //var modelsec = dal.Get(id);
  164. //db.BeginTrans();
  165. var res = dal.DeleteAll(ff, ref errormsg);
  166. if (res < 0)
  167. {
  168. // db.Rollback();
  169. return new EapResponse()
  170. {
  171. Code = -1,
  172. Msg = errormsg
  173. };
  174. }
  175. //db.Commit();
  176. //LogHelper<WorkingProcedure>.LogFatal("删除WorkProcedure-->:" + Json.ToJson(modelsec) + ";apappservermac" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]);
  177. return new EapResponse()
  178. {
  179. Code = 1,
  180. Msg = ""
  181. };
  182. }
  183. catch (Exception e)
  184. {
  185. errormsg = e.Message;
  186. return new EapResponse
  187. {
  188. Code = -1,
  189. Msg = errormsg
  190. };
  191. }
  192. finally
  193. {
  194. if (db != null)
  195. db.Close();
  196. }
  197. }
  198. [HttpPost]
  199. public EapResponse Upload([FromBody] WorkingProcedureDto str)
  200. {
  201. string usercode = Request.Headers["usercode"];
  202. List<WorkingProcedure> wps = new List<WorkingProcedure>();
  203. foreach (List<string> it in str.Sheet1)
  204. {
  205. if (it.Count > 7 && it[0] != "园区")
  206. {
  207. WorkingProcedure workingProcedure = new WorkingProcedure();
  208. workingProcedure.Park = it[0]?.Trim();
  209. workingProcedure.Floor = it[1]?.Trim();
  210. workingProcedure.MachineType = it[2]?.Trim();
  211. workingProcedure.WorkshopSection = it[3]?.Trim();
  212. workingProcedure.AssignmentContent = it[4]?.Trim();
  213. workingProcedure.EquipmentName = it[5]?.Trim();
  214. workingProcedure.EquipmentModel = it[6]?.Trim();
  215. workingProcedure.EropTurnoverRate = it[7]?.Trim();
  216. workingProcedure.UPH = it[8]?.Trim().Replace(",", "");
  217. workingProcedure.RecCode = usercode;
  218. workingProcedure.ModCode = usercode;
  219. workingProcedure.RecTime = DateTime.Now;
  220. workingProcedure.ModTime = DateTime.Now;
  221. wps.Add(workingProcedure);
  222. }
  223. }
  224. IDatabase db = null;
  225. string errormsg = string.Empty;
  226. Object er = null;
  227. try
  228. {
  229. db = DbFactory.Base("eap");
  230. var dal = new WorkProcedureDal(db);
  231. db.BeginTrans();
  232. int ck = dal.CheckSame(wps, ref er);
  233. if (ck < 0)
  234. {
  235. db.Rollback();
  236. return new EapResponse()
  237. {
  238. Code = -2,
  239. //Msg = er,
  240. Data = er
  241. };
  242. }
  243. var res = dal.Adds(wps, usercode, ref errormsg); ;
  244. if (res < 0)
  245. {
  246. db.Rollback();
  247. return new EapResponse()
  248. {
  249. Code = -1,
  250. Msg = errormsg
  251. };
  252. }
  253. db.Commit();
  254. //LogHelper<WorkingProcedure>.LogFatal("删除WorkProcedure-->:" + Json.ToJson(modelsec) + ";apappservermac" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]);
  255. return new EapResponse()
  256. {
  257. Code = 1,
  258. Msg = ""
  259. };
  260. }
  261. catch (Exception e)
  262. {
  263. errormsg = e.Message;
  264. return new EapResponse
  265. {
  266. Code = -1,
  267. Msg = errormsg
  268. };
  269. }
  270. finally
  271. {
  272. if (db != null)
  273. db.Close();
  274. }
  275. }
  276. [HttpPost]
  277. public async Task<IActionResult> ExprortEquipmentnumber(IDictionary<string, string> filterInfo)
  278. {
  279. string filter = string.Empty, sortField = "count", sortOrder = "ascend"; int take = 10000;
  280. if (filterInfo.ContainsKey("filter"))
  281. {
  282. filter = filterInfo["filter"];
  283. }
  284. if (filterInfo.ContainsKey("sortField"))
  285. {
  286. sortField = filterInfo["sortField"];
  287. }
  288. if (filterInfo.ContainsKey("sortOrder"))
  289. {
  290. sortOrder = filterInfo["sortOrder"];
  291. }
  292. if (filterInfo.ContainsKey("take"))
  293. {
  294. take = Convert.ToInt32(filterInfo["take"]);
  295. }
  296. if (sortOrder == "descend")
  297. {
  298. sortOrder = "desc";
  299. }
  300. else
  301. {
  302. sortOrder = "asc";
  303. }
  304. using (IDatabase db = DbFactory.Base("eapslave"))
  305. {
  306. var dal = new WorkProcedureDal(db);
  307. var dtos = dal.GetWorkingProcedureExprort(filter, sortField, sortOrder, take);
  308. var list = _mapper.Map<IEnumerable<ExportWorkingProcedure>>(dtos).ToList();
  309. var book = DataExportHelper.EntityToExcel(list);
  310. MemoryStream ms = new MemoryStream();
  311. ms.Position = 0;
  312. book.Write(ms);
  313. ms.Dispose();
  314. ms.Close();
  315. await Task.CompletedTask;
  316. return File(ms.ToArray(), "application/octet-stream");
  317. }
  318. }
  319. }
  320. }