Basf_TCC7/HJGL/FineUIPro.Web/common/mainFullViews.aspx.cs

248 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 System.Web.UI.DataVisualization.Charting;
using System.Drawing;
using BLL;
namespace FineUIPro.Web.common
{
public partial class mainFullViews : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BLL.Base_ProjectService.InitProjectDropDownList(this.drpProjectId, true, this.CurrUser.UserId, BLL.Const._False, CurrUser.LoginProjectArea, Resources.Lan.PleaseSelect);
BindProject();
//BindGetWelder();
BindGetWelderLimitDate();
//BindPointNoTrust();
//BindTrustNoAudit();
//BindTrustNoCheck();
//BindCheckNoAudit();
}
}
#region
public string pics, links, texts;
/// <summary>
/// 项目图片显示
/// </summary>
public void BindProject()
{
//string strSql = @"SELECT TOP 5 ProjectPictureId,ProjectPictureName,AttachUrl
// FROM dbo.Project_ProjectPicture
// WHERE IsShow=1 and AttachUrl IS NOT NULL
// ORDER BY CreateDate DESC ";
//DataSet ds = BLL.SQLHelper.RunSqlString(strSql, "Project_ProjectPicture");
//DataView dv = ds.Tables[0].DefaultView;
//if (dv.Table.Rows.Count != 0)
//{
// for (int i = 0; i < dv.Table.Rows.Count; i++)
// {
// links += "ProjectSet/ProjectPictureView.aspx?ProjectPictureId=" + dv.Table.Rows[i]["ProjectPictureId"].ToString() + "|";
// var urls = Funs.GetStrListByStr(dv.Table.Rows[i]["AttachUrl"].ToString(), ',');
// foreach (var item in urls)
// {
// //string p = item.Substring(2);
// pics += item.Replace("~", "..") + "|";
// texts += dv.Table.Rows[i]["ProjectPictureName"].ToString() + "|";
// }
// }
// if (!string.IsNullOrEmpty(links) && !string.IsNullOrEmpty(pics) && !string.IsNullOrEmpty(texts))
// {
// this.picContent.Visible = true;
// links = links.Substring(0, links.LastIndexOf("|"));
// pics = pics.Substring(0, pics.LastIndexOf("|")).Replace("\\", "/");
// texts = texts.Substring(0, texts.LastIndexOf("|"));
// }
// else
// {
// this.picContent.Visible = false;
// }
//}
}
#endregion
protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
ShowChart();
}
private void BindGetWelderLimitDate()
{
string strSql = @"SELECT (WelderName+''+WelderCode+' 焊工证过期,有效期为:'+CONVERT(VARCHAR(100),CertificateValidity,23))
AS QualificationLimit
FROM dbo.Welder_Welder
WHERE CertificateValidity<=GETDATE() AND IsOnDuty=1
UNION
SELECT (WelderName+''+WelderCode+' 焊工证还有:'+convert(nvarchar(6),DATEDIFF(day,getdate(),CertificateValidity))+ '天到期')
AS QualificationLimit
FROM dbo.Welder_Welder
where DATEADD(m,-1,CertificateValidity)<GETDATE() and CertificateValidity>GETDATE() AND IsOnDuty=1";
DataTable dt = SQLHelper.GetDataTableRunText(strSql, null);
GridWelder.DataSource = dt;
GridWelder.DataBind();
}
private void ShowChart()
{
string strSql1 = @"SELECT v.totalDin AS '预估',(v.totalDin-ISNULL(v1.LastDin,0)) AS '完成',
ISNULL(v1.LastDin,0) AS '剩余',ISNULL(v2.LastWeekDin,0) AS '近一周'
FROM
(SELECT ProjectId, ISNULL(SUM(ISNULL(Size,0)),0) AS totalDin
FROM dbo.Pipeline_WeldJoint GROUP BY ProjectId) v
LEFT JOIN
(SELECT ProjectId, ISNULL(SUM(ISNULL(Size,0)),0) AS LastDin
FROM dbo.Pipeline_WeldJoint
WHERE WeldingDailyId IS NULL GROUP BY ProjectId) v1 ON v1.ProjectId = v.ProjectId
LEFT JOIN
(SELECT jot.ProjectId, ISNULL(SUM(ISNULL(jot.Size,0)),0) AS LastWeekDin
FROM dbo.Pipeline_WeldJoint jot
LEFT JOIN dbo.Pipeline_WeldingDaily report ON report.WeldingDailyId = jot.WeldingDailyId
WHERE jot.WeldingDailyId IS NOT NULL AND report.WeldingDate<=GETDATE() AND report.WeldingDate>DATEADD(ww,-1,GETDATE())
GROUP BY jot.ProjectId) v2 ON v2.ProjectId = v.ProjectId
WHERE v.ProjectId=@ProjectId1";
string strSql2 = @"SELECT ISNULL(v1.BatchTrustNum,0) AS '委托数',ISNULL(v2.NdtCheckNum,0) AS '拍片焊口',
(ISNULL(v1.BatchTrustNum,0)-ISNULL(v2.NdtCheckNum,0)) AS '积压焊口' ,
ISNULL(v3.LastWeekCheckNum,0) AS '近一周检测'
FROM
(SELECT trust.ProjectId, COUNT(d.TrustBatchItemId) AS BatchTrustNum
FROM dbo.Batch_BatchTrustItem d
LEFT JOIN dbo.Batch_BatchTrust trust ON trust.TrustBatchId = d.TrustBatchId
LEFT JOIN dbo.Base_DetectionType ndt ON ndt.DetectionTypeId = trust.DetectionTypeId
WHERE ndt.SysType='射线检测' GROUP BY trust.ProjectId) v1
LEFT JOIN
(SELECT ndt.ProjectId,COUNT(ndtItme.NDEItemID) AS NdtCheckNum
FROM dbo.Batch_NDEItem ndtItme
LEFT JOIN dbo.Batch_NDE ndt ON ndt.NDEID = ndtItme.NDEID
LEFT JOIN dbo.Base_DetectionType ndtType ON ndtType.DetectionTypeId = ndtItme.DetectionTypeId
WHERE ndtType.SysType ='射线检测' AND SubmitDate IS NOT NULL
GROUP BY ndt.ProjectId ) v2 ON v2.ProjectId = v1.ProjectId
LEFT JOIN
(SELECT ndt.ProjectId,COUNT(ndtItme.NDEItemID) AS LastWeekCheckNum
FROM dbo.Batch_NDEItem ndtItme
LEFT JOIN dbo.Batch_NDE ndt ON ndt.NDEID = ndtItme.NDEID
LEFT JOIN dbo.Base_DetectionType ndtType ON ndtType.DetectionTypeId = ndtItme.DetectionTypeId
WHERE ndtType.SysType ='射线检测' AND SubmitDate IS NOT NULL
AND ndtItme.SubmitDate<=GETDATE() AND ndtItme.SubmitDate>DATEADD(ww,-1,GETDATE())
GROUP BY ndt.ProjectId ) v3 ON v3.ProjectId = v1.ProjectId
WHERE v1.ProjectId=@ProjectId2 AND ISNULL(v1.BatchTrustNum,0)>0 ";
if (this.drpProjectId.SelectedValue != "null" && this.drpProjectId.SelectedValue != "")
{
SqlParameter[] parameter1 = new SqlParameter[]
{
new SqlParameter("@ProjectId1", this.drpProjectId.SelectedValue)
};
DataTable dt1 = SQLHelper.GetDataTableRunText(strSql1, parameter1);
SqlParameter[] parameter2 = new SqlParameter[]
{
new SqlParameter("@ProjectId2", this.drpProjectId.SelectedValue)
};
DataTable dt2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
if (dt1.Rows.Count > 0)
{
CreateChart(dt1, Chart1);
}
if (dt2.Rows.Count > 0)
{
CreateChart(dt2, Chart2);
}
}
}
/// <summary>
/// 创建Chart图形
/// </summary>
/// <param name="dt">数据表</param>
/// <param name="chart1">图形</param>
private void CreateChart(DataTable dt, Chart chart1)
{
chart1.BackColor = Color.WhiteSmoke;
chart1.ImageLocation = "~/Images/ChartPic_#SEQ(300,3)";
chart1.BorderlineDashStyle = ChartDashStyle.Solid;
chart1.Palette = ChartColorPalette.BrightPastel;
chart1.BackSecondaryColor = Color.White;
chart1.BackGradientStyle = GradientStyle.TopBottom;
chart1.BorderWidth = 2;
chart1.BorderColor = Color.FromArgb(26, 59, 105);
chart1.ImageType = ChartImageType.Png;
ChartArea chartArea = new ChartArea();
chartArea.Name = "焊接工作量";
chartArea.BackColor = Color.Transparent;
chartArea.AxisX.IsLabelAutoFit = false;
chartArea.AxisY.IsLabelAutoFit = false;
chartArea.AxisX.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.Interval = 1;
chartArea.Area3DStyle.Enable3D = true;
chart1.ChartAreas.Add(chartArea);
chart1.Series.Add("焊接工作量");
chart1.Series["焊接工作量"].ChartType = ChartControlService.GetChartType("Column");
chart1.Series["焊接工作量"].Name = "焊接工作量";
chart1.Series["焊接工作量"].IsValueShownAsLabel = false;
chart1.Series["焊接工作量"].BorderWidth = 2;
chart1.Series["焊接工作量"]["DrawingStyle"] = "Cylinder";
for (int i = 0; i < dt.Columns.Count; i++)
{
chart1.Series["焊接工作量"].Points.AddXY(dt.Columns[i].ColumnName, dt.Rows[0][i].ToString());
chart1.Series["焊接工作量"].Points[i].Color = GetColor(i);
chart1.Series["焊接工作量"].Points[i].ToolTip = "#VALX#VALY";
}
}
private Color GetColor(int i)
{
Color c = Color.Blue;
if (i == 1)
{
c = Color.Yellow;
}
if (i == 2)
{
c = Color.Red;
}
if (i == 3)
{
c = Color.Green;
}
return c;
}
protected void lbtnWelder_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../PublicInfo/ProcessControl/WelderRank.aspx", "查看 - ")));
}
protected void lbtnUnit_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../PublicInfo/ProcessControl/StatisticsByUnit.aspx", "查看 - ")));
}
}
}