2023-10-24

This commit is contained in:
2023-10-24 14:23:46 +08:00
parent 3c521862d6
commit d0440ce2fb
20 changed files with 1406 additions and 853 deletions
Binary file not shown.
@@ -0,0 +1,3 @@
alter table dbo.Sys_Const
alter column ConstValue nvarchar(500)
go
@@ -214,6 +214,56 @@ namespace BLL
PhtglContracttrackmatchwbsService.DeleteModelByContractTrackId(id);
}
/// <summary>
/// 重新校验合同权重
/// </summary>
/// <param name="contractid"></param>
/// <param name="projectid"></param>
public static void CheckContractWeightByContractId(string contractid ,string projectid)
{
Model.PHTGL_ContractTrack table = new Model.PHTGL_ContractTrack();
table.ProjectId = projectid;
table.ContractId = contractid;
var list= GetPHTGL_ContractTrackByModle(table);
foreach (var item in list)
{
item .ContractWeight = GetContractWeightById(item.Id);
UpdatePHTGL_ContractTrack(item);
}
}
/// <summary>
/// 获取清单的合同权重
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static string GetContractWeightById(string id )
{
string ContractWeight = "0";
var model = GetPHTGL_ContractTrackById(id);
if (model != null)
{
if (GetSumSettledAmountByContractId(model.ContractId, model.ProjectId) == 0) return ContractWeight;
var result =
(model.SettledAmount / GetSumSettledAmountByContractId(model.ContractId, model.ProjectId)) * 100;
ContractWeight = string.Format("{0:F}", result);
}
return ContractWeight;
}
/// <summary>
/// 根据合同id 获取合同预算金额
/// </summary>
public static decimal GetSumSettledAmountByContractId(string contractid, string projectid)
{
decimal SumSettledAmount = 0;
SumSettledAmount =
(from x in Funs.DB.PHTGL_ContractTrack
where x.ProjectId == projectid && x.ContractId == contractid
select x.SettledAmount ?? 0).ToList().Sum();
return SumSettledAmount;
}
public static ResponeData ImportData(string path, string contractid, string projectid)
{
var responeData = new ResponeData();
@@ -252,6 +302,11 @@ namespace BLL
if (string.IsNullOrEmpty(item.ProjectCode)) continue;
var resultModel = GetPHTGL_ContractTrackByModle(phtglContractTrack);
item.ContractNum = ContractService.GetContractById(contractid)?.ContractNum;
if (!string .IsNullOrEmpty(item.ProjectCode)&& !item.ProjectCode.Contains("-"))
{
item.ProjectCode = item.MainItemCode + "-" + item.ProjectCode;
}
if (resultModel.Any())
{
item.Id = resultModel[0].Id;
@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using FineUIPro;
using Model;
@@ -69,7 +70,15 @@ namespace BLL
return Funs.DB.PHTGL_ContractTrackProgress.FirstOrDefault(x =>
x.ContractTrackProgressId == ContractTrackProgressId);
}
public static PHTGL_ContractTrackProgress GetPHTGL_ContractTrackProgressByTrackIdAndDate(string ContractTrackId,string date)
{
return Funs.DB.PHTGL_ContractTrackProgress.FirstOrDefault(x =>
x.ContractTrackId == ContractTrackId && x.Date==date);
}
/// <summary>
/// 根据合同价格信息主键创建进度日期数据
/// </summary>
/// <param name="ContractTrackId"></param>
public static void CreateTemplateByContractTrackId(string ContractTrackId)
{
var model = PhtglContractTrackService.GetPHTGL_ContractTrackById(ContractTrackId);
@@ -80,7 +89,7 @@ namespace BLL
{
var startDate = (DateTime)contractmode.ContractStartDate;
var endDate = (DateTime)contractmode.ContractEndDate;
List<DateTime> months = GetMonthsBetween(startDate, endDate);
List<DateTime> months = GetMonthsBetween(startDate, endDate);//获取合同起止日期
foreach (DateTime month in months)
{
@@ -101,6 +110,7 @@ namespace BLL
}
}
}
public static List<DateTime> GetMonthsBetween(DateTime startDate, DateTime endDate)
{
List<DateTime> months = new List<DateTime>();
@@ -135,9 +145,8 @@ namespace BLL
Funs.DB.SubmitChanges();
}
public static void UpdatePHTGL_ContractTrackProgress(PHTGL_ContractTrackProgress newtable)
{
{
var table = Funs.DB.PHTGL_ContractTrackProgress.FirstOrDefault(x =>
x.ContractTrackProgressId == newtable.ContractTrackProgressId);
if (table != null)
@@ -154,6 +163,71 @@ namespace BLL
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 重新校验计算进度数据
/// </summary>
/// <param name="contractTrackId"></param>
public static void CheckProgressByContractTrackId(string contractTrackId)
{
var modeContractTrack = PhtglContractTrackService.GetPHTGL_ContractTrackById(contractTrackId);
if (modeContractTrack!=null)
{
var totalCostFixedComprehensiveUnitPrice = Funs.GetNewDecimalOrZero(modeContractTrack.TotalCostFixedComprehensiveUnitPrice); //全费用综合单价
var settledAmount = modeContractTrack.SettledAmount??0;//预算金额
var contractWeight= Funs.GetNewDecimalOrZero(modeContractTrack.ContractWeight)==0?0: Funs.GetNewDecimalOrZero(modeContractTrack.ContractWeight)/100;//合同权重
var quserytable = new Model.PHTGL_ContractTrackProgress();
quserytable.ContractTrackId = contractTrackId;
var list= GetPHTGL_ContractTrackProgressByModle(quserytable);
foreach (var item in list)
{
//产值=计划工程量*全费用综合单价(来源于“费用对比统计”),
// 百分比 =(产值 / 预算金额)*合同权重
item.ACWP_OutputValue = (item.ACWP_Quantity??0)* totalCostFixedComprehensiveUnitPrice;
if (settledAmount == 0)
{
item.ACWP_Percentage = 0;
}
else
{
item.ACWP_Percentage = Math.Round(((item.ACWP_Quantity ?? 0) / settledAmount) * contractWeight * 100, 2);
}
item.BCWS_OutputValue = (item.BCWS_Quantity ?? 0) * totalCostFixedComprehensiveUnitPrice;
if (settledAmount == 0)
{
item.BCWS_Percentage = 0;
}
else
{
item.BCWS_Percentage = Math.Round(((item.BCWS_Quantity ?? 0) / settledAmount) * contractWeight * 100, 2) ;
}
UpdatePHTGL_ContractTrackProgress(item);
}
}
}
/// <summary>
/// 获取累计进程情况
/// </summary>
/// <param name="ContractTrackProgressId"></param>
/// <param name="date"></param>
public static PHTGL_ContractTrackProgress GetSumProgress(string contractTrackProgressId)
{
var result=new PHTGL_ContractTrackProgress();
var model = GetPHTGL_ContractTrackProgressById(contractTrackProgressId);
var q = (from x in Funs.DB.PHTGL_ContractTrackProgress
where x.ContractTrackId == model.ContractTrackId && string.Compare(x.Date,model.Date)<=0
select x).ToList();
result.ACWP_Quantity = q.Sum(x => x.ACWP_Quantity ??0);
result.ACWP_OutputValue = q.Sum(x => x.ACWP_OutputValue ?? 0);
result.ACWP_Percentage = q.Sum(x => x.ACWP_Percentage ?? 0);
result.BCWS_Quantity = q.Sum(x => x.BCWS_Quantity ?? 0);
result.BCWS_OutputValue = q.Sum(x => x.BCWS_OutputValue ?? 0);
result.BCWS_Percentage = q.Sum(x => x.BCWS_Percentage ?? 0);
return result;
}
public static void DeleteModleById(string ContractTrackProgressId)
{
+8
View File
@@ -1274,6 +1274,7 @@
<Content Include="PHTGL\ContractCompile\ContractTrackMatchWBS.aspx" />
<Content Include="PHTGL\ContractCompile\ContractTrackProgressChart.aspx" />
<Content Include="PHTGL\ContractCompile\ContractTrackProgressDetection.aspx" />
<Content Include="PHTGL\ContractCompile\ContractTrackProgressDetectionGrid.aspx" />
<Content Include="PHTGL\ContractCompile\ContractWBS.aspx" />
<Content Include="PHTGL\ContractCompile\GeneralTermsConditions.aspx" />
<Content Include="PHTGL\ContractCompile\SpecialTermsConditions.aspx" />
@@ -12490,6 +12491,13 @@
<Compile Include="PHTGL\ContractCompile\ContractTrackProgressDetection.aspx.designer.cs">
<DependentUpon>ContractTrackProgressDetection.aspx</DependentUpon>
</Compile>
<Compile Include="PHTGL\ContractCompile\ContractTrackProgressDetectionGrid.aspx.cs">
<DependentUpon>ContractTrackProgressDetectionGrid.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="PHTGL\ContractCompile\ContractTrackProgressDetectionGrid.aspx.designer.cs">
<DependentUpon>ContractTrackProgressDetectionGrid.aspx</DependentUpon>
</Compile>
<Compile Include="PHTGL\ContractCompile\ContractWBS.aspx.cs">
<DependentUpon>ContractWBS.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -37,7 +37,7 @@
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
AllowPaging="False" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" OnRowClick="Grid1_OnRowClick" EnableRowClickEvent="True">
EnableRowDoubleClickEvent="true" OnRowClick="Grid1_OnRowClick" EnableRowClickEvent="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
@@ -47,12 +47,7 @@
<f:Label ID="txtContractName" runat="server" Label="合同名称" LabelAlign="Right" LabelWidth="140px"></f:Label>
<f:ToolbarFill runat="server" />
<f:Button ID="btnNew" ToolTip="新增" Text="新增" Hidden="true" Icon="Add" runat="server"
OnClick="btnNew_Click">
</f:Button>
<f:Button ID="btnImport" Text="导入" ToolTip="导入" Icon="PackageIn" runat="server" OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
@@ -70,9 +65,6 @@
<f:Button ID="btnQuery" ToolTip="查询" Text="查询" Icon="SystemSearch" runat="server" EnablePostBack="true"
OnClick="btnQuery_OnClick">
</f:Button>
<f:Button ID="btnGetChart" ToolTip="图表" Icon="ChartPie" Text="统计图表"
EnablePostBack="true" OnClick="btnGetChart_Click" runat="server">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@@ -190,7 +182,7 @@
<f:TextBox ID="TextBox18" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ContractWeight" DataField="ContractWeight" SortField="ContractWeight"
<f:RenderField Width="150px" ColumnID="ContractWeight" DataField="ContractWeight" SortField="ContractWeight" EnableColumnEdit="False"
FieldType="String" HeaderText="合同权重 " TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox19" runat="server" Required="true"></f:TextBox>
@@ -232,9 +224,9 @@
</f:RenderField>
</Columns>
<Listeners>
<%-- <Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
</Listeners>--%>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
@@ -129,23 +129,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
#endregion
#region
/// <summary>
/// 新增
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ContractId))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractTrackEdit.aspx?Id={0}", string.Empty, "增加 - ")));
}
else
{
ShowNotify("请选择施工分包合同!", MessageBoxIcon.Information);
}
}
/// <summary>
/// 编辑按钮
@@ -307,6 +290,15 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
PhtglContractTrackService.UpdatePHTGL_ContractTrack(model);
}
}
if (!string.IsNullOrEmpty(ContractId))
{
BLL.PhtglContractTrackService.CheckContractWeightByContractId(ContractId, this.CurrUser.LoginProjectId);
}
else
{
ShowNotify("计算合同权重失败,请选择施工分包合同后重新保存", MessageBoxIcon.Question);
}
BindGrid();
}
@@ -315,22 +307,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
BindGrid();
}
protected void btnGetChart_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ContractId))
{
var model = ContractService.GetContractByContractNum(DropContractCode.SelectedValue);
if (model != null)
{
PageContext.RegisterStartupScript(
Window2.GetShowReference(string.Format("ContractTrackProgressChart.aspx?ContractId={0}", model.ContractId, "图表 - ")));
}
}
else
{
ShowNotify("请选择施工分包合同", MessageBoxIcon.Question);
}
}
#endregion
#region
@@ -356,10 +332,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.PHTGL_ContractTrackComparisonMenuId);
if (buttonList.Count > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
@@ -448,23 +421,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
BindGrid();
}
protected void btnImport_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ContractId))
{
var model = ContractService.GetContractByContractNum(DropContractCode.SelectedValue);
if (model != null)
{
PageContext.RegisterStartupScript(
Window2.GetShowReference(string.Format("ContractTrackIn.aspx?ContractId={0}", model.ContractId, "导入 - ")));
}
}
else
{
ShowNotify("请选择施工分包合同", MessageBoxIcon.Question);
}
}
protected void Window3_OnClose(object sender, WindowCloseEventArgs e)
{
@@ -86,24 +86,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.Label txtContractName;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnOut 控件。
/// </summary>
@@ -158,15 +140,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnGetChart 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnGetChart;
/// <summary>
/// lblNumber 控件。
/// </summary>
@@ -37,7 +37,7 @@
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
AllowPaging="False" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" OnRowClick="Grid1_OnRowClick" EnableRowClickEvent="True">
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableRowClickEvent="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
@@ -70,9 +70,6 @@
<f:Button ID="btnQuery" ToolTip="查询" Text="查询" Icon="SystemSearch" runat="server" EnablePostBack="true"
OnClick="btnQuery_OnClick">
</f:Button>
<f:Button ID="btnGetChart" ToolTip="图表" Icon="ChartPie" Text="统计图表"
EnablePostBack="true" OnClick="btnGetChart_Click" runat="server">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@@ -108,13 +105,13 @@
<f:TextBox ID="TextBox5" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SubProject" DataField="SubProject" SortField="SubProject"
<f:RenderField Width="150px" ColumnID="SubProject" DataField="SubProject" SortField="SubProject" EnableColumnEdit="False"
FieldType="String" HeaderText="分部工程" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox6" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SubItemProject" DataField="SubItemProject" SortField="SubItemProject"
<f:RenderField Width="150px" ColumnID="SubItemProject" DataField="SubItemProject" SortField="SubItemProject" EnableColumnEdit="False"
FieldType="String" HeaderText="分项工程" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox7" runat="server" Required="true"></f:TextBox>
@@ -188,54 +185,7 @@
<Editor>
<f:TextBox ID="TextBox17" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<%--<f:RenderField Width="150px" ColumnID="ConstructionSubcontractor" DataField="ConstructionSubcontractor" SortField="ConstructionSubcontractor"
FieldType="String" HeaderText="施工分包商" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox18" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ContractWeight" DataField="ContractWeight" SortField="ContractWeight"
FieldType="String" HeaderText="合同权重 " TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox19" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MaterialSupplier" DataField="MaterialSupplier" SortField="MaterialSupplier"
FieldType="String" HeaderText="主材供应方 " TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox20" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderCheckField Width="100px" ColumnID="IsWithinGeneralContractScope" DataField="IsWithinGeneralContractScope" HeaderText="是否总包合同范围内" />
<f:RenderField Width="150px" ColumnID="EstimatedQuantity" DataField="EstimatedQuantity" SortField="EstimatedQuantity"
FieldType="String" HeaderText="概算工程量" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox22" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EstimatedAmount" DataField="EstimatedAmount" SortField="EstimatedAmount"
FieldType="String" HeaderText="概算金额" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox2" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SettledQuantity" DataField="SettledQuantity" SortField="SettledQuantity"
FieldType="String" HeaderText="结算工程量" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox24" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SettledAmount" DataField="SettledAmount" SortField="SettledAmount"
FieldType="String" HeaderText="结算金额 " TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox3" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>--%>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
@@ -258,136 +208,6 @@
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelBottomRegion" RegionPosition="Bottom" RegionSplit="true" EnableCollapse="true" RegionPercent="40%"
Title="底部面板" ShowBorder="true" ShowHeader="false" BodyPadding="10px" IconFont="_PullDown" Layout="HBox" Hidden="True">
<Items>
<f:Panel ID="Panel7" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false" Layout="Fit">
<Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="WBS匹配表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server" Position="Top" ToolbarAlign="Left">
<Items>
<f:ToolbarFill ID="ToolbarFill2" runat="server"></f:ToolbarFill>
<f:Button ID="btnMatchWBS_New" ToolTip="增加" Icon="Add" EnablePostBack="false" runat="server">
</f:Button>
<f:Button ID="btnMatchWBS_Delete" ToolTip="删除" Icon="Delete" EnablePostBack="true" ConfirmText="是否删除?" runat="server" OnClick="btnMatchWBS_Delete_OnClick">
</f:Button>
<f:Button ID="btnMatchWBS_Save" ToolTip="保存" Icon="PageSave" EnablePostBack="true" runat="server" OnClick="btnMatchWBS_Save_OnClick">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RenderField Width="150px" ColumnID="ControlItemAndCycleCode" DataField="ControlItemAndCycleCode" SortField="ControlItemAndCycleCode"
FieldType="String" HeaderText="WBS编号" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ControlItemContent" DataField="ControlItemContent" SortField="ControlItemContent"
FieldType="String" HeaderText="工作包名称" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="60px" ColumnID="Weights" DataField="Weights" SortField="Weights"
FieldType="String" HeaderText="权重" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="WorkPackageEstimate" DataField="WorkPackageEstimate" FieldType="Double"
HeaderText="概算" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox1" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
<f:Panel ID="Panel8" BoxFlex="2" runat="server" ShowBorder="true" ShowHeader="false" Layout="Fit">
<Items>
<f:Grid ID="Grid3" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" Title="" EnableCollapse="false"
runat="server" DataKeyNames="ContractTrackProgressId" AllowCellEditing="true" ClicksToEdit="1" ForceFit="true"
EnableColumnLines="true" DataIDField="ContractTrackProgressId">
<Toolbars>
<f:Toolbar ID="Toolbar3" runat="server" Position="Top" ToolbarAlign="Left">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnProgress_New" ToolTip="增加" Icon="Add" EnablePostBack="false" runat="server" Hidden="True">
</f:Button>
<f:Button ID="btnProgress_Delete" ToolTip="删除" Icon="Delete" EnablePostBack="false" runat="server" Hidden="True">
</f:Button>
<f:Button ID="btnProgress_Save" ToolTip="保存" Icon="PageSave" EnablePostBack="true" runat="server" OnClick="btnProgress_Save_OnClick">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center" Width="60px"></f:RowNumberField>
<f:RenderField ColumnID="Date" DataField="Date" FieldType="String"
HeaderText="日期" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox1" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:GroupField HeaderText="BCWS" TextAlign="Center">
<Columns>
<f:RenderField ColumnID="BCWS_Quantity" DataField="BCWS_Quantity" FieldType="Double"
HeaderText="工程量" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox4" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="BCWS_OutputValue" DataField="BCWS_OutputValue" FieldType="Double"
HeaderText="产值" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox5" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="BCWS_Percentage" DataField="BCWS_Percentage" FieldType="Double"
HeaderText="百分比" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox6" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="ACWP" TextAlign="Center">
<Columns>
<f:RenderField ColumnID="ACWP_Quantity" DataField="ACWP_Quantity" FieldType="Double"
HeaderText="工程量" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox7" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="ACWP_OutputValue" DataField="ACWP_OutputValue" FieldType="Double"
HeaderText="产值" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox8" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="ACWP_Percentage" DataField="ACWP_Percentage" FieldType="Double"
HeaderText="百分比" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox9" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" runat="server" Hidden="true" ShowHeader="true"
@@ -398,12 +218,7 @@
<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>
<f:Window ID="Window3" runat="server" Hidden="true" ShowHeader="true"
IsModal="true" Target="Parent" EnableMaximize="true" EnableResize="true" OnClose="Window3_OnClose"
Title="匹配WBS" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="TableEdit">
@@ -53,55 +53,9 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
//tb = GetFilteredTable(Grid1.FilteredData, tb);
Grid1.DataSource = tb;
Grid1.DataBind();
if (string.IsNullOrEmpty(ContractId))
{
Grid2.DataSource = null;
Grid2.DataBind();
Grid3.DataSource = null;
Grid3.DataBind();
}
}
private void BindGrid2()
{
var db = Funs.DB;
var q = from x in db.PHTGL_ContractTrackMatchWBS
join y in db.WBS_ControlItemAndCycle on x.ControlItemAndCycleId equals y.ControlItemAndCycleId
where x.ContractTrackId == Grid1.SelectedRowID
select new
{
x.Id,
x.ContractTrackId,
x.ControlItemAndCycleId,
y.ControlItemAndCycleCode,
y.ControlItemContent,
y.Weights,
x.WorkPackageEstimate
};
;
Grid2.RecordCount = q.Count();
Grid2.DataSource = q;
Grid2.DataBind();
string deleteScript = GetDeleteScript();
// 在第一行新增一条数据
btnMatchWBS_New.OnClientClick = Window1.GetShowReference(String.Format("ContractTrackMatchWBS.aspx?ContractTrackId={0}", Grid1.SelectedRowID, "增加 - "));
}
private string GetDeleteScript()
{
return Confirm.GetShowReference("确定删除当前数据吗?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty);
}
private void BindGrid3()
{
Model.PHTGL_ContractTrackProgress table = new Model.PHTGL_ContractTrackProgress();
table.ContractTrackId = Grid1.SelectedRowID;
var tb = BLL.PhtglContracttrackprogressService.GetPHTGL_ContractTrackProgressByModle(table);
Grid3.RecordCount = PhtglContracttrackprogressService.Count;
Grid3.DataSource = tb;
Grid3.DataBind();
}
#endregion
#region GV
@@ -194,11 +148,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_OnRowClick(object sender, GridRowClickEventArgs e)
{
BindGrid2();
BindGrid3();
}
/// <summary>
/// Grid行双击事件
@@ -234,206 +184,206 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
}
}
protected void btnMatchWBS_Save_OnClick(object sender, EventArgs e)
{
SaveGrid2();
}
//protected void btnMatchWBS_Save_OnClick(object sender, EventArgs e)
//{
// SaveGrid2();
//}
protected void btnMatchWBS_Delete_OnClick(object sender, EventArgs e)
{
if (Grid2.SelectedRowIndexArray.Length > 0)
{
Model.SGGLDB db = Funs.DB;
var controlItemAndCycles = from x in db.WBS_ControlItemAndCycle
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var unitWorks = from x in db.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var workPackages = (from x in db.WBS_WorkPackage
where x.ProjectId == this.CurrUser.LoginProjectId
select x).ToList();
foreach (int rowIndex in Grid2.SelectedRowIndexArray)
{
string rowID = Grid2.DataKeys[rowIndex][0].ToString();
var p = BLL.PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSById(rowID);
if (p != null)
{
decimal changePlanCost = 0 - (p.WorkPackageEstimate ?? 0);
var c = controlItemAndCycles.First(x => x.ControlItemAndCycleId == p.ControlItemAndCycleId);
c.PlanCost = 0;
BLL.ControlItemAndCycleService.UpdateControlItemAndCycle(c);
//更新上级WBS内容概算费用
BLL.WorkPackageService.UpdateWorkPackagesPlanCost(workPackages, c.WorkPackageId, changePlanCost);
var workPackage = workPackages.FirstOrDefault(x => x.WorkPackageId == c.WorkPackageId);
if (workPackage != null)
{
var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage.UnitWorkId);
if (unitWork.PlanCost == null)
{
unitWork.PlanCost = changePlanCost;
}
else
{
unitWork.PlanCost += changePlanCost;
}
}
db.SubmitChanges();
PhtglContracttrackmatchwbsService.DeleteModelById(rowID);
}
}
BindGrid2();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
//protected void btnMatchWBS_Delete_OnClick(object sender, EventArgs e)
//{
// if (Grid2.SelectedRowIndexArray.Length > 0)
// {
// Model.SGGLDB db = Funs.DB;
// var controlItemAndCycles = from x in db.WBS_ControlItemAndCycle
// where x.ProjectId == this.CurrUser.LoginProjectId
// select x;
// var unitWorks = from x in db.WBS_UnitWork
// where x.ProjectId == this.CurrUser.LoginProjectId
// select x;
// var workPackages = (from x in db.WBS_WorkPackage
// where x.ProjectId == this.CurrUser.LoginProjectId
// select x).ToList();
// foreach (int rowIndex in Grid2.SelectedRowIndexArray)
// {
// string rowID = Grid2.DataKeys[rowIndex][0].ToString();
// var p = BLL.PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSById(rowID);
// if (p != null)
// {
// decimal changePlanCost = 0 - (p.WorkPackageEstimate ?? 0);
// var c = controlItemAndCycles.First(x => x.ControlItemAndCycleId == p.ControlItemAndCycleId);
// c.PlanCost = 0;
// BLL.ControlItemAndCycleService.UpdateControlItemAndCycle(c);
// //更新上级WBS内容概算费用
// BLL.WorkPackageService.UpdateWorkPackagesPlanCost(workPackages, c.WorkPackageId, changePlanCost);
// var workPackage = workPackages.FirstOrDefault(x => x.WorkPackageId == c.WorkPackageId);
// if (workPackage != null)
// {
// var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage.UnitWorkId);
// if (unitWork.PlanCost == null)
// {
// unitWork.PlanCost = changePlanCost;
// }
// else
// {
// unitWork.PlanCost += changePlanCost;
// }
// }
// db.SubmitChanges();
// PhtglContracttrackmatchwbsService.DeleteModelById(rowID);
// }
// }
// BindGrid2();
// ShowNotify("删除数据成功!", MessageBoxIcon.Success);
// }
//}
protected void btnProgress_Save_OnClick(object sender, EventArgs e)
{
SaveGrid3();
}
//protected void btnProgress_Save_OnClick(object sender, EventArgs e)
//{
// SaveGrid3();
//}
private void SaveGrid2()
{
JArray EditorArr = Grid2.GetMergedData();
if (EditorArr.Count > 0)
{
for (int i = 0; i < EditorArr.Count; i++)
{
JObject objects = (JObject)EditorArr[i];
var Id = objects["id"].ToString();
var WorkPackageEstimate = Funs.GetNewDecimal(objects["values"]["WorkPackageEstimate"].ToString());
//private void SaveGrid2()
//{
// JArray EditorArr = Grid2.GetMergedData();
// if (EditorArr.Count > 0)
// {
// for (int i = 0; i < EditorArr.Count; i++)
// {
// JObject objects = (JObject)EditorArr[i];
// var Id = objects["id"].ToString();
// var WorkPackageEstimate = Funs.GetNewDecimal(objects["values"]["WorkPackageEstimate"].ToString());
var model = PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSById(Id);
model.WorkPackageEstimate = WorkPackageEstimate;
PhtglContracttrackmatchwbsService.UpdatePHTGL_ContractTrackMatchWBS(model);
}
}
ShowNotify("保存成功", MessageBoxIcon.Success);
}
// var model = PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSById(Id);
// model.WorkPackageEstimate = WorkPackageEstimate;
// PhtglContracttrackmatchwbsService.UpdatePHTGL_ContractTrackMatchWBS(model);
// }
// }
// ShowNotify("保存成功", MessageBoxIcon.Success);
//}
private void SaveGrid3()
{
Model.SGGLDB db = Funs.DB;
var list = (from x in db.PHTGL_ContractTrackProgress
where x.ContractTrackId == Grid1.SelectedRowID
select x).ToList();
PhtglContracttrackprogressService.DeleteModleByContractTrackId(Grid1.SelectedRowID);
decimal totalWeights = 0;
var SelectedList = (from x in db.PHTGL_ContractTrackMatchWBS
where x.ContractTrackId == Grid1.SelectedRowID
select x.ControlItemAndCycleId).ToList();
var totalControlItemAndCycles = from x in db.WBS_ControlItemAndCycle
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var unitWorks = from x in db.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var workPackages = (from x in db.WBS_WorkPackage
where x.ProjectId == this.CurrUser.LoginProjectId
select x).ToList();
var controlItemAndCycles = from x in totalControlItemAndCycles
where SelectedList.Contains(x.ControlItemAndCycleId)
select x;
foreach (var controlItemAndCycle in controlItemAndCycles)
{
totalWeights += controlItemAndCycle.Weights ?? 0;
}
JArray EditorArr = Grid3.GetMergedData();
if (EditorArr.Count > 0)
{
Model.PHTGL_ContractTrackProgress model = null;
for (int i = 0; i < EditorArr.Count; i++)
{
JObject objects = (JObject)EditorArr[i];
model = new Model.PHTGL_ContractTrackProgress();
model.ContractTrackProgressId = SQLHelper.GetNewID(typeof(Model.PHTGL_ContractTrackProgress));
model.ContractTrackId = Grid1.SelectedRowID;
model.BCWS_Quantity = Funs.GetNewDecimal(objects["values"]["BCWS_Quantity"].ToString());
model.BCWS_OutputValue = Funs.GetNewDecimal(objects["values"]["BCWS_OutputValue"].ToString());
model.BCWS_Percentage = Funs.GetNewDecimal(objects["values"]["BCWS_Percentage"].ToString());
model.ACWP_Quantity = Funs.GetNewDecimal(objects["values"]["ACWP_Quantity"].ToString());
model.ACWP_OutputValue = Funs.GetNewDecimal(objects["values"]["ACWP_OutputValue"].ToString());
model.ACWP_Percentage = Funs.GetNewDecimal(objects["values"]["ACWP_Percentage"].ToString());
model.Date = objects["values"]["Date"].ToString();
BLL.PhtglContracttrackprogressService.AddPHTGL_ContractTrackProgress(model);
var old = list.FirstOrDefault(x => x.Date == model.Date);
decimal oldValue = 0;
if (old != null)
{
oldValue = old.ACWP_OutputValue ?? 0;
}
decimal changeValue = (model.ACWP_OutputValue ?? 0) - oldValue;
if (changeValue != 0)
{
foreach (var item in controlItemAndCycles)
{
var c = controlItemAndCycles.First(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId);
decimal thisValue = 0;
if (totalWeights > 0 && c.Weights.HasValue)
{
thisValue = decimal.Round(c.Weights.Value / totalWeights * changeValue, 2);
}
DateTime? months = Funs.GetNewDateTime(model.Date + "-01");
var WorkPackage = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
Model.WBS_WorkPackageDetail WorkPackageDetail = BLL.WorkPackageDetailService.GetWorkPackageDetailByWorkPackageIdAndMonths(item.WorkPackageId, months.Value);
if (WorkPackageDetail != null)
{
WorkPackageDetail.ThisValue += thisValue;
}
else
{
WorkPackageDetail = new Model.WBS_WorkPackageDetail();
WorkPackageDetail.WorkPackageDetailId = SQLHelper.GetNewID();
WorkPackageDetail.WorkPackageId = item.WorkPackageId;
WorkPackageDetail.Months = months;
WorkPackageDetail.ThisValue = thisValue;
db.WBS_WorkPackageDetail.InsertOnSubmit(WorkPackageDetail);
}
//更新上级WBS内容每月实际费用
UpdateWorkPackageParentThisValue(db, WorkPackage.SuperWorkPackageId, months.Value, thisValue);
////更新单位工程
Model.WBS_WorkPackageParentDetail unitWorkDetail = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(WorkPackage.UnitWorkId, months.Value);
if (unitWorkDetail != null)
{
unitWorkDetail.ThisValue += thisValue;
}
else
{
unitWorkDetail = new Model.WBS_WorkPackageParentDetail();
unitWorkDetail.WorkPackageParentDetailId = SQLHelper.GetNewID();
unitWorkDetail.ParentId = WorkPackage.UnitWorkId;
unitWorkDetail.Months = months;
unitWorkDetail.ThisValue = thisValue;
db.WBS_WorkPackageParentDetail.InsertOnSubmit(unitWorkDetail);
}
////更新建筑、安装工程
Model.WBS_UnitWork unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == WorkPackage.UnitWorkId);
if (unitWork != null)
{
Model.WBS_WorkPackageParentDetail projectType = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(unitWork.ProjectType, this.CurrUser.LoginProjectId, months.Value);
if (projectType != null)
{
projectType.ThisValue += thisValue;
}
else
{
projectType = new Model.WBS_WorkPackageParentDetail();
projectType.WorkPackageParentDetailId = SQLHelper.GetNewID();
projectType.ParentId = unitWork.ProjectType;
projectType.ProjectId = this.CurrUser.LoginProjectId;
projectType.Months = months;
projectType.ThisValue = thisValue;
db.WBS_WorkPackageParentDetail.InsertOnSubmit(projectType);
}
}
db.SubmitChanges();
}
}
}
}
ShowNotify("保存成功", MessageBoxIcon.Success);
//private void SaveGrid3()
//{
// Model.SGGLDB db = Funs.DB;
// var list = (from x in db.PHTGL_ContractTrackProgress
// where x.ContractTrackId == Grid1.SelectedRowID
// select x).ToList();
// PhtglContracttrackprogressService.DeleteModleByContractTrackId(Grid1.SelectedRowID);
// decimal totalWeights = 0;
// var SelectedList = (from x in db.PHTGL_ContractTrackMatchWBS
// where x.ContractTrackId == Grid1.SelectedRowID
// select x.ControlItemAndCycleId).ToList();
// var totalControlItemAndCycles = from x in db.WBS_ControlItemAndCycle
// where x.ProjectId == this.CurrUser.LoginProjectId
// select x;
// var unitWorks = from x in db.WBS_UnitWork
// where x.ProjectId == this.CurrUser.LoginProjectId
// select x;
// var workPackages = (from x in db.WBS_WorkPackage
// where x.ProjectId == this.CurrUser.LoginProjectId
// select x).ToList();
// var controlItemAndCycles = from x in totalControlItemAndCycles
// where SelectedList.Contains(x.ControlItemAndCycleId)
// select x;
// foreach (var controlItemAndCycle in controlItemAndCycles)
// {
// totalWeights += controlItemAndCycle.Weights ?? 0;
// }
// JArray EditorArr = Grid3.GetMergedData();
// if (EditorArr.Count > 0)
// {
// Model.PHTGL_ContractTrackProgress model = null;
// for (int i = 0; i < EditorArr.Count; i++)
// {
// JObject objects = (JObject)EditorArr[i];
// model = new Model.PHTGL_ContractTrackProgress();
// model.ContractTrackProgressId = SQLHelper.GetNewID(typeof(Model.PHTGL_ContractTrackProgress));
// model.ContractTrackId = Grid1.SelectedRowID;
// model.BCWS_Quantity = Funs.GetNewDecimal(objects["values"]["BCWS_Quantity"].ToString());
// model.BCWS_OutputValue = Funs.GetNewDecimal(objects["values"]["BCWS_OutputValue"].ToString());
// model.BCWS_Percentage = Funs.GetNewDecimal(objects["values"]["BCWS_Percentage"].ToString());
// model.ACWP_Quantity = Funs.GetNewDecimal(objects["values"]["ACWP_Quantity"].ToString());
// model.ACWP_OutputValue = Funs.GetNewDecimal(objects["values"]["ACWP_OutputValue"].ToString());
// model.ACWP_Percentage = Funs.GetNewDecimal(objects["values"]["ACWP_Percentage"].ToString());
// model.Date = objects["values"]["Date"].ToString();
// BLL.PhtglContracttrackprogressService.AddPHTGL_ContractTrackProgress(model);
// var old = list.FirstOrDefault(x => x.Date == model.Date);
// decimal oldValue = 0;
// if (old != null)
// {
// oldValue = old.ACWP_OutputValue ?? 0;
// }
// decimal changeValue = (model.ACWP_OutputValue ?? 0) - oldValue;
// if (changeValue != 0)
// {
// foreach (var item in controlItemAndCycles)
// {
// var c = controlItemAndCycles.First(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId);
// decimal thisValue = 0;
// if (totalWeights > 0 && c.Weights.HasValue)
// {
// thisValue = decimal.Round(c.Weights.Value / totalWeights * changeValue, 2);
// }
// DateTime? months = Funs.GetNewDateTime(model.Date + "-01");
// var WorkPackage = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
// Model.WBS_WorkPackageDetail WorkPackageDetail = BLL.WorkPackageDetailService.GetWorkPackageDetailByWorkPackageIdAndMonths(item.WorkPackageId, months.Value);
// if (WorkPackageDetail != null)
// {
// WorkPackageDetail.ThisValue += thisValue;
// }
// else
// {
// WorkPackageDetail = new Model.WBS_WorkPackageDetail();
// WorkPackageDetail.WorkPackageDetailId = SQLHelper.GetNewID();
// WorkPackageDetail.WorkPackageId = item.WorkPackageId;
// WorkPackageDetail.Months = months;
// WorkPackageDetail.ThisValue = thisValue;
// db.WBS_WorkPackageDetail.InsertOnSubmit(WorkPackageDetail);
// }
// //更新上级WBS内容每月实际费用
// UpdateWorkPackageParentThisValue(db, WorkPackage.SuperWorkPackageId, months.Value, thisValue);
// ////更新单位工程
// Model.WBS_WorkPackageParentDetail unitWorkDetail = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(WorkPackage.UnitWorkId, months.Value);
// if (unitWorkDetail != null)
// {
// unitWorkDetail.ThisValue += thisValue;
// }
// else
// {
// unitWorkDetail = new Model.WBS_WorkPackageParentDetail();
// unitWorkDetail.WorkPackageParentDetailId = SQLHelper.GetNewID();
// unitWorkDetail.ParentId = WorkPackage.UnitWorkId;
// unitWorkDetail.Months = months;
// unitWorkDetail.ThisValue = thisValue;
// db.WBS_WorkPackageParentDetail.InsertOnSubmit(unitWorkDetail);
// }
// ////更新建筑、安装工程
// Model.WBS_UnitWork unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == WorkPackage.UnitWorkId);
// if (unitWork != null)
// {
// Model.WBS_WorkPackageParentDetail projectType = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(unitWork.ProjectType, this.CurrUser.LoginProjectId, months.Value);
// if (projectType != null)
// {
// projectType.ThisValue += thisValue;
// }
// else
// {
// projectType = new Model.WBS_WorkPackageParentDetail();
// projectType.WorkPackageParentDetailId = SQLHelper.GetNewID();
// projectType.ParentId = unitWork.ProjectType;
// projectType.ProjectId = this.CurrUser.LoginProjectId;
// projectType.Months = months;
// projectType.ThisValue = thisValue;
// db.WBS_WorkPackageParentDetail.InsertOnSubmit(projectType);
// }
// }
// db.SubmitChanges();
// }
// }
// }
// }
// ShowNotify("保存成功", MessageBoxIcon.Success);
}
//}
#region WBS内容每月实际费用
/// <summary>
@@ -494,14 +444,14 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
var CalculationRule = objects["values"]["CalculationRule"].ToString();
var WorkContent = objects["values"]["WorkContent"].ToString();
var Remarks = objects["values"]["Remarks"].ToString();
var ConstructionSubcontractor = objects["values"]["ConstructionSubcontractor"].ToString();
var ContractWeight = objects["values"]["ContractWeight"].ToString();
var MaterialSupplier = objects["values"]["MaterialSupplier"].ToString();
var IsWithinGeneralContractScope = objects["values"]["IsWithinGeneralContractScope"].ToString();
var EstimatedQuantity = objects["values"]["EstimatedQuantity"].ToString();
var EstimatedAmount = objects["values"]["EstimatedAmount"].ToString();
var SettledQuantity = objects["values"]["SettledQuantity"].ToString();
var SettledAmount = objects["values"]["SettledAmount"].ToString();
//var ConstructionSubcontractor = objects["values"]["ConstructionSubcontractor"].ToString();
//var ContractWeight = objects["values"]["ContractWeight"].ToString();
//var MaterialSupplier = objects["values"]["MaterialSupplier"].ToString();
//var IsWithinGeneralContractScope = objects["values"]["IsWithinGeneralContractScope"].ToString();
//var EstimatedQuantity = objects["values"]["EstimatedQuantity"].ToString();
//var EstimatedAmount = objects["values"]["EstimatedAmount"].ToString();
//var SettledQuantity = objects["values"]["SettledQuantity"].ToString();
//var SettledAmount = objects["values"]["SettledAmount"].ToString();
var model = PhtglContractTrackService.GetPHTGL_ContractTrackById(Id);
model.MainItemCode = MainItemCode;
@@ -519,18 +469,20 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
model.CalculationRule = CalculationRule;
model.WorkContent = WorkContent;
model.Remarks = Remarks;
model.ConstructionSubcontractor = ConstructionSubcontractor;
model.ContractWeight = ContractWeight;
model.MaterialSupplier = MaterialSupplier;
model.IsWithinGeneralContractScope = bool.Parse(IsWithinGeneralContractScope);
model.EstimatedQuantity = EstimatedQuantity;
model.EstimatedAmount = Funs.GetNewDecimal(EstimatedAmount);
model.SettledQuantity = SettledQuantity;
model.SettledAmount = Funs.GetNewDecimal(SettledAmount);
//model.ConstructionSubcontractor = ConstructionSubcontractor;
//model.ContractWeight = ContractWeight;
//model.MaterialSupplier = MaterialSupplier;
//model.IsWithinGeneralContractScope = bool.Parse(IsWithinGeneralContractScope);
//model.EstimatedQuantity = EstimatedQuantity;
//model.EstimatedAmount = Funs.GetNewDecimal(EstimatedAmount);
//model.SettledQuantity = SettledQuantity;
//model.SettledAmount = Funs.GetNewDecimal(SettledAmount);
PhtglContractTrackService.UpdatePHTGL_ContractTrack(model);
}
}
ShowNotify("保存成功", MessageBoxIcon.Success);
BindGrid();
}
@@ -539,22 +491,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
BindGrid();
}
protected void btnGetChart_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ContractId))
{
var model = ContractService.GetContractByContractNum(DropContractCode.SelectedValue);
if (model != null)
{
PageContext.RegisterStartupScript(
Window2.GetShowReference(string.Format("ContractTrackProgressChart.aspx?ContractId={0}", model.ContractId, "图表 - ")));
}
}
else
{
ShowNotify("请选择施工分包合同", MessageBoxIcon.Question);
}
}
#endregion
#region
@@ -690,11 +626,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
}
protected void Window3_OnClose(object sender, WindowCloseEventArgs e)
{
BindGrid2();
}
}
}
@@ -158,15 +158,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnGetChart 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnGetChart;
/// <summary>
/// lblNumber 控件。
/// </summary>
@@ -347,213 +338,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// panelBottomRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelBottomRegion;
/// <summary>
/// Panel7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel7;
/// <summary>
/// Grid2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill2;
/// <summary>
/// btnMatchWBS_New 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnMatchWBS_New;
/// <summary>
/// btnMatchWBS_Delete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnMatchWBS_Delete;
/// <summary>
/// btnMatchWBS_Save 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnMatchWBS_Save;
/// <summary>
/// NumberBox1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox1;
/// <summary>
/// Panel8 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel8;
/// <summary>
/// Grid3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid3;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnProgress_New 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProgress_New;
/// <summary>
/// btnProgress_Delete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProgress_Delete;
/// <summary>
/// btnProgress_Save 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProgress_Save;
/// <summary>
/// TextBox1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox1;
/// <summary>
/// NumberBox4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox4;
/// <summary>
/// NumberBox5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox5;
/// <summary>
/// NumberBox6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox6;
/// <summary>
/// NumberBox7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox7;
/// <summary>
/// NumberBox8 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox8;
/// <summary>
/// NumberBox9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox9;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -572,15 +356,6 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// Window3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window3;
/// <summary>
/// Menu1 控件。
/// </summary>
@@ -2,15 +2,51 @@
<!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>
<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">
<div>
</div>
<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:DropDownList ID="DropContractCode" runat="server" Label="施工分包合同编号" AutoPostBack="true" AutoSelectFirstItem="True" LabelAlign="Right" EnableAjax="True"
LabelWidth="140px" OnSelectedIndexChanged="DropMainContractCode_SelectedIndexChanged">
</f:DropDownList>
<f:Label ID="txtContractName" runat="server" Label="合同名称" LabelAlign="Right" LabelWidth="140px"></f:Label>
<f:ToolbarFill runat="server" />
</Items>
</f:Toolbar>
</Toolbars>
</f:Panel>
</form>
</body>
</html>
@@ -1,17 +1,57 @@
using System;
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.PHTGL.ContractCompile
{
public partial class ContractTrackProgressDetection : System.Web.UI.Page
public partial class ContractTrackProgressDetection : PageBase
{
public string ContractId
{
get => (string)ViewState["ContractId"];
set => ViewState["ContractId"] = value;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//主合同编号
this.DropContractCode.DataTextField = "ContractNum";
this.DropContractCode.DataValueField = "ContractNum";
this.DropContractCode.DataSource = BLL.PHTGL_ContractReviewService.GetContractReview_CompleteData(this.CurrUser.LoginProjectId);
this.DropContractCode.DataBind();
Funs.FineUIPleaseSelect(this.DropContractCode);
DropMainContractCode_SelectedIndexChanged(null, null);
}
}
protected void DropMainContractCode_SelectedIndexChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(DropContractCode.SelectedValue))
{
var model = ContractService.GetContractByContractNum(DropContractCode.SelectedValue);
if (model != null)
{
ContractId = model.ContractId;
this.txtContractName.Text = model.ContractName;
}
else
{
ContractId = "";
this.txtContractName.Text = string.Empty;
}
panelCenterRegion.IFrameUrl = "./ContractTrackProgressDetectionGrid.aspx?ContractId="+ContractId;
}
}
}
}
@@ -22,5 +22,59 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </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>
/// DropContractCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList DropContractCode;
/// <summary>
/// txtContractName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtContractName;
}
}
@@ -0,0 +1,87 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ContractTrackProgressDetectionGrid.aspx.cs" Inherits="FineUIPro.Web.PHTGL.ContractCompile.ContractTrackProgressDetectionGrid" %>
<!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"
Title="中间面板" ShowBorder="True" ShowHeader="false" BodyPadding="10px" IconFont="_RoundPlus">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="合同执行跟踪表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
AllowPaging="False" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableRowClickEvent="True">
<Toolbars>
<f:Toolbar ID="Toolbar4" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:TextBox runat="server" ID="txtProjectCode" Label="项目编码" LabelWidth="90" Width="200px" />
<f:TextBox runat="server" ID="txtProjectName" Label="项目名称" LabelWidth="90" Width="200px" />
<f:ToolbarFill runat="server" />
<f:Button ID="btnQuery" ToolTip="查询" Text="查询" Icon="SystemSearch" runat="server" EnablePostBack="true"
OnClick="btnQuery_OnClick">
</f:Button>
<f:Button ID="btnGetChart" ToolTip="图表" Icon="ChartPie" Text="统计图表"
EnablePostBack="true" OnClick="btnGetChart_Click" runat="server">
</f:Button>
<f:Button ID="btnSave" ToolTip="保存" Icon="PageSave" EnablePostBack="true" Text="保存" runat="server" OnClick="btnSave_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>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<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>
@@ -0,0 +1,604 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.PHTGL.ContractCompile
{
public partial class ContractTrackProgressDetectionGrid : PageBase
{
#region Page_Init
// 注意:动态创建的代码需要放置于Page_Init(不是Page_Load),这样每次构造页面时都会执行
protected void Page_Init(object sender, EventArgs e)
{
InitGrid();
}
public DataTable GridTable=new DataTable();
private void InitGrid()
{
FineUIPro.BoundField bf;
FineUIPro.RenderField rf;
FineUIPro.TextBox txTextBox;
ContractId = Request.Params["ContractId"];
GridTable.Columns.Add("Id");
ListItem[] list = new ListItem[8];
list[0] = new ListItem("主项号", "MainItemCode");
list[1] = new ListItem("主项名称", "MainItemName");
list[2] = new ListItem("专业工程名称", "MajorName");
list[3] = new ListItem("专业代码", "MajorCode");
list[4] = new ListItem("分部工程", "SubProject");
list[5] = new ListItem("分项工程", "SubItemProject");
list[6] = new ListItem("项目编码", "ProjectCode");
list[7] = new ListItem("项目名称", "ProjectName");
foreach (var item in list)
{
bf = new FineUIPro.BoundField();
bf.ColumnID = item.Value;
bf.DataField = item.Value;
bf.HeaderText = item.Text;
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
Grid1.Columns.Add(bf);
GridTable.Columns.Add(item.Value);
}
if (!string.IsNullOrEmpty(ContractId))
{
Model.PHTGL_ContractTrack queryContractTrack = new Model.PHTGL_ContractTrack();
queryContractTrack.ProjectId = this.CurrUser.LoginProjectId;
queryContractTrack.ContractId = this.ContractId;
var modelContractTracks = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackByModle(queryContractTrack);
if (modelContractTracks.Count==0) return;
Model.PHTGL_ContractTrackProgress table = new Model.PHTGL_ContractTrackProgress();
table.ContractTrackId = modelContractTracks[0].Id;
var tb = BLL.PhtglContracttrackprogressService.GetPHTGL_ContractTrackProgressByModle(table);
foreach (var item in tb)
{
//string date = item.Date.Replace("-", "");
string date = item.Date+"#" ;
GroupField p = new GroupField();
p.HeaderText = item.Date;
p.TextAlign = TextAlign.Center;
GroupField p1 = new GroupField();
p1.HeaderText = "当月进展情况";
p1.TextAlign = TextAlign.Center;
GroupField p1BCWS = new GroupField();
p1BCWS.HeaderText = "BCWS";
p1BCWS.TextAlign = TextAlign.Center;
GroupField p1ACWP = new GroupField();
p1ACWP.HeaderText = "ACWP";
p1ACWP.TextAlign = TextAlign.Center;
GroupField p2 = new GroupField();
p2.HeaderText = "累计进展情况";
p2.TextAlign = TextAlign.Center;
GroupField p2BCWS = new GroupField();
p2BCWS.HeaderText = "BCWS";
p2BCWS.TextAlign = TextAlign.Center;
GroupField p2ACWP = new GroupField();
p2ACWP.HeaderText = "ACWP";
p2ACWP.TextAlign = TextAlign.Center;
#region
#region BCWS
txTextBox = new FineUIPro.TextBox();
txTextBox.ID = "txt" +date+ "BCWS_Quantity";
rf = new RenderField();
rf.ColumnID = date+"BCWS_Quantity";
rf.DataField = date+"BCWS_Quantity";
rf.HeaderText = "工程量";
rf.TextAlign = FineUIPro.TextAlign.Left;
rf.Editor.Add(txTextBox);
p1BCWS.Columns.Add(rf);
GridTable.Columns.Add(date + "BCWS_Quantity");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "BCWS_OutputValue";
bf.DataField = date + "BCWS_OutputValue";
bf.HeaderText = "产值";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p1BCWS.Columns.Add(bf);
GridTable.Columns.Add(date + "BCWS_OutputValue");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "BCWS_Percentage";
bf.DataField = date + "BCWS_Percentage";
bf.HeaderText = "百分比";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p1BCWS.Columns.Add(bf);
GridTable.Columns.Add(date + "BCWS_Percentage");
#endregion
#region ACWP
txTextBox = new FineUIPro.TextBox();
txTextBox.ID = "txt" + date + "ACWP_Quantity";
rf = new RenderField();
rf.ColumnID = date + "ACWP_Quantity";
rf.DataField = date + "ACWP_Quantity";
rf.HeaderText = "工程量";
rf.TextAlign = FineUIPro.TextAlign.Left;
rf.Editor.Add(txTextBox);
p1ACWP.Columns.Add(rf);
GridTable.Columns.Add(date + "ACWP_Quantity");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "ACWP_OutputValue";
bf.DataField = date + "ACWP_OutputValue";
bf.HeaderText = "产值";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p1ACWP.Columns.Add(bf);
GridTable.Columns.Add(date + "ACWP_OutputValue");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "ACWP_Percentage";
bf.DataField = date + "ACWP_Percentage";
bf.HeaderText = "百分比";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p1ACWP.Columns.Add(bf);
GridTable.Columns.Add(date + "ACWP_Percentage");
#endregion
#endregion
#region
#region BCWS
txTextBox = new FineUIPro.TextBox();
txTextBox.ID = "txt" + date + "SumBCWS_Quantity";
rf = new RenderField();
rf.ColumnID = date + "SumBCWS_Quantity";
rf.DataField = date + "SumBCWS_Quantity";
rf.HeaderText = "工程量";
rf.TextAlign = FineUIPro.TextAlign.Left;
rf.Editor.Add(txTextBox);
p2BCWS.Columns.Add(rf);
GridTable.Columns.Add(date + "SumBCWS_Quantity");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "SumBCWS_OutputValue";
bf.DataField = date + "SumBCWS_OutputValue";
bf.HeaderText = "产值";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p2BCWS.Columns.Add(bf);
GridTable.Columns.Add(date + "SumBCWS_OutputValue");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "SumBCWS_Percentage";
bf.DataField = date + "SumBCWS_Percentage";
bf.HeaderText = "百分比";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p2BCWS.Columns.Add(bf);
GridTable.Columns.Add(date + "SumBCWS_Percentage");
#endregion
#region ACWP
txTextBox = new FineUIPro.TextBox();
txTextBox.ID = "txt" + date + "SumACWP_Quantity";
rf = new RenderField();
rf.ColumnID = date + "SumACWP_Quantity";
rf.DataField = date + "SumACWP_Quantity";
rf.HeaderText = "工程量";
rf.TextAlign = FineUIPro.TextAlign.Left;
rf.Editor.Add(txTextBox);
p2ACWP.Columns.Add(rf);
GridTable.Columns.Add(date + "SumACWP_Quantity");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "SumACWP_OutputValue";
bf.DataField = date + "SumACWP_OutputValue";
bf.HeaderText = "产值";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p2ACWP.Columns.Add(bf);
GridTable.Columns.Add(date + "SumACWP_OutputValue");
bf = new FineUIPro.BoundField();
bf.ColumnID = date + "SumACWP_Percentage";
bf.DataField = date + "SumACWP_Percentage";
bf.HeaderText = "百分比";
bf.HeaderTextAlign = TextAlign.Center;
bf.TextAlign = TextAlign.Center;
p2ACWP.Columns.Add(bf);
GridTable.Columns.Add(date + "SumACWP_Percentage");
#endregion
#endregion
p1.Columns.Add(p1BCWS);
p1.Columns.Add(p1ACWP);
p2.Columns.Add(p2BCWS);
p2.Columns.Add(p2ACWP);
p.Columns.Add(p1);
p.Columns.Add(p2);
Grid1.Columns.Add(p);
}
}
}
#endregion
public string ContractId
{
get => (string)ViewState["ContractId"];
set => ViewState["ContractId"] = value;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.GetButtonPower();
// 绑定表格
this.BindGrid();
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (!string .IsNullOrEmpty(ContractId))
{
DataRow row;
Model.PHTGL_ContractTrack queryContractTrack = new Model.PHTGL_ContractTrack();
queryContractTrack.ProjectId = this.CurrUser.LoginProjectId;
queryContractTrack.ContractId = this.ContractId;
var modelContractTracks = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackByModle(queryContractTrack);
foreach (var item in modelContractTracks)
{
row= GridTable.NewRow();
row["Id"] = item.Id;
row["MainItemCode"] = item.MainItemCode;
row["MainItemName"] = item.MainItemName;
row["MajorName"] = item.MajorName;
row["MajorCode"] = item.MajorCode;
row["SubProject"] = item.SubProject;
row["SubItemProject"] = item.SubItemProject;
row["ProjectCode"] = item.ProjectCode;
row["ProjectName"] = item.ProjectName;
Model.PHTGL_ContractTrackProgress qContractTrackProgress = new Model.PHTGL_ContractTrackProgress();
qContractTrackProgress.ContractTrackId = item.Id;
var modelContractTrackProgresses = BLL.PhtglContracttrackprogressService.GetPHTGL_ContractTrackProgressByModle(qContractTrackProgress);
foreach (var detail in modelContractTrackProgresses)
{
// var date=detail.Date.Replace("-", "");
var date=detail.Date + "#";
row[date+ "BCWS_Quantity"] = detail.BCWS_Quantity;
row[date+ "BCWS_OutputValue"] = detail.BCWS_OutputValue;
row[date+ "BCWS_Percentage"] = detail.BCWS_Percentage;
row[date+ "ACWP_Quantity"] = detail.ACWP_Quantity;
row[date+ "ACWP_OutputValue"] = detail.ACWP_OutputValue;
row[date+ "ACWP_Percentage"] = detail.ACWP_Percentage;
var SumModel = PhtglContracttrackprogressService.GetSumProgress(detail.ContractTrackProgressId);
row[date + "SumBCWS_Quantity"] = SumModel.BCWS_Quantity;
row[date + "SumBCWS_OutputValue"] = SumModel.BCWS_OutputValue;
row[date + "SumBCWS_Percentage"] = SumModel.BCWS_Percentage;
row[date + "SumACWP_Quantity"] = SumModel.ACWP_Quantity;
row[date + "SumACWP_OutputValue"] = SumModel.ACWP_OutputValue;
row[date + "SumACWP_Percentage"] = SumModel.ACWP_Percentage;
}
GridTable.Rows.Add(row);
}
Grid1.DataSource = GridTable;
Grid1.DataBind();
}
}
#endregion
#region GV
/// <summary>
/// 过滤表头
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//protected void Grid1_FilterChange(object sender, EventArgs e)
//{
// this.BindGrid();
//}
/// <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();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 编辑按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnEdit_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string ID = Grid1.SelectedRowID;
var model = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackById(ID);
if (model != null) ///已上报时不能删除
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractTrackEdit.aspx?Id={0}", ID, "编辑 - ")));
}
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.btnEdit_Click(null, null);
}
protected void btnSave_OnClick(object sender, EventArgs e)
{
JArray EditorArr = Grid1.GetMergedData();
if (EditorArr.Count > 0)
{
for (int i = 0; i < EditorArr.Count; i++)
{
JObject objects = (JObject)EditorArr[i];
var listfiled = objects["values"].ToList();
var Id = objects["id"].ToString();
var model = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackById(Id);
if (model!=null)
{
foreach (var item in listfiled) //遍历行中的字段
{
var b = item;
var txtname = b.First.Path.Substring(b.First.Path.LastIndexOf('.') + 1);
var txtvalue = b.First.Value<string>();
string date = txtname.Split('#')[0].ToString();
string filed = txtname.Split('#')[1].ToString();
var modelContractTrackProgress = PhtglContracttrackprogressService.GetPHTGL_ContractTrackProgressByTrackIdAndDate(Id, date);
if (modelContractTrackProgress!=null)
{
switch (filed)
{
case "ACWP_Quantity":
modelContractTrackProgress.ACWP_Quantity = Funs.GetNewDecimalOrZero(txtvalue) ;
break;
case "BCWS_Quantity":
modelContractTrackProgress.BCWS_Quantity = Funs.GetNewDecimalOrZero(txtvalue);
break;
}
}
PhtglContracttrackprogressService.UpdatePHTGL_ContractTrackProgress(modelContractTrackProgress);
}
}
}
}
CheckProgressd();
BindGrid();
}
/// <summary>
/// 修改产值/百分比
/// </summary>
private void CheckProgressd()
{
if (!string.IsNullOrEmpty(ContractId))
{
Model.PHTGL_ContractTrack queryContractTrack = new Model.PHTGL_ContractTrack();
queryContractTrack.ProjectId = this.CurrUser.LoginProjectId;
queryContractTrack.ContractId = this.ContractId;
var modelContractTracks =
BLL.PhtglContractTrackService.GetPHTGL_ContractTrackByModle(queryContractTrack);
foreach (var item in modelContractTracks)
{
PhtglContracttrackprogressService.CheckProgressByContractTrackId(item.Id);
}
}
}
protected void btnQuery_OnClick(object sender, EventArgs e)
{
BindGrid();
}
protected void btnGetChart_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ContractId))
{
var model = ContractService.GetContractById(ContractId);
if (model != null)
{
PageContext.RegisterStartupScript(
Window2.GetShowReference(string.Format("ContractTrackProgressChart.aspx?ContractId={0}", model.ContractId, "图表 - ")));
}
}
else
{
ShowNotify("请选择施工分包合同", MessageBoxIcon.Question);
}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.PHTGL_ContractTrackProgressDetectionMenuId);
if (buttonList.Count > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
//this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
// this.btnMenuEdit.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
// this.btnMenuDelete.Hidden = false;
}
}
}
#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();
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
string html = row.Values[column.ColumnIndex].ToString();
if (column.ColumnID == "tfNumber")
{
html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text;
}
sb.AppendFormat("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
}
}
@@ -0,0 +1,143 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.PHTGL.ContractCompile
{
public partial class ContractTrackProgressDetectionGrid
{
/// <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>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar4;
/// <summary>
/// txtProjectCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectCode;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnGetChart 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnGetChart;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
}
}
+54 -9
View File
@@ -1,9 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<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="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="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>
<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="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>
@@ -16,12 +58,15 @@
<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="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 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>
</Tree>
+4 -5
View File
@@ -35,9 +35,8 @@
<TreeNode id="48216E20-7103-48AB-A12F-237E28605952" Text="消防电信" NavigateUrl=""></TreeNode>
<TreeNode id="5EB73242-63F0-402C-A42B-2BCDC0AC2229" Text="临建设施" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="D9BAB30E-3255-4EA0-8631-EF15C9203EFD" Text="合同执行跟踪" NavigateUrl="PHTGL/ContractCompile/ContractTrackList.aspx"></TreeNode>
<TreeNode id="A9BBF623-83AC-4353-A010-07A5D4CEB7D1" Text="工效统计" NavigateUrl=""><TreeNode id="118B3E91-073B-468C-BDE3-DD6DCF6034C6" Text="日工效统计" NavigateUrl="PZHGL/InformationProject/DayConstructionLogWorkEfficiency.aspx"></TreeNode>
<TreeNode id="4EDB3CB9-9FB6-4D63-802F-83C3FB3CA6B1" Text="月平均工效统计" NavigateUrl="PZHGL/InformationProject/MonthConstructionLogWorkEfficiencySum.aspx"></TreeNode>
<TreeNode id="D791C4E1-7CF1-4F4E-9457-0CF91ACDB987" Text="项目平均工效统计" NavigateUrl="PZHGL/InformationProject/ProjectConstructionLogWorkEfficiencySum.aspx"></TreeNode>
</TreeNode>
<TreeNode id="D9BAB30E-3255-4EA0-8631-EF15C9203EFD" Text="合同价格信息" NavigateUrl="PHTGL/ContractCompile/ContractTrackList.aspx"></TreeNode>
<TreeNode id="98269480-3F36-4169-A91D-16144D903C6C" Text="WBS工作包" NavigateUrl="PHTGL/ContractCompile/ContractWBS.aspx"></TreeNode>
<TreeNode id="D715B66F-8E99-498F-87DA-E85B4B8EB923" Text="费用对比统计" NavigateUrl="PHTGL/ContractCompile/ContractTrackComparison.aspx"></TreeNode>
<TreeNode id="F545E899-B3B5-4B49-A741-DE19356553D5" Text="进度检测" NavigateUrl="PHTGL/ContractCompile/ContractTrackProgressDetection.aspx"></TreeNode>
</Tree>
-37
View File
@@ -48,43 +48,6 @@
<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>
<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="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>