This commit is contained in:
李鹏飞 2026-04-13 10:02:32 +08:00
commit d4c0aeaab3
39 changed files with 1561 additions and 164 deletions

View File

@ -0,0 +1,34 @@
-- 自动获取总包检查数据
alter table Base_Project add IsAutoFetch bit NULL;
--/,id和菜单类型根据实际情况进行替换
INSERT INTO [dbo].[Sys_Menu] ( [MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed] )
VALUES
( N'A9E94BE9-6F53-4A41-9A65-250F09D9E449', N'安全巡检统计分析', NULL, N'HSSE/HiddenInspection/CheckStatisticsAnalysis.aspx?Types=1', 106, '0', N'Menu_ZHGL', '1', '1', '1' );
GO
INSERT INTO [dbo].[Sys_Menu] ( [MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed] )
VALUES
( N'28848506-234F-4D21-8E79-A0F24F2B2DDA', N'质量巡检统计分析', NULL, N'HSSE/HiddenInspection/CheckStatisticsAnalysis.aspx?Types=2', 107, '0', N'Menu_ZHGL', '1', '1', '1' );
GO
--
alter table QCManage_QCGroupRegistration add AwardYear datetime
go
-----(Process)(AwardYear)
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'颁奖年份' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'QCManage_QCGroupRegistration', @level2type=N'COLUMN',@level2name=N'AwardYear'
GO
--
update QCManage_QCGroupRegistration set AwardYear = Process where AwardYear is null and LEN(Process) = 4

View File

@ -560,7 +560,7 @@ namespace BLL
/// <param name="workPostIds">培训岗位ID</param>
/// <param name="trainTypeId">培训类型ID</param>
/// <returns></returns>
public static List<Model.PersonItem> getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name, string startDate, string endDate)
public static List<Model.PersonItem> getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name, string startDate, string endDate, string isRepeat)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
@ -620,7 +620,11 @@ namespace BLL
}
List<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>();
var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId);
if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))
if ((getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == true)) || isRepeat == "1")
{
return getPersons.ToList();
}
else
{
foreach (var item in getPersons)
{
@ -642,10 +646,6 @@ namespace BLL
}
return getTrainPersonList;
}
else
{
return getPersons.ToList();
}
}
}
@ -1610,7 +1610,7 @@ namespace BLL
{
z.PlanName,
z.PlanDate,
CheckResultName = x.TestScores >=60 ? "合格" : "不合格",
CheckResultName = x.TestScores >= 60 ? "合格" : "不合格",
z.TestPlanId,
};
if (getDataLists.Count() > 0)

View File

@ -32,6 +32,7 @@ namespace BLL
WorkPostName = workPost.WorkPostName,
PostType = workPost.PostType,
IsCQMS = workPost.IsCQMS,
IsCQMSCheck = workPost.IsCQMSCheck,
IsHsse = workPost.IsHsse,
CNCodes = workPost.CNCodes,
Remark = workPost.Remark
@ -56,6 +57,7 @@ namespace BLL
newWorkPost.PostType = workPost.PostType;
newWorkPost.IsHsse = workPost.IsHsse;
newWorkPost.IsCQMS = workPost.IsCQMS;
newWorkPost.IsCQMSCheck = workPost.IsCQMSCheck;
newWorkPost.CNCodes = workPost.CNCodes;
newWorkPost.Remark = workPost.Remark;
db.SubmitChanges();

View File

@ -34,6 +34,7 @@ namespace BLL
newQCGroupRegistration.AwardName = QCGroupRegistration.AwardName;
newQCGroupRegistration.AwardLevel = QCGroupRegistration.AwardLevel;
newQCGroupRegistration.AwardType = QCGroupRegistration.AwardType;
newQCGroupRegistration.AwardYear = QCGroupRegistration.AwardYear;
newQCGroupRegistration.AwardingUnit = QCGroupRegistration.AwardingUnit;
db.QCManage_QCGroupRegistration.InsertOnSubmit(newQCGroupRegistration);
db.SubmitChanges();
@ -59,6 +60,7 @@ namespace BLL
newQCGroupRegistration.Achievement = QCGroupRegistration.Achievement;
newQCGroupRegistration.AwardName = QCGroupRegistration.AwardName;
newQCGroupRegistration.AwardLevel = QCGroupRegistration.AwardLevel;
newQCGroupRegistration.AwardYear = QCGroupRegistration.AwardYear;
newQCGroupRegistration.AwardType = QCGroupRegistration.AwardType;
newQCGroupRegistration.AwardingUnit = QCGroupRegistration.AwardingUnit;
newQCGroupRegistration.IsUpdate = null;

View File

@ -347,7 +347,7 @@ namespace BLL
/// </summary>
/// <param name="WorkPostName"></param>
/// <returns></returns>
public static string getWorkPostId(string WorkPostName, string PostType, string IsHsse, string IsCQMS)
public static string getWorkPostId(string WorkPostName, string PostType, string IsHsse, string IsCQMS,string IsCQMSCheck)
{
string WorkPostId = null;
if (!string.IsNullOrEmpty(WorkPostName))
@ -362,6 +362,7 @@ namespace BLL
PostType = PostType,
IsHsse = Convert.ToBoolean(IsHsse),
IsCQMS = Convert.ToBoolean(IsCQMS),
IsCQMSCheck = Convert.ToBoolean(IsCQMSCheck),
Remark = "导入"
};
WorkPostService.AddWorkPost(newWorkPost);

View File

@ -385,7 +385,7 @@ namespace BLL
TeamGroupId = APIDataShareSyncService.GetTeamGroupId(item.TeamGroupName, projectId, unitId),
WorkAreaId = APIDataShareSyncService.getWorkAreaId(item.WorkAreaName, projectId),
WorkPostId = APIDataShareSyncService.getWorkPostId(item.WorkPostName, item.PostType,
item.IsHsse.ToString(), item.IsCQMS.ToString()),
item.IsHsse.ToString(), item.IsCQMS.ToString(),item.IsCQMSCheck.ToString()),
InTime = item.InTime,
OutTime = item.OutTime,
OutResult = item.OutResult,
@ -489,7 +489,7 @@ namespace BLL
model.TeamGroupId = APIDataShareSyncService.GetTeamGroupId(item.TeamGroupName, projectId, unitId);
model.WorkAreaId = APIDataShareSyncService.getWorkAreaId(item.WorkAreaName, projectId);
model.WorkPostId = APIDataShareSyncService.getWorkPostId(item.WorkPostName, item.PostType,
item.IsHsse.ToString(), item.IsCQMS.ToString());
item.IsHsse.ToString(), item.IsCQMS.ToString(), item.IsCQMSCheck.ToString());
model.InTime = item.InTime;
model.OutTime = item.OutTime;
model.OutResult = item.OutResult;

View File

@ -1362,6 +1362,7 @@ namespace BLL
Process = x.Process,
Achievement = x.Achievement,
AwardName = x.AwardName,
AwardYear = x.AwardYear,
AwardType = x.AwardType,
AwardLevel = x.AwardLevel,
AwardingUnit = x.AwardingUnit,
@ -1432,6 +1433,7 @@ namespace BLL
Process = x.Process,
Achievement = x.Achievement,
AwardName = x.AwardName,
AwardYear = x.AwardYear,
AwardLevel = x.AwardLevel,
AwardingUnit = x.AwardingUnit,
}).ToList();

View File

@ -11,7 +11,7 @@
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" Title="岗位信息" ShowHeader="false"
Layout="HBox">
<Items>
<items>
<f:Grid ID="Grid1" Title="岗位信息" ShowHeader="false" EnableCollapse="true" PageSize="20"
EnableColumnLines="true" ShowBorder="true" AllowPaging="true" IsDatabasePaging="true"
runat="server" Width="750px" DataKeyNames="WorkPostId" DataIDField="WorkPostId" AllowSorting="true"
@ -52,6 +52,10 @@
<f:RenderField Width="80px" ColumnID="IsCQMS" DataField="IsCQMS" FieldType="Boolean"
RendererFunction="renderIsHsse" HeaderText="质量管理" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="IsCQMSCheck" DataField="IsCQMSCheck" FieldType="Boolean"
RendererFunction="renderIsHsse" HeaderText="质量报验" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:TemplateField Width="120px" HeaderText="对口专业" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
@ -100,6 +104,8 @@
<f:CheckBox ID="ckbIsHsse" runat="server" Label="安管" LabelAlign="Right" LabelWidth="80px">
</f:CheckBox>
<f:CheckBox ID="ckbIsCQMS" runat="server" Label="质量管理" LabelAlign="Right" LabelWidth="80px">
</f:CheckBox>
<f:CheckBox ID="ckbIsCQMSCheck" runat="server" Label="质量报验" LabelAlign="Right" LabelWidth="80px">
</f:CheckBox>
<f:DropDownBox runat="server" Label="对口专业" ID="txtCNCodes" EmptyText="--请选择--" EnableMultiSelect="true" MatchFieldWidth="true" LabelWidth="80px">
<PopPanel>
@ -146,7 +152,7 @@
</f:Toolbar>
</Toolbars>
</f:SimpleForm>
</Items>
</items>
</f:Panel>
<f:Window ID="Window1" Title="单位合并" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="false"
@ -186,6 +192,7 @@
var drpPostTypeClientID = '<%= drpPostType.ClientID %>';
var ckbIsHsseClientID = '<%= ckbIsHsse.ClientID %>';
var ckbIsCQMSClientID = '<%= ckbIsCQMS.ClientID %>';
var ckbIsCQMSCheckClientID = '<%= ckbIsCQMSCheck.ClientID %>';
var txtCNCodesClientID = '<%= txtCNCodes.ClientID %>';
var txtRemarkClientID = '<%=txtRemark.ClientID %>';
@ -204,6 +211,7 @@
F(drpPostTypeClientID).setValue(rowValue['PostType']);
F(ckbIsHsseClientID).setValue(rowValue['IsHsse']);
F(ckbIsCQMSClientID).setValue(rowValue['IsCQMS']);
F(ckbIsCQMSCheckClientID).setValue(rowValue['IsCQMSCheck']);
F(txtCNCodesClientID).setValue(rowValue['CNCodes']);
F(txtRemarkClientID).setValue(rowValue['Remark']);

