using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Bowin.Common.Data; using Bowin.Common.Exceptions; using Bowin.Common.Utility; using Bowin.Common.Cache; using Bowin.Web.Controls.Mvc; using EMIS.Web.Controls; using EMIS.Utility; using EMIS.ViewModel; using EMIS.ViewModel.EvaluationManage.EvaluationTable; using EMIS.CommonLogic.EvaluationManage.EvaluationTable; namespace EMIS.Web.Controllers.EvaluationManage.EvaluationTable { [Authorization] public class EvaluationNormController : Controller { public Lazy EvaluationNormServices { get; set; } /// /// 评分标准页面 /// /// public ActionResult List() { return View(); } /// /// 评价表名列表查询 /// /// /// [HttpPost] public ActionResult List(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var normTypeID = pararms.getExtraInt("DictionaryNormType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryNormType"); return base.Json(EvaluationNormServices.Value.GetEvaluationNormViewGrid(configuretView, normTypeID, (int)pararms.page, (int)pararms.rows)); } /// /// 复制新增 /// /// /// public ActionResult CopyAdd(Guid evaluationNormID) { var evaluationNormView = new EvaluationNormView(); evaluationNormView = EvaluationNormServices.Value.GetEvaluationNormView(evaluationNormID); ViewBag.NormTypeID = evaluationNormView.NormTypeID; return View("Edit", evaluationNormView); } /// /// 复制新增 /// /// /// [HttpPost] public ActionResult CopyAdd(EvaluationNormView evaluationNormView) { evaluationNormView.EvaluationNormID = Guid.Empty; return this.Edit(evaluationNormView); } /// /// 编辑(新增、修改) /// /// /// [HttpGet] public ActionResult Edit(Guid? evaluationNormID) { var evaluationNormView = new EvaluationNormView(); if (evaluationNormID.HasValue && evaluationNormID != Guid.Empty) { evaluationNormView = EvaluationNormServices.Value.GetEvaluationNormView(evaluationNormID); } else { evaluationNormView.NormTypeID = (int)EM_EvaluationNormType.CheckBox; } ViewBag.NormTypeID = evaluationNormView.NormTypeID; return View(evaluationNormView); } /// /// 编辑(新增、修改) /// /// /// [HttpPost] public ActionResult Edit(EvaluationNormView evaluationNormView) { try { var detailViewList = DataGrid.GetTableData("dgEvaluationNormDetailList"); EvaluationNormServices.Value.EvaluationNormEdit(evaluationNormView, detailViewList); return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message }); } } /// /// 删除 /// /// /// [HttpPost] public ActionResult Delete(string evaluationNormIDs) { try { List list = evaluationNormIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => (Guid?)new Guid(x)).ToList(); EvaluationNormServices.Value.EvaluationNormDelete(list); return base.Json(new ReturnMessage { IsSuccess = true, Message = "删除成功。" }); } catch (Exception ex) { string mge = ex.Message; System.Data.SqlClient.SqlException num = ExceptionHelper.GetSqlException(ex); if (num != null) { if (num.Number == 547) { mge = "请先删除所有关联的数据,如:评价指标、评价项目、评价设定等。"; } } return base.Json(new ReturnMessage { IsSuccess = false, Message = "删除失败,原因:" + mge }); } } /// /// 复制新增明细 /// /// /// public ActionResult CopyAddDetail(Guid evaluationNormDetailID) { var evaluationNormDetailView = new EvaluationNormDetailView(); evaluationNormDetailView = EvaluationNormServices.Value.GetEvaluationNormDetailView(evaluationNormDetailID); return View("DetailEdit", evaluationNormDetailView); } /// /// 复制新增明细 /// /// /// [HttpPost] public ActionResult CopyAddDetail(EvaluationNormDetailView evaluationNormDetailView) { evaluationNormDetailView.EvaluationNormDetailID = Guid.Empty; return this.DetailEdit(evaluationNormDetailView); } /// /// 明细编辑 /// /// /// [HttpGet] public ActionResult DetailEdit(Guid? evaluationNormDetailID) { var evaluationNormDetailView = new EvaluationNormDetailView(); if (evaluationNormDetailID != null && evaluationNormDetailID != Guid.Empty) { evaluationNormDetailView = EvaluationNormServices.Value.GetEvaluationNormDetailView(evaluationNormDetailID); } return View(evaluationNormDetailView); } /// /// 明细编辑 /// /// /// [HttpPost] public ActionResult DetailEdit(EvaluationNormDetailView evaluationNormDetailView) { try { var user = HttpContext.User as EMIS.Utility.FormValidate.CustomPrincipal; evaluationNormDetailView.EvaluationNormDetailID = Guid.NewGuid(); CacheHelper.Set("evaluationNormDetailView" + user.UserID, evaluationNormDetailView); return View(evaluationNormDetailView); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message }); } } /// /// 查询对应的评分标准明细信息 /// /// /// [HttpPost] public ActionResult EvaluationNormDetailViewList(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var evaluationNormID = Request["evaluationNormID"].ParseStrTo(); return base.Json(EvaluationNormServices.Value.GetEvaluationNormDetailViewGrid(configuretView, evaluationNormID, (int)pararms.page, (int)pararms.rows)); } /// /// Excel导出 /// /// [HttpPost] public ActionResult Excel() { NpoiExcelHelper neh = new NpoiExcelHelper(); ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); var normTypeID = Request.Form["DictionaryNormType"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryNormType"].ParseStrTo(); var dt = EvaluationNormServices.Value.GetEvaluationNormViewList(configuretView, normTypeID) .Select(x => new { x.Name, x.NormTypeName, x.SatisfyWeight, x.NormDetailListName, x.Remark, x.CreateUserName, x.ModifyUserName, ModifyTime = x.ModifyTime == null ? null : x.ModifyTime.Value.ToString("yyyy-MM-dd HH:mm:ss") }).ToTable(); string[] liststring = { "评分标准", "评分类型", "满意权重", "标准明细", "备注", "创建人", "修改人", "修改时间" }; neh.Export(dt, liststring, "评分标准信息" + DateTime.Now.ToString("yyyyMMdd")); return Json(new ReturnMessage() { IsSuccess = true, Message = "导出成功。" }); } } }