using Ant.Data; using Ant.ORM; using Ant.SuperSocket.Common; using Ant.Service.Common; using Ant.Service.Common.Enums; using Central.Control.Domain; using MES.Production.Entity; using MES.Production.Entity.Entity; using MES.Production.Entity.Enum; using MES.Production.Entity.Extensions; using Ant.Service.Mongodb; using MES.Production.Service.IService; using MES.Production.Service.ServiceImp; using Ant.Service.Utility; using ChangFa.Machinery.WebPage.Areas.SysManage.Models; using ChangFa.Machinery.WebPage.Controllers; using MongoDB.Driver.Builders; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; using JsonHelper = Ant.Service.Common.JsonHelper; namespace ChangFa.Machinery.WebPage.Areas.SysManage.Controllers { public class PackingController : BaseController { [UserAuthorizeAttribute(ModuleAlias = "Packing", OperaAction = "View")] public ActionResult PackingList() { try { PageInfo pageInfo = new PageInfo(base.page, base.pagesize, 0, JsonConverter.JsonClass(new List())); #region 处理查询参数 var name = Request.QueryString["name"]; #endregion #region 加载列表 using (AntORM orm = new AntORM()) { orm.db = DataAccessFactory.CreateDataConnection("CyclingItem"); RequestModel res = new RequestModel(); res.newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "打包盒配置" }; var packingList = orm.Queryable().Where(p => p.IsDelete == 0); int pageno = (base.page - 1) * base.pagesize; packingList = packingList.WhereIf(!string.IsNullOrEmpty(name), p => p.Name.Contains(name)); var reslut = packingList.OrderByDesc(p => p.CreateDT).Skip(pageno).Top(pagesize).ToList(res); if (reslut.IsSuccess) { reslut.RecordNum = packingList.Count(); pageInfo = new PageInfo(base.page, base.pagesize, reslut.RecordNum, JsonConverter.JsonClass(reslut.ResultModel)); } } //ViewBag.Search = base.keywords; ViewData["name"] = name; return View(pageInfo); #endregion } catch (Exception e) { WriteLog(enumOperator.Select, "获取裁判员列表:", e); throw e.InnerException; } } /// /// /// /// /// public ActionResult Delete(string idList) { JsonHelper json = new JsonHelper() { Status = "n", Msg = "删除打包盒成功" }; try { //是否为空 if (string.IsNullOrEmpty(idList)) { json.Msg = "未找到要删除的裁判"; return Json(json); } string[] id = idList.Trim(',').Split(','); for (int i = 0; i < id.Length; i++) { var packingId = (id[i]); using (AntORM orm = new AntORM()) { orm.db = DataAccessFactory.CreateDataConnection("CyclingItem"); RequestModel request = new RequestModel { newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "删除打包盒" }, Oid = packingId }; var reslut = orm.DeleteById(request); if (reslut.IsSuccess) { json.Status = "y"; WriteLog(enumOperator.Remove, json.Msg, enumLog4net.WARN); } } } } catch (Exception e) { json.Msg = "删除打包盒发生内部错误!"; WriteLog(enumOperator.Remove, "删除教练:", e); } return Json(json); } /// /// 保存 /// /// /// [UserAuthorize(ModuleAlias = "Packing", OperaAction = "Add,Edit")] [ValidateInput(false)] [HttpPost] public ActionResult Save(YW_Packing entity) { JsonHelper json = new JsonHelper() { Msg = "保存包装盒成功", Status = "n", ReUrl = "/Sys/Packing/PackingList" }; try { using (AntORM orm = new AntORM()) { orm.db = DataAccessFactory.CreateDataConnection("CyclingItem"); RequestModel request = new RequestModel(); request.newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "Save" }; entity.CreateBY = entity.CreateBY; entity.ModifyDT = entity.ModifyDT; entity.Img = Request.Form["hidfilename"]; if (!string.IsNullOrWhiteSpace(entity.Id)) { request.Oid = entity.Id; var reslut = orm.UpdateById(entity, request); if (reslut.IsSuccess) { json.Status = "y"; } else { json.Msg = "保存裁判失败"; } } else { entity.Id = IdGenerator.NewId(); entity.CreateBY = this.CurrentUser.Id.ToString(); entity.CreateDT = DateTime.Now; var reslut = orm.Save(entity, request); if (reslut.IsSuccess) { json.Status = "y"; } else { json.Msg = "保存包装盒失败"; } } } } catch (Exception ex) { json.Msg = "保存包装盒发生内部错误!"; WriteLog(enumOperator.None, "保存包装盒:", ex); } return Json(json); } /// /// 编辑详情 /// /// /// [UserAuthorize(ModuleAlias = "Packing", OperaAction = "Detail")] public ActionResult Detail(string id) { YW_Packing mod = new YW_Packing(); if (id != null) { using (AntORM orm = new AntORM()) { try { orm.db = DataAccessFactory.CreateDataConnection("CyclingItem"); RequestModel request = new RequestModel { newSt = new SqlNote() { Author = "smj", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "Detail" }, Oid = id.ToString() }; var reslut = orm.GetEntity(request); if (reslut.IsSuccess) { mod = reslut.ResultModel; } } catch (Exception e) { } } } return View(mod); } [UserAuthorize(ModuleAlias = "Packing", OperaAction = "Export")] public FileResult ExportExecl() { try { NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); //添加一个sheet NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("武进区学校体育裁判员统计表"); //给sheet1添加第一行的头部标题 NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0); row1.CreateCell(0).SetCellValue("姓名"); row1.CreateCell(1).SetCellValue("身份证号码"); row1.CreateCell(2).SetCellValue("裁判证编号"); row1.CreateCell(3).SetCellValue("裁判级别"); row1.CreateCell(4).SetCellValue("手机号码"); row1.CreateCell(5).SetCellValue("指导项目"); row1.CreateCell(6).SetCellValue("学校"); //指导项目 #region 处理查询参数 var nameOrProject = Request.QueryString["nameOrProject"]; #endregion #region 加载列表 using (AntORM orm = new AntORM()) { orm.db = DataAccessFactory.CreateDataConnection("CyclingItem"); RequestModel res = new RequestModel(); res.newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "获取裁判员列表" }; var coachList = orm.Queryable() .InnerJoin((judge, school) => judge.SchoolID == school.ID); int pageno = (base.page - 1) * base.pagesize; var views = coachList.Select((judge, school) => new { Judge = judge, School = school }); if (!nameOrProject.IsEmpty()) { views = views.Where(p => (!string.IsNullOrEmpty(p.Judge.Name) && p.Judge.Name.Contains(nameOrProject)) || (!string.IsNullOrEmpty(p.Judge.Name) && p.Judge.Project.Contains(nameOrProject))); } var reslut = views.OrderByDesc(p => p.Judge.UpdateTime).Skip(pageno).Top(pagesize).ToList(res); if (reslut.IsSuccess) { int rowIndex = 1; foreach (var item in reslut.ResultModel) { NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(rowIndex); rowtemp.CreateCell(0).SetCellValue(item.Judge.Name); rowtemp.CreateCell(1).SetCellValue(item.Judge.IDCard); rowtemp.CreateCell(2).SetCellValue(item.Judge.JudgmentNo); rowtemp.CreateCell(3).SetCellValue(item.Judge.Level); rowtemp.CreateCell(4).SetCellValue(item.Judge.Contact); rowtemp.CreateCell(5).SetCellValue(item.Judge.Project); rowtemp.CreateCell(6).SetCellValue(item.School.Name); rowIndex++; } } } #endregion // 写入到客户端 System.IO.MemoryStream ms = new System.IO.MemoryStream(); book.Write(ms); ms.Seek(0, SeekOrigin.Begin); return File(ms, "application/vnd.ms-excel", "武进区学校体育教练员统计表.xls"); } catch (Exception e) { throw e.InnerException; } } } }