View File

@ -33,7 +33,7 @@ namespace FineUIPro.Web.BaseInfo
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT wp.WorkPostId,wp.WorkPostName, wp.WorkPostCode, wp.Remark,wp.PostType,wp.IsHsse,wp.IsCQMS,wp.CNCodes,
string strSql = @"SELECT wp.WorkPostId,wp.WorkPostName, wp.WorkPostCode, wp.Remark,wp.PostType,wp.IsHsse,wp.IsCQMS,wp.CNCodes,wp.IsCQMSCheck,
case wp.IsHsse when 1 then '是' else '否' end as IsHsseStr,const.ConstText as PostTypeName
FROM dbo.Base_WorkPost AS wp
LEFT JOIN Sys_Const AS const ON const.ConstValue = wp.PostType and const.GroupId = '" + ConstValue.Group_PostType + "' " +
@ -170,6 +170,10 @@ namespace FineUIPro.Web.BaseInfo
{
this.ckbIsCQMS.Checked = true;
}
if (workPost.IsCQMSCheck == true)
{
this.ckbIsCQMSCheck.Checked = true;
}
if (!string.IsNullOrEmpty(workPost.CNCodes))
{
txtCNCodes.Values = workPost.CNCodes.Split(',');
@ -210,6 +214,7 @@ namespace FineUIPro.Web.BaseInfo
PostType = this.drpPostType.SelectedValue,
IsHsse = Convert.ToBoolean(this.ckbIsHsse.Checked),
IsCQMS = Convert.ToBoolean(this.ckbIsCQMS.Checked),
IsCQMSCheck = Convert.ToBoolean(this.ckbIsCQMSCheck.Checked),
CNCodes = string.Join(",", txtCNCodes.Values),
Remark = txtRemark.Text.Trim()
};
@ -282,6 +287,16 @@ namespace FineUIPro.Web.BaseInfo
#endregion
/// <summary>
/// 关闭导入弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#region
/// <summary>
/// 验证岗位名称、编号是否存在

View File

@ -201,6 +201,15 @@ namespace FineUIPro.Web.BaseInfo {
/// </remarks>
protected global::FineUIPro.CheckBox ckbIsCQMS;
/// <summary>
/// ckbIsCQMSCheck 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox ckbIsCQMSCheck;
/// <summary>
/// txtCNCodes 控件。
/// </summary>

View File

@ -73,9 +73,12 @@
FieldType="String" HeaderText="课题" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Process" DataField="Process"
<%--<f:RenderField Width="180px" ColumnID="Process" DataField="Process"
FieldType="String" HeaderText="过程" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="120px" ColumnID="AwardYear" DataField="AwardYear" SortField="AwardYear"
FieldType="Date" Renderer="Date" RendererArgument="yyyy" HeaderText="颁奖年份" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Achievement" DataField="Achievement"
FieldType="String" HeaderText="成果" TextAlign="Center"

View File

@ -81,7 +81,7 @@ namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
protected DataTable ChecklistData()
{
string strSql =
@"select C.*,p.PersonName,u.UnitName, (case C.AwardType when '1' then '创优' when '2' then 'QC' end) as AwardTypeName,
@"select C.*,p.PersonName,u.UnitName, (case C.AwardType when '1' then '创优' when '2' then 'QC' end) as AwardTypeName,C.AwardYear,
(case C.AwardLevel when '1' then ''
when '2' then ''
when '3' then ''

View File

@ -49,8 +49,11 @@
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtProcess" runat="server" LabelWidth="100px" Label="过程" LabelAlign="Right">
</f:TextBox>
<%--<f:TextBox ID="txtProcess" runat="server" LabelWidth="100px" Label="过程" LabelAlign="Right">
</f:TextBox>--%>
<f:DatePicker runat="server" Required="true" DateFormatString="yyyy" Label="颁奖年份" EmptyText="请选择颁奖年份"
ID="txtAwardYear" ShowRedStar="true" DisplayType="Year" ShowTodayButton="false">
</f:DatePicker>
<f:TextBox ID="txtAchievement" runat="server" LabelWidth="120px" Label="成果" LabelAlign="Right">
</f:TextBox>
</Items>

View File

@ -46,7 +46,10 @@ namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
this.drpUnitId.SelectedValue = QCGroupRegistration.UnitId;
}
txtSubjects.Text = QCGroupRegistration.Subjects;
txtProcess.Text = QCGroupRegistration.Process;
if (QCGroupRegistration.AwardYear != null)
{
txtAwardYear.Text = string.Format("{0:yyyy}", QCGroupRegistration.AwardYear);
}
txtAchievement.Text = QCGroupRegistration.Achievement;
txtAwardName.Text = QCGroupRegistration.AwardName;
if (!string.IsNullOrEmpty(QCGroupRegistration.AwardType))
@ -120,7 +123,11 @@ namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
QCGroupRegistration.UnitId = this.drpUnitId.SelectedValue;
}
QCGroupRegistration.Subjects = txtSubjects.Text.Trim();
QCGroupRegistration.Process = txtProcess.Text.Trim();
var awardYearText = this.txtAwardYear.Text.Trim();
if (!string.IsNullOrEmpty(awardYearText))
{
QCGroupRegistration.AwardYear = DateTime.ParseExact(awardYearText, "yyyy", null);
}
QCGroupRegistration.Achievement = txtAchievement.Text.Trim();
QCGroupRegistration.AwardName = txtAwardName.Text.Trim();
if (!string.IsNullOrEmpty(this.drpAwardType.SelectedValue))

View File

@ -7,12 +7,10 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
{
namespace FineUIPro.Web.CQMS.QualityActivity.QCManage {
public partial class QCGroupRegistrationEdit
{
public partial class QCGroupRegistrationEdit {
/// <summary>
/// form1 控件。
@ -96,13 +94,13 @@ namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
protected global::FineUIPro.TextBox txtSubjects;
/// <summary>
/// txtProcess 控件。
/// txtAwardYear 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProcess;
protected global::FineUIPro.DatePicker txtAwardYear;
/// <summary>
/// txtAchievement 控件。

View File

@ -49,8 +49,11 @@
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtProcess" runat="server" LabelWidth="100px" Label="过程" LabelAlign="Right" Readonly="true">
</f:TextBox>
<%--<f:TextBox ID="txtProcess" runat="server" LabelWidth="100px" Label="过程" LabelAlign="Right" Readonly="true">
</f:TextBox>--%>
<f:DatePicker runat="server" Required="true" DateFormatString="yyyy" Label="颁奖年份" EmptyText="请选择颁奖年份"
ID="txtAwardYear" ShowRedStar="true" DisplayType="Year" ShowTodayButton="false" Readonly="true">
</f:DatePicker>
<f:TextBox ID="txtAchievement" runat="server" LabelWidth="120px" Label="成果" LabelAlign="Right" Readonly="true">
</f:TextBox>
</Items>

View File

@ -45,7 +45,10 @@ namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
this.drpUnitId.SelectedValue = QCGroupRegistration.UnitId;
}
txtSubjects.Text = QCGroupRegistration.Subjects;
txtProcess.Text = QCGroupRegistration.Process;
if (QCGroupRegistration.AwardYear != null)
{
txtAwardYear.Text = string.Format("{0:yyyy}", QCGroupRegistration.AwardYear);
}
txtAchievement.Text = QCGroupRegistration.Achievement;
txtAwardName.Text = QCGroupRegistration.AwardName;
if (!string.IsNullOrEmpty(QCGroupRegistration.AwardType))

View File

@ -7,12 +7,10 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
{
namespace FineUIPro.Web.CQMS.QualityActivity.QCManage {
public partial class QCGroupRegistrationView
{
public partial class QCGroupRegistrationView {
/// <summary>
/// form1 控件。
@ -96,13 +94,13 @@ namespace FineUIPro.Web.CQMS.QualityActivity.QCManage
protected global::FineUIPro.TextBox txtSubjects;
/// <summary>
/// txtProcess 控件。
/// txtAwardYear 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProcess;
protected global::FineUIPro.DatePicker txtAwardYear;
/// <summary>
/// txtAchievement 控件。

View File

@ -1,7 +1,9 @@
using System;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Web.UI.DataVisualization.Charting;
using System.Web.UI.WebControls;
namespace Web.Controls
{
@ -485,6 +487,166 @@ namespace Web.Controls
Controls.Add(chart1);
}
public void CreateChart1(Model.DataSourceChart dataSourceChart)
{
int totalDataCount = 0;
if (dataSourceChart.DataSourceTeams != null && dataSourceChart.DataSourceTeams.Count > 0)
{
var firstTeam = dataSourceChart.DataSourceTeams.FirstOrDefault(t => t.DataPointName != "累计");
if (firstTeam != null)
totalDataCount = firstTeam.DataSourcePoints.Count;
}
// 每个标签分配 70px 宽度可微调60-80 之间)
int autoChartWidth = totalDataCount * 45;
Chart chart1 = new Chart
{
ID = "chart1",
BackColor = Color.WhiteSmoke,
ImageLocation = "~/Images/ChartPic_#SEQ(300,3)",
BorderlineDashStyle = ChartDashStyle.Solid,
Palette = ChartColorPalette.BrightPastel,
BackSecondaryColor = Color.White,
BackGradientStyle = GradientStyle.TopBottom,
BorderWidth = 2,
BorderColor = Color.FromArgb(26, 59, 105),
ImageType = ChartImageType.Png,
Width = dataSourceChart.Width > autoChartWidth ? dataSourceChart.Width : autoChartWidth,
Height = dataSourceChart.Height
};
Title title = new Title
{
Text = dataSourceChart.Title,
ShadowColor = Color.FromArgb(32, 0, 0, 0),
Font = new Font("Trebuchet MS", 10F, FontStyle.Bold),
ShadowOffset = 3,
ForeColor = Color.FromArgb(26, 59, 105)
};
chart1.Titles.Add(title);
Legend legend = new Legend
{
Name = dataSourceChart.Title,
TextWrapThreshold = 1,
Docking = Docking.Top,
Alignment = StringAlignment.Center,
BackColor = Color.Transparent,
Font = new Font(new FontFamily("Trebuchet MS"), 8),
LegendStyle = LegendStyle.Row,
IsEquallySpacedItems = true,
IsTextAutoFit = false
};
chart1.Legends.Add(legend);
ChartArea chartArea = new ChartArea
{
Name = dataSourceChart.Title,
BackColor = Color.Transparent
};
chartArea.AxisX.IsLabelAutoFit = false;
chartArea.AxisY.IsLabelAutoFit = false;
chartArea.AxisX.Interval = 1; // 每个点都显示标签
chartArea.AxisX.LabelStyle.Angle = 45; // 倾斜45°
chartArea.AxisX.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F);
chartArea.AxisY.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F);
// 线条样式
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);
chart1.ChartAreas.Add(chartArea);
Panel scrollPanel = new Panel();
scrollPanel.Style.Add("width", "100%"); // 父容器自适应
scrollPanel.Style.Add("overflow-x", "auto"); // 横向滚动条
scrollPanel.Style.Add("overflow-y", "hidden");
scrollPanel.Style.Add("margin-bottom", "10px");
scrollPanel.Controls.Add(chart1);
if (dataSourceChart.ChartType == SeriesChartType.Pie)
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName].Label = "#PERCENT{P1}";
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
int m = 0;
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText,
dataSourcePoint.PointValue);
chart1.Series[dataSourceTeam.DataPointName].Points[m].LegendText =
dataSourcePoint.PointText + "#PERCENT{P1}";
m++;
}
}
}
}
else
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText,
dataSourcePoint.PointValue);
}
}
}
}
Controls.Add(scrollPanel);
}
}
}

