Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        /// <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));
        }
Beispiel #3
0
        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));
            }
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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));
            }
        }
Beispiel #6
0
        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));
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        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;
            }
        }
Beispiel #11
0
        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)
                {
                }
            }
        }
Beispiel #12
0
        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);
            }
        }
Beispiel #13
0
        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);
            }
        }
Beispiel #14
0
        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));
        }