PackingController.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. using Ant.Data;
  2. using Ant.ORM;
  3. using Ant.SuperSocket.Common;
  4. using Ant.Service.Common;
  5. using Ant.Service.Common.Enums;
  6. using Central.Control.Domain;
  7. using MES.Production.Entity;
  8. using MES.Production.Entity.Entity;
  9. using MES.Production.Entity.Enum;
  10. using MES.Production.Entity.Extensions;
  11. using Ant.Service.Mongodb;
  12. using MES.Production.Service.IService;
  13. using MES.Production.Service.ServiceImp;
  14. using Ant.Service.Utility;
  15. using ChangFa.Machinery.WebPage.Areas.SysManage.Models;
  16. using ChangFa.Machinery.WebPage.Controllers;
  17. using MongoDB.Driver.Builders;
  18. using System;
  19. using System.Collections.Generic;
  20. using System.Data;
  21. using System.IO;
  22. using System.Linq;
  23. using System.Text;
  24. using System.Web;
  25. using System.Web.Mvc;
  26. using JsonHelper = Ant.Service.Common.JsonHelper;
  27. namespace ChangFa.Machinery.WebPage.Areas.SysManage.Controllers
  28. {
  29. public class PackingController : BaseController
  30. {
  31. [UserAuthorizeAttribute(ModuleAlias = "Packing", OperaAction = "View")]
  32. public ActionResult PackingList()
  33. {
  34. try
  35. {
  36. PageInfo pageInfo = new PageInfo(base.page, base.pagesize, 0, JsonConverter.JsonClass(new List<EntYW_Bicycle>()));
  37. #region 处理查询参数
  38. var name = Request.QueryString["name"];
  39. #endregion
  40. #region 加载列表
  41. using (AntORM orm = new AntORM())
  42. {
  43. orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
  44. RequestModel res = new RequestModel();
  45. res.newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "打包盒配置" };
  46. var packingList = orm.Queryable<YW_Packing>().Where(p => p.IsDelete == 0);
  47. int pageno = (base.page - 1) * base.pagesize;
  48. packingList = packingList.WhereIf(!string.IsNullOrEmpty(name), p => p.Name.Contains(name));
  49. var reslut = packingList.OrderByDesc(p => p.CreateDT).Skip(pageno).Top(pagesize).ToList(res);
  50. if (reslut.IsSuccess)
  51. {
  52. reslut.RecordNum = packingList.Count();
  53. pageInfo = new PageInfo(base.page, base.pagesize, reslut.RecordNum, JsonConverter.JsonClass(reslut.ResultModel));
  54. }
  55. }
  56. //ViewBag.Search = base.keywords;
  57. ViewData["name"] = name;
  58. return View(pageInfo);
  59. #endregion
  60. }
  61. catch (Exception e)
  62. {
  63. WriteLog(enumOperator.Select, "获取裁判员列表:", e);
  64. throw e.InnerException;
  65. }
  66. }
  67. /// <summary>
  68. ///
  69. /// </summary>
  70. /// <param name="idList"></param>
  71. /// <returns></returns>
  72. public ActionResult Delete(string idList)
  73. {
  74. JsonHelper json = new JsonHelper() { Status = "n", Msg = "删除打包盒成功" };
  75. try
  76. {
  77. //是否为空
  78. if (string.IsNullOrEmpty(idList)) { json.Msg = "未找到要删除的裁判"; return Json(json); }
  79. string[] id = idList.Trim(',').Split(',');
  80. for (int i = 0; i < id.Length; i++)
  81. {
  82. var packingId = (id[i]);
  83. using (AntORM orm = new AntORM())
  84. {
  85. orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
  86. RequestModel request = new RequestModel
  87. {
  88. newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "删除打包盒" },
  89. Oid = packingId
  90. };
  91. var reslut = orm.DeleteById<YW_Packing>(request);
  92. if (reslut.IsSuccess)
  93. {
  94. json.Status = "y";
  95. WriteLog(enumOperator.Remove, json.Msg, enumLog4net.WARN);
  96. }
  97. }
  98. }
  99. }
  100. catch (Exception e)
  101. {
  102. json.Msg = "删除打包盒发生内部错误!";
  103. WriteLog(enumOperator.Remove, "删除教练:", e);
  104. }
  105. return Json(json);
  106. }
  107. /// <summary>
  108. /// 保存
  109. /// </summary>
  110. /// <param name="entity"></param>
  111. /// <returns></returns>
  112. [UserAuthorize(ModuleAlias = "Packing", OperaAction = "Add,Edit")]
  113. [ValidateInput(false)]
  114. [HttpPost]
  115. public ActionResult Save(YW_Packing entity)
  116. {
  117. JsonHelper json = new JsonHelper() { Msg = "保存包装盒成功", Status = "n", ReUrl = "/Sys/Packing/PackingList" };
  118. try
  119. {
  120. using (AntORM orm = new AntORM())
  121. {
  122. orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
  123. RequestModel request = new RequestModel();
  124. request.newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "Save" };
  125. entity.CreateBY = entity.CreateBY;
  126. entity.ModifyDT = entity.ModifyDT;
  127. entity.Img = Request.Form["hidfilename"];
  128. if (!string.IsNullOrWhiteSpace(entity.Id))
  129. {
  130. request.Oid = entity.Id;
  131. var reslut = orm.UpdateById(entity, request);
  132. if (reslut.IsSuccess)
  133. {
  134. json.Status = "y";
  135. }
  136. else
  137. {
  138. json.Msg = "保存裁判失败";
  139. }
  140. }
  141. else
  142. {
  143. entity.Id = IdGenerator.NewId();
  144. entity.CreateBY = this.CurrentUser.Id.ToString();
  145. entity.CreateDT = DateTime.Now;
  146. var reslut = orm.Save(entity, request);
  147. if (reslut.IsSuccess)
  148. {
  149. json.Status = "y";
  150. }
  151. else
  152. {
  153. json.Msg = "保存包装盒失败";
  154. }
  155. }
  156. }
  157. }
  158. catch (Exception ex)
  159. {
  160. json.Msg = "保存包装盒发生内部错误!";
  161. WriteLog(enumOperator.None, "保存包装盒:", ex);
  162. }
  163. return Json(json);
  164. }
  165. /// <summary>
  166. /// 编辑详情
  167. /// </summary>
  168. /// <param name="id"></param>
  169. /// <returns></returns>
  170. [UserAuthorize(ModuleAlias = "Packing", OperaAction = "Detail")]
  171. public ActionResult Detail(string id)
  172. {
  173. YW_Packing mod = new YW_Packing();
  174. if (id != null)
  175. {
  176. using (AntORM orm = new AntORM())
  177. {
  178. try
  179. {
  180. orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
  181. RequestModel request = new RequestModel
  182. {
  183. newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "Detail" },
  184. Oid = id.ToString()
  185. };
  186. var reslut = orm.GetEntity<YW_Packing>(request);
  187. if (reslut.IsSuccess)
  188. {
  189. mod = reslut.ResultModel;
  190. }
  191. }
  192. catch (Exception e)
  193. {
  194. }
  195. }
  196. }
  197. return View(mod);
  198. }
  199. [UserAuthorize(ModuleAlias = "Packing", OperaAction = "Export")]
  200. public FileResult ExportExecl()
  201. {
  202. try
  203. {
  204. NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
  205. //添加一个sheet
  206. NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("武进区学校体育裁判员统计表");
  207. //给sheet1添加第一行的头部标题
  208. NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
  209. row1.CreateCell(0).SetCellValue("姓名");
  210. row1.CreateCell(1).SetCellValue("身份证号码");
  211. row1.CreateCell(2).SetCellValue("裁判证编号");
  212. row1.CreateCell(3).SetCellValue("裁判级别");
  213. row1.CreateCell(4).SetCellValue("手机号码");
  214. row1.CreateCell(5).SetCellValue("指导项目");
  215. row1.CreateCell(6).SetCellValue("学校");
  216. //指导项目
  217. #region 处理查询参数
  218. var nameOrProject = Request.QueryString["nameOrProject"];
  219. #endregion
  220. #region 加载列表
  221. using (AntORM orm = new AntORM())
  222. {
  223. orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
  224. RequestModel res = new RequestModel();
  225. res.newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "获取裁判员列表" };
  226. var coachList = orm.Queryable<YM_Judge>()
  227. .InnerJoin<YM_School>((judge, school) => judge.SchoolID == school.ID);
  228. int pageno = (base.page - 1) * base.pagesize;
  229. var views = coachList.Select((judge, school) => new
  230. {
  231. Judge = judge,
  232. School = school
  233. });
  234. if (!nameOrProject.IsEmpty())
  235. {
  236. views = views.Where(p => (!string.IsNullOrEmpty(p.Judge.Name) && p.Judge.Name.Contains(nameOrProject)) || (!string.IsNullOrEmpty(p.Judge.Name) && p.Judge.Project.Contains(nameOrProject)));
  237. }
  238. var reslut = views.OrderByDesc(p => p.Judge.UpdateTime).Skip(pageno).Top(pagesize).ToList(res);
  239. if (reslut.IsSuccess)
  240. {
  241. int rowIndex = 1;
  242. foreach (var item in reslut.ResultModel)
  243. {
  244. NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(rowIndex);
  245. rowtemp.CreateCell(0).SetCellValue(item.Judge.Name);
  246. rowtemp.CreateCell(1).SetCellValue(item.Judge.IDCard);
  247. rowtemp.CreateCell(2).SetCellValue(item.Judge.JudgmentNo);
  248. rowtemp.CreateCell(3).SetCellValue(item.Judge.Level);
  249. rowtemp.CreateCell(4).SetCellValue(item.Judge.Contact);
  250. rowtemp.CreateCell(5).SetCellValue(item.Judge.Project);
  251. rowtemp.CreateCell(6).SetCellValue(item.School.Name);
  252. rowIndex++;
  253. }
  254. }
  255. }
  256. #endregion
  257. // 写入到客户端
  258. System.IO.MemoryStream ms = new System.IO.MemoryStream();
  259. book.Write(ms);
  260. ms.Seek(0, SeekOrigin.Begin);
  261. return File(ms, "application/vnd.ms-excel", "武进区学校体育教练员统计表.xls");
  262. }
  263. catch (Exception e)
  264. {
  265. throw e.InnerException;
  266. }
  267. }
  268. }
  269. }