358 lines
12 KiB
C#
358 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using SOH.Entities;
|
|
using EAS.Services;
|
|
using SOH.Data;
|
|
using EAS.Data;
|
|
using EAS.Data.ORM;
|
|
using EAS.Data.Linq;
|
|
using EAS.Data.Access;
|
|
using Newtonsoft.Json;
|
|
using System.Data;
|
|
|
|
namespace SOH.BLL
|
|
{
|
|
[ServiceObject("权限相关业务")]
|
|
[ServiceBind(typeof(IQuanXian))]
|
|
public class QuanXian : IQuanXian
|
|
{
|
|
public List<Entities.SYS_ASS> getAssList()
|
|
{
|
|
// throw new NotImplementedException();
|
|
using (DbEntities db = new DbEntities())
|
|
{
|
|
return db.SYS_ASSs.ToList();
|
|
}
|
|
}
|
|
|
|
public List<Entities.modules> getModules(string guidkey)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public Data.OperationResult addASS(Entities.SYS_ASS ass)
|
|
{
|
|
using (DbEntities db = new DbEntities())
|
|
{
|
|
|
|
using (DbTransaction tran = db.CreateTransaction())
|
|
{
|
|
|
|
OperationResult or = new OperationResult();
|
|
try
|
|
{
|
|
|
|
if (ass.id == 0)
|
|
{
|
|
ass.id = new BasicBll().GetMax(ass.DbTableName, 1);
|
|
db.SYS_ASSs.Insert(ass);
|
|
}
|
|
else
|
|
{
|
|
db.SYS_ASSs.Update(ass);
|
|
}
|
|
foreach (modules m in ass.modules)
|
|
{
|
|
if (db.moduless.Where(t => t.guid == m.guid).Any())
|
|
{
|
|
m.id = db.moduless.First(t => t.guid == m.guid).id;
|
|
db.moduless.Update(m);
|
|
}
|
|
else
|
|
{
|
|
m.id = new BasicBll().GetMax(m.DbTableName, 1);
|
|
m.assid = ass.id;
|
|
db.moduless.Insert(m);
|
|
}
|
|
}
|
|
tran.Commit();
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
or.State = 0;
|
|
or.Message = ex.Message;
|
|
return or;
|
|
}
|
|
or.Message = "保存成功!";
|
|
or.State = 1;
|
|
return or;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public SYS_ASS getAss(string assguid)
|
|
{
|
|
// throw new NotImplementedException();
|
|
using (DbEntities db = new DbEntities())
|
|
{
|
|
return db.SYS_ASSs.FirstOrDefault(t => t.guid == assguid);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
public string getMunelist(byte lx)
|
|
{
|
|
//throw new NotImplementedException();
|
|
using (var db = new DbEntities())
|
|
{
|
|
if (lx == 0)
|
|
{
|
|
|
|
var m = db.SYS_MENUs.Where(t => t.mtype == lx).Select(p => new { id = p.id, cdname = p.menuname, pid = p.pid, px = p.px });
|
|
return Newtonsoft.Json.JsonConvert.SerializeObject(m.ToList());
|
|
}
|
|
else if (lx == 1)
|
|
{
|
|
var ls = db.SYS_MENUs.Where(t => t.mtype == 1).Join(db.moduless, t => t.modulesid, p => p.id, (t, p) => new { mid = t.id, mname = t.menuname, mkid = p.guid, mkname = p.typename, assid = p.assid, pid = t.pid, opentype = t.opentype, px = t.px })
|
|
.Join(db.SYS_ASSs, t => t.assid, inn => inn.id, (t, a) => new
|
|
{
|
|
mid = t.mid,
|
|
mname = t.mname,
|
|
mkid = t.mkid,
|
|
mkname = t.mkname,
|
|
pid = t.pid,
|
|
opentype = t.opentype == 0 ? "窗口" : "对话框",
|
|
assid = a.guid,
|
|
assname = a.assname,
|
|
px = t.px
|
|
});
|
|
return Newtonsoft.Json.JsonConvert.SerializeObject(ls.ToList());
|
|
}
|
|
else
|
|
{
|
|
var m = db.SYS_MENUs.Select(p => new { id = p.id, cdname = p.menuname, pid = p.pid, px = p.px });
|
|
return Newtonsoft.Json.JsonConvert.SerializeObject(m.ToList());
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
public string getAssModuleList()
|
|
{
|
|
//throw new NotImplementedException();
|
|
using (var db = new DbEntities())
|
|
{
|
|
var m = db.SYS_ASSs.Join(db.moduless, t => t.id, p => p.assid, (t, p) => new
|
|
{
|
|
assid = t.guid,
|
|
assname = t.assname,
|
|
mkid = p.guid,
|
|
id = t.id,
|
|
mkname = p.typename,
|
|
mklm = p.FullName,
|
|
mid = p.id
|
|
|
|
});
|
|
return Newtonsoft.Json.JsonConvert.SerializeObject(m.ToList());
|
|
}
|
|
}
|
|
|
|
|
|
public OperationResult setMenu(SYS_MENU sm)
|
|
{
|
|
// throw new NotImplementedException();
|
|
using (var db = new DbEntities())
|
|
{
|
|
OperationResult or = new OperationResult();
|
|
try
|
|
{
|
|
if (sm.id == 0)
|
|
{
|
|
sm.id = new BLL.BasicBll().GetMax(sm.DbTableName, 1);
|
|
db.SYS_MENUs.Insert(sm);
|
|
}
|
|
else
|
|
{
|
|
if (sm.mtype == 1 && db.SYS_MENUs.Where(t => t.pid == sm.id).Count() > 0)
|
|
{
|
|
or.Message = "当前菜单有下级菜单不能修改为功能!";
|
|
or.State = 0;
|
|
return or;
|
|
}
|
|
db.SYS_MENUs.Update(sm);
|
|
}
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
or.State = 0;
|
|
or.Message = ex.Message;
|
|
return or;
|
|
}
|
|
or.Message = "操作成功!";
|
|
or.State = 1;
|
|
or.Tag = JsonConvert.SerializeObject(sm);
|
|
return or;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
public OperationResult deleteMune(int mid)
|
|
{
|
|
//throw new NotImplementedException();
|
|
OperationResult or = new OperationResult();
|
|
using (var db = new DbEntities())
|
|
{
|
|
if (db.SYS_MENUs.Where(t => t.pid == mid).Count() > 0)
|
|
{
|
|
or.State = 0;
|
|
or.Message = "你选择的菜单有下级菜单不能删除!";
|
|
}
|
|
else
|
|
{
|
|
try
|
|
{
|
|
db.SYS_MENUs.Delete(t => t.id == mid);
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
or.State = 0;
|
|
or.Message = ex.Message;
|
|
return or;
|
|
}
|
|
or.State = 1;
|
|
or.Message = "删除成功!";
|
|
|
|
}
|
|
}
|
|
return or;
|
|
}
|
|
|
|
|
|
//根据ID获取菜单
|
|
public SYS_MENU getMenu(int mid)
|
|
{
|
|
//throw new NotImplementedException();
|
|
using (var db = new DbEntities())
|
|
{
|
|
return db.SYS_MENUs.FirstOrDefault(t => t.id == mid);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public string getUserMenu(string p)
|
|
{
|
|
//throw new NotImplementedException();
|
|
using (var db = new DbEntities())
|
|
{
|
|
//var czy=db.t_czygls.FirstOrDefault(
|
|
|
|
var ls = db.t_czygls.Where(t=>t.czym== p).Join(db.czyroles, t => t.czym, r => r.czyid, (t, r) => new { r }).Join(db.RoleCDs, t => t.r.roleid, r => r.roleid, (t, r) => new { r });
|
|
|
|
if (!ls.Any())
|
|
return null;
|
|
DataTable dt = new DataTable();
|
|
dt.Columns.Add("cdname", typeof(string));
|
|
dt.Columns.Add("cdlx", typeof(byte));
|
|
dt.Columns.Add("dkfs", typeof(byte));
|
|
dt.Columns.Add("px", typeof(int));
|
|
dt.Columns.Add("pid", typeof(int));
|
|
dt.Columns.Add("dll", typeof(string));
|
|
dt.Columns.Add("fullname", typeof(string));
|
|
dt.Columns.Add("assid", typeof(int));
|
|
dt.Columns.Add("cdid", typeof(int));
|
|
foreach (var m in ls.ToList())
|
|
{
|
|
|
|
if (dt.Select("cdid=" + m.r.menu.id).Count() <= 0)
|
|
{
|
|
DataRow dr = dt.NewRow();
|
|
dr["cdname"] = m.r.menu.menuname;
|
|
dr["cdlx"] = m.r.menu.mtype;
|
|
dr["dkfs"] = m.r.menu.opentype;
|
|
dr["px"] = m.r.menu.px;
|
|
dr["pid"] = m.r.menu.pid;
|
|
if (m.r.menu.mtype == 1)
|
|
{
|
|
|
|
dr["assid"] = m.r.menu.module.assid;
|
|
dr["dll"] = m.r.menu.module.sys_ass.dllname;
|
|
dr["fullname"] = m.r.menu.module.FullName;
|
|
}
|
|
dr["cdid"] = m.r.menu.id;
|
|
dt.Rows.Add(dr);
|
|
}
|
|
}
|
|
return Newtonsoft.Json.JsonConvert.SerializeObject(dt);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public string getczylist(string fdid)
|
|
{
|
|
//throw new NotImplementedException();
|
|
using (var db = new DbEntities())
|
|
{
|
|
var czy = db.t_czygls.Where(t => t.zhuxiao == 0).Join(db.t_ygzds, t => t.ygbm, p => p.bm, (t, p) => new { czy = t.czym, rname = p.xm, ssks = p.ssks, fddm = p.yydm ,zhuxiao=p.zhuxiao})
|
|
.Where(t=>t.zhuxiao==0).Join(db.keshis,t=>t.ssks,p=>p.ksbm,(t,p)=>new {czy=t.czy,rname=t.rname,ssks=p.ksmc,fddm=t.fddm});
|
|
if (!string.IsNullOrEmpty(fdid))
|
|
{
|
|
int ifd = 0;
|
|
int.TryParse(fdid, out ifd);
|
|
czy = czy.Where(t => t.fddm == ifd);
|
|
}
|
|
return Newtonsoft.Json.JsonConvert.SerializeObject(czy.ToList());
|
|
|
|
}
|
|
}
|
|
|
|
|
|
public string getlrqx(string czy)
|
|
{
|
|
//throw new NotImplementedException();
|
|
using (var db = new DbEntities())
|
|
{
|
|
var ks = db.t_czylrqxs.Where(t => t.czy == czy).Join(db.keshis, t => t.ksbm, p => p.ksbm, (t, p) => new
|
|
{
|
|
ksbm=p.ksbm,
|
|
ksmc = p.ksmc,
|
|
zxbz = p.zhuxiao == 0 ? "未注销" : "已注销"
|
|
});
|
|
return Newtonsoft.Json.JsonConvert.SerializeObject(ks.ToList());
|
|
}
|
|
}
|
|
|
|
|
|
public OperationResult setuserksqx(string _czy, List<int> ksbms)
|
|
{
|
|
//throw new NotImplementedException();
|
|
OperationResult or = new OperationResult();
|
|
using (var db = new DbEntities())
|
|
{
|
|
var tran = db.CreateTransaction();
|
|
try
|
|
{
|
|
db.t_czylrqxs.Delete(t => t.czy == _czy);
|
|
ksbms.ForEach(t =>
|
|
{
|
|
t_czylrqx qx = new t_czylrqx();
|
|
qx.czy = _czy;
|
|
qx.ksbm = (short)t;
|
|
db.t_czylrqxs.Insert(qx);
|
|
});
|
|
tran.Commit();
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
tran.Rollback();
|
|
or.State = 0;
|
|
or.Message = ex.Message;
|
|
return or;
|
|
}
|
|
or.Message = "操作完成!";
|
|
or.State = 1;
|
|
return or;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//ts_dd kh ddfzd ddxmb t_kh -->t_ht |