|
|
|
|
using System;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Web.Mvc;
|
|
|
|
|
|
|
|
|
|
using HcUtility.Comm;
|
|
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
|
|
|
|
|
|
|
using DSWeb.TruckMng.Helper;
|
|
|
|
|
using DSWeb.TruckMng.Helper.Repository;
|
|
|
|
|
using DSWeb.Areas.SysMng.Models.SysTask;
|
|
|
|
|
|
|
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
|
using DSWeb.Areas.SysMng.Models.SysUser;
|
|
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
|
|
using System.Data.SqlClient;
|
|
|
|
|
using WebSqlHelper;
|
|
|
|
|
using DSWeb.EntityDA;
|
|
|
|
|
using DSWeb.SoftMng.BLL;
|
|
|
|
|
using DSWeb.SoftMng.Model;
|
|
|
|
|
using System.Web.Script.Serialization;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using DSWeb.SoftMng.Filter;
|
|
|
|
|
using System.Data.Common;
|
|
|
|
|
using DSWeb.SoftMng.Controllers;
|
|
|
|
|
|
|
|
|
|
namespace DSWeb.Areas.SysMng.DAL.SysUser
|
|
|
|
|
{
|
|
|
|
|
public class SysUserDAL
|
|
|
|
|
{
|
|
|
|
|
static public List<SysUserMC> GetDataList(string condition, string sortstring = null)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
SysUserMC u = new SysUserMC();
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
strSql.Append(u.getSQL());
|
|
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" and " + condition);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var sort = DatasetSort.Getsortstring(sortstring);
|
|
|
|
|
if (!string.IsNullOrEmpty(sort))
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" order by " + sort);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" order by CODENAME");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return SetData(strSql.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static List<SysUserMC> SetData(String strSql)
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<SysUserMC>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
SysUserMC data = new SysUserMC();
|
|
|
|
|
#region Set DB data to Object
|
|
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
|
|
data.USERNAME = Convert.ToString(reader["USERNAME"]);
|
|
|
|
|
data.CODENAME = Convert.ToString(reader["CODENAME"]);
|
|
|
|
|
data.PASSWORD = Convert.ToString(reader["PASSWORD"]);
|
|
|
|
|
data.SHOWNAME = Convert.ToString(reader["SHOWNAME"]);
|
|
|
|
|
data.ENROLLTIME = Convert.ToString(reader["ENROLLTIME"]);
|
|
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
|
|
data.ISDELETED = Convert.ToString(reader["ISDELETED"]);
|
|
|
|
|
data.ISDISABLE = Convert.ToString(reader["ISDISABLE"]);
|
|
|
|
|
data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]);
|
|
|
|
|
data.DELETETIME = Convert.ToString(reader["DELETETIME"]);
|
|
|
|
|
data.NOCODE = Convert.ToString(reader["NOCODE"]);
|
|
|
|
|
data.OPENID = Convert.ToString(reader["OPENID"]);
|
|
|
|
|
data.WECHATACCOUNT = Convert.ToString(reader["WECHATACCOUNT"]);
|
|
|
|
|
data.DINGTALKACCOUNT = Convert.ToString(reader["DINGTALKACCOUNT"]);
|
|
|
|
|
data.COMPANYID = Convert.ToString(reader["COMPANYID"]);
|
|
|
|
|
|
|
|
|
|
data.COMPANYNAME = Convert.ToString(reader["COMPANYNAME"]);
|
|
|
|
|
data.DEPTNAME = Convert.ToString(reader["DEPTNAME"]);
|
|
|
|
|
|
|
|
|
|
data.OFFICEPHONE = Convert.ToString(reader["OFFICEPHONE"]);
|
|
|
|
|
data.HOMEPHONE = Convert.ToString(reader["HOMEPHONE"]);
|
|
|
|
|
data.MOBILE = Convert.ToString(reader["MOBILE"]);
|
|
|
|
|
data.FAX = Convert.ToString(reader["FAX"]);
|
|
|
|
|
data.EMAIL1 = Convert.ToString(reader["EMAIL1"]);
|
|
|
|
|
data.EMAIL2 = Convert.ToString(reader["EMAIL2"]);
|
|
|
|
|
data.HOMEADDRESS = Convert.ToString(reader["HOMEADDRESS"]);
|
|
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
|
|
data.EMERGUSER = Convert.ToString(reader["EMERGUSER"]);
|
|
|
|
|
data.EMERGPHONE = Convert.ToString(reader["EMERGPHONE"]);
|
|
|
|
|
data.EMERGEMAIL = Convert.ToString(reader["EMERGEMAIL"]);
|
|
|
|
|
data.POSTCODE = Convert.ToString(reader["POSTCODE"]);
|
|
|
|
|
data.QQ = Convert.ToString(reader["QQ"]);
|
|
|
|
|
data.MSN = Convert.ToString(reader["MSN"]);
|
|
|
|
|
//data.SIGNATURE = Convert.ToString(reader["SIGNATURE"]);
|
|
|
|
|
data.FINANCESOFTCODE = Convert.ToString(reader["FINANCESOFTCODE"]);
|
|
|
|
|
data.IMAGEURL = Convert.ToString(reader["IMAGEURL"]);
|
|
|
|
|
data.SIGNATUREURL = Convert.ToString(reader["SIGNATUREURL"]);
|
|
|
|
|
data.MAILSIGN = Convert.ToString(reader["MAILSIGN"]);
|
|
|
|
|
data.CWUSERNAME = Convert.ToString(reader["CWUSERNAME"]);
|
|
|
|
|
data.CWPASSWORD = Convert.ToString(reader["CWPASSWORD"]);
|
|
|
|
|
data.USERCOMPANYGID = Convert.ToString(reader["USERCOMPANYGID"]);
|
|
|
|
|
data.USERBASEINFOGID = Convert.ToString(reader["USERBASEINFOGID"]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data.isUseSystem = Convert.ToString(reader["isUseSystem"]);
|
|
|
|
|
data.isDisable = Convert.ToString(reader["isDisable"]);
|
|
|
|
|
#endregion
|
|
|
|
|
headList.Add(data); //把data的数据加入List对象
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
return headList; //返回List对象
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public SysUserMC GetData(string condition)//, List<HcUtility.Core.Fieldmb> fieldlist
|
|
|
|
|
{
|
|
|
|
|
var list = GetDataList(condition, "");//, fieldlist
|
|
|
|
|
SysUserMC result = new SysUserMC();
|
|
|
|
|
if (list.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
result = list[0];
|
|
|
|
|
|
|
|
|
|
//然后取得该用户的属性并设置在result里
|
|
|
|
|
var attrlist = GetAttr(result.GID);
|
|
|
|
|
|
|
|
|
|
result.setAttribute(attrlist);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
result.isUseSystem = "true";
|
|
|
|
|
result.isOperator = "false";
|
|
|
|
|
result.isSaleMan = "false";
|
|
|
|
|
result.isDriver = "false";
|
|
|
|
|
result.isCustomsDeclarer = "false";
|
|
|
|
|
result.isDocument = "false";
|
|
|
|
|
result.isFinancialStaff = "false";
|
|
|
|
|
result.isDisable = "false";
|
|
|
|
|
result.isCustomsService = "false";
|
|
|
|
|
result.isVehiclesDispatcher = "false";
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public List<UserTreeRefModel> GetUserTreeRefList(string PARENTID)
|
|
|
|
|
{
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
strSql.Append(" SELECT ");
|
|
|
|
|
strSql.Append(" GID,NAME,DESCRIPTION,PARENTID,TYPE");
|
|
|
|
|
strSql.Append(" from VW_user_company_tree ");
|
|
|
|
|
strSql.Append(" where parentid='" + PARENTID + "' order by TYPE,DESCRIPTION");
|
|
|
|
|
|
|
|
|
|
return SetUserTreeRefData(strSql);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<UserTreeRefModel> SetUserTreeRefData(StringBuilder strSql)
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<UserTreeRefModel>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
UserTreeRefModel data = new UserTreeRefModel();
|
|
|
|
|
#region Set DB data to Object
|
|
|
|
|
data.id = Convert.ToString(reader["GID"]);
|
|
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
|
|
data.NAME = Convert.ToString(reader["NAME"]);
|
|
|
|
|
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);
|
|
|
|
|
data.PARENTID = Convert.ToString(reader["PARENTID"]);
|
|
|
|
|
data.TYPE = Convert.ToString(reader["TYPE"]);
|
|
|
|
|
data.icon = "";
|
|
|
|
|
if (data.TYPE == "2")
|
|
|
|
|
{
|
|
|
|
|
data.leaf = true;
|
|
|
|
|
data.expanded = true;
|
|
|
|
|
data.icon = "../TruckMng/Content/Images/business/people.ico";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
data.leaf = false;
|
|
|
|
|
data.expanded = false;
|
|
|
|
|
if (data.TYPE == "0") data.icon = "../TruckMng/Content/Images/business/company.ico";
|
|
|
|
|
if (data.TYPE == "1") data.icon = "../TruckMng/Content/Images/business/group.ico";
|
|
|
|
|
};
|
|
|
|
|
#endregion
|
|
|
|
|
headList.Add(data);
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
return headList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static public List<USER_BASEINFOMC> GetList_USERINFO(string USERID)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
USER_BASEINFOMC userinfo = new USER_BASEINFOMC();
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
strSql.Append(userinfo.getSQL());
|
|
|
|
|
|
|
|
|
|
strSql.Append(" where USERID='" + USERID + "'");
|
|
|
|
|
|
|
|
|
|
return SetData_USERINFO(strSql.ToString());
|
|
|
|
|
}
|
|
|
|
|
private static List<USER_BASEINFOMC> SetData_USERINFO(String strSql)
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<USER_BASEINFOMC>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
USER_BASEINFOMC data = new USER_BASEINFOMC();
|
|
|
|
|
#region Set DB data to Object
|
|
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
|
|
data.USERID = Convert.ToString(reader["USERID"]);
|
|
|
|
|
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
|
|
|
|
|
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
|
|
|
|
|
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
|
|
|
|
|
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
|
|
|
|
|
data.OFFICEPHONE = Convert.ToString(reader["OFFICEPHONE"]);
|
|
|
|
|
data.HOMEPHONE = Convert.ToString(reader["HOMEPHONE"]);
|
|
|
|
|
data.MOBILE = Convert.ToString(reader["MOBILE"]);
|
|
|
|
|
data.FAX = Convert.ToString(reader["FAX"]);
|
|
|
|
|
data.EMAIL1 = Convert.ToString(reader["EMAIL1"]);
|
|
|
|
|
data.EMAIL2 = Convert.ToString(reader["EMAIL2"]);
|
|
|
|
|
data.HOMEADDRESS = Convert.ToString(reader["HOMEADDRESS"]);
|
|
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
|
|
data.EMERGUSER = Convert.ToString(reader["EMERGUSER"]);
|
|
|
|
|
data.EMERGPHONE = Convert.ToString(reader["EMERGPHONE"]);
|
|
|
|
|
data.EMERGEMAIL = Convert.ToString(reader["EMERGEMAIL"]);
|
|
|
|
|
data.POSTCODE = Convert.ToString(reader["POSTCODE"]);
|
|
|
|
|
data.QQ = Convert.ToString(reader["QQ"]);
|
|
|
|
|
data.MSN = Convert.ToString(reader["MSN"]);
|
|
|
|
|
//data.SIGNATURE = Convert.ToString(reader["SIGNATURE"]);
|
|
|
|
|
data.FINANCESOFTCODE = Convert.ToString(reader["FINANCESOFTCODE"]);
|
|
|
|
|
data.IMAGEURL = Convert.ToString(reader["IMAGEURL"]);
|
|
|
|
|
data.SIGNATUREURL = Convert.ToString(reader["SIGNATUREURL"]);
|
|
|
|
|
data.MAILSIGN = Convert.ToString(reader["MAILSIGN"]);
|
|
|
|
|
#endregion
|
|
|
|
|
headList.Add(data); //把data的数据加入List对象
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
return headList; //返回List对象
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public List<USER_COMPANYMC> GetList_USERCOMPANY(string USERID)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
USER_COMPANYMC userinfo = new USER_COMPANYMC();
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
strSql.Append(userinfo.getSQL());
|
|
|
|
|
|
|
|
|
|
strSql.Append(" where USERID='" + USERID + "'");
|
|
|
|
|
|
|
|
|
|
return SetData_USERCOMPANY(strSql.ToString());
|
|
|
|
|
}
|
|
|
|
|
private static List<USER_COMPANYMC> SetData_USERCOMPANY(String strSql)
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<USER_COMPANYMC>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
USER_COMPANYMC data = new USER_COMPANYMC();
|
|
|
|
|
#region Set DB data to Object
|
|
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
|
|
data.USERID = Convert.ToString(reader["USERID"]);
|
|
|
|
|
data.COMPANYID = Convert.ToString(reader["COMPANYID"]);
|
|
|
|
|
#endregion
|
|
|
|
|
headList.Add(data); //把data的数据加入List对象
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
return headList; //返回List对象
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public List<user_userattributeMC> GetAttr(string USERID)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
user_userattributeMC userinfo = new user_userattributeMC();
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
strSql.Append(userinfo.getSQL());
|
|
|
|
|
|
|
|
|
|
strSql.Append(" where USERID='" + USERID + "'");
|
|
|
|
|
|
|
|
|
|
return SetData_Attr(strSql.ToString());
|
|
|
|
|
}
|
|
|
|
|
private static List<user_userattributeMC> SetData_Attr(String strSql)
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<user_userattributeMC>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
user_userattributeMC data = new user_userattributeMC();
|
|
|
|
|
#region Set DB data to Object
|
|
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
|
|
data.USERID = Convert.ToString(reader["USERID"]);
|
|
|
|
|
data.ATTRIBUTEID = Convert.ToString(reader["ATTRIBUTEID"]);
|
|
|
|
|
data.ATTRIBUTENAME = Convert.ToString(reader["ATTRIBUTENAME"]);
|
|
|
|
|
data.VALUE = Convert.ToString(reader["VALUE"]);
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
headList.Add(data); //把data的数据加入List对象
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
return headList; //返回List对象
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 显示树形结构
|
|
|
|
|
static public List<USEROPRangeMC> GetOPRange(string PARENTID)
|
|
|
|
|
{
|
|
|
|
|
USEROPRangeMC OPCODE = new USEROPRangeMC(PARENTID);
|
|
|
|
|
|
|
|
|
|
return SetOPRange(OPCODE.getSQL());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public List<USEROPRangeMC> GetOPRange(string PARENTID, string USERID)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrWhiteSpace( USERID) && PARENTID== "0"){
|
|
|
|
|
|
|
|
|
|
return new List<USEROPRangeMC>();
|
|
|
|
|
}else{
|
|
|
|
|
USEROPRangeMC OPCODE = new USEROPRangeMC(USERID, PARENTID);
|
|
|
|
|
|
|
|
|
|
return SetOPRange(OPCODE.getSQL());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<USEROPRangeMC> SetOPRange(String strSql)
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<USEROPRangeMC>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
SqlCommand cmd = new SqlCommand();
|
|
|
|
|
cmd.CommandText = strSql.ToString();
|
|
|
|
|
cmd.CommandTimeout = 120000; //要加这一句
|
|
|
|
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(cmd))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
USEROPRangeMC data = new USEROPRangeMC("");
|
|
|
|
|
#region Set DB data to Object
|
|
|
|
|
data.id = Convert.ToString(reader["id"]);
|
|
|
|
|
data.GID = Convert.ToString(reader["id"]);
|
|
|
|
|
data.NAME = Convert.ToString(reader["NAME"]);
|
|
|
|
|
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);
|
|
|
|
|
data.PARENTID = Convert.ToString(reader["PARENTID"]);
|
|
|
|
|
data.TYPE = Convert.ToString(reader["TYPE"]);
|
|
|
|
|
//data.icon = "";//Convert.ToString(reader["ICON"]);
|
|
|
|
|
data.MODULEURL = Convert.ToString(reader["MODULEURL"]);
|
|
|
|
|
if (reader["leaf"] != DBNull.Value)
|
|
|
|
|
data.leaf = Convert.ToBoolean(reader["leaf"]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//原逻辑为MODULEURL==== "#"
|
|
|
|
|
|
|
|
|
|
//现改为 gid为其他节点的父节点 isleaf=0
|
|
|
|
|
if (!data.leaf)
|
|
|
|
|
{
|
|
|
|
|
data.leaf = false;
|
|
|
|
|
data.expanded = false;
|
|
|
|
|
//data.icon="../images/business/people.ico";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
data.leaf = true;
|
|
|
|
|
data.expanded = true;
|
|
|
|
|
//if (data.TYPE == "0") data.icon = "../images/business/company.ico";
|
|
|
|
|
//if (data.TYPE == "1") data.icon = "../images/business/group.ico";
|
|
|
|
|
};
|
|
|
|
|
#endregion
|
|
|
|
|
headList.Add(data);
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
return headList;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 用户权限 增加删除
|
|
|
|
|
|
|
|
|
|
public static DBResult AddRange(string IDList,string USERID,string MODIFIEDUSER)
|
|
|
|
|
{
|
|
|
|
|
//var CURRUSERID = "";
|
|
|
|
|
var json = "";
|
|
|
|
|
|
|
|
|
|
DBResult result = new DBResult();
|
|
|
|
|
result.Success = true;
|
|
|
|
|
if (string.IsNullOrEmpty(IDList))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("没有选择任何模块");
|
|
|
|
|
}
|
|
|
|
|
if(string.IsNullOrEmpty(USERID))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("没有选中一个用户");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!result.Success) return result;
|
|
|
|
|
|
|
|
|
|
var ModelIDList = JsonConvert.Deserialize<List<String>>(IDList);
|
|
|
|
|
|
|
|
|
|
foreach (var tempSelectedModuleID in ModelIDList)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrWhiteSpace(tempSelectedModuleID)) continue;
|
|
|
|
|
UserActionDA userActionDA = new UserActionDA();
|
|
|
|
|
sys_secCompanyBLL arg_1C_0 = new sys_secCompanyBLL();
|
|
|
|
|
sys_module model = new sys_moduleBLL().GetModel(tempSelectedModuleID);
|
|
|
|
|
sys_secCompany sys_secCompany = arg_1C_0.GetModelList("").FirstOrDefault<sys_secCompany>();
|
|
|
|
|
if (sys_secCompany == null)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("未配置相关参数,表 [Sys_SecCompany] 无数据");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if (new JavaScriptSerializer().Deserialize<CecrietStr>(DSWeb.SoftMng.Common.Common.string_Decrypt(sys_secCompany.CompanySecretKey, "Dw9pVb9r")).MenuControl)
|
|
|
|
|
{
|
|
|
|
|
int recordCount = new user_actionBLL().GetRecordCount("ACTIONID =(SELECT TOP 1 GID FROM [ACTION] WHERE MODULEID='" + tempSelectedModuleID + "') AND USERID in (select Gid from [user]) and USERID NOT IN (SELECT [USERID] FROM user_userattribute where ATTRIBUTEID = '2E5E6066-1C5D-4B04-BF8C-56637C20FC8C' and VALUE = 'true') ");
|
|
|
|
|
sys_secModule sys_secModule = new sys_secModuleBLL().GetModelList("IdenSecretkey = '" + DSWeb.SoftMng.Common.Common.string_Encrypt(tempSelectedModuleID, "2cP46Gox") + "'").FirstOrDefault<sys_secModule>();
|
|
|
|
|
if (sys_secModule == null)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("模块【" + model.DESCRIPTION + "】已被禁用,无操作权限");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
SecrietStr secrietStr = new JavaScriptSerializer().Deserialize<SecrietStr>(DSWeb.SoftMng.Common.Common.string_Decrypt(sys_secModule.ModuleSecretkey, "2cP46Gox"));
|
|
|
|
|
if (!Convert.ToBoolean(secrietStr.Enabled))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("模块【" + secrietStr.Name + "】已被禁用");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
var _xianzhi = Convert.ToInt32(secrietStr.Times);
|
|
|
|
|
|
|
|
|
|
if (recordCount >= _xianzhi)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo(string.Concat(new object[]
|
|
|
|
|
{
|
|
|
|
|
"模块【",
|
|
|
|
|
secrietStr.Name,
|
|
|
|
|
"】使用人数超出系统限制,限制",
|
|
|
|
|
_xianzhi,
|
|
|
|
|
"人,已分配",
|
|
|
|
|
recordCount,
|
|
|
|
|
"人"
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if (!userActionDA.IsExistUserModule(USERID, tempSelectedModuleID))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo(userActionDA.InsertUserAction(USERID, tempSelectedModuleID, MODIFIEDUSER) == 1 ? "模块【" + model.DESCRIPTION + "】添加成功" : "模块【" + model.DESCRIPTION + "】添加失败");
|
|
|
|
|
}else
|
|
|
|
|
result.SetErrorInfo("");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!userActionDA.IsExistUserModule(USERID, tempSelectedModuleID))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo(userActionDA.InsertUserAction(USERID, tempSelectedModuleID, MODIFIEDUSER) == 1 ? "模块【" + model.DESCRIPTION + "】添加成功" : "模块【" + model.DESCRIPTION + "】添加失败");
|
|
|
|
|
}else
|
|
|
|
|
result.SetErrorInfo("");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#region 批量执行的旧逻辑
|
|
|
|
|
//var bodyList = JsonConvert.Deserialize<List<String>>(IDList);
|
|
|
|
|
//var GIDLIST = "";
|
|
|
|
|
//for (var _i = 0; _i < bodyList.Count; _i++)
|
|
|
|
|
//{
|
|
|
|
|
// if (GIDLIST != "") GIDLIST += ",";
|
|
|
|
|
// GIDLIST += "'" + bodyList[_i] + "'";
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
//using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
|
|
//{
|
|
|
|
|
// try
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
|
|
// string strSql = @"insert into [user_action] (GID,ACTIONID,USERID,CREATEUSER,CREATETIME) select newid(),GID,@USERID,@CREATEUSER,@CREATETIME from action where MODULEID in (" + GIDLIST + ") "
|
|
|
|
|
// + " and GID not in(select ACTIONID from user_action where USERID=@USERID2) ";
|
|
|
|
|
// SqlParameter[] parameters = {
|
|
|
|
|
// new SqlParameter("@USERID", SqlDbType.VarChar,50) ,
|
|
|
|
|
// new SqlParameter("@CREATEUSER", SqlDbType.VarChar,50) ,
|
|
|
|
|
// new SqlParameter("@CREATETIME", SqlDbType.VarChar,50) ,
|
|
|
|
|
// new SqlParameter("@USERID2", SqlDbType.VarChar,50)
|
|
|
|
|
// };
|
|
|
|
|
// parameters[0].Value = USERID;
|
|
|
|
|
// parameters[1].Value = MODIFIEDUSER;
|
|
|
|
|
// parameters[2].Value = DateTime.Now.ToString();
|
|
|
|
|
// parameters[3].Value = USERID;
|
|
|
|
|
// SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, parameters);
|
|
|
|
|
|
|
|
|
|
// sqlTran.Commit();
|
|
|
|
|
// result.Success = true;
|
|
|
|
|
// }
|
|
|
|
|
// catch (Exception e)
|
|
|
|
|
// {
|
|
|
|
|
// result.SetErrorInfo(e.Message);
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static DBResult DelRange(string IDList, string USERID, string MODIFIEDUSER)
|
|
|
|
|
{
|
|
|
|
|
DBResult result = new DBResult();
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(IDList))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("没有选择任何模块");
|
|
|
|
|
}
|
|
|
|
|
if (string.IsNullOrEmpty(USERID))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("没有选中一个用户");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var bodyList = JsonConvert.Deserialize<List<String>>(IDList);
|
|
|
|
|
var GIDLIST = "";
|
|
|
|
|
for (var _i = 0; _i < bodyList.Count; _i++)
|
|
|
|
|
{
|
|
|
|
|
if (GIDLIST != "") GIDLIST += ",";
|
|
|
|
|
GIDLIST += "'" + bodyList[_i] + "'";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
string strSql = @"delete from [USER_action] where ACTIONID in (select gid from action where moduleid in(" + GIDLIST + ")) and USERID=@USERID";
|
|
|
|
|
SqlParameter[] parameters = {
|
|
|
|
|
new SqlParameter("@USERID", SqlDbType.VarChar,50)
|
|
|
|
|
};
|
|
|
|
|
parameters[0].Value = USERID;
|
|
|
|
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, parameters);
|
|
|
|
|
|
|
|
|
|
sqlTran.Commit();
|
|
|
|
|
result.Success = true;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo(e.Message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static DBResult GetUserIsUse(string userid, string usercode, string username)
|
|
|
|
|
{
|
|
|
|
|
DBResult result = new DBResult();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
var cmd = db.GetStoredProcCommand("proc_isUserBeing");
|
|
|
|
|
db.AddInParameter(cmd, "@GID", DbType.String, userid);
|
|
|
|
|
db.AddInParameter(cmd, "@CODENAME", DbType.String, usercode);
|
|
|
|
|
db.AddInParameter(cmd, "@SHOWNAME", DbType.String, username);
|
|
|
|
|
db.AddOutParameter(cmd, "@RETURN_VALUE", DbType.Int16,10);
|
|
|
|
|
db.ExecuteNonQuery(cmd);
|
|
|
|
|
|
|
|
|
|
var iResult=Convert.ToInt16(db.GetParameterValue(cmd, "@RETURN_VALUE"));
|
|
|
|
|
if (iResult == 1)
|
|
|
|
|
{
|
|
|
|
|
result.Success = false;
|
|
|
|
|
result.Message = "已使用,不允许删除修改";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
result.Success = true;
|
|
|
|
|
result.Message = "";
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 检查一个USERID对应的一个MODULEID 看能否添加
|
|
|
|
|
|
|
|
|
|
public static DBResult CheckOPRangeByActionID(string ACTIONID, string USERIDList) {
|
|
|
|
|
DBResult result = new DBResult();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UserActionDA userActionDA = new UserActionDA();
|
|
|
|
|
sys_secCompanyBLL arg_1C_0 = new sys_secCompanyBLL();
|
|
|
|
|
sys_module model = new sys_moduleBLL().GetModel2(" gid=(select top 1 moduleid from [action] where gid='"+ ACTIONID + "') ");
|
|
|
|
|
if (model == null) {
|
|
|
|
|
result.SetErrorInfo("");
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
return CheckOPRange(model, USERIDList);
|
|
|
|
|
}
|
|
|
|
|
public static DBResult CheckOPRange(List<modeuleClass> modeules, string USERIDList) {
|
|
|
|
|
var result = new DBResult();
|
|
|
|
|
result.Success = true;
|
|
|
|
|
|
|
|
|
|
foreach (var modeule in modeules) {
|
|
|
|
|
var _r = CheckOPRange(modeule.id, USERIDList);
|
|
|
|
|
result.setMessage(result.Success, _r.Message);
|
|
|
|
|
|
|
|
|
|
if (!_r.Success) result.Success = false;
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
public static DBResult CheckOPRange(string MODULEID, string USERIDList)
|
|
|
|
|
{
|
|
|
|
|
DBResult result = new DBResult();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UserActionDA userActionDA = new UserActionDA();
|
|
|
|
|
sys_secCompanyBLL arg_1C_0 = new sys_secCompanyBLL();
|
|
|
|
|
sys_module model = new sys_moduleBLL().GetModel2(" gid='" + MODULEID + "' ");
|
|
|
|
|
if (model == null)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("");
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
return CheckOPRange(model, USERIDList);
|
|
|
|
|
}
|
|
|
|
|
public static DBResult CheckOPRange(sys_module model, string USERIDList)
|
|
|
|
|
{
|
|
|
|
|
DBResult result = new DBResult();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UserActionDA userActionDA = new UserActionDA();
|
|
|
|
|
sys_secCompanyBLL arg_1C_0 = new sys_secCompanyBLL();
|
|
|
|
|
//sys_module model = new sys_moduleBLL().GetModel2(" gid=(select top 1 moduleid from [action] where gid='" + ACTIONID + "') ");
|
|
|
|
|
if (model == null)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("");
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
sys_secCompany sys_secCompany = arg_1C_0.GetModelList("").FirstOrDefault<sys_secCompany>();
|
|
|
|
|
if (sys_secCompany == null)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("未配置相关参数,表 [Sys_SecCompany] 无数据");
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (new JavaScriptSerializer().Deserialize<CecrietStr>(DSWeb.SoftMng.Common.Common.string_Decrypt(sys_secCompany.CompanySecretKey, "Dw9pVb9r")).MenuControl)
|
|
|
|
|
{
|
|
|
|
|
//如被禁用则直接返回false
|
|
|
|
|
sys_secModule sys_secModule = new sys_secModuleBLL().GetModelList("IdenSecretkey = '" + DSWeb.SoftMng.Common.Common.string_Encrypt(model.GID, "2cP46Gox") + "'").FirstOrDefault<sys_secModule>();
|
|
|
|
|
if (sys_secModule == null)
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("模块【" + model.DESCRIPTION + "】已被禁用,无操作权限");
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
SecrietStr secrietStr = new JavaScriptSerializer().Deserialize<SecrietStr>(DSWeb.SoftMng.Common.Common.string_Decrypt(sys_secModule.ModuleSecretkey, "2cP46Gox"));
|
|
|
|
|
if (!Convert.ToBoolean(secrietStr.Enabled))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo("模块【" + secrietStr.Name + "】已被禁用");
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//看【加上本次这些人之后】,总人数是否超
|
|
|
|
|
var useridliststr = BasicDataRefDAL.getSqlString(USERIDList);
|
|
|
|
|
|
|
|
|
|
int recordCount = new user_actionBLL().GetRecordCount("ACTIONID =(SELECT TOP 1 GID FROM [ACTION] WHERE MODULEID='" + model.GID + "') AND USERID in (select Gid from [user] where ISDELETED=0 and ISDISABLE=0 and gid not in(" + useridliststr + "))");
|
|
|
|
|
|
|
|
|
|
var useridarray = BasicDataRefDAL.getStringArray(USERIDList);
|
|
|
|
|
var newcount = useridarray.Count();
|
|
|
|
|
|
|
|
|
|
if (recordCount + newcount > Convert.ToInt32(secrietStr.Times))
|
|
|
|
|
{
|
|
|
|
|
result.SetErrorInfo(string.Concat(new object[]
|
|
|
|
|
{
|
|
|
|
|
"模块【",
|
|
|
|
|
secrietStr.Name,
|
|
|
|
|
"】使用人数超出系统限制,限制",
|
|
|
|
|
secrietStr.Times,
|
|
|
|
|
"人,此次将分配至",
|
|
|
|
|
recordCount + newcount,
|
|
|
|
|
"人"
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
result.Success = true;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//if (!userActionDA.IsExistUserModule(USERID, MODULEID))
|
|
|
|
|
//{
|
|
|
|
|
// result.Success = true;
|
|
|
|
|
// return result;
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// result.setMessage(true,"模块【" + model.DESCRIPTION + "】已经已经为用户指定了模块权限,不能重复添加");
|
|
|
|
|
// return result;
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//如不限制则返回true
|
|
|
|
|
//if (!userActionDA.IsExistUserModule(USERID, MODULEID))
|
|
|
|
|
//{
|
|
|
|
|
result.Success = true;
|
|
|
|
|
return result;
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// result.setMessage(true, "模块【" + model.DESCRIPTION + "】已经已经为用户指定了模块权限,不能重复添加");
|
|
|
|
|
// return result;
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|