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

273 lines
13 KiB
C#
Raw Permalink 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_ProjectTypeService.InitProjectTypeDropDownList(this.drpProjectType2, true, Resources.Lan.PleaseSelect);
BLL.Base_ProjectService.InitProjectDropDownList(drpProjectId, true, CurrUser.UserId, null, Resources.Lan.PleaseSelect);
BindProject();//flash play 暂不能用
//BindGetWelder();
BindGetWelderLimitDate();
//BindPointNoTrust();
//BindTrustNoAudit();
//BindTrustNoCheck();
//BindCheckNoAudit();
if (CurrUser.UserId != Const.GlyId)
{
string projectIds = BLL.Base_ProjectService.GetStrProjectIds(CurrUser.UserId, null);
ShowChart(projectIds);
}
}
}
#region
public string swiperHtml, pics, links, texts;
/// <summary>
/// 项目图片显示
/// </summary>
public void BindProject()
{
swiperHtml = " ";
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++)
{
swiperHtml += @"<div class='swiper-slide'>
<img data-src='" + dv.Table.Rows[i]["AttachUrl"].ToString().Replace("~", "..") + @"' class='swiper-lazy'>
<div class='swiper-lazy-preloader swiper-lazy-preloader-white'></div>
</div>";
//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;
//}
}
else
{
swiperHtml += @"<div class='swiper-slide'>
<img data-src='../images/Test_Null.jpg' class='swiper-lazy'>
<div class='swiper-lazy-preloader swiper-lazy-preloader-white'></div>
</div>";
}
}
#endregion
//protected void drpProjectType2_SelectedIndexChanged(object sender, EventArgs e)
//{
// BLL.Base_ProjectService.InitProjectListByType(this.drpProjectId, true,drpProjectType2.SelectedValue, this.CurrUser.UserId, BLL.Const._False, Resources.Lan.PleaseSelect);
//}
protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
ShowChart(drpProjectId.SelectedValue);
}
private void BindGetWelderLimitDate()
{
string strSql = @"SELECT (WelderName+''+WelderCode+' 焊工证过期,有效期为:'+CONVERT(VARCHAR(100),CertificateValidity,23))
AS QualificationLimit
FROM dbo.Welder_Welder
WHERE IsOnDuty=1 and CertificateValidity<=GETDATE()
UNION
SELECT (WelderName+''+WelderCode+' 焊工证还有:'+convert(nvarchar(6),DATEDIFF(day,getdate(),CertificateValidity))+ '天到期')
AS QualificationLimit
FROM dbo.Welder_Welder
WHERE IsOnDuty=1 AND
DATEADD(m,-1,CertificateValidity)<GETDATE() and CertificateValidity>GETDATE()";
DataTable dt = SQLHelper.GetDataTableRunText(strSql, null);
GridWelder.DataSource = dt;
GridWelder.DataBind();
}
private void ShowChart(string projectIds)
{
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 ISNULL(SUM(ISNULL(Size,0)),0) AS totalDin
FROM dbo.Pipeline_WeldJoint
WHERE IsCancel IS NULL OR (IsCancel=1 AND WeldingDailyId IS NOT NULL)
AND CHARINDEX(ProjectId,@projectIds1)>0
) v ,
(SELECT ISNULL(SUM(ISNULL(Size,0)),0) AS LastDin
FROM dbo.Pipeline_WeldJoint
WHERE WeldingDailyId IS NULL AND IsCancel IS NULL
AND CHARINDEX(ProjectId,@projectIds1)>0
) v1 ,
(SELECT 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())
AND CHARINDEX(jot.ProjectId,@projectIds1)>0
) v2 ";
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 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='射线检测' AND CHARINDEX(trust.ProjectId,@projectIds2)>0 ) v1,
(SELECT 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
AND CHARINDEX(ndt.ProjectId,@projectIds2)>0 ) v2 ,
(SELECT 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 CHARINDEX(ndt.ProjectId,@projectIds2)>0
AND ndtItme.SubmitDate<=GETDATE() AND ndtItme.SubmitDate>DATEADD(ww,-1,GETDATE())
) v3
WHERE ISNULL(v1.BatchTrustNum,0)>0 ";
if (!string.IsNullOrEmpty(projectIds))
{
SqlParameter[] parameter1 = new SqlParameter[]
{
new SqlParameter("@projectIds1", projectIds)
};
DataTable dt1 = SQLHelper.GetDataTableRunText(strSql1, parameter1);
SqlParameter[] parameter2 = new SqlParameter[]
{
new SqlParameter("@projectIds2", projectIds)
};
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", "查看 - ")));
}
}
}