using SysBaseLibs;
using SysDataLibs.TableClass;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace GSMarketSys.Controllers
{
public class SysUserController : BaseController
{
#region SysSetting
// GET: SystemModule
[CheckPowerFilter]
public ActionResult SysUserList()
{
ViewBag.SelDepartmentID = GetData.Instance.GetSelStr(Departments_info.cDepartmentID, Departments_info.cNames, Tn.Departments, UserSessionInfo.DBConn);
ViewBag.SelDutyID = GetData.Instance.GetSelStr(Dutys_info.cDutyID, Dutys_info.cNames, Tn.Dutys, UserSessionInfo.DBConn);
ViewBag.SelSystemID = GetData.Instance.GetSelStr(GSSystem_info.cSystemID, GSSystem_info.cSystemName, Tn.GSSystem, " IsLock = 'N' ",UserSessionInfo.DBConn);
ViewBag.SelFarmID = GetData.Instance.GetSelStr(Farms_info.cFarmID, Farms_info.cNames, Tn.Farms, UserSessionInfo.DBConn);
ViewBag.SelSysGroups = GetData.Instance.GetSelStr(Sys_Groups_info.cGroupID, Sys_Groups_info.cNames, Tn.Sys_Groups, " IsLock = 'N' ", UserSessionInfo.DBConn);
ViewBag.SelRegionID = GetData.Instance.GetRegionsTreeList(UserSessionInfo.DBConn);
// 如果市场系统的用户进来的话 ,只能创建 非系统的,非高级的 ,市场用户
if (UserSessionInfo.IsMarketSysAccount) {
ViewBag.IsMarketSysAccount = "Y";
ViewBag.CurrentRegion = UserSessionInfo.UserInfo.RegionID.Trim();
}
if (UserSessionInfo.IsSystem)
{
ViewBag.IsSystemAccount = "Y";
}
return View();
}
///
/// 查询系统配置
///
///
public ActionResult GetSysUserListResult()
{
//string lcSql = " select * from " + Tn.v_viewUsers ;
string lcSql = Sys_Users_info.GetUserListSql(UserSessionInfo);
string IsLock = Request["IsLock"];
string SystemType = Request["SystemType"];
string IsAdvance = Request["IsAdvance"];
lcSql += " AND " + v_viewUsers_info.cIsLock + " = '" + IsLock + "' AND " + v_viewUsers_info.cSystemType+ " = '"+ SystemType+"' AND " + v_viewUsers_info.cIsAdvance + " = '" + IsAdvance+"' ";
lcSql += " order by " + v_viewUsers_info.cIsSystem + " desc ," + v_viewUsers_info.cSystemType + " desc ," + v_viewUsers_info.cRegionID + " ," + v_viewUsers_info.cIsAdvance + " desc ";
return Content(GetData.Instance.GetResult(lcSql, UserSessionInfo.DBConn));
}
///
/// 修改和增加系统配置
///
///
[CheckPowerFilter]
public ActionResult SysUserListOper()
{
string Type = Request["Type"]??"";
string UserCode = Utils.AreaToSQL(Request["UserCode"]).Trim();
if (Type == "Del" || Type == "Restore")
{
string lcIsLock = Type == "Del" ? "Y" : "N";
if (UserSessionInfo.DBConn.ExcuteSqlTran("update " + Tn.Sys_Users + " set " + Sys_Users_info.cIsLock + "='"+ lcIsLock + "' where " + Sys_Users_info.cUserCode + "='" + UserCode + "'"))
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_Success"));
}else
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_DBError"));
}
}
string Names = Utils.AreaToSQL(Request["Names"]).Trim();
string Password = Utils.AreaToSQL(Request["Password"]).Trim();
string Age = Utils.AreaToSQL(Request["Age"]).Trim();
string Telephone = Utils.AreaToSQL(Request["Telephone"]).Trim();
string ZIP = Utils.AreaToSQL(Request["ZIP"]).Trim();
string Email = Utils.AreaToSQL(Request["Email"]).Trim();
string Address = Utils.AreaToSQL(Request["Address"]).Trim();
string Info = Utils.AreaToSQL(Request["Info"]).Trim();
string RegionID = Utils.AreaToSQL(Request["RegionID"]).Trim();
string FarmID = Utils.AreaToSQL(Request["FarmID"]).Trim();
string DepartmentID = Utils.AreaToSQL(Request["DepartmentID"]).Trim();
string DutyID = Utils.AreaToSQL(Request["DutyID"]).Trim();
string Sex = Utils.AreaToSQL(Request["Sex"]).Trim();
string SystemID = Utils.AreaToSQL(Request["SystemID"]).Trim();
string IsAdvance = Utils.AreaToSQL(Request["IsAdvance"]).Trim();
string IsSystem = Utils.AreaToSQL(Request["IsSystem"]).Trim();
Sys_Users_info loUserInfo = null;
if (Type == "Add")
{
loUserInfo = new Sys_Users_info();
loUserInfo.Password = Password;
}
else
{
loUserInfo = Sys_Users_info.GetUserInfoByUserCode(UserCode);
}
loUserInfo.UserCode = UserCode;
loUserInfo.Names = Names;
loUserInfo.Address = Address;
loUserInfo.Age = Age;
loUserInfo.Telephone = Telephone;
loUserInfo.ZIP = ZIP;
loUserInfo.Email = Email;
loUserInfo.DepartmentID = DepartmentID;
loUserInfo.DutyID = DutyID;
loUserInfo.SystemID = SystemID;
loUserInfo.FarmID = FarmID;
loUserInfo.Sex = Sex;
loUserInfo.IsLock = "N";
loUserInfo.RegionID = RegionID;
loUserInfo.IsSystem = IsSystem;
if (loUserInfo.IsSys)
{
loUserInfo.IsAdvance = "Y"; //如果是系统帐号的话,也同时是高级帐号
}else
{
loUserInfo.IsAdvance = IsAdvance;
}
loUserInfo.Info = Info;
if (Type == "Add")
{
string lcErr = "";
loUserInfo.IsAudit = "Y";
if(loUserInfo.InsertRecord(UserSessionInfo,ref lcErr))
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_Success"));
}
else
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_DBError"));
}
}
else
{
if (loUserInfo.UpdateRecord(UserSessionInfo)) {
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_Success"));
}
else
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_DBError"));
}
}
}
public ActionResult GetUserHasGroup()
{
string UserID = Request["UserID"];
rsQuery loUserGroup = Sys_GroupHasUser_info.GetGroupByUserID(UserID, UserSessionInfo.DBConn);
if (loUserGroup!= null && loUserGroup.IsOpened && loUserGroup.RecCount ==1)
{
return Content(loUserGroup.GetString("ID"));
}
return Content("");
}
public ActionResult UserExistGroup()
{
string UserID = Request["UserID"];
string GroupID = Request["GroupID"];
if(Sys_GroupHasUser_info.UpdateUserToGroup(UserID, GroupID, UserSessionInfo.DBConn))
{
return Content("true");
}
else
{
return Content("false");
}
}
public ActionResult GetAllMarkets()
{
string UserID = Request["UserID"];
Sys_Users_info loUser = new Sys_Users_info(UserID, UserSessionInfo.DBConn);
string lcSql = " select M.MarketID as MarketID ,M.Names as MarketName,R.Names as RegionName from Markets M,Regions R where M.RegionID=R.RegionId and M.IsLock='0' ";
string lcAllMarketId = Markets_info.GetAllMarketIDByRegionId(loUser.RegionID, UserSessionInfo.DBConn);
if (loUser.IsMarketSys)
lcSql += " and M.MarketID in ( " + lcAllMarketId + ") ";
return Content(GetData.Instance.GetResult(lcSql, UserSessionInfo.DBConn));
}
public ActionResult GetMarketIdsByUserId()
{
string lcRetval = "";
string UserID = Request["UserID"];
Markets_info loMarkets = UserHasMarket_info.GetOneMarketIdsByUserId(UserID, UserSessionInfo.DBConn);
if (loMarkets != null)
lcRetval = loMarkets.MarketID;
return Content(lcRetval);
}
public ActionResult UserExistMarket()
{
string UserID = Request["UserID"];
string MarketID = Request["MarketID"];
if (UserHasMarket_info.UpdateMarketsOfUser(UserID, MarketID, UserSessionInfo.DBConn))
{
return Content("true");
}
else
{
return Content("false");
}
}
#endregion
#region Sys_Group
public ActionResult SysGroupView()
{
ViewBag.SelUserIDs = GetData.Instance.GetSelStr(Sys_Users_info.cUserID, Sys_Users_info.cNames, Tn.Sys_Users, " IsLock = 'N' order by " + Sys_Users_info.cUserID + " desc ", UserSessionInfo.DBConn);
return View();
}
public ActionResult GetSysGroupList()
{
string IsLock = Utils.AreaToSQLcs(Request["IsLock"]);
if (string.IsNullOrEmpty(IsLock))
IsLock = "N";
return Content(GetData.Instance.GetResult("select * from " + Tn.Sys_Groups + " where IsLock='"+ IsLock + "'", UserSessionInfo.DBConn));
}
///
/// 修改和增加系统配置
///
///
[CheckPowerFilter]
public ActionResult SysGroupListOper()
{
string Type = Request["Type"] ?? "";
string GroupID = Utils.AreaToSQL(Request["GroupID"]).Trim();
if (Type == "Del" || Type == "Restore")
{
string lcIsLock = Type == "Del" ? "Y" : "N";
if (UserSessionInfo.DBConn.ExcuteSqlTran("update " + Tn.Sys_Groups + " set " + Sys_Groups_info.cIsLock + "='" + lcIsLock + "' where " + Sys_Groups_info.cGroupID + "='" + GroupID + "'"))
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_Success"));
}
else
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_DBError"));
}
}
string Names = Utils.AreaToSQL(Request["Names"]).Trim();
string Remark = Utils.AreaToSQL(Request["Remark"]).Trim();
Sys_Groups_info loGroupsInfo = null;
if (Type == "Add")
{
loGroupsInfo = new Sys_Groups_info();
loGroupsInfo.GroupID = GroupID;
if (SysDataLibs.AppEnv.IsExistPrKey(Tn.Sys_Groups, Sys_Groups_info.cGroupID, loGroupsInfo.GroupID, UserSessionInfo.DBConn))
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_DBError"));
}
loGroupsInfo.CreateDate = DateTime.Now.ToString();
loGroupsInfo.CreateUser = UserSessionInfo.UserInfo.UserID;
}
else
{
loGroupsInfo = new Sys_Groups_info(GroupID,UserSessionInfo.DBConn);
}
loGroupsInfo.Names = Names;
loGroupsInfo.Remark = Remark;
loGroupsInfo.IsLock = "N";
loGroupsInfo.IsSystem = "0";
if (Type == "Add")
{
if (UserSessionInfo.DBConn.ExecuteSql(loGroupsInfo.InsertSql()))
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_Success"));
}
else
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_DBError"));
}
}
else
{
if (UserSessionInfo.DBConn.ExecuteSql(loGroupsInfo.UpdateSql()))
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_Success"));
}
else
{
return Content(SysRebackDisplayInfo.Instance.GetDisplayValue("Oper_DBError"));
}
}
}
public ActionResult GetAllUsers()
{
string lcSql = "select " + Sys_Users_info.cUserID + " as id," + Sys_Users_info.cNames + " as text from " + Tn.Sys_Users + " where " + Sys_Users_info.cIsLock + "='N' order by " + Sys_Users_info.cUserID + " desc ";
rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
return Content(JsonHelper.Instance.Serialize(loQuery.CurrentTable));
}
public ActionResult GetUsersByGroupID()
{
string GroupID = Request["GroupID"];
string sql = "select u." + Sys_Users_info.cUserID + " as 'ID' ,u." + Sys_Users_info.cNames + " as 'text' from " + Tn.Sys_Users + " as u ";
sql += " join " + Tn.Sys_GroupHasUser + " as gu on(u." + Sys_Users_info.cUserID + "=gu." + Sys_GroupHasUser_info.cUserID + ") where u." + Sys_Users_info.cIsLock + "='N' and gu." + Sys_GroupHasUser_info.cGroupID + "='" + GroupID + "' ";
rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(sql);
string lcRetval = "";
if (loQuery.IsOpened && loQuery.RecCount > 0)
{
loQuery.MoveFirst();
for(int i = 0; i < loQuery.RecCount; i++)
{
lcRetval += string.IsNullOrEmpty(lcRetval) ? loQuery.GetString("ID") : ","+ loQuery.GetString("ID");
loQuery.MoveNext();
}
}
return Content( lcRetval);
}
public ActionResult GroupHasUsers()
{
string GroupID = Request["GroupID"];
string Users = Utils.AreaToSQLcs(Request["Users"]);
if(Sys_GroupHasUser_info.UpdateUsersToGroup(GroupID, Users, UserSessionInfo.DBConn))
{
return Content("true");
}else
{
return Content("false");
}
//return null;
}
#endregion
}
}