This commit is contained in:
geh
2026-09-15 10:24:45 +08:00
parent 77f61d7e06
commit 90d03ab5b3
3 changed files with 139 additions and 92 deletions
+57 -10
View File
@@ -71,16 +71,63 @@ namespace FineUIPro.Web.Door
{
if (!string.IsNullOrEmpty(this.ProjectId))
{
string strSql = @"SELECT 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
LEFT JOIN SitePerson_Person AS P ON Record.ProjectId=P.ProjectId AND Record.IDCardNo=P.IdentityCard
LEFT JOIN Base_Unit AS U ON P.UnitId =U.UnitId
LEFT JOIN ProjectData_TeamGroup AS T ON P.TeamGroupId=T.TeamGroupId
LEFT JOIN Base_WorkPost AS W ON P.WorkPostId =W.WorkPostId
LEFT JOIN RealName_BasicData AS B ON B.dictTypeCode='MINZU_TYPE' AND B.dictCode=P.Nation
WHERE Record.ProjectId = @ProjectId";
// string strSql = @"SELECT 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
// LEFT JOIN SitePerson_Person AS P ON Record.ProjectId=P.ProjectId AND Record.IDCardNo=P.IdentityCard
// LEFT JOIN Base_Unit AS U ON P.UnitId =U.UnitId
// LEFT JOIN ProjectData_TeamGroup AS T ON P.TeamGroupId=T.TeamGroupId
// LEFT JOIN Base_WorkPost AS W ON P.WorkPostId =W.WorkPostId
// LEFT JOIN RealName_BasicData AS B ON B.dictTypeCode='MINZU_TYPE' AND B.dictCode=P.Nation
// WHERE Record.ProjectId = @ProjectId";
string strSql = @"
WITH RecordCTE AS (
SELECT
Record.NewID,
Record.ProjectId,
Record.InstallationName,
P.UnitId,
U.UnitName,
P.PersonName,
Record.RecordDate,
Record.EmployName,
Record.IDCardNo,
P.Nation,
B.dictName AS NationName,
Record.PostName,
Record.WorkIn1,
Record.OffDuty1,
Record.WorkIn2,
Record.OffDuty2,
Record.WorkIn3,
Record.OffDuty3,
Record.ManHours,
T.TeamGroupId,
T.TeamGroupName,
P.WorkPostId,
W.WorkPostName,
Record.ManOverHours,
ROW_NUMBER() OVER(PARTITION BY Record.NewID ORDER BY P.PersonName) AS rn
FROM t_d_EmployInOutRecord AS Record
LEFT JOIN SitePerson_Person AS P
ON Record.ProjectId = P.ProjectId
AND Record.IDCardNo = P.IdentityCard
LEFT JOIN Base_Unit AS U
ON P.UnitId = U.UnitId
LEFT JOIN ProjectData_TeamGroup AS T
ON P.TeamGroupId = T.TeamGroupId
LEFT JOIN Base_WorkPost AS W
ON P.WorkPostId = W.WorkPostId
LEFT JOIN RealName_BasicData AS B
ON B.dictTypeCode = 'MINZU_TYPE'
AND B.dictCode = P.Nation
)
SELECT *
FROM RecordCTE
WHERE rn = 1 and ProjectId = @ProjectId";
List<SqlParameter> listStr = new List<SqlParameter>
{
new SqlParameter("@ProjectId", this.ProjectId)