This commit is contained in:
李鹏飞 2024-11-04 10:00:33 +08:00
commit 4bf9e4b80d
53 changed files with 4585 additions and 541 deletions

4
.gitignore vendored
View File

@ -38,3 +38,7 @@
/SGGL/FineUIPro.Web/FileUpload/TestRun/TestRunMonthSummary/2024-06
/SGGL/FineUIPro.Web/FileUpload/ProjectAttachUrl/2024-06
/SGGLPackFile_20240730.rar
/SGGL/FineUIPro.Web/FileUpload/Transfer/PunchlistFrom/2024-10
/SGGL/FineUIPro.Web/ErrLog.txt
/SGGL/FineUIPro.Web/Web.config
/CreateModel2017.bat

View File

@ -1,33 +0,0 @@
@echo off
REM ---------------
REM 发布包生成工具
REM 执行此文件前请先用Release生成WebOA项目
REM --------------
REM --------------
REM 环境变量设置 Project_Src为如WebOA这样的分支
REM --------------
set PROJECT_SRC=%CD%
cd..
REM 源代码Model项目文件夹
set Model_ROOT=%PROJECT_SRC%\SGGL\Model
REM --------------
REM 发布程序包文件夹相关
REM --------------
@echo 设置.net控制台环境
@echo.
@call "%VS150%"
SqlMetal /views /server:. /user:sa /password:1111 /database:SGGLDB_WH /code:%Model_ROOT%\Model.cs /namespace:Model
@ECHO 完成
pause

View File

@ -0,0 +1,8 @@
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('1FBC729D-0A8E-423C-B133-B64583BF9611','进度软件(新)','',70,'0','Menu_JDGL',0,0,0)
go
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('368DB90C-8A47-44F7-A69A-D2D60A6E338C','费用项裁剪','JDGL/Progress/WbsManager.aspx',10,'1FBC729D-0A8E-423C-B133-B64583BF9611','Menu_JDGL',0,1,0)
go

View File

@ -0,0 +1,48 @@
--1
update Sys_Menu set MenuName='尾项管理' where MenuId='016903B1-3B86-4CF5-AFF8-FF8BE389BEE5';
update Sys_Menu set MenuName='非工艺系统清单' where MenuId='022428DC-FC99-4916-B8AF-6A9DC885DFAF';
update Sys_Menu set MenuName='工艺系统清单' where MenuId='197F9A9A-480C-4CC3-B6B7-3A7D382DC3EB';
update Sys_Menu set MenuName='尾项完成统计表' where MenuId='2352E44F-BE12-4012-B43F-AAF649EDAC32';
update Sys_Menu set MenuName='移交状态汇总表' where MenuId='25C13642-AE77-42E2-B0FB-32663B68F93F';
update Sys_Menu set MenuName='电气' where MenuId='296E75D2-192A-4D1F-8471-DD34263F8691';
update Sys_Menu set MenuName='尾项进度跟踪表' where MenuId='549DD0B6-05CB-4C75-B8F5-9AADDEDF399F';
update Sys_Menu set MenuName='电信' where MenuId='58FFBD80-ACB9-4830-A18A-E025D9600D94';
update Sys_Menu set MenuName='移交统计图表' where MenuId='60838E30-4A46-4878-B299-C234900B10B7';
update Sys_Menu set MenuName='动设备' where MenuId='7E2FB5F9-FB99-4455-B68F-460F1F9A2676';
update Sys_Menu set MenuName='仪表' where MenuId='88F51059-55B4-4CD5-A38C-36404E5029F6';
update Sys_Menu set MenuName='土建/建筑/结构' where MenuId='95C39F86-C060-452E-BA37-D891C466A39B';
update Sys_Menu set MenuName='静设备' where MenuId='982F746C-084C-445C-9AE8-8C37BDFE7994';
update Sys_Menu set MenuName='尾项分类表' where MenuId='CB76462E-9444-4946-B787-ECB33C21E6D0';
update Sys_Menu set MenuName='管道' where MenuId='D94C1BA4-9DFD-4514-AE12-6F886C5D8C9B';
update Sys_Menu set MenuName='移交统计表' where MenuId='E305689E-5D84-4C1A-BF67-85FA2D828115';
go
--22
update Sys_Menu set MenuName='消防',IsUsed=0 where MenuId='794E64E2-FDD2-4B7D-8408-F7FB06F9C92A';
update Sys_Menu set MenuName='地管',IsUsed=0 where MenuId='95295BF7-FB51-480D-9902-6ADA4E8427FC';
go
--3
--
IF NOT EXISTS(select * from sys.columns where name='TotalFactor' and [object_id]=object_id(N'Transfer_Piping'))
BEGIN
--
ALTER TABLE Transfer_Piping ADD TotalFactor nvarchar(50) NULL;
--
ALTER TABLE Transfer_Piping ADD CompleteFactor nvarchar(50) NULL;
--
ALTER TABLE Transfer_Piping ADD CompleteProportion nvarchar(50) NULL;
--
ALTER TABLE Transfer_Piping ADD PressureTestCompleted nvarchar(50) NULL;
--
ALTER TABLE Transfer_Piping ADD RinseAndBlowClean nvarchar(50) NULL;
--
ALTER TABLE Transfer_Piping ADD Reduction nvarchar(50) NULL;
--
ALTER TABLE Transfer_Piping ADD ElectricHeatTracing nvarchar(50) NULL;
--/
ALTER TABLE Transfer_Piping ADD Insulation nvarchar(50) NULL;
END
go

View File

@ -501,6 +501,9 @@ namespace BLL
list.Add(".txt");
list.Add(".xlsx");
list.Add(".xls");
list.Add(".png");
list.Add(".jpg");
list.Add(".jpeg");
foreach (var item in list)
{
if (item == FiletExtension)

File diff suppressed because it is too large Load Diff

View File

@ -1453,6 +1453,7 @@
<Content Include="JDGL\CostAnalysis\JDReport.aspx" />
<Content Include="JDGL\CostAnalysis\PlanAdjust.aspx" />
<Content Include="JDGL\CostAnalysis\RectificationMeasureSet.aspx" />
<Content Include="JDGL\Progress\WbsManager.aspx" />
<Content Include="JDGL\WBSCompleteAndReal\WBSCompleteAudit.aspx" />
<Content Include="JDGL\WBSCompleteAndReal\WBSReport.aspx" />
<Content Include="JDGL\WBSPlan\SeeDetailHistory.aspx" />
@ -1605,6 +1606,7 @@
<Content Include="ProjectData\ProjectUnitSelect.aspx" />
<Content Include="ProjectData\ProjectUnitView.aspx" />
<Content Include="ProjectData\ProjectUser.aspx" />
<Content Include="ProjectData\ProjectUserContact.aspx" />
<Content Include="ProjectData\ProjectUserSave.aspx" />
<Content Include="ProjectData\ProjectUserSelect.aspx" />
<Content Include="ProjectData\ProjectUserView.aspx" />
@ -14293,6 +14295,13 @@
<Compile Include="JDGL\CostAnalysis\RectificationMeasureSet.aspx.designer.cs">
<DependentUpon>RectificationMeasureSet.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\Progress\WbsManager.aspx.cs">
<DependentUpon>WbsManager.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="JDGL\Progress\WbsManager.aspx.designer.cs">
<DependentUpon>WbsManager.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\WBSCompleteAndReal\WBSCompleteAudit.aspx.cs">
<DependentUpon>WBSCompleteAudit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -15357,6 +15366,13 @@
<Compile Include="ProjectData\ProjectUser.aspx.designer.cs">
<DependentUpon>ProjectUser.aspx</DependentUpon>
</Compile>
<Compile Include="ProjectData\ProjectUserContact.aspx.cs">
<DependentUpon>ProjectUserContact.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProjectData\ProjectUserContact.aspx.designer.cs">
<DependentUpon>ProjectUserContact.aspx</DependentUpon>
</Compile>
<Compile Include="ProjectData\ProjectUserSave.aspx.cs">
<DependentUpon>ProjectUserSave.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -19313,7 +19329,7 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -0,0 +1,223 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WbsManager.aspx.cs" Inherits="FineUIPro.Web.JDGL.Progress.WbsManager" %>
<!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>
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.row-grid-disabled .f-grid-cell-inner {
opacity: .5;
filter: alpha(opacity=50);
}
.f-grid-row.orange, .f-grid-row.orange .ui-icon, .f-grid-row.orange a {
background-color: Orange;
color: #fff;
}
.f-grid-row.red, .f-grid-row.red .ui-icon, .f-grid-row.red a {
background-color: Red;
color: #fff;
}
.customlabel span {
color: red;
font-weight: bold;
}
.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="20px" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true" RegionSplitWidth="3px" EnableCollapse="true"
Width="300px" Title="费用项裁剪设置" ShowBorder="true" ShowHeader="true" BodyPadding="10px" Layout="Fit">
<Items>
<f:Tree ID="trWBS" Width="290" 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>
<f:HiddenField runat="server" ID="hdType">
</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" ForceFit="true"
runat="server" BoxFlex="1" DataKeyNames="CostControlId" AllowSorting="true" EnableColumnLines="true" EnableCheckBoxSelect="true"
SortField="CostControlCode,CostControlName" SortDirection="ASC" AllowCellEditing="true" ClicksToEdit="1" ShowSelectedCell="true"
DataIDField="CostControlId" AllowPaging="true" IsDatabasePaging="true" PageSize="100" OnPageIndexChange="Grid1_PageIndexChange"
OnRowDataBound="Grid1_RowDataBound" AllowFilters="true" OnFilterChange="Grid1_FilterChange">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="btnAdd" Icon="Add" runat="server" ToolTip="增加" Hidden="true"
OnClick="btnAdd_Click">
</f:Button>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" Hidden="true" OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RenderField Width="100px" ColumnID="CostControlCode" DataField="CostControlCode" FieldType="String"
HeaderText="费用清单编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="400px" ColumnID="CostControlName" DataField="CostControlName" FieldType="String"
HeaderText="内容" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="EquipmentMaterialTypeName" DataField="EquipmentMaterialTypeName" FieldType="String"
HeaderText="设备材料分类" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="70px" ColumnID="Unit" DataField="Unit" FieldType="String"
HeaderText="单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<%--<f:RenderField Width="130px" ColumnID="TotalNum" DataField="TotalNum" FieldType="Double"
HeaderText="合同工作量" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
<f:NumberBox ID="nbTotalNum" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealPrice" DataField="RealPrice" FieldType="Double"
HeaderText="实际单价" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
<f:NumberBox ID="nbRealPrice" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanPrice" DataField="PlanPrice" FieldType="Double"
HeaderText="预算单价" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
<f:NumberBox ID="nbPlanPrice" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>--%>
<f:RenderField Width="70px" ColumnID="CostControlId" DataField="CostControlId" FieldType="String"
HeaderText="主键" HeaderTextAlign="Center" TextAlign="Left" Hidden="true">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="100" Value="100" />
<f:ListItem Text="200" Value="200" />
<f:ListItem Text="300" Value="300" />
<f:ListItem Text="400" Value="400" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Self" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
Width="800px" Height="350px">
</f:Window>
<f:Window ID="Window2" Title="拷贝" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Self" EnableResize="true" runat="server" OnClose="Window2_Close" IsModal="true"
Width="800px" Height="450px">
</f:Window>
<f:Window ID="Window3" Title="编辑" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" Width="800px" OnClose="Window3_Close"
Height="350px">
</f:Window>
<f:Window ID="Window4" Title="设置计划" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" Width="800px"
Height="550px">
</f:Window>
<f:Menu ID="Menu2" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Hidden="true" Text="修改" Icon="Pencil"
OnClick="btnMenuModify_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Hidden="true" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click">
</f:MenuButton>
</Items>
</f:Menu>
</form>
<script type="text/javascript">
var treeID = '<%= trWBS.ClientID %>';
var menuID2 = '<%= Menu2.ClientID %>';
var btn = '<%= btnSave.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID2).show(); //showAt(event.pageX, event.pageY);
return false;
}
// 保存当前菜单对应的树节点ID
var currentNodeId;
// 返回false来阻止浏览器右键菜单
function onTreeNodeContextMenu(event, nodeId) {
currentNodeId = nodeId;
F(menuID).show();
return false;
}
function show() {
F(btn).click();
}
// 设置所有菜单项的禁用状态
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);
}
}
}
function updateDate() {
// 回发到后台更新
__doPostBack('', 'UPDATE_Date');
}
</script>
</body>
</html>

View File