View File

@ -1845,6 +1845,8 @@
<Content Include="HSSE\Hazard\ShowEnvironmentalItem.aspx" />
<Content Include="HSSE\Hazard\ShowHazardList.aspx" />
<Content Include="HSSE\Hazard\ShowWBS.aspx" />
<Content Include="HSSE\HiddenInspection\CheckStatisticsAnalysis.aspx" />
<Content Include="HSSE\HiddenInspection\CheckStatisticsAnalysisProject.aspx" />
<Content Include="HSSE\HiddenInspection\HiddenRectificationAdd.aspx" />
<Content Include="HSSE\HiddenInspection\HiddenRectificationConfirm.aspx" />
<Content Include="HSSE\HiddenInspection\HiddenRectificationList.aspx" />
@ -12641,6 +12643,20 @@
<Compile Include="HSSE\Hazard\ShowWBS.aspx.designer.cs">
<DependentUpon>ShowWBS.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\HiddenInspection\CheckStatisticsAnalysis.aspx.cs">
<DependentUpon>CheckStatisticsAnalysis.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\HiddenInspection\CheckStatisticsAnalysis.aspx.designer.cs">
<DependentUpon>CheckStatisticsAnalysis.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\HiddenInspection\CheckStatisticsAnalysisProject.aspx.cs">
<DependentUpon>CheckStatisticsAnalysisProject.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\HiddenInspection\CheckStatisticsAnalysisProject.aspx.designer.cs">
<DependentUpon>CheckStatisticsAnalysisProject.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\HiddenInspection\HiddenRectificationAdd.aspx.cs">
<DependentUpon>HiddenRectificationAdd.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -0,0 +1,66 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckStatisticsAnalysis.aspx.cs" Inherits="FineUIPro.Web.HSSE.HiddenInspection.HSSECheckStatisticsAnalysis" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>隐患分析</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-row.yellow {
background-color: YellowGreen;
background-image: none;
}
.f-grid-row.red {
background-color: Yellow;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel3" runat="server" />
<f:Panel ID="Panel3" Margin="24px" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" Layout="Fit" IFrameUrl="" EnableIFrame="True"
Title="中间面板" ShowBorder="False" ShowHeader="false" BodyPadding="10px" IconFont="_RoundPlus">
</f:Panel>
</Items>
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:DatePicker runat="server" Required="true" DateFormatString="yyyy-MM-dd" Label="开始日期" EmptyText="请选择日期"
ID="DatePicker1" ShowRedStar="true" DisplayType="Day" ShowTodayButton="false" Width="250px" LabelWidth="90px">
</f:DatePicker>
<f:DatePicker ID="DatePicker2" Required="true" Readonly="false" CompareControl="DatePicker1" DateFormatString="yyyy-MM-dd"
CompareOperator="GreaterThanEqual" CompareMessage="结束日期应该大于开始日期" Label="结束日期"
runat="server" ShowRedStar="true" DisplayType="Day" ShowTodayButton="false" Width="250px" LabelWidth="90px">
</f:DatePicker>
<f:DropDownList ID="drpProject" runat="server" Label="项目" EmptyText="-请选择-" Width="400px"
EnableEdit="true" LabelWidth="70px" AutoSelectFirstItem="false" EnableMultiSelect="true" EnableCheckBoxSelect="true" EnableSimulateTree="True">
</f:DropDownList>
<f:ToolbarFill runat="server" />
<f:Button ID="BtnAnalyse" Text="统计" ToolTip="统计" Icon="ChartPie" runat="server" ValidateForms="Panel3" OnClick="BtnAnalyse_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Panel>
</form>
<script>
function onRefIframe() {
panelCenterRegion.refreshIFrame();
}
</script>
</body>
</html>

View File

@ -0,0 +1,56 @@
using System;
using BLL;
namespace FineUIPro.Web.HSSE.HiddenInspection
{
public partial class HSSECheckStatisticsAnalysis : PageBase
{
public string Types
{
get => (string)ViewState["Types"];
set => ViewState["Types"] = value;
}
public string UnitId
{
get => (string)ViewState["UnitId"];
set => ViewState["UnitId"] = value;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.DatePicker1.Text = new DateTime(DateTime.Now.Year, 1, 1).ToString("yyyy-MM-dd");
this.DatePicker2.Text = DateTime.Now.ToString("yyyy-MM-dd");
UnitId = this.CurrUser.UnitId;
if (this.CurrUser.PersonId == Const.sysglyId || this.CurrUser.PersonId == Const.hfnbdId || this.CurrUser.PersonId == Const.sedinId)
{
UnitId = BLL.Const.UnitId_SEDIN;
}
BLL.ProjectService.InitProjectDropDownList(this.drpProject,UnitId, false);//项目
Types = Request.Params["Types"] ?? "1";
}
}
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
string ProjectStr = string.Empty;
foreach (ListItem item in this.drpProject.SelectedItemArray)
{
ProjectStr += item.Value + ",";
}
string queryStr = string.Empty;
if (!string.IsNullOrWhiteSpace(queryStr))
{
ShowNotify(queryStr, MessageBoxIcon.Warning);
return;
}
panelCenterRegion.IFrameUrl = $"./CheckStatisticsAnalysisProject.aspx?StartDate={DatePicker1.Text}&EndDate={DatePicker2.Text}&ProjectStr={ProjectStr}&Types={Types}&UnitId={UnitId}";
}
}
}

View File

@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HiddenInspection
{
public partial class HSSECheckStatisticsAnalysis
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// DatePicker1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker DatePicker1;
/// <summary>
/// DatePicker2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker DatePicker2;
/// <summary>
/// drpProject 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProject;
/// <summary>
/// BtnAnalyse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
}
}

View File

