Exemple #1
0
        public JsonResult GetUnitUserData2(string unitCode)
        {
            //Bo.BoFactory.GetVersionTrackBo.
            IUserService us          = Beyondbit.BUA.Client.ServiceFactory.Instance().GetUserService();
            IOrgService  os          = Beyondbit.BUA.Client.ServiceFactory.Instance().GetOrgService();
            Org          orgUnit     = os.GetOrgBaseInfo(ObjectType.Org, unitCode);
            Hashtable    resultTable = new Hashtable();

            resultTable["id"]   = "o_" + unitCode;
            resultTable["text"] = orgUnit.OrgName;

            List <Hashtable> lst = new List <Hashtable>();

            resultTable["children"] = lst;

            List <User> users = new List <Beyondbit.BUA.Client.User>();

            User[] _users = null;
            try
            {
                _users = us.QueryUsersByObjectCode(ObjectType.Org, unitCode);
            }
            catch
            {
            }

            if (_users != null && _users.Length > 0)
            {
                foreach (Beyondbit.BUA.Client.User u in _users)
                {
                    Hashtable hUser = new Hashtable();
                    hUser["id"]   = "u_" + u.UserUid;
                    hUser["text"] = u.UserName;
                    lst.Add(hUser);
                }
            }

            Org[] childOrgs = os.QuerySubOrgs(unitCode);
            if (childOrgs != null && childOrgs.Length > 0)
            {
                foreach (Org org in childOrgs)
                {
                    Hashtable hOrg = new Hashtable();
                    hOrg["id"]       = "o_" + org.OrgCode;
                    hOrg["text"]     = org.OrgName;
                    hOrg["children"] = new List <Hashtable>();
                    lst.Add(hOrg);
                    parseUnitUserData(hOrg, org, us, os);
                }
            }

            Hashtable[] arr = new Hashtable[1];
            arr[0] = resultTable;

            //List<User> users = new List<Beyondbit.BUA.Client.User>();
            //User[] _users = us.QueryUsersByObjectCode(ObjectType.Org, unitCode);
            return(Json(arr, JsonRequestBehavior.AllowGet));
        }
Exemple #2
0
        public JsonResult PreCalcUnitCode(string unitName)
        {
            Hashtable   r              = new Hashtable();
            string      py             = NPinyin.Pinyin.GetInitials(unitName, System.Text.Encoding.UTF8);
            IOrgService os             = Beyondbit.BUA.Client.ServiceFactory.Instance().GetOrgService();
            bool        unitCodeExists = true;
            string      msg            = "组织机构代码已存在";

            try
            {
                Org orgExists = os.GetOrgBaseInfo(ObjectType.Org, py);
            }
            catch (ClientException ex)
            {
                if (ex.ErrCode == "9001")
                {
                    unitCodeExists = false;
                    msg            = ex.Message;
                }
            }

            if (unitCodeExists)
            {
                r["r"]        = false;
                r["unitcode"] = "";
                r["d"]        = msg;
                return(Json(r));
            }

            if (String.IsNullOrEmpty(unitName))
            {
                r["r"]        = false;
                r["unitcode"] = "";
                r["d"]        = "计算单位代码失败!";
            }
            else
            {
                r["r"]        = true;
                r["unitcode"] = py;
                r["d"]        = "计算单位代码成功!";
            }
            return(Json(r));
        }
Exemple #3
0
        public JsonResult AddUnit(string unitCode, string unit)
        {
            IOrgService os = Beyondbit.BUA.Client.ServiceFactory.Instance().GetOrgService();
            Hashtable   r  = new Hashtable();

            try
            {
                Org orgExists = os.GetOrgBaseInfo(ObjectType.Org, unitCode);
            }
            catch (ClientException ex)
            {
                if (ex.ErrCode == "9001")
                {
                    //unitCodeExists = false;
                    //msg = ex.Message;
                }
            }
            //Org org = new Org();
            //org.OrgCode = unitCode;
            //org.OrgName = unit;
            //org.ParentOrgCode = os.GetTopOrg().OrgCode;
            try
            {
                //os.AddOrg(org);
            }
            catch (ClientException e)
            {
                //1002,1003
                r["r"] = false;
                r["d"] = e.Message;
                return(Json(r));
            }

            SmartBox.Console.Common.Entities.SMC_Unit Unit = new Common.Entities.SMC_Unit();
            Unit.Unit_ID   = unitCode;
            Unit.Unit_Name = unit;
            Bo.BoFactory.GetSMC_UnitBo.InsertOrUpdate(Unit);


            r["r"] = true;
            r["d"] = "新增单位成功!";
            return(Json(r));
        }
Exemple #4
0
 public virtual void BUAUserSyncToInside()
 {
     try
     {
         ServiceFactory factory            = Beyondbit.BUA.Client.ServiceFactory.Instance();
         SMC_UserDao    userDao            = new SMC_UserDao(AppConfig.statisticDBKey);
         IUserService   us                 = factory.GetUserService();
         IOrgService    os                 = factory.GetOrgService();
         Org            topOrg             = os.GetTopOrg();
         Beyondbit.BUA.Client.User[] users = us.QueryUsersByObjectCode(ObjectType.Org, topOrg.OrgCode);
         string     orgCode                = topOrg.OrgCode;
         List <Org> orgs = new List <Org>();
         GetOrgs(os, orgCode, orgs);
         if (orgs.Count > 0)
         {
             foreach (Org o in orgs)
             {
                 Beyondbit.BUA.Client.User[] user = GetUsers(us, o.OrgCode);
                 if (users != null && users.Length > 0)
                 {
                     foreach (Beyondbit.BUA.Client.User _u in users)
                     {
                         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_unitname         = unitOrg.OrgName;
                             u.U_UNITCODE         = unitCode;
                             u.u_enable_status    = UserEnabledStatus.UnAuthed;
                             u.u_auth_submit_time = DateTime.Now;
                             userDao.Insert(u);
                             userDao.UpdateMaxId();
                         }
                         else
                         {
                             u.U_NAME     = _u.UserFullName;
                             u.U_PASSWORD = _u.UserPassword;
                             string unitCode = os.GetUnitCode(ObjectType.User, u.U_UID);
                             Org    unitOrg  = os.GetOrgBaseInfo(ObjectType.Org, unitCode);
                             u.u_unitname         = unitOrg.OrgName;
                             u.U_UNITCODE         = unitCode;
                             u.u_enable_status    = UserEnabledStatus.UnAuthed;
                             u.u_auth_submit_time = DateTime.Now;
                             userDao.Update(u);
                         }
                     }
                 }
             }
         }
     }
     catch (DalException ex)
     {
         throw new BOException("同步BUA用户出错", ex);
     }
 }
Exemple #5
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)
                {
                }
            }
        }