@ -0,0 +1,277 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Progress
{
public partial class WbsManager : PageBase
{
#region
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
InitTreeMenu();
}
}
private void InitTreeMenu() {
}
#endregion
#region
/// <summary>
/// 树节点展开
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e) {
}
#endregion
#region Tree点击事件
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
{
}
#endregion
#region
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("保存成功!", MessageBoxIcon.Success);
//getWBSSet();
}
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("拷贝成功!", MessageBoxIcon.Success);
}
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window3_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
#endregion
#region
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (Grid1.Rows.Count > 0)
{
JArray mergedData = Grid1.GetMergedData();
bool isPass = true;
if (isPass)
{
foreach (var item in this.Grid1.SelectedRowIDArray)
{
Model.WBS_CostControl costControl = BLL.CostControlService.GetCostControlByCostControlId(item);
}
foreach (JObject mergedRow in mergedData)
{
JObject values = mergedRow.Value<JObject>("values");
string costControlId = values.Value<string>("CostControlId");
//string totalNum = values.Value<string>("TotalNum");
//string realPrice = values.Value<string>("RealPrice");
//string planPrice = values.Value<string>("PlanPrice");
Model.WBS_CostControl costControl = BLL.CostControlService.GetCostControlByCostControlId(costControlId);
if (this.Grid1.SelectedRowIDArray.Contains(costControlId))
{
costControl.IsSelected = true;
}
else
{
costControl.IsSelected = false;
}
BLL.CostControlService.UpdateCostControl(costControl);
}
}
BindGrid();
}
Alert.ShowInTop("保存成功!", MessageBoxIcon.Success);
}
#endregion
#region
private string upStartDate = string.Empty;
private string upEndDate = string.Empty;
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
string id = e.RowID;
}
/// <summary>
/// 绑定数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
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)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
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()
{
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WBSSetAuditMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnAdd.Hidden = false;
//this.btnMenuDetail.Hidden = false;
//this.btnMenuWeekDetail.Hidden = false;
//this.btnMenuCopy2.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
//if (buttonList.Contains(BLL.Const.BtnAuditing))
//{
// this.btnMenuAudit.Hidden = false;
//}
}
}
#endregion
#region
/// <summary>
/// 增加费控项
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e) {
if (!string.IsNullOrEmpty(trWBS.SelectedNodeID))
{
this.hdSelectId.Text = this.trWBS.SelectedNodeID;
Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(this.trWBS.SelectedNodeID);
if (wbsSet != null)
{
var list = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(this.trWBS.SelectedNodeID);
if (list.Count == 0)
{
string openUrl = String.Format("CostControlEdit.aspx?operating=add&Id={0}", trWBS.SelectedNodeID, "增加 - ");
PageContext.RegisterStartupScript(Window3.GetShowReference(openUrl));
}
else
{
ShowNotify("请选择工作项节点进行增加!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择工作项节点进行增加!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
}
}
#endregion
}
}

View File

@ -0,0 +1,215 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Progress
{
public partial class WbsManager
{
/// <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>
/// hdType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdType;
/// <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>
/// btnAdd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAdd;
/// <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;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// Window3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window3;
/// <summary>
/// Window4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window4;
/// <summary>
/// Menu2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu2;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDel;
}
}

View File

@ -0,0 +1,187 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectUserContact.aspx.cs" Inherits="FineUIPro.Web.ProjectData.ProjectUserContact" %>
<!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.red
{
background-color: #FF7575;
background-image: none;
}
.fontred
{
color: #FF7575;
background-image: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch" >
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="项目用户"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" ForceFit="true"
DataKeyNames="ProjectUserId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="ProjectUserId"
AllowSorting="true" SortField="UserName" SortDirection="ASC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="用户名称" ID="txtUserName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="200px" LabelWidth="80px"></f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="UserName" DataField="UserName" SortField="UserName"
FieldType="String" HeaderText="用户名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Telephone" DataField="Telephone" SortField="Telephone"
FieldType="String" HeaderText="联系电话" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="RoleName" DataField="RoleName" SortField="RoleName"
FieldType="String" HeaderText="项目角色" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="WorkPostName" DataField="WorkPostName" SortField="WorkPostName"
FieldType="String" HeaderText="项目岗位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:TemplateField Width="60px" ColumnID="Actions">
<ItemTemplate>
<a class="action call" href="javascript:;">
拨号
</a>
&nbsp;&nbsp;
<a class="action hangup" href="javascript:;">
挂断
</a>
</ItemTemplate>
</f:TemplateField>
</Columns>
<Listeners>
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<audio id="audio" style="visibility: hidden;" src="" controls="controls">
Your browser does not support the audio element.
</audio>
</form>
<script src="../res/js/jssip-3.7.0.min.js"></script>
<script src="../res/js/mixrtc.min.js"></script>
<script type="text/javascript">
F.ready(function () {
var gridClientID = '<%= Grid1.ClientID %>';
function change(value, CallInPhone = false) {
var classname = {
CallOut: 'label-warning', // 呼出振铃状态
CallIn: 'label-warning', // 呼入振铃状态
Calling: 'label-info', // 通话中
Ended: 'label-success', // 挂断
Failed: 'label-default', // 失败
}
//var status = $('#status')
//status.removeClass()
//status.addClass('label')
//status.addClass(classname[value])
//status.text(value)
//if (CallInPhone != false) {
// $('#callin').text(CallInPhone)
//}
}
var audio = $('#audio')[0]
var Configs = {
audioConfigs: {
audio: audio, // audio的对象
ringout: '../res/wav/ringout.wav', // 呼出振铃的音频地址
ringin: '../res/wav/ringin.wav', // 呼入的振铃音频地址
hangup: '../res/wav/dududu.wav',
}, // 录音音频配置
changeStatus: change, // 通话状态的变动回调
debug: false, // sip信令debug排查
}
var rtc = new WebRTC(Configs);
rtc.WebSocket('wss://demo1.mixcom.cn:8089/ws')
// 注册分机
function registered () {
var extension = '2008'
var password = 'r5yMCjxxxaHQtMXZ'
if (!extension || !password) {
alert("提示: 分机号码和密码不能为空!")
}
rtc.register({
extension: extension,
password: password,
sipserver: 'pri-local-dev02.mixcom.cn',
})
}
//// 注销分机
//$('#unregistered').click(function () {
// rtc.unregister()
//})
registered();
var grid = F(gridClientID);
grid.el.on('click', '.f-grid-cell-Actions .action.call', function (event) {
var targetEl = $(this);
var rowEl = targetEl.parents('.f-grid-row');
var rowData = grid.getRowData(rowEl);
var phone = rowData.values.Telephone + '' ;
rtc.call(phone);
});
grid.el.on('click', '.f-grid-cell-Actions .action.hangup', function (event) {
rtc.hangup()
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,154 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.ProjectData
{
public partial class ProjectUserContact : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
////权限按钮方法
this.GetButtonPower();
}
}
#endregion
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @" SELECT DISTINCT ProjectUser.ProjectUserId, Users.UserName,Users.Telephone, WorkPost.WorkPostName
,RoleName= STUFF(( SELECT ',' + RoleName FROM dbo.Sys_Role where PATINDEX('%,' + RTRIM(RoleId) + ',%',',' +ProjectUser.RoleId + ',')>0 FOR XML PATH('')), 1, 1,'')
FROM Project_ProjectUser AS ProjectUser
LEFT JOIN Sys_User AS Users ON ProjectUser.UserId = Users.UserId
LEFT JOIN SitePerson_Person AS Person ON ProjectUser.ProjectId =Person.ProjectId AND Users.IdentityCard = Person.IdentityCard
LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId
where ProjectUser.ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
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>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
this.GetButtonPower();
}
#endregion
protected string ConvertTelephone(object WorkAreaId)
{
if (WorkAreaId != null)
return WorkAreaId.ToString();
else
return "";
}
}
}

View File

@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ProjectData
{
public partial class ProjectUserContact
{
/// <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>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtUserName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUserName;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <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;
}
}

View File

@ -94,8 +94,6 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="A" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_A_Count" DataField="Cat_A_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
@ -227,12 +225,13 @@
EnableRowDoubleClickEvent="true" EnableTextSelection="true" EnableSummary="true">
<Columns>
<f:BoundField TextAlign="Center" ColumnID="System_No" DataField="System_No" HeaderText="System No." minWidth="80px" />
<f:BoundField TextAlign="Center" ColumnID="System_No" DataField="System_No" HeaderText="System No" Width="90px" />
<f:GroupField HeaderText="总体情况" TextAlign="Center" >
<Columns>
<f:RenderField Width="50px" ColumnID="allCount" DataField="allCount" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="allfinshedCount" DataField="allfinshedCount" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="allCountPercent" DataField="allCountPercent" HeaderText="完成率(%)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="allWUH" DataField="allWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="allBASF" DataField="allBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
@ -244,6 +243,7 @@
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_A_Count" DataField="Cat_A_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_A_Countf" DataField="Cat_A_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_A_CountPercent" DataField="Cat_A_CountPercent" HeaderText="完成率(%)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_A_CountWUH" DataField="Cat_A_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_A_CountBASF" DataField="Cat_A_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
@ -253,6 +253,7 @@
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_B_Count" DataField="Cat_B_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_B_Countf" DataField="Cat_B_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_B_CountPercent" DataField="Cat_B_CountPercent" HeaderText="完成率(%)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_B_CountWUH" DataField="Cat_B_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_B_CountBASF" DataField="Cat_B_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
@ -262,6 +263,7 @@
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_C_Count" DataField="Cat_C_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_C_Countf" DataField="Cat_C_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_C_CountPercent" DataField="Cat_C_CountPercent" HeaderText="完成率(%)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_C_CountWUH" DataField="Cat_C_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_C_CountBASF" DataField="Cat_C_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>
@ -271,6 +273,7 @@
<Columns>
<f:RenderField Width="50px" ColumnID="Cat_D_Count" DataField="Cat_D_Count" HeaderText="总数" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="70px" ColumnID="Cat_D_Countf" DataField="Cat_D_Countf" HeaderText="已完成" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_D_CountPercent" DataField="Cat_D_CountPercent" HeaderText="完成率(%)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="90px" ColumnID="Cat_D_CountWUH" DataField="Cat_D_CountWUH" HeaderText="Confirmed<br/>(WUH)" TextAlign="Center" FieldType="Double" />
<f:RenderField Width="80px" ColumnID="Cat_D_CountBASF" DataField="Cat_D_CountBASF" HeaderText="Verified<br/>(BASF)" TextAlign="Center" FieldType="Double" />
</Columns>

View File

@ -79,7 +79,7 @@ namespace FineUIPro.Web.Transfer.Chart
{
#region 30
var nowDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));
for (var i = nowDate.AddDays(-30); i <= nowDate; i=i.AddDays(1))
for (var i = nowDate.AddDays(-30); i <= nowDate; i = i.AddDays(1))
{
//i是日期
@ -87,7 +87,7 @@ namespace FineUIPro.Web.Transfer.Chart
DateTime startTime = Convert.ToDateTime(i.ToString("yyyy-MM-dd") + " 00:00:00");
DateTime endTime = Convert.ToDateTime(i.ToString("yyyy-MM-dd") + " 23:59:59");
//当天计划完成量
var dtjhwcl= forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
var dtjhwcl = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
wcl1 += "'" + dtjhwcl + "',";
//当天实际完成量
var dtsjwcl = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
@ -96,12 +96,12 @@ namespace FineUIPro.Web.Transfer.Chart
var ljjhwcl = forms.Where(x => x.Required_Date <= endTime).Count();
wcl3 += "'" + ljjhwcl + "',";
//累计实际完成量
var ljsjwcl= forms.Where(x => x.Actual_Date <= endTime).Count();
var ljsjwcl = forms.Where(x => x.Actual_Date <= endTime).Count();
wcl4 += "'" + ljsjwcl + "',";
AllxDate += "'"+ d + "',";
AllxDate += "'" + d + "',";
}
if (AllxDate.Length>0)
if (AllxDate.Length > 0)
{
AllxDate = AllxDate.Substring(0, AllxDate.Length - 1);
wcl1 = wcl1.Substring(0, wcl1.Length - 1);
@ -403,7 +403,7 @@ namespace FineUIPro.Web.Transfer.Chart
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf+= Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_Countf += Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
@ -604,7 +604,7 @@ namespace FineUIPro.Web.Transfer.Chart
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex ==0)
if (TabStrip1.ActiveTabIndex == 0)
{
ddlSystemNo.Hidden = true;
ddlDateType.Hidden = true;
@ -636,7 +636,8 @@ namespace FineUIPro.Web.Transfer.Chart
BtnAnalyse.Hidden = false;
BindGrid3();
}
else {
else
{
this.AnalyseData();
ddlSystemNo.Hidden = false;
ddlDateType.Hidden = false;
@ -667,14 +668,14 @@ namespace FineUIPro.Web.Transfer.Chart
strSql.AppendLine(@" select System_No,
cast(0 as decimal(18, 2)) Cat_A_Count,
cast(0 as decimal(18, 2)) Cat_A_Countf, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_A_Countf,cast(0 as decimal(18, 2)) Cat_A_CountPercent, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Count,
cast(0 as decimal(18, 2)) Cat_B_Countf, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Countf,cast(0 as decimal(18, 2)) Cat_B_CountPercent, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Count,
cast(0 as decimal(18, 2)) Cat_C_Countf, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Countf,cast(0 as decimal(18, 2)) Cat_C_CountPercent, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_D_Count,
cast(0 as decimal(18, 2)) Cat_D_Countf, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount, cast(0 as decimal(18, 2)) allfinshedCount, cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
cast(0 as decimal(18, 2)) Cat_D_Countf,cast(0 as decimal(18, 2)) Cat_D_CountPercent, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount,cast(0 as decimal(18, 2)) allfinshedCount,cast(0 as decimal(18, 2)) allCountPercent,cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
INTO #PunchlistFromProgressTemp
from #AllPunchlistFromProgressTemp Group by System_No; ");
strSql.AppendLine(@" update a set
@ -710,6 +711,13 @@ namespace FineUIPro.Web.Transfer.Chart
from #PunchlistFromProgressTemp a;");
strSql.AppendLine(@" update a set
a.Cat_A_CountPercent=(case ISNULL(a.Cat_A_Count,0) when 0 then 0 else CONVERT(DECIMAL(10,2),100*(ISNULL(a.Cat_A_Countf,0)*1.0/ISNULL(a.Cat_A_Count,0))) end ),
a.Cat_B_CountPercent=(case ISNULL(a.Cat_B_Count,0) when 0 then 0 else CONVERT(DECIMAL(10,2),100*(ISNULL(a.Cat_B_Countf,0)*1.0/ISNULL(a.Cat_B_Count,0))) end ),
a.Cat_C_CountPercent=(case ISNULL(a.Cat_C_Count,0) when 0 then 0 else CONVERT(DECIMAL(10,2),100*(ISNULL(a.Cat_C_Countf,0)*1.0/ISNULL(a.Cat_C_Count,0))) end ),
a.Cat_D_CountPercent=(case ISNULL(a.Cat_D_Count,0) when 0 then 0 else CONVERT(DECIMAL(10,2),100*(ISNULL(a.Cat_D_Countf,0)*1.0/ISNULL(a.Cat_D_Count,0))) end ),
a.allCountPercent=(case ISNULL(a.allCount,0) when 0 then 0 else CONVERT(DECIMAL(10,2),100*(ISNULL(a.allfinshedCount,0)*1.0/ISNULL(a.allCount,0))) end )
from #PunchlistFromProgressTemp a; ");
strSql.AppendLine(" select * from #PunchlistFromProgressTemp ");
List<SqlParameter> listStr = new List<SqlParameter>();
@ -734,13 +742,14 @@ namespace FineUIPro.Web.Transfer.Chart
Cat_C_Countf = 0, Cat_C_CountWUH = 0, Cat_C_CountBASF = 0,
Cat_D_Countf = 0, Cat_D_CountWUH = 0, Cat_D_CountBASF = 0,
allCount = 0, allfinshedCount = 0, allWUH = 0, allBASF = 0;
foreach (DataRow row in tb.Rows)
{
cat_A_Count += Convert.ToInt32(row["Cat_A_Count"]);
cat_B_Count += Convert.ToInt32(row["Cat_B_Count"]);
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf += Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
@ -763,6 +772,11 @@ namespace FineUIPro.Web.Transfer.Chart
allBASF += Convert.ToInt32(row["allBASF"]);
}
var Cat_A_CountPercent = 100 * ((float)Cat_A_Countf / (float)cat_A_Count);
var Cat_B_CountPercent = 100 * ((float)Cat_B_Countf / (float)cat_B_Count);
var Cat_C_CountPercent = 100 * ((float)Cat_C_Countf / (float)cat_C_Count);
var Cat_D_CountPercent = 100 * ((float)Cat_D_Countf / (float)cat_D_Count);
var allCountPercent = 100 * ((float)allfinshedCount / (float)allCount);
JObject summary = new JObject();
summary.Add("System_No", "合计");
@ -772,27 +786,31 @@ namespace FineUIPro.Web.Transfer.Chart
summary.Add("Cat_D_Count", cat_D_Count.ToString());
summary.Add("Cat_A_Countf", Cat_A_Countf.ToString());
summary.Add("Cat_A_CountPercent", Cat_A_CountPercent.ToString("F2"));
summary.Add("Cat_A_CountWUH", Cat_A_CountWUH.ToString());
summary.Add("Cat_A_CountBASF", Cat_A_CountBASF.ToString());
summary.Add("Cat_B_Countf", Cat_B_Countf.ToString());
summary.Add("Cat_B_CountPercent", Cat_B_CountPercent.ToString("F2"));
summary.Add("Cat_B_CountWUH", Cat_B_CountWUH.ToString());
summary.Add("Cat_B_CountBASF", Cat_B_CountBASF.ToString());
summary.Add("Cat_C_Countf", Cat_C_Countf.ToString());
summary.Add("Cat_C_CountPercent", Cat_C_CountPercent.ToString("F2"));
summary.Add("Cat_C_CountWUH", Cat_C_CountWUH.ToString());
summary.Add("Cat_C_CountBASF", Cat_C_CountBASF.ToString());
summary.Add("Cat_D_Countf", Cat_D_Countf.ToString());
summary.Add("Cat_D_CountPercent", Cat_D_CountPercent.ToString("F2"));
summary.Add("Cat_D_CountWUH", Cat_D_CountWUH.ToString());
summary.Add("Cat_D_CountBASF", Cat_D_CountBASF.ToString());
summary.Add("allCount", allCount.ToString());
summary.Add("allfinshedCount", allfinshedCount.ToString());
summary.Add("allCountPercent", allCountPercent.ToString("F2"));
summary.Add("allWUH", allWUH.ToString());
summary.Add("allBASF", allBASF.ToString());
Grid3.SummaryData = summary;
}

View File

@ -36,7 +36,7 @@
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
<f:TemplateField ColumnID="tfPageIndex" Width="50px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="true">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
@ -48,27 +48,40 @@
<f:RenderField ColumnID="SystemNo" DataField="SystemNo"
FieldType="String" HeaderText="SystemNo" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="120px" EnableLock="true" Locked="true">
HeaderTextAlign="Center" Width="90px" EnableLock="true" Locked="true">
</f:RenderField>
<f:RenderField MinWidth="120px" ColumnID="PlanPWD" DataField="PlanPWD"
<f:RenderField MinWidth="100px" ColumnID="PlanPWD" DataField="PlanPWD"
HeaderText="Plan PWD<br/>计划PWD" TextAlign="Center"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" EnableLock="true" Locked="true"/>
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" EnableLock="true" Locked="true" />
<f:RenderField MinWidth="120px" ColumnID="PlanPWD" DataField="PlanPWD"
<f:RenderField MinWidth="110px" ColumnID="PlanPWD" DataField="PlanPWD"
HeaderText="Plan JWD<br/>计划联合检查" TextAlign="Center"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" EnableLock="true" Locked="true"/>
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" EnableLock="true" Locked="true" />
<f:RenderField MinWidth="120px" ColumnID="PlanPWD" DataField="PlanPWD"
<f:RenderField MinWidth="100px" ColumnID="PlanPWD" DataField="PlanPWD"
HeaderText="MC Plan<br/>MC 计划" TextAlign="Center"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" EnableLock="true" Locked="true"/>
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" EnableLock="true" Locked="true" />
<f:GroupField HeaderText="Piping<br/>管道测试包" TextAlign="Center" MinWidth="200px">
<f:GroupField HeaderText="Welding<br/>管道焊接信息" TextAlign="Center" MinWidth="160px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="PipingCount" DataField="PipingCount"
<f:RenderField MinWidth="30px" ColumnID="TotalFactor" DataField="TotalFactor"
HeaderText="总达因数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="CompleteFactor" DataField="CompleteFactor"
HeaderText="完成达因数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="CompleteProportion" DataField="CompleteProportion"
HeaderText="完成率(%)" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Piping<br/>管道试压包" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="30px" ColumnID="PipingCount" DataField="PipingCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="PipingScount" DataField="PipingScount"
<f:RenderField MinWidth="30px" ColumnID="PipingScount" DataField="PipingScount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="PipingPercent" DataField="PipingPercent"
@ -76,12 +89,25 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Equipment<br/>设备测试包" TextAlign="Center" MinWidth="200px">
<f:GroupField HeaderText="Reinstate<br/>管道冲洗吹扫&复位信息" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="EqCount" DataField="EqCount"
<f:RenderField MinWidth="30px" ColumnID="ReinstateCount" DataField="ReinstateCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="EqSCount" DataField="EqSCount"
<f:RenderField MinWidth="30px" ColumnID="ReinstateScount" DataField="ReinstateScount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="ReinstatePercent" DataField="ReinstatePercent"
HeaderText="完成率(%)" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Equipment<br/>设备测试包" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="30px" ColumnID="EqCount" DataField="EqCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="30px" ColumnID="EqSCount" DataField="EqSCount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="EqPercent" DataField="EqPercent"
@ -89,12 +115,12 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Electric<br/>电气测试包" TextAlign="Center" MinWidth="200px">
<f:GroupField HeaderText="Electric<br/>电气测试包" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="TeCount" DataField="TeCount"
<f:RenderField MinWidth="30px" ColumnID="TeCount" DataField="TeCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="TeScount" DataField="TeScount"
<f:RenderField MinWidth="30px" ColumnID="TeScount" DataField="TeScount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="TePercent" DataField="TePercent"
@ -102,12 +128,12 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="instrument<br/>仪表测试包" TextAlign="Center" MinWidth="200px">
<f:GroupField HeaderText="instrument<br/>仪表测试包" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="TiCount" DataField="TiCount"
<f:RenderField MinWidth="30px" ColumnID="TiCount" DataField="TiCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="TiScount" DataField="TiScount"
<f:RenderField MinWidth="30px" ColumnID="TiScount" DataField="TiScount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="TiPercent" DataField="TiPercent"
@ -115,12 +141,12 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Civil/Structure<br/>土建/建筑/结构测试包" TextAlign="Center" MinWidth="200px">
<f:GroupField HeaderText="Civil/Structure<br/>土建/建筑/结构测试包" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="TcsCount" DataField="TcsCount"
<f:RenderField MinWidth="30px" ColumnID="TcsCount" DataField="TcsCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="TcsScount" DataField="TcsScount"
<f:RenderField MinWidth="30px" ColumnID="TcsScount" DataField="TcsScount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="TcsPercent" DataField="TcsPercent"
@ -128,12 +154,12 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Firefighting<br/>消防测试包" TextAlign="Center" MinWidth="200px">
<f:GroupField HeaderText="Firefighting<br/>消防测试包" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="TfCount" DataField="TfCount"
<f:RenderField MinWidth="30px" ColumnID="TfCount" DataField="TfCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="TfScount" DataField="TfScount"
<f:RenderField MinWidth="30px" ColumnID="TfScount" DataField="TfScount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="TfPercent" DataField="TfPercent"
@ -141,12 +167,12 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Telecom<br/>电信测试包" TextAlign="Center" MinWidth="200px">
<f:GroupField HeaderText="Telecom<br/>电信测试包" TextAlign="Center" MinWidth="140px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="TtCount" DataField="TtCount"
<f:RenderField MinWidth="30px" ColumnID="TtCount" DataField="TtCount"
HeaderText="总数" TextAlign="Center" />
<f:RenderField MinWidth="50px" ColumnID="TtScount" DataField="TtScount"
<f:RenderField MinWidth="30px" ColumnID="TtScount" DataField="TtScount"
HeaderText="完成数" TextAlign="Center" />
<f:RenderField MinWidth="80px" ColumnID="TtPercent" DataField="TtPercent"
@ -154,7 +180,7 @@
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Plumbing<br/>地管测试包" TextAlign="Center" MinWidth="200px">
<%--<f:GroupField HeaderText="Plumbing<br/>地管测试包" TextAlign="Center" MinWidth="200px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="TpCount" DataField="TpCount"
HeaderText="总数" TextAlign="Center" />
@ -165,23 +191,31 @@
<f:RenderField MinWidth="80px" ColumnID="TpPercent" DataField="TpPercent"
HeaderText="完成率(%)" TextAlign="Center" />
</Columns>
</f:GroupField>
</f:GroupField>--%>
<f:TemplateField ColumnID="Count4" minWidth="120px" HeaderText="Total<br/>completion<br/>percentage<br/>总完成率(%" HeaderTextAlign="Center" TextAlign="Right">
<f:TemplateField ColumnID="Count4" MinWidth="120px" HeaderText="Total<br/>completion<br/>percentage<br/>总完成率(%" HeaderTextAlign="Center" TextAlign="Right">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# totalper(Eval("SystemNo")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField MinWidth="140px" ColumnID="SubmitPackage" DataField="SubmitPackage"
<f:RenderField MinWidth="120px" ColumnID="ElectricHeatTracing" DataField="ElectricHeatTracing"
HeaderText="electric heat<br/> tracing<br/>电伴热 " TextAlign="Center"
FieldType="String" />
<f:RenderField MinWidth="120px" ColumnID="Insulation" DataField="Insulation"
HeaderText="Insulation<br/>保温/冷 " TextAlign="Center"
FieldType="String" />
<f:RenderField MinWidth="130px" ColumnID="SubmitPackage" DataField="SubmitPackage"
HeaderText="Submit Package<br/>系统包提交 " TextAlign="Center"
FieldType="String"/>
FieldType="String" />
<f:RenderField MinWidth="120px" ColumnID="ActualPWD" DataField="ActualPWD"
HeaderText="Actual PWD<br/>实际预联合检查" TextAlign="Center"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" />
<f:GroupField HeaderText="PWD Punch items <br/>outstanding 未完成数" TextAlign="Center" MinWidth="200px">
<%--<f:GroupField HeaderText="PWD Punch items <br/>outstanding 未完成数" TextAlign="Center" MinWidth="200px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="pwdACount" DataField="pwdACount"
HeaderText="A" TextAlign="Center" />
@ -192,7 +226,7 @@
<f:RenderField MinWidth="50px" ColumnID="pwdCCount" DataField="pwdCCount"
HeaderText="C" TextAlign="Center" />
</Columns>
</f:GroupField>
</f:GroupField>--%>
<f:RenderField MinWidth="120px" ColumnID="ActualJWD" DataField="ActualJWD"
@ -200,7 +234,7 @@
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" />
<f:GroupField HeaderText="FWD Punch items <br/>outstanding 未完成数" TextAlign="Center" MinWidth="200px">
<%--<f:GroupField HeaderText="FWD Punch items <br/>outstanding 未完成数" TextAlign="Center" MinWidth="200px">
<Columns>
<f:RenderField MinWidth="50px" ColumnID="fwdACount" DataField="fwdACount"
HeaderText="A" TextAlign="Center" />
@ -211,7 +245,7 @@
<f:RenderField MinWidth="50px" ColumnID="fwdCCount" DataField="fwdCCount"
HeaderText="C" TextAlign="Center" />
</Columns>
</f:GroupField>
</f:GroupField>--%>
<f:RenderField MinWidth="120px" ColumnID="ActualMC" DataField="ActualMC"
@ -221,27 +255,27 @@
<f:RenderField MinWidth="120px" ColumnID="Commissioning" DataField="Commissioning"
HeaderText="Commissioning<br/>试运行 " TextAlign="Center"
FieldType="String"/>
FieldType="String" />
<f:RenderField MinWidth="120px" ColumnID="IaQian" DataField="IaQian"
HeaderText="IA签署 " TextAlign="Center"
FieldType="String"/>
FieldType="String" />
<f:RenderField MinWidth="120px" ColumnID="TcccQ" DataField="TcccQ"
HeaderText="TCCC签署" TextAlign="Center"
FieldType="String"/>
FieldType="String" />
<f:RenderField MinWidth="120px" ColumnID="SystemStatus" DataField="SystemStatus"
HeaderText="System Status<br/>系统状态 " TextAlign="Center"
FieldType="String"/>
FieldType="String" />
<f:RenderField MinWidth="160px" ColumnID="TurnoverDescription" DataField="TurnoverDescription"
HeaderText="Turnover Description" TextAlign="Center"
FieldType="String"/>
FieldType="String" />
<f:RenderField MinWidth="120px" ColumnID="Remark" DataField="Remark"
HeaderText="Remark<br/>备注" TextAlign="Center"
FieldType="String"/>
FieldType="String" />
</Columns>
<Listeners>

View File

@ -47,10 +47,15 @@ namespace FineUIPro.Web.Transfer.Chart
{
string strSql = @"
select f.SystemNo,f.ProjectId,
pp.TotalFactor,pp.CompleteFactor,pp.CompleteProportion,pp.ElectricHeatTracing,pp.Insulation,
ISNULL(tpi.PipingCount,0) PipingCount,ISNULL(tpi1.PipingScount,0) PipingScount,
case ISNULL(tpi.PipingCount,0)
when 0 then 0
else CONVERT(DECIMAL(10,2),100*(ISNULL(tpi1.PipingScount,0)*1.0/ISNULL(tpi.PipingCount,0))) end PipingPercent,
ISNULL(tpi.PipingCount,0) ReinstateCount,ISNULL(tpi2.ReinstateScount,0) ReinstateScount,
case ISNULL(tpi.PipingCount,0)
when 0 then 0
else CONVERT(DECIMAL(10,2),100*(ISNULL(tpi2.ReinstateScount,0)*1.0/ISNULL(tpi.PipingCount,0))) end ReinstatePercent,
ISNULL((TseCount+TreCount),0) as EqCount,ISNULL((TseSCount+TreSCount),0) as EqScount,
case ISNULL((TseCount+TreCount),0)
@ -82,22 +87,17 @@ namespace FineUIPro.Web.Transfer.Chart
when 0 then 0
else CONVERT(DECIMAL(10,2),100*(ISNULL(TtScount,0)*1.0/ISNULL(TtCount,0))) end TtPercent,
ISNULL(TpCount,0) TpCount,ISNULL(TpScount,0) TpScount,
case ISNULL(TpCount,0)
when 0 then 0
else CONVERT(DECIMAL(10,2),100*(ISNULL(TpScount,0)*1.0/ISNULL(TpCount,0))) end TpPercent,
ts.PlanPWD,PlanJWD,McPlan,
SubmitPackage,ActualPWD,ActualJWD,ActualMC,Commissioning,
IaQian,TcccQ,SystemStatus,TurnoverDescription,ts.Remark,
ISNULL(pwdACount,0) pwdACount,ISNULL(pwdBCount,0) pwdBCount,ISNULL(pwdCCount,0) pwdCCount,
ISNULL(fwdACount,0) fwdACount,ISNULL(fwdBCount,0) fwdBCount,ISNULL(fwdCCount,0) fwdCCount
IaQian,TcccQ,SystemStatus,TurnoverDescription,ts.Remark
from(
SELECT SystemNo,ProjectId FROM Transfer_LHCSystemList group by SystemNo,ProjectId
) f
left join Transfer_SystemControl ts on f.ProjectId=ts.ProjectId and f.SystemNo=ts.SystemNo
--piping
left join Transfer_Piping pp on f.ProjectId=pp.ProjectId and f.SystemNo=pp.SYSTEM
left join (select count(*)as PipingCount,ProjectId,SYSTEM from Transfer_Piping
group by ProjectId,SYSTEM)
tpi on f.ProjectId=tpi.ProjectId and f.SystemNo=tpi.SYSTEM
@ -105,6 +105,11 @@ namespace FineUIPro.Web.Transfer.Chart
left join (select count(*)as PipingScount,ProjectId,SYSTEM from Transfer_Piping where FINALStatus='Completed'
group by ProjectId,SYSTEM)
tpi1 on f.ProjectId=tpi1.ProjectId and f.SystemNo=tpi1.SYSTEM
left join (select count(*)as ReinstateScount,ProjectId,SYSTEM from Transfer_Piping where RinseAndBlowClean='Completed' and Reduction='Completed'
group by ProjectId,SYSTEM)
tpi2 on f.ProjectId=tpi2.ProjectId and f.SystemNo=tpi2.SYSTEM
--
left join (select count(*)as TseCount,ProjectId,SYSTEM from Transfer_StaticEquipment
group by ProjectId,SYSTEM)
@ -167,40 +172,169 @@ namespace FineUIPro.Web.Transfer.Chart
group by ProjectId,SystemName)
Tt1 on f.ProjectId=Tt1.ProjectId and f.SystemNo=Tt1.SystemName
--Transfer_Plumbing
left join (select count(*)as TpCount,ProjectId,SystemName from Transfer_Plumbing
group by ProjectId,SystemName)
tp on f.ProjectId=tp.ProjectId and f.SystemNo=tp.SystemName
left join (select count(*)as TpScount,ProjectId,SystemName from Transfer_Plumbing where FINAL_Status='Completed'
group by ProjectId,SystemName)
tp1 on f.ProjectId=tp1.ProjectId and f.SystemNo=tp1.SystemName
left join (select count(*) as pwdACount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
and Punch_Type='PWD' and Cat='A' group by ProjectId,System_No)
tpA on f.ProjectId=tpA.ProjectId and f.SystemNo=tpA.System_No
left join (select count(*) as pwdBCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
and Punch_Type='PWD' and Cat='B' group by ProjectId,System_No)
tpB on f.ProjectId=tpB.ProjectId and f.SystemNo=tpB.System_No
left join (select count(*) as pwdCCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
and Punch_Type='PWD' and Cat='C' group by ProjectId,System_No)
tpC on f.ProjectId=tpC.ProjectId and f.SystemNo=tpC.System_No
left join (select count(*) as fwdACount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
and Punch_Type='FWD' and Cat='A' group by ProjectId,System_No)
tpfA on f.ProjectId=tpfA.ProjectId and f.SystemNo=tpfA.System_No
left join (select count(*) as fwdBCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
and Punch_Type='FWD' and Cat='B' group by ProjectId,System_No)
tpfB on f.ProjectId=tpfB.ProjectId and f.SystemNo=tpfB.System_No
left join (select count(*) as fwdCCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
and Punch_Type='FWD' and Cat='C' group by ProjectId,System_No)
tpfC on f.ProjectId=tpfC.ProjectId and f.SystemNo=tpfC.System_No
where f.ProjectId = @ProjectId";
#region sql
//string strSql = @"
// select f.SystemNo,f.ProjectId,
// ISNULL(tpi.PipingCount,0) PipingCount,ISNULL(tpi1.PipingScount,0) PipingScount,
// case ISNULL(tpi.PipingCount,0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100*(ISNULL(tpi1.PipingScount,0)*1.0/ISNULL(tpi.PipingCount,0))) end PipingPercent,
// ISNULL((TseCount+TreCount),0) as EqCount,ISNULL((TseSCount+TreSCount),0) as EqScount,
// case ISNULL((TseCount+TreCount),0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100 *(ISNULL((TseSCount+TreSCount),0)*1.0/ISNULL((TseCount+TreCount),0))) end EqPercent,
// ISNULL(TeCount,0) TeCount,ISNULL(TeScount,0) TeScount,
// case ISNULL(TeCount,0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100*(ISNULL(TeScount,0)*1.0/ISNULL(TeCount,0))) end TePercent,
// ISNULL(TiCount,0) TiCount,ISNULL(TiScount,0) TiScount,
// case ISNULL(TiCount,0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100*(ISNULL(TiScount,0)*1.0/ISNULL(TiCount,0))) end TiPercent,
// ISNULL(TcsCount,0) TcsCount,ISNULL(TcsScount,0) TcsScount,
// case ISNULL(TcsCount,0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100*(ISNULL(TcsScount,0)*1.0/ISNULL(TcsCount,0))) end TcsPercent,
// ISNULL(TfCount,0) TfCount,ISNULL(TfScount,0) TfScount,
// case ISNULL(TfCount,0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100*(ISNULL(TfScount,0)*1.0/ISNULL(TfCount,0))) end TfPercent,
// ISNULL(TtCount,0) TtCount,ISNULL(TtScount,0) TtScount,
// case ISNULL(TtCount,0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100*(ISNULL(TtScount,0)*1.0/ISNULL(TtCount,0))) end TtPercent,
// ISNULL(TpCount,0) TpCount,ISNULL(TpScount,0) TpScount,
// case ISNULL(TpCount,0)
// when 0 then 0
// else CONVERT(DECIMAL(10,2),100*(ISNULL(TpScount,0)*1.0/ISNULL(TpCount,0))) end TpPercent,
// ts.PlanPWD,PlanJWD,McPlan,
// SubmitPackage,ActualPWD,ActualJWD,ActualMC,Commissioning,
// IaQian,TcccQ,SystemStatus,TurnoverDescription,ts.Remark,
// ISNULL(pwdACount,0) pwdACount,ISNULL(pwdBCount,0) pwdBCount,ISNULL(pwdCCount,0) pwdCCount,
// ISNULL(fwdACount,0) fwdACount,ISNULL(fwdBCount,0) fwdBCount,ISNULL(fwdCCount,0) fwdCCount
// from(
// SELECT SystemNo,ProjectId FROM Transfer_LHCSystemList group by SystemNo,ProjectId
// ) f
// left join Transfer_SystemControl ts on f.ProjectId=ts.ProjectId and f.SystemNo=ts.SystemNo
// --piping
// left join (select count(*)as PipingCount,ProjectId,SYSTEM from Transfer_Piping
// group by ProjectId,SYSTEM)
// tpi on f.ProjectId=tpi.ProjectId and f.SystemNo=tpi.SYSTEM
// left join (select count(*)as PipingScount,ProjectId,SYSTEM from Transfer_Piping where FINALStatus='Completed'
// group by ProjectId,SYSTEM)
// tpi1 on f.ProjectId=tpi1.ProjectId and f.SystemNo=tpi1.SYSTEM
// --设备测试包
// left join (select count(*)as TseCount,ProjectId,SYSTEM from Transfer_StaticEquipment
// group by ProjectId,SYSTEM)
// tse on f.ProjectId=tse.ProjectId and f.SystemNo=tse.SYSTEM
// left join (select count(*)as TseSCount,ProjectId,SYSTEM from Transfer_StaticEquipment where MechanicalFINALStatus='Completed'
// group by ProjectId,SYSTEM)
// tse1 on f.ProjectId=tse1.ProjectId and f.SystemNo=tse1.SYSTEM
// --
// left join (select count(*)as TreCount,ProjectId,SYSTEM from Transfer_RotatingEquipment
// group by ProjectId,SYSTEM)
// tre on f.ProjectId=tre.ProjectId and f.SystemNo=tre.SYSTEM
// left join (select count(*)as TreSCount,ProjectId,SYSTEM from Transfer_RotatingEquipment where MechanicalFINALStatus='Completed'
// group by ProjectId,SYSTEM)
// tre1 on f.ProjectId=tre1.ProjectId and f.SystemNo=tre1.SYSTEM
// --Transfer_Electrical
// left join (select count(*)as TeCount,ProjectId,SystemName from Transfer_Electrical
// group by ProjectId,SystemName)
// te on f.ProjectId=te.ProjectId and f.SystemNo=te.SystemName
// left join (select count(*)as TeScount,ProjectId,SystemName from Transfer_Electrical where FINAL_Status='Completed'
// group by ProjectId,SystemName)
// te1 on f.ProjectId=te1.ProjectId and f.SystemNo=te1.SystemName
// --Transfer_Instrumentation
// left join (select count(*)as TiCount,ProjectId,SystemName from Transfer_Instrumentation
// group by ProjectId,SystemName)
// ti on f.ProjectId=ti.ProjectId and f.SystemNo=ti.SystemName
// left join (select count(*)as TiScount,ProjectId,SystemName from Transfer_Instrumentation where FINAL_Status='Completed'
// group by ProjectId,SystemName)
// ti1 on f.ProjectId=ti1.ProjectId and f.SystemNo=ti1.SystemName
// --Transfer_Civil_Structure
// left join (select count(*)as TcsCount,ProjectId,SystemName from Transfer_Civil_Structure
// group by ProjectId,SystemName)
// tcs on f.ProjectId=tcs.ProjectId and f.SystemNo=tcs.SystemName
// left join (select count(*)as TcsScount,ProjectId,SystemName from Transfer_Civil_Structure where FINAL_Status='Completed'
// group by ProjectId,SystemName)
// tcs1 on f.ProjectId=tcs1.ProjectId and f.SystemNo=tcs1.SystemName
// --Transfer_Firefighting
// left join (select count(*)as TfCount,ProjectId,SystemName from Transfer_Firefighting
// group by ProjectId,SystemName)
// tf on f.ProjectId=tf.ProjectId and f.SystemNo=tf.SystemName
// left join (select count(*)as TfScount,ProjectId,SystemName from Transfer_Firefighting where FINAL_Status='Completed'
// group by ProjectId,SystemName)
// tf1 on f.ProjectId=tf1.ProjectId and f.SystemNo=tf1.SystemName
// --Transfer_Telecom
// left join (select count(*)as TtCount,ProjectId,SystemName from Transfer_Telecom
// group by ProjectId,SystemName)
// Tt on f.ProjectId=Tt.ProjectId and f.SystemNo=Tt.SystemName
// left join (select count(*)as TtScount,ProjectId,SystemName from Transfer_Telecom where FINAL_Status='Completed'
// group by ProjectId,SystemName)
// Tt1 on f.ProjectId=Tt1.ProjectId and f.SystemNo=Tt1.SystemName
// --Transfer_Plumbing
// left join (select count(*)as TpCount,ProjectId,SystemName from Transfer_Plumbing
// group by ProjectId,SystemName)
// tp on f.ProjectId=tp.ProjectId and f.SystemNo=tp.SystemName
// left join (select count(*)as TpScount,ProjectId,SystemName from Transfer_Plumbing where FINAL_Status='Completed'
// group by ProjectId,SystemName)
// tp1 on f.ProjectId=tp1.ProjectId and f.SystemNo=tp1.SystemName
// left join (select count(*) as pwdACount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
// and Punch_Type='PWD' and Cat='A' group by ProjectId,System_No)
// tpA on f.ProjectId=tpA.ProjectId and f.SystemNo=tpA.System_No
// left join (select count(*) as pwdBCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
// and Punch_Type='PWD' and Cat='B' group by ProjectId,System_No)
// tpB on f.ProjectId=tpB.ProjectId and f.SystemNo=tpB.System_No
// left join (select count(*) as pwdCCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
// and Punch_Type='PWD' and Cat='C' group by ProjectId,System_No)
// tpC on f.ProjectId=tpC.ProjectId and f.SystemNo=tpC.System_No
// left join (select count(*) as fwdACount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
// and Punch_Type='FWD' and Cat='A' group by ProjectId,System_No)
// tpfA on f.ProjectId=tpfA.ProjectId and f.SystemNo=tpfA.System_No
// left join (select count(*) as fwdBCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
// and Punch_Type='FWD' and Cat='B' group by ProjectId,System_No)
// tpfB on f.ProjectId=tpfB.ProjectId and f.SystemNo=tpfB.System_No
// left join (select count(*) as fwdCCount,ProjectId,System_No from Transfer_PunchlistFrom where Status!='Completed'
// and Punch_Type='FWD' and Cat='C' group by ProjectId,System_No)
// tpfC on f.ProjectId=tpfC.ProjectId and f.SystemNo=tpfC.System_No
// where f.ProjectId = @ProjectId";
#endregion
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));

View File

@ -66,35 +66,35 @@
HeaderTextAlign="Center" minWidth="230px">
</f:RenderField>
<f:GroupField HeaderText="SYSTEM AND TEST PACKAGE SELECTION" TextAlign="Center" MinWidth="450">
<f:GroupField HeaderText="SYSTEM AND TEST PACKAGE SELECTION" TextAlign="Center">
<Columns>
<f:BoundField minWidth="120px" ColumnID="SystemName" DataField="SystemName" HeaderText="System No" TextAlign="Center"/>
<f:BoundField minWidth="120px" ColumnID="Subsystem" DataField="Subsystem" HeaderText="Sub-System" TextAlign="Center"/>
<f:BoundField minWidth="140px" ColumnID="Test_Package" DataField="Test_Package" HeaderText="Turnover<br/>System Code" TextAlign="Center"/>
<f:BoundField Width="90px" ColumnID="SystemName" DataField="SystemName" HeaderText="System No" TextAlign="Center"/>
<f:BoundField Width="100px" ColumnID="Subsystem" DataField="Subsystem" HeaderText="Sub-System" TextAlign="Center"/>
<f:BoundField Width="130px" ColumnID="Test_Package" DataField="Test_Package" HeaderText="Turnover<br/>System Code" TextAlign="Center"/>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Test Package Schedule" TextAlign="Center" MinWidth="400px">
<f:GroupField HeaderText="Test Package Schedule" TextAlign="Center">
<Columns>
<f:RenderField ColumnID="Installation" DataField="Installation" FieldType="String" HeaderText="Installation<br/> &Inspection Reocrd" TextAlign="Center"
HeaderTextAlign="Center" minWidth="150px">
<f:RenderField ColumnID="Installation" DataField="Installation" FieldType="String" HeaderText="Installation<br/>&Inspection Reocrd" TextAlign="Center"
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField ColumnID="Communicationtest" DataField="Communicationtest" FieldType="String" HeaderText="Communication<br/> test" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="CableLaying" DataField="CableLaying" FieldType="String" HeaderText="Cable Laying and<br/> Insulation Test<br/> Record" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
<f:RenderField ColumnID="CableLaying" DataField="CableLaying" FieldType="String" HeaderText="Cable Laying and<br/>Insulation Test<br/>Record" TextAlign="Center"
HeaderTextAlign="Center" Width="130px">
</f:RenderField>
<f:RenderField ColumnID="LoopTest" DataField="LoopTest" FieldType="String" HeaderText="Loop Test" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:BoundField MinWidth="200px" ColumnID="FINAL_Status" DataField="FINAL_Status" HeaderText="FINAL Status" TextAlign="Center"/>
<f:BoundField Width="120px" ColumnID="FINAL_Status" DataField="FINAL_Status" HeaderText="FINAL Status" TextAlign="Center"/>
</Columns>
<Listeners>

View File

@ -58,7 +58,7 @@
<f:GroupField HeaderText="INSTRUMENTATION" TextAlign="Center" MinWidth="200px">
<Columns>
<f:BoundField minWidth="160px" TextAlign="Center" ColumnID="INSTRUMENTATION" DataField="INSTRUMENTATION" HeaderText="Tag No" />
<f:BoundField Width="160px" TextAlign="Center" ColumnID="INSTRUMENTATION" DataField="INSTRUMENTATION" HeaderText="Tag No" />
</Columns>
</f:GroupField>
@ -66,43 +66,43 @@
HeaderTextAlign="Center" minWidth="240px">
</f:RenderField>
<f:GroupField HeaderText="SYSTEM AND TEST PACKAGE SELECTION" TextAlign="Center" MinWidth="450">
<f:GroupField HeaderText="SYSTEM AND TEST PACKAGE SELECTION" TextAlign="Center">
<Columns>
<f:BoundField minWidth="120px" ColumnID="SystemName" DataField="SystemName" HeaderText="System No" TextAlign="Center"/>
<f:BoundField minWidth="120px" ColumnID="Subsystem" DataField="Subsystem" HeaderText="Sub-System" TextAlign="Center"/>
<f:BoundField minWidth="140px" ColumnID="Test_Package" DataField="Test_Package" HeaderText="Turnover<br/>System Code" TextAlign="Center"/>
<f:BoundField Width="90px" ColumnID="SystemName" DataField="SystemName" HeaderText="System No" TextAlign="Center"/>
<f:BoundField Width="100px" ColumnID="Subsystem" DataField="Subsystem" HeaderText="Sub-System" TextAlign="Center"/>
<f:BoundField Width="120px" ColumnID="Test_Package" DataField="Test_Package" HeaderText="Turnover<br/>System Code" TextAlign="Center"/>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="Test Package Schedule" TextAlign="Center" MinWidth="400px">
<f:GroupField HeaderText="Test Package Schedule" TextAlign="Center">
<Columns>
<f:RenderField ColumnID="Calibration" DataField="Calibration" FieldType="String" HeaderText="Calibration " TextAlign="Center"
<%--<f:RenderField ColumnID="Calibration" DataField="Calibration" FieldType="String" HeaderText="Calibration " TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
</f:RenderField>
</f:RenderField>--%>
<f:RenderField ColumnID="InstallationCalibration" DataField="InstallationCalibration" FieldType="String" HeaderText="Installation" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="PipingPressuretest" DataField="PipingPressuretest" FieldType="String" HeaderText="Piping Pressure test" TextAlign="Center"
HeaderTextAlign="Center" minWidth="150px">
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField ColumnID="PipingLeak" DataField="PipingLeak" FieldType="String" HeaderText="Piping Leak/<br/>Vacuum Test" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="PipingBlowing" DataField="PipingBlowing" FieldType="String" HeaderText="Piping Blowing" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="Looptest" DataField="Looptest" FieldType="String" HeaderText="Loop test" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:BoundField MinWidth="200px" ColumnID="FINAL_Status" DataField="FINAL_Status" HeaderText="Mechanical FINAL Status" TextAlign="Center"/>
<f:BoundField Width="110px" ColumnID="FINAL_Status" DataField="FINAL_Status" HeaderText="FINAL Status" TextAlign="Center"/>
</Columns>
<Listeners>

View File

@ -327,12 +327,19 @@ namespace FineUIPro.Web.Transfer
model.Subsystem = pds.Rows[i][2 + 1].ToString().Trim();
model.Test_Package = pds.Rows[i][3 + 1].ToString().Trim();
var obj0 = model.Calibration = pds.Rows[i][5].ToString().Trim();
var obj1 = model.InstallationCalibration = pds.Rows[i][6].ToString().Trim();
var obj2 = model.PipingPressuretest = pds.Rows[i][7].ToString().Trim();
var obj3 = model.PipingLeak = pds.Rows[i][8].ToString().Trim();
var obj4 = model.PipingBlowing = pds.Rows[i][9].ToString().Trim();
var obj5 = model.Looptest = pds.Rows[i][10].ToString().Trim();
//var obj0 = model.Calibration = pds.Rows[i][5].ToString().Trim();
//var obj1 = model.InstallationCalibration = pds.Rows[i][6].ToString().Trim();
//var obj2 = model.PipingPressuretest = pds.Rows[i][7].ToString().Trim();
//var obj3 = model.PipingLeak = pds.Rows[i][8].ToString().Trim();
//var obj4 = model.PipingBlowing = pds.Rows[i][9].ToString().Trim();
//var obj5 = model.Looptest = pds.Rows[i][10].ToString().Trim();
var obj1 = model.InstallationCalibration = pds.Rows[i][5].ToString().Trim();
var obj2 = model.PipingPressuretest = pds.Rows[i][6].ToString().Trim();
var obj3 = model.PipingLeak = pds.Rows[i][7].ToString().Trim();
var obj4 = model.PipingBlowing = pds.Rows[i][8].ToString().Trim();
var obj5 = model.Looptest = pds.Rows[i][9].ToString().Trim();
#region
var listObj = new List<string>();
listObj.Add(obj1);
@ -340,9 +347,9 @@ namespace FineUIPro.Web.Transfer
listObj.Add(obj3);
listObj.Add(obj4);
listObj.Add(obj5);
listObj.Add(obj0);
//listObj.Add(obj0);
//全是NA或Completed 状态是Completed
if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 6)
if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 5)
{
model.FINAL_Status = "Completed";
list.Add(model);
@ -351,7 +358,7 @@ namespace FineUIPro.Web.Transfer
//如果全是Not Start 就是 Not Start
if (listObj.Where(x => x == "Not Start").ToList().Count == 6)
if (listObj.Where(x => x == "Not Start").ToList().Count == 5)
{
model.FINAL_Status = "Not Start";
list.Add(model);

View File

@ -50,12 +50,12 @@
<Items>
<f:GroupPanel Layout="Anchor" Title="Test Package Schedule" runat="server">
<Items>
<f:DropDownList ID="ddlCalibration" runat="server" Label="Calibration" LabelWidth="180px">
<%--<f:DropDownList ID="ddlCalibration" runat="server" Label="Calibration" LabelWidth="180px">
<f:ListItem Value="NA" Text="NA"></f:ListItem>
<f:ListItem Value="Completed" Text="Completed"></f:ListItem>
<f:ListItem Value="In progress" Text="In progress"></f:ListItem>
<f:ListItem Value="Not Start" Text="Not Start"></f:ListItem>
</f:DropDownList>
</f:DropDownList>--%>
<f:DropDownList ID="ddlInstallationCalibration" runat="server" Label="Installation" LabelWidth="180px">
<f:ListItem Value="NA" Text="NA"></f:ListItem>

View File

@ -60,7 +60,7 @@ namespace FineUIPro.Web.Transfer
ddlPipingLeak.SelectedValue = model.PipingLeak;
ddlPipingBlowing.SelectedValue = model.PipingBlowing;
ddlLooptest.SelectedValue = model.Looptest;
ddlCalibration.SelectedValue = model.Calibration;
//ddlCalibration.SelectedValue = model.Calibration;
txtDescriptions.Text = model.Descriptions;
}
}
@ -81,7 +81,7 @@ namespace FineUIPro.Web.Transfer
PipingLeak = ddlPipingLeak.SelectedValue,
PipingBlowing = ddlPipingBlowing.SelectedValue,
Looptest = ddlLooptest.SelectedValue,
Calibration= ddlCalibration.SelectedValue,
//Calibration= ddlCalibration.SelectedValue,
Descriptions = txtDescriptions.Text
};
@ -126,7 +126,7 @@ namespace FineUIPro.Web.Transfer
newModel.PipingLeak = ddlPipingLeak.SelectedValue;
newModel.PipingBlowing = ddlPipingBlowing.SelectedValue;
newModel.Looptest = ddlLooptest.SelectedValue;
newModel.Calibration = ddlCalibration.SelectedValue;
//newModel.Calibration = ddlCalibration.SelectedValue;
newModel.FINAL_Status = model.FINAL_Status;
newModel.Descriptions = txtDescriptions.Text;
}

