1626 lines
97 KiB
C#
1626 lines
97 KiB
C#
using BLL;
|
||
using FineUIPro.Web.Controls;
|
||
using Newtonsoft.Json.Linq;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Data.SqlClient;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using AspNet = System.Web.UI.WebControls;
|
||
namespace FineUIPro.Web.HJGL.WeldingReport
|
||
{
|
||
public partial class OneMonthReport : PageBase
|
||
{
|
||
#region 定义变量
|
||
/// <summary>
|
||
/// 主键
|
||
/// </summary>
|
||
public string NDTReportId
|
||
{
|
||
get
|
||
{
|
||
return (string)ViewState["NDTReportId"];
|
||
}
|
||
set
|
||
{
|
||
ViewState["NDTReportId"] = value;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 加载
|
||
/// <summary>
|
||
/// 加载页面
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
List<Model.Base_Unit> units = new List<Model.Base_Unit>();
|
||
var pUnit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
|
||
if (pUnit == null || pUnit.UnitType == Const.ProjectUnitType_1)
|
||
{
|
||
units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
|
||
this.drpUnit.DataTextField = "UnitName";
|
||
this.drpUnit.DataValueField = "UnitId";
|
||
this.drpUnit.DataSource = units;
|
||
this.drpUnit.DataBind();
|
||
this.drpUnit.SelectedValue = CurrUser.UnitId;
|
||
Funs.FineUIPleaseSelect(this.drpUnit);
|
||
}
|
||
else
|
||
{
|
||
units = BLL.UnitService.GetSubUnitsListBySupervisorUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
|
||
this.drpUnit.Enabled = false;
|
||
this.drpUnit.DataTextField = "UnitName";
|
||
this.drpUnit.DataValueField = "UnitId";
|
||
this.drpUnit.DataSource = units;
|
||
this.drpUnit.DataBind();
|
||
this.drpUnit.SelectedValue = CurrUser.UnitId;
|
||
|
||
}
|
||
///单位
|
||
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
||
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now.AddMonths(-1));
|
||
if (this.drpUnit.SelectedValue == BLL.Const._Null)
|
||
{
|
||
this.drpUnit.SelectedIndex = 1;
|
||
}
|
||
//BindGrid();
|
||
|
||
}
|
||
}
|
||
|
||
private void BindGrid()
|
||
{
|
||
string strSql0 = @"SELECT 0 id, WorkArea.WorkAreaId, WorkArea.WorkAreaCode ,--工区代号
|
||
WorkArea.WorkAreaName ,--工区代号
|
||
CAST(ISNULL(total_jot.total_din,0) AS DECIMAL(19,2)) AS total_din ,--总达因
|
||
finished_total_din_bq,week_total_din_bq,0 res_din, '' has_per ,WelderNum
|
||
FROM ProjectData_WorkArea AS WorkArea
|
||
LEFT JOIN (SELECT COUNT(*) total_jot ,pw_isoinfo.WorkAreaId ,
|
||
SUM( case when pw_isoinfo.[Is_Standard] = 0 then JOT_Size else JOT_Size end) AS total_din
|
||
,SUM(JOT_DoneDin) AS finished_total_din
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId) AS total_jot ON total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS finished_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as has_total_jot on has_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS week_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as week_total_jot on week_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
left join(
|
||
select WorkAreaId, sum(WelderNum)as WelderNum from(
|
||
select WorkAreaId,[day],[month], COUNT(distinct JOT_CellWelder) as WelderNum from(SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_CellWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
union
|
||
SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_FloorWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
) as a group by WorkAreaId,[day],[month]) as b group by b.WorkAreaId) as week_welder_num on week_welder_num.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE WorkArea.ProjectId = '" + this.CurrUser.LoginProjectId + "' and WorkArea.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
";
|
||
SqlParameter[] parameter0 = new SqlParameter[] { };
|
||
DataTable tb0 = SQLHelper.GetDataTableRunText(strSql0, parameter0);
|
||
if (tb0 != null)
|
||
{
|
||
var newRow = tb0.NewRow();
|
||
newRow["WorkAreaName"] = "合计";
|
||
newRow["WorkAreaCode"] = "";
|
||
newRow["WorkAreaId"] = "total";
|
||
|
||
decimal total_din = 0;
|
||
decimal finished_total_din_bq = 0;
|
||
decimal week_total_din_bq = 0;
|
||
int WelderNum = 0;
|
||
for (int i = 0; i < tb0.Rows.Count; i++)
|
||
{
|
||
try
|
||
{
|
||
total_din += decimal.Parse(tb0.Rows[i]["total_din"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
finished_total_din_bq += decimal.Parse(tb0.Rows[i]["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
week_total_din_bq += decimal.Parse(tb0.Rows[i]["week_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
WelderNum += int.Parse(tb0.Rows[i]["WelderNum"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
tb0.Rows[i]["res_din"] = decimal.Parse(tb0.Rows[i]["total_din"].ToString()) - decimal.Parse(tb0.Rows[i]["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
tb0.Rows[i]["has_per"] = (100 * decimal.Parse(tb0.Rows[i]["finished_total_din_bq"].ToString()) / decimal.Parse(tb0.Rows[i]["total_din"].ToString())).ToString("##.##");
|
||
}
|
||
catch (Exception e) { }
|
||
}
|
||
|
||
newRow["total_din"] = total_din ;
|
||
newRow["finished_total_din_bq"] = finished_total_din_bq ;
|
||
newRow["week_total_din_bq"] = week_total_din_bq ;
|
||
newRow["WelderNum"] = WelderNum;
|
||
try
|
||
{
|
||
newRow["res_din"] = decimal.Parse(newRow["total_din"].ToString()) - decimal.Parse(newRow["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
newRow["has_per"] = (100 * decimal.Parse(newRow["finished_total_din_bq"].ToString()) / decimal.Parse(newRow["total_din"].ToString())).ToString("##.##");
|
||
}
|
||
catch (Exception e) { }
|
||
tb0.Rows.Add(newRow);
|
||
}
|
||
this.Grid0.DataSource = tb0;
|
||
this.Grid0.DataBind();
|
||
|
||
|
||
|
||
string strSql1 = @"SELECT 0 id, WorkArea.WorkAreaId, WorkArea.WorkAreaCode ,--工区代号
|
||
WorkArea.WorkAreaName ,--工区代号
|
||
CAST(ISNULL(total_jot.total_din,0) AS DECIMAL(19,2)) AS total_din ,--总达因
|
||
finished_total_din_bq,week_total_din_bq,0 res_din, '' has_per ,WelderNum
|
||
FROM ProjectData_WorkArea AS WorkArea
|
||
LEFT JOIN (SELECT COUNT(*) total_jot ,pw_isoinfo.WorkAreaId ,
|
||
SUM( case when pw_isoinfo.[Is_Standard] = 0 then JOT_Size else JOT_Size end) AS total_din
|
||
,SUM(JOT_DoneDin) AS finished_total_din
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId) AS total_jot ON total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS finished_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as has_total_jot on has_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS week_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as week_total_jot on week_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
left join(
|
||
select WorkAreaId, sum(WelderNum)as WelderNum from(
|
||
select WorkAreaId,[day],[month], COUNT(distinct JOT_CellWelder) as WelderNum from(SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_CellWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
union
|
||
SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_FloorWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
) as a group by WorkAreaId,[day],[month]) as b group by b.WorkAreaId) as week_welder_num on week_welder_num.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE WorkArea.ProjectId = '" + this.CurrUser.LoginProjectId + "' and WorkArea.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
";
|
||
SqlParameter[] parameter1 = new SqlParameter[] { };
|
||
DataTable tb1 = SQLHelper.GetDataTableRunText(strSql1, parameter1);
|
||
if (tb1 != null)
|
||
{
|
||
var newRow = tb1.NewRow();
|
||
newRow["WorkAreaName"] = "合计";
|
||
newRow["WorkAreaCode"] = "";
|
||
newRow["WorkAreaId"] = "total";
|
||
|
||
decimal total_din = 0;
|
||
decimal finished_total_din_bq = 0;
|
||
decimal week_total_din_bq = 0;
|
||
int WelderNum = 0;
|
||
for (int i = 0; i < tb1.Rows.Count; i++)
|
||
{
|
||
try
|
||
{
|
||
total_din += decimal.Parse(tb1.Rows[i]["total_din"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
finished_total_din_bq += decimal.Parse(tb1.Rows[i]["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
week_total_din_bq += decimal.Parse(tb1.Rows[i]["week_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
WelderNum += int.Parse(tb1.Rows[i]["WelderNum"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
tb1.Rows[i]["res_din"] = decimal.Parse(tb1.Rows[i]["total_din"].ToString()) - decimal.Parse(tb1.Rows[i]["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
tb1.Rows[i]["has_per"] = (100 * decimal.Parse(tb1.Rows[i]["finished_total_din_bq"].ToString()) / decimal.Parse(tb1.Rows[i]["total_din"].ToString())).ToString("##.##");
|
||
}
|
||
catch (Exception e) { }
|
||
}
|
||
|
||
newRow["total_din"] = total_din;
|
||
newRow["finished_total_din_bq"] = finished_total_din_bq;
|
||
newRow["week_total_din_bq"] = week_total_din_bq;
|
||
newRow["WelderNum"] = WelderNum;
|
||
try
|
||
{
|
||
newRow["res_din"] = decimal.Parse(newRow["total_din"].ToString()) - decimal.Parse(newRow["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e) { }
|
||
try
|
||
{
|
||
newRow["has_per"] = (100 * decimal.Parse(newRow["finished_total_din_bq"].ToString()) / decimal.Parse(newRow["total_din"].ToString())).ToString("##.##");
|
||
}
|
||
catch (Exception e) { }
|
||
tb1.Rows.Add(newRow);
|
||
}
|
||
this.Grid1.DataSource = tb1;
|
||
this.Grid1.DataBind();
|
||
|
||
|
||
string sql2 = @"/*焊工业绩分析*/
|
||
SELECT distinct
|
||
welder.WED_ID,
|
||
welder.ProjectId,
|
||
welder.wed_code,-- 焊工代码
|
||
welder.wed_name,--焊工名称
|
||
welder.Steels,
|
||
(CASE WHEN welder.WED_Sex ='2' THEN '女' ELSE '男' END) AS Sex, --性别
|
||
|
||
ISNULL(nowtotalfilm.nowtotalfilm,0) AS nowtotalfilm, --本期拍片总数
|
||
ISNULL(nowtotalfilm.nowpassfilm,0) AS nowpassfilm, --本期拍片合格数
|
||
CAST((CASE ISNULL(nowtotalfilm.nowtotalfilm,0) WHEN 0 THEN 0
|
||
ELSE 1.0 * isnull(nowtotalfilm.nowpassfilm,0)/(1.0 * nowtotalfilm.nowtotalfilm) END) AS DECIMAL(19,3))
|
||
AS nowpassrate , ---本期拍片合格率
|
||
ISNULL(totalfilm.totalfilm,0) AS totalfilm, --总片数
|
||
ISNULL(totalfilm.passfilm,0) AS passfilm, --合格片数
|
||
(ISNULL(totalfilm.totalfilm , 0) - ISNULL(totalfilm.passfilm ,0)) AS notpassfilm, --不合格片数
|
||
CAST((CASE ISNULL(totalfilm.totalfilm,0) WHEN 0 THEN 0
|
||
ELSE 1.0 * isnull(totalfilm.passfilm,0)/(1.0 * totalfilm.totalfilm) END) AS DECIMAL(19,3))
|
||
AS passrate --合格率
|
||
FROM BS_Welder AS welder
|
||
LEFT JOIN ProjectData_TeamGroup AS teamGroup ON teamGroup.TeamGroupId= welder.TeamGroupId
|
||
---本期拍片总数 --本期拍片合格数
|
||
LEFT JOIN (SELECT SUM(cht_totalfilm) AS nowtotalfilm
|
||
,SUM(cht_passfilm) AS nowpassfilm
|
||
,pw_jointinfo.JOT_CellWelder
|
||
FROM ch_checkitem
|
||
LEFT JOIN pw_jointinfo ON pw_jointinfo.jot_id=ch_checkitem.jot_id
|
||
LEFT JOIN CH_Check ON CH_Check.CHT_CheckID=ch_checkitem.CHT_CheckID
|
||
WHERE (pw_jointinfo.ProjectId = @projectId OR @projectId IS NULL)
|
||
AND ch_checkitem.jot_id is not null
|
||
AND pw_jointinfo.dreportid is not null
|
||
AND ( CH_Check.CHT_CheckDate>= @date1 or @date1 is null) AND (CH_Check.CHT_CheckDate <= @date2 or @date2 is null)
|
||
GROUP BY pw_jointinfo.JOT_CellWelder) AS nowtotalfilm ON nowtotalfilm.JOT_CellWelder = welder.WED_ID
|
||
--总片数 --合格片数
|
||
LEFT JOIN (SELECT SUM(cht_totalfilm) AS totalfilm
|
||
,SUM(cht_passfilm) AS passfilm
|
||
,pw_jointinfo.JOT_CellWelder
|
||
FROM ch_checkitem
|
||
LEFT JOIN pw_jointinfo ON pw_jointinfo.jot_id=ch_checkitem.jot_id
|
||
WHERE (pw_jointinfo.ProjectId = @projectId OR @projectId IS NULL)
|
||
AND ch_checkitem.jot_id is not null
|
||
GROUP BY pw_jointinfo.JOT_CellWelder) AS totalfilm ON totalfilm.JOT_CellWelder = welder.WED_ID
|
||
|
||
WHERE (welder.ProjectId = @projectId OR @projectId IS NULL)
|
||
AND (welder.WED_Unit=@unitcode OR @unitcode IS NULL)
|
||
|
||
order BY welder.WED_Code
|
||
";
|
||
|
||
|
||
List<SqlParameter> listStr = new List<SqlParameter>
|
||
{
|
||
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
|
||
};
|
||
if (this.drpUnit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
||
{
|
||
listStr.Add(new SqlParameter("@unitcode", this.drpUnit.SelectedValue));
|
||
}
|
||
else
|
||
{
|
||
listStr.Add(new SqlParameter("@unitcode", null));
|
||
}
|
||
|
||
|
||
listStr.Add(new SqlParameter("@date1", this.txtStartDate.Text.Trim()));
|
||
listStr.Add(new SqlParameter("@date2", this.txtEndDate.Text.Trim()));
|
||
|
||
SqlParameter[] parameter2 = listStr.ToArray();
|
||
DataTable tb = SQLHelper.GetDataTableRunText(sql2, parameter2);
|
||
|
||
DataTable tb3 = tb.Clone();
|
||
DataTable tb4 = tb.Clone();
|
||
foreach (DataRow row in tb.Rows)
|
||
{
|
||
var welder = WelderService.GetWelderById(row["WED_ID"].ToString());
|
||
if (welder.WED_TYPE == "管道")
|
||
{
|
||
var temprow= tb3.NewRow();
|
||
for(int i = 0; i < tb3.Columns.Count; i++)
|
||
{
|
||
temprow[i] = row[i];
|
||
}
|
||
tb3.Rows.Add(temprow);
|
||
}
|
||
else if (welder.WED_TYPE == "设备")
|
||
{
|
||
var temprow = tb4.NewRow();
|
||
for (int i = 0; i < tb3.Columns.Count; i++)
|
||
{
|
||
temprow[i] = row[i];
|
||
}
|
||
tb4.Rows.Add(temprow);
|
||
}
|
||
}
|
||
|
||
this.Grid2.RecordCount = tb3.Rows.Count;
|
||
//var table3 = this.GetPagedDataTable(Grid2, tb3);
|
||
Grid2.DataSource = tb3;
|
||
Grid2.SummaryData= OutputSummaryData(tb3);
|
||
Grid2.DataBind();
|
||
|
||
|
||
this.Grid3.RecordCount = tb4.Rows.Count;
|
||
//var table4 = this.GetPagedDataTable(Grid3, tb4);
|
||
Grid3.DataSource = tb4;
|
||
Grid3.SummaryData = OutputSummaryData(tb4);
|
||
Grid3.DataBind();
|
||
|
||
|
||
|
||
|
||
string strSql4 = @"SELECT WorkArea.ProjectId
|
||
,Unit.UnitCode AS bsu_unitcode--单位代码
|
||
,Unit.UnitName AS bsu_unitname--单位名称
|
||
,Installation.InstallationCode AS devicecode--装置代号
|
||
,Installation.InstallationName AS devicename--装置名称
|
||
,WorkArea.WorkAreaCode AS baw_areano--工区代号
|
||
,WorkArea.WorkAreaName AS baw_areaname--工区代号
|
||
|
||
|
||
,ISNULL(current_total_film.current_total_film, 0) AS current_total_film --本期总拍片数
|
||
,ISNULL(current_total_film.current_pass_film, 0) AS current_pass_film --本期合格片数
|
||
|
||
,CAST((CASE ISNULL(current_total_film.current_total_film, 0)
|
||
|
||
WHEN 0 THEN 0
|
||
|
||
ELSE 1.0 * ISNULL(current_total_film.current_pass_film, 0) / (1.0 * current_total_film.current_total_film)
|
||
|
||
END) AS DECIMAL(19,3)) AS current_passreate --本期合格率
|
||
|
||
|
||
|
||
,ISNULL(current_check_count_total.total_film, 0) AS total_film --总拍片数
|
||
,ISNULL(current_check_count_total.pass_film, 0) AS pass_film --合格片数
|
||
,CAST((CASE ISNULL(current_check_count_total.total_film, 0)
|
||
|
||
WHEN 0 THEN 0
|
||
|
||
ELSE 1.0 * ISNULL(current_check_count_total.pass_film, 0) / (1.0 * current_check_count_total.total_film)
|
||
|
||
END) AS DECIMAL(19,3)) AS passreate --合格率
|
||
|
||
FROM(select WorkAreaCode, WorkAreaName,WorkAreaId, UnitId, InstallationId, ProjectId, SupervisorUnitId
|
||
from ProjectData_WorkArea ) AS WorkArea
|
||
LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId = Unit.UnitId
|
||
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = WorkArea.InstallationId
|
||
--本期总拍片数
|
||
LEFT JOIN(SELECT SUM(cht_totalfilm) AS current_total_film
|
||
, SUM(cht_passfilm) AS current_pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
AND(cht_checkdate >= @date1 OR @date1 IS NULL) and(cht_checkdate <= @date2 OR @date2 IS NULL)) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_total_film ON current_total_film.WorkAreaId = WorkArea.WorkAreaId
|
||
|
||
--本期总检测数
|
||
LEFT JOIN(SELECT COUNT(*) AS current_check_count_total
|
||
, SUM(cht_totalfilm) AS total_film
|
||
, SUM(cht_passfilm) AS pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_check_count_total ON current_check_count_total.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE(WorkArea.ProjectId = @projectId) AND
|
||
(WorkArea.UnitId = @unitno OR @UnitNo IS NULL)
|
||
ORDER BY Unit.UnitCode ,Installation.InstallationCode";
|
||
|
||
|
||
List<SqlParameter> listpar4 = new List<SqlParameter>
|
||
{
|
||
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
|
||
};
|
||
if (this.drpUnit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
||
{
|
||
listpar4.Add(new SqlParameter("@unitNo", this.drpUnit.SelectedValue));
|
||
}
|
||
else
|
||
{
|
||
listpar4.Add(new SqlParameter("@unitNo", null));
|
||
} ;
|
||
listpar4.Add(new SqlParameter("@date1", this.txtStartDate.Text.Trim()));
|
||
listpar4.Add(new SqlParameter("@date2", this.txtEndDate.Text.Trim()));
|
||
|
||
listpar4.Add(new SqlParameter("@WED_TYPE", "管道"));
|
||
SqlParameter[] parameter4 = listpar4.ToArray();
|
||
DataTable dt4 = SQLHelper.GetDataTableRunText(strSql4, parameter4);
|
||
|
||
Grid4.DataSource = dt4;
|
||
Grid4.SummaryData = OutputSummaryData2(dt4);
|
||
Grid4.DataBind();
|
||
|
||
|
||
string strSql5 = @"SELECT WorkArea.ProjectId
|
||
,Unit.UnitCode AS bsu_unitcode--单位代码
|
||
,Unit.UnitName AS bsu_unitname--单位名称
|
||
,Installation.InstallationCode AS devicecode--装置代号
|
||
,Installation.InstallationName AS devicename--装置名称
|
||
,WorkArea.WorkAreaCode AS baw_areano--工区代号
|
||
,WorkArea.WorkAreaName AS baw_areaname--工区代号
|
||
|
||
|
||
,ISNULL(current_total_film.current_total_film, 0) AS current_total_film --本期总拍片数
|
||
,ISNULL(current_total_film.current_pass_film, 0) AS current_pass_film --本期合格片数
|
||
|
||
,CAST((CASE ISNULL(current_total_film.current_total_film, 0)
|
||
|
||
WHEN 0 THEN 0
|
||
|
||
ELSE 1.0 * ISNULL(current_total_film.current_pass_film, 0) / (1.0 * current_total_film.current_total_film)
|
||
|
||
END) AS DECIMAL(19,3)) AS current_passreate --本期合格率
|
||
|
||
|
||
|
||
,ISNULL(current_check_count_total.total_film, 0) AS total_film --总拍片数
|
||
,ISNULL(current_check_count_total.pass_film, 0) AS pass_film --合格片数
|
||
,CAST((CASE ISNULL(current_check_count_total.total_film, 0)
|
||
|
||
WHEN 0 THEN 0
|
||
|
||
ELSE 1.0 * ISNULL(current_check_count_total.pass_film, 0) / (1.0 * current_check_count_total.total_film)
|
||
|
||
END) AS DECIMAL(19,3)) AS passreate --合格率
|
||
|
||
FROM(select WorkAreaCode, WorkAreaName,WorkAreaId, UnitId, InstallationId, ProjectId, SupervisorUnitId
|
||
from ProjectData_WorkArea ) AS WorkArea
|
||
LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId = Unit.UnitId
|
||
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = WorkArea.InstallationId
|
||
--本期总拍片数
|
||
LEFT JOIN(SELECT SUM(cht_totalfilm) AS current_total_film
|
||
, SUM(cht_passfilm) AS current_pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
AND(cht_checkdate >= @date1 OR @date1 IS NULL) and(cht_checkdate <= @date2 OR @date2 IS NULL)) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_total_film ON current_total_film.WorkAreaId = WorkArea.WorkAreaId
|
||
|
||
--本期总检测数
|
||
LEFT JOIN(SELECT COUNT(*) AS current_check_count_total
|
||
, SUM(cht_totalfilm) AS total_film
|
||
, SUM(cht_passfilm) AS pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_check_count_total ON current_check_count_total.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE(WorkArea.ProjectId = @projectId) AND
|
||
(WorkArea.UnitId = @unitno OR @UnitNo IS NULL)
|
||
ORDER BY Unit.UnitCode ,Installation.InstallationCode";
|
||
|
||
|
||
List<SqlParameter> listpar5 = new List<SqlParameter>
|
||
{
|
||
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
|
||
};
|
||
if (this.drpUnit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
||
{
|
||
listpar5.Add(new SqlParameter("@unitNo", this.drpUnit.SelectedValue));
|
||
}
|
||
else
|
||
{
|
||
listpar5.Add(new SqlParameter("@unitNo", null));
|
||
};
|
||
listpar5.Add(new SqlParameter("@date1", this.txtStartDate.Text.Trim()));
|
||
listpar5.Add(new SqlParameter("@date2", this.txtEndDate.Text.Trim()));
|
||
|
||
listpar5.Add(new SqlParameter("@WED_TYPE", "设备"));
|
||
SqlParameter[] parameter5= listpar5.ToArray();
|
||
DataTable dt5 = SQLHelper.GetDataTableRunText(strSql5, parameter5);
|
||
|
||
Grid5.DataSource = dt5;
|
||
Grid5.SummaryData = OutputSummaryData2(dt5);
|
||
Grid5.DataBind();
|
||
|
||
|
||
}
|
||
#endregion
|
||
#region 计算合计
|
||
/// <summary>
|
||
/// 计算合计
|
||
/// </summary>
|
||
protected JObject OutputSummaryData(DataTable tb)
|
||
{
|
||
if (tb != null)
|
||
{
|
||
int nowtotalfilm = 0;//本期拍片总数
|
||
int nowpassfilm = 0;//本期拍片合格数
|
||
int nownotpassfilm = 0;//本期拍片不合格数
|
||
string nowpassrate = "";
|
||
int totalfilm = 0;//总片数
|
||
int passfilm = 0;//合格片数
|
||
string passrate = "";
|
||
foreach (DataRow row in tb.Rows)
|
||
{
|
||
nowtotalfilm += Funs.GetNewIntOrZero(row["nowtotalfilm"].ToString());
|
||
nowpassfilm += Funs.GetNewIntOrZero(row["nowpassfilm"].ToString());
|
||
totalfilm += Funs.GetNewIntOrZero(row["totalfilm"].ToString());
|
||
passfilm += Funs.GetNewIntOrZero(row["passfilm"].ToString());
|
||
}
|
||
if (totalfilm > 0)
|
||
passrate = (100.0 * passfilm / totalfilm).ToString("#.#") + "%";
|
||
if (nowtotalfilm > 0)
|
||
nowpassrate = (100.0 * nowpassfilm / nowtotalfilm).ToString("#.#") + "%";
|
||
JObject summary = new JObject
|
||
{
|
||
{ "wed_name", "合计" },
|
||
{ "nowtotalfilm", nowtotalfilm },
|
||
{ "nowpassfilm", nowpassfilm },
|
||
{ "nowpassrate",nowpassrate},
|
||
{ "totalfilm", totalfilm },
|
||
{ "passfilm", passfilm },
|
||
{"passrate",passrate }
|
||
};
|
||
return summary;
|
||
}
|
||
return null;
|
||
}
|
||
protected JObject OutputSummaryData2(DataTable tb)
|
||
{
|
||
if (tb != null)
|
||
{
|
||
int current_count_film = 0;//本期拍片焊口数
|
||
int current_pass_film = 0;//本期拍片焊口合格数
|
||
int totalfilm = 0;//总片数
|
||
int passfilm = 0;//合格片数
|
||
string passrate = "0.0%";
|
||
string current_passrate = "0.0%";
|
||
foreach (DataRow row in tb.Rows)
|
||
{
|
||
current_count_film += Funs.GetNewIntOrZero(row["current_total_film"].ToString());
|
||
current_pass_film += Funs.GetNewIntOrZero(row["current_pass_film"].ToString());
|
||
totalfilm += Funs.GetNewIntOrZero(row["total_film"].ToString());
|
||
passfilm += Funs.GetNewIntOrZero(row["pass_film"].ToString());
|
||
}
|
||
if (current_count_film > 0)
|
||
current_passrate = (100.0 * current_pass_film / current_count_film).ToString("#.#") + "%";
|
||
if (totalfilm > 0)
|
||
passrate = (100.0 * passfilm / totalfilm).ToString("#.#") + "%";
|
||
|
||
JObject summary = new JObject
|
||
{
|
||
{ "baw_areaname", "合计" },
|
||
|
||
{ "current_total_film", current_count_film },
|
||
{ "current_pass_film", current_pass_film },
|
||
|
||
{ "total_film", totalfilm },
|
||
{ "pass_film", passfilm },
|
||
{"passreate",passrate },
|
||
{ "current_passreate", current_passrate }
|
||
};
|
||
return summary;
|
||
|
||
}
|
||
return null;
|
||
}
|
||
|
||
|
||
#endregion
|
||
#region 查询
|
||
/// <summary>
|
||
/// 查询
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnSearch_Click(object sender, EventArgs e)
|
||
{
|
||
string projectName = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName;
|
||
if (string.IsNullOrEmpty(this.txtStartDate.Text) || string.IsNullOrEmpty(this.txtEndDate.Text))
|
||
{
|
||
Alert.ShowInTop("日期不能为空!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
|
||
if (drpUnit.SelectedValue == BLL.Const._Null)
|
||
{
|
||
Alert.ShowInTop("单位不能为空!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
|
||
this.LabelUnit3.Text = "施工单位:" + drpUnit.SelectedText;
|
||
var unit1 = ProjectUnitService.GetProjectUnitListByProjectIdUnitType(this.CurrUser.LoginProjectId, Const.ProjectUnitType_1);
|
||
if (unit1 != null && unit1.Count > 0)
|
||
{
|
||
string unitids1 = "";
|
||
foreach(var u in unit1)
|
||
{
|
||
unitids1 += u.UnitId+ ",";
|
||
}
|
||
this.LabelUnit1.Text = "总包单位:" + UnitService.getUnitNamesUnitIds(unitids1.TrimEnd(','));
|
||
}
|
||
var unit3 = ProjectUnitService.GetProjectUnitListByProjectIdUnitType(this.CurrUser.LoginProjectId, Const.ProjectUnitType_3);
|
||
if (unit3 != null && unit1.Count > 0)
|
||
{
|
||
string unitids1 = "";
|
||
foreach (var u in unit3)
|
||
{
|
||
unitids1 += u.UnitId + ",";
|
||
}
|
||
this.LabelUnit2.Text = "监理单位:" + UnitService.getUnitNamesUnitIds(unitids1.TrimEnd(','));
|
||
}
|
||
|
||
BindGrid();
|
||
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 保存
|
||
/// <summary>
|
||
/// 保存
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnSave_Click(object sender, EventArgs e)
|
||
{
|
||
if (!string.IsNullOrEmpty(this.txtStartDate.Text) && !string.IsNullOrEmpty(this.txtEndDate.Text))
|
||
{
|
||
Model.NDTReport ndtReport = new Model.NDTReport();
|
||
ndtReport.NDTReportId = this.NDTReportId;
|
||
ndtReport.ProjectId = this.CurrUser.LoginProjectId;
|
||
ndtReport.StartDate = Funs.GetNewDateTime(this.txtStartDate.Text.Trim());
|
||
ndtReport.EndDate = Funs.GetNewDateTime(this.txtEndDate.Text.Trim());
|
||
ndtReport.RType = "1";
|
||
BLL.NDTReportService.AddNDTReort(ndtReport);
|
||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||
BindGrid();
|
||
this.txtStartDate.Text = string.Empty;
|
||
this.txtEndDate.Text = string.Empty;
|
||
}
|
||
else
|
||
{
|
||
Alert.ShowInTop("日期不能为空!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 右键删除
|
||
/// <summary>
|
||
/// 右键删除
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
||
{
|
||
if (Grid1.SelectedRowIndexArray.Length > 0)
|
||
{
|
||
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
||
{
|
||
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
||
var rep = BLL.NDTReportService.GetNDTReportById(rowID);
|
||
if (rep != null)
|
||
{
|
||
BLL.NDTReportService.DeleteNDTReportById(rowID);
|
||
}
|
||
}
|
||
ShowNotify("删除成功!", MessageBoxIcon.Success);
|
||
BindGrid();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 日期选择事件
|
||
/// <summary>
|
||
/// 开始日期选择事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void txtStartDate_TextChanged(object sender, EventArgs e)
|
||
{
|
||
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
|
||
{
|
||
this.txtEndDate.Text = Funs.GetNewDateTime(this.txtStartDate.Text.Trim()).Value.AddMonths(1).ToShortDateString();
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 结束日期选择事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void txtEndDate_TextChanged(object sender, EventArgs e)
|
||
{
|
||
if (!string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
|
||
{
|
||
this.txtStartDate.Text = Funs.GetNewDateTime(this.txtEndDate.Text.Trim()).Value.AddMonths(-1).ToShortDateString();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// 导出
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnOut_Click(object sender, EventArgs e)
|
||
{
|
||
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
|
||
keyValuePairs.Add("ConUnit", drpUnit.SelectedText);
|
||
|
||
var unit1 = ProjectUnitService.GetProjectUnitListByProjectIdUnitType(this.CurrUser.LoginProjectId, Const.ProjectUnitType_1);
|
||
if (unit1 != null && unit1.Count > 0)
|
||
{
|
||
string unitids1 = "";
|
||
foreach (var u in unit1)
|
||
{
|
||
unitids1 += u.UnitId + ",";
|
||
}
|
||
keyValuePairs.Add("totalUnit", UnitService.getUnitNamesUnitIds(unitids1.TrimEnd(',')));
|
||
|
||
}
|
||
var unit3 = ProjectUnitService.GetProjectUnitListByProjectIdUnitType(this.CurrUser.LoginProjectId, Const.ProjectUnitType_3);
|
||
if (unit3 != null && unit1.Count > 0)
|
||
{
|
||
string unitids1 = "";
|
||
foreach (var u in unit3)
|
||
{
|
||
unitids1 += u.UnitId + ",";
|
||
}
|
||
keyValuePairs.Add("supUnit", UnitService.getUnitNamesUnitIds(unitids1.TrimEnd(',')));
|
||
}
|
||
BLL.Common.FastReportService.ResetData();
|
||
|
||
BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs);
|
||
|
||
string strSql1 = @"SELECT 0 id,'' StaDate, WorkArea.WorkAreaId, WorkArea.WorkAreaCode ,--工区代号
|
||
WorkArea.WorkAreaName ,--工区代号
|
||
CAST(ISNULL(total_jot.total_din,0) AS DECIMAL(19,2)) AS total_din ,--总达因
|
||
finished_total_din_bq,week_total_din_bq,0 res_din, '' has_per ,WelderNum
|
||
FROM ProjectData_WorkArea AS WorkArea
|
||
LEFT JOIN (SELECT COUNT(*) total_jot ,pw_isoinfo.WorkAreaId ,
|
||
SUM( case when pw_isoinfo.[Is_Standard] = 0 then JOT_Size else JOT_Size end) AS total_din
|
||
,SUM(JOT_DoneDin) AS finished_total_din
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId) AS total_jot ON total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS finished_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as has_total_jot on has_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS week_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as week_total_jot on week_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
left join(
|
||
select WorkAreaId, sum(WelderNum)as WelderNum from(
|
||
select WorkAreaId,[day],[month], COUNT(distinct JOT_CellWelder) as WelderNum from(SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_CellWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
union
|
||
SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_FloorWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 0 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
) as a group by WorkAreaId,[day],[month]) as b group by b.WorkAreaId) as week_welder_num on week_welder_num.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE WorkArea.ProjectId = '" + this.CurrUser.LoginProjectId + "' and WorkArea.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
";
|
||
SqlParameter[] parameter1 = new SqlParameter[] { };
|
||
DataTable tb1 = SQLHelper.GetDataTableRunText(strSql1, parameter1);
|
||
if (tb1 != null)
|
||
{
|
||
|
||
int WelderNum = 0;
|
||
for (int i = 0; i < tb1.Rows.Count; i++)
|
||
{
|
||
try
|
||
{
|
||
if (string.IsNullOrEmpty(tb1.Rows[i]["WelderNum"].ToString()))
|
||
{
|
||
tb1.Rows[i]["WelderNum"] = 0;
|
||
}
|
||
if (string.IsNullOrEmpty(tb1.Rows[i]["week_total_din_bq"].ToString()))
|
||
{
|
||
tb1.Rows[i]["week_total_din_bq"] = 0;
|
||
}
|
||
if (string.IsNullOrEmpty(tb1.Rows[i]["finished_total_din_bq"].ToString()))
|
||
{
|
||
tb1.Rows[i]["finished_total_din_bq"] = 0;
|
||
}
|
||
}
|
||
catch (Exception e11) { }
|
||
try
|
||
{
|
||
WelderNum += int.Parse(tb1.Rows[i]["WelderNum"].ToString());
|
||
}
|
||
catch (Exception e1) { }
|
||
try
|
||
{
|
||
tb1.Rows[i]["res_din"] = decimal.Parse(tb1.Rows[i]["total_din"].ToString()) - decimal.Parse(tb1 .Rows[i]["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e2) { }
|
||
try
|
||
{
|
||
tb1.Rows[i]["has_per"] = (100 * decimal.Parse(tb1.Rows[i]["finished_total_din_bq"].ToString()) / decimal.Parse(tb1.Rows[i]["total_din"].ToString())).ToString("##.##");
|
||
}
|
||
catch (Exception e3) { }
|
||
}
|
||
|
||
|
||
}
|
||
tb1.TableName = "Table0";
|
||
BLL.Common.FastReportService.AddFastreportTable(tb1);
|
||
|
||
string strSql = @"SELECT 0 id,'' StaDate, WorkArea.WorkAreaId, WorkArea.WorkAreaCode ,--工区代号
|
||
WorkArea.WorkAreaName ,--工区代号
|
||
CAST(ISNULL(total_jot.total_din,0) AS DECIMAL(19,2)) AS total_din ,--总达因
|
||
finished_total_din_bq,week_total_din_bq,0 res_din, '' has_per ,WelderNum
|
||
FROM ProjectData_WorkArea AS WorkArea
|
||
LEFT JOIN (SELECT COUNT(*) total_jot ,pw_isoinfo.WorkAreaId ,
|
||
SUM( case when pw_isoinfo.[Is_Standard] = 0 then JOT_Size else JOT_Size end) AS total_din
|
||
,SUM(JOT_DoneDin) AS finished_total_din
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId) AS total_jot ON total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS finished_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as has_total_jot on has_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
LEFT JOIN(
|
||
SELECT
|
||
pw_isoinfo.WorkAreaId , SUM(
|
||
case when pw_isoinfo.[Is_Standard] = 0 then JOT_DoneDin else [JOT_DoneDin] end
|
||
) AS week_total_din_bq
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
GROUP BY pw_isoinfo.WorkAreaId ) as week_total_jot on week_total_jot.WorkAreaId = WorkArea.WorkAreaId
|
||
left join(
|
||
select WorkAreaId, sum(WelderNum)as WelderNum from(
|
||
select WorkAreaId,[day],[month], COUNT(distinct JOT_CellWelder) as WelderNum from(SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_CellWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
union
|
||
SELECT DAY(jot_welddate) as [day], MONTH(jot_welddate) as [month],
|
||
pw_isoinfo.WorkAreaId, JOT_FloorWelder
|
||
FROM pw_jointinfo
|
||
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
||
LEFT JOIN Base_Material ON Base_Material.MaterialId = pw_jointinfo.MaterialId
|
||
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
||
WHERE pw_isoinfo.[Is_Standard] = 1 and pw_isoinfo.ProjectId = '" + this.CurrUser.LoginProjectId + "' and pw_isoinfo.UnitId = '" + this.drpUnit.SelectedValue + @"' and jot_welddate >='" + txtStartDate.SelectedDate.Value.ToString("yyyy-MM-dd") + "' and jot_welddate <'" + txtEndDate.SelectedDate.Value.ToString("yyyy-MM-dd") + @"'
|
||
|
||
) as a group by WorkAreaId,[day],[month]) as b group by b.WorkAreaId) as week_welder_num on week_welder_num.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE WorkArea.ProjectId = '" + this.CurrUser.LoginProjectId + "' and WorkArea.UnitId ='" + this.drpUnit.SelectedValue + @"'
|
||
";
|
||
SqlParameter[] parameter = new SqlParameter[] { };
|
||
DataTable tb2 = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||
if (tb2 != null)
|
||
{
|
||
|
||
int WelderNum = 0;
|
||
for (int i = 0; i < tb2.Rows.Count; i++)
|
||
{
|
||
try
|
||
{
|
||
if (string.IsNullOrEmpty(tb2.Rows[i]["WelderNum"].ToString()))
|
||
{
|
||
tb2.Rows[i]["WelderNum"] = 0;
|
||
}
|
||
if (string.IsNullOrEmpty(tb2.Rows[i]["week_total_din_bq"].ToString()))
|
||
{
|
||
tb2.Rows[i]["week_total_din_bq"] = 0;
|
||
}
|
||
if (string.IsNullOrEmpty(tb2.Rows[i]["finished_total_din_bq"].ToString()))
|
||
{
|
||
tb2.Rows[i]["finished_total_din_bq"] = 0;
|
||
}
|
||
}
|
||
catch (Exception e11) { }
|
||
try
|
||
{
|
||
WelderNum += int.Parse(tb2.Rows[i]["WelderNum"].ToString());
|
||
}
|
||
catch (Exception e1) { }
|
||
try
|
||
{
|
||
tb2.Rows[i]["res_din"] = decimal.Parse(tb2.Rows[i]["total_din"].ToString()) - decimal.Parse(tb2.Rows[i]["finished_total_din_bq"].ToString());
|
||
}
|
||
catch (Exception e2) { }
|
||
try
|
||
{
|
||
tb2.Rows[i]["has_per"] = (100 * decimal.Parse(tb2.Rows[i]["finished_total_din_bq"].ToString()) / decimal.Parse(tb2.Rows[i]["total_din"].ToString())).ToString("##.##");
|
||
}
|
||
catch (Exception e3) { }
|
||
}
|
||
|
||
|
||
}
|
||
tb2.TableName = "Table1";
|
||
BLL.Common.FastReportService.AddFastreportTable(tb2);
|
||
string sql2 = @"/*焊工业绩分析*/
|
||
SELECT distinct
|
||
welder.WED_ID,
|
||
welder.ProjectId,
|
||
welder.wed_code,-- 焊工代码
|
||
welder.wed_name,--焊工名称
|
||
welder.Steels,
|
||
(CASE WHEN welder.WED_Sex ='2' THEN '女' ELSE '男' END) AS Sex, --性别
|
||
|
||
ISNULL(nowtotalfilm.nowtotalfilm,0) AS nowtotalfilm, --本期拍片总数
|
||
ISNULL(nowtotalfilm.nowpassfilm,0) AS nowpassfilm, --本期拍片合格数
|
||
CAST((CASE ISNULL(nowtotalfilm.nowtotalfilm,0) WHEN 0 THEN 0
|
||
ELSE 1.0 * isnull(nowtotalfilm.nowpassfilm,0)/(1.0 * nowtotalfilm.nowtotalfilm) END) AS DECIMAL(19,3))
|
||
AS nowpassrate , ---本期拍片合格率
|
||
ISNULL(totalfilm.totalfilm,0) AS totalfilm, --总片数
|
||
ISNULL(totalfilm.passfilm,0) AS passfilm, --合格片数
|
||
(ISNULL(totalfilm.totalfilm , 0) - ISNULL(totalfilm.passfilm ,0)) AS notpassfilm, --不合格片数
|
||
CAST((CASE ISNULL(totalfilm.totalfilm,0) WHEN 0 THEN 0
|
||
ELSE 1.0 * isnull(totalfilm.passfilm,0)/(1.0 * totalfilm.totalfilm) END) AS DECIMAL(19,3))
|
||
AS passrate --合格率
|
||
FROM BS_Welder AS welder
|
||
LEFT JOIN ProjectData_TeamGroup AS teamGroup ON teamGroup.TeamGroupId= welder.TeamGroupId
|
||
---本期拍片总数 --本期拍片合格数
|
||
LEFT JOIN (SELECT SUM(cht_totalfilm) AS nowtotalfilm
|
||
,SUM(cht_passfilm) AS nowpassfilm
|
||
,pw_jointinfo.JOT_CellWelder
|
||
FROM ch_checkitem
|
||
LEFT JOIN pw_jointinfo ON pw_jointinfo.jot_id=ch_checkitem.jot_id
|
||
LEFT JOIN CH_Check ON CH_Check.CHT_CheckID=ch_checkitem.CHT_CheckID
|
||
WHERE (pw_jointinfo.ProjectId = @projectId OR @projectId IS NULL)
|
||
AND ch_checkitem.jot_id is not null
|
||
AND pw_jointinfo.dreportid is not null
|
||
AND ( CH_Check.CHT_CheckDate>= @date1 or @date1 is null) AND (CH_Check.CHT_CheckDate <= @date2 or @date2 is null)
|
||
GROUP BY pw_jointinfo.JOT_CellWelder) AS nowtotalfilm ON nowtotalfilm.JOT_CellWelder = welder.WED_ID
|
||
--总片数 --合格片数
|
||
LEFT JOIN (SELECT SUM(cht_totalfilm) AS totalfilm
|
||
,SUM(cht_passfilm) AS passfilm
|
||
,pw_jointinfo.JOT_CellWelder
|
||
FROM ch_checkitem
|
||
LEFT JOIN pw_jointinfo ON pw_jointinfo.jot_id=ch_checkitem.jot_id
|
||
WHERE (pw_jointinfo.ProjectId = @projectId OR @projectId IS NULL)
|
||
AND ch_checkitem.jot_id is not null
|
||
GROUP BY pw_jointinfo.JOT_CellWelder) AS totalfilm ON totalfilm.JOT_CellWelder = welder.WED_ID
|
||
|
||
WHERE (welder.ProjectId = @projectId OR @projectId IS NULL)
|
||
AND (welder.WED_Unit=@unitcode OR @unitcode IS NULL)
|
||
|
||
order BY welder.WED_Code
|
||
";
|
||
|
||
List<SqlParameter> listStr = new List<SqlParameter>
|
||
{
|
||
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
|
||
};
|
||
if (this.drpUnit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
||
{
|
||
listStr.Add(new SqlParameter("@unitcode", this.drpUnit.SelectedValue));
|
||
}
|
||
else
|
||
{
|
||
listStr.Add(new SqlParameter("@unitcode", null));
|
||
}
|
||
|
||
|
||
listStr.Add(new SqlParameter("@date1", this.txtStartDate.Text.Trim()));
|
||
listStr.Add(new SqlParameter("@date2", this.txtEndDate.Text.Trim()));
|
||
|
||
SqlParameter[] parameter2 = listStr.ToArray();
|
||
DataTable tb = SQLHelper.GetDataTableRunText(sql2, parameter2);
|
||
|
||
DataTable tb3 = tb.Clone();
|
||
DataTable tb4 = tb.Clone();
|
||
foreach (DataRow row in tb.Rows)
|
||
{
|
||
var welder = WelderService.GetWelderById(row["WED_ID"].ToString());
|
||
if (welder.WED_TYPE == "管道")
|
||
{
|
||
var temprow = tb3.NewRow();
|
||
for (int i = 0; i < tb3.Columns.Count; i++)
|
||
{
|
||
temprow[i] = row[i];
|
||
}
|
||
tb3.Rows.Add(temprow);
|
||
}
|
||
else if (welder.WED_TYPE == "设备")
|
||
{
|
||
var temprow = tb4.NewRow();
|
||
for (int i = 0; i < tb3.Columns.Count; i++)
|
||
{
|
||
temprow[i] = row[i];
|
||
}
|
||
tb4.Rows.Add(temprow);
|
||
}
|
||
}
|
||
|
||
tb3.TableName = "Table4";
|
||
|
||
tb4.TableName = "Table5";
|
||
|
||
BLL.Common.FastReportService.AddFastreportTable(tb3);
|
||
BLL.Common.FastReportService.AddFastreportTable(tb4);
|
||
|
||
|
||
|
||
|
||
string strSql4 = @"SELECT WorkArea.ProjectId
|
||
,Unit.UnitCode AS bsu_unitcode--单位代码
|
||
,Unit.UnitName AS bsu_unitname--单位名称
|
||
,Installation.InstallationCode AS devicecode--装置代号
|
||
,Installation.InstallationName AS devicename--装置名称
|
||
,WorkArea.WorkAreaCode AS baw_areano--工区代号
|
||
,WorkArea.WorkAreaName AS baw_areaname--工区代号
|
||
|
||
|
||
,ISNULL(current_total_film.current_total_film, 0) AS current_total_film --本期总拍片数
|
||
,ISNULL(current_total_film.current_pass_film, 0) AS current_pass_film --本期合格片数
|
||
|
||
,CAST((CASE ISNULL(current_total_film.current_total_film, 0)
|
||
|
||
WHEN 0 THEN 0
|
||
|
||
ELSE 1.0 * ISNULL(current_total_film.current_pass_film, 0) / (1.0 * current_total_film.current_total_film)
|
||
|
||
END) AS DECIMAL(19,3)) AS current_passreate --本期合格率
|
||
|
||
|
||
|
||
,ISNULL(current_check_count_total.total_film, 0) AS total_film --总拍片数
|
||
,ISNULL(current_check_count_total.pass_film, 0) AS pass_film --合格片数
|
||
,CAST((CASE ISNULL(current_check_count_total.total_film, 0)
|
||
|
||
WHEN 0 THEN 0
|
||
|
||
ELSE 1.0 * ISNULL(current_check_count_total.pass_film, 0) / (1.0 * current_check_count_total.total_film)
|
||
|
||
END) AS DECIMAL(19,3)) AS passreate --合格率
|
||
|
||
FROM(select WorkAreaCode, WorkAreaName,WorkAreaId, UnitId, InstallationId, ProjectId, SupervisorUnitId
|
||
from ProjectData_WorkArea ) AS WorkArea
|
||
LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId = Unit.UnitId
|
||
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = WorkArea.InstallationId
|
||
--本期总拍片数
|
||
LEFT JOIN(SELECT SUM(cht_totalfilm) AS current_total_film
|
||
, SUM(cht_passfilm) AS current_pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
AND(cht_checkdate >= @date1 OR @date1 IS NULL) and(cht_checkdate <= @date2 OR @date2 IS NULL)) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_total_film ON current_total_film.WorkAreaId = WorkArea.WorkAreaId
|
||
|
||
--本期总检测数
|
||
LEFT JOIN(SELECT COUNT(*) AS current_check_count_total
|
||
, SUM(cht_totalfilm) AS total_film
|
||
, SUM(cht_passfilm) AS pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_check_count_total ON current_check_count_total.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE(WorkArea.ProjectId = @projectId) AND
|
||
(WorkArea.UnitId = @unitno OR @UnitNo IS NULL)
|
||
ORDER BY Unit.UnitCode ,Installation.InstallationCode";
|
||
|
||
|
||
List<SqlParameter> listpar4 = new List<SqlParameter>
|
||
{
|
||
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
|
||
};
|
||
if (this.drpUnit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
||
{
|
||
listpar4.Add(new SqlParameter("@unitNo", this.drpUnit.SelectedValue));
|
||
}
|
||
else
|
||
{
|
||
listpar4.Add(new SqlParameter("@unitNo", null));
|
||
};
|
||
listpar4.Add(new SqlParameter("@date1", this.txtStartDate.Text.Trim()));
|
||
listpar4.Add(new SqlParameter("@date2", this.txtEndDate.Text.Trim()));
|
||
|
||
listpar4.Add(new SqlParameter("@WED_TYPE", "管道"));
|
||
SqlParameter[] parameter4 = listpar4.ToArray();
|
||
DataTable dt4 = SQLHelper.GetDataTableRunText(strSql4, parameter4);
|
||
dt4.TableName = "Table6";
|
||
|
||
BLL.Common.FastReportService.AddFastreportTable(dt4);
|
||
|
||
|
||
|
||
|
||
string strSql5 = @"SELECT WorkArea.ProjectId
|
||
,Unit.UnitCode AS bsu_unitcode--单位代码
|
||
,Unit.UnitName AS bsu_unitname--单位名称
|
||
,Installation.InstallationCode AS devicecode--装置代号
|
||
,Installation.InstallationName AS devicename--装置名称
|
||
,WorkArea.WorkAreaCode AS baw_areano--工区代号
|
||
,WorkArea.WorkAreaName AS baw_areaname--工区代号
|
||
,ISNULL(current_total_film.current_total_film, 0) AS current_total_film --本期总拍片数
|
||
,ISNULL(current_total_film.current_pass_film, 0) AS current_pass_film --本期合格片数
|
||
,CAST((CASE ISNULL(current_total_film.current_total_film, 0)
|
||
WHEN 0 THEN 0
|
||
ELSE 1.0 * ISNULL(current_total_film.current_pass_film, 0) / (1.0 * current_total_film.current_total_film)
|
||
END) AS DECIMAL(19,3)) AS current_passreate --本期合格率
|
||
|
||
,ISNULL(current_check_count_total.total_film, 0) AS total_film --总拍片数
|
||
,ISNULL(current_check_count_total.pass_film, 0) AS pass_film --合格片数
|
||
,CAST((CASE ISNULL(current_check_count_total.total_film, 0)
|
||
WHEN 0 THEN 0
|
||
ELSE 1.0 * ISNULL(current_check_count_total.pass_film, 0) / (1.0 * current_check_count_total.total_film)
|
||
END) AS DECIMAL(19,3)) AS passreate --合格率
|
||
FROM(select WorkAreaCode, WorkAreaName,WorkAreaId, UnitId, InstallationId, ProjectId, SupervisorUnitId
|
||
from ProjectData_WorkArea ) AS WorkArea
|
||
LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId = Unit.UnitId
|
||
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = WorkArea.InstallationId
|
||
--本期总拍片数
|
||
LEFT JOIN(SELECT SUM(cht_totalfilm) AS current_total_film
|
||
, SUM(cht_passfilm) AS current_pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
AND(cht_checkdate >= @date1 OR @date1 IS NULL) and(cht_checkdate <= @date2 OR @date2 IS NULL)) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_total_film ON current_total_film.WorkAreaId = WorkArea.WorkAreaId
|
||
|
||
--本期总检测数
|
||
LEFT JOIN(SELECT COUNT(*) AS current_check_count_total
|
||
, SUM(cht_totalfilm) AS total_film
|
||
, SUM(cht_passfilm) AS pass_film
|
||
, isoinfo.WorkAreaId
|
||
FROM(select CHT_CheckID from CH_Check
|
||
where ProjectId = @projectId
|
||
and(UnitId = @unitNo OR @unitNo IS NULL)
|
||
) as Checks
|
||
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
|
||
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
|
||
LEFT JOIN(select iso_id, WorkAreaId from pw_isoinfo
|
||
where ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
|
||
where exists(select 1 from BS_Welder where JointInfo.JOT_CellWelder = BS_Welder.WED_ID and BS_Welder.WED_TYPE = @WED_TYPE)
|
||
GROUP BY isoinfo.WorkAreaId) AS current_check_count_total ON current_check_count_total.WorkAreaId = WorkArea.WorkAreaId
|
||
WHERE(WorkArea.ProjectId = @projectId) AND
|
||
(WorkArea.UnitId = @unitno OR @UnitNo IS NULL)
|
||
ORDER BY Unit.UnitCode ,Installation.InstallationCode";
|
||
|
||
|
||
List<SqlParameter> listpar5 = new List<SqlParameter>
|
||
{
|
||
new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
|
||
};
|
||
if (this.drpUnit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue))
|
||
{
|
||
listpar5.Add(new SqlParameter("@unitNo", this.drpUnit.SelectedValue));
|
||
}
|
||
else
|
||
{
|
||
listpar5.Add(new SqlParameter("@unitNo", null));
|
||
};
|
||
listpar5.Add(new SqlParameter("@date1", this.txtStartDate.Text.Trim()));
|
||
listpar5.Add(new SqlParameter("@date2", this.txtEndDate.Text.Trim()));
|
||
|
||
listpar5.Add(new SqlParameter("@WED_TYPE", "设备"));
|
||
SqlParameter[] parameter5 = listpar5.ToArray();
|
||
DataTable dt5 = SQLHelper.GetDataTableRunText(strSql5, parameter5);
|
||
|
||
|
||
dt5.TableName = "Table3";
|
||
|
||
BLL.Common.FastReportService.AddFastreportTable(dt5);
|
||
|
||
// Session["Table"] = dt;
|
||
// Session["CH_TrustID"] = reportId;
|
||
string initTemplatePath = "";
|
||
string rootPath = Server.MapPath("~/");
|
||
|
||
initTemplatePath = "File\\Fastreport\\焊接月报.frx";
|
||
|
||
if (File.Exists(rootPath + initTemplatePath))
|
||
{
|
||
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../TrustManage/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
|
||
|
||
|
||
}
|
||
|
||
// string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||
// //模板文件
|
||
// string TempletFileName = Server.MapPath("~/") + "File/Excel/HJGL_DataOut/焊接周报.xlsx";
|
||
// //导出文件
|
||
// string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||
// if (!Directory.Exists(filePath))
|
||
// {
|
||
// Directory.CreateDirectory(filePath);
|
||
// }
|
||
// string ReportFileName = filePath + "out.xlsx";
|
||
|
||
// FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
|
||
// XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
|
||
|
||
// ICellStyle styleCenter = hssfworkbook.CreateCellStyle();
|
||
// styleCenter.VerticalAlignment = VerticalAlignment.Center;
|
||
// styleCenter.Alignment = HorizontalAlignment.Center;
|
||
// styleCenter.BorderLeft = BorderStyle.Thin;
|
||
// styleCenter.BorderTop = BorderStyle.Thin;
|
||
// styleCenter.BorderRight = BorderStyle.Thin;
|
||
// styleCenter.BorderBottom = BorderStyle.Thin;
|
||
// styleCenter.WrapText = true;
|
||
// IFont font = styleCenter.GetFont(hssfworkbook);
|
||
// //font.Color = 10;//颜色
|
||
// font.FontHeightInPoints = 10;//字体高度(与excel中的字号一致)
|
||
// styleCenter.SetFont(font);
|
||
// XSSFSheet recordSheet = (XSSFSheet)hssfworkbook.GetSheet("焊接周报");
|
||
|
||
// // recordSheet.AddMergedRegion(new CellRangeAddress(0, 0, 8, 9));
|
||
// if (string.IsNullOrEmpty(this.txtStartDate.Text) || string.IsNullOrEmpty(this.txtEndDate.Text))
|
||
// {
|
||
// Alert.ShowInTop("日期不能为空!", MessageBoxIcon.Warning);
|
||
// return;
|
||
// }
|
||
|
||
// if (drpUnit.SelectedValue == BLL.Const._Null)
|
||
// {
|
||
// Alert.ShowInTop("单位不能为空!", MessageBoxIcon.Warning);
|
||
// return;
|
||
// }
|
||
// recordSheet.GetRow(1).CreateCell(2).SetCellValue(drpUnit.SelectedText);
|
||
// recordSheet.GetRow(1).GetCell(2).CellStyle = styleCenter;
|
||
|
||
// var unit1 = ProjectUnitService.GetProjectUnitListByProjectIdUnitType(this.CurrUser.LoginProjectId, Const.ProjectUnitType_1);
|
||
// if (unit1 != null && unit1.Count > 0)
|
||
// {
|
||
// string unitids1 = "";
|
||
// foreach (var u in unit1)
|
||
// {
|
||
// unitids1 += u.UnitId + ",";
|
||
// }
|
||
// recordSheet.GetRow(2).CreateCell(2).SetCellValue(UnitService.getUnitNamesUnitIds(unitids1.TrimEnd(',')));
|
||
// recordSheet.GetRow(2).GetCell(2).CellStyle = styleCenter;
|
||
|
||
// }
|
||
// var unit3 = ProjectUnitService.GetProjectUnitListByProjectIdUnitType(this.CurrUser.LoginProjectId, Const.ProjectUnitType_3);
|
||
// if (unit3 != null && unit1.Count > 0)
|
||
// {
|
||
// string unitids1 = "";
|
||
// foreach (var u in unit3)
|
||
// {
|
||
// unitids1 += u.UnitId + ",";
|
||
// }
|
||
// recordSheet.GetRow(3).CreateCell(2).SetCellValue(UnitService.getUnitNamesUnitIds(unitids1.TrimEnd(',')));
|
||
// recordSheet.GetRow(3).GetCell(2).CellStyle = styleCenter; UnitService.getUnitNamesUnitIds(unitids1.TrimEnd(','));
|
||
// }
|
||
|
||
// if(Grid1.Rows.Count>1)
|
||
// {
|
||
// recordSheet.ShiftRows(8, 28, Grid1.Rows.Count - 1,true, false);
|
||
// for (int j = 1; j < Grid1.Rows.Count; j++)
|
||
// {
|
||
// recordSheet.CopyRow(6 + j, 7 + j);
|
||
// }
|
||
|
||
// }
|
||
// int i = 0;
|
||
// foreach (GridRow row in Grid1.Rows)
|
||
// {
|
||
|
||
// foreach (GridColumn column in Grid1.Columns)
|
||
// {
|
||
// string html = row.Values[column.ColumnIndex].ToString();
|
||
// if (column.ColumnID == "tfNumber")
|
||
// {
|
||
// html = (row.FindControl("labNumber1") as AspNet.Label).Text;
|
||
// }
|
||
|
||
// recordSheet.GetRow(6+ i).GetCell(column.ColumnIndex).SetCellValue(html);
|
||
|
||
// }
|
||
// i++;
|
||
// }
|
||
// int shiftIndex = Grid1.Rows.Count-1;
|
||
// if (Grid4.Rows.Count > 1)
|
||
// {
|
||
// recordSheet.ShiftRows(shiftIndex + 12, shiftIndex+ 28, Grid4.Rows.Count - 1, true, false);
|
||
// for (int j = 1; j < Grid4.Rows.Count; j++)
|
||
// {
|
||
// recordSheet.CopyRow(shiftIndex+10 + j, shiftIndex+ 11 + j);
|
||
// }
|
||
|
||
// }
|
||
// i = 0;
|
||
// foreach (GridRow row in Grid4.Rows)
|
||
// {
|
||
|
||
// foreach (GridColumn column in Grid4.Columns)
|
||
// {
|
||
// string html = row.Values[column.ColumnIndex].ToString();
|
||
// if (column.ColumnID == "tfNumber")
|
||
// {
|
||
// html = (row.FindControl("labNumber4") as AspNet.Label).Text;
|
||
// }
|
||
|
||
// recordSheet.GetRow(shiftIndex + 11 + i).GetCell(column.ColumnIndex).SetCellValue(html);
|
||
|
||
// }
|
||
// i++;
|
||
|
||
// }
|
||
// shiftIndex = Grid1.Rows.Count>1? Grid1.Rows.Count - 1:0+ Grid4.Rows.Count>1? Grid4.Rows.Count -1:0;
|
||
|
||
// if (Grid5.Rows.Count > 1)
|
||
// {
|
||
// recordSheet.ShiftRows(shiftIndex + 17, shiftIndex + 28, Grid5.Rows.Count - 1, true, false);
|
||
// for (int j = 1; j < Grid5.Rows.Count; j++)
|
||
// {
|
||
// recordSheet.CopyRow(shiftIndex + 15 + j, shiftIndex + 16 + j);
|
||
// }
|
||
|
||
// }
|
||
// i = 0;
|
||
|
||
// foreach (GridRow row in Grid5.Rows)
|
||
// {
|
||
|
||
// foreach (GridColumn column in Grid5.Columns)
|
||
// {
|
||
// string html = row.Values[column.ColumnIndex].ToString();
|
||
// if (column.ColumnID == "tfNumber")
|
||
// {
|
||
// html = (row.FindControl("labNumber5") as AspNet.Label).Text;
|
||
// }
|
||
|
||
// recordSheet.GetRow(shiftIndex+16 + i).GetCell(column.ColumnIndex).SetCellValue(html);
|
||
|
||
// }
|
||
//i++;
|
||
// }
|
||
// shiftIndex = Grid1.Rows.Count>1? Grid1.Rows.Count - 1:0 + Grid4.Rows.Count>1? Grid4.Rows.Count - 1:0 + Grid5.Rows.Count>1? Grid5.Rows.Count - 1:0;
|
||
|
||
|
||
// if (Grid2.Rows.Count > 1)
|
||
// {
|
||
// recordSheet.ShiftRows(shiftIndex+22, shiftIndex+28, Grid2.Rows.Count - 1, true, false);
|
||
// for (int j = 1; j < Grid2.Rows.Count; j++)
|
||
// {
|
||
// recordSheet.CopyRow(shiftIndex+20 + j, shiftIndex+21 + j);
|
||
// }
|
||
|
||
// }
|
||
// i = 0;
|
||
// foreach (GridRow row in Grid2.Rows)
|
||
// {
|
||
|
||
// foreach (GridColumn column in Grid2.Columns)
|
||
// {
|
||
// string html = row.Values[column.ColumnIndex].ToString();
|
||
// if (column.ColumnID == "tfNumber")
|
||
// {
|
||
// html = (row.FindControl("labNumber2") as AspNet.Label).Text;
|
||
// }
|
||
// recordSheet.GetRow(shiftIndex + 20 + i).GetCell(column.ColumnIndex).SetCellValue(html);
|
||
// }
|
||
// i++;
|
||
// }
|
||
// shiftIndex = Grid1.Rows.Count >1? Grid1.Rows.Count - 1:0 + Grid4.Rows.Count>1 ? Grid4.Rows.Count - 1:0 + Grid5.Rows.Count>1 ? Grid5.Rows.Count - 1:0+ Grid2.Rows.Count >1 ? Grid2.Rows.Count - 1:0;
|
||
|
||
|
||
// if (Grid3.Rows.Count > 1)
|
||
// {
|
||
// recordSheet.ShiftRows(shiftIndex + 27, shiftIndex + 28, Grid3.Rows.Count - 1, true, false);
|
||
// for (int j = 1; j < Grid3.Rows.Count; j++)
|
||
// {
|
||
// recordSheet.CopyRow(shiftIndex + 25 + j, shiftIndex + 26 + j);
|
||
// }
|
||
|
||
// }
|
||
// i = 0;
|
||
// foreach (GridRow row in Grid3.Rows)
|
||
// {
|
||
|
||
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(0).SetCellValue( (row.FindControl("labNumber3") as AspNet.Label).Text);
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(1).SetCellValue(row.Values[1].ToString());
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(2).SetCellValue(row.Values[2].ToString());
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(3).SetCellValue(row.Values[4].ToString());
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(4).SetCellValue(row.Values[5].ToString());
|
||
// if (!string.IsNullOrEmpty(row.Values[6].ToString()))
|
||
// {
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(5).SetCellValue((100 * double.Parse(row.Values[6].ToString())).ToString("0.##"));
|
||
// }
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(6).SetCellValue(row.Values[8].ToString());
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(7).SetCellValue(row.Values[9].ToString());
|
||
// if (!string.IsNullOrEmpty(row.Values[10].ToString()))
|
||
// {
|
||
// recordSheet.GetRow(shiftIndex + 26 + i).GetCell(8).SetCellValue((100 * double.Parse(row.Values[10].ToString())).ToString("0.##"));
|
||
// }
|
||
// i++;
|
||
// }
|
||
|
||
|
||
|
||
// using (FileStream filess = File.OpenWrite(ReportFileName))
|
||
// {
|
||
// hssfworkbook.Write(filess);
|
||
// }
|
||
// //PageContext.RegisterStartupScript(Window5.GetShowReference(String.Format("../../ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId={3}", BLL.Const.HJGL_JointInfoReportId, isoId, varValue, this.CurrUser.LoginProjectId)));
|
||
|
||
// FileInfo filet = new FileInfo(ReportFileName);
|
||
// Response.Clear();
|
||
// Response.Charset = "GB2312";
|
||
// Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||
// // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||
// Response.AddHeader("Content-Disposition", "attachment; filename=焊接周报_" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"));
|
||
// // 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||
// Response.AddHeader("Content-Length", filet.Length.ToString());
|
||
// // 指定返回的是一个不能被客户端读取的流,必须被下载
|
||
// Response.ContentType = "application/ms-excel";
|
||
// // 把文件流发送到客户端
|
||
// Response.WriteFile(filet.FullName);
|
||
// // 停止页面的执行
|
||
// Response.End();
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
}
|
||
} |