RmsTProcessController.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. using DllEapEntity.Rms;
  2. using DllEapEntity.Dtos;
  3. using Microsoft.AspNetCore.Mvc;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. using Cksoft.Data;
  8. using Cksoft.Data.Repository;
  9. using DllEapDal;
  10. using Cksoft.Unity;
  11. using Cksoft.Unity.Log4NetConfig;
  12. using System.Linq;
  13. using Microsoft.AspNetCore.Authorization;
  14. using DllEapEntity;
  15. namespace DllEapBll.Controllers
  16. {
  17. /// <summary>
  18. /// 制程
  19. /// </summary>
  20. //[Authorize]
  21. [ApiController]
  22. [Route("eap/api/[controller]/[action]")]
  23. public class RmsTProcessController : ControllerBase
  24. {
  25. /// <summary>
  26. /// 列表
  27. /// </summary>
  28. /// <param name="filter"></param>
  29. /// <param name="pageIndex"></param>
  30. /// <param name="pageSize"></param>
  31. /// <param name="sortField"></param>
  32. /// <param name="sortOrder"></param>
  33. /// <returns></returns>
  34. [HttpGet]
  35. public LayuiModel<TProcess> Get(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ID", string sortOrder = "ascend")
  36. {
  37. if (sortOrder == "descend")
  38. {
  39. sortOrder = "desc";
  40. }
  41. else
  42. {
  43. sortOrder = "asc";
  44. }
  45. int start, end;
  46. start = (pageIndex - 1) * pageSize + 1;
  47. end = start + pageSize;
  48. using (IDatabase db = DbFactory.Base("eapslave"))
  49. {
  50. db.BeginTrans();
  51. var dal = new TProcessDal(db);
  52. var total = dal.GetCount(filter);
  53. string errorinfo = string.Empty;
  54. var roles = dal.Get(start, pageSize, sortOrder, sortField, filter, errorinfo);
  55. return new LayuiModel<TProcess>
  56. {
  57. code = 1,
  58. count = total,
  59. data = roles,
  60. msg = ""
  61. };
  62. }
  63. }
  64. /// <summary>
  65. /// 详情
  66. /// </summary>
  67. /// <param name="id"></param>
  68. /// <returns></returns>
  69. [HttpGet]
  70. public TProcess GetSingle(int id)
  71. {
  72. using (IDatabase db = DbFactory.Base("eapslave"))
  73. {
  74. var dal = new TProcessDal(db);
  75. return dal.Get(id);
  76. }
  77. }
  78. /// <summary>
  79. /// 新增/修改
  80. /// </summary>
  81. /// <param name="programMst"></param>
  82. /// <returns></returns>
  83. [HttpPost]
  84. public EapResponse Add([FromBody] TProcess programMst)
  85. {
  86. string usercode = Request.Headers["usercode"];
  87. using (IDatabase db = DbFactory.Base("eap"))
  88. {
  89. db.BeginTrans();
  90. var dal = new TProcessDal(db);
  91. string errorinfo = string.Empty;
  92. var response = new EapResponse() { Code = 1, Msg = string.Empty };
  93. int id = -1;
  94. if (programMst.ID == 0)
  95. {
  96. id = dal.Add(programMst, usercode, ref errorinfo);
  97. }
  98. else
  99. {
  100. id = dal.Update(programMst, usercode, ref errorinfo);
  101. }
  102. if (id < 0)
  103. {
  104. db.Rollback();
  105. response.Code = -1;
  106. response.Msg = errorinfo;
  107. }
  108. else
  109. {
  110. db.Commit();
  111. if (programMst.ID == 0)
  112. {
  113. LogHelper<TProcess>.LogFatal("新增TProcess-->" + Json.ToJson(programMst), "用户操作", usercode);
  114. }
  115. else
  116. LogHelper<TProcess>.LogFatal("修改TProcess-->" + Json.ToJson(programMst), "用户操作", usercode);
  117. }
  118. response.Id = id;
  119. return response;
  120. }
  121. }
  122. /// <summary>
  123. /// 删除
  124. /// </summary>
  125. /// <param name="id"></param>
  126. /// <returns></returns>
  127. [HttpPost]
  128. public EapResponse Delete([FromBody] int id)
  129. {
  130. IDatabase db = null;
  131. string errormsg = string.Empty;
  132. try
  133. {
  134. using (db = DbFactory.Base("eap"))
  135. {
  136. var dal = new TProcessDal(db);
  137. db.BeginTrans();
  138. var rmstprocess = dal.Get(id);
  139. var model = dal.getmactprocess(rmstprocess);
  140. var modelsec = dal.getTProcess(id);
  141. var res = dal.Delete(id, ref errormsg);
  142. if (res < 0)
  143. {
  144. db.Rollback();
  145. return new EapResponse()
  146. {
  147. Code = -1,
  148. Msg = errormsg
  149. };
  150. }
  151. db.Commit();
  152. LogHelper<TProcess>.LogFatal("删除TProcess-->:" + Json.ToJson(modelsec) + ";mactprocess" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]);
  153. return new EapResponse()
  154. {
  155. Code = 1,
  156. Msg = ""
  157. };
  158. }
  159. }
  160. catch (Exception e)
  161. {
  162. errormsg = e.Message;
  163. return new EapResponse
  164. {
  165. Code = -1,
  166. Msg = errormsg
  167. };
  168. }
  169. finally
  170. {
  171. if (db != null)
  172. db.Close();
  173. }
  174. }
  175. /// <summary>
  176. /// 修改制程状态
  177. /// </summary>
  178. /// <param name="valuePairs"></param>
  179. /// <returns></returns>
  180. [HttpPost]
  181. public string ChangeState([FromBody] IDictionary<string, string> valuePairs)
  182. {
  183. int id = Convert.ToInt32(valuePairs["id"]);
  184. int state = Convert.ToInt32(valuePairs["state"]);
  185. string field = valuePairs["field"];
  186. using (IDatabase db = DbFactory.Base("eap"))
  187. {
  188. var dal = new TProcessDal(db);
  189. int count = dal.ChangeField(field, id, state);
  190. if (count > 0)
  191. LogHelper<TProcess>.LogFatal("修改TProcess-->id" + id + ";state" + state + ";field" + field, "用户操作", "none");
  192. return count.ToString();
  193. }
  194. }
  195. /// <summary>
  196. /// 获取制程数据源
  197. /// </summary>
  198. /// <returns></returns>
  199. [HttpGet]
  200. public IEnumerable<object> GetTProcess()
  201. {
  202. using (IDatabase db = DbFactory.Base("eapslave"))
  203. {
  204. var dal = new TProcessDal(db);
  205. var entities = dal.Get(1, 1000, "asc", "a.id", "", "").OrderBy(c => c.ID).Select(c => new { Label = c.FCode, Value = c.ID });
  206. return entities;
  207. }
  208. }
  209. }
  210. }