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

273 lines
13 KiB
C#
Raw Permalink Normal View History

2024-05-13 08:48:51 +08:00
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", "查看 - ")));
}
}
}