进度管理增加设备材料分类

This commit is contained in:
2023-05-26 10:24:02 +08:00
parent 64cce0e5b6
commit ea1634cbc7
29 changed files with 1866 additions and 64 deletions
@@ -62,7 +62,7 @@
<f:Grid ID="Grid2" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="工程量清单设置" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" ForceFit="true"
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="ASC" EnableColumnLines="true"
SortDirection="ASC" EnableColumnLines="true"
AllowPaging="false" IsDatabasePaging="false" PageSize="1000"
AllowFilters="true" EnableTextSelection="True">
<Columns>
@@ -167,11 +167,11 @@
AllowFilters="true" EnableTextSelection="True">
<Columns>
<f:RenderField Width="60px" ColumnID="Id" DataField="Id" FieldType="String"
HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center" EnableColumnEdit="true">
</f:RenderField>
HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center" EnableColumnEdit="true">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Name" DataField="Name" FieldType="String"
HeaderText="专业和分部工程" HeaderTextAlign="Center" TextAlign="Left" EnableColumnEdit="true">
</f:RenderField>
HeaderText="专业和分部工程" HeaderTextAlign="Center" TextAlign="Left" EnableColumnEdit="true">
</f:RenderField>
<f:GroupField HeaderText="本月赢得值参数(单位:万元)" TextAlign="Center">
<Columns>
<f:RenderField Width="90px" ColumnID="mBCWP" DataField="mBCWP" FieldType="String"
@@ -239,15 +239,43 @@
<f:GroupPanel runat="server" Title="五、设备/材料施工进度情况" BodyPadding="5px" ID="GroupPanel5" EnableCollapse="True"
Collapsed="false">
<Items>
<f:Form ID="Form5" ShowBorder="false" ShowHeader="false" runat="server">
<Rows>
<f:FormRow>
<Items>
<f:TextArea ID="txt5" runat="server"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
</f:Form>
<f:Grid ID="Grid5" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="工程量清单设置" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" ForceFit="true"
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="ASC" EnableColumnLines="true" TreeColumn="Name" DataParentIDField="SupId" EnableTree="true"
AllowPaging="false" IsDatabasePaging="false" PageSize="10000"
AllowFilters="true" EnableTextSelection="True">
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid5.PageIndex * Grid5.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="Name" DataField="Name" FieldType="String"
HeaderText="设备材料分类" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Unit" DataField="Unit" FieldType="String"
HeaderText="单位" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="TotalNum" DataField="TotalNum" FieldType="String"
HeaderText="合同工作量" HeaderTextAlign="Center" TextAlign="Center" EnableColumnEdit="true">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="mThisNum" DataField="mThisNum"
FieldType="String" HeaderText="本月完成量" HeaderTextAlign="Center" TextAlign="Center"
EnableColumnEdit="true">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="tThisNum" DataField="tThisNum"
FieldType="String" HeaderText="累计完成量" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="mRate" DataField="mRate"
FieldType="String" HeaderText="本月完成率" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="tRate" DataField="tRate"
FieldType="String" HeaderText="累计完成率" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:GroupPanel>
</Items>
@@ -29,7 +29,6 @@ namespace FineUIPro.Web.JDGL.CostAnalysis
private void SetEmpty()
{
this.SimpleForm1.Title = string.Empty;
txt5.Text = string.Empty;
}
#endregion
@@ -350,6 +349,74 @@ namespace FineUIPro.Web.JDGL.CostAnalysis
this.Grid4.DataSource = table4;
this.Grid4.DataBind();
}
//按专业统计
DataTable table5 = new DataTable();
table5.Columns.Add(new DataColumn("Id", typeof(String)));
table5.Columns.Add(new DataColumn("Name", typeof(String)));
table5.Columns.Add(new DataColumn("Unit", typeof(String)));
table5.Columns.Add(new DataColumn("TotalNum", typeof(String)));
table5.Columns.Add(new DataColumn("mThisNum", typeof(String)));
table5.Columns.Add(new DataColumn("tThisNum", typeof(String)));
table5.Columns.Add(new DataColumn("mRate", typeof(String)));
table5.Columns.Add(new DataColumn("tRate", typeof(String)));
DataRow row5;
var costControls = from x in db.WBS_CostControl where x.ProjectId == this.CurrUser.LoginProjectId select x;
var costControlDetails = from x in db.WBS_CostControlDetail
join y in db.WBS_CostControl on x.CostControlId equals y.CostControlId
join z in db.WBS_EquipmentMaterialType on y.EquipmentMaterialTypeId equals z.EquipmentMaterialTypeId
where x.Months <= Funs.GetNewDateTime(date) && y.ProjectId == this.CurrUser.LoginProjectId
orderby x.Months descending
select new
{
x.CostControlDetailId,
y.EquipmentMaterialTypeId,
z.EquipmentMaterialTypeName,
x.Months,
x.ThisNum,
};
var equipmentMaterialTypes = from x in db.WBS_EquipmentMaterialType orderby x.EquipmentMaterialTypeCode select x;
if (equipmentMaterialTypes.Count() > 0)
{
foreach (var equipmentMaterialType in equipmentMaterialTypes)
{
row5 = table5.NewRow();
row5[0] = equipmentMaterialType.EquipmentMaterialTypeId;
row5[1] = equipmentMaterialType.EquipmentMaterialTypeName;
var list = costControls.Where(x => x.EquipmentMaterialTypeId == equipmentMaterialType.EquipmentMaterialTypeId);
if (list.Count() > 0)
{
row5[2] = list.First().Unit;
}
row5[3] = list.ToList().Sum(x => x.TotalNum ?? 0);
var list2 = costControlDetails.Where(x => x.EquipmentMaterialTypeId == equipmentMaterialType.EquipmentMaterialTypeId && x.Months == Funs.GetNewDateTime(date));
row5[4] = list2.ToList().Sum(x => x.ThisNum ?? 0);
var list3 = costControlDetails.Where(x => x.EquipmentMaterialTypeId == equipmentMaterialType.EquipmentMaterialTypeId);
row5[5] = list3.ToList().Sum(x => x.ThisNum ?? 0);
if (row5[3].ToString() != "0" && row5[4].ToString() != "0")
{
row5[6] = (Funs.GetNewDecimalOrZero(row5[4].ToString()) / Funs.GetNewDecimalOrZero(row5[3].ToString()) * 100).ToString("0.##") + "%";
}
else
{
row5[6] = "/";
}
if (row5[3].ToString() != "0" && row5[5].ToString() != "0")
{
row5[7] = (Funs.GetNewDecimalOrZero(row5[5].ToString()) / Funs.GetNewDecimalOrZero(row5[3].ToString()) * 100).ToString("0.##") + "%";
}
else
{
row5[7] = "/";
}
table5.Rows.Add(row5);
}
if (table5.Rows.Count > 0)
{
this.Grid5.DataSource = table5;
this.Grid5.DataBind();
}
}
}
}
}
@@ -202,22 +202,22 @@ namespace FineUIPro.Web.JDGL.CostAnalysis {
protected global::FineUIPro.GroupPanel GroupPanel5;
/// <summary>
/// Form5 控件。
/// Grid5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form5;
protected global::FineUIPro.Grid Grid5;
/// <summary>
/// txt5 控件。
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txt5;
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// Window1 控件。