using YLErp.Enums; using YLErp.Modules.StructureModule; namespace YLErp.Web.Controllers { public class StructureInfoController : BaseController { [MyAuthorize("系统管理-自定义结构")] public ActionResult Index() { return RedirectToAction("Index2");//Index用不到了,后续的bug或者更新都在Index2 //ViewBag.ColumnTypes = EnumHelper.GetDescriptionsByEnum(typeof(StructureColumnTypeEnum)).ToDictionary(K => K.Value, V => V.Key); //return View(); } public JsonResult QueryStructureInfo(StructureRangeEnum range) { var list = new StructureService(CurUser).QueryStructureInfo(range); return JsonSuccess("成功", list); } public JsonResult QueryStructureDetails(int id) { var list = new StructureService(CurUser).QueryStructure_Details(id); return JsonSuccess("成功", list); } public JsonResult SaveStructureInfo(StructureRangeEnum range, List objs) { new StructureService(CurUser).SaveStructureInfo(range, objs); return JsonSuccess(); } public JsonResult SaveStructureDetails(int id, List objs) { new StructureService(CurUser).SaveStructureDetails(id, objs); return JsonSuccess(); } public JsonResult DeleteStructureInfo(int id) { new StructureService(CurUser).DeleteStructureInfo(id); return JsonSuccess(); } public JsonResult DeleteStructureDetails(int id) { new StructureService(CurUser).DeleteStructureDetails(id); return JsonSuccess(); } #region 自定义结构-new [MyAuthorize("系统管理-自定义结构")] public ActionResult Index2() { ViewBag.ColumnTypes = EnumHelper.GetDescriptionsByEnum(typeof(StructureColumnTypeEnum)).ToDictionary(K => K.Value, V => V.Key); return View(); } [HttpPost] public JsonResult QueryStructureInfo2(StructureRangeEnum range) { var list = new StructureService(CurUser).QueryStructureInfo(range); return Json(list); } /// /// 新增修改结构信息 /// /// /// public ActionResult StructureInfoEdit(string enid, StructureRangeEnum range) { var r = new Structure_Info(); var isAdd = string.IsNullOrEmpty(enid) || enid == "0"; ViewBag.range = range; if (isAdd) { return View(r); } var intid = DataProtectHelper.DecryptInt(enid); r = yldb.Structure_Info.Find(intid); return View(r); } /// /// 新增修改结构信息 /// /// /// [HttpPost] public JsonResult SaveStructureInfo2(Structure_Info obj) { var intid = string.IsNullOrEmpty(obj.EncryptId) ? 0 : DataProtectHelper.DecryptInt(obj.EncryptId); if (intid == 0) { var lastData = yldb.Structure_Info.Where(n => n.Range == obj.Range).OrderByDescending(n => n.SortIndex).FirstOrDefault(); obj.SortIndex = lastData == null ? 1 : (lastData.SortIndex + 1); } if (obj.StructureName == "自定义") { throw new ServiceException("自定义要素中\"自定义\"为保留名称,不可使用"); } List objs = new List(); objs.Add(obj); var range = obj.Range; new StructureService(CurUser).SaveStructureInfo(range, objs); return JsonSuccess(); } /// /// 删除结构信息 /// /// /// [HttpPost] public JsonResult DeleteStructureInfo2(string enid) { var intid = string.IsNullOrEmpty(enid) ? 0 : DataProtectHelper.DecryptInt(enid); new StructureService(CurUser).DeleteStructureInfo(intid); return JsonSuccess("删除成功"); } /// /// 获取字段信息 /// /// /// [HttpPost] public JsonResult AjaxGetStructureDetail(int id) { var list = new StructureService(CurUser).QueryStructure_Details(id); return Json(list); } /// /// 新增修改字段信息页面 /// /// /// public ActionResult StructureDetailEdit(string enid, int structureId = 0) { var r = new Structure_Details(); var isAdd = string.IsNullOrEmpty(enid) || enid == "0"; var range = yldb.Structure_Info.Where(O => O.id == structureId).Select(O => O.Range).FirstOrDefault(); ViewBag.showReportField = (range != StructureRangeEnum.EXTEND_INFO); //#region 字段类型 var list = EnumHelper.GetDescriptionsByEnum(typeof(StructureColumnTypeEnum)).ToDictionary(K => K.Value, V => V.Key); List selectListItems = new List(); foreach (var item in list) { SelectListItem selectListItem = new SelectListItem(); selectListItem.Text = item.Value; selectListItem.Value = item.Key; selectListItems.Add(selectListItem); } ViewBag.ColumnTypes = selectListItems; //#endregion ViewBag.structureId = structureId; if (isAdd) { return View(r); } var intdetailid = DataProtectHelper.DecryptInt(enid); r = yldb.Structure_Details.Find(intdetailid); return View(r); } /// /// 保存字段信息数据 /// /// /// /// public JsonResult SaveStructureDetails2(Structure_Details obj) { var intid = string.IsNullOrEmpty(obj.EncryptId) ? 0 : DataProtectHelper.DecryptInt(obj.EncryptId); if (intid == 0) { var lastData = yldb.Structure_Details.Where(n => n.StructureId == obj.StructureId).OrderByDescending(n => n.SortIndex).FirstOrDefault(); obj.SortIndex = lastData == null ? 1 : (lastData.SortIndex + 1); } List objs = new List(); objs.Add(obj); new StructureService(CurUser).SaveStructureDetails(obj.StructureId, objs); return JsonSuccess(); } /// /// 删除字段信息 /// /// /// public JsonResult DeleteStructureDetail2(string enid) { var intid = string.IsNullOrEmpty(enid) ? 0 : DataProtectHelper.DecryptInt(enid); new StructureService(CurUser).DeleteStructureDetails(intid); return JsonSuccess("删除成功"); } #endregion } }