예제 #1
0
        public string DelDept(string pRequest)
        {
            var rd     = new APIResponse <DelDeptRD>();
            var rdData = new DelDeptRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <DelDeptRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                TUnitBLL unitBll   = new TUnitBLL(loggingSessionInfo);
                string[] unitIdArr = rp.Parameters.UnitID.Split(',');
                unitBll.Delete(unitIdArr);
                rdData.IsSuccess = true;
                rd.ResultCode    = 0;
                rd.Data          = rdData;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #2
0
        public string DelJobFunc(string pRequest)
        {
            var rd     = new APIResponse <DelJobFuncRD>();
            var rdData = new DelJobFuncRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <DelJobFuncRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                JobFunctionBLL jobBll   = new JobFunctionBLL(loggingSessionInfo);
                string[]       jobIdArr = rp.Parameters.JobFunctionID.Split(',');
                //object[] pIDs = { rp.Parameters.JobFunctionID };
                jobBll.Delete(jobIdArr);
                rdData.IsSuccess = true;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #3
0
        public string ModifyDept(string pRequest)
        {
            var rd     = new APIResponse <ModifyDeptRD>();
            var rdData = new ModifyDeptRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <ModifyDeptRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                TUnitBLL    unitBll = new TUnitBLL(loggingSessionInfo);
                TUnitEntity entity  = unitBll.GetByID(rp.Parameters.UnitID);
                if (entity == null)
                {
                    rdData.IsSuccess = false;
                    rd.Data          = rdData;
                    rd.ResultCode    = 101;
                    rd.Message       = "部门不存在";
                    return(rd.ToJSON());
                }
                entity.UnitName = rp.Parameters.UnitName;
                entity.UnitCode = rp.Parameters.UnitCode;
                if (!string.IsNullOrEmpty(rp.Parameters.Leader))
                {
                    entity.UnitContact = rp.Parameters.Leader;
                }
                if (!string.IsNullOrEmpty(rp.Parameters.DeptDesc))
                {
                    entity.UnitRemark = rp.Parameters.DeptDesc;
                }
                entity.ModifyUserID = rp.UserID;
                entity.ModifyTime   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                unitBll.Update(entity);

                rdData.IsSuccess = true;
                rd.Data          = rdData;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rdData.IsSuccess = false;
                rd.Data          = rdData;
                rd.ResultCode    = 103;
                rd.Message       = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #4
0
        public string GetDept(string pRequest)
        {
            var rd     = new APIResponse <GetJobFuncRD>();
            var rdData = new GetJobFuncRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <GetJobFuncRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                JobFunctionBLL jobBll = new JobFunctionBLL(loggingSessionInfo);
                //IWhereCondition[] iwhere = { new EqualsCondition { DateTimeAccuracy = null, FieldName = "CustomerID", Value = rp.CustomerID } };
                //if (!string.IsNullOrEmpty(rp.Parameters.JobFunctionID))
                //{
                //    iwhere = new IWhereCondition[]
                //    {
                //        new EqualsCondition { DateTimeAccuracy = null, FieldName = "CustomerID", Value = rp.CustomerID },
                //        new EqualsCondition { DateTimeAccuracy = null, FieldName = "JobFunctionID", Value = rp.Parameters.JobFunctionID }
                //    };
                //}
                //PagedQueryResult<JobFunctionEntity> jobFunction = jobBll.PagedQuery(iwhere, new OrderBy[] { new OrderBy { FieldName = "Name", Direction = OrderByDirections.Asc } }, rp.Parameters.PageIndex, rp.Parameters.PageSize);
                int       totalPage = 0;
                DataTable dTable    = jobBll.GetJobFuncList(rp.Parameters.JobFunctionID, rp.Parameters.PageIndex, rp.Parameters.PageSize, rp.Parameters.Keyword, out totalPage);

                //排序
                DataView dv   = dTable.DefaultView;
                string   sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "Name asc" : rp.Parameters.sort;
                dv.Sort = sort;
                DataTable dt2 = dv.ToTable();
                dTable = dt2;

                if (dTable != null)
                {
                    rdData.JobFuncList = DataTableToObject.ConvertToList <JobFunctionEntity>(dTable);
                }
                rdData.TotalPage = totalPage;
                rd.Data          = rdData;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #5
0
        public string ModifyUserOrganization(string pRequest)
        {
            var rd     = new APIResponse <ModifyUserOrganizationRD>();
            var rdData = new ModifyUserOrganizationRD();

            var rp = pRequest.DeserializeJSONTo <APIRequest <ModifyUserOrganizationRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                UserDeptJobMappingBLL    mappingBll = new UserDeptJobMappingBLL(loggingSessionInfo);
                UserDeptJobMappingEntity entity     = mappingBll.GetByUserID(rp.Parameters.UserID);
                if (entity != null)
                {
                    entity.UnitID        = rp.Parameters.UnitID;
                    entity.JobFunctionID = rp.Parameters.JobFunctionID;
                    if (!string.IsNullOrEmpty(rp.Parameters.UserLevel))
                    {
                        entity.UserLevel = rp.Parameters.UserLevel;
                    }
                    entity.LineManagerID = rp.Parameters.LineManagerID;
                    mappingBll.Update(entity);
                    rdData.IsSuccess = true;
                    rd.ResultCode    = 0;
                }
                else
                {
                    rdData.IsSuccess = false;
                    rd.ResultCode    = 101;
                    rd.Message       = "对象不存在";
                }
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #6
0
        public string ModifyJobFunc(string pRequest)
        {
            var rd     = new APIResponse <ModifyJobFuncRD>();
            var rdData = new ModifyJobFuncRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <ModifyJobFuncRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                JobFunctionBLL    jobBll = new JobFunctionBLL(loggingSessionInfo);
                JobFunctionEntity entity = jobBll.GetByID(rp.Parameters.JobFunctionID);
                if (entity != null)
                {
                    entity.Name        = rp.Parameters.Name;
                    entity.Description = rp.Parameters.Description;
                    if (rp.Parameters.Status != null)
                    {
                        entity.Status = rp.Parameters.Status;
                    }
                    jobBll.Update(entity);
                    rdData.IsSuccess = true;
                    rd.ResultCode    = 0;
                }
                else
                {
                    rdData.IsSuccess = false;
                    rd.ResultCode    = 101;
                    rd.Message       = "职衔不存在";
                }
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #7
0
        public string DisableUser(string pRequest)
        {
            var rd     = new APIResponse <DisableUserRD>();
            var rdData = new DisableUserRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <DisableUserRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            T_UserBLL bll = new T_UserBLL(loggingSessionInfo);

            try
            {
                string[]     staffIdArr = rp.Parameters.UserID.Split(',');
                T_UserEntity entity     = null;
                for (int i = 0; i < staffIdArr.Length; i++)
                {
                    entity = bll.GetByID(staffIdArr[i]);
                    if (entity == null)
                    {
                        continue;
                    }
                    entity.user_status      = "0";
                    entity.user_status_desc = "离职";
                    entity.modify_time      = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    entity.modify_user_id   = rp.UserID;
                    bll.Update(entity);
                }
                rdData.IsSuccess = true;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #8
0
        public string GetDept(string pRequest)
        {
            var rd     = new APIResponse <GetDeptRD>();
            var rdData = new GetDeptRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <GetDeptRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                TUnitBLL  unitBll   = new TUnitBLL(loggingSessionInfo);
                string    typeID    = System.Configuration.ConfigurationManager.AppSettings["TypeID"].ToString();
                int       totalPage = 0;
                DataTable dTable    = unitBll.GetUnitList(rp.Parameters.UnitID, typeID, rp.Parameters.PageIndex, rp.Parameters.PageSize, rp.Parameters.Keyword, out totalPage);

                //排序
                DataView dv   = dTable.DefaultView;
                string   sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UnitName asc" : rp.Parameters.sort;
                dv.Sort = sort;
                DataTable dt2 = dv.ToTable();
                dTable = dt2;

                if (dTable != null)
                {
                    rdData.UnitList = DataTableToObject.ConvertToList <UnitInfo>(dTable);
                }
                rdData.TotalPage = totalPage;
                rd.Data          = rdData;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
        public string BatchImportUserList(string pRequest)
        {
            var rd     = new APIResponse <BatchImportUserListRD>();
            var rdData = new BatchImportUserListRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <BatchImportUserListRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                string[] msg = new ImportStaffManager().Export(loggingSessionInfo, rp.Parameters.Path).Split('|');
                if (msg[0] == "1")
                {
                    rd.ResultCode    = 0;
                    rdData.IsSuccess = true;
                }
                else
                {
                    rd.ResultCode    = 101;
                    rdData.IsSuccess = false;
                }
                rd.Message = msg[1];
            }
            catch (Exception ex)
            {
                rd.ResultCode    = 101;
                rdData.IsSuccess = false;
                rd.Message       = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #10
0
        public string AddJobFunc(string pRequest)
        {
            var rd     = new APIResponse <AddJobFuncRD>();
            var rdData = new AddJobFuncRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <AddJobFuncRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                JobFunctionBLL    jobBll = new JobFunctionBLL(loggingSessionInfo);
                Guid              guid   = Guid.NewGuid();
                JobFunctionEntity entity = new JobFunctionEntity
                {
                    JobFunctionID = guid,
                    Name          = rp.Parameters.Name,
                    Description   = rp.Parameters.Description,
                    Status        = rp.Parameters.Status,
                    CustomerID    = loggingSessionInfo.ClientID
                };
                jobBll.Create(entity);
                rdData.JobFunctionID = guid.ToString();
                rd.ResultCode        = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #11
0
        public string GetRole(string pRequest)
        {
            var rd     = new APIResponse <GetRoleRD>();
            var rdData = new GetRoleRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <GetRoleRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                var       appSysService = new AppSysService(loggingSessionInfo);
                RoleModel list          = new RoleModel();
                string    key           = "D8C5FF6041AA4EA19D83F924DBF56F93";
                //if (form.app_sys_id != null && form.app_sys_id != string.Empty)
                //{
                //    key = form.app_sys_id.Trim();
                //}
                list            = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", "");
                rdData.RoleList = list.RoleInfoList;
                rdData.Count    = list.RoleInfoList.Count;
                rd.Data         = rdData;
                rd.ResultCode   = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #12
0
        public string DelUser(string pRequest)
        {
            var rd     = new APIResponse <DelUserRD>();
            var rdData = new DelUserRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <DelUserRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            T_UserBLL bll = new T_UserBLL(loggingSessionInfo);

            try
            {
                T_UserEntity entity = bll.GetByID(rp.Parameters.UserID);
                entity.user_status      = "-1";
                entity.user_status_desc = "已删除";
                entity.modify_time      = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                entity.modify_user_id   = rp.UserID;
                bll.Update(entity);
                rdData.IsSuccess = true;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #13
0
        public string GetUserDict(string pRequest)
        {
            var rd     = new APIResponse <GetUserDictRD>();
            var rdData = new GetUserDictRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <GetUserDictRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                T_UserBLL userBll = new T_UserBLL(loggingSessionInfo);
                DataTable dTable  = userBll.GetStaffDict(rp.Parameters.UserID, rp.Parameters.UserName.Trim());
                if (dTable != null)
                {
                    rdData.UserList = DataTableToObject.ConvertToList <UserDict>(dTable);
                }
                rd.Data       = rdData;
                rd.ResultCode = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #14
0
        public string AddUser(string pRequest)
        {
            var rd     = new APIResponse <AddUserRD>();
            var rdData = new AddUserRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <AddUserRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            T_UserBLL bll = new T_UserBLL(loggingSessionInfo);

            try
            {
                string       email = rp.Parameters.UserEmail, customerID = rp.CustomerID;
                T_UserEntity tue = new T_UserEntity();
                tue = bll.GetUserEntityByEmail(rp.Parameters.UserEmail, customerID);
                if (tue == null)
                {
                    DateTime dt         = DateTime.Now;
                    string   password   = string.IsNullOrEmpty(rp.Parameters.UserPassword) ? "123" : rp.Parameters.UserPassword;
                    string   userStatus = string.IsNullOrEmpty(rp.Parameters.UserStatus) ? "1" : rp.Parameters.UserStatus;
                    string   statusTxt  = "正常";
                    switch (userStatus)
                    {
                    case "-1": statusTxt = "删除"; break;

                    case "0": statusTxt = "禁用"; break;

                    case "1": statusTxt = "正常"; break;
                    }

                    #region 保存用户
                    string userId = Guid.NewGuid().ToString().Replace("-", "").ToUpper();
                    tue = new T_UserEntity()
                    {
                        user_id        = userId,
                        user_code      = rp.Parameters.UserCode,
                        user_name      = rp.Parameters.UserName,
                        user_name_en   = rp.Parameters.UserNameEn,
                        user_email     = rp.Parameters.UserEmail,
                        user_password  = MD5Helper.Encryption(password),// MD5Helper.Encryption("123"),//默认密码
                        user_gender    = rp.Parameters.UserGender,
                        user_birthday  = rp.Parameters.UserBirthday,
                        user_telephone = rp.Parameters.UserTelephone,
                        user_cellphone = rp.Parameters.UserCellphone,

                        user_status      = userStatus,
                        user_status_desc = statusTxt,
                        fail_date        = string.IsNullOrEmpty(rp.Parameters.FailDate) == true ? "2020-01-01" : rp.Parameters.FailDate,
                        customer_id      = customerID,
                        create_time      = dt.ToString("yyyy-MM-dd HH:mm:ss"),
                        create_user_id   = rp.UserID,
                        modify_time      = dt.ToString("yyyy-MM-dd HH:mm:ss"),
                        modify_user_id   = rp.UserID
                    };
                    //T_User表
                    //Create(tue, tran);
                    bll.Create(tue);
                    #endregion

                    #region 保存用户角色
                    //T_User_Role 表
                    TUserRoleEntity ture = new TUserRoleEntity
                    {
                        user_role_id   = Guid.NewGuid().ToString(),
                        user_id        = userId,
                        role_id        = rp.Parameters.RoleID,
                        unit_id        = rp.Parameters.UnitID,
                        status         = "1",
                        create_time    = dt,
                        create_user_id = rp.UserID,
                        modify_time    = dt,
                        modify_user_id = rp.UserID,
                        default_flag   = "1"
                    };
                    bll.InsertUserRole(ture);
                    #endregion

                    #region 保存部门、职衔
                    UserDeptJobMappingBLL deptJobMapBll = new UserDeptJobMappingBLL(loggingSessionInfo);
                    //UserDeptJobMapping表
                    UserDeptJobMappingEntity udjme = new UserDeptJobMappingEntity
                    {
                        UserDeptID       = Guid.NewGuid(),
                        UserID           = userId,
                        JobFunctionID    = rp.Parameters.JobFunctionID,
                        USERID           = userId,
                        CustomerID       = customerID,
                        CreateTime       = dt,
                        CreateUserID     = rp.UserID,
                        LastUpdateTime   = dt,
                        LastUpdateUserID = rp.UserID,
                        IsDelete         = 0,
                        UnitID           = rp.Parameters.UnitID,
                        LineManagerID    = rp.Parameters.LineManagerID,
                        UserLevel        = "0"//默认0
                    };
                    deptJobMapBll.Create(udjme);
                    #endregion

                    //激活云通讯帐户
                    YTXManager.Instance.SingleReisterCall(userId, rp.CustomerID, rp.UserID);

                    rdData.UserID = userId;
                    rd.ResultCode = 0;
                }
                else
                {
                    rd.ResultCode = 101;
                    rd.Message    = "邮箱已存在";
                }
                rd.Data = rdData;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #15
0
        public string GetUserList(string pRequest)
        {
            var rd     = new APIResponse <GetUserRD>();
            var rdData = new GetUserRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <GetUserRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                //获取普通员工employee角色标识
                string    roleId        = string.Empty;
                var       appSysService = new AppSysService(loggingSessionInfo);
                RoleModel list          = new RoleModel();
                string    key           = "D8C5FF6041AA4EA19D83F924DBF56F93";
                list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", "");

                foreach (var item in list.RoleInfoList)
                {
                    if (item.Role_Code.ToLower() == "employee")
                    {
                        roleId = item.Role_Id;
                        break;
                    }
                }
                if (string.IsNullOrEmpty(roleId) || roleId == "")
                {
                    throw new APIException("employee的roleId未获取到")
                          {
                              ErrorCode = 103
                          }
                }
                ;

                T_UserBLL userBll = new T_UserBLL(loggingSessionInfo);
                //string typeID = System.Configuration.ConfigurationManager.AppSettings["TypeID"].ToString();
                int             totalPage = 0;
                QueryUserEntity entity    = new QueryUserEntity();
                entity.QUserName      = rp.Parameters.Keyword;
                entity.QUnitID        = rp.Parameters.UnitID;
                entity.QJobFunctionID = rp.Parameters.JobFunctionID;
                entity.QRoleID        = roleId;
                DataTable dTable = userBll.GetUserList(rp.Parameters.UserID, rp.Parameters.PageIndex, rp.Parameters.PageSize, out totalPage, entity);

                //排序
                DataView dv   = dTable.DefaultView;
                string   sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UserEmail asc" : rp.Parameters.sort;
                sort    = "UserStatus desc," + sort;
                dv.Sort = sort;
                DataTable dt2 = dv.ToTable();
                dTable = dt2;


                if (dTable != null)
                {
                    rdData.UserList = DataTableToObject.ConvertToList <UserInfo>(dTable);
                }
                rdData.TotalPage = totalPage;
                rd.Data          = rdData;
                rd.ResultCode    = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
예제 #16
0
        public string AddDept(string pRequest)
        {
            var rd     = new APIResponse <AddDeptRD>();
            var rdData = new AddDeptRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <AddDeptRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                TUnitBLL unitBll = new TUnitBLL(loggingSessionInfo);
                string   typeID  = System.Configuration.ConfigurationManager.AppSettings["TypeID"].ToString();
                if (!string.IsNullOrEmpty(rp.Parameters.TypeID))
                {
                    typeID = rp.Parameters.TypeID;
                }
                TUnitEntity[] unitEntityArr = unitBll.Query(new IWhereCondition[]
                {
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "customer_id", Value = loggingSessionInfo.ClientID
                    },
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "unit_name", Value = rp.Parameters.UnitName
                    },
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "type_id", Value = typeID
                    },
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "Status", Value = "1"
                    }
                }, null);
                if (unitEntityArr != null && unitEntityArr.Length > 0)
                {
                    rd.ResultCode = 101;
                    rd.Message    = rp.Parameters.UnitName + "已存在";
                    return(rd.ToJSON());
                }
                string      unitID     = Guid.NewGuid().ToString().Replace("-", "");
                TUnitEntity unitEntity = new TUnitEntity
                {
                    UnitID        = unitID,
                    UnitName      = rp.Parameters.UnitName,
                    UnitCode      = rp.Parameters.UnitCode,
                    UnitContact   = rp.Parameters.Leader,
                    UnitRemark    = rp.Parameters.DeptDesc,
                    TypeID        = typeID,
                    CreateTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    CreateUserID  = loggingSessionInfo.CurrentUser.User_Id,
                    ModifyTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    ModifyUserID  = loggingSessionInfo.CurrentUser.User_Id,
                    CustomerID    = loggingSessionInfo.CurrentUser.customer_id,
                    CUSTOMERLEVEL = 0,
                    Status        = "1",
                    StatusDesc    = "正常",
                    IfFlag        = "1"
                };
                unitBll.Create(unitEntity);

                rdData.UnitID = unitID;
                rd.Data       = rdData;
                rd.ResultCode = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }
        public string ModifyUserPersonalInfo(string pRequest)
        {
            var rd     = new APIResponse <ModifyUserPersonalInfoRD>();
            var rdData = new ModifyUserPersonalInfoRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <ModifyUserPersonalInfoRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                T_UserBLL    bll    = new T_UserBLL(loggingSessionInfo);
                T_UserEntity entity = bll.GetUserEntityByID(rp.Parameters.UserID);
                if (entity != null)
                {
                    entity.user_code      = rp.Parameters.UserCode;
                    entity.user_name      = rp.Parameters.UserName;
                    entity.user_gender    = rp.Parameters.UserGender;
                    entity.user_email     = rp.Parameters.UserEmail;
                    entity.user_telephone = rp.Parameters.UserTelephone;
                    //entity.user_status = rp.Parameters.UserStatus;

                    if (!string.IsNullOrEmpty(rp.Parameters.UserNameEn))
                    {
                        entity.user_name_en = rp.Parameters.UserNameEn;
                    }
                    if (!string.IsNullOrEmpty(rp.Parameters.UserBirthday))
                    {
                        entity.user_birthday = rp.Parameters.UserBirthday;
                    }
                    if (!string.IsNullOrEmpty(rp.Parameters.UserPassword))
                    {
                        entity.user_password = MD5Helper.Encryption(rp.Parameters.UserPassword);
                    }
                    if (!string.IsNullOrEmpty(rp.Parameters.UserCellphone))
                    {
                        entity.user_cellphone = rp.Parameters.UserCellphone;
                    }
                    if (!string.IsNullOrEmpty(rp.Parameters.FailDate))
                    {
                        entity.fail_date = rp.Parameters.FailDate;
                    }

                    bll.Update(entity);

                    //更新LineManagerID
                    UserDeptJobMappingBLL    mappingBll    = new UserDeptJobMappingBLL(loggingSessionInfo);
                    UserDeptJobMappingEntity mappingEntity = mappingBll.GetByUserID(entity.user_id);
                    if (mappingEntity != null)
                    {
                        if (!string.IsNullOrEmpty(rp.Parameters.LineManagerID))
                        {
                            mappingEntity.LineManagerID = rp.Parameters.LineManagerID;
                        }
                        if (!string.IsNullOrEmpty(rp.Parameters.UnitID))
                        {
                            mappingEntity.UnitID = rp.Parameters.UnitID;
                        }
                        if (!string.IsNullOrEmpty(rp.Parameters.JobFunctionID))
                        {
                            mappingEntity.JobFunctionID = rp.Parameters.JobFunctionID;
                        }
                        mappingBll.Update(mappingEntity);
                    }
                    else
                    {
                        mappingEntity               = new UserDeptJobMappingEntity();
                        mappingEntity.UserID        = entity.user_id;
                        mappingEntity.USERID        = entity.user_id;
                        mappingEntity.LineManagerID = rp.Parameters.LineManagerID;
                        mappingEntity.UnitID        = rp.Parameters.UnitID;
                        mappingEntity.JobFunctionID = rp.Parameters.JobFunctionID;
                        mappingBll.Create(mappingEntity);
                    }
                    rdData.IsSuccess = true;
                    rd.ResultCode    = 0;
                }
                else
                {
                    rdData.IsSuccess = false;
                    rd.ResultCode    = 101;
                    rd.Message       = "用户不存在";
                }
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #18
0
        public string UploadFile(string pRequest)
        {
            var rd     = new APIResponse <UploadFileRD>();
            var rdData = new UploadFileRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <UploadFileRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                HttpPostedFile files    = HttpContext.Current.Request.Files[0];
                string         filename = "";
                string         fileName = "";

                HttpPostedFile postedFile = files;
                if (postedFile != null && postedFile.FileName != null && postedFile.FileName != "")
                {
                    filename = postedFile.FileName;
                    string suffixname = "", name = "";
                    if (filename != null)
                    {
                        name       = filename.Substring(0, filename.LastIndexOf("."));
                        suffixname = filename.Substring(filename.LastIndexOf(".")).ToLower();
                    }
                    string tempPath = "/File/QiXinManage/";
                    fileName = name + DateTime.Now.ToString("yyyy.MM.dd.mm.ss") + suffixname;
                    string savepath = HttpContext.Current.Server.MapPath(tempPath);
                    if (!Directory.Exists(savepath))
                    {
                        Directory.CreateDirectory(savepath);
                    }
                    string path = savepath + @"/" + fileName;
                    postedFile.SaveAs(path);//保存
                    rdData.Path    = tempPath + fileName;
                    rdData.FileUrl = ConfigurationManager.AppSettings["glt_ht_service_url"].ToString().TrimEnd('/') + rdData.Path;
                }
                else
                {
                    throw new APIException("请上传文件")
                          {
                              ErrorCode = 102
                          };
                }
                rd.ResultCode    = 0;
                rdData.IsSuccess = true;
            }
            catch (Exception ex)
            {
                rd.ResultCode    = 101;
                rdData.IsSuccess = false;
                rd.Message       = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
예제 #19
0
        public string ExportStaff(string pRequest)
        {
            var rd     = new APIResponse <ExportStaffRD>();
            var rdData = new ExportStaffRD();
            var rp     = pRequest.DeserializeJSONTo <APIRequest <ExportStaffRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = new LoggingSessionManager().CurrentSession;

            try
            {
                //获取普通员工employee角色标识
                string    roleId        = string.Empty;
                var       appSysService = new AppSysService(loggingSessionInfo);
                RoleModel list          = new RoleModel();
                string    key           = "D8C5FF6041AA4EA19D83F924DBF56F93";
                list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", "");

                foreach (var item in list.RoleInfoList)
                {
                    if (item.Role_Code.ToLower() == "employee")
                    {
                        roleId = item.Role_Id;
                        break;
                    }
                }

                if (string.IsNullOrEmpty(roleId) || roleId == "")
                {
                    throw new APIException("employee的roleId未获取到")
                          {
                              ErrorCode = 103
                          }
                }
                ;

                rp.Parameters.ExportType = rp.Parameters.ExportType.ToLower();
                //所有页
                if (rp.Parameters.ExportType == "allpage")
                {
                    rp.Parameters.PageIndex = 0;
                    rp.Parameters.PageSize  = 5000;
                }

                //数据获取
                T_UserBLL       userBll   = new T_UserBLL(loggingSessionInfo);
                int             totalPage = 0;
                QueryUserEntity entity    = new QueryUserEntity();
                entity.QUserName      = rp.Parameters.Keyword;
                entity.QUnitID        = rp.Parameters.UnitID;
                entity.QJobFunctionID = rp.Parameters.JobFunctionID;
                entity.QRoleID        = roleId;
                DataTable dTable = userBll.GetUserList(rp.Parameters.UserID, rp.Parameters.PageIndex, rp.Parameters.PageSize, out totalPage, entity);

                //过滤选择的员工
                if (rp.Parameters.ExportType == "select")
                {
                    string[] ids    = rp.Parameters.StaffIds.Split(',');
                    string   strIds = "'',";
                    for (int i = 0; i < ids.Length; i++)
                    {
                        strIds += "'" + ids[i] + "',";
                    }
                    strIds = strIds.Substring(0, strIds.Length - 1);
                    DataRow[] drs = dTable.Select("UserID in (" + strIds + ")");
                    DataTable d   = dTable.Clone();
                    foreach (var item in drs)
                    {
                        d.ImportRow(item);
                    }
                    dTable = d;
                }
                else
                if (rp.Parameters.ExportType == "noselect")
                {
                    dTable = dTable.Clone();
                }

                //排序
                DataView dv   = dTable.DefaultView;
                string   sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UserEmail asc" : rp.Parameters.sort;
                sort    = "UserStatus desc," + sort;
                dv.Sort = sort;
                DataTable dt2 = dv.ToTable();
                dTable = dt2;

                //表格标题设置
                DataTable lastTable = dTable.DefaultView.ToTable(false, "UserCode", "UserName", "UserNameEn", "UserEmail", "UserGenderT", "UserBirthday", "UserTelephone", "UserCellphone", "DeptName", "JobFuncName", "UserStatusDesc");
                //重置标题名称
                lastTable.Columns["UserCode"].ColumnName       = "用户编码";
                lastTable.Columns["UserName"].ColumnName       = "姓名";
                lastTable.Columns["UserNameEn"].ColumnName     = "英文名";
                lastTable.Columns["UserEmail"].ColumnName      = "邮箱";
                lastTable.Columns["UserGenderT"].ColumnName    = "性别";
                lastTable.Columns["UserBirthday"].ColumnName   = "生日";
                lastTable.Columns["UserTelephone"].ColumnName  = "手机";
                lastTable.Columns["UserCellphone"].ColumnName  = "电话";
                lastTable.Columns["DeptName"].ColumnName       = "部门";
                lastTable.Columns["JobFuncName"].ColumnName    = "职务";
                lastTable.Columns["UserStatusDesc"].ColumnName = "状态";

                //数据获取
                Workbook wb       = DataTableExporter.WriteXLS(lastTable, 0);
                string   savePath = HttpContext.Current.Server.MapPath(@"~/File/Excel");
                if (!System.IO.Directory.Exists(savePath))
                {
                    System.IO.Directory.CreateDirectory(savePath);
                }
                savePath = savePath + "\\企信员工-" + lastTable.TableName + ".xls";
                wb.Save(savePath);//保存Excel文件
                new ExcelCommon().OutPutExcel(HttpContext.Current, savePath);

                HttpContext.Current.Response.End();

                rd.ResultCode = 0;
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            return(rd.ToJSON());
        }