View File

@ -86,15 +86,6 @@ namespace FineUIPro.Web.Transfer
/// </remarks>
protected global::FineUIPro.TextBox txtDescriptions;
/// <summary>
/// ddlCalibration 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlCalibration;
/// <summary>
/// ddlInstallationCalibration 控件。
/// </summary>

View File

@ -50,17 +50,17 @@
</Toolbars>
<Columns>
<f:RenderField ColumnID="SN" DataField="SN" FieldType="String" HeaderText="SN" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="50px">
HeaderTextAlign="Center" Width="70px">
</f:RenderField>
<f:RenderField ColumnID="SystemNo" DataField="SystemNo"
FieldType="String" HeaderText="SystemNo" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="120px">
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="Commissioningsystemcode" DataField="Commissioningsystemcode"
FieldType="String" HeaderText="Commissioning<br/> system code" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="180px">
HeaderTextAlign="Center" Width="160px">
</f:RenderField>
@ -76,7 +76,7 @@
<f:RenderField ColumnID="SubCommissioningsystem" DataField="SubCommissioningsystem"
FieldType="String" HeaderText="Sub-system No" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="180px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="PlanStartofTestingDate" DataField="PlanStartofTestingDate" FieldType="Date" Renderer="Date"
@ -91,12 +91,12 @@
<f:RenderField ColumnID="Status" DataField="Status"
FieldType="String" HeaderText="Status" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="150px">
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="ActualFinishedDate" DataField="ActualFinishedDate" FieldType="Date" Renderer="Date"
RendererArgument="yyyy-MM-dd"
HeaderText="Actual Finished Date" TextAlign="Center" HeaderTextAlign="Center" MinWidth="180px">
HeaderText="Actual Finished Date" TextAlign="Center" HeaderTextAlign="Center" MinWidth="160px">
</f:RenderField>
</Columns>

