- DataTable dt = new DataTable();
- SqlCommand cmd = new SqlCommand();
- StringBuilder sbSql = new StringBuilder();
- sbSql.AppendLine("SELECT * FROM " + VIEWNAME + " ");
- if (!string.IsNullOrEmpty(strKeyword))
- {
- //sbSql.Append(" AND (name +batchnumber + jobtitles + CONVERT(varchar(30),joblevel) + workingfunc + ogno + ogname + ouno + ouname + ename + status + CONVERT(varchar(30),cdt,120) like @strKeyword) ");
- //select tblA.* from t_HRM_Evaluation tblA join dbo.FN_SPLIT_TBL('張,陳,王',',') tblB on tblA.name like '%'+tblB.Value+'%'
- sbSql.Append(" JOIN dbo.FN_SPLIT_TBL(@strKeyword,',') tblB ON docno + patentcname + patentename + ogno + ogname + ouno + ouname + ouename + status + confirms + CONVERT(varchar(30),cdt,120) LIKE '%'+tblB.Value+'%' ");
- cmd.Parameters.AddWithValue("@strKeyword", strKeyword);
- }
- sbSql.Append(" WHERE 1=1 ");
- sbSql.Append(" AND delete_flag=@delete_flag ");
- cmd.Parameters.AddWithValue("@delete_flag", delete_flag);
- sbSql.Append(" AND ouoid in (");
- int i = 1;
- if (dasgroup.IsManager(uoid, HRM.STATUS_LIST.ACTIVE, false, 400, 500) > 0)
- {
- //找出該員所管轄部門
- DataTable dtg = dasgroup.GetDataByLeader(HRM.STATUS_LIST.ACTIVE, false, uoid);
- foreach (DataRow drg in dtg.Rows)
- {
- //找出部門下成員
- Guid _goid = CUtility.StringToGuid(drg["oid"].ToString());
- DataTable dtu = dasuser.GetChildDeptUser(_goid);
- foreach (DataRow dru in dtu.Rows)
- {
- // IN clause
- sbSql.Append("@UserId" + i.ToString() + ",");
- // parameter
- cmd.Parameters.AddWithValue("@UserId" + i.ToString(), CUtility.StringToGuid(dru["oid"].ToString()));
- i++;
- }
- }
- }
- else
- {
- sbSql.Append("@UserId" + i.ToString() + ",");
- cmd.Parameters.AddWithValue("@UserId" + i.ToString(), uoid);
- }
- cmd.CommandText = sbSql.ToString();
- cmd.CommandText = cmd.CommandText.Remove(cmd.CommandText.Length - 1, 1) + ")";
- dt = sdp.GetDataTable(cmd);
- return dt;
Ref Url: https://dotblogs.com.tw/jeff-yeh/2008/09/05/5308
沒有留言:
張貼留言