Example #1
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 = Default.GetBSLoggingSession(rp.CustomerID, rp.UserID);

            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 = rp.CustomerID
                    },
                    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());
        }
Example #2
0
        public string Export(LoggingSessionInfo pLoggingSessionInfo, string pPath)
        {
            try
            {
                string customerID = pLoggingSessionInfo.ClientID;
                string userID     = pLoggingSessionInfo.CurrentUser.User_Id;

                ////下载保存获取本地路径
                //string localPath = string.Empty;
                //DownloadFile(pPath, "", out localPath);
                //pPath = localPath;

                string path = HttpContext.Current.Server.MapPath(@"~");
                pPath = path + pPath;

                #region 读取Excel数据并简单过滤
                System.IO.FileInfo exporstFile = new System.IO.FileInfo(pPath);
                if (!exporstFile.Exists)
                {
                    return("0|文件不存在");
                }

                //读取Excel
                DataTable excelTable = ExcelReader.ReadExcelToDataTable(pPath);

                //return "0|" + excelTable.Rows[0][0];

                //过滤空行
                DataRow[] drs     = excelTable.Select("邮箱<>''");
                DataTable dtClone = excelTable.Clone();
                foreach (var row in drs)
                {
                    dtClone.ImportRow(row);
                }
                #endregion

                #region 获取职衔、部门、角色
                DataView  _dv       = dtClone.DefaultView;
                DataTable jobFuncDT = _dv.ToTable(true, "职衔");
                DataTable deptDT    = _dv.ToTable(true, "部门");
                DataTable roleDT    = _dv.ToTable(true, "角色");
                #endregion

                #region 职衔验证
                var jobFuncBll  = new JobFunctionBLL(pLoggingSessionInfo);
                var jobFuncList = jobFuncBll.Query(new IWhereCondition[]
                {
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "CustomerID", Value = customerID
                    },
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "IsDelete", Value = "0"
                    },
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "Status", Value = "1"
                    }
                },
                                                   null);
                foreach (DataRow row in jobFuncDT.Rows)
                {
                    if (row["职衔"] == null || string.IsNullOrEmpty(row["职衔"].ToString()))
                    {
                        continue;
                    }
                    int count = jobFuncList.Count(job => job.Name == row["职衔"].ToString().Trim());
                    if (count <= 0)
                    {
                        JobFunctionEntity entity = new JobFunctionEntity
                        {
                            Name          = row["职衔"].ToString().Trim(),
                            Description   = "",
                            JobFunctionID = Guid.NewGuid(),
                            Status        = 1,
                            IsDelete      = 0,
                            CustomerID    = customerID
                        };
                        jobFuncBll.Create(entity);
                        //return "0|职衔不存在";
                    }
                }
                #endregion

                #region 部门验证
                string   typeID   = System.Configuration.ConfigurationManager.AppSettings["TypeID"].ToString();
                TUnitBLL deptBll  = new TUnitBLL(pLoggingSessionInfo);
                var      deptList = deptBll.Query(new IWhereCondition[]
                {
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "customer_id", Value = customerID
                    },
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "type_id", Value = typeID
                    },
                    new EqualsCondition {
                        DateTimeAccuracy = null, FieldName = "Status", Value = "1"
                    }
                },
                                                  null);
                foreach (DataRow row in deptDT.Rows)
                {
                    if (row["部门"] == null || string.IsNullOrEmpty(row["部门"].ToString()))
                    {
                        continue;
                    }
                    int count = deptList.Count(dept => dept.UnitName == row["部门"].ToString().Trim());
                    if (count <= 0)
                    {
                        TUnitEntity unitEntity = new TUnitEntity
                        {
                            UnitID        = Guid.NewGuid().ToString().Replace("-", ""),
                            UnitName      = row["部门"].ToString().Trim(),
                            UnitCode      = "1",
                            UnitContact   = "",
                            UnitRemark    = "",
                            TypeID        = typeID,
                            CreateTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                            CreateUserID  = pLoggingSessionInfo.CurrentUser.User_Id,
                            ModifyTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                            ModifyUserID  = pLoggingSessionInfo.CurrentUser.User_Id,
                            CustomerID    = pLoggingSessionInfo.CurrentUser.customer_id,
                            CUSTOMERLEVEL = 0,
                            Status        = "1",
                            StatusDesc    = "正常",
                            IfFlag        = "1"
                        };
                        deptBll.Create(unitEntity);
                        //return "0|部门不存在";
                    }
                }
                #endregion

                #region 角色验证
                RoleService       rs       = new RoleService(pLoggingSessionInfo);
                IList <RoleModel> roleList = rs.GetAllRoles();
                foreach (DataRow row in roleDT.Rows)
                {
                    if (row["角色"] == null || string.IsNullOrEmpty(row["角色"].ToString()))
                    {
                        continue;
                    }
                    int count = roleList.Count(role => role.Role_Name == row["角色"].ToString().Trim());
                    if (count <= 0)
                    {
                        return("0|角色不存在");
                    }
                }
                #endregion

                return(ExportData(customerID, pLoggingSessionInfo, dtClone, jobFuncList, deptList, roleList));
            }
            catch (Exception ex)
            {
                return("0|" + ex.Message);
            }
        }