View File

@ -27,10 +27,10 @@
<f:TextBox runat="server" ID="txtSystem" Label="SYSTEM NO" LabelWidth="120px" LabelAlign="Right"></f:TextBox>
<f:DropDownList runat="server" ID="ddStatus" Label="Status" LabelWidth="80px" LabelAlign="Right">
<f:ListItem Value="" Text="All" Selected="true"/>
<f:ListItem Value="Not Start" Text="Not Start"/>
<f:ListItem Value="In progress" Text="In progress"/>
<f:ListItem Value="Completed" Text="Completed"/>
<f:ListItem Value="" Text="All" Selected="true" />
<f:ListItem Value="Not Start" Text="Not Start" />
<f:ListItem Value="In progress" Text="In progress" />
<f:ListItem Value="Completed" Text="Completed" />
</f:DropDownList>
@ -49,25 +49,25 @@
<f:GroupField ID="g1" HeaderText="PIPING" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="PIPINGLINENUMBER" DataField="PIPINGLINENUMBER" FieldType="String" HeaderText="Test Package No" TextAlign="Center"
HeaderTextAlign="Center" minWidth="220px">
HeaderTextAlign="Center" MinWidth="230px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField ColumnID="Descriptions" DataField="Descriptions" FieldType="String" HeaderText="Description" TextAlign="Center"
HeaderTextAlign="Center" minWidth="330px">
HeaderTextAlign="Center" MinWidth="330px">
</f:RenderField>
<f:GroupField ID="g2" HeaderText="SYSTEM AND TEST PACKAGE SELECTION" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="SYSTEM" DataField="SYSTEM" FieldType="String" HeaderText="System No" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="Subsystem" DataField="Subsystem" FieldType="String" HeaderText="Sub-System" TextAlign="Center"
<f:RenderField ColumnID="Subsystem" DataField="Subsystem" FieldType="String" HeaderText="Sub-System No" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="TestPackage" DataField="TestPackage" FieldType="String" HeaderText="Turnover<br/>System Code" TextAlign="Center"
HeaderTextAlign="Center" Width="200px">
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
</Columns>
</f:GroupField>
@ -96,7 +96,7 @@
</Columns>
</f:GroupField>--%>
<f:GroupField ID="g4" HeaderText="Hydrostatic test schedule" HeaderTextAlign="Center">
<%--<f:GroupField ID="g4" HeaderText="Hydrostatic test schedule" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="PWD" DataField="PWD" FieldType="String" HeaderText="Ready for Test" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
@ -110,9 +110,9 @@
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
</Columns>
</f:GroupField>
</f:GroupField>--%>
<f:GroupField ID="g5" HeaderText="Pre-Commissioning" HeaderTextAlign="Center">
<%--<f:GroupField ID="g5" HeaderText="Pre-Commissioning" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="Blowingflushing" DataField="Blowingflushing" FieldType="String" HeaderText="Blowing /flushing &<br/> Dry out" TextAlign="Center"
HeaderTextAlign="Center" Width="160px">
@ -126,8 +126,44 @@
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
</Columns>
</f:GroupField>--%>
<f:GroupField ID="g6" HeaderText="焊接信息" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="TotalFactor" DataField="TotalFactor" FieldType="String" HeaderText="总达因数" TextAlign="Center"
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="CompleteFactor" DataField="CompleteFactor" FieldType="String" HeaderText="完成达因数" TextAlign="Center"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="CompleteProportion" DataField="CompleteProportion" FieldType="String" HeaderText="完成比例" TextAlign="Center"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField ID="g7" HeaderText="试压包状态" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="PressureTestCompleted" DataField="PressureTestCompleted" FieldType="String" HeaderText="试压完成" TextAlign="Center"
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="RinseAndBlowClean" DataField="RinseAndBlowClean" FieldType="String" HeaderText="冲洗吹扫" TextAlign="Center"
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="Reduction" DataField="Reduction" FieldType="String" HeaderText="复位" TextAlign="Center"
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField ColumnID="ElectricHeatTracing" DataField="ElectricHeatTracing" FieldType="String" HeaderText="电伴热" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="90px">
</f:RenderField>
<f:RenderField ColumnID="Insulation" DataField="Insulation" FieldType="String" HeaderText="保温/冷" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="90px">
</f:RenderField>
<f:RenderField ColumnID="FINALStatus" DataField="FINALStatus" FieldType="String" HeaderText="Final Status" TextAlign="Center"
HeaderTextAlign="Center" MinWidth="120px">
</f:RenderField>

