20230831 WBS

This commit is contained in:
2023-08-31 16:37:09 +08:00
parent d9f8be1463
commit ba6774dbae
44 changed files with 1349 additions and 235 deletions
+36 -8
View File
@@ -37,7 +37,8 @@
<f:CheckItem Value="HTGL" Text="合同数据" />
<f:CheckItem Value="LW" Text="劳务数据" />
</f:CheckBoxList>
<f:Button ID="btnNew" Text="新增" Icon="Add" EnablePostBack="false" runat="server">
<f:TextBox runat="server" ID="hdWorkPackageId" Hidden="true"></f:TextBox>
<f:Button ID="btnNew" Text="新增" Icon="Add" EnablePostBack="false" runat="server">
</f:Button>
</Items>
</f:Toolbar>
@@ -45,19 +46,46 @@
<Items>
<f:GroupPanel runat="server" ID="Panel_CurrentApproval" Title="工作包" Layout="VBox" Height="200px" AutoScroll="true">
<Items>
<f:CheckBoxList runat="server" ID="cblControlItem" Readonly="true"
AutoColumnWidth="true" ColumnNumber="5">
</f:CheckBoxList>
<f:RadioButtonList runat="server" ID="cblControlItem"
AutoPostBack="true" OnSelectedIndexChanged="cblControlItem_SelectedIndexChanged"
AutoColumnWidth="true" ColumnNumber="5">
</f:RadioButtonList>
</Items>
</f:GroupPanel>
<f:GroupPanel runat="server" ID="gpHSSE" Title="安全数据" Layout="VBox" Hidden="true"
Height="300px" AutoScroll="true">
<Items>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true" EnableTableStyle="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right" LabelWidth="120px">
<Rows>
<f:FormRow>
<Items>
<f:Label ID="lbExpertArgument" runat="server" Label="危大工程数量">
</f:Label>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:GroupPanel>
<f:GroupPanel runat="server" ID="gpCQMS" Title="质量数据" Layout="VBox" Hidden="true"
Height="300px" AutoScroll="true">
<Items>
<Items>
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true" EnableTableStyle="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right" LabelWidth="160px">
<Rows>
<f:FormRow>
<Items>
<f:Label ID="lbSpotCheck1" runat="server" Label="实体验收共检项数">
</f:Label>
<f:Label ID="lbSpotCheck2" runat="server" Label="实体验收共检一次合格数">
</f:Label>
<f:Label ID="lbSpotCheck" runat="server" Label="实体验收一次合格率">
</f:Label>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:GroupPanel>
<f:GroupPanel runat="server" ID="gpJDGL" Title="进度数据" Layout="VBox" Hidden="true"
@@ -79,9 +107,9 @@
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="WBS" Hidden="true" EnableIFrame="true" EnableMaximize="true"
<f:Window ID="Window1" Title="WBS" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Self" EnableResize="false" runat="server" IsModal="true"
Width="800px" Height="650px">
Width="1200px" Height="650px">
</f:Window>
</form>
<script type="text/javascript">
@@ -95,6 +123,6 @@
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</script>
</body>
</html>
+83 -50
View File
@@ -1,27 +1,15 @@
using BLL;
using FineUIPro.Web.CQMS.WBS;
using Model;
using System;
using System.Data;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.DigData
{
public partial class ProjectWBSDW : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string WorkPackageId
{
get
{
return (string)ViewState["WorkPackageId"];
}
set
{
ViewState["WorkPackageId"] = value;
}
}
/// <summary>
/// 项目ID
/// </summary>
@@ -50,23 +38,21 @@ namespace FineUIPro.Web.DigData
////权限按钮方法
// this.ucTree.WorkPackageCode = this.WorkPackageCode;
this.ucTree.ProjectId = this.ProjectId;
this.btnNew.OnClientClick = Window1.GetShowReference("ShowProjectWBS.aspx") + "return false;";
this.btnNew.OnClientClick = Window1.GetShowReference("ShowProjectWBSPackage.aspx") + "return false;";
}
}
protected void changeTree(object sender, EventArgs e)
{
this.WorkPackageId = this.ucTree.WorkPackageId;
this.hdWorkPackageId.Text = this.ucTree.WorkPackageId;
initControlItem();
}
protected void changeTree2(object sender, EventArgs e)
{
string a = this.ucTree.WorkPackageId;
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ckType_SelectedIndexChanged(object sender, EventArgs e)
{
this.gpHSSE.Hidden = true;
@@ -74,29 +60,7 @@ namespace FineUIPro.Web.DigData
this.gpJDGL.Hidden = true;
this.gpHTGL.Hidden = true;
this.gpLW.Hidden = true;
foreach (var item in this.ckType.SelectedValueArray)
{
if (item == "HSSE")
{
this.gpHSSE.Hidden = false;
}
if (item == "CQMS")
{
this.gpCQMS.Hidden = false;
}
if (item == "JDGL")
{
this.gpJDGL.Hidden = false;
}
if (item == "HTGL")
{
this.gpHTGL.Hidden = false;
}
if (item == "LW")
{
this.gpLW.Hidden = false;
}
}
SetData();
}
/// <summary>
@@ -104,11 +68,80 @@ namespace FineUIPro.Web.DigData
/// </summary>
protected void initControlItem()
{
var getControlItem = from x in Funs.DB.WBS_ControlItemAndCycle where x.WorkPackageId == this.WorkPackageId select x;
cblControlItem.DataValueField = "ControlItemCode";
var getControlItem = from x in Funs.DB.WBS_ControlItemAndCycle
where x.WorkPackageId == this.hdWorkPackageId.Text
select x;
cblControlItem.DataValueField = "ControlItemAndCycleId";
cblControlItem.DataTextField = "ControlItemContent";
cblControlItem.DataSource = getControlItem;
cblControlItem.DataBind();
cblControlItem.DataBind();
SetData();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void cblControlItem_SelectedIndexChanged(object sender, EventArgs e)
{
SetData();
}
/// <summary>
/// 数据展示
/// </summary>
private void SetData()
{
string workPackageId = this.hdWorkPackageId.Text;
string controlItemAndCycleId = this.cblControlItem.SelectedValue;
if (workPackageId == "1" || workPackageId == "2")
{
workPackageId = "Type" + workPackageId;
}
if (!string.IsNullOrEmpty(workPackageId))
{
foreach (var item in this.ckType.SelectedValueArray)
{
if (item == "HSSE")
{
this.gpHSSE.Hidden = false;
this.lbExpertArgument.Text = (from x in Funs.DB.Solution_LargerHazardListItem
join y in Funs.DB.Solution_LargerHazardList on x.LargerHazardListId equals y.LargerHazardListId
where y.ProjectId == this.ProjectId && x.WorkPackageId.Contains(workPackageId) && y.States == Const.State_1
&& (controlItemAndCycleId == null || x.WorkPackageId.Contains(controlItemAndCycleId))
select x).Count().ToString();
}
if (item == "CQMS")
{
this.gpCQMS.Hidden = false;
var getDetail = from x in Funs.DB.Check_SpotCheckDetail
join y in Funs.DB.Check_SpotCheck on x.SpotCheckCode equals y.SpotCheckCode
where y.ProjectId == this.ProjectId && x.WorkPackageId.Contains(workPackageId) //&& y.States == Const.State_1
&& (controlItemAndCycleId == null || x.WorkPackageId.Contains(controlItemAndCycleId))
select x;
int all = getDetail.Count();
this.lbSpotCheck1.Text = all.ToString();
int okCount = getDetail.Where(x => x.IsOK == true).Count();
this.lbSpotCheck2.Text= okCount.ToString();
this.lbSpotCheck.Text= all > 0 ? Math.Round(okCount * 1.0 / (all * 1.0)).ToString() : "0";
}
if (item == "JDGL")
{
this.gpJDGL.Hidden = false;
}
if (item == "HTGL")
{
this.gpHTGL.Hidden = false;
}
if (item == "LW")
{
this.gpLW.Hidden = false;
}
}
}
}
}
}
+64 -1
View File
@@ -95,6 +95,15 @@ namespace FineUIPro.Web.DigData
/// </remarks>
protected global::FineUIPro.CheckBoxList ckType;
/// <summary>
/// hdWorkPackageId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdWorkPackageId;
/// <summary>
/// btnNew 控件。
/// </summary>
@@ -120,7 +129,7 @@ namespace FineUIPro.Web.DigData
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBoxList cblControlItem;
protected global::FineUIPro.RadioButtonList cblControlItem;
/// <summary>
/// gpHSSE 控件。
@@ -131,6 +140,24 @@ namespace FineUIPro.Web.DigData
/// </remarks>
protected global::FineUIPro.GroupPanel gpHSSE;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// lbExpertArgument 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbExpertArgument;
/// <summary>
/// gpCQMS 控件。
/// </summary>
@@ -140,6 +167,42 @@ namespace FineUIPro.Web.DigData
/// </remarks>
protected global::FineUIPro.GroupPanel gpCQMS;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// lbSpotCheck1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbSpotCheck1;
/// <summary>
/// lbSpotCheck2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbSpotCheck2;
/// <summary>
/// lbSpotCheck 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbSpotCheck;
/// <summary>
/// gpJDGL 控件。
/// </summary>
@@ -14,8 +14,8 @@
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server">
<Items>
<f:RadioButtonList runat="server" ID="ckState" Width="350px" AutoColumnWidth="true"
AutoPostBack="true" OnSelectedIndexChanged="ckState_SelectedIndexChanged">
<f:RadioButtonList runat="server" ID="ckLevel" Width="350px" AutoColumnWidth="true"
AutoPostBack="true" OnSelectedIndexChanged="ckLevel_SelectedIndexChanged">
<f:RadioItem Text="全部" Value="-1" Selected="true" />
<f:RadioItem Text="0级" Value="0" />
<f:RadioItem Text="1级" Value="1" />
@@ -29,7 +29,7 @@
</f:Toolbar>
</Toolbars>
<Items>
<f:Tree ID="trWBS" EnableCollapse="true" ShowHeader="false" Title="WBS" EnableCheckBox="true"
<f:Tree ID="trWBS" EnableCollapse="true" ShowHeader="false" Title="WBS"
OnNodeExpand="trWBS_NodeExpand" AutoLeafIdentification="true"
runat="server" ShowBorder="false" EnableTextSelection="True">
</f:Tree>
@@ -2,6 +2,7 @@
using System;
using System.Data;
using System.Linq;
using System.Text;
namespace FineUIPro.Web.DigData
{
@@ -30,17 +31,25 @@ namespace FineUIPro.Web.DigData
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ ////加载树
{
string level = Request.Params["level"];
if (!string.IsNullOrEmpty(level))
{
this.ckLevel.SelectedValue = level;
this.ckLevel.Readonly = true;
}
////加载树
SetSubUnitProjectTree(this.trWBS);
}
}
#region -
#region WBS
/// <summary>
/// 绑定分公司 单位-项目树
/// 绑定WBS
/// </summary>
/// <param name="trWBS"></param>
/// <param name="CurrUser"></param>
/// <param name="trWBS"></param>
public void SetSubUnitProjectTree(FineUIPro.Tree trWBS)
{
this.trWBS.Nodes.Clear();
@@ -81,8 +90,7 @@ namespace FineUIPro.Web.DigData
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e)
{
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "ProjectType") //展开工程类型
{
@@ -98,9 +106,11 @@ namespace FineUIPro.Web.DigData
newNode.Text = trUnitWorkItem.UnitWorkCode + "-" + trUnitWorkItem.UnitWorkName;
newNode.NodeID = trUnitWorkItem.UnitWorkId;
newNode.CommandName = "UnitWork";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
if (BLL.WorkPackageService.GetWorkPackages1ByUnitWorkId(trUnitWorkItem.UnitWorkId.ToString()) != null)
{
TreeNode temp = new TreeNode();
@@ -119,6 +129,7 @@ namespace FineUIPro.Web.DigData
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.ToolTip = "[" + workPackage.InitWorkPackageCode + "]";
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
@@ -144,6 +155,7 @@ namespace FineUIPro.Web.DigData
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.ToolTip="["+ workPackage.InitWorkPackageCode+"]";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
@@ -161,7 +173,7 @@ namespace FineUIPro.Web.DigData
}
#endregion
protected void ckState_SelectedIndexChanged(object sender, EventArgs e)
protected void ckLevel_SelectedIndexChanged(object sender, EventArgs e)
{
////加载树
SetSubUnitProjectTree(this.trWBS);
@@ -169,7 +181,66 @@ namespace FineUIPro.Web.DigData
protected void btnSure_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
///Type1|0a1e39d1-693d-4b5f-a2f5-870dda8b9ff2|c0f20302-88e6-4415-9a86-06be5730c420[67]|c76e251e-d690-4d0e-959b-3b618701f6ff[6701]&建筑工程|083-全场管廊|框架/管廊|地基与基础
///返回 树 父节点ID+[初始WBS主键]+"|" +节点ID+[初始WBS主键]+"&"+树父节点名称+"|"+ 节点名称
string selectValues = getSelectIds(this.trWBS.SelectedNode, this.trWBS.SelectedNodeID+this.trWBS.SelectedNode.ToolTip) + "&" + getSelectNames(this.trWBS.SelectedNode, this.trWBS.SelectedNode.Text);
if (!string.IsNullOrEmpty(selectValues))
{
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(selectValues) + ActiveWindow.GetHidePostBackReference());
}
}
else
{
Alert.ShowInParent("请选择节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// id
/// </summary>
/// <param name="node"></param>
/// <param name="id"></param>
/// <returns></returns>
private string getSelectIds(TreeNode node,string id)
{
if (node.ParentNode != null)
{
if (node.ParentNode.NodeID == "1" || node.ParentNode.NodeID == "2")
{
id = "Type" + node.ParentNode.NodeID + "|" + id;
}
else
{
id = getSelectIds(node.ParentNode, node.ParentNode.NodeID + node.ParentNode.ToolTip + "|" + id);
}
}
return id;
}
/// <summary>
/// 名称
/// </summary>
/// <param name="node"></param>
/// <param name="name"></param>
/// <returns></returns>
private string getSelectNames(TreeNode node, string name)
{
if (node.ParentNode != null)
{
if (node.ParentNode.NodeID == "1" || node.ParentNode.NodeID == "2")
{
name = node.ParentNode.Text + "|" + name;
}
else
{
name = getSelectNames(node.ParentNode, node.ParentNode.Text + "|" + name);
}
}
return name;
}
}
}
+2 -2
View File
@@ -51,13 +51,13 @@ namespace FineUIPro.Web.DigData
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ckState 控件。
/// ckLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList ckState;
protected global::FineUIPro.RadioButtonList ckLevel;
/// <summary>
/// btnSure 控件。
@@ -0,0 +1,130 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ShowProjectWBSPackage.aspx.cs" Inherits="FineUIPro.Web.DigData.ShowProjectWBSPackage" %>
<!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>项目施工WBS</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.Yellow {
background-color: #FFFF93;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" CssClass="blockpanel" Margin="5px" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true" EnableCollapse="true" Layout="Fit"
RegionPercent="30%" Title="项目WBS基础数据库" TitleToolTip="项目WBS基础数据库" ShowBorder="true" ShowHeader="true"
BodyPadding="10px">
<Items>
<f:Tree ID="trWBS" EnableCollapse="true" ShowHeader="true"
OnNodeCommand="trWBS_NodeCommand" OnNodeExpand="trWBS_NodeExpand" AutoLeafIdentification="true"
runat="server">
<Listeners>
<f:Listener Event="beforenodecontextmenu" Handler="onTreeNodeContextMenu" />
</Listeners>
</f:Tree>
<f:HiddenField runat="server" ID="hdSelectId">
</f:HiddenField>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" Layout="Fit"
Title="中间面板" ShowBorder="true" ShowHeader="false" BodyPadding="10px">
<Items>
<f:Grid ID="Grid1" Width="870px" ShowBorder="true" ShowHeader="false" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ControlItemAndCycleId,InitControlItemCode" AllowSorting="true" EnableColumnLines="true"
SortField="ControlItemAndCycleCode" SortDirection="ASC" AllowCellEditing="true" ClicksToEdit="1" ForceFit="true"
ShowSelectedCell="true" DataIDField="ControlItemAndCycleId" AllowPaging="true" IsDatabasePaging="true"
PageSize="100" OnPageIndexChange="Grid1_PageIndexChange" EnableMultiSelect="false">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" ToolTip="确认" Icon="Accept" runat="server" Text="确认"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
TextAlign="Center" />
<f:RenderField Width="150px" ColumnID="ControlItemContent" DataField="ControlItemContent" FieldType="String"
HeaderText="工作包" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="ControlPoint" DataField="ControlPoint" FieldType="String"
HeaderText="控制点等级" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="65px" ColumnID="Weights" DataField="Weights" FieldType="String"
HeaderText="权重%" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="20px" ColumnID="ControlItemAndCycleId" DataField="ControlItemAndCycleId" FieldType="String"
HeaderText="工作包Id" HeaderTextAlign="Center" TextAlign="Center" Hidden="true">
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="100" Value="100" />
<f:ListItem Text="500" Value="500" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
// 保存当前菜单对应的树节点ID
// var currentNodeId;
// 返回false,来阻止浏览器右键菜单
function onTreeNodeContextMenu(event, nodeId) {
// currentNodeId = nodeId;
// F(menuID).show();
return false;
}
//// 设置所有菜单项的禁用状态
//function setMenuItemsDisabled(disabled) {
// var menu = F(menuID);
// $.each(menu.items, function (index, item) {
// item.setDisabled(disabled);
// });
//}
//// 显示菜单后,检查是否禁用菜单项
//function onMenuShow() {
// if (currentNodeId) {
// var tree = F(treeID);
// var nodeData = tree.getNodeData(currentNodeId);
// if (nodeData.leaf) {
// setMenuItemsDisabled(true);
// } else {
// setMenuItemsDisabled(false);
// }
// }
//}
</script>
</body>
</html>
@@ -0,0 +1,319 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.DigData
{
public partial class ShowProjectWBSPackage : PageBase
{
/// <summary>
///
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#region
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
InitTreeMenu();
}
}
#endregion
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.trWBS.Nodes.Clear();
this.trWBS.ShowBorder = false;
this.trWBS.ShowHeader = false;
this.trWBS.EnableIcons = true;
this.trWBS.AutoScroll = true;
this.trWBS.EnableSingleClickExpand = true;
TreeNode rootNode1 = new TreeNode();
rootNode1.Text = "建筑工程";
rootNode1.NodeID = "1";
rootNode1.CommandName = "ProjectType";
rootNode1.EnableExpandEvent = true;
rootNode1.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode1);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
rootNode1.Nodes.Add(emptyNode);
TreeNode rootNode2 = new TreeNode();
rootNode2.Text = "安装工程";
rootNode2.NodeID = "2";
rootNode2.CommandName = "ProjectType";
rootNode2.EnableExpandEvent = true;
rootNode2.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode2);
rootNode2.Nodes.Add(emptyNode);
}
#endregion
#region
/// <summary>
/// 展开树
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e)
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "ProjectType") //展开工程类型
{
var trUnitWork = from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.ProjectId && x.SuperUnitWork == null && x.ProjectType == e.Node.NodeID
select x;
trUnitWork = trUnitWork.OrderBy(x => x.UnitWorkCode);
if (trUnitWork.Count() > 0)
{
foreach (var trUnitWorkItem in trUnitWork)
{
TreeNode newNode = new TreeNode();
string uweights = string.Empty;
if (trUnitWorkItem.Weights != null)
{
uweights = "(" + Convert.ToDouble(trUnitWorkItem.Weights).ToString() + "%)";
}
newNode.Text = trUnitWorkItem.UnitWorkCode + "-" + trUnitWorkItem.UnitWorkName + uweights;
newNode.NodeID = trUnitWorkItem.UnitWorkId;
newNode.CommandName = "UnitWork";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
if (BLL.WorkPackageService.GetWorkPackages1ByUnitWorkId(trUnitWorkItem.UnitWorkId.ToString()) != null)
{
TreeNode temp = new TreeNode();
temp.Text = "temp";
temp.NodeID = "temp";
newNode.Nodes.Add(temp);
}
}
}
}
else if (e.Node.CommandName == "UnitWork") //展开单位工程节点
{
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.UnitWorkId == e.NodeID && x.SuperWorkPack == null && x.IsApprove == true orderby x.WorkPackageCode select x;
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
string weights = string.Empty;
if (workPackage.Weights != null)
{
weights = "(" + Convert.ToDouble(workPackage.Weights).ToString() + "%)";
}
newNode.Text = workPackage.PackageContent + weights;
newNode.NodeID = workPackage.WorkPackageId;
newNode.ToolTip = "[" + workPackage.InitWorkPackageCode + "]";
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
else if (e.Node.CommandName == "WorkPackage") //展开工作包节点
{
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == e.Node.NodeID && x.IsApprove == true orderby x.WorkPackageCode select x;
if (workPackages.Count() > 0) //存在子单位工程
{
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
string weights = string.Empty;
if (workPackage.Weights != null)
{
weights = "(" + Convert.ToDouble(workPackage.Weights).ToString() + "%)";
}
newNode.Text = workPackage.PackageContent + weights;
newNode.NodeID = workPackage.WorkPackageId;
newNode.ToolTip = "[" + workPackage.InitWorkPackageCode + "]";
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
}
#endregion
#region Tree点击事件
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindGrid();
}
#endregion
#region
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// Grid1排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 加载Grid
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT ControlItemAndCycleId,ControlItemAndCycleCode,InitControlItemCode,PlanCompleteDate,ControlItemContent,ControlPoint,ControlItemDef,Weights,HGForms,SHForms,Standard,ClauseNo,CheckNum"
+ @" FROM WBS_ControlItemAndCycle ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " where WorkPackageId = @WorkPackageId and IsApprove=1 ";
listStr.Add(new SqlParameter("@WorkPackageId", this.trWBS.SelectedNodeID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
///Type1|fda5ce7d-1d97-469c-9f43-9f7b2ec35ba8|000441b4-a471-4d1e-b851-19c950a5b61a[68]|ae650220-309f-42d4-acdc-6de91c9ec758[6801]&建筑工程|082-全场道路|道路|路基工程定位测量放线$24f40e7c-0b86-44b1-a498-08174113c36a
///返回 树 父节点ID+[初始WBS主键]+"|" +节点ID+[初始WBS主键]+"&"+树父节点名称+"|"+ 节点名称+"|"+ 工作包名称+"$"+工作包ID
string selectValues = string.Empty;
if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID) && this.trWBS.SelectedNode != null)
{
var getC = Funs.DB.WBS_ControlItemAndCycle.FirstOrDefault(x => x.ControlItemAndCycleId == this.Grid1.SelectedRowID);
if (getC != null)
{
selectValues = getSelectIds(this.trWBS.SelectedNode, this.trWBS.SelectedNodeID + this.trWBS.SelectedNode.ToolTip) + "&" + getSelectNames(this.trWBS.SelectedNode, this.trWBS.SelectedNode.Text) + getC .ControlItemContent+ "$" + this.Grid1.SelectedRowID;
}
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(selectValues) + ActiveWindow.GetHidePostBackReference());
}
else
{
Alert.ShowInParent("请选择工作包!", MessageBoxIcon.Warning);
}
}
#endregion
/// <summary>
/// id
/// </summary>
/// <param name="node"></param>
/// <param name="id"></param>
/// <returns></returns>
private string getSelectIds(TreeNode node, string id)
{
if (node.ParentNode != null)
{
if (node.ParentNode.NodeID == "1" || node.ParentNode.NodeID == "2")
{
id = "Type" + node.ParentNode.NodeID + "|" + id;
}
else
{
id = getSelectIds(node.ParentNode, node.ParentNode.NodeID + node.ParentNode.ToolTip + "|" + id);
}
}
return id;
}
/// <summary>
/// 名称
/// </summary>
/// <param name="node"></param>
/// <param name="name"></param>
/// <returns></returns>
private string getSelectNames(TreeNode node, string name)
{
if (node.ParentNode != null)
{
if (node.ParentNode.NodeID == "1" || node.ParentNode.NodeID == "2")
{
name = node.ParentNode.Text + "|" + name;
}
else
{
name = getSelectNames(node.ParentNode, node.ParentNode.Text + "|" + name);
}
}
return name;
}
}
}
@@ -0,0 +1,134 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.DigData
{
public partial class ShowProjectWBSPackage
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// trWBS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree trWBS;
/// <summary>
/// hdSelectId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdSelectId;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}
+29 -2
View File
@@ -37,6 +37,7 @@
<f:CheckItem Value="HTGL" Text="合同数据" />
<f:CheckItem Value="LW" Text="劳务数据" />
</f:CheckBoxList>
<f:TextBox runat="server" ID="hdWorkPackageCode" Hidden="true"></f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
@@ -50,12 +51,38 @@
</f:GroupPanel>
<f:GroupPanel runat="server" ID="gpHSSE" Title="安全数据" Layout="VBox" Hidden="true"
Height="300px" AutoScroll="true">
<Items>
<Items>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true" EnableTableStyle="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right" LabelWidth="120px">
<Rows>
<f:FormRow>
<Items>
<f:Label ID="lbExpertArgument" runat="server" Label="危大工程数量">
</f:Label>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:GroupPanel>
<f:GroupPanel runat="server" ID="gpCQMS" Title="质量数据" Layout="VBox" Hidden="true"
Height="300px" AutoScroll="true">
<Items>
<Items>
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true" EnableTableStyle="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right" LabelWidth="120px">
<Rows>
<f:FormRow>
<Items>
<f:Label ID="lbSpotCheck1" runat="server" Label="实体验收共检项数">
</f:Label>
<f:Label ID="lbSpotCheck2" runat="server" Label="实体验收共检一次合格数">
</f:Label>
<f:Label ID="lbSpotCheck" runat="server" Label="实体验收一次合格率">
</f:Label>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:GroupPanel>
<f:GroupPanel runat="server" ID="gpJDGL" Title="进度数据" Layout="VBox" Hidden="true"
+66 -45
View File
@@ -6,22 +6,7 @@ using System.Linq;
namespace FineUIPro.Web.DigData
{
public partial class WBSDW : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string WorkPackageCode
{
get
{
return (string)ViewState["WorkPackageCode"];
}
set
{
ViewState["WorkPackageCode"] = value;
}
}
{
/// <summary>
/// 加载页面
/// </summary>
@@ -30,15 +15,13 @@ namespace FineUIPro.Web.DigData
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
////权限按钮方法
this.ucTree.WorkPackageCode = this.WorkPackageCode;
{
}
}
protected void changeTree(object sender, EventArgs e)
{
this.WorkPackageCode = this.ucTree.WorkPackageCode;
this.hdWorkPackageCode.Text = this.ucTree.WorkPackageCode;
//新增UnitId
//this.UnitId = this.ucTree.UnitId;
////判断 当有WorkPackageCode的时候单位id为空
@@ -58,29 +41,7 @@ namespace FineUIPro.Web.DigData
this.gpJDGL.Hidden = true;
this.gpHTGL.Hidden = true;
this.gpLW.Hidden = true;
foreach (var item in this.ckType.SelectedValueArray)
{
if (item == "HSSE")
{
this.gpHSSE.Hidden = false;
}
if (item == "CQMS")
{
this.gpCQMS.Hidden = false;
}
if (item == "JDGL")
{
this.gpJDGL.Hidden = false;
}
if (item == "HTGL")
{
this.gpHTGL.Hidden = false;
}
if (item == "LW")
{
this.gpLW.Hidden = false;
}
}
SetData();
}
/// <summary>
@@ -88,11 +49,71 @@ namespace FineUIPro.Web.DigData
/// </summary>
protected void initControlItem()
{
var getControlItem = from x in Funs.DB.WBS_ControlItemInit where x.WorkPackageCode == this.WorkPackageCode select x;
var getControlItem = from x in Funs.DB.WBS_ControlItemInit
where x.WorkPackageCode == this.hdWorkPackageCode.Text
select x;
cblControlItem.DataValueField = "ControlItemCode";
cblControlItem.DataTextField = "ControlItemContent";
cblControlItem.DataSource = getControlItem;
cblControlItem.DataBind();
cblControlItem.DataBind();
SetData();
}
/// <summary>
/// 数据展示
/// </summary>
private void SetData()
{
string workPackageId = this.hdWorkPackageCode.Text;
if (workPackageId == "1" || workPackageId == "2")
{
workPackageId = "Type" + workPackageId;
}
else
{
workPackageId="["+ workPackageId + "]";
}
if (!string.IsNullOrEmpty(workPackageId))
{
foreach (var item in this.ckType.SelectedValueArray)
{
if (item == "HSSE")
{
this.gpHSSE.Hidden = false;
this.lbExpertArgument.Text = (from x in Funs.DB.Solution_LargerHazardListItem
join y in Funs.DB.Solution_LargerHazardList on x.LargerHazardListId equals y.LargerHazardListId
where x.WorkPackageId.Contains(workPackageId) && y.States == Const.State_1
select x).Count().ToString();
}
if (item == "CQMS")
{
this.gpCQMS.Hidden = false;
var getDetail = from x in Funs.DB.Check_SpotCheckDetail
join y in Funs.DB.Check_SpotCheck on x.SpotCheckCode equals y.SpotCheckCode
where x.WorkPackageId.Contains(workPackageId) //&& y.States == Const.State_1
select x;
int all = getDetail.Count();
this.lbSpotCheck1.Text = all.ToString();
int okCount = getDetail.Where(x => x.IsOK == true).Count();
this.lbSpotCheck2.Text = okCount.ToString();
this.lbSpotCheck.Text = all > 0 ? Math.Round(okCount * 1.0 / (all * 1.0)).ToString() : "0";
}
if (item == "JDGL")
{
this.gpJDGL.Hidden = false;
}
if (item == "HTGL")
{
this.gpHTGL.Hidden = false;
}
if (item == "LW")
{
this.gpLW.Hidden = false;
}
}
}
}
}
}
+63
View File
@@ -95,6 +95,15 @@ namespace FineUIPro.Web.DigData
/// </remarks>
protected global::FineUIPro.CheckBoxList ckType;
/// <summary>
/// hdWorkPackageCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdWorkPackageCode;
/// <summary>
/// Panel_CurrentApproval 控件。
/// </summary>
@@ -122,6 +131,24 @@ namespace FineUIPro.Web.DigData
/// </remarks>
protected global::FineUIPro.GroupPanel gpHSSE;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// lbExpertArgument 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbExpertArgument;
/// <summary>
/// gpCQMS 控件。
/// </summary>
@@ -131,6 +158,42 @@ namespace FineUIPro.Web.DigData
/// </remarks>
protected global::FineUIPro.GroupPanel gpCQMS;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// lbSpotCheck1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbSpotCheck1;
/// <summary>
/// lbSpotCheck2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbSpotCheck2;
/// <summary>
/// lbSpotCheck 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbSpotCheck;
/// <summary>
/// gpJDGL 控件。
/// </summary>