diff --git a/SGGL/FineUIPro.Web/Door/InOutRecord.aspx.cs b/SGGL/FineUIPro.Web/Door/InOutRecord.aspx.cs index 6de2b0fa..7c1e7432 100644 --- a/SGGL/FineUIPro.Web/Door/InOutRecord.aspx.cs +++ b/SGGL/FineUIPro.Web/Door/InOutRecord.aspx.cs @@ -55,7 +55,9 @@ namespace FineUIPro.Web.Door /// private void GetPersonStatistic() { - string strSql = @"SELECT NewID,Record.ProjectId,InstallationName,P.UnitId,U.UnitName,P.PersonName,RecordDate,Record.EmployName + string strSql = @"WITH CTE AS ( + SELECT ROW_NUMBER() OVER (PARTITION BY Record.IDCardNo, WorkIn1,OffDuty1,WorkIn2,OffDuty2,WorkIn3,OffDuty3 ORDER BY (SELECT NULL)) as rn + ,NewID,Record.ProjectId,InstallationName,P.UnitId,U.UnitName,P.PersonName,RecordDate,Record.EmployName ,IDCardNo,P.Nation,B.dictName AS NationName ,PostName,WorkIn1,OffDuty1,WorkIn2,OffDuty2,WorkIn3,OffDuty3,ManHours ,T.TeamGroupId,T.TeamGroupName,P.WorkPostId,W.WorkPostName, ManOverHours FROM dbo.t_d_EmployInOutRecord AS Record @@ -153,6 +155,12 @@ namespace FineUIPro.Web.Door strSql += " AND P.PersonName LIKE @PersonName"; listStr.Add(new SqlParameter("@PersonName", "%" + this.txtName.Text.Trim() + "%")); } + + strSql += @" ) +SELECT NewID,ProjectId,InstallationName,UnitId,UnitName,PersonName,RecordDate,EmployName,IDCardNo,Nation,NationName ,PostName,WorkIn1,OffDuty1,WorkIn2,OffDuty2,WorkIn3,OffDuty3,ManHours,TeamGroupId,TeamGroupName,WorkPostId,WorkPostName, ManOverHours +FROM CTE +WHERE rn = 1; "; + SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count;