View File

@ -132,22 +132,22 @@ namespace FineUIPro.Web.Transfer
protected global::FineUIPro.GroupField g2;
/// <summary>
/// g4 控件。
/// g6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupField g4;
protected global::FineUIPro.GroupField g6;
/// <summary>
/// g5 控件。
/// g7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupField g5;
protected global::FineUIPro.GroupField g7;
/// <summary>
/// ToolbarText1 控件。

View File

@ -317,21 +317,32 @@ namespace FineUIPro.Web.Transfer
model.ProjectId = CurrUser.LoginProjectId;
model.PIPINGLINENUMBER = pds.Rows[i][0].ToString().Trim();
model.Descriptions = pds.Rows[i][1].ToString().Trim();
model.SYSTEM = pds.Rows[i][1+1].ToString().Trim();
model.SYSTEM = pds.Rows[i][1 + 1].ToString().Trim();
model.Subsystem = pds.Rows[i][2 + 1].ToString().Trim();
model.TestPackage = pds.Rows[i][3 + 1].ToString().Trim();
var obj1 = model.PWD= pds.Rows[i][4 + 1].ToString().Trim();
//var obj2 =model.Apunchclosed = pds.Rows[i][5 + 1].ToString().Trim();
//var obj3 =model.NDTReport = pds.Rows[i][6 + 1].ToString().Trim();
//var obj4 =model.TemperaryMeasurement = pds.Rows[i][7 + 1].ToString().Trim();
//var obj5 =model.FWDfinished = pds.Rows[i][8 + 1].ToString().Trim();
var obj6 =model.HydrostaticTest = pds.Rows[i][6].ToString().Trim();
var obj7 =model.Report = pds.Rows[i][7].ToString().Trim();
var obj8 =model.Blowingflushing = pds.Rows[i][8].ToString().Trim();
var obj9 = model.Systemreinstalled = pds.Rows[i][9].ToString().Trim();
//var obj1 = model.PWD = pds.Rows[i][4 + 1].ToString().Trim();
////var obj2 =model.Apunchclosed = pds.Rows[i][5 + 1].ToString().Trim();
////var obj3 =model.NDTReport = pds.Rows[i][6 + 1].ToString().Trim();
////var obj4 =model.TemperaryMeasurement = pds.Rows[i][7 + 1].ToString().Trim();
////var obj5 =model.FWDfinished = pds.Rows[i][8 + 1].ToString().Trim();
//var obj6 = model.HydrostaticTest = pds.Rows[i][6].ToString().Trim();
//var obj7 = model.Report = pds.Rows[i][7].ToString().Trim();
//var obj8 = model.Blowingflushing = pds.Rows[i][8].ToString().Trim();
//var obj9 = model.Systemreinstalled = pds.Rows[i][9].ToString().Trim();
model.BlowingReport= pds.Rows[i][10].ToString().Trim();
//model.BlowingReport = pds.Rows[i][10].ToString().Trim();
var obj1 = model.TotalFactor = pds.Rows[i][5].ToString().Trim();
var obj6 = model.CompleteFactor = pds.Rows[i][6].ToString().Trim();
var obj7 = model.CompleteProportion = pds.Rows[i][7].ToString().Trim();
var obj8 = model.PressureTestCompleted = pds.Rows[i][8].ToString().Trim();
var obj9 = model.RinseAndBlowClean = pds.Rows[i][9].ToString().Trim();
var obj10 = model.Reduction = pds.Rows[i][10].ToString().Trim();
model.ElectricHeatTracing = pds.Rows[i][11].ToString().Trim();
model.Insulation = pds.Rows[i][12].ToString().Trim();
#region
var listObj = new List<string>();
@ -344,17 +355,18 @@ namespace FineUIPro.Web.Transfer
listObj.Add(obj7);
listObj.Add(obj8);
listObj.Add(obj9);
listObj.Add(obj10);
//全是NA或Completed 状态是Completed
if (listObj.Where(x=>x=="NA" || x== "Completed").ToList().Count==5)
if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 3)
{
model.FINALStatus = "Completed";
list.Add(model);
continue ;
continue;
}
//如果全是Not Start 就是 Not Start
if (listObj.Where(x=>x== "Not Start").ToList().Count==5)
if (listObj.Where(x => x == "Not Start").ToList().Count == 3)
{
model.FINALStatus = "Not Start";
list.Add(model);

View File

@ -44,7 +44,6 @@
</Items>
</f:FormRow>
<%--<f:FormRow>
<Items>
<f:GroupPanel Layout="Anchor" Title="Ready for Test" runat="server">
@ -88,7 +87,7 @@
</Items>
</f:FormRow>--%>
<f:FormRow>
<%--<f:FormRow>
<Items>
<f:GroupPanel Layout="Anchor" Title="Hydrostatic test schedule" runat="server">
<Items>
@ -115,9 +114,9 @@
</Items>
</f:GroupPanel>
</Items>
</f:FormRow>
</f:FormRow>--%>
<f:FormRow>
<%--<f:FormRow>
<Items>
<f:GroupPanel Layout="Anchor" Title="Pre-Commissioning" runat="server">
<Items>
@ -141,7 +140,74 @@
</Items>
</f:GroupPanel>
</Items>
</f:FormRow>--%>
<f:FormRow>
<Items>
<f:GroupPanel Layout="Anchor" Title="焊接信息" runat="server">
<Items>
<f:TextBox ID="txtTotalFactor" runat="server" Label="总达因数"
LabelAlign="Right" LabelWidth="180px">
</f:TextBox>
<f:TextBox ID="txtCompleteFactor" runat="server" Label="完成达因数"
LabelAlign="Right" LabelWidth="180px">
</f:TextBox>
<f:TextBox ID="txtCompleteProportion" runat="server" Label="完成比例"
LabelAlign="Right" LabelWidth="180px">
</f:TextBox>
</Items>
</f:GroupPanel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:GroupPanel Layout="Anchor" Title="试压包状态" runat="server">
<Items>
<f:DropDownList ID="ddlPressureTestCompleted" runat="server" Label="试压完成" LabelWidth="180px">
<f:ListItem Value="NA" Text="NA"></f:ListItem>
<f:ListItem Value="Completed" Text="Completed"></f:ListItem>
<f:ListItem Value="In progress" Text="In progress"></f:ListItem>
<f:ListItem Value="Not Start" Text="Not Start"></f:ListItem>
</f:DropDownList>
<f:DropDownList ID="ddlRinseAndBlowClean" runat="server" Label="冲洗吹扫" LabelWidth="180px">
<f:ListItem Value="NA" Text="NA"></f:ListItem>
<f:ListItem Value="Completed" Text="Completed"></f:ListItem>
<f:ListItem Value="In progress" Text="In progress"></f:ListItem>
<f:ListItem Value="Not Start" Text="Not Start"></f:ListItem>
</f:DropDownList>
<f:DropDownList ID="ddlReduction" runat="server" Label="复位" LabelWidth="180px">
<f:ListItem Value="NA" Text="NA"></f:ListItem>
<f:ListItem Value="Completed" Text="Completed"></f:ListItem>
<f:ListItem Value="In progress" Text="In progress"></f:ListItem>
<f:ListItem Value="Not Start" Text="Not Start"></f:ListItem>
</f:DropDownList>
</Items>
</f:GroupPanel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:GroupPanel Layout="Anchor" Title="其他信息" runat="server">
<Items>
<f:DropDownList ID="ddlElectricHeatTracing" runat="server" Label="电伴热" LabelWidth="180px">
<f:ListItem Value="NA" Text="NA"></f:ListItem>
<f:ListItem Value="Y" Text="Y"></f:ListItem>
<f:ListItem Value="N" Text="N"></f:ListItem>
</f:DropDownList>
<f:DropDownList ID="ddlInsulation" runat="server" Label="保温/冷" LabelWidth="180px">
<f:ListItem Value="NA" Text="NA"></f:ListItem>
<f:ListItem Value="Y" Text="Y"></f:ListItem>
<f:ListItem Value="N" Text="N"></f:ListItem>
</f:DropDownList>
</Items>
</f:GroupPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">

View File

@ -53,18 +53,26 @@ namespace FineUIPro.Web.Transfer
txtSYSTEM.Text = model.SYSTEM;
txtSubsystem.Text = model.Subsystem;
txtTestPackage.Text = model.TestPackage;
ddlPWD.SelectedValue = model.PWD;
txtDescriptions.Text = model.Descriptions;
//ddlPWD.SelectedValue = model.PWD;
//ddlApunchclosed.SelectedValue = model.Apunchclosed;
//ddlNDTReport.SelectedValue = model.NDTReport;
//ddlTemperaryMeasurement.SelectedValue = model.TemperaryMeasurement;
ddlHydrostaticTest.SelectedValue = model.HydrostaticTest;
ddlReport.SelectedValue = model.Report;
ddlBlowingflushing.SelectedValue = model.Blowingflushing;
//ddlHydrostaticTest.SelectedValue = model.HydrostaticTest;
//ddlReport.SelectedValue = model.Report;
//ddlBlowingflushing.SelectedValue = model.Blowingflushing;
//ddlFWDfinished.SelectedValue = model.FWDfinished;
ddlSystemreinstalled.SelectedValue = model.Systemreinstalled;
txtBlowingReport.Text = model.BlowingReport;
//ddlSystemreinstalled.SelectedValue = model.Systemreinstalled;
//txtBlowingReport.Text = model.BlowingReport;
txtDescriptions.Text = model.Descriptions;
txtTotalFactor.Text = model.TotalFactor;
txtCompleteFactor.Text = model.CompleteFactor;
txtCompleteProportion.Text = model.CompleteProportion;
ddlPressureTestCompleted.SelectedValue = model.PressureTestCompleted;
ddlRinseAndBlowClean.SelectedValue = model.RinseAndBlowClean;
ddlReduction.SelectedValue = model.Reduction;
ddlElectricHeatTracing.SelectedValue = model.ElectricHeatTracing;
ddlInsulation.SelectedValue = model.Insulation;
}
}
}
@ -77,38 +85,56 @@ namespace FineUIPro.Web.Transfer
SYSTEM = txtSYSTEM.Text,
Subsystem = txtSubsystem.Text,
TestPackage = txtTestPackage.Text,
PWD = ddlPWD.SelectedValue,
//PWD = ddlPWD.SelectedValue,
//Apunchclosed = ddlApunchclosed.SelectedValue,
//NDTReport= ddlNDTReport.SelectedValue,
//TemperaryMeasurement= ddlTemperaryMeasurement.SelectedValue,
HydrostaticTest=ddlHydrostaticTest.SelectedValue,
Report= ddlReport.SelectedValue,
Blowingflushing= ddlBlowingflushing.SelectedValue,
//HydrostaticTest=ddlHydrostaticTest.SelectedValue,
//Report= ddlReport.SelectedValue,
//Blowingflushing= ddlBlowingflushing.SelectedValue,
//FWDfinished= ddlFWDfinished.SelectedValue,
Systemreinstalled= ddlSystemreinstalled.SelectedValue,
BlowingReport= txtBlowingReport.Text,
Descriptions= txtDescriptions.Text
//Systemreinstalled= ddlSystemreinstalled.SelectedValue,
//BlowingReport= txtBlowingReport.Text,
TotalFactor = txtTotalFactor.Text,
CompleteFactor = txtCompleteFactor.Text,
CompleteProportion = txtCompleteProportion.Text,
PressureTestCompleted = ddlPressureTestCompleted.SelectedValue,
RinseAndBlowClean = ddlRinseAndBlowClean.SelectedValue,
Reduction = ddlReduction.SelectedValue,
ElectricHeatTracing = ddlElectricHeatTracing.SelectedValue,
Insulation = ddlInsulation.SelectedValue,
Descriptions = txtDescriptions.Text
};
#region
var listObj = new List<string>();
listObj.Add(model.PWD);
//listObj.Add(model.PWD);
//listObj.Add(model.Apunchclosed);
//listObj.Add(model.NDTReport);
//listObj.Add(model.TemperaryMeasurement);
listObj.Add(model.HydrostaticTest);
listObj.Add(model.Report);
listObj.Add(model.Blowingflushing);
//listObj.Add(model.HydrostaticTest);
//listObj.Add(model.Report);
//listObj.Add(model.Blowingflushing);
//listObj.Add(model.FWDfinished);
listObj.Add(model.Systemreinstalled);
//listObj.Add(model.Systemreinstalled);
//listObj.Add(model.BlowingReport);
//listObj.Add(model.TotalFactor);
//listObj.Add(model.CompleteFactor);
//listObj.Add(model.CompleteProportion);
listObj.Add(model.PressureTestCompleted);
listObj.Add(model.RinseAndBlowClean);
listObj.Add(model.Reduction);
//全是NA或Completed 状态是Completed
if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 5)
if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 3)
{
model.FINALStatus = "Completed";
}
//如果全是Not Start 就是 Not Start
else if (listObj.Where(x => x == "Not Start").ToList().Count == 5)
else if (listObj.Where(x => x == "Not Start").ToList().Count == 3)
{
model.FINALStatus = "Not Start";
@ -129,16 +155,26 @@ namespace FineUIPro.Web.Transfer
newModel.SYSTEM = model.SYSTEM;
newModel.Subsystem = newModel.Subsystem;
newModel.TestPackage = txtTestPackage.Text;
newModel.PWD = ddlPWD.SelectedValue;
//newModel.PWD = ddlPWD.SelectedValue;
//newModel.Apunchclosed = ddlApunchclosed.SelectedValue;
//newModel.NDTReport = ddlNDTReport.SelectedValue;
//newModel.TemperaryMeasurement = ddlTemperaryMeasurement.SelectedValue;
newModel.HydrostaticTest = ddlHydrostaticTest.SelectedValue;
newModel.Report = ddlReport.SelectedValue;
newModel.Blowingflushing = ddlBlowingflushing.SelectedValue;
//newModel.HydrostaticTest = ddlHydrostaticTest.SelectedValue;
//newModel.Report = ddlReport.SelectedValue;
//newModel.Blowingflushing = ddlBlowingflushing.SelectedValue;
//newModel.FWDfinished = ddlFWDfinished.SelectedValue;
newModel.Systemreinstalled = ddlSystemreinstalled.SelectedValue;
newModel.BlowingReport = txtBlowingReport.Text;
//newModel.Systemreinstalled = ddlSystemreinstalled.SelectedValue;
//newModel.BlowingReport = txtBlowingReport.Text;
newModel.TotalFactor = txtTotalFactor.Text;
newModel.CompleteFactor = txtCompleteFactor.Text;
newModel.CompleteProportion = txtCompleteProportion.Text;
newModel.PressureTestCompleted = ddlPressureTestCompleted.SelectedValue;
newModel.RinseAndBlowClean = ddlRinseAndBlowClean.SelectedValue;
newModel.Reduction = ddlReduction.SelectedValue;
newModel.ElectricHeatTracing = ddlElectricHeatTracing.SelectedValue;
newModel.Insulation = ddlInsulation.SelectedValue;
newModel.FINALStatus = model.FINALStatus;
newModel.Descriptions = txtDescriptions.Text;
}

