This commit is contained in:
parent
098c1ccacc
commit
2471c8b18b
|
|
@ -55,22 +55,27 @@ namespace FineUIPro.Web.Door
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void GetPersonStatistic()
|
private void GetPersonStatistic()
|
||||||
{
|
{
|
||||||
string strSql = @"WITH CTE AS (
|
string strSql = @"
|
||||||
SELECT ROW_NUMBER() OVER (PARTITION BY Record.IDCardNo,RecordDate ORDER BY OffDuty3 desc,WorkIn3,OffDuty2 desc,WorkIn2,OffDuty1 desc,WorkIn1) as rn
|
SELECT NewID,ManOverHours, ManHours
|
||||||
,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
|
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";
|
|
||||||
List<SqlParameter> listStr = new List<SqlParameter>
|
List<SqlParameter> listStr = new List<SqlParameter>
|
||||||
{
|
{
|
||||||
new SqlParameter("@ProjectId", this.ProjectId)
|
new SqlParameter("@ProjectId", this.ProjectId)
|
||||||
};
|
};
|
||||||
|
if ("-1" != rbPost.SelectedValue)
|
||||||
|
{
|
||||||
|
strSql += " LEFT JOIN SitePerson_Person AS P ON Record.ProjectId=P.ProjectId AND Record.IDCardNo=P.IdentityCard ";
|
||||||
|
}
|
||||||
|
strSql += " WHERE Record.ProjectId = @ProjectId ";
|
||||||
|
if (rbPost.SelectedValue == "0")
|
||||||
|
{
|
||||||
|
strSql += " AND P.OutTime IS NOT NULL";
|
||||||
|
}
|
||||||
|
else if (rbPost.SelectedValue == "1")
|
||||||
|
{
|
||||||
|
strSql += " AND P.OutTime IS NULL";
|
||||||
|
}
|
||||||
|
|
||||||
if (this.drpUnit.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
if (this.drpUnit.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
||||||
{
|
{
|
||||||
|
|
@ -79,11 +84,11 @@ namespace FineUIPro.Web.Door
|
||||||
{
|
{
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
strSql += " AND ( P.UnitId = @UnitId" + i.ToString();
|
strSql += " AND ( Record.UnitId = @UnitId" + i.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strSql += " OR P.UnitId = @UnitId" + i.ToString();
|
strSql += " OR Record.UnitId = @UnitId" + i.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
listStr.Add(new SqlParameter("@UnitId" + i.ToString(), item.Value));
|
listStr.Add(new SqlParameter("@UnitId" + i.ToString(), item.Value));
|
||||||
|
|
@ -99,17 +104,17 @@ namespace FineUIPro.Web.Door
|
||||||
{
|
{
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
strSql += " AND ( P.WorkPostId = @WorkPostId" + i.ToString();
|
strSql += " AND ( Record.PostId = @WorkPostId" + i.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strSql += " OR P.WorkPostId = @WorkPostId" + i.ToString();
|
strSql += " OR Record.PostId = @WorkPostId" + i.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
listStr.Add(new SqlParameter("@WorkPostId" + i.ToString(), item.Value));
|
listStr.Add(new SqlParameter("@WorkPostId" + i.ToString(), item.Value));
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
strSql += " ) ";
|
strSql += " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.drpWorkTeam.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpWorkTeam.SelectedValue))
|
if (this.drpWorkTeam.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpWorkTeam.SelectedValue))
|
||||||
|
|
@ -119,11 +124,11 @@ namespace FineUIPro.Web.Door
|
||||||
{
|
{
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
strSql += " AND ( T.TeamGroupId = @TeamGroupId" + i.ToString();
|
strSql += " AND ( Record.DepartmentID = @TeamGroupId" + i.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strSql += " OR T.TeamGroupId = @TeamGroupId" + i.ToString();
|
strSql += " OR Record.DepartmentID = @TeamGroupId" + i.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
listStr.Add(new SqlParameter("@TeamGroupId" + i.ToString(), item.Value));
|
listStr.Add(new SqlParameter("@TeamGroupId" + i.ToString(), item.Value));
|
||||||
|
|
@ -134,39 +139,44 @@ namespace FineUIPro.Web.Door
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(this.txtStartDate.Text))
|
if (!string.IsNullOrEmpty(this.txtStartDate.Text))
|
||||||
{
|
{
|
||||||
strSql += " AND RecordDate >= @StartDate";
|
strSql += " AND Record.RecordDate >= @StartDate";
|
||||||
listStr.Add(new SqlParameter("@StartDate", this.txtStartDate.Text));
|
listStr.Add(new SqlParameter("@StartDate", this.txtStartDate.Text));
|
||||||
}
|
}
|
||||||
if (rbPost.SelectedValue == "0")
|
|
||||||
{
|
|
||||||
strSql += " AND P.OutTime IS NOT NULL";
|
|
||||||
}
|
|
||||||
else if (rbPost.SelectedValue == "1")
|
|
||||||
{
|
|
||||||
strSql += " AND P.OutTime IS NULL";
|
|
||||||
}
|
|
||||||
if (!string.IsNullOrEmpty(this.txtEndDate.Text))
|
if (!string.IsNullOrEmpty(this.txtEndDate.Text))
|
||||||
{
|
{
|
||||||
strSql += " AND RecordDate <= @EndDate";
|
strSql += " AND Record.RecordDate <= @EndDate";
|
||||||
listStr.Add(new SqlParameter("@EndDate", this.txtEndDate.Text));
|
listStr.Add(new SqlParameter("@EndDate", this.txtEndDate.Text));
|
||||||
}
|
}
|
||||||
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
|
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
|
||||||
{
|
{
|
||||||
strSql += " AND P.PersonName LIKE @PersonName";
|
strSql += " AND Record.EmployName LIKE @PersonName";
|
||||||
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtName.Text.Trim() + "%"));
|
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtName.Text.Trim() + "%"));
|
||||||
}
|
}
|
||||||
|
|
||||||
strSql += @" )
|
strSql += @" order by Record.RecordDate desc, OffDuty3 desc,WorkIn3,OffDuty2 desc,WorkIn2,OffDuty1 desc,WorkIn1 ";
|
||||||
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();
|
SqlParameter[] parameter = listStr.ToArray();
|
||||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
DataTable tbres = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||||
Grid1.RecordCount = tb.Rows.Count;
|
|
||||||
var table = this.GetPagedDataTable(Grid1, tb);
|
List<string> resId = new List<string>();
|
||||||
this.OutputSummaryData(tb); ///取合计值
|
if (tbres != null)
|
||||||
Grid1.DataSource = table;
|
{
|
||||||
|
foreach(DataRow row in tbres.Rows)
|
||||||
|
{
|
||||||
|
resId.Add(row["NewID"].ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
string sqlData = @"SELECT NewID,ProjectId,InstallationName,UnitId,UnitName, EmployName as PersonName,RecordDate,EmployName,IDCardNo,Nation,NationName ,PostName,WorkIn1,OffDuty1,WorkIn2,OffDuty2,WorkIn3,OffDuty3,ManHours,DepartmentID TeamGroupId,DepartName TeamGroupName,PostId WorkPostId,postname WorkPostName, ManOverHours
|
||||||
|
FROM t_d_EmployInOutRecord
|
||||||
|
where NewID in('"+string.Join("','",resId)+"')";
|
||||||
|
|
||||||
|
DataTable tb = SQLHelper.GetDataTableRunText(sqlData, null);
|
||||||
|
Grid1.RecordCount = tbres.Rows.Count;
|
||||||
|
//var table = this.GetPagedDataTable(Grid1, tb);
|
||||||
|
this.OutputSummaryData(tbres); ///取合计值
|
||||||
|
|
||||||
|
Grid1.DataSource = tb;
|
||||||
Grid1.DataBind();
|
Grid1.DataBind();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -174,8 +184,10 @@ WHERE rn = 1; ";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 计算合计
|
/// 计算合计
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void OutputSummaryData(DataTable tb)
|
private void OutputSummaryData( DataTable tb)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
int PSum = 0;
|
int PSum = 0;
|
||||||
int OverHoursSum = 0;
|
int OverHoursSum = 0;
|
||||||
int ManHoursSum = 0;
|
int ManHoursSum = 0;
|
||||||
|
|
@ -189,7 +201,7 @@ WHERE rn = 1; ";
|
||||||
JObject summary = new JObject
|
JObject summary = new JObject
|
||||||
{
|
{
|
||||||
{ "UnitName", "合计:" },
|
{ "UnitName", "合计:" },
|
||||||
{ "EmployName", PSum+"人" },
|
{ "EmployName",PSum+ "人" },
|
||||||
{ "ManHours", ManHoursSum+"小时" },
|
{ "ManHours", ManHoursSum+"小时" },
|
||||||
{ "ManOverHours", OverHoursSum +"小时"}
|
{ "ManOverHours", OverHoursSum +"小时"}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue