private void DoBatchDelete()
        {
            IList <object> idList = RequestData.GetList <object>("IdList");

            if (idList != null && idList.Count > 0)
            {
                SurveyCanReaderUsr.DoBatchDelete(idList.ToArray());
            }
        }
Example #2
0
        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");
        }
 private void DoSelect()
 {
     if (!string.IsNullOrEmpty(SurveyId))
     {
         SearchCriterion.SetSearch("SurveyId", SurveyId);
         SearchCriterion.SetOrder("CreateWay");
         SurveyCanReaderUsr[] SrEnt = SurveyCanReaderUsr.FindAll(SearchCriterion);
         this.PageState.Add("DataList2", SrEnt);
     }
 }
        private void DoBatchDelete()
        {
            IList <object> idList = RequestData.GetList <object>("IdList");

            if (idList != null && idList.Count > 0)
            {
                // SurveyQuestion.DoBatchDelete(idList.ToArray());
                for (var v = 0; v < idList.Count; v++)
                {
                    // 人员 问卷
                    QuestionItem[]       Qent = QuestionItem.FindAllByProperties(QuestionItem.Prop_SurveyId, idList[v].ToString());
                    QuestionAnswerItem[] Aent = QuestionAnswerItem.FindAllByProperties(QuestionAnswerItem.Prop_SurveyId, idList[v].ToString());

                    SurveyFinallyUsr[]   FuEnt = SurveyFinallyUsr.FindAllByProperties(SurveyFinallyUsr.Prop_SurveyId, idList[v].ToString());
                    SurveyCanReaderUsr[] Ruent = SurveyCanReaderUsr.FindAllByProperties(SurveyCanReaderUsr.Prop_SurveyId, idList[v].ToString());

                    SurveyedObj[]     SoEnt = SurveyedObj.FindAllByProperties(SurveyedObj.Prop_SurveyId, idList[v].ToString());
                    SurveyReaderObj[] RoEnt = SurveyReaderObj.FindAllByProperties(SurveyReaderObj.Prop_SurveyId, idList[v].ToString());

                    foreach (var ent in Qent)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in Aent)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in FuEnt)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in Ruent)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in SoEnt)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in RoEnt)
                    {
                        ent.DoDelete();
                    }
                }
                SurveyQuestion.DoBatchDelete(idList.ToArray());
            }
        }
Example #5
0
        /// <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);
        }