330 lines
15 KiB
C#
330 lines
15 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Data;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using System.Web;
|
|||
|
using System.Web.UI;
|
|||
|
using System.Web.UI.WebControls;
|
|||
|
using BLL;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
namespace FineUIPro.Web.common
|
|||
|
{
|
|||
|
public partial class mainGdaz : PageBase
|
|||
|
{
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
ddlPageSize.SelectedValue = GridProject.PageSize.ToString();
|
|||
|
this.drpProject.DataTextField = "ProjectCode";
|
|||
|
this.drpProject.DataValueField = "ProjectId";
|
|||
|
this.drpProject.DataSource = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
|
|||
|
this.drpProject.DataBind();
|
|||
|
Funs.FineUIPleaseSelect(this.drpProject);
|
|||
|
this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
|
|||
|
//更新要求完成日期
|
|||
|
List<Model.HJGL_BO_Batch> batchLists = (from x in Funs.DB.HJGL_BO_Batch
|
|||
|
where x.ProjectId == this.drpProject.SelectedValue && !x.AskCompleteDate.HasValue
|
|||
|
select x).ToList();
|
|||
|
var batchdetails = from x in Funs.DB.HJGL_BO_BatchDetail
|
|||
|
join y in Funs.DB.HJGL_BO_Batch on x.BatchId equals y.BatchId
|
|||
|
where y.ProjectId == this.drpProject.SelectedValue
|
|||
|
select x;
|
|||
|
var trustdetails = from x in Funs.DB.HJGL_CH_TrustItem
|
|||
|
join y in Funs.DB.HJGL_BO_BatchDetail on x.BatchDetailId equals y.BatchDetailId
|
|||
|
join z in Funs.DB.HJGL_BO_Batch on y.BatchId equals z.BatchId
|
|||
|
where z.ProjectId == this.drpProject.SelectedValue
|
|||
|
select x;
|
|||
|
foreach (var item in batchLists)
|
|||
|
{
|
|||
|
bool isCheck = true;
|
|||
|
var batchdetail = from x in batchdetails where x.BatchId == item.BatchId select x.BatchDetailId;
|
|||
|
var trust = BLL.HJGL_TrustManageEditService.GetTrustByBatchId(item.BatchId);
|
|||
|
var ndtr = BLL.HJGL_DetectionService.GetNDTRateByNDTRID(item.NDTR_ID);
|
|||
|
var trustdetail = from x in trustdetails where batchdetail.Contains(x.BatchDetailId) orderby x.FeedbackDate descending select x;
|
|||
|
if (trust == null && ndtr.NDTR_Rate.Value != 0)
|
|||
|
{
|
|||
|
isCheck = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (trustdetail.Where(x => x.States != "2").Count() > 0)
|
|||
|
{
|
|||
|
isCheck = false;
|
|||
|
}
|
|||
|
}
|
|||
|
//检测合格,更新要求完成日期
|
|||
|
if (isCheck && item.BatchIsClosed == true)
|
|||
|
{
|
|||
|
DateTime date = DateTime.Now;
|
|||
|
if (trustdetail.Count() > 0)
|
|||
|
{
|
|||
|
if (trustdetail.FirstOrDefault().FeedbackDate != null)
|
|||
|
{
|
|||
|
date = trustdetail.FirstOrDefault().FeedbackDate.Value;
|
|||
|
}
|
|||
|
}
|
|||
|
item.AskCompleteDate = date;
|
|||
|
BLL.HJGL_BO_BatchService.UpdateBatch(item);
|
|||
|
}
|
|||
|
}
|
|||
|
BindProject();
|
|||
|
BindBatch();
|
|||
|
//BindGetWelder();
|
|||
|
//BindGetWelderLimitDate();
|
|||
|
//BindPointNoTrust();
|
|||
|
//BindTrustNoAudit();
|
|||
|
//BindTrustNoCheck();
|
|||
|
//BindCheckNoAudit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 绑定数据
|
|||
|
/// <summary>
|
|||
|
/// 绑定项目数据
|
|||
|
/// </summary>
|
|||
|
private void BindProject()
|
|||
|
{
|
|||
|
var project = BLL.Base_ProjectService.GetOnProjectListByUser(this.CurrUser.UserId, "1");
|
|||
|
if (!string.IsNullOrEmpty(txtProjectCode.Text))
|
|||
|
{
|
|||
|
project = project.Where(e => e.ProjectCode.Contains(txtProjectCode.Text.Trim())).ToList();
|
|||
|
}
|
|||
|
GridProject.RecordCount = project.Count;
|
|||
|
var table = GetPagedDataTable(GridProject, project);
|
|||
|
this.GridProject.DataSource = table;
|
|||
|
this.GridProject.DataBind();
|
|||
|
}
|
|||
|
|
|||
|
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
GridProject.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
|||
|
BindProject();
|
|||
|
}
|
|||
|
|
|||
|
protected void GridProject_PageIndexChange(object sender, GridPageEventArgs e)
|
|||
|
{
|
|||
|
GridProject.PageIndex = e.NewPageIndex;
|
|||
|
BindProject();
|
|||
|
}
|
|||
|
|
|||
|
protected void btnSelect_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
BindProject();
|
|||
|
}
|
|||
|
|
|||
|
protected void btnSelect2_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
BindBatch();
|
|||
|
}
|
|||
|
|
|||
|
private void BindBatch()
|
|||
|
{
|
|||
|
//string strSql = @"SELECT p.ProjectCode,v1.BatchId,b.BatchCode,b.AskCompleteDate
|
|||
|
// FROM
|
|||
|
// (SELECT DISTINCT(v.BatchId) AS BatchId
|
|||
|
// from
|
|||
|
// (SELECT trust.BatchId,
|
|||
|
// (select TestingReportPrintId from HJGL_CH_TestingReportPrint as report
|
|||
|
// where report.ISO_ID =joint.ISO_ID
|
|||
|
// and report.Specifications = joint.JOT_JointDesc
|
|||
|
// and report.NDT_ID = trust.CH_NDTMethod
|
|||
|
// and report.BatchId = trust.BatchId
|
|||
|
// and report.Printer is not null
|
|||
|
// and report.PrintTime is not null) AS TestingReportPrintId
|
|||
|
// from dbo.HJGL_CH_TrustItem trustItem
|
|||
|
// left join dbo.HJGL_CH_Trust trust on trust.CH_TrustID=trustItem.CH_TrustID
|
|||
|
// left join dbo.HJGL_BO_Batch batch on trust.BatchId=batch.BatchId
|
|||
|
// left join dbo.HJGL_PW_JointInfo joint on joint.JOT_ID=trustItem.JOT_ID
|
|||
|
// WHERE batch.AskCompleteDate IS NOT NULL)v
|
|||
|
// WHERE v.TestingReportPrintId IS NULL )v1
|
|||
|
// left join dbo.HJGL_BO_Batch b on b.BatchId=v1.BatchId
|
|||
|
// left join dbo.Base_Project p on p.ProjectId=b.ProjectId";
|
|||
|
//DataTable dt = SQLHelper.GetDataTableRunText(strSql, null);
|
|||
|
// 这个字段不要了
|
|||
|
//(case when(select Count(*) from dbo.HJGL_CH_TrustItem item
|
|||
|
|
|||
|
// --left
|
|||
|
// join dbo.HJGL_BO_BatchDetail batchDetail on batchDetail.BatchDetailId = item.BatchDetailId
|
|||
|
// -- where item.States != '2' and batchDetail.BatchId = v.BatchId) > 0 OR
|
|||
|
// --(SELECT COUNT(*) FROM dbo.HJGL_BO_Batch b WHERE b.BatchId = v.BatchId AND b.BatchIsClosed = 1) = 0
|
|||
|
// -- THEN '否' else '是' end) as IsPass,
|
|||
|
string strSql = @"select project.ProjectCode, v.BatchId,batch.BatchCode,ty.JOTY_Name,rate.NDTR_Name,
|
|||
|
batch.SubmitAskDate, batch.AskCompleteDate,
|
|||
|
|
|||
|
(select ReportFeedback from dbo.HJGL_BO_Batch d
|
|||
|
where d.BatchId=v.BatchId) as ReportFeedback
|
|||
|
from
|
|||
|
(select distinct detail.BatchId from dbo.HJGL_BO_BatchDetail detail
|
|||
|
left join dbo.HJGL_PW_IsoInfo iso on detail.ISO_ID=iso.ISO_ID
|
|||
|
WHERE iso.ProjectId=@ProjectId and (select count(*) from HJGL_CH_Trust t where t.BatchId=detail.BatchId)>0) as v
|
|||
|
left join dbo.HJGL_BO_Batch batch on batch.BatchId=v.BatchId
|
|||
|
LEFT JOIN dbo.HJGL_BS_JointType ty ON ty.JOTY_ID = batch.JOTY_ID
|
|||
|
LEFT JOIN dbo.HJGL_BS_NDTRate rate ON rate.NDTR_ID = batch.NDTR_ID
|
|||
|
left join dbo.Base_Project project on project.ProjectId=batch.ProjectId
|
|||
|
order by batch.AskCompleteDate desc";
|
|||
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|||
|
listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue));
|
|||
|
|
|||
|
SqlParameter[] parameter = listStr.ToArray();
|
|||
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|||
|
DataTable newTB = new DataTable();
|
|||
|
newTB = tb.Copy();
|
|||
|
newTB.Rows.Clear();
|
|||
|
if (this.cbIsReportFeedback.Checked)
|
|||
|
{
|
|||
|
foreach (DataRow dr in tb.Rows)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(dr["ReportFeedback"].ToString()))
|
|||
|
{
|
|||
|
newTB.ImportRow(dr);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow dr in tb.Rows)
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(dr["ReportFeedback"].ToString()))
|
|||
|
{
|
|||
|
newTB.ImportRow(dr);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
this.GridBatch.DataSource = newTB;
|
|||
|
this.GridBatch.DataBind();
|
|||
|
}
|
|||
|
|
|||
|
protected void GridBatch_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
|||
|
{
|
|||
|
BindBatch();
|
|||
|
}
|
|||
|
///// <summary>
|
|||
|
///// 绑定半年内未焊焊工
|
|||
|
///// </summary>
|
|||
|
//private void BindGetWelder()
|
|||
|
//{
|
|||
|
// SqlParameter[] value = new SqlParameter[]
|
|||
|
// {
|
|||
|
// new SqlParameter("@project",this.CurrUser.LoginProjectId),
|
|||
|
// };
|
|||
|
|
|||
|
// DataTable dt1 = BLL.SQLHelper.GetDataTableRunProc("HJGL_SpGetWelder", value);
|
|||
|
// this.GridGetWelder.DataSource = dt1;
|
|||
|
// this.GridGetWelder.DataBind();
|
|||
|
//}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 绑定焊工资质过期提醒
|
|||
|
/// </summary>
|
|||
|
//private void BindGetWelderLimitDate()
|
|||
|
//{
|
|||
|
// SqlParameter[] welderLimitPara = new SqlParameter[]
|
|||
|
// {
|
|||
|
// new SqlParameter("@project",this.CurrUser.LoginProjectId),
|
|||
|
// };
|
|||
|
|
|||
|
// DataTable dt = BLL.SQLHelper.GetDataTableRunProc("HJGL_SpGetWelderLimitDate", welderLimitPara);
|
|||
|
// this.GridGetWelderLimitDate.DataSource = dt;
|
|||
|
// this.GridGetWelderLimitDate.DataBind();
|
|||
|
//}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 项目连接
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void GridProject_RowCommand(object sender, GridCommandEventArgs e)
|
|||
|
{
|
|||
|
if (e.CommandName == "project")
|
|||
|
{
|
|||
|
string projectId = GridProject.DataKeys[e.RowIndex][0].ToString();
|
|||
|
if (!string.IsNullOrEmpty(projectId))
|
|||
|
{
|
|||
|
PageBase.ZXRefresh(ResolveUrl("~/default.aspx?ispop=1&menuModule=" + BLL.Const.System_3 + "&projectId=" + projectId));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
PageBase.ZXRefresh(ResolveUrl("~/default.aspx?ispop=1&menuModule=" + BLL.Const.System_2 + "&projectId=" + projectId));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 导出按钮
|
|||
|
/// 导出按钮
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnOut_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
Response.ClearContent();
|
|||
|
string filename = Funs.GetNewFileName();
|
|||
|
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("检测报告编辑提示及反馈" + filename, System.Text.Encoding.UTF8) + ".xls");
|
|||
|
Response.ContentType = "application/excel";
|
|||
|
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
|||
|
//this.Grid1.PageSize = this.;
|
|||
|
this.GridBatch.PageSize = 10000;
|
|||
|
//BindBatch();
|
|||
|
Response.Write(GetGridTableHtml(GridBatch));
|
|||
|
Response.End();
|
|||
|
}
|
|||
|
|
|||
|
#pragma warning disable CS0108 // “PersonList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
|
|||
|
/// <summary>
|
|||
|
/// 导出方法
|
|||
|
/// </summary>
|
|||
|
/// <param name="grid"></param>
|
|||
|
/// <returns></returns>
|
|||
|
private string GetGridTableHtml(Grid grid)
|
|||
|
#pragma warning restore CS0108 // “PersonList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
|
|||
|
{
|
|||
|
StringBuilder sb = new StringBuilder();
|
|||
|
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
|
|||
|
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
|
|||
|
sb.Append("<tr>");
|
|||
|
foreach (GridColumn column in grid.Columns)
|
|||
|
{
|
|||
|
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
|
|||
|
}
|
|||
|
sb.Append("</tr>");
|
|||
|
foreach (GridRow row in grid.Rows)
|
|||
|
{
|
|||
|
sb.Append("<tr>");
|
|||
|
foreach (GridColumn column in grid.Columns)
|
|||
|
{
|
|||
|
string html = row.Values[column.ColumnIndex].ToString();
|
|||
|
if (column.ColumnID == "AskCompleteDate")
|
|||
|
{
|
|||
|
var date = Funs.GetNewDateTime(html);
|
|||
|
if (date != null)
|
|||
|
{
|
|||
|
html = string.Format("{0:yyyy-MM-dd}", date);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
html = string.Empty;
|
|||
|
}
|
|||
|
}
|
|||
|
sb.AppendFormat("<td style='vnd.ms-excel.numberformat:@;width:140px;'>{0}</td>", html);
|
|||
|
}
|
|||
|
|
|||
|
sb.Append("</tr>");
|
|||
|
}
|
|||
|
|
|||
|
sb.Append("</table>");
|
|||
|
|
|||
|
return sb.ToString();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
protected void Window1_Close(object sender, EventArgs e)
|
|||
|
{
|
|||
|
BindBatch();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|