View File

@ -87,58 +87,76 @@ namespace FineUIPro.Web.Transfer
protected global::FineUIPro.TextBox txtDescriptions;
/// <summary>
/// ddlPWD 控件。
/// txtTotalFactor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPWD;
protected global::FineUIPro.TextBox txtTotalFactor;
/// <summary>
/// ddlHydrostaticTest 控件。
/// txtCompleteFactor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlHydrostaticTest;
protected global::FineUIPro.TextBox txtCompleteFactor;
/// <summary>
/// ddlReport 控件。
/// txtCompleteProportion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlReport;
protected global::FineUIPro.TextBox txtCompleteProportion;
/// <summary>
/// ddlBlowingflushing 控件。
/// ddlPressureTestCompleted 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlBlowingflushing;
protected global::FineUIPro.DropDownList ddlPressureTestCompleted;
/// <summary>
/// ddlSystemreinstalled 控件。
/// ddlRinseAndBlowClean 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlSystemreinstalled;
protected global::FineUIPro.DropDownList ddlRinseAndBlowClean;
/// <summary>
/// txtBlowingReport 控件。
/// ddlReduction 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtBlowingReport;
protected global::FineUIPro.DropDownList ddlReduction;
/// <summary>
/// ddlElectricHeatTracing 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlElectricHeatTracing;
/// <summary>
/// ddlInsulation 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlInsulation;
/// <summary>
/// Toolbar1 控件。

View File

@ -39,7 +39,7 @@
</f:DropDownList>
<f:DropDownList ID="ddlMatI" runat="server" Label="Mat'l" AutoPostBack="true" Width="80px" LabelWidth="40px">
<f:ListItem Value="" Text=""></f:ListItem>
<f:ListItem Value="Y" Text="Y"></f:ListItem>
<%--<f:ListItem Value="Y" Text="Y"></f:ListItem>--%>
<f:ListItem Value="Y1" Text="Y1"></f:ListItem>
<f:ListItem Value="Y2" Text="Y2"></f:ListItem>
<f:ListItem Value="N" Text="N"></f:ListItem>
@ -63,7 +63,7 @@
<f:ListItem Value="PWD" Text="PWD"></f:ListItem>
<f:ListItem Value="FWD" Text="FWD"></f:ListItem>
</f:DropDownList>
<f:TextBox runat="server" ID="txtAction_By" Label="Action By" LabelWidth="80px" LabelAlign="Right" Width="180px"></f:TextBox>
<%--<f:TextBox runat="server" ID="txtAction_By" Label="Action By" LabelWidth="80px" LabelAlign="Right" Width="180px"></f:TextBox>--%>
<f:TextBox runat="server" ID="txtPIC" Label="责任人PIC" LabelWidth="90px" LabelAlign="Right" Width="180px"></f:TextBox>
<f:TextBox runat="server" ID="txtPIC_WUH" Label="责任人-五环/PIC-WUH" LabelWidth="180px" LabelAlign="Right" Width="300px"></f:TextBox>
<f:DropDownList ID="ddlStatus" runat="server" Label="状态/Status" AutoPostBack="true" Width="200px" LabelWidth="100px">
@ -78,7 +78,7 @@
</f:Button>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<%--<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DatePicker runat="server" Label="Date Raised" ID="txtStartDate_Raised" LabelAlign="Right" LabelWidth="100px"
Width="220px">
@ -102,7 +102,7 @@
<f:DatePicker runat="server" ID="txtEndActual_Date" LabelAlign="Right" Width="110px">
</f:DatePicker>
</Items>
</f:Toolbar>
</f:Toolbar>--%>
</Toolbars>
<Columns>
@ -146,11 +146,11 @@
<f:BoundField MinWidth="200px" ColumnID="FINAL_Status" DataField="FINAL_Status" HeaderText="FINAL Status" TextAlign="Center"/>--%>
<f:BoundField Width="100px" TextAlign="Center" ColumnID="Num_NO" DataField="Num_NO" HeaderText="No." />
<f:BoundField Width="80px" TextAlign="Center" ColumnID="Num_NO" DataField="Num_NO" HeaderText="No." />
<f:BoundField Width="120px" TextAlign="Center" ColumnID="System_No" DataField="System_No" HeaderText="系统号<br>System No." />
<f:BoundField Width="110px" TextAlign="Center" ColumnID="System_No" DataField="System_No" HeaderText="系统号<br>System No." />
<f:BoundField Width="120px" TextAlign="Center" ColumnID="Sub_Sys_No" DataField="Sub_Sys_No" HeaderText="子系统号<br>Sub-sys. No." />
<f:BoundField Width="110px" TextAlign="Center" ColumnID="Sub_Sys_No" DataField="Sub_Sys_No" HeaderText="子系统号<br>Sub-sys. No." />
<f:BoundField Width="220px" TextAlign="left" ColumnID="DESCRIPTION" DataField="DESCRIPTION" HeaderText="尾项内容<br>Description" />
@ -162,13 +162,13 @@
</f:TemplateField>
<%--<f:BoundField Width="150px" TextAlign="Center" ColumnID="Photoes" DataField="Photoes" HeaderText="Photoes" />--%>
<f:BoundField Width="100px" TextAlign="Center" ColumnID="Cat" DataField="Cat" HeaderText="尾项等级<br>Cat." />
<f:BoundField Width="90px" TextAlign="Center" ColumnID="Cat" DataField="Cat" HeaderText="尾项等级<br>Cat." />
<f:BoundField Width="100px" TextAlign="Center" ColumnID="Raised_By" DataField="Raised_By" HeaderText="提出人<br>Raised By" />
<f:RenderField Width="100px" TextAlign="Center" ColumnID="Date_Raised" DataField="Date_Raised" HeaderText="提出时间<br>Date Raised" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" />
<f:BoundField Width="100px" TextAlign="Center" ColumnID="Disc" DataField="Disc" HeaderText="专业<br>Disc." />
<f:BoundField Width="80px" TextAlign="Center" ColumnID="Disc" DataField="Disc" HeaderText="专业<br>Disc." />
<f:BoundField Width="100px" TextAlign="Center" ColumnID="IsEng" DataField="IsEngStr" HeaderText="设计需求<br>Eng(Y/N)" />

