集团在建项目使用详情

This commit is contained in:
2026-05-26 14:56:00 +08:00
parent b17dafcbe9
commit 329ee99962
14 changed files with 1459 additions and 178 deletions
@@ -11,6 +11,17 @@
white-space: normal;
word-break: break-all;
}
/* 增强合计行样式 - 使用多种选择器确保生效 */
.f-grid-row-summary .f-grid-cell,
.f-grid-summary-row .f-grid-cell-inner {
font-weight: bold !important;
color: red !important;
}
.Pause {
/*background-color: darkgray;*/
background-color: red;
}
</style>
</head>
<body>
@@ -19,109 +30,221 @@
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="集团在建项目清单"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true"
DataKeyNames="Pid" DataIDField="Pid" AllowSorting="true" SortField="Start_date" SortDirection="DESC"
OnSort="Grid1_Sort" AllowPaging="true" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<f:TabStrip ID="TabStrip1" ShowBorder="true" TabPosition="Top"
EnableTabCloseMenu="false" ActiveTabIndex="0" runat="server" OnTabIndexChanged="TabStrip1_TabIndexChanged" AutoPostBack="true">
<Tabs>
<f:Tab Title="企业主数据与QHSE系统项目建立一览表" BodyPadding="10px" runat="server">
<Items>
<f:TextBox runat="server" Label="主数据编号" ID="txtProCode" EmptyText="输入主数据项目编号"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="主数据名称" ID="txtProName" EmptyText="输入主数据项目名称"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px">
</f:TextBox>
<f:TextBox runat="server" Label="项目编号" ID="txtProjectCode" EmptyText="输入QHSE项目编号"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入QHSE项目名称"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px">
</f:TextBox>
<f:RadioButtonList runat="server" ID="rblIsRelate" AutoPostBack="true" Label="关联" LabelWidth="60px" LabelAlign="Right"
OnSelectedIndexChanged="TextBox_TextChanged" Width="280px">
<f:RadioItem Text="全部" Value="" Selected="true" />
<f:RadioItem Text="已关联" Value="已关联" />
<f:RadioItem Text="未关联" Value="未关联" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="集团在建项目清单" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
DataKeyNames="Pid" DataIDField="Pid" AllowSorting="true" SortField="Relate,Start_date DESC,StartDate" SortDirection="DESC"
OnSort="Grid1_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="主数据编号" ID="txtProCode" EmptyText="输入主数据项目编号"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="主数据名称" ID="txtProName" EmptyText="输入主数据项目名称"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px">
</f:TextBox>
<f:DatePicker runat="server" Label="主数据开工日期" ID="txtStartTime" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
<f:Label ID="Label5" runat="server" Text="至">
</f:Label>
<f:DatePicker runat="server" ID="txtEndTime" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
<f:RadioButtonList runat="server" ID="rblIsRelate" AutoPostBack="true" Label="关联" LabelWidth="60px" LabelAlign="Right"
OnSelectedIndexChanged="TextBox_TextChanged" Width="350px">
<f:RadioItem Text="全部" Value="0" Selected="true" />
<f:RadioItem Text="已关联" Value="1" />
<f:RadioItem Text="未关联" Value="2" />
<f:RadioItem Text="未对应" Value="3" />
</f:RadioButtonList>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="项目编号" ID="txtProjectCode" EmptyText="输入QHSE项目编号"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入QHSE项目名称"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px">
</f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" 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">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:GroupField ColumnID="GroupField1" runat="server" HeaderText="集团主数据" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="260px" ColumnID="Pro_name" DataField="Pro_name"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Pro_code" DataField="Pro_code"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Org_name" DataField="Org_name"
FieldType="String" HeaderText="所属单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Con_mode_desc" DataField="Con_mode_desc"
FieldType="String" HeaderText="承包方式" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Pro_nature" DataField="Pro_nature"
FieldType="String" HeaderText="性质" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="Start_date" DataField="Start_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="Amount" DataField="Amount"
FieldType="String" HeaderText="合同额/规模(亿)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Pro_status" DataField="Pro_status"
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField ColumnID="GroupField2" runat="server" HeaderText="QHSE系统" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="260px" ColumnID="ProjectName" DataField="ProjectName"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="ProjectCode" DataField="ProjectCode"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="StartDate" DataField="StartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="tfState" Width="110px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblState" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</Columns>
</f:GroupField>
<f:GroupField ColumnID="GroupField3" runat="server" HeaderText="项目关联使用主数据情况及说明" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="120px" ColumnID="RelateName" DataField="RelateName"
FieldType="String" HeaderText="是否关联使用" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<%--<f:RenderField Width="120px" ColumnID="Use" DataField="Use"
FieldType="String" HeaderText="是否使用系统" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="160px" ColumnID="ReasonType" DataField="ReasonType"
FieldType="String" HeaderText="原因类型" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="360px" ColumnID="Reason" DataField="Reason"
FieldType="String" HeaderText="未关联原因情况说明" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<%--<f:RenderField Width="200px" ColumnID="Reason" DataField="Reason"
FieldType="String" HeaderText="原因说明" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Situation" DataField="Situation"
FieldType="String" HeaderText="其他情况" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
</Columns>
</f:GroupField>
</Columns>
<Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:GroupField ColumnID="GroupField1" runat="server" HeaderText="集团主数据" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="260px" ColumnID="Pro_name" DataField="Pro_name"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Pro_code" DataField="Pro_code"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="Start_date" DataField="Start_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Pro_status" DataField="Pro_status"
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField ColumnID="GroupField2" runat="server" HeaderText="QHSE系统" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="260px" ColumnID="ProjectName" DataField="ProjectName"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="ProjectCode" DataField="ProjectCode"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="StartDate" DataField="StartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="tfState" Width="110px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblState" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</Columns>
</f:GroupField>
<f:GroupField ColumnID="GroupField3" runat="server" HeaderText="项目使用情况及说明" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="120px" ColumnID="relate" DataField="relate"
FieldType="String" HeaderText="是否关联主数据" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Use" DataField="Use"
FieldType="String" HeaderText="是否使用系统" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Reason" DataField="Reason"
FieldType="String" HeaderText="原因说明" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Situation" DataField="Situation"
FieldType="String" HeaderText="其他情况" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
<Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</f:Tab>
<f:Tab Title="企业QHSE项目使用情况一览表" BodyPadding="10px" runat="server">
<Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="QHSE在建项目清单" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" SortField="Usage,StartDate" SortDirection="DESC"
OnSort="Grid2_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid2_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="项目编号" ID="txtProjectCode2" EmptyText="输入QHSE项目编号"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged2" Width="260px" LabelWidth="90px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName2" EmptyText="输入QHSE项目名称"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged2" Width="260px" LabelWidth="90px">
</f:TextBox>
<f:DatePicker runat="server" Label="开工日期" ID="txtStartTime2" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged2">
</f:DatePicker>
<f:Label ID="Label1" runat="server" Text="至">
</f:Label>
<f:DatePicker runat="server" ID="txtEndTime2" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged2">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnOut2" OnClick="btnOut_Click2" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="160px" ColumnID="ProjectCode" DataField="ProjectCode"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="ProjectName" DataField="ProjectName"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="ShortName" DataField="ShortName"
FieldType="String" HeaderText="项目简称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="StartDate" DataField="StartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="EndDate" DataField="EndDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="完工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="tfStatus" Width="110px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblStatus" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="Usage" DataField="Usage"
FieldType="String" HeaderText="使用情况" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize2" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize2_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="集团主数据在建项目使用情况说明" Hidden="true" EnableIFrame="true" EnableMaximize="true"
@@ -1,8 +1,12 @@
using BLL;
using FineUIPro.Web.BaseInfo;
using FineUIPro.Web.DataShow;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using AspNet = System.Web.UI.WebControls;
@@ -22,77 +26,216 @@ namespace FineUIPro.Web.ProjectData
{
Funs.DropDownPageSize(this.ddlPageSize);
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
//// 绑定表格
//this.BindGrid();
TabStrip1_TabIndexChanged(null, null);
}
}
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 0)
{
this.Panel1.Title = "企业主数据与QHSE系统项目建立一览表";
this.BindGrid();
}
else
{
this.Panel1.Title = "企业QHSE项目使用情况一览表";
this.BindGrid2();
}
}
#endregion
#region 使
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
var list = new List<MasterProjectDataInfo>();
var db = Funs.DB;
var masterProDatas = ProjectService.GetMasterProjectDataInfos();
var query = from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
from use in useGroup.DefaultIfEmpty()
select new
{
//Pid = x.Pro_id + (pro != null ? $"-{pro.ProjectId}" : ""),
Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}|{(use != null ? use.Id : "")}",
x.Pro_id,
x.Pro_name,
x.Pro_code,
x.Start_date,
x.Pro_status,
ProjectId = pro != null ? pro.ProjectId : null,
ProjectName = pro != null ? pro.ProjectName : "",
ProjectCode = pro != null ? pro.ProjectCode : "",
StartDate = pro != null ? pro.StartDate : null,
ProjectState = pro != null ? pro.ProjectState : "",
relate = pro != null && pro.MasterSysId != null ? "已关联" : "未关联",
UseId = use != null ? use.Id : null,
Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
Reason = use != null ? use.Reason : "",
Situation = use != null ? use.Situation : "",
Remark = use != null ? use.Remark : "",
};
var query = (from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
from use in useGroup.DefaultIfEmpty()
select new MasterProjectDataInfo
{
//Pid = x.Pro_id + (pro != null ? $"-{pro.ProjectId}" : ""),
Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}|{(use != null ? use.Id : "")}",
Pro_id = x.Pro_id,
Pro_name = x.Pro_name,
Pro_code = x.Pro_code,
Start_date = x.Start_date,
Con_mode_desc = x.Con_mode_desc,
Pro_nature = x.Pro_nature,
Pro_status = x.Pro_status,
Org_name = x.Org_name,
Amount = ConvertAmount(x.Ori_amt_sum_vat_fc, x.Amt_add_sum_vat_fc_local),
ProjectId = pro != null ? pro.ProjectId : null,
ProjectName = pro != null ? pro.ProjectName : "",
ProjectCode = pro != null ? pro.ProjectCode : "",
StartDate = pro != null ? pro.StartDate : null,
ProjectState = pro != null ? pro.ProjectState : "",
Relate = pro != null && pro.MasterSysId != null ? 1 : 2,
RelateName = pro != null && pro.MasterSysId != null ? "已关联" : "未关联",
UseId = use != null ? use.Id : null,
//Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
ReasonType = use != null ? use.ReasonType : "",
Reason = use != null ? use.Reason : "",
//Situation = use != null ? use.Situation : "",
//Remark = use != null ? use.Remark : "",
}).ToList();
string startDate = this.txtStartTime.Text.Trim();
string endDate = this.txtEndTime.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) >= Funs.GetNewDateTime(startDate)).ToList();
}
if (!string.IsNullOrWhiteSpace(endDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) <= Funs.GetNewDateTime(endDate)).ToList();
}
query = query.OrderByDescending(x => x.StartDate).ToList();
list.AddRange(query);
//// 获取施工中的项目
var getProjects = ProjectService.GetProjectWorkList();
getProjects = getProjects.Where(x => x.MasterSysId == null).OrderByDescending(x => x.StartDate).ToList();
foreach (var pro in getProjects)
{
list.Add(new MasterProjectDataInfo
{
Pid = $"|{pro.ProjectId}|",
Pro_id = "",
Pro_name = "",
Pro_code = "",
Start_date = "",
Con_mode_desc = "",
Pro_nature = "",
Pro_status = "",
Org_name = "",
Amount = "",
ProjectId = pro != null ? pro.ProjectId : null,
ProjectName = pro != null ? pro.ProjectName : "",
ProjectCode = pro != null ? pro.ProjectCode : "",
StartDate = pro != null ? pro.StartDate : null,
ProjectState = pro != null ? pro.ProjectState : "",
Relate = 3,
RelateName = "未对应",
UseId = null,
//Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
ReasonType = "",
Reason = "",
//Situation = use != null ? use.Situation : "",
//Remark = use != null ? use.Remark : "",
});
}
string proName = this.txtProName.Text.Trim();
string proCode = this.txtProCode.Text.Trim();
string projectName = this.txtProjectName.Text.Trim();
string projectCode = this.txtProjectCode.Text.Trim();
string relate = this.rblIsRelate.SelectedValue;
int relate = int.Parse(this.rblIsRelate.SelectedValue);
if (!string.IsNullOrEmpty(proName))
{
query = query.Where(x => x.Pro_name.Contains(proName));
list = list.Where(x => x.Pro_name.Contains(proName)).ToList();
}
if (!string.IsNullOrEmpty(proCode))
{
query = query.Where(x => x.Pro_code.Contains(proCode));
list = list.Where(x => x.Pro_code.Contains(proCode)).ToList();
}
if (!string.IsNullOrEmpty(projectName))
{
query = query.Where(x => x.ProjectName.Contains(projectName));
list = list.Where(x => x.ProjectName.Contains(projectName)).ToList();
}
if (!string.IsNullOrEmpty(projectCode))
{
query = query.Where(x => x.ProjectCode.Contains(projectCode));
list = list.Where(x => x.ProjectCode.Contains(projectCode)).ToList();
}
if (!string.IsNullOrWhiteSpace(relate))
if (relate > 0)
{
query = query.Where(x => x.relate == relate);
list = list.Where(x => x.Relate == relate).ToList();
}
DataTable tb = Funs.LINQToDataTable(query);
DataTable tb = Funs.LINQToDataTable(list);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
//int masterNum = query.Count();
int masterNum = 0;
int relateNum = 0;
int allQhseNum = 0;
try
{
for (int i = 0; i < Grid1.Rows.Count; i++)
{
var mpCode = table.Rows[i]["Pro_code"].ToString().Trim();
var pCode = table.Rows[i]["ProjectCode"].ToString().Trim();
var relateStr = table.Rows[i]["RelateName"].ToString().Trim();
var reason = table.Rows[i]["Reason"].ToString().Trim();
if (Grid1.Rows[i].DataKeys[0] != null && relateStr == "未关联" && !string.IsNullOrWhiteSpace(reason))
{
Grid1.Rows[i].RowCssClass = "Pause";
}
if (relateStr == "已关联")
{
relateNum++;
}
if (!string.IsNullOrWhiteSpace(mpCode))
{
masterNum++;
}
if (!string.IsNullOrWhiteSpace(pCode))
{
allQhseNum++;
}
}
}
catch (Exception ex) { }
JObject summary = new JObject();
summary.Add("tfNumber", "合计");
//summary.Add("Pro_name", masterNum);
//summary.Add("ProjectName", allQhseNum);
//summary.Add("RelateName", $"已关联:{relateNum}");
summary.Add("Pro_name", $"主数据(已关联/总数):{relateNum}/{masterNum}");
summary.Add("ProjectName", $"QHSE(已关联/总数):{relateNum}/{allQhseNum}");
Grid1.SummaryData = summary;
}
/// <summary>
/// 合同额(亿)
/// </summary>
/// <param name="Ori_amt">合同含税金额原始存档(元)</param>
/// <param name="Amt_add">增补合同本币含税金额(元)</param>
/// <returns></returns>
protected string ConvertAmount(decimal? Ori_amt, decimal? Amt_add)
{
string result = string.Empty;
Ori_amt = Ori_amt == null ? 0 : Ori_amt;
Amt_add = Amt_add == null ? 0 : Amt_add;
decimal? all = Amt_add + Ori_amt;
if (all != null)
{
double amount = all == null ? 0 : (Math.Round((double)(all / 100000000m), 2));
result = amount.ToString();
}
return result;
}
/// <summary>
@@ -139,11 +282,11 @@ namespace FineUIPro.Web.ProjectData
string num = obj[0].ToString();
string pro_name = obj[2].ToString();
string pro_code = obj[3].ToString();
string startdate = obj[4].ToString();
string prostatus = obj[5].ToString();
string projectName = obj[7].ToString();
string projectCode = obj[8].ToString();
string startDate = obj[9].ToString();
string startdate = obj[7].ToString();
string prostatus = obj[9].ToString();
string projectName = obj[11].ToString();
string projectCode = obj[12].ToString();
string startDate = obj[13].ToString();
string lblState = (Grid1.SelectedRow.FindControl("lblState") as AspNet.Label).Text;
if (!string.IsNullOrWhiteSpace(pro_id))
@@ -151,6 +294,7 @@ namespace FineUIPro.Web.ProjectData
var masterUsage = Funs.DB.Project_MasterDataUsage.Where(x => x.Pro_id == pro_id).FirstOrDefault();
if (masterUsage != null)
{
useId = masterUsage.Id;
}
else
{
@@ -170,6 +314,7 @@ namespace FineUIPro.Web.ProjectData
ProjectMasterDataUsageService.AddProjectMasterDataUsage(model);
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MasterProjectDataUsage.aspx?UseId={0}", useId)));
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MasterProjectDataUsage.aspx?UseId={0}&ProId={1}", useId, pro_id)));
}
}
@@ -209,8 +354,9 @@ namespace FineUIPro.Web.ProjectData
}
#endregion
#region
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
@@ -219,7 +365,7 @@ namespace FineUIPro.Web.ProjectData
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("集团主数据在建项目使用情况" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("企业主数据与QHSE系统项目建立一览表" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
@@ -230,6 +376,178 @@ namespace FineUIPro.Web.ProjectData
}
#endregion
#endregion
#region QHSE在建项目使用情况
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid2()
{
var db = Funs.DB;
//// 获取施工中的项目
var getProjects = ProjectService.GetProjectWorkList();
string projectName = this.txtProjectName2.Text.Trim();
string projectCode = this.txtProjectCode2.Text.Trim();
int relate = int.Parse(this.rblIsRelate.SelectedValue);
var list = new List<QHSEProjectDataInfo>();
if (!string.IsNullOrEmpty(projectName))
{
getProjects = getProjects.Where(x => x.ProjectName.Contains(projectName)).ToList();
}
if (!string.IsNullOrEmpty(projectCode))
{
getProjects = getProjects.Where(x => x.ProjectCode.Contains(projectCode)).ToList();
}
string startDate = this.txtStartTime2.Text.Trim();
string endDate = this.txtEndTime2.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
getProjects = getProjects.Where(x => x.StartDate >= Funs.GetNewDateTime(startDate)).ToList();
}
if (!string.IsNullOrWhiteSpace(endDate))
{
getProjects = getProjects.Where(x => x.StartDate <= Funs.GetNewDateTime(endDate)).ToList();
}
var dateNow = DateTime.Now.Date;//现在
var dateMonthAgo = dateNow.AddMonths(-1);//一个月前
var datas = (from x in db.Project_HSSEData_HSSE
where x.ReportDate == dateNow || x.ReportDate == dateMonthAgo
select new QHSEProjectHSSEData
{
ProjectId = x.ProjectId,
ReportDate = x.ReportDate,
DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0)
}).ToList();
foreach (var pro in getProjects)
{
string result = "正常";
var nowData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateNow).FirstOrDefault();
var monthAgoData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateMonthAgo).FirstOrDefault();
if (nowData != null && monthAgoData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == monthAgoData.DataMetricsSum)
{
result = "异常";
}
}
//else if (nowData != null)
//{//现在有指标数据,一个月前没有
// result = "正常";
//}
//else if (monthAgoData != null)
//{//现在没有指标数据,一个月前有
// result = "正常";
//}
list.Add(new QHSEProjectDataInfo
{
ProjectId = pro.ProjectId,
ProjectName = pro.ProjectName,
ShortName = pro.ShortName,
ProjectCode = pro.ProjectCode,
StartDate = pro.StartDate,
EndDate = pro.EndDate,
ProjectState = pro.ProjectState,
Usage = result
});
}
DataTable tb = Funs.LINQToDataTable(list);
Grid2.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid2, tb);
Grid2.DataSource = table;
Grid2.DataBind();
int exNum = 0;
int allQhseNum = 0;
//int allQhseNum = list.Count();
try
{
for (int i = 0; i < Grid2.Rows.Count; i++)
{
allQhseNum++;
var usage = table.Rows[i]["Usage"].ToString().Trim();
if (usage == "异常")
{
Grid2.Rows[i].RowCssClass = "Pause";
exNum++;
}
}
}
catch (Exception ex) { }
JObject summary = new JObject();
summary.Add("tfNumber", "合计");
summary.Add("ProjectCode", allQhseNum);
summary.Add("Usage", $"异常:{exNum}");
Grid2.SummaryData = summary;
}
protected void TextBox_TextChanged2(object sender, EventArgs e)
{
this.BindGrid2();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid2();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e)
{
Grid2.PageSize = Convert.ToInt32(ddlPageSize2.SelectedValue);
this.BindGrid2();
}
protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid2();
}
#region
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click2(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("企业QHSE项目使用情况一览表" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid2.PageSize = this.Grid2.RecordCount;
this.BindGrid2();
Response.Write(GetGridMultiHeaderTableHtml(Grid2));
//Response.Write(GetGridTableHtml(Grid2));
Response.End();
}
#endregion
#endregion
}
}
@@ -41,6 +41,15 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// TabStrip1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -77,6 +86,51 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::FineUIPro.TextBox txtProName;
/// <summary>
/// txtStartTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// Label5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label5;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// rblIsRelate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsRelate;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtProjectCode 控件。
/// </summary>
@@ -95,15 +149,6 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// rblIsRelate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsRelate;
/// <summary>
/// btnOut 控件。
/// </summary>
@@ -158,6 +203,123 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Grid2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// txtProjectCode2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectCode2;
/// <summary>
/// txtProjectName2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName2;
/// <summary>
/// txtStartTime2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// txtEndTime2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime2;
/// <summary>
/// btnOut2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut2;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// lblStatus 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblStatus;
/// <summary>
/// ToolbarSeparator2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
/// <summary>
/// ToolbarText2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText2;
/// <summary>
/// ddlPageSize2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize2;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -59,27 +59,40 @@
</f:FormRow>
<f:FormRow>
<Items>
<f:RadioButtonList runat="server" ID="rblIsRelate" Label="是否关联" LabelWidth="120px" Readonly="true" Enabled="true" LabelAlign="Right">
<f:RadioButtonList runat="server" ID="rblIsRelate" Label="是否关联使用" LabelWidth="120px" Readonly="true" Enabled="true" LabelAlign="Right">
<f:RadioItem Text="已关联" Value="1" />
<f:RadioItem Text="未关联" Value="0" />
</f:RadioButtonList>
</Items>
</f:FormRow>
<f:FormRow>
<%--<f:FormRow>
<Items>
<f:RadioButtonList runat="server" ID="rblIsUse" Label="是否使用" LabelWidth="120px" LabelAlign="Right" ShowRedStar="true">
<f:RadioButtonList runat="server" ID="rblIsUse" Label="是否使用" LabelWidth="120px" LabelAlign="Right" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="rblIsUse_SelectedIndexChanged">
<f:RadioItem Text="已使用" Value="1" />
<f:RadioItem Text="未使用" Value="0" />
</f:RadioButtonList>
</Items>
</f:FormRow>--%>
<f:FormRow>
<Items>
<f:RadioButtonList runat="server" ID="rblReasonType" Label="原因类型" LabelWidth="120px" LabelAlign="Right" Required="true" ShowRedStar="true">
<f:RadioItem Text="业主统筹" Value="业主统筹" />
<f:RadioItem Text="工期短/规模小" Value="工期短/规模小" />
<f:RadioItem Text="网络受限" Value="网络受限" />
<f:RadioItem Text="停缓建" Value="停缓建" />
<f:RadioItem Text="其他原因" Value="其他原因" />
</f:RadioButtonList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtReason" runat="server" Label="原因说明" EmptyText="请填写原因说明" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true">
<f:TextArea ID="txtReason" runat="server" Label="原因说明" EmptyText="请填写未关联使用集团主数据项目的原因情况说明(不超过100字)" LabelAlign="Right" LabelWidth="120px">
</f:TextArea>
<%--<f:TextArea ID="txtReason" runat="server" Label="原因说明" EmptyText="请填写原因说明" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true">
</f:TextArea>--%>
</Items>
</f:FormRow>
<f:FormRow>
<%--<f:FormRow>
<Items>
<f:TextArea ID="txtSituation" runat="server" Label="其他情况" EmptyText="请填写其他情况说明" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true">
</f:TextArea>
@@ -90,6 +103,62 @@
<f:TextArea ID="txtRemark" runat="server" Label="备注" EmptyText="请填写备注" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true">
</f:TextArea>
</Items>
</f:FormRow>--%>
<f:FormRow ID="Next">
<Items>
<f:RadioButtonList ID="cbNext" runat="server" Label="下一步" AutoPostBack="true" OnSelectedIndexChanged="cbNext_SelectedIndexChanged" LabelWidth="120px" >
<f:RadioItem Text="已完成" Value="0" Selected="true" />
<f:RadioItem Text="下一步审批人" Value="1" />
</f:RadioButtonList>
<f:Label runat="server" ID="lb"></f:Label>
</Items>
</f:FormRow>
<f:FormRow ID="HandleMan" Hidden="true">
<Items>
<f:DropDownBox runat="server" ID="drpHandleMan" EmptyText="请从下拉表格中选择" Label="审批人"
MatchFieldWidth="false" EnableMultiSelect="false" LabelWidth="120px">
<PopPanel>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" runat="server" DataIDField="UserId" DataTextField="UserName"
DataKeyNames="UserId" AllowSorting="true" SortField="UserName" SortDirection="ASC" EnableColumnLines="true"
Hidden="true" Width="800px" Height="520px" EnableMultiSelect="false" KeepCurrentSelection="true" PageSize="10000">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" Label="查询" ID="txtUserName" EmptyText="输入查询条件" FocusOnPageLoad="true"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="250px" LabelWidth="80px">
</f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px"
HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField Width="90px" ColumnID="UserCode" DataField="UserCode" SortField="UserCode"
FieldType="String" HeaderText="编号" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="UserName" DataField="UserName"
SortField="UserName" FieldType="String" HeaderText="姓名" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="RoleName" DataField="RoleName" ExpandUnusedSpace="true"
SortField="RoleName" FieldType="String" HeaderText="角色" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
</Columns>
</f:Grid>
</PopPanel>
</f:DropDownBox>
</Items>
</f:FormRow>
<f:FormRow ID="Audit" Hidden="true">
<Items>
<f:RadioButtonList ID="rblHandleState" runat="server" Label="审核结果" LabelWidth="120px" >
<f:RadioItem Text="通过" Value="1" />
<f:RadioItem Text="不通过" Value="0" />
</f:RadioButtonList>
<f:Label runat="server" ID="Label1"></f:Label>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
@@ -98,7 +167,7 @@
<f:HiddenField ID="hfGpsAreId" runat="server"></f:HiddenField>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ToolTip="保存" Text="保存">
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" ValidateForms="SimpleForm1" runat="server" ToolTip="提交" Text="提交">
</f:Button>
</Items>
</f:Toolbar>
@@ -1,6 +1,10 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.ProjectData
{
@@ -21,6 +25,20 @@ namespace FineUIPro.Web.ProjectData
ViewState["UseId"] = value;
}
}
///// <summary>
///// 主数据项目Id
///// </summary>
//public string ProId
//{
// get
// {
// return (string)ViewState["ProId"];
// }
// set
// {
// ViewState["ProId"] = value;
// }
//}
#endregion
@@ -28,33 +46,209 @@ namespace FineUIPro.Web.ProjectData
{
if (!IsPostBack)
{
//this.ProId = Request.Params["ProId"];
this.UseId = Request.Params["UseId"];
BindGrid();
if (!string.IsNullOrEmpty(UseId))
{
var usage = ProjectMasterDataUsageService.GetProjectMasterDataUsageById(UseId);
//var usage = ProjectMasterDataUsageService.GetProjectMasterDataUsageByProId(ProId);
this.txtPro_code.Text = usage.Pro_code;
this.txtPro_name.Text = usage.Pro_name;
this.txtProjectcode.Text = usage.Projectcode;
this.txtProjectname.Text = usage.Projectname;
this.rblIsRelate.SelectedValue = usage.Is_relate ? "1" : "0";
this.rblIsUse.SelectedValue = usage.Is_use ? "1" : "0";
//this.txtPro_code.Text = usage.Pro_code;
this.txtSituation.Text = usage.Situation;
//this.rblIsUse.SelectedValue = usage.Is_use ? "1" : "0";
this.rblReasonType.SelectedValue = usage.ReasonType;
this.txtReason.Text = usage.Reason;
this.txtRemark.Text = usage.Remark;
//this.txtSituation.Text = usage.Situation;
//this.txtReason.Text = usage.Reason;
//this.txtRemark.Text = usage.Remark;
//this.rblIsUse.Readonly = true;
//if (this.rblIsRelate.SelectedValue == "0")
//{
// this.txtReason.Required = true;
// this.txtReason.ShowRedStar = true;
//}
//if (this.rblIsUse.SelectedValue == "1")
//{
// this.Next.Hidden = true;
//}
if (usage.Is_relate)
{
this.Next.Hidden = true;
this.Toolbar1.Hidden = true;
this.txtReason.Required = false;
this.txtReason.ShowRedStar = false;
}
else
{
this.Next.Hidden = false;
this.txtReason.Required = true;
this.txtReason.ShowRedStar = true;
}
string handleMan = this.drpHandleMan.Value;
if (!string.IsNullOrWhiteSpace(usage.HandleMan))
{
//this.cbNext.SelectedValue = "1";
this.drpHandleMan.Value = usage.HandleMan;
this.drpHandleMan.Text = usage.HandleManName;
bool isAuditer = usage.HandleMan == this.CurrUser.UserId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sysglyId;
if (usage.HandleState == null)
{
if (isAuditer)
{
this.Audit.Hidden = false;
this.rblHandleState.SelectedValue = "1";
}
else
{
this.Next.Hidden = true;
this.Toolbar1.Hidden = true;
}
}
if (usage.HandleState != null)
{
this.Toolbar1.Hidden = true;
this.Next.Hidden = true;
}
}
}
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string unitId = CommonService.GetThisUnitId();
string strSql = @"SELECT UserId,UserName,UserCode,role.RoleName"
+ @" FROM Sys_User AS users LEFT JOIN Sys_Role AS role ON users.RoleId= role.RoleId"
+ @" WHERE users.IsPost=1 AND role.IsAuditFlow=1 AND users.IsOffice =1 AND UnitId ='" + unitId + "'";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim()))
{
strSql += " AND (UserName LIKE @Name OR UserCode LIKE @Name OR role.RoleName LIKE @Name)";
listStr.Add(new SqlParameter("@Name", "%" + this.txtUserName.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 下拉框查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.drpHandleMan.Values = null;
this.BindGrid();
}
#endregion
#endregion
/// <summary>
/// 是否使用触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void rblIsUse_SelectedIndexChanged(object sender, EventArgs e)
{
//string isUse = this.rblIsUse.SelectedValue;
//if (isUse == "0")
//{
// this.txtReason.Required = true;
// this.txtReason.ShowRedStar = true;
// this.Next.Hidden = false;
//}
//else
//{
// this.Next.Hidden = true;
// this.txtReason.Required = false;
// this.txtReason.ShowRedStar = false;
//}
}
/// <summary>
/// 下一步触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void cbNext_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.cbNext.SelectedValue == "1")
{
//this.Audit.Hidden = false;
this.HandleMan.Hidden = false;
this.drpHandleMan.Required = true;
this.drpHandleMan.ShowRedStar = true;
}
else
{
//this.Audit.Hidden = true;
this.HandleMan.Hidden = true;
this.drpHandleMan.Required = false;
this.drpHandleMan.ShowRedStar = false;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
//var model = ProjectMasterDataUsageService.GetProjectMasterDataUsageByProId(ProId);
Project_MasterDataUsage usage = new Project_MasterDataUsage();
//usage.Id = model.Id;
usage.Id = this.UseId;
usage.Is_use = this.rblIsUse.SelectedValue == "1";
usage.Situation = this.txtSituation.Text.Trim();
//usage.Is_use = this.rblIsUse.SelectedValue == "1";
usage.ReasonType = this.rblReasonType.SelectedValue;
usage.Reason = this.txtReason.Text.Trim();
usage.Remark = this.txtRemark.Text.Trim();
//usage.Situation = this.txtSituation.Text.Trim();
//usage.Reason = this.txtReason.Text.Trim();
//usage.Remark = this.txtRemark.Text.Trim();
//usage.HandleMan = this.drpHandleMan.Value;
//usage.HandleManName = this.drpHandleMan.Text;
string handleMan = this.drpHandleMan.Value;
string handleManName = this.drpHandleMan.Text;
if (!string.IsNullOrWhiteSpace(handleMan))
{//
bool isAuditer = handleMan == this.CurrUser.UserId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sysglyId;
usage.HandleMan = handleMan;
usage.HandleManName = handleManName;
if (isAuditer)
{
usage.HandleState = this.rblHandleState.SelectedValue;
//usage.HandleMan = this.CurrUser.UserId;
//usage.HandleManName = this.CurrUser.UserName;
usage.HandleDate = DateTime.Now;
}
}
else
{
usage.HandleState = this.rblHandleState.SelectedValue;
usage.HandleDate = DateTime.Now;
}
//if (this.cbNext.SelectedValue == "0")
//{
//}
ProjectMasterDataUsageService.UpdateProjectMasterDataUsage(usage);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
@@ -87,13 +87,13 @@ namespace FineUIPro.Web.ProjectData
protected global::FineUIPro.RadioButtonList rblIsRelate;
/// <summary>
/// rblIsUse 控件。
/// rblReasonType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsUse;
protected global::FineUIPro.RadioButtonList rblReasonType;
/// <summary>
/// txtReason 控件。
@@ -105,22 +105,103 @@ namespace FineUIPro.Web.ProjectData
protected global::FineUIPro.TextArea txtReason;
/// <summary>
/// txtSituation 控件。
/// Next 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtSituation;
protected global::FineUIPro.FormRow Next;
/// <summary>
/// txtRemark 控件。
/// cbNext 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
protected global::FineUIPro.RadioButtonList cbNext;
/// <summary>
/// lb 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lb;
/// <summary>
/// HandleMan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow HandleMan;
/// <summary>
/// drpHandleMan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownBox drpHandleMan;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtUserName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUserName;
/// <summary>
/// Audit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow Audit;
/// <summary>
/// rblHandleState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblHandleState;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// Toolbar1 控件。
@@ -332,7 +332,7 @@ namespace FineUIPro.Web.ProjectData
}
string curruserId = this.CurrUser.UserId;
if (curruserId == Const.sysglyId || curruserId == Const.hfnbdId || curruserId == Const.fuweiId || curruserId == Const.shenyinhangId || curruserId == Const.zhanghuijuanId)
if (curruserId == Const.sysglyId || curruserId == Const.hfnbdId || curruserId == Const.zhanpeipeiId || curruserId == Const.fuweiId || curruserId == Const.shenyinhangId || curruserId == Const.zhanghuijuanId)
{//只有管理员、JT、付伟、申银行、张慧敏的账号可以新增和维护项目数据
btnUpdata.Hidden = false;
this.btnNew.Hidden = false;
@@ -37,7 +37,7 @@ namespace FineUIPro.Web.ProjectData
if (!IsPostBack)
{
string curruserId = this.CurrUser.UserId;
if (curruserId == Const.sysglyId || curruserId == Const.hfnbdId || curruserId == Const.fuweiId || curruserId == Const.shenyinhangId || curruserId == Const.zhanghuijuanId)
if (curruserId == Const.sysglyId || curruserId == Const.hfnbdId || curruserId == Const.zhanpeipeiId || curruserId == Const.fuweiId || curruserId == Const.shenyinhangId || curruserId == Const.zhanghuijuanId)
{//只有管理员、JT、付伟、申银行、张慧娟的账号可以新增和维护项目数据
this.btnSave.Hidden = false;
}
@@ -2013,7 +2013,10 @@ namespace FineUIPro.Web.ProjectData
{
this.txtShortName.Text = shortname;
}
this.txtProjectAddress.Text = address;
if (!string.IsNullOrWhiteSpace(address))
{
this.txtProjectAddress.Text = address;
}
if (!string.IsNullOrWhiteSpace(startdate))
{
this.txtStartDate.Text = startdate;
+7 -1
View File
@@ -1243,6 +1243,7 @@ namespace FineUIPro.Web
return sb.ToString();
}
/// <summary>
/// 多表头导出方法
/// </summary>
@@ -1305,7 +1306,10 @@ namespace FineUIPro.Web
{
html = (row.FindControl("lblState") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfStatus")
{
html = (row.FindControl("lblStatus") as AspNet.Label).Text;
}
sb.AppendFormat("<td>{0}</td>", html);
}
}
@@ -1318,6 +1322,8 @@ namespace FineUIPro.Web
return sb.ToString();
}
#endregion
#region