248 lines
12 KiB
C#
248 lines
12 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 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()
|
||
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()";
|
||
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", "查看 - ")));
|
||
}
|
||
}
|
||
} |