@ -0,0 +1,139 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckStatisticsAnalysisProject.aspx.cs" Inherits="FineUIPro.Web.HSSE.HiddenInspection.HSSECheckStatisticsAnalysisProject" %>
<%@ Register Src="~/Controls/ChartControl.ascx" TagName="ChartControl" TagPrefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
.f-grid-row-summary .f-grid-cell-text {
font-weight: bold;
color: red;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-row.yellow {
background-color: YellowGreen;
background-image: none;
}
.f-grid-row.red {
background-color: Yellow;
}
.f-grid-cell[data-color=color1] {
background-color: Yellow;
color: #000000;
}
.f-grid-row-summary .f-grid-cell-text {
font-weight: bold;
color: red;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="TabStrip1" AjaxAspnetControls="divHiddenDangerProject"/>
<f:TabStrip ID="TabStrip1" IsFluid="true" Height="350px" ShowBorder="true" TabPosition="Top"
EnableTabCloseMenu="false" ActiveTabIndex="0" runat="server">
<Tabs>
<f:Tab Title="数据分析" BodyPadding="10px" Layout="Fit" runat="server">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="问题分析表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ProjectId" AllowCellEditing="true"
ClicksToEdit="1" DataIDField="ProjectId" AllowSorting="true" SortField="ProjectId"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowColumnLocking="true"
AllowPaging="false" IsDatabasePaging="false" PageSize="50" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" EnableRowClickEvent="True" EnableSummary="true" SummaryPosition="Bottom">
<Toolbars>
<f:Toolbar ID="Toolbar4" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:ToolbarFill runat="server"/>
<f:Button ID="btnQuery" ToolTip="查询" Text="查询" Icon="SystemSearch" runat="server" EnablePostBack="true" Hidden="True"
OnClick="btnQuery_OnClick">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center" EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="500px" ColumnID="ProjectName" DataField="ProjectName"
SortField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:GroupField HeaderText="巡检数量" TextAlign="Center" HeaderTextAlign="Center">
<Columns>
<f:RenderField HeaderText="待整改" ColumnID="UNCloseNum" DataField="UNCloseNum" ExpandUnusedSpace="true"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField HeaderText="已关闭" ColumnID="CloseNum" DataField="CloseNum" ExpandUnusedSpace="true"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField HeaderText="合计" ColumnID="HJNum" DataField="HJNum" ExpandUnusedSpace="true"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField Width="150px" ColumnID="ProjectRate" DataField="ProjectRate" SortField="ProjectRate"
FieldType="String" HeaderText="关闭总占比" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="图表分析" BodyPadding="10px"
runat="server">
<Items>
<f:DropDownList ID="drpChartType" runat="server" LabelWidth="100px" Label="图形类别" AutoPostBack="true" OnSelectedIndexChanged="drpChartType_SelectedIndexChanged" LabelAlign="Right">
</f:DropDownList>
<f:ContentPanel ShowHeader="false" runat="server" ID="cpHiddenDangerUnit" Margin="0 0 0 0">
<div id="divHiddenDangerProject">
<uc1:ChartControl ID="ChartHiddenDangerProject" runat="server"/>
</div>
</f:ContentPanel>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
<f:Window ID="Window1" runat="server" Hidden="true" ShowHeader="true"
IsModal="true" Target="Parent" EnableMaximize="true" EnableResize="true"
Title="编辑PHTGL_ContractTrack" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>
<f:Window ID="Window2" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="1200px" Height="650px">
</f:Window>
</form>
<script type="text/javascript">
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,582 @@
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace FineUIPro.Web.HSSE.HiddenInspection
{
public partial class HSSECheckStatisticsAnalysisProject : PageBase
{
public DataTable ChartTable
{
get { return (DataTable)ViewState["ChartTable"]; }
set { ViewState["ChartTable"] = value; }
}
/// <summary>
/// 开始年月
/// </summary>
public string StartDate
{
get => (string)ViewState["StartDate"];
set => ViewState["StartDate"] = value;
}
/// <summary>
/// 结束年月
/// </summary>
public string EndDate
{
get => (string)ViewState["EndDate"];
set => ViewState["EndDate"] = value;
}
public string UnitId
{
get => (string)ViewState["UnitId"];
set => ViewState["UnitId"] = value;
}
public bool ShowHsse
{
get => (bool)ViewState["ShowHsse"];
set => ViewState["ShowHsse"] = value;
}
public bool ShowEnvironment
{
get => (bool)ViewState["ShowEnvironment"];
set => ViewState["ShowEnvironment"] = value;
}
public bool ShowCqms
{
get => (bool)ViewState["ShowCqms"];
set => ViewState["ShowCqms"] = value;
}
public List<string> projects = new List<string>();
#region Page_Init
// 注意动态创建的代码需要放置于Page_Init不是Page_Load这样每次构造页面时都会执行
protected void Page_Init(object sender, EventArgs e)
{
string ProblemTypes = Request.Params["Types"];
ShowHsse = ProblemTypes.Contains("1");
ShowCqms = ProblemTypes.Contains("2");
ShowEnvironment = ProblemTypes.Contains("3");
InitGrid();
}
private void InitGrid()
{
StartDate = Request.Params["StartDate"];
EndDate = Request.Params["EndDate"];
UnitId = Request.Params["UnitId"];
string ProjectStr = Request.Params["ProjectStr"];
if (!string.IsNullOrWhiteSpace(ProjectStr))
{
var projectlst = ProjectStr.Split(',');
foreach (var un in projectlst)
{
if (!string.IsNullOrWhiteSpace(un))
{
projects.Add(un);
}
}
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.drpChartType.DataTextField = "ConstText";
this.drpChartType.DataValueField = "ConstValue";
this.drpChartType.DataSource = BLL.ConstValue.drpConstItemList(ConstValue.Group_ChartType);
this.drpChartType.DataBind();
// 绑定表格
this.BindGrid();
AnalyseData();
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
ChartTable = new DataTable();
ChartTable.Columns.Add("项目");
ChartTable.Columns.Add("待整改数");
ChartTable.Columns.Add("已关闭数");
DateTime start = DateTime.Parse(StartDate);
DateTime end = DateTime.Parse(EndDate);
var sublist = new List<Model.Base_Project>();
var IsThisUnit = BLL.Const.UnitId_SEDIN == UnitId ? true : false;
if (IsThisUnit)
{
sublist = BLL.ProjectService.GetProjectWorkList();
}
else
{
sublist = BLL.ProjectService.GetProjectWorkList(UnitId);
}
var allHazardList = new List<TempHazardModel>();
if (ShowHsse)
{
allHazardList = (from x in Funs.DB.View_Hazard_HazardRegister
where x.CheckTime.HasValue && x.CheckTime.Value >= start && x.CheckTime.Value <= end
select new TempHazardModel
{
ProjectId = x.ProjectId,
ProjectName = x.ProjectName,
States = x.States,
CheckTime = x.CheckTime
}).ToList();
}
if (ShowCqms)
{
allHazardList = (from x in Funs.DB.Check_CheckControl
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pt
from p in pt
join y in Funs.DB.Check_CheckControl on x.CheckControlCode equals y.CheckControlCode into yt
from y in yt
where x.CheckDate.HasValue && x.CheckDate.Value >= start && x.CheckDate.Value <= end
select new TempHazardModel
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
States = y.State,
CheckTime = x.CheckDate
}).ToList();
}
if (projects.Count > 0)
{
allHazardList = allHazardList.Where(x => projects.Contains(x.ProjectId)).ToList();
}
List<AnalysisData> dataList = new List<AnalysisData>();
foreach (var item in sublist) //项目分组
{
if (projects.Count > 0 && !(projects.Where(x => x == item.ProjectId).Any()))
{
continue;
}
AnalysisData analysisData = new AnalysisData();
var projectHazardList = from x in allHazardList
where x.ProjectId == item.ProjectId
select x; //当前项目所有隐患
int closeList = 0;
if (ShowHsse)
{
closeList = projectHazardList.Where(x => x.States == "3").Count(); //已闭环
}
if (ShowCqms)
{
closeList = projectHazardList.Where(x => x.States == "7").Count(); //已闭环
}
analysisData.ProjectId = item.ProjectId;
analysisData.ProjectName = !string.IsNullOrEmpty(item.ShortName) ? item.ShortName : item.ProjectName;
analysisData.HJNum = projectHazardList.Count();
analysisData.CloseNum = closeList;
analysisData.UNCloseNum = projectHazardList.Count() - closeList;
if (projectHazardList.Count() > 0)
{
double rate = closeList / (double)projectHazardList.Count() * 100;
analysisData.ProjectRate = rate.ToString("F2") + "%"; // 保留两位小数
}
else
{
// 处理分母为零的情况,例如设置一个默认值或抛出异常
analysisData.ProjectRate = "0.00%"; // 或者其他适当的默认值
}
dataList.Add(analysisData);
//chart图表
DataRow chartTableRow = ChartTable.NewRow();
chartTableRow["项目"] = !string.IsNullOrEmpty(item.ShortName) ? item.ShortName : item.ProjectName;
chartTableRow["待整改数"] = projectHazardList.Count() - closeList;
chartTableRow["已关闭数"] = closeList;
ChartTable.Rows.Add(chartTableRow);
}
Grid1.RecordCount = dataList.Count;
Grid1.DataSource = dataList;
Grid1.DataBind();
// 数据合计
OutputSummaryData(dataList);
}
/// <summary>
/// 数据合计
/// </summary>
/// <param name="source"></param>
private void OutputSummaryData(List<AnalysisData> source)
{
JObject summary = new JObject();
summary.Add("ProjectName", "合计");
int UNCloseNumAll = 0;
int CloseNumAll = 0;
int HJNumAll = 0;
foreach (var analysisData in source)
{
UNCloseNumAll += Convert.ToInt32(analysisData.UNCloseNum);
CloseNumAll += Convert.ToInt32(analysisData.CloseNum);
HJNumAll += Convert.ToInt32(analysisData.HJNum);
}
summary.Add("UNCloseNum", UNCloseNumAll);
summary.Add("CloseNum", CloseNumAll);
summary.Add("HJNum", HJNumAll);
Grid1.SummaryData = summary;
}
#endregion
#region GV
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.Grid1.PageIndex = e.NewPageIndex;
this.BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.Grid1.SortDirection = e.SortDirection;
this.Grid1.SortField = e.SortField;
this.BindGrid();
}
#endregion
#region
protected void btnQuery_OnClick(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#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 = 500;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
MultiHeaderTable mht = new MultiHeaderTable();
mht.ResolveMultiHeaderTable(Grid1.Columns);
sb.Append("<meta http-equiv=\"Content-Type\" content=\"application/vnd.ms-excel;charset=utf-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
foreach (List<object[]> rows in mht.MultiTable)
{
sb.Append("<tr>");
foreach (object[] cell in rows)
{
int rowspan = Convert.ToInt32(cell[0]);
int colspan = Convert.ToInt32(cell[1]);
GridColumn column = cell[2] as GridColumn;
sb.AppendFormat("<th{0}{1}{2}>{3}</th>",
rowspan != 1 ? " rowspan=\"" + rowspan + "\"" : "",
colspan != 1 ? " colspan=\"" + colspan + "\"" : "",
colspan != 1 ? " style=\"text-align:center;\"" : "",
column.HeaderText);
}
sb.Append("</tr>");
}
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in mht.Columns)
{
string html = row.Values[column.ColumnIndex].ToString();
if (column.ColumnID == "tfNumber")
{
html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text;
}
else if (column.ColumnID == "tfGender")
{
html = (row.FindControl("labGender") as System.Web.UI.WebControls.Label).Text;
}
sb.AppendFormat("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#region
/// <summary>
/// 多表头处理
/// </summary>
public class MultiHeaderTable
{
// 包含 rowspancolspan 的多表头,方便生成 HTML 的 table 标签
public List<List<object[]>> MultiTable = new List<List<object[]>>();
// 最终渲染的列数组
public List<GridColumn> Columns = new List<GridColumn>();
public void ResolveMultiHeaderTable(GridColumnCollection columns)
{
List<object[]> row = new List<object[]>();
foreach (GridColumn column in columns)
{
object[] cell = new object[4];
cell[0] = 1; // rowspan
cell[1] = 1; // colspan
cell[2] = column;
cell[3] = null;
row.Add(cell);
}
ResolveMultiTable(row, 0);
ResolveColumns(row);
}
private void ResolveColumns(List<object[]> row)
{
foreach (object[] cell in row)
{
GroupField groupField = cell[2] as GroupField;
if (groupField != null && groupField.Columns.Count > 0)
{
List<object[]> subrow = new List<object[]>();
foreach (GridColumn column in groupField.Columns)
{
subrow.Add(new object[]
{
1,
1,
column,
groupField
});
}
ResolveColumns(subrow);
}
else
{
Columns.Add(cell[2] as GridColumn);
}
}
}
private void ResolveMultiTable(List<object[]> row, int level)
{
List<object[]> nextrow = new List<object[]>();
foreach (object[] cell in row)
{
GroupField groupField = cell[2] as GroupField;
if (groupField != null && groupField.Columns.Count > 0)
{
// 如果当前列包含子列,则更改当前列的 colspan以及增加父列向上递归的colspan
cell[1] = Convert.ToInt32(groupField.Columns.Count);
PlusColspan(level - 1, cell[3] as GridColumn, groupField.Columns.Count - 1);
foreach (GridColumn column in groupField.Columns)
{
nextrow.Add(new object[]
{
1,
1,
column,
groupField
});
}
}
}
MultiTable.Add(row);
// 如果当前下一行,则增加上一行(向上递归)中没有子列的列的 rowspan
if (nextrow.Count > 0)
{
PlusRowspan(level);
ResolveMultiTable(nextrow, level + 1);
}
}
private void PlusRowspan(int level)
{
if (level < 0)
{
return;
}
foreach (object[] cells in MultiTable[level])
{
GroupField groupField = cells[2] as GroupField;
if (groupField != null && groupField.Columns.Count > 0)
{
}
else
{
cells[0] = Convert.ToInt32(cells[0]) + 1;
}
}
PlusRowspan(level - 1);
}
private void PlusColspan(int level, GridColumn parent, int plusCount)
{
if (level < 0)
{
return;
}
foreach (object[] cells in MultiTable[level])
{
GridColumn column = cells[2] as GridColumn;
if (column == parent)
{
cells[1] = Convert.ToInt32(cells[1]) + plusCount;
PlusColspan(level - 1, cells[3] as GridColumn, plusCount);
}
}
}
}
#endregion
#endregion
protected void drpChartType_SelectedIndexChanged(object sender, EventArgs e)
{
AnalyseData();
}
private void AnalyseData()
{
DataView dv = new DataView(ChartTable);
var tb = dv.ToTable();
DataTable newTable = new DataTable();
foreach (DataColumn column in tb.Columns)
{
newTable.Columns.Add(column.ColumnName, column.DataType);
}
// 将数据从原始表复制到新的DataTable中
foreach (DataRow row in tb.Rows)
{
DataRow newRow = newTable.NewRow();
foreach (DataColumn column in newTable.Columns)
{
newRow[column.ColumnName] = row[column.ColumnName];
}
newTable.Rows.Add(newRow);
}
this.ChartHiddenDangerProject.CreateChart1(BLL.ChartControlService.GetDataSourceChart(newTable, "安全巡检统计分析",
this.drpChartType.SelectedValue, 1150, 450, false));
}
public class AnalysisData
{
public string ProjectId { get; set; }
public string ProjectName { get; set; }
public int UNCloseNum { get; set; }
public int CloseNum { get; set; }
public int HJNum { get; set; }
public string ProjectRate { get; set; }
}
public class TempHazardModel
{
public string ProjectId { get; set; }
public string ProjectName { get; set; }
public string States { get; set; }
public DateTime? CheckTime { get; set; }
}
}
}

View File

@ -0,0 +1,134 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HiddenInspection
{
public partial class HSSECheckStatisticsAnalysisProject
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// TabStrip1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar4;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// drpChartType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpChartType;
/// <summary>
/// cpHiddenDangerUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel cpHiddenDangerUnit;
/// <summary>
/// ChartHiddenDangerProject 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::Web.Controls.ChartControl ChartHiddenDangerProject;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
}
}

View File

@ -1,51 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="6A992AB8-A32D-448F-B06F-8DD4C112CC91" Text="法律法规制度标准库" NavigateUrl="">
<TreeNode id="CF1F59BB-215A-4E9D-9F19-DE188D322477" Text="标准分类" NavigateUrl="">
<TreeNode id="8B550B58-C681-4F34-83F0-F1E99CE04A47" Text="国内标准" NavigateUrl="">
<TreeNode id="FF0D9166-4509-4411-8039-F035BC251114" Text="数据仓库" NavigateUrl="">
<TreeNode id="0E9C6A47-E410-43C4-95D1-1EC1C01E9967" Text="WBS数据仓库" NavigateUrl="DigData/WBSDW.aspx">
</TreeNode>
<TreeNode id="97D1E401-EA0F-4C90-B7DC-61D568BAE617" Text="国外标准" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="DC3C36E0-4CD4-43E1-9CF8-D98D053E31FB" Text="法律法规" NavigateUrl=""><TreeNode id="2C7F78D3-DA7B-4193-A37F-CC479E4B9583" Text="法律法规" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="97D20BA1-9378-4268-901B-3747EDFB15F4" Text="赛鼎体系" NavigateUrl=""><TreeNode id="406EBAAB-05B2-4249-BAC2-5589F50AE365" Text="企业标准" NavigateUrl=""></TreeNode>
<TreeNode id="59F3FA81-7D08-4611-A3FF-22BFA656A940" Text="企业制度" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="35092B0F-1B7B-4014-A41D-41354FD87374" Text="遵照执行的集团制度" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="BAEBE57F-2858-49E0-BEFE-4D2FDF2FA4FE" Text="公共资源库" NavigateUrl=""><TreeNode id="664094A9-3DEF-4674-8FE2-ACF30B71B8DB" Text="安全公共资源库" NavigateUrl=""><TreeNode id="FDVXFGDS-5THM-CCDE-DCS2-TGHNO48F7UKM" Text="安全合规" NavigateUrl=""><TreeNode id="F4B02718-0616-4623-ABCE-885698DDBEB1" Text="安全法律法规" NavigateUrl="HSSE/Law/LawRegulationList.aspx"></TreeNode>
<TreeNode id="499E23C1-057C-4B04-B92A-973B1DACD546" Text="赛鼎制度" NavigateUrl="HSSE/HSSESystem/SafetyInstitution.aspx"></TreeNode>
<TreeNode id="EFDSFVDE-RTHN-7UMG-4THA-5TGED48F8IOL" Text="安全标准规范" NavigateUrl="HSSE/Law/HSSEStandardList.aspx"></TreeNode>
<TreeNode id="DF1413F3-4CE5-40B3-A574-E01CE64FEA25" Text="安全规章制度" NavigateUrl="HSSE/Law/RulesRegulations.aspx"></TreeNode>
<TreeNode id="56960940-81A8-43D1-9565-C306EC7AFD12" Text="集团制度" NavigateUrl="HSSE/Law/ManageRule.aspx"></TreeNode>
</TreeNode>
<TreeNode id="2B49BFE2-734F-489E-91B9-D05F02E1976D" Text="安全生产责任制" NavigateUrl=""><TreeNode id="1DB91420-47D3-4219-AAB4-7E613FCBCC90" Text="安全主体责任" NavigateUrl="HSSE/HSSESystem/HSSEMainDuty.aspx"></TreeNode>
</TreeNode>
<TreeNode id="E26D223B-4CA2-4A6D-82D0-224CC9C8676D" Text="安全教育" NavigateUrl=""><TreeNode id="9D99A981-7380-4085-84FA-8C3B1AFA6202" Text="培训教材库" NavigateUrl="HSSE/EduTrain/TrainDB.aspx"></TreeNode>
<TreeNode id="9D4F76A1-CD2E-4E66-B833-49425CD879EB" Text="公司教材库" NavigateUrl="HSSE/EduTrain/CompanyTraining.aspx"></TreeNode>
<TreeNode id="4D6BD686-DA06-45CC-9DB8-54B342651724" Text="考试试题库" NavigateUrl="HSSE/EduTrain/TestTraining.aspx"></TreeNode>
<TreeNode id="F58EE8ED-9EB5-47C7-9D7F-D751EFEA44CA" Text="安全试题库" NavigateUrl="HSSE/EduTrain/TrainTestDB.aspx"></TreeNode>
<TreeNode id="D86917DB-D00A-4E18-9793-C290B5BBA84C" Text="事故案例库" NavigateUrl="HSSE/EduTrain/AccidentCase.aspx"></TreeNode>
</TreeNode>
<TreeNode id="D70D9BF5-C72E-414D-941B-CF9B4065F6BA" Text="安全技术" NavigateUrl=""><TreeNode id="8333727B-A2CE-4CE2-A019-21AC9EE61A4C" Text="危险源清单" NavigateUrl="HSSE/Technique/HazardList.aspx"></TreeNode>
<TreeNode id="C0018E8C-C88B-4E25-BCFC-F0BF3CACC63A" Text="公司危险源清单" NavigateUrl="HSSE/Technique/CompanyHazardList.aspx"></TreeNode>
<TreeNode id="773B59F9-61F9-4F5E-9D68-A1BF9322AFFA" Text="环境因素危险源" NavigateUrl="HSSE/Technique/Environmental.aspx"></TreeNode>
<TreeNode id="DC2AA8C2-82A8-4F7A-832D-9889C65AA228" Text="公司环境因素危险源" NavigateUrl="HSSE/Technique/CompanyEnvironmental.aspx"></TreeNode>
<TreeNode id="2D86AD87-4108-428C-BA3D-F81FB85511FE" Text="安全隐患" NavigateUrl="HSSE/Technique/Rectify.aspx"></TreeNode>
<TreeNode id="9C26BF2A-091D-4AC3-8678-334DE4E1CED7" Text="项目安全检查项" NavigateUrl="HSSE/Technique/CheckItemSet.aspx"></TreeNode>
<TreeNode id="D11BFC83-BE64-457D-B8FA-11C37D35CD72" Text="应急预案" NavigateUrl="HSSE/Technique/Emergency.aspx"></TreeNode>
<TreeNode id="3E2F2FFD-ED2E-4914-8370-D97A68398814" Text="施工方案" NavigateUrl="HSSE/Technique/SpecialScheme.aspx"></TreeNode>
</TreeNode>
<TreeNode id="1B688B07-AEF4-43D8-BF31-1907522967ED" Text="标牌管理" NavigateUrl=""><TreeNode id="022CA9C1-70F0-4C07-996C-0736D32B442A" Text="标牌管理" NavigateUrl="HSSE/Resources/SignManage.aspx"></TreeNode>
</TreeNode>
</TreeNode>
<TreeNode id="34705FFF-0BA5-4C4F-BD70-721AA0EF874F" Text="质量公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="AB48BB81-A0F1-4E90-9E01-3F203E5ACFDE" Text="施工公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="EDDED4C1-B01E-4831-8552-38CB30CE8817" Text="开车公共资源库" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="DCVVBDE3-1B48-4615-FCD0-VDBCDS3ET4D9" Text="施工WBS基础数据库" NavigateUrl="CQMS/WBS/ControlItemInitSet.aspx"></TreeNode>
<TreeNode id="FF0D9166-4509-4411-8039-F035BC251114" Text="数据仓库" NavigateUrl=""><TreeNode id="AA670914-6EAA-4CFA-8BD6-E0648F8FD21C" Text="安全数据库" NavigateUrl=""><TreeNode id="E1ABD1B1-1563-433A-972B-555076A96D06" Text="安全数据库" NavigateUrl="DigData/HSEDataDW.aspx"></TreeNode>
<TreeNode id="427AB060-2510-4568-B85B-AD6796EBE569" Text="项目HSE数据汇总" NavigateUrl="DigData/HSEDataCollect.aspx"></TreeNode>
<TreeNode id="92B50285-30BD-4B62-9E23-A0D6B4BA1577" Text="项目数据仓库" NavigateUrl=""><TreeNode id="AA670914-6EAA-4CFA-8BD6-E0648F8FD21C" Text="安全数据库" NavigateUrl=""><TreeNode id="E1ABD1B1-1563-433A-972B-555076A96D06" Text="安全数据库" NavigateUrl="DigData/HSEDataDW.aspx"></TreeNode>
<TreeNode id="04B182E4-D31E-449F-9803-322F3F380D89" Text="HSE日常检查问题分析" NavigateUrl="DigData/DailyProblemAnalysis.aspx"></TreeNode>
<TreeNode id="24939ABD-E174-4C3D-8B04-494917B7BE40" Text="HSE隐患整改问题分析" NavigateUrl="DigData/RectifyProblemAnalysis.aspx"></TreeNode>
<TreeNode id="4B2E7EE5-AC7C-4143-B5BC-60080C763A24" Text="HSE教育培训统计" NavigateUrl="DigData/TrainRecordAnalysis.aspx"></TreeNode>
@ -58,15 +16,12 @@
<TreeNode id="A20E2443-A118-4C67-9084-FFEB685CA539" Text="清单子目使用率及价格走势图" NavigateUrl=""></TreeNode>
<TreeNode id="6D1F3A3F-EFD1-420A-87E7-8CFAEF971165" Text="日工效统计" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="5BE7F83B-C02D-4481-815F-153279B44C39" Text="劳务数据库" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="B87413D8-4EFB-42F3-A4F6-9D21C0CD3DFE" Text="数据分析室" NavigateUrl=""><TreeNode id="AF5C32FD-F0CB-404E-B56D-C4AE79A8A050" Text="人员功效分析" NavigateUrl=""></TreeNode>
<TreeNode id="0DB6BB5F-B17A-4A38-AABB-278300EA9E39" Text="员工产值分析" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="6136C2AE-2AF8-498D-BC19-7D693841239C" Text="文件柜" NavigateUrl=""><TreeNode id="506F42F3-F4CF-46A7-AC90-787117B4F1DC" Text="安全文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="A90460D0-2658-43F7-9558-A72E91E54ABD" Text="质量文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="2539A5CE-E209-4A16-A9B7-4C43E4E3CBEC" Text="进度文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="8FB0A651-485F-4413-BCD6-22BF82438125" Text="焊接文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="F596EC1A-71A3-4B34-B36C-68628F2F42FE" Text="合同文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="B87413D8-4EFB-42F3-A4F6-9D21C0CD3DFE" Text="数据分析室" NavigateUrl=""><TreeNode id="CFEF47C0-8EFA-46FF-8648-5B1922519DCC" Text="WBS数据分析" NavigateUrl="DigData/WBSAnalysis.aspx"></TreeNode>
<TreeNode id="B146FC96-B199-426B-8504-4BE093C0DCB1" Text="项目数据汇总分析" NavigateUrl=""><TreeNode id="427AB060-2510-4568-B85B-AD6796EBE569" Text="项目HSE数据汇总" NavigateUrl="DigData/HSEDataCollect.aspx"></TreeNode>
<TreeNode id="DD960B76-1F33-468B-9FEF-76328235C079" Text="项目质量数据汇总" NavigateUrl="DigData/CQMSDataCollect.aspx"></TreeNode>
<TreeNode id="A705738B-D0A2-41D2-A01A-18774B5AED49" Text="项目施工数据汇总" NavigateUrl=""></TreeNode>
</TreeNode>
</TreeNode>
</Tree>

View File

@ -4,7 +4,6 @@
<TreeNode id="8IDKGJE2-09B1-1234-VC6D-865CE48F0005" Text="管道等级" NavigateUrl="HJGL/BaseInfo/PipingClass.aspx">
</TreeNode>
<TreeNode id="8IDKGJE2-09B1-4607-BC6D-865CE48F0014" Text="管道介质" NavigateUrl="HJGL/BaseInfo/Medium.aspx"></TreeNode>
<TreeNode id="2F027233-22EC-4063-A04F-FB9FE6A91588" Text="材料仓库" NavigateUrl="HJGL/BaseInfo/Warehouse.aspx"></TreeNode>
<TreeNode id="F6194C00-D256-485D-9056-171FAB75928A" Text="管道颜色标识库" NavigateUrl="HJGL/BaseInfo/MaterialColor.aspx"></TreeNode>
</TreeNode>
<TreeNode id="8IDKGJE2-09B1-4607-DCS2-DCC3O48F080F" Text="数据导入" NavigateUrl=""><TreeNode id="B13BFFA5-3112-4209-8562-5329B78B405C" Text="三维模型导入" NavigateUrl="HJGL/DataImport/TDMImport.aspx"></TreeNode>
@ -14,12 +13,12 @@
<TreeNode id="1EE36752-6077-47C9-AFF0-5372B862FF61" Text="管线划分" NavigateUrl="HJGL/PreDesign/PipelingDivide.aspx"></TreeNode>
<TreeNode id="EF6B01AF-D038-4A38-BFAF-D89130D60DE6" Text="材料信息导入" NavigateUrl="HJGL/DataImport/MaterialInformation.aspx"></TreeNode>
<TreeNode id="1E36EA73-D536-4215-BFB9-A8771937BD89" Text="工厂预制管理" NavigateUrl=""><TreeNode id="0A3F6AB0-535E-489C-9F64-4FFE61C17085" Text="材料管理" NavigateUrl="HJGL/PreDesign/MaterialManage.aspx"></TreeNode>
<TreeNode id="53948077-B51D-4FF3-BFB0-AB4E27C42875" Text="排产计划" NavigateUrl="HJGL/PreDesign/ProductionSchedulingPlan.aspx"></TreeNode>
<TreeNode id="8255554C-0A92-4C7B-BF19-779AF0220A8C" Text="预制组件管理" NavigateUrl="HJGL/PreDesign/PrePipeline.aspx"></TreeNode>
<TreeNode id="F18CFC0E-47E0-477A-9AB3-72B88D438299" Text="堆场规划" NavigateUrl="HJGL/PreDesign/YardPlanning.aspx"></TreeNode>
<TreeNode id="EEC0D060-C15E-4D25-B015-C2B91F735DAC" Text="车次管理" NavigateUrl="HJGL/PreDesign/TrainNumberManager.aspx"></TreeNode>
<TreeNode id="25DED954-10C9-47CC-99F2-C44FDE9E0A81" Text="发货管理" NavigateUrl="HJGL/PreDesign/PackagingManage.aspx"></TreeNode>
<TreeNode id="BD9C587E-17C2-49F1-82AE-A05117E41D89" Text="安装清单" NavigateUrl="HJGL/PreDesign/InstallList.aspx"></TreeNode>
<TreeNode id="EEC0D060-C15E-4D25-B015-C2B91F735DAC" Text="发货管理" NavigateUrl="HJGL/PreDesign/TrainNumberManager.aspx"></TreeNode>
<TreeNode id="25DED954-10C9-47CC-99F2-C44FDE9E0A81" Text="包装管理" NavigateUrl="HJGL/PreDesign/PackagingManage.aspx"></TreeNode>
<TreeNode id="53948077-B51D-4FF3-BFB0-AB4E27C42875" Text="排产计划" NavigateUrl="HJGL/PreDesign/ProductionSchedulingPlan.aspx"></TreeNode>
</TreeNode>
<TreeNode id="9B828E92-733B-4AF9-9DD0-55ECD8B64AB8" Text="材料管理" NavigateUrl=""><TreeNode id="E29C1839-3530-45EC-A752-B26A0027E2CD" Text="入库管理" NavigateUrl=""><TreeNode id="324C72AF-447A-4308-AFB7-ABF788C58240" Text="入库申请" NavigateUrl="CLGL/InPlanMaster.aspx"></TreeNode>
<TreeNode id="4A55351A-2440-4A2D-8509-3FFEE5FC8861" Text="入库单管理" NavigateUrl="CLGL/InputMaster.aspx"></TreeNode>
@ -28,7 +27,7 @@
<TreeNode id="BCCA4D81-410C-4746-B1E4-F882BC3A25F4" Text="出库单管理" NavigateUrl="CLGL/OutputMaster.aspx"></TreeNode>
</TreeNode>
<TreeNode id="9579C717-769E-4CC0-9E54-EE03D87C15A5" Text="库存管理" NavigateUrl=""><TreeNode id="803F9828-52FA-4EF7-99C7-ADA99DADE9FB" Text="库存管理" NavigateUrl="CLGL/MaterialStock.aspx"></TreeNode>
<TreeNode id="D15E534F-98F3-4B8A-8656-EAF165DE917F" Text="盘点" NavigateUrl="CLGL/InputMaster.aspx"></TreeNode>
<TreeNode id="D15E534F-98F3-4B8A-8656-EAF165DE917F" Text="盘点" NavigateUrl="CLGL/MaterialStock.aspx"></TreeNode>
<TreeNode id="C05EF3BE-AB13-4852-B2AA-1095BE4EEB2F" Text="到货分析" NavigateUrl="CLGL/ArrivalStatistics.aspx"></TreeNode>
</TreeNode>
</TreeNode>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="E9D387EB-2797-43E3-AACE-93413839CCF7" Text="合同管理" NavigateUrl="">
<TreeNode id="E36CBDD0-2E49-415E-BBE7-B8222F40D749" Text="合同模板" NavigateUrl="">
<TreeNode id="C141ABE5-E377-45C1-9507-E723C40099B8" Text="基本信息" NavigateUrl="PHTGL/ContractCompile/Contract.aspx">
</TreeNode>
<TreeNode id="E36CBDD0-2E49-415E-BBE7-B8222F40D749" Text="合同模板" NavigateUrl=""><TreeNode id="C141ABE5-E377-45C1-9507-E723C40099B8" Text="基本信息" NavigateUrl="PHTGL/ContractCompile/Contract.aspx"></TreeNode>
<TreeNode id="C5560FF5-8181-4BA2-8326-D2B49E45660C" Text="合同协议书" NavigateUrl="PHTGL/ContractCompile/ContractAgreementEdit.aspx"></TreeNode>
<TreeNode id="98573D16-3310-4292-96A5-A59B9A5E6B6B" Text="通用条款" NavigateUrl="PHTGL/ContractCompile/GeneralTermsConditions.aspx"></TreeNode>
<TreeNode id="98367C43-9C85-467E-9144-288D80101E41" Text="专用条款" NavigateUrl="PHTGL/ContractCompile/SpecialTermsConditions.aspx"></TreeNode>

View File

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="BAC3D994-03A8-466C-8975-A31039998BCC" Text="施工进度统计" NavigateUrl="JDGL/Check/ProgressShow.aspx">
<TreeNode id="E23F0879-3E9F-4E7B-9A2D-EFF34798D629" Text="进度计划编制" NavigateUrl="JDGL/Check/PlanSet.aspx">
</TreeNode>
<TreeNode id="1172B112-2A12-4410-AD66-E5BA6B461475" Text="施工进度赢得值曲线" NavigateUrl="JDGL/Check/ProgressStatistics.aspx"></TreeNode>
<TreeNode id="B479EC55-E12A-4F91-AF3F-864DAAA136FB" Text="进度完成情况录入" NavigateUrl="JDGL/Check/CompleteInput.aspx"></TreeNode>
<TreeNode id="4288426D-E49B-4E5D-A495-7E6A76F269B5" Text="周计划" NavigateUrl=""></TreeNode>
<TreeNode id="F0E296C3-6499-43E5-88CD-E00C5180D3BC" Text="赢得值曲线" NavigateUrl="JDGL/Check/EarnedValueCurve.aspx"></TreeNode>
<TreeNode id="C75F0853-8A2B-4B32-83B7-509278D11957" Text="项目里程碑节点" NavigateUrl=""></TreeNode>
<TreeNode id="3550F422-E520-4962-9816-B691B0EE2865" Text="形象进度照片" NavigateUrl=""></TreeNode>
</Tree>

View File

@ -4,10 +4,10 @@
<TreeNode id="2E57E92E-31BE-46B3-89AF-E08DAE8FC8E7" Text="实施计划编制" NavigateUrl="PHTGL/BiddingManagement/ActionPlanFormation.aspx">
</TreeNode>
<TreeNode id="303B6753-ED3C-438A-A860-F9C5E5489C8F" Text="实施计划审批" NavigateUrl="PHTGL/BiddingManagement/ActionPlanReview.aspx"></TreeNode>
<TreeNode id="687991B6-73AC-42FA-9A72-178AF94D1EB4" Text="招标工程量清单定制" NavigateUrl="PHTGL/BillOfQuantities/BidProjectQuantityList.aspx"></TreeNode>
<TreeNode id="0BB31BB1-469D-41E8-9039-A53A2B1EEB86" Text="招标文件审批" NavigateUrl="PHTGL/BiddingManagement/BidDocumentsReview.aspx"></TreeNode>
<TreeNode id="133C55A1-3744-40F5-9C74-24E85AB1261F" Text="评标小组名单审批" NavigateUrl="PHTGL/BiddingManagement/ApproveUserReview.aspx"></TreeNode>
<TreeNode id="11503AD6-742D-406D-96F1-17BA3B9E7580" Text="确定中标人审批" NavigateUrl="PHTGL/BiddingManagement/SetSubReview.aspx"></TreeNode>
<TreeNode id="687991B6-73AC-42FA-9A72-178AF94D1EB4" Text="招标工程量清单定制" NavigateUrl="PHTGL/BillOfQuantities/BidProjectQuantityList.aspx"></TreeNode>
</TreeNode>
<TreeNode id="C041D799-47A0-4ECA-A6A2-C387857165D6" Text="合同管理" NavigateUrl=""><TreeNode id="C609FEA5-0904-4F59-A920-22B6459F1A94" Text="合同编制" NavigateUrl="PHTGL/ContractCompile/ContractFormation.aspx"></TreeNode>
<TreeNode id="B32E7F62-5AA3-46B2-A438-E286909A47B4" Text="合同评审" NavigateUrl="PHTGL/ContractCompile/ContractReview_Countersign.aspx"></TreeNode>

View File

@ -71,8 +71,6 @@
<TreeNode id="05336157-BECD-4BA1-989C-A86718574F5E" Text="保护气体定义" NavigateUrl="HJGL/BaseInfo/ProtectionGas.aspx"></TreeNode>
<TreeNode id="55DB671A-7DEB-4DA4-8429-E66AA69DBE7D" Text="材料编码库" NavigateUrl="HJGL/BaseInfo/MaterialCodeLib.aspx"></TreeNode>
</TreeNode>
<TreeNode id="24A40837-0756-49B0-8B3C-EFB8A9879336" Text="合同设置" NavigateUrl=""><TreeNode id="E40C8FCE-3530-47D6-85EB-5C7E7E0A89FC" Text="施工分包方式定义" NavigateUrl=""></TreeNode>
</TreeNode>
</TreeNode>
<TreeNode id="75AA6177-8AAD-4AA4-BC4E-3883FB095A65" Text="项目设置" NavigateUrl=""><TreeNode id="B830399C-CA36-4C23-A170-21E556D052DD" Text="项目成立" NavigateUrl="ProjectData/ProjectSet.aspx"></TreeNode>
</TreeNode>

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
</Tree>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="2C0E4E25-DB0D-441A-ABAB-3F0A68C5A6CB" Text="计量设备管理" NavigateUrl="">
</TreeNode>
</Tree>

View File

@ -58,7 +58,51 @@
<TreeNode id="3BBFCD70-D7A3-435C-9571-DD499D5ED7B8" Text="应急信息" NavigateUrl=""><TreeNode id="D12C2412-E12A-4F78-9AEF-1EE8AC84A561" Text="应急预案管理清单" NavigateUrl="ZHGL/Emergency/EmergencyList.aspx"></TreeNode>
<TreeNode id="172F25E0-F5E2-42E3-AD67-AC824D4E0FBB" Text="应急演练开展情况" NavigateUrl="ZHGL/Emergency/DrillRecordList.aspx"></TreeNode>
</TreeNode>
<TreeNode id="6A992AB8-A32D-448F-B06F-8DD4C112CC91" Text="法律法规制度标准库" NavigateUrl=""><TreeNode id="CF1F59BB-215A-4E9D-9F19-DE188D322477" Text="标准分类" NavigateUrl=""></TreeNode>
<TreeNode id="DC3C36E0-4CD4-43E1-9CF8-D98D053E31FB" Text="法律法规" NavigateUrl=""></TreeNode>
<TreeNode id="97D20BA1-9378-4268-901B-3747EDFB15F4" Text="赛鼎体系" NavigateUrl=""></TreeNode>
<TreeNode id="35092B0F-1B7B-4014-A41D-41354FD87374" Text="遵照执行的集团制度" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="BAEBE57F-2858-49E0-BEFE-4D2FDF2FA4FE" Text="公共资源库" NavigateUrl=""><TreeNode id="664094A9-3DEF-4674-8FE2-ACF30B71B8DB" Text="安全公共资源库" NavigateUrl=""><TreeNode id="FDVXFGDS-5THM-CCDE-DCS2-TGHNO48F7UKM" Text="安全合规" NavigateUrl=""><TreeNode id="F4B02718-0616-4623-ABCE-885698DDBEB1" Text="安全法律法规" NavigateUrl="HSSE/Law/LawRegulationList.aspx"></TreeNode>
<TreeNode id="499E23C1-057C-4B04-B92A-973B1DACD546" Text="赛鼎制度" NavigateUrl="HSSE/HSSESystem/SafetyInstitution.aspx"></TreeNode>
<TreeNode id="EFDSFVDE-RTHN-7UMG-4THA-5TGED48F8IOL" Text="安全标准规范" NavigateUrl="HSSE/Law/HSSEStandardList.aspx"></TreeNode>
<TreeNode id="DF1413F3-4CE5-40B3-A574-E01CE64FEA25" Text="安全规章制度" NavigateUrl="HSSE/Law/RulesRegulations.aspx"></TreeNode>
<TreeNode id="56960940-81A8-43D1-9565-C306EC7AFD12" Text="集团制度" NavigateUrl="HSSE/Law/ManageRule.aspx"></TreeNode>
</TreeNode>
<TreeNode id="2B49BFE2-734F-489E-91B9-D05F02E1976D" Text="安全生产责任制" NavigateUrl=""><TreeNode id="1DB91420-47D3-4219-AAB4-7E613FCBCC90" Text="安全主体责任" NavigateUrl="HSSE/HSSESystem/HSSEMainDuty.aspx"></TreeNode>
</TreeNode>
<TreeNode id="E26D223B-4CA2-4A6D-82D0-224CC9C8676D" Text="安全教育" NavigateUrl=""><TreeNode id="9D99A981-7380-4085-84FA-8C3B1AFA6202" Text="培训教材库" NavigateUrl="HSSE/EduTrain/TrainDB.aspx"></TreeNode>
<TreeNode id="9D4F76A1-CD2E-4E66-B833-49425CD879EB" Text="公司教材库" NavigateUrl="HSSE/EduTrain/CompanyTraining.aspx"></TreeNode>
<TreeNode id="4D6BD686-DA06-45CC-9DB8-54B342651724" Text="考试试题库" NavigateUrl="HSSE/EduTrain/TestTraining.aspx"></TreeNode>
<TreeNode id="F58EE8ED-9EB5-47C7-9D7F-D751EFEA44CA" Text="安全试题库" NavigateUrl="HSSE/EduTrain/TrainTestDB.aspx"></TreeNode>
<TreeNode id="D86917DB-D00A-4E18-9793-C290B5BBA84C" Text="事故案例库" NavigateUrl="HSSE/EduTrain/AccidentCase.aspx"></TreeNode>
</TreeNode>
<TreeNode id="D70D9BF5-C72E-414D-941B-CF9B4065F6BA" Text="安全技术" NavigateUrl=""><TreeNode id="8333727B-A2CE-4CE2-A019-21AC9EE61A4C" Text="危险源清单" NavigateUrl="HSSE/Technique/HazardList.aspx"></TreeNode>
<TreeNode id="C0018E8C-C88B-4E25-BCFC-F0BF3CACC63A" Text="公司危险源清单" NavigateUrl="HSSE/Technique/CompanyHazardList.aspx"></TreeNode>
<TreeNode id="773B59F9-61F9-4F5E-9D68-A1BF9322AFFA" Text="环境因素危险源" NavigateUrl="HSSE/Technique/Environmental.aspx"></TreeNode>
<TreeNode id="DC2AA8C2-82A8-4F7A-832D-9889C65AA228" Text="公司环境因素危险源" NavigateUrl="HSSE/Technique/CompanyEnvironmental.aspx"></TreeNode>
<TreeNode id="2D86AD87-4108-428C-BA3D-F81FB85511FE" Text="安全隐患" NavigateUrl="HSSE/Technique/Rectify.aspx"></TreeNode>
<TreeNode id="9C26BF2A-091D-4AC3-8678-334DE4E1CED7" Text="项目安全检查项" NavigateUrl="HSSE/Technique/CheckItemSet.aspx"></TreeNode>
<TreeNode id="D11BFC83-BE64-457D-B8FA-11C37D35CD72" Text="应急预案" NavigateUrl="HSSE/Technique/Emergency.aspx"></TreeNode>
<TreeNode id="3E2F2FFD-ED2E-4914-8370-D97A68398814" Text="施工方案" NavigateUrl="HSSE/Technique/SpecialScheme.aspx"></TreeNode>
</TreeNode>
<TreeNode id="1B688B07-AEF4-43D8-BF31-1907522967ED" Text="标牌管理" NavigateUrl=""><TreeNode id="022CA9C1-70F0-4C07-996C-0736D32B442A" Text="标牌管理" NavigateUrl="HSSE/Resources/SignManage.aspx"></TreeNode>
</TreeNode>
</TreeNode>
<TreeNode id="34705FFF-0BA5-4C4F-BD70-721AA0EF874F" Text="质量公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="AB48BB81-A0F1-4E90-9E01-3F203E5ACFDE" Text="施工公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="EDDED4C1-B01E-4831-8552-38CB30CE8817" Text="开车公共资源库" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="DCVVBDE3-1B48-4615-FCD0-VDBCDS3ET4D9" Text="施工WBS基础数据库" NavigateUrl="CQMS/WBS/ControlItemInitSet.aspx"></TreeNode>
<TreeNode id="C4B90ED3-0258-437A-BC0D-4AB43721EE08" Text="看板数据汇总" NavigateUrl="ZHGL/DataSync/DataStatistics.aspx"></TreeNode>
<TreeNode id="A9E94BE9-6F53-4A41-9A65-250F09D9E449" Text="安全巡检统计分析" NavigateUrl="HSSE/HiddenInspection/CheckStatisticsAnalysis.aspx?Types=1"></TreeNode>
<TreeNode id="28848506-234F-4D21-8E79-A0F24F2B2DDA" Text="质量巡检统计分析" NavigateUrl="HSSE/HiddenInspection/CheckStatisticsAnalysis.aspx?Types=2"></TreeNode>
<TreeNode id="6136C2AE-2AF8-498D-BC19-7D693841239C" Text="文件柜" NavigateUrl=""><TreeNode id="506F42F3-F4CF-46A7-AC90-787117B4F1DC" Text="安全文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="A90460D0-2658-43F7-9558-A72E91E54ABD" Text="质量文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="2539A5CE-E209-4A16-A9B7-4C43E4E3CBEC" Text="进度文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="8FB0A651-485F-4413-BCD6-22BF82438125" Text="焊接文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="F596EC1A-71A3-4B34-B36C-68628F2F42FE" Text="合同文件柜" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="1E216BE3-DB22-4649-BD9A-0777B0DC03E6" Text="QHSE上报" NavigateUrl=""><TreeNode id="94F94EC1-54B3-4BEB-A019-0A755A66D8FD" Text="安全数据" NavigateUrl="ZHGL/DataSync/HSSEData_HSSE.aspx"></TreeNode>
<TreeNode id="4C9920AE-F335-48B1-BDB0-276173305952" Text="质量数据" NavigateUrl="ZHGL/DataSync/CQMSData_CQMS.aspx"></TreeNode>
<TreeNode id="2110702F-4E12-479A-8EA1-E5A8EEF77276" Text="焊接数据" NavigateUrl="ZHGL/DataSync/HJGLData_HJGL.aspx"></TreeNode>

View File

@ -119,6 +119,7 @@ namespace Model
public string PostType { get; set; }
public bool? IsHsse { get; set; }
public bool? IsCQMS { get; set; }
public bool? IsCQMSCheck { get; set; }
public string TeamGroupName { get; set; }
public string WorkAreaName { get; set; }
}

View File

@ -158,6 +158,13 @@ namespace Model{
get;
set;
}
/// <summary>
/// 颁奖年份
/// </summary>
public DateTime? AwardYear
{
get;
set;
}
}
}