View File

@ -62,36 +62,36 @@ namespace FineUIPro.Web.Transfer
strSql += " AND Sub_Sys_No like @Sub_Sys_No";
listStr.Add(new SqlParameter("@Sub_Sys_No", "%" + this.txtSub_Sys_No.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(txtStartDate_Raised.Text.Trim()))
{
strSql += " AND Date_Raised >= @StartDate_Raised";
listStr.Add(new SqlParameter("@StartDate_Raised", Funs.GetNewDateTime(txtStartDate_Raised.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndDate_Raised.Text.Trim()))
{
strSql += " AND Date_Raised <= @EndDate_Raised";
listStr.Add(new SqlParameter("@EndDate_Raised", Funs.GetNewDateTime(txtEndDate_Raised.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtStartRequired_Date.Text.Trim()))
{
strSql += " AND Required_Date >= @StartRequired_Date";
listStr.Add(new SqlParameter("@StartRequired_Date", Funs.GetNewDateTime(txtStartRequired_Date.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndRequired_Date.Text.Trim()))
{
strSql += " AND Required_Date <= @EndRequired_Date";
listStr.Add(new SqlParameter("@EndRequired_Date", Funs.GetNewDateTime(txtEndRequired_Date.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtStartActual_Date.Text.Trim()))
{
strSql += " AND Actual_Date >= @StartActual_Date";
listStr.Add(new SqlParameter("@StartActual_Date", Funs.GetNewDateTime(txtStartActual_Date.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndActual_Date.Text.Trim()))
{
strSql += " AND Actual_Date <= @EndActual_Date";
listStr.Add(new SqlParameter("@EndActual_Date", Funs.GetNewDateTime(txtEndActual_Date.Text.Trim())));
}
//if (!string.IsNullOrEmpty(txtStartDate_Raised.Text.Trim()))
//{
// strSql += " AND Date_Raised >= @StartDate_Raised";
// listStr.Add(new SqlParameter("@StartDate_Raised", Funs.GetNewDateTime(txtStartDate_Raised.Text.Trim())));
//}
//if (!string.IsNullOrEmpty(txtEndDate_Raised.Text.Trim()))
//{
// strSql += " AND Date_Raised <= @EndDate_Raised";
// listStr.Add(new SqlParameter("@EndDate_Raised", Funs.GetNewDateTime(txtEndDate_Raised.Text.Trim())));
//}
//if (!string.IsNullOrEmpty(txtStartRequired_Date.Text.Trim()))
//{
// strSql += " AND Required_Date >= @StartRequired_Date";
// listStr.Add(new SqlParameter("@StartRequired_Date", Funs.GetNewDateTime(txtStartRequired_Date.Text.Trim())));
//}
//if (!string.IsNullOrEmpty(txtEndRequired_Date.Text.Trim()))
//{
// strSql += " AND Required_Date <= @EndRequired_Date";
// listStr.Add(new SqlParameter("@EndRequired_Date", Funs.GetNewDateTime(txtEndRequired_Date.Text.Trim())));
//}
//if (!string.IsNullOrEmpty(txtStartActual_Date.Text.Trim()))
//{
// strSql += " AND Actual_Date >= @StartActual_Date";
// listStr.Add(new SqlParameter("@StartActual_Date", Funs.GetNewDateTime(txtStartActual_Date.Text.Trim())));
//}
//if (!string.IsNullOrEmpty(txtEndActual_Date.Text.Trim()))
//{
// strSql += " AND Actual_Date <= @EndActual_Date";
// listStr.Add(new SqlParameter("@EndActual_Date", Funs.GetNewDateTime(txtEndActual_Date.Text.Trim())));
//}
if (!string.IsNullOrEmpty(txtDisc.Text.Trim()))
{
strSql += " AND Disc = @Disc";
@ -117,11 +117,11 @@ namespace FineUIPro.Web.Transfer
strSql += " AND Cat = @Cat";
listStr.Add(new SqlParameter("@Cat", ddlCat.SelectedValue.Trim()));
}
if (!string.IsNullOrEmpty(txtAction_By.Text.Trim()))
{
strSql += " AND Action_By = @Action_By";
listStr.Add(new SqlParameter("@Action_By", txtAction_By.Text.Trim()));
}
//if (!string.IsNullOrEmpty(txtAction_By.Text.Trim()))
//{
// strSql += " AND Action_By = @Action_By";
// listStr.Add(new SqlParameter("@Action_By", txtAction_By.Text.Trim()));
//}
if (!string.IsNullOrEmpty(txtPIC.Text.Trim()))
{
strSql += " AND PIC = @PIC";

View File

@ -167,15 +167,6 @@ namespace FineUIPro.Web.Transfer
/// </remarks>
protected global::FineUIPro.DropDownList ddlPunchType;
/// <summary>
/// txtAction_By 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtAction_By;
/// <summary>
/// txtPIC 控件。
/// </summary>
@ -212,96 +203,6 @@ namespace FineUIPro.Web.Transfer
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtStartDate_Raised 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate_Raised;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// txtEndDate_Raised 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate_Raised;
/// <summary>
/// txtStartRequired_Date 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartRequired_Date;
/// <summary>
/// Label2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label2;
/// <summary>
/// txtEndRequired_Date 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndRequired_Date;
/// <summary>
/// txtStartActual_Date 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartActual_Date;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label3;
/// <summary>
/// txtEndActual_Date 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndActual_Date;
/// <summary>
/// lbPhotoesImageUrl 控件。
/// </summary>

View File

@ -60,7 +60,7 @@
</ItemTemplate>
</f:TemplateField>--%>
<f:RenderField ColumnID="RotatingEquipment" DataField="RotatingEquipment" FieldType="String" HeaderText="Tag. No" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" minWidth="100px">
</f:RenderField>
<f:RenderField ColumnID="Descriptions" DataField="Descriptions" FieldType="String" HeaderText="Description" TextAlign="Center"
@ -68,23 +68,23 @@
</f:RenderField>
<f:RenderField ColumnID="SYSTEM" DataField="SYSTEM" FieldType="String" HeaderText="System No" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="Subsystem" DataField="Subsystem" FieldType="String" HeaderText="Sub-System" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="TestPackage" DataField="TestPackage" FieldType="String" HeaderText="Turnover<br/>System Code" TextAlign="Center"
HeaderTextAlign="Center" minWidth="160px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="Alignment" DataField="Alignment" FieldType="String" HeaderText="Alignment" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="Lubricatefilling" DataField="Lubricatefilling" FieldType="String" HeaderText="Lubricate filling" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="Motorsoloruntest" DataField="Motorsoloruntest" FieldType="String" HeaderText="Motor solorun test" TextAlign="Center"
@ -92,12 +92,12 @@
</f:RenderField>
<f:RenderField ColumnID="Standalonetest" DataField="Standalonetest" FieldType="String" HeaderText="Standalone test" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="MechanicalFINALStatus" DataField="MechanicalFINALStatus" FieldType="String" HeaderText="FINAL Status" ExpandUnusedSpace="true" TextAlign="Center"
HeaderTextAlign="Center" minWidth="200px">
HeaderTextAlign="Center" Width="160px">
</f:RenderField>
</Columns>
<Listeners>

View File

@ -62,7 +62,7 @@
<f:GroupField ID="g1" HeaderText="MECHANICAL" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="StaticEquipment" DataField="StaticEquipment" FieldType="String" HeaderText="Tag No" TextAlign="Center"
HeaderTextAlign="Center" minWidth="140px">
HeaderTextAlign="Center" minWidth="120px">
</f:RenderField>
</Columns>
</f:GroupField>
@ -74,35 +74,35 @@
<f:GroupField ID="g2" HeaderText="SYSTEM AND TEST PACKAGE SELECTION" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="SYSTEM" DataField="SYSTEM" FieldType="String" HeaderText="System No" TextAlign="Center"
HeaderTextAlign="Center" Width="140px">
HeaderTextAlign="Center" Width="90px">
</f:RenderField>
<f:RenderField ColumnID="Subsystem" DataField="Subsystem" FieldType="String" HeaderText="Subsystem" TextAlign="Center"
HeaderTextAlign="Center" Width="140px">
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="TestPackage" DataField="TestPackage" FieldType="String" HeaderText="Turnover<br/>System Code" TextAlign="Center"
HeaderTextAlign="Center" Width="160px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField ID="g3" HeaderText="Test Package Schedule" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="Internalinspection" DataField="Internalinspection" FieldType="String" HeaderText="Internal inspection " TextAlign="Center"
HeaderTextAlign="Center" Width="160px">
HeaderTextAlign="Center" Width="140px">
</f:RenderField>
<f:RenderField ColumnID="InternalsPacking" DataField="InternalsPacking" FieldType="String" HeaderText="Internals/Packing<br/> installation " TextAlign="Center"
HeaderTextAlign="Center" Width="160px">
HeaderTextAlign="Center" Width="130px">
</f:RenderField>
<f:RenderField ColumnID="BOXupRecord" DataField="BOXupRecord" FieldType="String" HeaderText="BOX-up Record" TextAlign="Center"
HeaderTextAlign="Center" Width="160px">
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField ID="g5" HeaderText="" HeaderTextAlign="Center">
<Columns>
<f:RenderField ColumnID="MechanicalFINALStatus" DataField="MechanicalFINALStatus" FieldType="String" HeaderText="Mechanical FINAL Status" ExpandUnusedSpace="true" TextAlign="Center"
HeaderTextAlign="Center" Width="200px">
<f:RenderField ColumnID="MechanicalFINALStatus" DataField="MechanicalFINALStatus" FieldType="String" HeaderText="FINAL Status" ExpandUnusedSpace="true" TextAlign="Center"
HeaderTextAlign="Center" Width="180px">
</f:RenderField>
</Columns>
</f:GroupField>

View File

@ -12,7 +12,7 @@
<appSettings>
<!--连接字符串-->
<!--<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>-->
<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>
<add key="ConnectionString" value="Server=192.168.0.114;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>
<!--系统名称-->
<add key="SystemName" value="智慧施工管理信息系统V1.0"/>
<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/Images/;"/>
@ -188,7 +188,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="13.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>

View File

@ -8,10 +8,9 @@
<TreeNode id="6769098A-53D7-4585-87CC-2DADBCBC2C74" Text="类似项目施工经验总结清单" NavigateUrl="CQMS/QualityPlanning/ConExperienceSummary.aspx"></TreeNode>
</TreeNode>
<TreeNode id="3B322232-38A1-4291-9832-CD4A01C2A975" Text="检验试验计划/单位分部分项工程划分" NavigateUrl=""><TreeNode id="1025D812-2325-4FE9-A1E9-D53F2CAACDC6" Text="现场控制点裁剪(新)" NavigateUrl="CQMS/WBS/Control/PointCropping.aspx"></TreeNode>
<TreeNode id="0E1CCE60-6F9D-419D-B763-E9E0AF5621E6" Text="单位分部分项工程划分、裁剪" NavigateUrl=""><TreeNode id="17E206A1-E06B-40C0-8DCB-E3AAA2E3B339" Text="分部分项工程数据库" NavigateUrl="CQMS/WBS/Control/DivisionSubProjectsNew.aspx"></TreeNode>
<TreeNode id="17E206A1-E06B-40C0-8DCB-E3AAA2E3B339" Text="分部分项工程(新)" NavigateUrl="CQMS/WBS/Control/DivisionSubProjects.aspx"></TreeNode>
<TreeNode id="FB94A120-921B-4AAB-B54F-EC11B6F561FD" Text="单位分部分项工程划分、裁剪" NavigateUrl="CQMS/WBS/Control/DivisionDivideAndCrop.aspx"></TreeNode>
<TreeNode id="BA250432-492B-49A3-8BB6-D04BF74D2EDD" Text="单位分部分项工程划分表" NavigateUrl="CQMS/WBS/Control/DivisionDivideList.aspx"></TreeNode>
</TreeNode>
<TreeNode id="5AA08233-9E04-4808-AC43-DD411C5F9D31" Text="现场控制点裁剪" NavigateUrl="CQMS/WBS/ProjectControlPoint.aspx"></TreeNode>
<TreeNode id="88F115C3-D193-4455-8E8D-76F2EAF56291" Text="现场控制点资料柜" NavigateUrl="CQMS/WBS/ProjectControlPointFile.aspx"></TreeNode>
</TreeNode>

View File

@ -138,7 +138,6 @@
<TreeNode id="FD572EFA-8E87-43D1-B514-25A39768106F" Text="生态环保工作总结报告" NavigateUrl="HSSE/InformationProject/EPSummaryReport.aspx"></TreeNode>
<TreeNode id="25CE6894-2840-4DC4-AD2E-D72292849CEE" Text="建筑行业能源节约与生态环境保护汇总表" NavigateUrl="ZHGL/Environmental/ProjectArchitectureReport.aspx"></TreeNode>
<TreeNode id="A44E98F6-E9FE-43F8-8349-C166263BF608" Text="化工行业能源节约与生态环境保护汇总表" NavigateUrl="ZHGL/Environmental/ProjectChemicalReport.aspx"></TreeNode>
<TreeNode id="EFA6E45F-1267-4804-BEE7-41E0C5461204" Text="中央企业节能环保产业企业基本情况和经营情况报表" NavigateUrl="ZHGL/Environmental/ProjectOperationReport.aspx"></TreeNode>
<TreeNode id="9DE996D9-A2CF-40C8-86D3-6A472AB30E5D" Text="中央企业节能环保产业企业生产和服务业务情况报表" NavigateUrl="ZHGL/Environmental/ProjectEnergyReport.aspx"></TreeNode>
</TreeNode>
<TreeNode id="9BEB66C0-E6DE-44DD-94F6-5C7433E6DE62" Text="项目HSE总结" NavigateUrl="HSSE/ActionPlan/ActionPlanSummary.aspx"></TreeNode>

View File

@ -22,4 +22,6 @@
<TreeNode id="7EC1FBAF-BEC9-46CD-9E3B-0D0093B4E1C2" Text="仪表完成情况" NavigateUrl="JDGL/Check/MeterCompletion.aspx"></TreeNode>
<TreeNode id="C7037A5D-D8A6-4C1C-A5B8-2083C31C0A7B" Text="全厂地下管网完成情况" NavigateUrl="JDGL/Check/UndergroundPipeCompletion.aspx"></TreeNode>
</TreeNode>
<TreeNode id="1FBC729D-0A8E-423C-B133-B64583BF9611" Text="进度软件(新)" NavigateUrl=""><TreeNode id="368DB90C-8A47-44F7-A69A-D2D60A6E338C" Text="费用项裁剪" NavigateUrl="JDGL/Progress/WbsManager.aspx"></TreeNode>
</TreeNode>
</Tree>

View File

@ -1,21 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="197F9A9A-480C-4CC3-B6B7-3A7D382DC3EB" Text="工艺系统清单&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Process System List" NavigateUrl="Transfer/LHCSystemList.aspx?Type=0">
<TreeNode id="197F9A9A-480C-4CC3-B6B7-3A7D382DC3EB" Text="工艺系统清单" NavigateUrl="Transfer/LHCSystemList.aspx?Type=0">
</TreeNode>
<TreeNode id="022428DC-FC99-4916-B8AF-6A9DC885DFAF" Text="非工艺系统清单&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Non-Process System List" NavigateUrl="Transfer/LHCSystemList.aspx?Type=1"></TreeNode>
<TreeNode id="3517DBE2-9728-4BA0-9EA5-AE2147DB883B" Text="移交图表" NavigateUrl=""><TreeNode id="2352E44F-BE12-4012-B43F-AAF649EDAC32" Text="尾项完成统计表&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Punchlist Completion Table" NavigateUrl="Transfer/Chart/PunchlistFromChartNew.aspx"></TreeNode>
<TreeNode id="E305689E-5D84-4C1A-BF67-85FA2D828115" Text="移交统计表&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Turnover Table" NavigateUrl="Transfer/Chart/Systemstatus.aspx"></TreeNode>
<TreeNode id="60838E30-4A46-4878-B299-C234900B10B7" Text="移交统计图表&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Turnover Chart" NavigateUrl="Transfer/Chart/SystemstatusChart.aspx"></TreeNode>
<TreeNode id="25C13642-AE77-42E2-B0FB-32663B68F93F" Text="移交状态汇总表&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Turnover Summary Table" NavigateUrl="Transfer/Chart/SystemStatusSummary.aspx"></TreeNode>
<TreeNode id="022428DC-FC99-4916-B8AF-6A9DC885DFAF" Text="非工艺系统清单" NavigateUrl="Transfer/LHCSystemList.aspx?Type=1"></TreeNode>
<TreeNode id="3517DBE2-9728-4BA0-9EA5-AE2147DB883B" Text="移交图表" NavigateUrl=""><TreeNode id="2352E44F-BE12-4012-B43F-AAF649EDAC32" Text="尾项完成统计表" NavigateUrl="Transfer/Chart/PunchlistFromChartNew.aspx"></TreeNode>
<TreeNode id="E305689E-5D84-4C1A-BF67-85FA2D828115" Text="移交统计表" NavigateUrl="Transfer/Chart/Systemstatus.aspx"></TreeNode>
<TreeNode id="60838E30-4A46-4878-B299-C234900B10B7" Text="移交统计图表" NavigateUrl="Transfer/Chart/SystemstatusChart.aspx"></TreeNode>
<TreeNode id="25C13642-AE77-42E2-B0FB-32663B68F93F" Text="移交状态汇总表" NavigateUrl="Transfer/Chart/SystemStatusSummary.aspx"></TreeNode>
</TreeNode>
<TreeNode id="D94C1BA4-9DFD-4514-AE12-6F886C5D8C9B" Text="管道&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Piping" NavigateUrl="Transfer/Piping.aspx"></TreeNode>
<TreeNode id="982F746C-084C-445C-9AE8-8C37BDFE7994" Text="静设备&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Static Equipment" NavigateUrl="Transfer/StaticEquipment.aspx"></TreeNode>
<TreeNode id="7E2FB5F9-FB99-4455-B68F-460F1F9A2676" Text="动设备&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rotating Equipment" NavigateUrl="Transfer/RotatingEquipment.aspx"></TreeNode>
<TreeNode id="88F51059-55B4-4CD5-A38C-36404E5029F6" Text="仪表&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Instrumentation" NavigateUrl="Transfer/Instrumentation.aspx"></TreeNode>
<TreeNode id="296E75D2-192A-4D1F-8471-DD34263F8691" Text="电气&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Electrical" NavigateUrl="Transfer/Electrical.aspx"></TreeNode>
<TreeNode id="95C39F86-C060-452E-BA37-D891C466A39B" Text="土建/建筑/结构&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Civil Structure" NavigateUrl="Transfer/CivilStructure.aspx"></TreeNode>
<TreeNode id="794E64E2-FDD2-4B7D-8408-F7FB06F9C92A" Text="消防&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Firefighting" NavigateUrl="Transfer/Firefighting.aspx"></TreeNode>
<TreeNode id="58FFBD80-ACB9-4830-A18A-E025D9600D94" Text="电信&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Telecom" NavigateUrl="Transfer/Telecom.aspx"></TreeNode>
<TreeNode id="95295BF7-FB51-480D-9902-6ADA4E8427FC" Text="地管&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Plumbing" NavigateUrl="Transfer/Plumbing.aspx"></TreeNode>
<TreeNode id="016903B1-3B86-4CF5-AFF8-FF8BE389BEE5" Text="尾项管理&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Punch List Form" NavigateUrl="Transfer/PunchlistFrom.aspx"></TreeNode>
<TreeNode id="D94C1BA4-9DFD-4514-AE12-6F886C5D8C9B" Text="管道" NavigateUrl="Transfer/Piping.aspx"></TreeNode>
<TreeNode id="982F746C-084C-445C-9AE8-8C37BDFE7994" Text="静设备" NavigateUrl="Transfer/StaticEquipment.aspx"></TreeNode>
<TreeNode id="7E2FB5F9-FB99-4455-B68F-460F1F9A2676" Text="动设备" NavigateUrl="Transfer/RotatingEquipment.aspx"></TreeNode>
<TreeNode id="88F51059-55B4-4CD5-A38C-36404E5029F6" Text="仪表" NavigateUrl="Transfer/Instrumentation.aspx"></TreeNode>
<TreeNode id="296E75D2-192A-4D1F-8471-DD34263F8691" Text="电气" NavigateUrl="Transfer/Electrical.aspx"></TreeNode>
<TreeNode id="95C39F86-C060-452E-BA37-D891C466A39B" Text="土建/建筑/结构" NavigateUrl="Transfer/CivilStructure.aspx"></TreeNode>
<TreeNode id="58FFBD80-ACB9-4830-A18A-E025D9600D94" Text="电信" NavigateUrl="Transfer/Telecom.aspx"></TreeNode>
<TreeNode id="016903B1-3B86-4CF5-AFF8-FF8BE389BEE5" Text="尾项管理" NavigateUrl="Transfer/PunchlistFrom.aspx"></TreeNode>
</Tree>

View File

@ -140,7 +140,15 @@ namespace FineUIPro.Web.common
{
int AllCount = 0;
int MCount = 0;
var getallin = APIPageDataService.getPersonNum(ProjectId, DateTime.Now);
//修改日期2024-10-30 16:53:50 为了和另一个看板相同
//Funs.DB.T_d_EmployInOutRecord.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date)
//var getallin = APIPageDataService.getPersonNum(ProjectId, DateTime.Now);
var getallin = from x in Funs.DB.T_d_EmployInOutRecord
join z in Funs.DB.Base_WorkPost on x.PostId equals z.WorkPostId
where x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date
select new { z.PostType };
AllCount = getallin.Count();
if (AllCount > 0)
{

View File

@ -220,6 +220,10 @@
.f-panel-body .f-field {
margin-bottom: 0px !important;
}
.t-btn1 {
padding: 0 .15rem;
}
</style>
</head>
<body class="wrap" onresize="myFunction()">
@ -261,6 +265,10 @@
</div>
<div class="nav-right">
<div class="btns t-btns t-btn-r">
<div class=" t-btn1 iconfont" onclick="CallFunction()" style="cursor: pointer"><span>呼叫<f:Button runat="server" CssClass="bgbtntop" IconFont="Eye" OnClick="btnPhoneClick" ToolTip="呼叫" Hidden="true"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnCall" OnClientClick="parent.removeActiveTab();">
</f:Button></span></div>
<div class=" t-btn1 iconfont icon-yonghu" onclick="PersonalFunction()" style="cursor: pointer"><span>个人<f:Button runat="server" CssClass="bgbtntop" IconFont="User" OnClick="btnPersonal_Click" ToolTip="我的" Hidden="true"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnPersonal" OnClientClick="parent.removeActiveTab();">
</f:Button></span></div>
@ -410,6 +418,12 @@
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Window ID="Window1" Title="呼叫" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1000px"
Height="700px">
</f:Window>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" EnableCaching="false"></asp:XmlDataSource>
<f:Button runat="server" ID="ProjectZJ" OnClick="ProjectZJ_Click" Hidden="true"></f:Button>
<f:Button runat="server" ID="ProjectTG" OnClick="ProjectTG_Click" Hidden="true"></f:Button>
@ -1016,6 +1030,13 @@
}
}
}
//呼叫
function CallFunction() {
// 弹出一个新窗口加载指定的URL
//window.open('https://www.baidu.com', '_blank');
$('[id$="_btnCall"]').click();
}
</script>
</body>
</html>

View File

@ -882,5 +882,14 @@ namespace FineUIPro.Web
}
}
/// <summary>
/// 呼叫
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPhoneClick(object sender, EventArgs e) {
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/ProjectData/ProjectUserContact.aspx")));
}
}
}

View File

@ -7,10 +7,12 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web {
namespace FineUIPro.Web
{
public partial class indexProject {
public partial class indexProject
{
/// <summary>
/// form1 控件。
@ -75,6 +77,15 @@ namespace FineUIPro.Web {
/// </remarks>
protected global::FineUIPro.Button Button21;
/// <summary>
/// btnCall 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCall;
/// <summary>
/// btnPersonal 控件。
/// </summary>
@ -318,6 +329,15 @@ namespace FineUIPro.Web {
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// XmlDataSource1 控件。
/// </summary>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,25 @@
/*
* Mix WebRTC v1.0.0
* the Javascript SIP library
* Copyright: mixcom.cn
* Homepage: https://www.mixcom.cn
* License: MIT
*/
!(function (e) {
if ("object" == typeof exports && "undefined" != typeof module)
module.exports = e();
else if ("function" == typeof define && define.amd) define([], e);
else {
("undefined" != typeof window
? window
: "undefined" != typeof global
? global
: "undefined" != typeof self
? self
: this
).WebRTC = e();
}
})(function () {
});

223
SGGL/FineUIPro.Web/res/js/mixrtc.min.js vendored Normal file
View File

@ -0,0 +1,223 @@
class WebRTC {
constructor(config) {
this.ChangeStatus = "";
this.options = {
mediaConstraints: { audio: true, video: false },
pcConfig: {
iceServers: [
{ urls: ["stun:stun.mixcom.cn:3478"] },
{
urls: "turn:stun.mixcom.cn:3478",
username: "mixcom",
credential: "MikangyunST",
},
],
},
};
this.audioConf = {
audio: "",
ringout: "",
ringin: "",
hangup: "",
};
if (config == undefined) {
console.log("[RTC] : RTC is missing configuration information");
return false;
}
if (
config.audioConfigs == undefined ||
typeof config.audioConfigs.audio != "object"
) {
console.log("[RTC] : audio is not configured");
} else {
this.audioConf = { ...this.audioConf, ...config.audioConfigs };
}
if (config.changeStatus) {
this.ChangeStatus = config.changeStatus;
}
if (config.options !== undefined) {
this.options = config.options;
}
if (config.debug !== undefined && config.debug === true) {
JsSIP.debug.enable("JsSIP:*");
}
}
// 初始化录音播放
audioInit() {
// 默认是循环播放
const audio = this.audioConf.audio;
audio.srcObject = null;
audio.currentTime = 0;
audio.loop = false;
audio.src = "";
}
// 播放录音
audioPlay(src) {
const audio = this.audioConf.audio;
this.audioInit();
if (src == "ringin" || src == "ringout") {
audio.loop = true;
}
audio.src = this.audioConf[src];
audio.load();
audio.play();
}
// 连接WebSocket
WebSocket(url) {
this.socket = new JsSIP.WebSocketInterface(url);
}
// 注册分机
register(config) {
console.log("注册分机");
this.configuration = {
sockets: [this.socket],
uri: "sip:" + config.extension + "@" + config.sipserver,
password: config.password,
contact_uri: "sip:" + config.extension + "@" + config.sipserver,
};
this.ua = new JsSIP.UA(this.configuration);
// Websocket连接成功
this.ua.on("connected", function () {
console.log("websocket连接成功");
});
// Websocket连接断开
this.ua.on("disconnected", function () {
console.log("websocket连接断开");
// 重连
if (this.ua) {
this.ua.start();
}
});
var that = this;
// 呼入或者呼出时触发的事件
this.ua.on("newRTCSession", function (e) {
const { session, originator } = e;
that.session = session;
switch (originator) {
// out
case "local":
// 此处为呼出前的操作
that.ChangeStatus("CallOut");
break;
case "remote":
that.audioPlay("ringin");
that.ChangeStatus("CallIn", session.remote_identity.display_name);
// 此处为呼入接通前的操作
break;
default:
}
// 连接中
session.on("connecting", () => {
that.ChangeStatus("Connecting");
});
// 连接已接受
session.on("accepted", () => {
that.ChangeStatus("Connected");
});
// 通话中
session.on("confirmed", () => {
that.ChangeStatus("Calling");
const stream = new MediaStream();
const receivers = session.connection.getReceivers();
if (receivers) {
receivers.forEach((receiver) => stream.addTrack(receiver.track));
}
audio.srcObject = stream;
// 最后都要播放
audio.play();
});
// 播放回铃音
session.on("progress", () => {
// 判断呼出 播放回铃
if (originator === "local") {
that.audioInit();
const stream = new MediaStream();
const receivers = session.connection.getReceivers();
if (receivers) {
receivers.forEach((receiver) => stream.addTrack(receiver.track));
}
audio.srcObject = stream;
audio.play();
}
});
// 结束
session.on("ended", () => {
console.log("挂断了");
that.ChangeStatus("Ended", "");
that.audioPlay("hangup");
});
// 失败
session.on("failed", (e) => {
console.log("失败了");
that.ChangeStatus("Failed", "");
that.audioPlay("hangup");
});
// ICE 交互连通建立事件 加快通讯速度
session.on('icecandidate', function (event) {
if (
event.candidate.type === 'srflx' &&
event.candidate.relatedAddress !== null &&
event.candidate.relatedPort !== null
) {
event.ready();
}
});
});
this.ua.on("registered", () => {
console.log("[SIP Phone] : Registered (ON LINE)");
});
this.ua.on("unregistered", () => {
console.log("[SIP Phone] : Unregistered (OFF LINE)");
});
this.ua.on("registrationFailed", (e) => {
console.log("[SIP Phone] : Registration Failed (OFF LINE)");
});
this.ua.start();
}
// 注销
unregister() {
this.ua.unregister(this.options);
this.ua.stop();
this.ua = null;
console.log("[SIP Phone] : unregistered")
}
// 呼出
call(phone) {
this.ua.call(phone, this.options);
this.audioPlay("ringout");
}
// 挂断
hangup() {
this.ua.terminateSessions();
}
// 接通
answer() {
console.log(this.session)
this.session.answer(this.options);
}
// 拒接
reject() {
this.ua.terminateSessions();
// this.seesion.terminate(this.options);
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff