private void DoImpUser() { string FileName = RequestData.Get("FileId") + ""; string SurveyId = RequestData.Get("SurveyId") + ""; string Sign = RequestData.Get("Sign") + ""; //区分导入对象 Surveyed Reader FileName = MapPath("../Document/") + FileName; DataTable dt = ImpUser(FileName); if (Sign.Contains("Reader")) { for (int i = 0; i < dt.Rows.Count; i++) { SurveyCanReaderUsr Usr = new SurveyCanReaderUsr(); Usr.SurveyId = SurveyId; Usr.WorkNo = dt.Rows[i]["工号"].ToString(); Usr.UserName = dt.Rows[i]["姓名"].ToString(); Usr.DeptName = GetOrgs(dt.Rows[i]["工号"].ToString()); try { var User = SysUser.FindFirstByProperties(SysUser.Prop_WorkNo, dt.Rows[i]["工号"].ToString(), SysUser.Prop_Status, 1); Usr.UserId = User.UserID; } catch { } Usr.CreateWay = "0"; //表示导入 Usr.DoCreate(); } DataHelper.ExecSql("Delete from FL_Culture..SurveyCanReaderUsr where UserId='' or WorkNo='' "); } else if (Sign.Contains("Surveyed")) { for (int i = 0; i < dt.Rows.Count; i++) { SurveyFinallyUsr Usr = new SurveyFinallyUsr(); Usr.SurveyId = SurveyId; Usr.WorkNo = dt.Rows[i]["工号"].ToString(); Usr.UserName = dt.Rows[i]["姓名"].ToString(); Usr.DeptName = GetOrgs(dt.Rows[i]["工号"].ToString()); try { //这里还需处理 工号错误 var User = SysUser.FindFirstByProperties(SysUser.Prop_WorkNo, dt.Rows[i]["工号"].ToString(), SysUser.Prop_Status, 1); Usr.UserId = User.UserID; } catch { } Usr.CreateWay = "0"; //表示导入 Usr.DoCreate(); } DataHelper.ExecSql("Delete from FL_Culture..SurveyFinallyUsr where UserId='' or WorkNo='' "); } this.PageState.Add("State", "1"); }
/// <summary> /// 生成查看人员 /// </summary> /// <param name="SurveyId"></param> /// <returns></returns> public bool CreateReadUser(string SurveyId) { SurveyReaderObj SrEnt = SurveyReaderObj.FindFirstByProperties(SurveyReaderObj.Prop_SurveyId, SurveyId); //组织下的人员 string RdSQL = this.ReadSQL; if (string.IsNullOrEmpty(SrEnt.OrgIds) || string.IsNullOrEmpty(SrEnt.OrgNames)) { RdSQL = RdSQL.Replace("##Query##", " and 1<>1 "); //组织为空情况 RdSQL = string.Format(RdSQL, SurveyId); } else { RdSQL = RdSQL.Replace("##Query##", " "); RdSQL = string.Format(RdSQL, SurveyId); } DataTable FilterUsrDt = DataHelper.QueryDataTable(RdSQL); // 添加的人员 string SQL = @"with SurObjUsr As ( select CA.* from FL_Culture..SurveyReaderObj As A cross apply( select Filed As UsrID from FL_Culture..GetTblByJson(A.AllowUser,'Id') ) As CA where SurveyId='{0}' ), UserInfo As ( select T.UserID,T.Name, T.WorkNo from SurObjUsr As A left join FL_PortalHR..Sysuser As T on A.UsrID=T.UserID ) select distinct * from UserInfo "; SQL = "select '' where 1<>1 "; //Change BY WGM 9-30 SQL = SQL.Replace("FL_PortalHR", Global.AimPortalDB); SQL = string.Format(SQL, SurveyId); DataTable AddUsrDt = DataHelper.QueryDataTable(SQL); //排除的人员 string ReMoveSQL = @" select CA.* from FL_Culture..SurveyReaderObj As A cross apply( select Filed As UserID from FL_Culture..GetTblByJson(A.NoAllowUser,'Id') ) As CA where SurveyId='{0}'"; ReMoveSQL = string.Format(ReMoveSQL, SurveyId); ReMoveSQL = "select '' where 1<>1 "; //Change BY WGM 9-30 DataTable RemoveDt = DataHelper.QueryDataTable(ReMoveSQL); //排除人员 if (RemoveDt.Rows.Count > 0) { for (int i = 0; i < FilterUsrDt.Rows.Count; i++) { for (int j = 0; j < RemoveDt.Rows.Count; j++) { if (FilterUsrDt.Rows[i]["UserID"].ToString() == RemoveDt.Rows[j]["UserID"].ToString()) { FilterUsrDt.Rows.Remove(FilterUsrDt.Rows[i]); } } } } // 合并 DataTable FinalDt = new DataTable(); DataColumn Dc_UserId = new DataColumn("UserId"); FinalDt.Columns.Add(Dc_UserId); DataColumn Dc_UserName = new DataColumn("UserName"); FinalDt.Columns.Add(Dc_UserName); DataColumn Dc_DeptId = new DataColumn("DeptId"); FinalDt.Columns.Add(Dc_DeptId); DataColumn Dc_DeptName = new DataColumn("DeptName"); FinalDt.Columns.Add(Dc_DeptName); DataColumn Dc_WorkNo = new DataColumn("WorkNo"); FinalDt.Columns.Add(Dc_WorkNo); for (int i = 0; i < FilterUsrDt.Rows.Count; i++) { DataRow dr = FinalDt.NewRow(); //dr["DeptId"] = FilterUsrDt.Rows[i]["GroupId"]; //dr["DeptName"] = FilterUsrDt.Rows[i]["GroupName"]; string FullDept = WFHelper.getZzjg(FilterUsrDt.Rows[i]["UserID"].ToString(), true); dr["DeptName"] = FullDept; dr["WorkNo"] = FilterUsrDt.Rows[i]["WorkNo"]; dr["UserId"] = FilterUsrDt.Rows[i]["UserID"]; //* dr["UserName"] = FilterUsrDt.Rows[i]["UserName"]; //* FinalDt.Rows.Add(dr); } //Add for (int i = 0; i < AddUsrDt.Rows.Count; i++) { DataRow dr = FinalDt.NewRow(); //dr["DeptId"] = AddUsrDt.Rows[i]["GroupID"]; //dr["DeptName"] = AddUsrDt.Rows[i]["GroupName"]; string FullDept = WFHelper.getZzjg(AddUsrDt.Rows[i]["UserID"].ToString(), true); dr["DeptName"] = FullDept; dr["WorkNo"] = AddUsrDt.Rows[i]["WorkNo"]; dr["UserId"] = AddUsrDt.Rows[i]["UserID"]; //* dr["UserName"] = AddUsrDt.Rows[i]["Name"]; //* FinalDt.Rows.Add(dr); } SurveyQuestion Ent = SurveyQuestion.Find(SurveyId); if (Ent != null) { //添加问卷创建者 DataRow CreateRow = FinalDt.NewRow(); CreateRow["UserId"] = Ent.CreateId; CreateRow["UserName"] = Ent.CreateName; FinalDt.Rows.Add(CreateRow); } //--------------------------------------------------------------- //生成调查用户 for (int i = 0; i < FinalDt.Rows.Count; i++) { SurveyCanReaderUsr UserEnt = new SurveyCanReaderUsr(); UserEnt.CreateWay = "1"; //1 表示生成的用户而非创建 UserEnt.SurveyId = SurveyId; UserEnt.DeptName = FinalDt.Rows[i]["DeptName"].ToString(); //UserEnt.DeptId = FinalDt.Rows[i]["DeptId"].ToString(); UserEnt.UserId = FinalDt.Rows[i]["UserId"].ToString(); UserEnt.UserName = FinalDt.Rows[i]["UserName"].ToString(); UserEnt.WorkNo = FinalDt.Rows[i]["WorkNo"].ToString(); UserEnt.DoCreate(); } return(true); }