private void SyncOrg(Org parentOrg) { arr = orgService.QuerySubOrgs(parentOrg.OrgCode); Org[] units = orgService.QueryUnits("Unit_Org"); foreach (Beyondbit.BUA.Client.Org org in arr) { if (parentOrg.OrgCode != topOrg.OrgCode && org.OrgType != "Unit_Org") { continue; } if (topOrg.OrgCode == parentOrg.OrgCode) { insertOrUpdateOrg(org, null); } else { IList <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >(); pars.Add(new KeyValuePair <string, object>("unit_id", parentOrg.OrgCode)); SMC_Unit parent_unit = Bo.BoFactory.GetSMC_UnitBo.Get(pars); insertOrUpdateOrg(org, parent_unit); } SmartBox.Console.Common.Log4NetHelper.Info("单位:" + org.OrgName + " " + org.OrgCode + "已同步"); SyncOrg(org); } }
/// <summary> /// 同步单位至应用中心 /// </summary> /// <returns></returns> public ActionResult SyncUnitToAppCenter() { JsonReturnMessages data = new JsonReturnMessages() { IsSuccess = true, Msg = "操作成功" }; Service.ApplicationCenterWS.WebService ws = new Service.ApplicationCenterWS.WebService(); IList <SMC_Unit> units = BoFactory.GetSMC_UnitBo.GetAllUnits(); if (units != null && units.Count > 0) { Service.ApplicationCenterWS.SMC_Unit[] _units = new Service.ApplicationCenterWS.SMC_Unit[units.Count]; for (int i = 0; i < units.Count; ++i) { SMC_Unit unit = units[i]; Service.ApplicationCenterWS.SMC_Unit _unit = new Service.ApplicationCenterWS.SMC_Unit(); _unit.Unit_CreatedTime = unit.Unit_CreatedTime; _unit.Unit_CreatedUser = unit.Unit_CreatedUser; _unit.Unit_Demo = unit.Unit_Demo; _unit.Unit_ID = unit.Unit_ID; _unit.Unit_Name = unit.Unit_Name; _unit.Unit_Path = unit.Unit_Path; _unit.Unit_Sequence = unit.Unit_Sequence; _unit.Unit_UpdateTime = unit.Unit_UpdateTime; _unit.Unit_UpdateUser = unit.Unit_UpdateUser; _unit.Upper_Unit_ID = unit.Upper_Unit_ID; _units[i] = _unit; } ws.SMC_UnitSync(_units); } return(Json(data)); }
public ActionResult AddModifyUnit() { string upper_Unit_ID = Request.QueryString["Upper_Unit_ID"]; string unit_id = Request.QueryString["Unit_ID"]; if (!String.IsNullOrEmpty(upper_Unit_ID)) { string upper_unit_name = BoFactory.GetSMC_UnitBo.Get(upper_Unit_ID).Unit_Name; ViewData["upper_unit_name"] = upper_unit_name; } else { ViewData["upper_unit_name"] = ""; } if (String.IsNullOrEmpty(unit_id)) { return(View()); } SMC_Unit unit = BoFactory.GetSMC_UnitBo.Get(unit_id); if (unit == null) { return(View()); } else { return(View(unit)); } }
public ActionResult UserList() { bool show_button = true; string unit_id = Request.QueryString["Unit_ID"]; bool isSystemManager = BoFactory.GetVersionTrackBo.IsSystemManager(this.User.Identity.Name); string manager_Unit_ID = BoFactory.GetSMC_UserListBo.GetUnitIdByUID(this.User.Identity.Name); if (!isSystemManager && !String.IsNullOrEmpty(unit_id) && unit_id == "") { show_button = false; } if (!String.IsNullOrEmpty(unit_id)) { SMC_Unit unit = BoFactory.GetSMC_UnitBo.Get(unit_id); bool isunit_in_managerunit = unit.Unit_Path.IndexOf(manager_Unit_ID.ToString()) != -1; if (!isSystemManager && !isunit_in_managerunit) { show_button = false; } } this.ViewData["show_button"] = show_button; return(View()); }
public ActionResult AddModifyUser() { string sUser = Request.QueryString["UserID"]; string sUnit = Request.QueryString["Upper_Unit_ID"]; int user_id = 0; string unit_id = ""; if (!String.IsNullOrEmpty(sUser)) { user_id = int.Parse(sUser); } if (!String.IsNullOrEmpty(sUnit)) { unit_id = sUnit; } //string unit_Name = BoFactory.GetSMC_UnitBo.Get(unit_id).Unit_Name; this.ViewData["user_id"] = user_id; this.ViewData["unit_id"] = unit_id; //this.ViewData["Unit_Name"] = unit_Name; List <SelectListItem> unitList = new List <SelectListItem>(); IList <SMC_Unit> units = BoFactory.GetSMC_UnitBo.GetAllUnits(); ViewData["Unit_Name"] = unitList; if (user_id == 0) { foreach (var r in units) { unitList.Add(new SelectListItem { Text = r.Unit_Name, Value = r.Unit_ID.ToString(), Selected = r.Unit_ID == unit_id }); } return(View()); } else { SMC_UserList ur = BoFactory.GetSMC_UserListBo.Get(user_id); this.ViewData["unit_id"] = ur.Unit_ID; SMC_Unit un = BoFactory.GetSMC_UnitBo.Get(ur.Unit_ID); string unit_Name = un == null ? "" : un.Unit_Name; ur.Unit_Name = unit_Name; foreach (var r in units) { unitList.Add(new SelectListItem { Text = r.Unit_Name, Value = r.Unit_ID.ToString(), Selected = r.Unit_ID == ur.Unit_ID }); } return(View(ur)); } }
public ActionResult AddModifyUnitSave(string Unit_ID, string Upper_Unit_ID, string Unit_Name, int Unit_Sequence, string Unit_Demo) { JsonReturnMessages data = new JsonReturnMessages() { IsSuccess = true, Msg = "操作成功" }; SMC_Unit unit = null; if (String.IsNullOrEmpty(Unit_ID)) { unit = new SMC_Unit(); unit.Unit_CreatedTime = DateTime.Now; } else { unit = BoFactory.GetSMC_UnitBo.Get(Unit_ID); } unit.Unit_Demo = Unit_Demo; unit.Unit_Name = Unit_Name; unit.Unit_Sequence = Unit_Sequence; unit.Upper_Unit_ID = Upper_Unit_ID; unit.Unit_ID = Unit_ID; try { BoFactory.GetSMC_UnitBo.InsertOrUpdate(unit); } catch (Exception ex) { data.IsSuccess = false; data.Msg = ex.Message; return(Json(data)); } SMC_Unit _old_unit = unit; string pathString = unit.Unit_ID.ToString(); while (unit != null && !String.IsNullOrEmpty(unit.Upper_Unit_ID)) { pathString = unit.Upper_Unit_ID + ".." + pathString; if (String.IsNullOrEmpty(unit.Upper_Unit_ID)) { unit = null; } else { unit = BoFactory.GetSMC_UnitBo.Get(unit.Upper_Unit_ID); } } _old_unit.Unit_Path = pathString; BoFactory.GetSMC_UnitBo.InsertOrUpdate(_old_unit); return(Json(data)); }
public virtual Dictionary <string, string> GetUnitByUL_UID(string UL_UID) { Dictionary <string, string> unitInfo = new Dictionary <string, string>(); string unitId = SMC_UserListDao.GetUnitIdByUID(UL_UID); SMC_UnitDao unitDao = new SMC_UnitDao(AppConfig.statisticDBKey); SMC_Unit unit = unitDao.Get(unitId); if (unit != null) { unitInfo.Add(unit.Unit_Name, unit.Unit_ID); } return(unitInfo); }
static OutsideWS.SMC_Unit CopySMC_Unit(SMC_Unit unit) { OutsideWS.SMC_Unit entity = new OutsideWS.SMC_Unit(); entity.Unit_CreatedTime = unit.Unit_CreatedTime; entity.Unit_CreatedUser = unit.Unit_CreatedUser; entity.Unit_Demo = unit.Unit_Demo; entity.Unit_ID = Convert.ToInt32(unit.Unit_ID); entity.Unit_Name = unit.Unit_Name; entity.Unit_Path = unit.Unit_Path; entity.Unit_Sequence = unit.Unit_Sequence; entity.Unit_UpdateTime = unit.Unit_UpdateTime; entity.Unit_UpdateUser = unit.Unit_UpdateUser; entity.Upper_Unit_ID = Convert.ToInt32(unit.Upper_Unit_ID); return(entity); }
static SmartBox.Console.Service.ApplicationCenterWS.SMC_Unit CopySMC_Unit(SMC_Unit unit) { SmartBox.Console.Service.ApplicationCenterWS.SMC_Unit entity = new SmartBox.Console.Service.ApplicationCenterWS.SMC_Unit(); entity.Unit_CreatedTime = unit.Unit_CreatedTime; entity.Unit_CreatedUser = unit.Unit_CreatedUser; entity.Unit_Demo = unit.Unit_Demo; entity.Unit_ID = unit.Unit_ID; entity.Unit_Name = unit.Unit_Name; entity.Unit_Path = unit.Unit_Path; entity.Unit_Sequence = unit.Unit_Sequence; entity.Unit_UpdateTime = unit.Unit_UpdateTime; entity.Unit_UpdateUser = unit.Unit_UpdateUser; entity.Upper_Unit_ID = unit.Upper_Unit_ID; return(entity); }
private void parseChildTreeData(Hashtable pHash, SMC_Unit parent_unit, SMC_UnitDao unitDao, SMC_UserListDao ulDao, List <Hashtable> objs, int RoleId) { IList <SMC_UserList> users = ulDao.QueryUserListByUnitID(parent_unit.Unit_ID); foreach (SMC_UserList u in users) { Hashtable uhash = new Hashtable(); uhash["id"] = "u_" + u.UL_ID; uhash["name"] = u.UL_Name; uhash["tp"] = "user"; uhash["checked"] = ulDao.IsUserListInRole(u.UL_ID, RoleId); objs.Add(uhash); pHash["open"] = true; } IList <SMC_Unit> units = unitDao.QueryChildUnitsByUnitID(parent_unit.Unit_ID, -1); if (units != null && units.Count > 0) { //QueryUserListByUnitID foreach (SMC_Unit unit in units) { Hashtable hash = new Hashtable(); hash["id"] = unit.Unit_ID; hash["name"] = unit.Unit_Name; hash["tp"] = "unit"; objs.Add(hash); List <Hashtable> _objs = new List <Hashtable>(); parseChildTreeData(hash, unit, unitDao, ulDao, _objs, RoleId); } } if (objs.Count > 0) { pHash["children"] = objs; } }
public virtual void BUAUserSyncToInside(string ids, Hashtable result) { ServiceFactory factory = Beyondbit.BUA.Client.ServiceFactory.Instance(); IUserService us = factory.GetUserService(); IOrgService os = factory.GetOrgService(); SMC_UserDao userDao = new SMC_UserDao(AppConfig.statisticDBKey); SMC_BUAUserSyncToInsideDao buaSyncInsideDao = new SMC_BUAUserSyncToInsideDao(AppConfig.statisticDBKey); GlobalParamDao globalParamDao = new GlobalParamDao(AppConfig.statisticDBKey); GlobalParam p = globalParamDao.GetGlobalParam("user_default_status"); int batNo = 0; try { batNo = buaSyncInsideDao.GetMaxBatNo(); } catch (Exception e) { } batNo += 1; string[] idlist = ids.Split(",".ToCharArray()); foreach (string uid in idlist) { if (String.IsNullOrEmpty(uid)) { continue; } Beyondbit.BUA.Client.User _u = null; try { _u = us.GetUserInfo(uid); } catch (Exception ex) { result["Msg"] += uid + ex.Message; continue; } SMC_BUAUserSyncToInside log = new SMC_BUAUserSyncToInside(); log.sync_bat_no = batNo; try { log.sync_status = true; log.sync_time = DateTime.Now; log.sync_user_name = ""; log.sync_user_uid = ""; log.user_name = _u.UserFullName; log.user_uid = _u.UserUid; log.description = "同步成功"; log.busi_id = buaSyncInsideDao.GetMaxId() + 1; SMC_UnitDao unitDao = new SMC_UnitDao(AppConfig.statisticDBKey); SMC_User u = null; u = userDao.GetUser(_u.UserUid); if (u == null) { u = new SMC_User(); u.U_NAME = _u.UserFullName; u.U_PASSWORD = _u.UserPassword; u.U_UID = _u.UserUid; int id = userDao.GetMaxId() + 1; u.U_ID = id; string unitCode = os.GetUnitCode(ObjectType.User, u.U_UID); Org unitOrg = os.GetOrgBaseInfo(ObjectType.Org, unitCode); u.U_UNITCODE = unitCode; //List<KeyValuePair<string, string>> pars = new List<KeyValuePair<string,string>>(); //pars.Add(new KeyValuePair<string, string>("unit_id",unitCode)); SMC_Unit unit = unitDao.Get(unitCode); if (unit == null) { unit = new SMC_Unit(); unit.Unit_ID = unitCode; unit.Unit_Name = unitOrg.OrgName; unit.Unit_Sequence = 0; unit.Unit_UpdateTime = DateTime.Now; unit.Unit_CreatedTime = DateTime.Now; unit.Upper_Unit_ID = ""; unit.Unit_Path = unitCode; unitDao.Insert(unit); } u.u_unitname = unitOrg.OrgName; u.U_CREATEDDATE = DateTime.Now; u.u_enable_status = p.ConfigValue == "1" ? UserEnabledStatus.Enabled : UserEnabledStatus.UnAuthed; u.u_auth_submit_time = DateTime.Now; u.u_need_sync = false; userDao.Insert(u); userDao.UpdateMaxId(); } else { u.U_NAME = _u.UserFullName; u.U_PASSWORD = _u.UserPassword; u.U_CREATEDDATE = DateTime.Now; string unitCode = os.GetUnitCode(ObjectType.User, u.U_UID); Org unitOrg = os.GetOrgBaseInfo(ObjectType.Org, unitCode); //List<KeyValuePair<string, string>> pars = new List<KeyValuePair<string, string>>(); //pars.Add(new KeyValuePair<string, string>("unit_id", unitCode)); SMC_Unit unit = unitDao.Get(unitCode); if (unit == null) { unit = new SMC_Unit(); unit.Unit_ID = unitCode; unit.Unit_Name = unitOrg.OrgName; unit.Unit_Sequence = 0; unit.Unit_UpdateTime = DateTime.Now; unit.Unit_CreatedTime = DateTime.Now; unit.Upper_Unit_ID = ""; unit.Unit_Path = unitCode; unitDao.Insert(unit); } u.u_unitname = unitOrg.OrgName; u.U_UNITCODE = unitCode; u.u_enable_status = p.ConfigValue == "1" ? UserEnabledStatus.Enabled : UserEnabledStatus.UnAuthed; u.u_auth_submit_time = DateTime.Now; u.u_need_sync = false; u.u_update_time = DateTime.Now; userDao.Update(u); } } catch (Exception ex) { log.sync_status = false; log.description = "同步失败,原因可能是:" + ex.Message + "。\r\nStackTrace:\r\n" + ex.StackTrace; if (result != null) { result["IsSuccess"] = false; result["Msg"] += log.description; } } try { buaSyncInsideDao.Insert(log); buaSyncInsideDao.UpdateMaxId(); } catch (Exception ex) { } } }
private void insertOrUpdateOrg(Org org, SMC_Unit parentUnit) { try { if (org.OrgType.ToLower() != "unit_org" && !String.IsNullOrEmpty(org.ParentOrgCode)) { return; } IList <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >(); pars.Add(new KeyValuePair <string, object>("unit_id", org.OrgCode)); SMC_Unit unit = Bo.BoFactory.GetSMC_UnitBo.Get(pars); //更新到内网 if (unit != null) { unit.Unit_Name = org.OrgName; unit.Unit_Sequence = org.OrgSequence; unit.Unit_UpdateTime = DateTime.Now; unit.Unit_UpdateUser = ""; if (parentUnit == null) { unit.Unit_Path = org.OrgCode; unit.Upper_Unit_ID = ""; } else { unit.Unit_Path = parentUnit.Unit_Path + ".." + org.OrgCode; unit.Upper_Unit_ID = parentUnit.Unit_ID; } Bo.BoFactory.GetSMC_UnitBo.Update(unit); } else { unit = new SMC_Unit(); unit.Unit_CreatedTime = DateTime.Now; unit.Unit_ID = org.OrgCode; unit.Unit_CreatedUser = ""; unit.Unit_Demo = ""; unit.Unit_Name = org.OrgName; if (parentUnit == null) { unit.Unit_Path = org.OrgCode; unit.Upper_Unit_ID = ""; } else { unit.Unit_Path = parentUnit.Unit_Path + ".." + org.OrgCode; unit.Upper_Unit_ID = parentUnit.Unit_ID; } unit.Unit_Sequence = 0; if (org != null) { unit.Unit_Sequence = org.OrgSequence; } unit.Unit_UpdateTime = DateTime.Now; unit.Unit_UpdateUser = ""; unit.Upper_Unit_ID = ""; Bo.BoFactory.GetSMC_UnitBo.Insert(unit); } } catch (Exception ex) { SmartBox.Console.Common.Log4NetHelper.Error(ex); } }
public virtual Hashtable QueryPersonsTreeDataByUnit(string Unit_ID, int Role_ID) { try { Hashtable result = new Hashtable(); SMC_UserListDao ulDao = new SMC_UserListDao(AppConfig.statisticDBKey); SMC_UnitDao unitDao = new SMC_UnitDao(AppConfig.statisticDBKey); IList <SMC_UserList> ulList = ulDao.QueryUserListByUnitID(Unit_ID); SMC_Unit tunit = null; if (!String.IsNullOrEmpty(Unit_ID)) { tunit = unitDao.Get(Unit_ID); } List <Hashtable> hashs = new List <Hashtable>(); if (ulList.Count > 0) { List <Hashtable> objs = new List <Hashtable>(); foreach (SMC_UserList u in ulList) { Hashtable uhash = new Hashtable(); uhash["id"] = "u_" + u.UL_ID; uhash["name"] = u.UL_Name; uhash["tp"] = "user"; uhash["checked"] = ulDao.IsUserListInRole(u.UL_ID, Role_ID); hashs.Add(uhash); } //hash["children"] = objs; } IList <SMC_Unit> units = unitDao.QueryChildUnitsByUnitID(Unit_ID, 0); result["children"] = hashs; if (units != null && units.Count > 0) { foreach (SMC_Unit unit in units) { Hashtable hash = new Hashtable(); //bool isFnInRole = frDao.IsUserInRole(fn.FN_ID, Role_ID); hash["id"] = unit.Unit_ID; hash["name"] = unit.Unit_Name; hash["open"] = true; //hash["checked"] = isFnInRole; List <Hashtable> objs = new List <Hashtable>(); parseChildTreeData(hash, unit, unitDao, ulDao, objs, Role_ID); hashs.Add(hash); } } //if (tunit != null) { result["id"] = String.IsNullOrEmpty(Unit_ID) ? Unit_ID : tunit.Unit_ID; result["name"] = String.IsNullOrEmpty(Unit_ID) ? "全局" : tunit.Unit_Name; result["open"] = true; } return(result); } catch (DalException ex) { throw new BOException("QueryFunctionsByUnitID", ex); } }
public ActionResult DelUnit(string unit_id) { JsonReturnMessages data = new JsonReturnMessages() { IsSuccess = true, Msg = "操作成功" }; SMC_Unit unit = BoFactory.GetSMC_UnitBo.Get(unit_id); if (unit != null) { //判断是否被关联引用 PageView view = new PageView(); view.PageIndex = 0; view.PageSize = 15; //看是否有下级组织机构 var units = BoFactory.GetSMC_UnitBo.QueryUnitByUpperUnitCode(view, unit_id); if (units.total > 0) { data.IsSuccess = false; data.Msg = "该组织存在下级组织,请先删除下级组织后再执行此操作!"; return(Json(data)); } var rel = BoFactory.GetSMC_RoleBo.QueryRolesByUnitID(view, unit_id); if (rel.total > 0) { data.IsSuccess = false; data.Msg = "有角色的组织不能删除,请先删除组织下的角色后再执行此操作!"; return(Json(data)); } else { rel = BoFactory.GetSMC_UserListBo.QueryUserListByUnitID(view, unit_id); if (rel.total > 0) { data.IsSuccess = false; data.Msg = "有用户的组织不能删除,请先删除组织下的用户后再执行此操作!"; return(Json(data)); } } } else { data.IsSuccess = false; data.Msg = "组织不存在"; } try { //从同意授权 Beyondbit.BUA.Client.IOrgService os = Beyondbit.BUA.Client.ServiceFactory.Instance().GetOrgService(); os.DelOrg(unit_id); } catch (Exception e) { //ata.IsSuccess = false; //data.Msg = e.Message; } if (unit != null) { BoFactory.GetSMC_UnitBo.Delete(unit); } return(Json(data)); }