209 lines
7.5 KiB
C#
209 lines
7.5 KiB
C#
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<Structure_Info> objs)
|
|
{
|
|
new StructureService(CurUser).SaveStructureInfo(range, objs);
|
|
return JsonSuccess();
|
|
}
|
|
|
|
public JsonResult SaveStructureDetails(int id, List<Structure_Details> 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);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 新增修改结构信息
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增修改结构信息
|
|
/// </summary>
|
|
/// <param name="obj"></param>
|
|
/// <returns></returns>
|
|
[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<Structure_Info> objs = new List<Structure_Info>();
|
|
objs.Add(obj);
|
|
var range = obj.Range;
|
|
new StructureService(CurUser).SaveStructureInfo(range, objs);
|
|
return JsonSuccess();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除结构信息
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public JsonResult DeleteStructureInfo2(string enid)
|
|
{
|
|
var intid = string.IsNullOrEmpty(enid) ? 0 : DataProtectHelper.DecryptInt(enid);
|
|
new StructureService(CurUser).DeleteStructureInfo(intid);
|
|
return JsonSuccess("删除成功");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取字段信息
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public JsonResult AjaxGetStructureDetail(int id)
|
|
{
|
|
var list = new StructureService(CurUser).QueryStructure_Details(id);
|
|
return Json(list);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增修改字段信息页面
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
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<SelectListItem> selectListItems = new List<SelectListItem>();
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存字段信息数据
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="obj"></param>
|
|
/// <returns></returns>
|
|
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<Structure_Details> objs = new List<Structure_Details>();
|
|
objs.Add(obj);
|
|
new StructureService(CurUser).SaveStructureDetails(obj.StructureId, objs);
|
|
return JsonSuccess();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除字段信息
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
public JsonResult DeleteStructureDetail2(string enid)
|
|
{
|
|
var intid = string.IsNullOrEmpty(enid) ? 0 : DataProtectHelper.DecryptInt(enid);
|
|
new StructureService(CurUser).DeleteStructureDetails(intid);
|
|
return JsonSuccess("删除成功");
|
|
}
|
|
#endregion
|
|
}
|
|
} |