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
@@ -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;
}
}