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