View File

@ -24752,6 +24752,8 @@ namespace Model
private string _SubjectUnitWebUrl;
private System.Nullable<bool> _IsAutoFetch;
private EntitySet<Accident_AccidentHandle> _Accident_AccidentHandle;
private EntitySet<Accident_AccidentPersonRecord> _Accident_AccidentPersonRecord;
@ -25196,6 +25198,8 @@ namespace Model
partial void OnSubjectUnitApiUrlChanged();
partial void OnSubjectUnitWebUrlChanging(string value);
partial void OnSubjectUnitWebUrlChanged();
partial void OnIsAutoFetchChanging(System.Nullable<bool> value);
partial void OnIsAutoFetchChanged();
#endregion
public Base_Project()
@ -26134,6 +26138,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsAutoFetch", DbType="Bit")]
public System.Nullable<bool> IsAutoFetch
{
get
{
return this._IsAutoFetch;
}
set
{
if ((this._IsAutoFetch != value))
{
this.OnIsAutoFetchChanging(value);
this.SendPropertyChanging();
this._IsAutoFetch = value;
this.SendPropertyChanged("IsAutoFetch");
this.OnIsAutoFetchChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Accident_AccidentHandle_Base_Project", Storage="_Accident_AccidentHandle", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")]
public EntitySet<Accident_AccidentHandle> Accident_AccidentHandle
{
@ -224908,6 +224932,8 @@ namespace Model
private string _AwardType;
private System.Nullable<System.DateTime> _AwardYear;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@ -224942,6 +224968,8 @@ namespace Model
partial void OnIsUpdateChanged();
partial void OnAwardTypeChanging(string value);
partial void OnAwardTypeChanged();
partial void OnAwardYearChanging(System.Nullable<System.DateTime> value);
partial void OnAwardYearChanged();
#endregion
public QCManage_QCGroupRegistration()
@ -225249,6 +225277,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AwardYear", DbType="DateTime")]
public System.Nullable<System.DateTime> AwardYear
{
get
{
return this._AwardYear;
}
set
{
if ((this._AwardYear != value))
{
this.OnAwardYearChanging(value);
this.SendPropertyChanging();
this._AwardYear = value;
this.SendPropertyChanged("AwardYear");
this.OnAwardYearChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;

View File

@ -383,12 +383,12 @@ namespace WebAPI.Controllers
/// <param name="trainTypeId">培训类型ID(可为空)</param>
/// <param name="pageIndex">分页</param>
/// <returns></returns>
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, int pageIndex, string startDate, string endDate)
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, int pageIndex, string startDate, string endDate, string isRepeat)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId, null, startDate, endDate).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId, null, startDate, endDate, isRepeat).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0)
{
@ -436,12 +436,12 @@ namespace WebAPI.Controllers
/// <param name="name"></param>
/// <param name="pageIndex"></param>
/// <returns></returns>
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name, int pageIndex, string startDate, string endDate)
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, string name, int pageIndex, string startDate, string endDate,string isRepeat)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId, name, startDate, endDate).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId, name, startDate, endDate, isRepeat).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0)
{