提交试车代码

This commit is contained in:
高飞 2023-12-25 14:19:31 +08:00
parent 1f08356eb1
commit 726c5116f4
51 changed files with 3545 additions and 599 deletions

View File

@ -0,0 +1,25 @@
delete Sys_Menu where MenuId='E673FC27-74F1-479C-8DE1-950183566725'
delete Sys_Menu where MenuId='FAD7BF9B-B08A-473B-BEB9-CCAC3E5EA130'
delete Sys_Menu where MenuId='4822760B-395B-4979-B547-EA0D715C8A2C'
delete Sys_Menu where MenuId='7803218A-3E94-4715-814A-951CF2474E7C'
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('4822760B-395B-4979-B547-EA0D715C8A2C','三查四定提出人处理',null,'TestRun/BeforeTestRun/FourDecisionProposerHandle.aspx',16,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('E673FC27-74F1-479C-8DE1-950183566725','三查四定责任人销项',null,'TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx',17,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('7803218A-3E94-4715-814A-951CF2474E7C','三查四定提出人确认',null,'TestRun/BeforeTestRun/FourDecisionProposerConfirm.aspx',18,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('FAD7BF9B-B08A-473B-BEB9-CCAC3E5EA130','三查四定确认',null,'TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx',19,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
--/(0:1:2:退3:4:退5:6:退7:)
alter table PreRun_SubThreeChecksFourDecision add ResponsibilityProposeSatate int null
--
alter table PreRun_SubThreeChecksFourDecision add ProposeHandleData datetime NULL
--
alter table PreRun_SubThreeChecksFourDecision add FourDecisionCode varchar(20) NULL
--
truncate table PreRun_SubThreeChecksFourDecision
truncate table PreRun_DecisionConfirmRecords
truncate table PreRun_PropertySysPiping
truncate table PreRun_SubPropertySelect
truncate table PreRun_TechnologySysPiping
truncate table PreRun_SubTechnologySelect
truncate table PreRun_InstrumentSysPiping
truncate table PreRun_SubInstrumentSelect

View File

@ -113,6 +113,7 @@ namespace BLL
sheetNumber = firstSheet ? 1 : workbook.NumberOfSheets;
for (int i = 0; i < sheetNumber; i++)
{
if (workbook.IsSheetHidden(i)) continue;
string sheetName = workbook.GetSheetName(i);
sheet = workbook.GetSheet(sheetName);
if (sheet != null)
@ -137,6 +138,7 @@ namespace BLL
sheetNumber = firstSheet ? 1 : workbook.NumberOfSheets;
for (int i = 0; i < sheetNumber; i++)
{
if (workbook.IsSheetHidden(i)) continue;
string sheetName = workbook.GetSheetName(i);
sheet = workbook.GetSheet(sheetName);
if (sheet != null)

View File

@ -1674,6 +1674,10 @@
<Content Include="TestRun\BeforeTestRun\DeviceRunEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionOtherConfirm.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionOtherConfirmEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionProposerConfirm.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionProposerConfirmEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionProposerHandle.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionProposerHandleEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionResponsibilityConfirm.aspx" />
<Content Include="TestRun\BeforeTestRun\FourDecisionResponsibilityConfirmEdit.aspx" />
<Content Include="TestRun\BeforeTestRun\InspectTailTermEdit.aspx" />
@ -15154,6 +15158,34 @@
<Compile Include="TestRun\BeforeTestRun\FourDecisionOtherConfirmEdit.aspx.designer.cs">
<DependentUpon>FourDecisionOtherConfirmEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerConfirm.aspx.cs">
<DependentUpon>FourDecisionProposerConfirm.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerConfirm.aspx.designer.cs">
<DependentUpon>FourDecisionProposerConfirm.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerConfirmEdit.aspx.cs">
<DependentUpon>FourDecisionProposerConfirmEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerConfirmEdit.aspx.designer.cs">
<DependentUpon>FourDecisionProposerConfirmEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerHandle.aspx.cs">
<DependentUpon>FourDecisionProposerHandle.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerHandle.aspx.designer.cs">
<DependentUpon>FourDecisionProposerHandle.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerHandleEdit.aspx.cs">
<DependentUpon>FourDecisionProposerHandleEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionProposerHandleEdit.aspx.designer.cs">
<DependentUpon>FourDecisionProposerHandleEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\BeforeTestRun\FourDecisionResponsibilityConfirm.aspx.cs">
<DependentUpon>FourDecisionResponsibilityConfirm.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -4,7 +4,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>提出人,总包,监理,业主确认</title>
<title>总包,监理,业主确认</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
@ -32,7 +32,7 @@
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="320px" Title="提出人,总包,监理,业主确认" ShowBorder="true" Layout="VBox"
EnableCollapse="true" Width="320px" Title="总包,监理,业主确认" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="人员确认" OnNodeCommand="tvControlItem_NodeCommand" runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true" AutoLeafIdentification="true" EnableSingleExpand="false" EnableTextSelection="true">

View File

@ -43,7 +43,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && (x.ProposeUser == this.CurrUser.UserId || x.GeneraUser == this.CurrUser.UserId || x.SupervisionUser == this.CurrUser.UserId || x.OwnerUser == this.CurrUser.UserId)).ToList();
var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.ProposeConfirm == 2 && (x.GeneraUser == this.CurrUser.UserId || x.SupervisionUser == this.CurrUser.UserId || x.OwnerUser == this.CurrUser.UserId)).ToList();
if (decisions.Count == 0) return;
//获取子系统主键
var subsystemids = decisions.ConvertAll(x => x.SubSystemId);
@ -113,10 +113,9 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </summary>
public void BindGrid()
{
string tcrSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ProposeUser as ConfirmUser,cuser.UserName as ConfirmUserName,2 as ConfirmType,'提出人' as ConfirmTypeName,a.ProposeConfirm as ConfirmState,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.ProposeConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime, '') when '' then 0 else DATEDIFF(DAY, GETDATE(), a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.ProposeUser = cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser = ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit = unit.UnitId where 1 = 1 and a.ResponsibilityConfirm = 3 and a.SubSystemId = @SubSystemId and a.ProjectId = @ProjectId ";
string zbSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.GeneraUser as ConfirmUser,cuser.UserName as ConfirmUserName,3 as ConfirmType,'总包' as ConfirmTypeName,a.GeneraConfirm as ConfirmState,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.GeneraConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.GeneraUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ResponsibilityConfirm=3 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
string jlSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.SupervisionUser as ConfirmUser,cuser.UserName as ConfirmUserName,4 as ConfirmType,'监理' as ConfirmTypeName,a.SupervisionConfirm as ConfirmState,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.SupervisionConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.SupervisionUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ResponsibilityConfirm=3 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
string yzSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.OwnerUser as ConfirmUser,cuser.UserName as ConfirmUserName,5 as ConfirmType,'业主' as ConfirmTypeName,a.OwnerConfirm as ConfirmState,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.OwnerConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.OwnerUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ResponsibilityConfirm=3 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
string zbSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.GeneraUser as ConfirmUser,cuser.UserName as ConfirmUserName,4 as ConfirmType,'总包' as ConfirmTypeName,a.GeneraConfirm as ConfirmState,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.GeneraConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.GeneraUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ProposeConfirm=2 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
string jlSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.SupervisionUser as ConfirmUser,cuser.UserName as ConfirmUserName,5 as ConfirmType,'监理' as ConfirmTypeName,a.SupervisionConfirm as ConfirmState,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.SupervisionConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.SupervisionUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ProposeConfirm=2 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
string yzSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.OwnerUser as ConfirmUser,cuser.UserName as ConfirmUserName,6 as ConfirmType,'业主' as ConfirmTypeName,a.OwnerConfirm as ConfirmState,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.OwnerConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.OwnerUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ProposeConfirm=2 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
@ -133,7 +132,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
where += " and isnull(t.DecisionIsClose,0)=@DecisionIsClose";
listStr.Add(new SqlParameter("@DecisionIsClose", ddlDecisionState.SelectedValue));
}
string strSql = $"select * from ({tcrSql} union all {zbSql} union all {jlSql} union all {yzSql} ) as t where 1=1 {where} order by t.ConfirmType,t.AddTime desc";
string strSql = $"select * from ({zbSql} union all {jlSql} union all {yzSql} ) as t where 1=1 {where} order by t.ConfirmType,t.AddTime desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;

View File

@ -4,7 +4,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>提出人,总包,监理,业主确认</title>
<title>总包,监理,业主确认</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.labcenter {
@ -35,7 +35,7 @@
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="提出人,总包,监理,业主确认" ShowBorder="true"
<f:ContentPanel ID="ContentPanel1" Title="总包,监理,业主确认" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"

View File

@ -137,7 +137,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
/// <summary>
/// 整改图片上传
/// 整改图片查看
/// </summary>
protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
{
@ -152,27 +152,22 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
if (decisionModel != null)
{
if (this.ConfirmType == 2)
{
decisionModel.ProposeConfirm = 2;
decisionModel.ProposeConfirmData = DateTime.Now;
}
if (this.ConfirmType == 3)
if (this.ConfirmType == 4)
{
decisionModel.GeneraConfirm = 2;
decisionModel.GeneraConfirmData = DateTime.Now;
}
if (this.ConfirmType == 4)
if (this.ConfirmType == 5)
{
decisionModel.SupervisionConfirm = 2;
decisionModel.SupervisionConfirmData = DateTime.Now;
}
if (this.ConfirmType == 5)
if (this.ConfirmType == 6)
{
decisionModel.OwnerConfirm = 2;
decisionModel.OwnerConfirmData = DateTime.Now;
}
if (decisionModel.ProposeConfirm == 2 && decisionModel.GeneraConfirm == 2 && decisionModel.SupervisionConfirm == 2 && decisionModel.OwnerConfirm == 2)
if (decisionModel.GeneraConfirm == 2 && decisionModel.SupervisionConfirm == 2 && decisionModel.OwnerConfirm == 2)
{
decisionModel.DecisionIsClose = 1;
}

View File

@ -0,0 +1,139 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionProposerConfirm.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionProposerConfirm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>提出人确认</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-cell[data-color=color1] {
background-color: #56ff00;
color: #fff;
}
.f-grid-cell[data-color=color2] {
background-color: #e1db21;
color: #fff;
}
.f-grid-cell[data-color=color3] {
background-color: #e23129;
color: #fff;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server"/>
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="320px" Title="提出人确认" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="提出人确认" OnNodeCommand="tvControlItem_NodeCommand" runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false" EnableTextSelection="true">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="提出人确认" EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="DecisionId,DecisionIsClose" DataIDField="DecisionId" AllowSorting="true" SortField="AddTime" SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true" OnRowDataBound="Grid1_RowDataBound">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="ddlResponsibilityProposeSatate" runat="server" Label="提出人/责任人处理状态" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="责任人通过提出人待处理" Value="5" />
<f:ListItem Text="提出人退回" Value="6" />
<f:ListItem Text="提出人确认通过" Value="7" />
</f:DropDownList>
<f:DropDownList ID="ddlDecisionState" runat="server" Label="是否关闭" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="未关闭" Value="0" />
<f:ListItem Text="已关闭" Value="1" />
</f:DropDownList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnQuery" Text="查询" ToolTip="查询" Icon="SystemSearch" EnablePostBack="true" runat="server" OnClick="btnQuery_Click"></f:Button>
<f:Button ID="btnView" Text="查看" ToolTip="查看" Icon="ApplicationViewDetail" runat="server" OnClick="btnView_Click"></f:Button>
<f:Button ID="btnSubmitConfirm" Text="提出人确认" ToolTip="提出人确认" runat="server" OnClick="btnSubmitConfirm_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ProposeUserName" DataField="ProposeUserName" HeaderText="提出人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="QuestionDesc" DataField="QuestionDesc" HeaderText="整改问题描述" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="Level" DataField="Level" HeaderText="级别" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="Speciality" DataField="Speciality" HeaderText="专业" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ResponsibilityUnitName" DataField="ResponsibilityUnitName" HeaderText="责任单位" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ResponsibilityUserName" DataField="ResponsibilityUserName" HeaderText="责任人" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="AskDestructionTime" DataField="AskDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="要求销项时间" />
<f:RenderField ColumnID="RestrictCondition" DataField="RestrictCondition" HeaderText="制约条件" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="RealityDestructionTime" DataField="RealityDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="实际销项时间" />
<f:RenderField ColumnID="ResponsibilityProposeSatateName" DataField="ResponsibilityProposeSatateName" HeaderText="责任人/提出人处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="DecisionIsCloseName" DataField="DecisionIsCloseName" HeaderText="是否关闭" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="DestructionDiffDay" HeaderText="整改是否逾期" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblIsOverdue" runat="server" Text='<%# IsOverdue(Eval("DestructionDiffDay"),Eval("DecisionIsClose")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</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="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="提出人确认" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="1300px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuConfirm" EnablePostBack="true" runat="server" Text="确认" Icon="Pencil" OnClick="btnMenuConfirm_Click">
</f:MenuButton>
</Items>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show();
return false;
}
</script>
</body>
</html>

View File

@ -0,0 +1,298 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerConfirm : PageBase
{
/// <summary>
/// 子系统主键
/// </summary>
public string SsubSystemId
{
get { return (string)ViewState["SsubSystemId"]; }
set { ViewState["SsubSystemId"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//加载树
this.InitTreeMenu();
}
}
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "提出人确认";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ProposeUser == this.CurrUser.UserId && x.ResponsibilityConfirm == 2 && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (decisions.Count == 0) return;
//获取子系统主键
var subsystemids = decisions.ConvertAll(x => x.SubSystemId);
//根据子系统获取其他节点ID
var userDevices = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && subsystemids.Contains(p.PreRunId)).ToList();
List<string> allIds = new List<string>();
allIds.AddRange(userDevices.ConvertAll(x => x.ProcessesId));
allIds.AddRange(userDevices.ConvertAll(x => x.SystemId));
allIds.AddRange(subsystemids);
var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && p.PreRunLevel > 1 && allIds.Contains(p.PreRunId)).ToList();
var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 2).OrderBy(x => x.Sort);
foreach (var item in onePreRunLs)
{
TreeNode rootUnitNode = new TreeNode();//定义根节点
rootUnitNode.NodeID = item.PreRunId;
rootUnitNode.Text = item.PreRunName;
rootUnitNode.ToolTip = item.PreRunName;
rootUnitNode.CommandName = "";
rootUnitNode.EnableClickEvent = false;
rootUnitNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootUnitNode);
rootUnitNode.Expanded = true;
var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList();
this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId);
}
}
/// <summary>
/// 绑定树节点
/// </summary>
private void BindNodes(TreeNode node, List<PreRun_SysDevice> list, string parentId)
{
var itemList = list.Where(p => p.ParentId == parentId).OrderBy(x => x.Sort).ToList();
if (itemList.Count > 0)
{
foreach (var item in itemList)
{
TreeNode newNode = new TreeNode();
newNode.Text = item.PreRunName;
newNode.NodeID = item.PreRunId;
newNode.ToolTip = item.PreRunName;
newNode.CommandName = "";
newNode.EnableClickEvent = item.PreRunLevel == 4 ? true : false;
newNode.EnableExpandEvent = item.PreRunLevel == 4 ? true : false;
newNode.Expanded = true;
node.Nodes.Add(newNode);
BindNodes(newNode, list, item.PreRunId);
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.SsubSystemId = tvControlItem.SelectedNodeID;
BindGrid();
}
#region
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ResponsibilityProposeSatate,(case a.ResponsibilityProposeSatate when 0 then '待提交' when 1 then '提出人待处理' when 2 then '提出人处理退回' when 3 then '责任人待确认' when 4 then '责任人退回' when 5 then '责任人通过提出人待处理' when 6 then '提出人退回' when 7 then '提出人确认通过' else '' end) as ResponsibilityProposeSatateName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId and a.ProposeUser=@ProposeUser and a.ResponsibilityProposeSatate in (5,6,7) ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
listStr.Add(new SqlParameter("@ProposeUser", this.CurrUser.UserId));
//提出人/责任人处理状态
if (!string.IsNullOrWhiteSpace(ddlResponsibilityProposeSatate.SelectedValue))
{
strSql += " and a.ResponsibilityProposeSatate=@ResponsibilityProposeSatate";
listStr.Add(new SqlParameter("@ResponsibilityProposeSatate", ddlResponsibilityProposeSatate.SelectedValue));
}
//是否关闭
if (!string.IsNullOrWhiteSpace(ddlDecisionState.Text))
{
strSql += " and a.DecisionState=@DecisionState";
listStr.Add(new SqlParameter("@DecisionState", ddlDecisionState.SelectedValue));
}
strSql += " order by a.AddTime desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnSubmitConfirm_Click(null, null);
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 行数据处理事件
/// </summary>
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
DataRowView row = e.DataItem as DataRowView;
int diffDay = Convert.ToInt32(row["DestructionDiffDay"]);
TemplateField AdjustDiffDay = Grid1.FindColumn("DestructionDiffDay") as TemplateField;
int isClose = int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString());
if (isClose != 1)
{
if (diffDay > 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color1";
}
else if (diffDay == 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color2";
}
else if (diffDay < 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color3";
}
}
}
#endregion
/// <summary>
/// 提出人确认
/// </summary>
protected void btnSubmitConfirm_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
if (model != null)
{
if (model.ResponsibilityProposeSatate != 5)
{
Alert.ShowInTop("仅“责任人通过提出人待处理”状态才可进行提出人确认!", MessageBoxIcon.Warning);
return;
}
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionProposerConfirmEdit.aspx?DecisionId={0}", Grid1.SelectedRowID, "提出人确认 - ")));
}
/// <summary>
/// 搜索
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 查看
/// </summary>
protected void btnView_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionProposerConfirmEdit.aspx?DecisionId={0}&IsView=true", Grid1.SelectedRowID, "查看 - ")));
}
/// <summary>
/// 是否逾期返回
/// </summary>
/// <returns></returns>
public string IsOverdue(object diffDayVal, object stateVal)
{
var result = string.Empty;
var diffDay = 0;
var itemState = 0;
if (diffDayVal != null) diffDay = int.Parse(diffDayVal.ToString());
if (stateVal != null) itemState = int.Parse(stateVal.ToString());
if (itemState != 1)
{
if (diffDay > 0)
{
result = "未逾期";
}
else if (diffDay == 0)
{
result = "即将逾期";
}
else if (diffDay < 0)
{
result = "已逾期";
}
}
else
{
result = "已关闭";
}
return result;
}
/// <summary>
/// 右击确认
/// </summary>
protected void btnMenuConfirm_Click(object sender, EventArgs e)
{
btnSubmitConfirm_Click(null, null);
}
/// <summary>
/// 关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
}
}
}

View File

@ -0,0 +1,188 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerConfirm
{
/// <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>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// ddlResponsibilityProposeSatate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlResponsibilityProposeSatate;
/// <summary>
/// ddlDecisionState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlDecisionState;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnView 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnView;
/// <summary>
/// btnSubmitConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmitConfirm;
/// <summary>
/// lblIsOverdue 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblIsOverdue;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuConfirm;
}
}

View File

@ -0,0 +1,160 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionProposerConfirmEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionProposerConfirmEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>责任人确认</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.labcenter {
text-align: center;
}
.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="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="责任人确认" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblProjectName" Label="项目名称" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblResponsibilityUnit" Label="责任单位" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblQuestionDesc" Label="整改问题描述" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblRestrictCondition" Label="整改方法/制约条件" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblLevel" Label="级别" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblSpeciality" Label="专业" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblAskDestructionTime" Label="要求消项时间" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblRealityDestructionTime" Label="实际消项时间" LabelWidth="150px" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblResponsibilityUser" Label="责任人" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblProposeUser" Label="提出人" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblGeneraUser" Label="总包" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblSupervisionUser" Label="监理" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblOwnerUser" Label="业主" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblDecisionIsClose" Label="尾项是否关闭" LabelWidth="160px" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel1" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="问题图片查看:" CssStyle="padding-left:25px" Width="150px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="imgBtnQuestionFile" Text="问题图片查看" ToolTip="问题图片查看" Icon="TableCell" runat="server"
OnClick="imgBtnQuestionFile_Click">
</f:Button>
</Items>
</f:Panel>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label ID="lblAttach" CssStyle="padding-left:23px" Width="150px" runat="server" CssClass="marginr" ShowLabel="false"
Text="整改图片查看:">
</f:Label>
<f:Button ID="imgBtnRectifyFile" Text="整改图片查看" ToolTip="整改图片查看" Icon="TableCell" runat="server" OnClick="imgBtnRectifyFile_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtConfirmDesc" ShowRedStar="true" Required="true" runat="server" Label="确认意见" MaxLength="3000"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove2">
<Items>
<f:ContentPanel Title="责任人处理列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvTcrcl" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="ConfirmId" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ConstructionUnitName" Width="300px" DataField="ConfirmUserName" HeaderText="责任人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" Width="100px" DataField="ConfirmStateName" HeaderText="确认状态" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="ConfirmTime" DataField="ConfirmTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="确认时间" />
<f:RenderField ColumnID="ConfirmDesc" DataField="ConfirmDesc" HeaderText="确认意见" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnReturn" Icon="SystemSave" runat="server" Text="退回" ToolTip="退回" ValidateForms="SimpleForm1" OnClick="btnReturn_Click">
</f:Button>
<f:Button ID="btnPass" Icon="SystemSaveNew" runat="server" Text="确认通过" ToolTip="确认通过" ValidateForms="SimpleForm1" OnClick="btnPass_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" OnClose="WindowAtt_Close" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>

View File

@ -0,0 +1,244 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerConfirmEdit : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string DecisionId
{
get { return (string)ViewState["DecisionId"]; }
set { ViewState["DecisionId"] = value; }
}
/// <summary>
/// 是否查看
/// </summary>
public bool IsView
{
get { return (bool)ViewState["IsView"]; }
set { ViewState["IsView"] = value; }
}
/// <summary>
/// 问题图片是否可编辑
/// </summary>
public int QuestionEditImg
{
get { return (int)ViewState["QuestionEditImg"]; }
set { ViewState["QuestionEditImg"] = value; }
}
/// <summary>
/// 整改图片是否可编辑
/// </summary>
public int RectifyEditImg
{
get { return (int)ViewState["RectifyEditImg"]; }
set { ViewState["RectifyEditImg"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
this.DecisionId = Request["DecisionId"];
//是否查看
this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
//数据绑定
PageInit();
//提出人处理
gvDataBrid();
//判断是否查看
if (IsView)
{
btnReturn.Hidden = true;
btnPass.Hidden = true;
QuestionEditImg = -1;
RectifyEditImg = -1;
lblResponsibilityUnit.Enabled = false;
lblQuestionDesc.Enabled = false;
lblRestrictCondition.Enabled = false;
lblLevel.Enabled = false;
lblSpeciality.Enabled = false;
lblAskDestructionTime.Enabled = false;
lblRealityDestructionTime.Enabled = false;
lblResponsibilityUser.Enabled = false;
lblProposeUser.Enabled = false;
lblGeneraUser.Enabled = false;
lblSupervisionUser.Enabled = false;
lblOwnerUser.Enabled = false;
lblDecisionIsClose.Enabled = false;
txtConfirmDesc.Enabled = false;
}
}
/// <summary>
/// 默认绑定
/// </summary>
public void PageInit()
{
QuestionEditImg = -1;
RectifyEditImg = -1;
var query = from a in Funs.DB.PreRun_SubThreeChecksFourDecision
join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
join c in Funs.DB.Base_Unit on a.ResponsibilityUnit equals c.UnitId
join d in Funs.DB.Sys_User on a.ResponsibilityUser equals d.UserId
join e in Funs.DB.Sys_User on a.ProposeUser equals e.UserId
join f in Funs.DB.Sys_User on a.GeneraUser equals f.UserId
join g in Funs.DB.Sys_User on a.SupervisionUser equals g.UserId
join h in Funs.DB.Sys_User on a.OwnerUser equals h.UserId
where a.DecisionId == this.DecisionId
select new
{
a.DecisionId,
a.ProjectId,
b.ProjectName,
a.ResponsibilityUnit,
ResponsibilityUnitName = c.UnitName,
a.ResponsibilityUser,
ResponsibilityUserName = d.UserName,
a.ProposeUser,
ProposeUserName = e.UserName,
a.GeneraUser,
GeneraUserName = f.UserName,
a.SupervisionUser,
SupervisionUserName = g.UserName,
a.OwnerUser,
OwnerUserName = h.UserName,
a.QuestionDesc,
a.Level,
a.Speciality,
a.AskDestructionTime,
a.RealityDestructionTime,
a.RestrictCondition,
a.DecisionIsClose,
DecisionIsCloseName = a.DecisionIsClose == 1 ? "已关闭" : "未关闭"
};
var model = query.FirstOrDefault();
if (model != null)
{
lblProjectName.Text = model.ProjectName;
lblResponsibilityUnit.Text = model.ResponsibilityUnitName;
lblQuestionDesc.Text = model.QuestionDesc;
lblRestrictCondition.Text = model.RestrictCondition;
lblLevel.Text = model.Level;
lblSpeciality.Text = model.Speciality;
lblAskDestructionTime.Text = model.AskDestructionTime.Value != null ? model.AskDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
lblRealityDestructionTime.Text = model.RealityDestructionTime != null ? model.RealityDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
lblResponsibilityUser.Text = model.ResponsibilityUserName;
lblProposeUser.Text = model.ProposeUserName;
lblGeneraUser.Text = model.GeneraUserName;
lblSupervisionUser.Text = model.SupervisionUserName;
lblOwnerUser.Text = model.OwnerUserName;
lblDecisionIsClose.Text = model.DecisionIsCloseName;
}
}
/// <summary>
/// 提出人处理
/// </summary>
public void gvDataBrid()
{
string strSql = @"select a.ConfirmId,a.ProjectId,a.DecisionId,a.ConfirmDesc,a.ConfirmTime,a.ConfirmUser,b.UserName as ConfirmUserName,a.ConfirmType,(case a.ConfirmType when 1 then '提出人处理' when 2 then '责任人确认' when 3 then '提出人确认' when 4 then '总包确认' when 5 then '监理确认' when 6 then '业主确认' else '' end) as ConfirmTypeName,a.ConfirmState,(case a.ConfirmState when 1 then '确认通过' when 2 then '确认退回' else '' end) as ConfirmStateName,a.AddUser,a.AddTime from PreRun_DecisionConfirmRecords as a left join Sys_User as b on a.ConfirmUser=b.UserId where a.ProjectId=@ProjectId and a.DecisionId=@DecisionId and a.ConfirmType=2";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@DecisionId", this.DecisionId));
strSql += " order by a.AddTime asc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
gvTcrcl.DataSource = tb;
gvTcrcl.DataBind();
}
/// <summary>
/// 问题图片查看
/// </summary>
protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.DecisionId + "q", Const.InspectTailTerm)));
}
/// <summary>
/// 整改图片查看
/// </summary>
protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", RectifyEditImg, this.DecisionId + "h", Const.InspectTailTerm)));
}
/// <summary>
/// 退回
/// </summary>
protected void btnReturn_Click(object sender, EventArgs e)
{
var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
if (decisionModel != null)
{
decisionModel.ProposeConfirm = 1;
decisionModel.ResponsibilityProposeSatate = 6;
var model = new PreRun_DecisionConfirmRecords();
model.ConfirmId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.DecisionId = this.DecisionId;
model.ConfirmDesc = txtConfirmDesc.Text;
model.ConfirmTime = DateTime.Now;
model.ConfirmUser = this.CurrUser.UserId;
model.ConfirmType = 3;
model.ConfirmState = 2;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.PreRun_DecisionConfirmRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("退回成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 确认通过
/// </summary>
protected void btnPass_Click(object sender, EventArgs e)
{
var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
if (decisionModel != null)
{
decisionModel.ResponsibilityProposeSatate = 7;
decisionModel.ProposeConfirm = 2;
decisionModel.ResponsibilityConfirmData = DateTime.Now;
var model = new PreRun_DecisionConfirmRecords();
model.ConfirmId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.DecisionId = this.DecisionId;
model.ConfirmDesc = txtConfirmDesc.Text;
model.ConfirmTime = DateTime.Now;
model.ConfirmUser = this.CurrUser.UserId;
model.ConfirmType = 3;
model.ConfirmState = 1;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.PreRun_DecisionConfirmRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("确认通过成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 关闭
/// </summary>
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
}
}
}

View File

@ -0,0 +1,305 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerConfirmEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// lblProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProjectName;
/// <summary>
/// lblResponsibilityUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblResponsibilityUnit;
/// <summary>
/// lblQuestionDesc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblQuestionDesc;
/// <summary>
/// lblRestrictCondition 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblRestrictCondition;
/// <summary>
/// lblLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblLevel;
/// <summary>
/// lblSpeciality 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblSpeciality;
/// <summary>
/// lblAskDestructionTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAskDestructionTime;
/// <summary>
/// lblRealityDestructionTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblRealityDestructionTime;
/// <summary>
/// lblResponsibilityUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblResponsibilityUser;
/// <summary>
/// lblProposeUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProposeUser;
/// <summary>
/// lblGeneraUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblGeneraUser;
/// <summary>
/// lblSupervisionUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblSupervisionUser;
/// <summary>
/// lblOwnerUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblOwnerUser;
/// <summary>
/// lblDecisionIsClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblDecisionIsClose;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// imgBtnQuestionFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnQuestionFile;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// lblAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAttach;
/// <summary>
/// imgBtnRectifyFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnRectifyFile;
/// <summary>
/// txtConfirmDesc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtConfirmDesc;
/// <summary>
/// plApprove2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove2;
/// <summary>
/// gvTcrcl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvTcrcl;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnReturn 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReturn;
/// <summary>
/// btnPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPass;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,140 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionProposerHandle.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionProposerHandle" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>提出人处理</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-cell[data-color=color1] {
background-color: #56ff00;
color: #fff;
}
.f-grid-cell[data-color=color2] {
background-color: #e1db21;
color: #fff;
}
.f-grid-cell[data-color=color3] {
background-color: #e23129;
color: #fff;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server"/>
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="320px" Title="提出人处理" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="提出人处理" OnNodeCommand="tvControlItem_NodeCommand" runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false" EnableTextSelection="true">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="提出人处理" EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="DecisionId,DecisionIsClose" DataIDField="DecisionId" AllowSorting="true" SortField="AddTime" SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true" OnRowDataBound="Grid1_RowDataBound">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="ddlResponsibilityProposeSatate" runat="server" Label="提出人处理状态" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="提出人待处理" Value="1" />
<f:ListItem Text="提出人处理退回" Value="2" />
<f:ListItem Text="责任人退回" Value="4" />
</f:DropDownList>
<f:DropDownList ID="ddlDecisionState" runat="server" Label="是否关闭" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="未关闭" Value="0" />
<f:ListItem Text="已关闭" Value="1" />
</f:DropDownList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnQuery" Text="查询" ToolTip="查询" Icon="SystemSearch" EnablePostBack="true" runat="server" OnClick="btnQuery_Click"></f:Button>
<f:Button ID="btnView" Text="查看" ToolTip="查看" Icon="ApplicationViewDetail" runat="server" OnClick="btnView_Click"></f:Button>
<f:Button ID="btnSubmitConfirm" Text="提出人处理" ToolTip="提出人处理" runat="server" OnClick="btnSubmitConfirm_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ProposeUserName" DataField="ProposeUserName" HeaderText="提出人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="QuestionDesc" DataField="QuestionDesc" HeaderText="整改问题描述" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="Level" DataField="Level" HeaderText="级别" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="Speciality" DataField="Speciality" HeaderText="专业" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ResponsibilityUnitName" DataField="ResponsibilityUnitName" HeaderText="责任单位" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ResponsibilityUserName" DataField="ResponsibilityUserName" HeaderText="责任人" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="AskDestructionTime" DataField="AskDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="要求销项时间" />
<f:RenderField ColumnID="RestrictCondition" DataField="RestrictCondition" HeaderText="制约条件" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="RealityDestructionTime" DataField="RealityDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="实际销项时间" />
<f:RenderField ColumnID="ResponsibilityProposeSatateName" DataField="ResponsibilityProposeSatateName" HeaderText="责任人/提出人处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="DecisionIsCloseName" DataField="DecisionIsCloseName" HeaderText="是否关闭" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="DestructionDiffDay" HeaderText="整改是否逾期" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblIsOverdue" runat="server" Text='<%# IsOverdue(Eval("DestructionDiffDay"),Eval("DecisionIsClose")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</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="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="提出人处理" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="1300px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuConfirm" EnablePostBack="true" runat="server" Text="确认" Icon="Pencil" OnClick="btnMenuConfirm_Click">
</f:MenuButton>
</Items>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show();
return false;
}
</script>
</body>
</html>

View File

@ -0,0 +1,299 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerHandle : PageBase
{
/// <summary>
/// 子系统主键
/// </summary>
public string SsubSystemId
{
get { return (string)ViewState["SsubSystemId"]; }
set { ViewState["SsubSystemId"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//加载树
this.InitTreeMenu();
}
}
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "提出人处理";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ProposeUser == this.CurrUser.UserId && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (decisions.Count == 0) return;
//获取子系统主键
var subsystemids = decisions.ConvertAll(x => x.SubSystemId);
//根据子系统获取其他节点ID
var userDevices = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && subsystemids.Contains(p.PreRunId)).ToList();
List<string> allIds = new List<string>();
allIds.AddRange(userDevices.ConvertAll(x => x.ProcessesId));
allIds.AddRange(userDevices.ConvertAll(x => x.SystemId));
allIds.AddRange(subsystemids);
var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && p.PreRunLevel > 1 && allIds.Contains(p.PreRunId)).ToList();
var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 2).OrderBy(x => x.Sort);
foreach (var item in onePreRunLs)
{
TreeNode rootUnitNode = new TreeNode();//定义根节点
rootUnitNode.NodeID = item.PreRunId;
rootUnitNode.Text = item.PreRunName;
rootUnitNode.ToolTip = item.PreRunName;
rootUnitNode.CommandName = "";
rootUnitNode.EnableClickEvent = false;
rootUnitNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootUnitNode);
rootUnitNode.Expanded = true;
var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList();
this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId);
}
}
/// <summary>
/// 绑定树节点
/// </summary>
private void BindNodes(TreeNode node, List<PreRun_SysDevice> list, string parentId)
{
var itemList = list.Where(p => p.ParentId == parentId).OrderBy(x => x.Sort).ToList();
if (itemList.Count > 0)
{
foreach (var item in itemList)
{
TreeNode newNode = new TreeNode();
newNode.Text = item.PreRunName;
newNode.NodeID = item.PreRunId;
newNode.ToolTip = item.PreRunName;
newNode.CommandName = "";
newNode.EnableClickEvent = item.PreRunLevel == 4 ? true : false;
newNode.EnableExpandEvent = item.PreRunLevel == 4 ? true : false;
newNode.Expanded = true;
node.Nodes.Add(newNode);
BindNodes(newNode, list, item.PreRunId);
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.SsubSystemId = tvControlItem.SelectedNodeID;
BindGrid();
}
#region
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ResponsibilityProposeSatate,(case a.ResponsibilityProposeSatate when 0 then '待提交' when 1 then '提出人待处理' when 2 then '提出人处理退回' when 3 then '责任人待确认' when 4 then '责任人退回' when 5 then '责任人通过提出人待处理' when 6 then '提出人退回' when 7 then '提出人确认通过' else '' end) as ResponsibilityProposeSatateName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId and a.ProposeUser=@ProposeUser and a.ResponsibilityProposeSatate in (1,2,4) ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
listStr.Add(new SqlParameter("@ProposeUser", this.CurrUser.UserId));
//提出人处理状态
if (!string.IsNullOrWhiteSpace(ddlResponsibilityProposeSatate.SelectedValue))
{
strSql += " and a.ResponsibilityProposeSatate=@ResponsibilityProposeSatate";
listStr.Add(new SqlParameter("@ResponsibilityProposeSatate", ddlResponsibilityProposeSatate.SelectedValue));
}
//是否关闭
if (!string.IsNullOrWhiteSpace(ddlDecisionState.Text))
{
strSql += " and a.DecisionState=@DecisionState";
listStr.Add(new SqlParameter("@DecisionState", ddlDecisionState.SelectedValue));
}
strSql += " order by a.AddTime desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnSubmitConfirm_Click(null, null);
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 行数据处理事件
/// </summary>
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
DataRowView row = e.DataItem as DataRowView;
int diffDay = Convert.ToInt32(row["DestructionDiffDay"]);
TemplateField AdjustDiffDay = Grid1.FindColumn("DestructionDiffDay") as TemplateField;
int isClose = int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString());
if (isClose != 1)
{
if (diffDay > 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color1";
}
else if (diffDay == 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color2";
}
else if (diffDay < 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color3";
}
}
}
#endregion
/// <summary>
/// 提出人处理
/// </summary>
protected void btnSubmitConfirm_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
if (model != null)
{
int[] arr = { 1, 4 };
if (!arr.Contains(model.ResponsibilityProposeSatate.Value))
{
Alert.ShowInTop("仅“提出人待处理”和“责任人退回”才可以进行处理操作!", MessageBoxIcon.Warning);
return;
}
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionProposerHandleEdit.aspx?DecisionId={0}", Grid1.SelectedRowID, "提出人处理 - ")));
}
/// <summary>
/// 搜索
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 查看
/// </summary>
protected void btnView_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionProposerHandleEdit.aspx?DecisionId={0}&IsView=true", Grid1.SelectedRowID, "查看 - ")));
}
/// <summary>
/// 是否逾期返回
/// </summary>
/// <returns></returns>
public string IsOverdue(object diffDayVal, object stateVal)
{
var result = string.Empty;
var diffDay = 0;
var itemState = 0;
if (diffDayVal != null) diffDay = int.Parse(diffDayVal.ToString());
if (stateVal != null) itemState = int.Parse(stateVal.ToString());
if (itemState != 1)
{
if (diffDay > 0)
{
result = "未逾期";
}
else if (diffDay == 0)
{
result = "即将逾期";
}
else if (diffDay < 0)
{
result = "已逾期";
}
}
else
{
result = "已关闭";
}
return result;
}
/// <summary>
/// 右击确认
/// </summary>
protected void btnMenuConfirm_Click(object sender, EventArgs e)
{
btnSubmitConfirm_Click(null, null);
}
/// <summary>
/// 关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
}
}
}

View File

@ -0,0 +1,188 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerHandle
{
/// <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>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// ddlResponsibilityProposeSatate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlResponsibilityProposeSatate;
/// <summary>
/// ddlDecisionState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlDecisionState;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnView 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnView;
/// <summary>
/// btnSubmitConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmitConfirm;
/// <summary>
/// lblIsOverdue 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblIsOverdue;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuConfirm;
}
}

View File

@ -0,0 +1,129 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionProposerHandleEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionProposerHandleEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>提出人处理</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.labcenter {
text-align: center;
}
.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="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="提出人处理" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblProjectName" Label="项目名称" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblResponsibilityUnit" Label="责任单位" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblQuestionDesc" Label="整改问题描述" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblRestrictCondition" Label="整改方法/制约条件" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblLevel" Label="级别" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblSpeciality" Label="专业" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblAskDestructionTime" Label="要求消项时间" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblRealityDestructionTime" Label="实际消项时间" LabelWidth="150px" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblResponsibilityUser" Label="责任人" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblProposeUser" Label="提出人" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblGeneraUser" Label="总包" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblSupervisionUser" Label="监理" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblOwnerUser" Label="业主" LabelAlign="Right"></f:Label>
<f:Label runat="server" ID="lblDecisionIsClose" Label="尾项是否关闭" LabelWidth="160px" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel1" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="问题图片上传:" CssStyle="padding-left:25px" Width="150px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="imgBtnQuestionFile" Text="问题图片上传" ToolTip="问题图片上传" Icon="TableCell" runat="server"
OnClick="imgBtnQuestionFile_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtConfirmDesc" ShowRedStar="true" Required="true" runat="server" Label="整改意见" MaxLength="3000"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnReturn" Icon="SystemSave" runat="server" Text="退回" ToolTip="退回" ValidateForms="SimpleForm1" OnClick="btnReturn_Click">
</f:Button>
<f:Button ID="btnSave" Icon="SystemSaveNew" runat="server" Text="确认并提交提出人处理" ToolTip="" ValidateForms="SimpleForm1" OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" OnClose="WindowAtt_Close" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>

View File

@ -0,0 +1,203 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerHandleEdit : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string DecisionId
{
get { return (string)ViewState["DecisionId"]; }
set { ViewState["DecisionId"] = value; }
}
/// <summary>
/// 是否查看
/// </summary>
public bool IsView
{
get { return (bool)ViewState["IsView"]; }
set { ViewState["IsView"] = value; }
}
/// <summary>
/// 问题图片是否可编辑
/// </summary>
public int QuestionEditImg
{
get { return (int)ViewState["QuestionEditImg"]; }
set { ViewState["QuestionEditImg"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
this.DecisionId = Request["DecisionId"];
//是否查看
this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
//数据绑定
PageInit();
//判断是否查看
if (IsView)
{
btnReturn.Hidden = true;
btnSave.Hidden = true;
QuestionEditImg = -1;
lblResponsibilityUnit.Enabled = false;
lblQuestionDesc.Enabled = false;
lblRestrictCondition.Enabled = false;
lblLevel.Enabled = false;
lblSpeciality.Enabled = false;
lblAskDestructionTime.Enabled = false;
lblRealityDestructionTime.Enabled = false;
lblResponsibilityUser.Enabled = false;
lblProposeUser.Enabled = false;
lblGeneraUser.Enabled = false;
lblSupervisionUser.Enabled = false;
lblOwnerUser.Enabled = false;
lblDecisionIsClose.Enabled = false;
txtConfirmDesc.Enabled = false;
}
}
/// <summary>
/// 默认绑定
/// </summary>
public void PageInit()
{
QuestionEditImg = 0;
var query = from a in Funs.DB.PreRun_SubThreeChecksFourDecision
join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
join c in Funs.DB.Base_Unit on a.ResponsibilityUnit equals c.UnitId
join d in Funs.DB.Sys_User on a.ResponsibilityUser equals d.UserId
join e in Funs.DB.Sys_User on a.ProposeUser equals e.UserId
join f in Funs.DB.Sys_User on a.GeneraUser equals f.UserId
join g in Funs.DB.Sys_User on a.SupervisionUser equals g.UserId
join h in Funs.DB.Sys_User on a.OwnerUser equals h.UserId
where a.DecisionId == this.DecisionId
select new
{
a.DecisionId,
a.ProjectId,
b.ProjectName,
a.ResponsibilityUnit,
ResponsibilityUnitName = c.UnitName,
a.ResponsibilityUser,
ResponsibilityUserName = d.UserName,
a.ProposeUser,
ProposeUserName = e.UserName,
a.GeneraUser,
GeneraUserName = f.UserName,
a.SupervisionUser,
SupervisionUserName = g.UserName,
a.OwnerUser,
OwnerUserName = h.UserName,
a.QuestionDesc,
a.Level,
a.Speciality,
a.AskDestructionTime,
a.RealityDestructionTime,
a.RestrictCondition,
a.DecisionIsClose,
DecisionIsCloseName = a.DecisionIsClose == 1 ? "已关闭" : "未关闭"
};
var model = query.FirstOrDefault();
if (model != null)
{
lblProjectName.Text = model.ProjectName;
lblResponsibilityUnit.Text = model.ResponsibilityUnitName;
lblQuestionDesc.Text = model.QuestionDesc;
lblRestrictCondition.Text = model.RestrictCondition;
lblLevel.Text = model.Level;
lblSpeciality.Text = model.Speciality;
lblAskDestructionTime.Text = model.AskDestructionTime.Value != null ? model.AskDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
lblRealityDestructionTime.Text = model.RealityDestructionTime != null ? model.RealityDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
lblResponsibilityUser.Text = model.ResponsibilityUserName;
lblProposeUser.Text = model.ProposeUserName;
lblGeneraUser.Text = model.GeneraUserName;
lblSupervisionUser.Text = model.SupervisionUserName;
lblOwnerUser.Text = model.OwnerUserName;
lblDecisionIsClose.Text = model.DecisionIsCloseName;
}
}
/// <summary>
/// 问题图片查看
/// </summary>
protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.DecisionId + "q", Const.InspectTailTerm)));
}
/// <summary>
/// 退回
/// </summary>
protected void btnReturn_Click(object sender, EventArgs e)
{
var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
if (decisionModel != null)
{
decisionModel.ResponsibilityProposeSatate = 2;
var model = new PreRun_DecisionConfirmRecords();
model.ConfirmId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.DecisionId = this.DecisionId;
model.ConfirmDesc = txtConfirmDesc.Text;
model.ConfirmTime = DateTime.Now;
model.ConfirmUser = this.CurrUser.UserId;
model.ConfirmType = 1;
model.ConfirmState = 2;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.PreRun_DecisionConfirmRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("退回成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 确认并提交责任人确认
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
if (decisionModel != null)
{
decisionModel.ResponsibilityProposeSatate = 3;
decisionModel.ProposeHandleData = DateTime.Now;
var model = new PreRun_DecisionConfirmRecords();
model.ConfirmId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.DecisionId = this.DecisionId;
model.ConfirmDesc = txtConfirmDesc.Text;
model.ConfirmTime = DateTime.Now;
model.ConfirmUser = this.CurrUser.UserId;
model.ConfirmType = 1;
model.ConfirmState = 1;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.PreRun_DecisionConfirmRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("确认并提交责任人确认成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 关闭
/// </summary>
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
}
}
}

View File

@ -0,0 +1,260 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class FourDecisionProposerHandleEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// lblProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProjectName;
/// <summary>
/// lblResponsibilityUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblResponsibilityUnit;
/// <summary>
/// lblQuestionDesc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblQuestionDesc;
/// <summary>
/// lblRestrictCondition 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblRestrictCondition;
/// <summary>
/// lblLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblLevel;
/// <summary>
/// lblSpeciality 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblSpeciality;
/// <summary>
/// lblAskDestructionTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAskDestructionTime;
/// <summary>
/// lblRealityDestructionTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblRealityDestructionTime;
/// <summary>
/// lblResponsibilityUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblResponsibilityUser;
/// <summary>
/// lblProposeUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProposeUser;
/// <summary>
/// lblGeneraUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblGeneraUser;
/// <summary>
/// lblSupervisionUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblSupervisionUser;
/// <summary>
/// lblOwnerUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblOwnerUser;
/// <summary>
/// lblDecisionIsClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblDecisionIsClose;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// imgBtnQuestionFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnQuestionFile;
/// <summary>
/// txtConfirmDesc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtConfirmDesc;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnReturn 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReturn;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -44,11 +44,12 @@
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="ddlResponsibilityConfirm" runat="server" Label="是否确认" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:DropDownList ID="ddlResponsibilityProposeSatate" runat="server" Label="提出人/责任人处理状态" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="未确认" Value="1" />
<f:ListItem Text="确认退回" Value="2" />
<f:ListItem Text="确认通过" Value="3" />
<f:ListItem Text="责任人待确认" Value="3" />
<f:ListItem Text="责任人退回" Value="4" />
<f:ListItem Text="责任人通过提出人待处理" Value="5" />
<f:ListItem Text="提出人退回" Value="6" />
</f:DropDownList>
<f:DropDownList ID="ddlDecisionState" runat="server" Label="是否关闭" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
@ -79,8 +80,8 @@
<f:BoundField ColumnID="AskDestructionTime" DataField="AskDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="要求销项时间" />
<f:RenderField ColumnID="RestrictCondition" DataField="RestrictCondition" HeaderText="制约条件" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="RealityDestructionTime" DataField="RealityDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="实际销项时间" />
<f:RenderField ColumnID="ResponsibilityConfirmName" DataField="ResponsibilityConfirmName" HeaderText="责任人是否确认" HeaderTextAlign="Center">
<f:BoundField ColumnID="RealityDestructionTime" DataField="RealityDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="实际销项时间" />
<f:RenderField ColumnID="ResponsibilityProposeSatateName" DataField="ResponsibilityProposeSatateName" HeaderText="责任人/提出人处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="DecisionIsCloseName" DataField="DecisionIsCloseName" HeaderText="是否关闭" HeaderTextAlign="Center">
</f:RenderField>

View File

@ -44,7 +44,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ResponsibilityUser == this.CurrUser.UserId && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
int[] state = { 3, 4, 5, 6 };
var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ResponsibilityUser == this.CurrUser.UserId && state.Contains(x.ResponsibilityProposeSatate.Value) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (decisions.Count == 0) return;
//获取子系统主键
var subsystemids = decisions.ConvertAll(x => x.SubSystemId);
@ -114,16 +115,16 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </summary>
public void BindGrid()
{
string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 0 then '待提交' when 1 then '未确认' when 2 then '确认退回' when 3 then '确认通过' else '待提交' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId and a.ResponsibilityUser=@ResponsibilityUser and a.ResponsibilityConfirm>0 ";
string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ResponsibilityProposeSatate,(case a.ResponsibilityProposeSatate when 0 then '待提交' when 1 then '提出人待处理' when 2 then '提出人处理退回' when 3 then '责任人待确认' when 4 then '责任人退回' when 5 then '责任人通过提出人待处理' when 6 then '提出人退回' when 7 then '提出人确认通过' else '' end) as ResponsibilityProposeSatateName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId and a.ResponsibilityUser=@ResponsibilityUser and a.ResponsibilityProposeSatate in (3,4,5,6) ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
listStr.Add(new SqlParameter("@ResponsibilityUser", this.CurrUser.UserId));
//是否确认
if (!string.IsNullOrWhiteSpace(ddlResponsibilityConfirm.SelectedValue))
//提出人/责任人处理状态
if (!string.IsNullOrWhiteSpace(ddlResponsibilityProposeSatate.SelectedValue))
{
strSql += " and a.ResponsibilityConfirm=@ResponsibilityConfirm";
listStr.Add(new SqlParameter("@ResponsibilityConfirm", ddlResponsibilityConfirm.SelectedValue));
strSql += " and a.ResponsibilityProposeSatate=@ResponsibilityProposeSatate";
listStr.Add(new SqlParameter("@ResponsibilityProposeSatate", ddlResponsibilityProposeSatate.SelectedValue));
}
//是否关闭
if (!string.IsNullOrWhiteSpace(ddlDecisionState.Text))
@ -216,9 +217,10 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
if (model != null)
{
if (model.ResponsibilityConfirm != 1)
int[] arr = { 3, 6 };
if (!arr.Contains(model.ResponsibilityProposeSatate.Value))
{
Alert.ShowInTop("责任人“未确认”才可进行责任人确认操作", MessageBoxIcon.Warning);
Alert.ShowInTop("仅“责任人待确认”和“提出人退回”状态才可进行责任人确认", MessageBoxIcon.Warning);
return;
}
}

View File

@ -78,13 +78,13 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// ddlResponsibilityConfirm 控件。
/// ddlResponsibilityProposeSatate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlResponsibilityConfirm;
protected global::FineUIPro.DropDownList ddlResponsibilityProposeSatate;
/// <summary>
/// ddlDecisionState 控件。

View File

@ -106,7 +106,7 @@
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtConfirmDesc" ShowRedStar="true" Required="true" runat="server" Label="确认意见" MaxLength="3000"></f:TextArea>
<f:TextArea ID="txtConfirmDesc" ShowRedStar="true" Required="true" runat="server" Label="销项意见" MaxLength="3000"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
@ -114,6 +114,30 @@
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove2">
<Items>
<f:ContentPanel Title="提出人处理列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvTcrcl" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="ConfirmId" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ConstructionUnitName" Width="300px" DataField="ConfirmUserName" HeaderText="提出人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" Width="100px" DataField="ConfirmStateName" HeaderText="处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="ConfirmTime" DataField="ConfirmTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="确认时间" />
<f:RenderField ColumnID="ConfirmDesc" DataField="ConfirmDesc" HeaderText="确认意见" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
@ -122,7 +146,7 @@
</f:ToolbarFill>
<f:Button ID="btnReturn" Icon="SystemSave" runat="server" Text="退回" ToolTip="退回" ValidateForms="SimpleForm1" OnClick="btnReturn_Click">
</f:Button>
<f:Button ID="btnPass" Icon="SystemSaveNew" runat="server" Text="确认通过" ToolTip="确认通过" ValidateForms="SimpleForm1" OnClick="btnPass_Click">
<f:Button ID="btnPass" Icon="SystemSaveNew" runat="server" Text="销项完成" ToolTip="销项完成" ValidateForms="SimpleForm1" OnClick="btnPass_Click">
</f:Button>
</Items>
</f:Toolbar>

View File

@ -2,6 +2,8 @@
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
@ -29,7 +31,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
set { ViewState["IsView"] = value; }
}
/// <summary>
/// 问题图片是否可编辑
/// </summary>
@ -55,6 +56,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
//数据绑定
PageInit();
//提出人处理
gvDataBrid();
//判断是否查看
if (IsView)
{
@ -141,6 +144,22 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
}
/// <summary>
/// 提出人处理
/// </summary>
public void gvDataBrid()
{
string strSql = @"select a.ConfirmId,a.ProjectId,a.DecisionId,a.ConfirmDesc,a.ConfirmTime,a.ConfirmUser,b.UserName as ConfirmUserName,a.ConfirmType,(case a.ConfirmType when 1 then '提出人处理' when 2 then '责任人确认' when 3 then '提出人确认' when 4 then '总包确认' when 5 then '监理确认' when 6 then '业主确认' else '' end) as ConfirmTypeName,a.ConfirmState,(case a.ConfirmState when 1 then '处理通过' when 2 then '处理退回' else '' end) as ConfirmStateName,a.AddUser,a.AddTime from PreRun_DecisionConfirmRecords as a left join Sys_User as b on a.ConfirmUser=b.UserId where a.ProjectId=@ProjectId and a.DecisionId=@DecisionId and a.ConfirmType=1";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@DecisionId", this.DecisionId));
strSql += " order by a.AddTime asc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
gvTcrcl.DataSource = tb;
gvTcrcl.DataBind();
}
/// <summary>
/// 问题图片查看
/// </summary>
@ -165,7 +184,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
if (decisionModel != null)
{
decisionModel.ResponsibilityConfirm = 2;
decisionModel.ResponsibilityConfirm = 1;
decisionModel.ResponsibilityProposeSatate = 4;
var model = new PreRun_DecisionConfirmRecords();
model.ConfirmId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
@ -173,7 +193,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.ConfirmDesc = txtConfirmDesc.Text;
model.ConfirmTime = DateTime.Now;
model.ConfirmUser = this.CurrUser.UserId;
model.ConfirmType = 1;
model.ConfirmType = 2;
model.ConfirmState = 2;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
@ -185,14 +205,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
/// <summary>
/// 确认通过
/// 销项完成
/// </summary>
protected void btnPass_Click(object sender, EventArgs e)
{
var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
if (decisionModel != null)
{
decisionModel.ResponsibilityConfirm = 3;
decisionModel.ResponsibilityProposeSatate = 5;
decisionModel.ResponsibilityConfirm = 2;
decisionModel.ResponsibilityConfirmData = DateTime.Now;
var model = new PreRun_DecisionConfirmRecords();
model.ConfirmId = Guid.NewGuid().ToString();
@ -201,7 +222,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.ConfirmDesc = txtConfirmDesc.Text;
model.ConfirmTime = DateTime.Now;
model.ConfirmUser = this.CurrUser.UserId;
model.ConfirmType = 1;
model.ConfirmType = 2;
model.ConfirmState = 1;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;

View File

@ -239,6 +239,24 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.TextArea txtConfirmDesc;
/// <summary>
/// plApprove2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove2;
/// <summary>
/// gvTcrcl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvTcrcl;
/// <summary>
/// Toolbar1 控件。
/// </summary>

View File

@ -51,7 +51,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -50,7 +50,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -50,7 +50,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -84,8 +84,8 @@
<Items>
<f:Panel ID="Panel1" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="记录上传:" CssStyle="padding-left:25px" Width="120px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="btnRecordUpload" Text="记录上传" ToolTip="上传及查看" Icon="TableCell" runat="server"
<f:Label runat="server" Text="现场实施记录上传:" CssStyle="padding-left:25px" Width="160px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="btnRecordUpload" Text="现场实施记录上传" ToolTip="现场实施记录上传" Icon="TableCell" runat="server"
OnClick="btnRecordUpload_Click">
</f:Button>
</Items>

View File

@ -49,7 +49,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -10,6 +10,10 @@
white-space: normal;
word-break: break-all;
}
.customlabel span {
color: red;
font-weight: bold;
}
</style>
</head>
<body>
@ -29,6 +33,15 @@
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="TermItemId" DataKeyNames="TermItemId,SubItemId,WorkInspectId,SubInspectId,WorkPackId,InstallationId,ProcessesId,SystemId,SubSystemId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" AllowFilters="true" OnSort="Grid1_Sort" OnRowCommand="Grid1_RowCommand" IsDatabasePaging="true" BoxFlex="1" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar3" runat="server">
<Items>
<f:Label runat="server" ID="lblbz" CssClass="customlabel" Text="备注说明:请于试车记录上传模块,上传试车记录"></f:Label>
<f:Button ID="Button1" runat="server" EnablePostBack="false" OnClientClick="openHelloFineUI();" Text="跳转">
</f:Button>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:DropDownList ID="ddlWorkPackType" Required="true" Label="类型" LabelAlign="Right" LabelWidth="120px" AutoPostBack="true" OnSelectedIndexChanged="ddlWorkPackType_SelectedIndexChanged" runat="server">
@ -176,6 +189,16 @@
return valid;
}
var basePath = '<%= PageContext.ResolveUrl("~/") %>';
function openHelloFineUI() {
parent.addExampleTab({
id: 'fnode46',
iframeUrl: basePath + 'TestRun/BeforeTestRun/TestRunRecordUploadList.aspx',
title: '试车记录上传',
refreshWhenExist: true
});
}
</script>
</body>
</html>

View File

@ -18,6 +18,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
if (!IsPostBack)
{
Toolbar3.Hidden = true;
this.InitTreeMenu();//加载树
PageInit();
}
@ -42,6 +43,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
join b in Funs.DB.PreRun_SubSysWorkPackage on a.PreRunId equals b.SubSystemId
join c in Funs.DB.PreRun_WorkPackage on b.WorkPackId equals c.WorkPackId
where a.ProjectId == this.CurrUser.LoginProjectId
orderby a.Sort, a.PreRunLevel ascending
select new { a.PreRunId, a.SystemId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackName, b.WorkPackCode };
if (list.Count() > 0)
@ -50,7 +52,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var workPackIds = list.Select(x => x.WorkPackId).ToList();
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点
@ -183,6 +185,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
}
var workPage = Funs.DB.PreRun_WorkPackage.FirstOrDefault(x => x.WorkPackId == workPackId);
if (workPage.SpecialWorkPack == 0)
{
Toolbar3.Hidden = true;
}
else
{
Toolbar3.Hidden = false;
}
if (typechange)
{
var propertyTechnologyIds = string.Empty;
@ -201,7 +212,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (inspectItems.Count > 0) propertyTechnologyIds = string.Join(",", inspectItems.ConvertAll(x => x.PropertyTechnologyId));
var workPage = Funs.DB.PreRun_WorkPackage.FirstOrDefault(x => x.WorkPackId == workPackId);
if (workPage != null)
{
//加载类型
@ -817,6 +827,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
else
{
ddbSysPiping.Values = null;
ddbSysPiping.Texts = null;
cbSysPiping.Items.Clear();
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
@ -871,6 +883,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
else
{
ddbSysPiping.Values = null;
ddbSysPiping.Texts = null;
cbSysPiping.Items.Clear();
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
@ -925,6 +939,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
else
{
ddbSysPiping.Values = null;
ddbSysPiping.Texts = null;
cbSysPiping.Items.Clear();
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}

View File

@ -68,6 +68,33 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// lblbz 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblbz;
/// <summary>
/// Button1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button Button1;
/// <summary>
/// Toolbar1 控件。
/// </summary>

View File

@ -246,6 +246,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
};
if (data.Count() > 0)
{
int num = 1;
int i = 1;
foreach (var item in data.OrderBy(p => p.Sort))
{
@ -255,7 +256,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.SystemId = item.SystemId;
if (string.IsNullOrWhiteSpace(item.WorkPackCode))
{
var num = Funs.DB.PreRun_SubSysWorkPackage.Count(p => p.SystemId == this.SystemId) + i;
var workpackages = Funs.DB.TestRun_SubSysWorkPackage.Where(p => p.SystemId == this.SystemId).ToList();
if (workpackages.Count > 0)
{
num = workpackages.ConvertAll(x => int.Parse(x.WorkPackCode.Replace("WP", ""))).Max(m => m);
}
num = num + i;
model.WorkPackCode = $"WP{string.Format("{0:d3}", num)}";
i++;
}

View File

@ -100,9 +100,18 @@
<Items>
<f:Panel ID="Panel1" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="问题图片上传:" CssStyle="padding-left:25px" Width="150px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="BtnQuestionFile" Text="问题图片上传" ToolTip="问题图片上传" Icon="TableCell" runat="server"
OnClick="BtnQuestionFile_Click">
<f:Label runat="server" Text="问题图片查看:" CssStyle="padding-left:25px" Width="150px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="imgBtnQuestionFile" Text="问题图片查看" ToolTip="问题图片查看" Icon="TableCell" runat="server"
OnClick="imgBtnQuestionFile_Click">
</f:Button>
</Items>
</f:Panel>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label ID="lblAttach" CssStyle="padding-left:23px" Width="150px" runat="server" CssClass="marginr" ShowLabel="false"
Text="整改图片查看:">
</f:Label>
<f:Button ID="imgBtnRectifyFile" Text="整改图片查看" ToolTip="整改图片查看" Icon="TableCell" runat="server" OnClick="imgBtnRectifyFile_Click">
</f:Button>
</Items>
</f:Panel>
@ -112,8 +121,50 @@
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove1">
<Items>
<f:ContentPanel Title="提出人处理列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvTcrcl" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="ConfirmId" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ConstructionUnitName" Width="300px" DataField="ConfirmUserName" HeaderText="提出人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" Width="100px" DataField="ConfirmStateName" HeaderText="处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="ConfirmTime" DataField="ConfirmTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="处理时间" />
<f:RenderField ColumnID="ConfirmDesc" DataField="ConfirmDesc" HeaderText="处理意见" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove2">
<Items>
<f:ContentPanel Title="提出人确认列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvTcrqr" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="ConfirmId" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ConstructionUnitName" Width="300px" DataField="ConfirmUserName" HeaderText="提出人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" Width="100px" DataField="ConfirmStateName" HeaderText="确认状态" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="ConfirmTime" DataField="ConfirmTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="确认时间" />
<f:RenderField ColumnID="ConfirmDesc" DataField="ConfirmDesc" HeaderText="确认意见" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove3">
<Items>
<f:ContentPanel Title="责任人确认列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
@ -134,9 +185,9 @@
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove3">
<f:FormRow ID="plApprove4">
<Items>
<f:ContentPanel Title="提出人,总包,监理,业主确认列表" ShowBorder="true"
<f:ContentPanel Title="总包,监理,业主确认列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvOtherConfirm" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
@ -163,7 +214,7 @@
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="保存" ToolTip="保存" ValidateForms="SimpleForm1" OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnSubmit" Icon="SystemSaveNew" runat="server" Text="保存并提交责任人确认" ToolTip="保存并提交责任人确认" ValidateForms="SimpleForm1" OnClick="btnSubmit_Click">
<f:Button ID="btnSubmit" Icon="SystemSaveNew" runat="server" Text="保存并提交提出人处理" ToolTip="保存并提交提出人处理" ValidateForms="SimpleForm1" OnClick="btnSubmit_Click">
</f:Button>
</Items>
</f:Toolbar>

View File

@ -81,7 +81,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
QuestionEditImg = 0;
//施工单位
UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlResponsibilityUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, false);
UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlResponsibilityUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
//获取人员信息
var userList = from user in Funs.DB.Sys_User
join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
@ -156,31 +156,49 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </summary>
public void gvDataBrid()
{
string strSql = @"select a.ConfirmId,a.ProjectId,a.DecisionId,a.ConfirmDesc,a.ConfirmTime,a.ConfirmUser,b.UserName as ConfirmUserName,a.ConfirmType,(case a.ConfirmType when 1 then '责任人确认' when 2 then '提出人确认' when 3 then '总包确认' when 4 then '监理确认' when 5 then '业主确认' else '' end) as ConfirmTypeName,a.ConfirmState,(case a.ConfirmState when 1 then '确认通过' when 2 then '确认退回' else '' end) as ConfirmStateName,a.AddUser,a.AddTime from PreRun_DecisionConfirmRecords as a left join Sys_User as b on a.ConfirmUser=b.UserId where a.ProjectId=@ProjectId and a.DecisionId=@DecisionId ";
string strSql = @"select a.ConfirmId,a.ProjectId,a.DecisionId,a.ConfirmDesc,a.ConfirmTime,a.ConfirmUser,b.UserName as ConfirmUserName,a.ConfirmType,(case a.ConfirmType when 1 then '提出人处理' when 2 then '责任人确认' when 3 then '提出人确认' when 4 then '总包确认' when 5 then '监理确认' when 6 then '业主确认' else '' end) as ConfirmTypeName,a.ConfirmState,(case a.ConfirmState when 1 then '确认通过' when 2 then '确认退回' else '' end) as ConfirmStateName,a.AddUser,a.AddTime from PreRun_DecisionConfirmRecords as a left join Sys_User as b on a.ConfirmUser=b.UserId where a.ProjectId=@ProjectId and a.DecisionId=@DecisionId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@DecisionId", this.DecisionId));
strSql += " order by a.AddTime asc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//提出人处理
var tcrclTb = tb.AsEnumerable().Where(row => row.Field<int>("ConfirmType") == 1);
gvTcrcl.DataSource = tcrclTb;
gvTcrcl.DataBind();
//提出人确认
var tcrqrTb = tb.AsEnumerable().Where(row => row.Field<int>("ConfirmType") == 3);
gvTcrqr.DataSource = tcrqrTb;
gvTcrqr.DataBind();
//责任人确认
var handleTb = tb.AsEnumerable().Where(row => row.Field<int>("ConfirmType") == 1);
gvZrrConfirm.DataSource = handleTb;
var zrrqrTb = tb.AsEnumerable().Where(row => row.Field<int>("ConfirmType") == 2);
gvZrrConfirm.DataSource = zrrqrTb;
gvZrrConfirm.DataBind();
//其他人员确认
var approveTb = tb.AsEnumerable().Where(row => row.Field<int>("ConfirmType") != 1);
int[] type = { 4, 5, 6 };
var approveTb = tb.AsEnumerable().Where(row => type.Contains(row.Field<int>("ConfirmType")));
gvOtherConfirm.DataSource = approveTb;
gvOtherConfirm.DataBind();
}
/// <summary>
/// 问题图片
/// 问题图片查看
/// </summary>
protected void BtnQuestionFile_Click(object sender, EventArgs e)
protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.DecisionId + "q", Const.InspectTailTerm)));
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", this.DecisionId + "q", Const.InspectTailTerm)));
}
/// <summary>
/// 整改图片查看
/// </summary>
protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", this.DecisionId + "h", Const.InspectTailTerm)));
}
/// <summary>
/// 保存
/// </summary>
@ -238,7 +256,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.RestrictCondition = txtRestrictCondition.Text;
model.AddUser = this.CurrUser.LoginProjectId;
model.AddTime = DateTime.Now;
model.ResponsibilityConfirm = 0;
model.ResponsibilityProposeSatate = 0;
if (isAdd)
{
Funs.DB.PreRun_SubThreeChecksFourDecision.InsertOnSubmit(model);
@ -249,7 +267,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
/// <summary>
/// 保存并提交
/// 保存并提交提出人处理
/// </summary>
protected void btnSubmit_Click(object sender, EventArgs e)
{
@ -305,7 +323,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.RestrictCondition = txtRestrictCondition.Text;
model.AddUser = this.CurrUser.LoginProjectId;
model.AddTime = DateTime.Now;
model.ResponsibilityConfirm = 1;
model.ResponsibilityProposeSatate = 1;
if (isAdd)
{
Funs.DB.PreRun_SubThreeChecksFourDecision.InsertOnSubmit(model);

View File

@ -195,13 +195,58 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// BtnQuestionFile 控件。
/// imgBtnQuestionFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnQuestionFile;
protected global::FineUIPro.Button imgBtnQuestionFile;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// lblAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAttach;
/// <summary>
/// imgBtnRectifyFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnRectifyFile;
/// <summary>
/// plApprove1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove1;
/// <summary>
/// gvTcrcl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvTcrcl;
/// <summary>
/// plApprove2 控件。
@ -213,13 +258,13 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
protected global::FineUIPro.FormRow plApprove2;
/// <summary>
/// gvZrrConfirm 控件。
/// gvTcrqr 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvZrrConfirm;
protected global::FineUIPro.Grid gvTcrqr;
/// <summary>
/// plApprove3 控件。
@ -230,6 +275,24 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.FormRow plApprove3;
/// <summary>
/// gvZrrConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvZrrConfirm;
/// <summary>
/// plApprove4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove4;
/// <summary>
/// gvOtherConfirm 控件。
/// </summary>

View File

@ -41,7 +41,7 @@
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="三查四定检查记录" EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="DecisionId,DecisionIsClose" DataIDField="DecisionId" AllowSorting="true" SortField="AddTime" SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true" OnRowDataBound="Grid1_RowDataBound">
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="三查四定检查记录" EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="DecisionId,DecisionIsClose" DataIDField="DecisionId" AllowSorting="true" SortField="Sort" SortDirection="ASC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true" OnRowDataBound="Grid1_RowDataBound">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
@ -52,16 +52,16 @@
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="ddlProposeConfirm" runat="server" Label="提出人确认" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:DropDownList ID="ddlResponsibilityProposeSatate" runat="server" Label="提出人/责任人处理状态" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="未确认" Value="1" />
<f:ListItem Text="已确认" Value="2" />
</f:DropDownList>
<f:DropDownList ID="ddlResponsibilityConfirm" runat="server" Label="责任人确认" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="未确认" Value="1" />
<f:ListItem Text="确认退回" Value="2" />
<f:ListItem Text="确认通过" Value="3" />
<f:ListItem Text="待提交" Value="0" />
<f:ListItem Text="提出人待处理" Value="1" />
<f:ListItem Text="提出人处理退回" Value="2" />
<f:ListItem Text="责任人待确认" Value="3" />
<f:ListItem Text="责任人退回" Value="4" />
<f:ListItem Text="责任人通过提出人待处理" Value="5" />
<f:ListItem Text="提出人退回" Value="6" />
<f:ListItem Text="提出人确认通过" Value="7" />
</f:DropDownList>
<f:DropDownList ID="ddlGeneraConfirm" runat="server" Label="总包确认" Width="210px" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
@ -94,13 +94,14 @@
<f:Button ID="btnModify" Text="修改" ToolTip="修改" Icon="Pencil" runat="server" OnClick="btnModify_Click"></f:Button>
<f:Button ID="btnDel" Text="删除" ToolTip="删除" Icon="Delete" runat="server" OnClick="btnDel_Click" ConfirmText="是否确认删除?"></f:Button>
<f:Button ID="btnView" Text="查看" ToolTip="查看" Icon="ApplicationViewDetail" runat="server" OnClick="btnView_Click"></f:Button>
<f:Button ID="btnSubmitConfirm" Text="提交提出人确认" ToolTip="提交责任人确认" runat="server" OnClick="btnSubmitConfirm_Click"></f:Button>
<f:Button ID="btnWithdraw" Text="取消责任人确认" ToolTip="取消提出人确认" runat="server" OnClick="btnWithdraw_Click"></f:Button>
<f:Button ID="btnSubmitHandle" Text="提交提出人处理" ToolTip="提交提出人处理" runat="server" OnClick="btnSubmitHandle_Click"></f:Button>
<f:Button ID="btnWithdraw" Text="取消提出人处理" ToolTip="取消提出人处理" runat="server" OnClick="btnWithdraw_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="FourDecisionCode" DataField="FourDecisionCode" HeaderText="编号" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ProposeUserName" DataField="ProposeUserName" HeaderText="提出人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="QuestionDesc" DataField="QuestionDesc" HeaderText="整改问题描述" HeaderTextAlign="Center">
@ -117,9 +118,7 @@
<f:RenderField ColumnID="RestrictCondition" DataField="RestrictCondition" HeaderText="制约条件" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField ColumnID="RealityDestructionTime" DataField="RealityDestructionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="实际销项时间" />
<f:RenderField ColumnID="ResponsibilityConfirmName" DataField="ResponsibilityConfirmName" HeaderText="责任人是否确认" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ProposeConfirmName" DataField="ProposeConfirmName" HeaderText="提出人是否确认" HeaderTextAlign="Center">
<f:RenderField ColumnID="ResponsibilityProposeSatateName" DataField="ResponsibilityProposeSatateName" HeaderText="责任人/提出人处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="GeneraConfirmName" DataField="GeneraConfirmName" HeaderText="总包是否确认" HeaderTextAlign="Center">
</f:RenderField>
@ -132,7 +131,7 @@
<f:TemplateField ColumnID="DestructionDiffDay" HeaderText="整改是否逾期" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblIsOverdue" runat="server" Text='<%# IsOverdue(Eval("DestructionDiffDay"),Eval("DecisionIsClose")) %>'></asp:Label>
<asp:Label ID="lblIsOverdue" runat="server" Text='<%# IsOverdue(Eval("DestructionDiffDay"),Eval("DecisionIsClose"),Eval("AskDestructionTime")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</Columns>

View File

@ -100,21 +100,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </summary>
public void BindGrid()
{
string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 0 then '待提交' when 1 then '未确认' when 2 then '确认退回' when 3 then '确认通过' else '待提交' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.DecisionIsClose,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId";
string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ResponsibilityProposeSatate,(case a.ResponsibilityProposeSatate when 0 then '待提交' when 1 then '提出人待处理' when 2 then '提出人处理退回' when 3 then '责任人待确认' when 4 then '责任人退回' when 5 then '责任人通过提出人待处理' when 6 then '提出人退回' when 7 then '提出人确认通过' else '' end) as ResponsibilityProposeSatateName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.DecisionIsClose,a.AddUser,a.AddTime,a.Sort,a.FourDecisionCode from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
//责任人是否确认
if (!string.IsNullOrWhiteSpace(ddlResponsibilityConfirm.SelectedValue))
//提出人/责任人处理状态
if (!string.IsNullOrWhiteSpace(ddlResponsibilityProposeSatate.SelectedValue))
{
strSql += " and isnull(a.ResponsibilityConfirm,1)=@ResponsibilityConfirm";
listStr.Add(new SqlParameter("@ResponsibilityConfirm", ddlResponsibilityConfirm.SelectedValue));
}
//提出人是否确认
if (!string.IsNullOrWhiteSpace(ddlProposeConfirm.SelectedValue))
{
strSql += " and isnull(a.ProposeConfirm,1)=@ProposeConfirm";
listStr.Add(new SqlParameter("@ProposeConfirm", ddlProposeConfirm.SelectedValue));
strSql += " and isnull(a.ResponsibilityProposeSatate,0)=@ResponsibilityProposeSatate";
listStr.Add(new SqlParameter("@ResponsibilityProposeSatate", ddlResponsibilityProposeSatate.SelectedValue));
}
//总包是否确认
if (!string.IsNullOrWhiteSpace(ddlGeneraConfirm.SelectedValue))
@ -140,7 +134,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
strSql += " and isnull(a.DecisionIsClose,0)=@DecisionIsClose";
listStr.Add(new SqlParameter("@DecisionIsClose", ddlDecisionState.SelectedValue));
}
strSql += " order by a.AddTime desc";
strSql += " order by a.Sort asc ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
@ -193,7 +187,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
int diffDay = Convert.ToInt32(row["DestructionDiffDay"]);
TemplateField AdjustDiffDay = Grid1.FindColumn("DestructionDiffDay") as TemplateField;
int isClose = int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString());
if (isClose != 1)
if (isClose != 1 && !string.IsNullOrWhiteSpace(row["AskDestructionTime"].ToString()))
{
if (diffDay > 0)
{
@ -244,7 +238,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (model != null)
{
var states = new List<int>() { 0, 2 };
if (!states.Contains(model.ResponsibilityConfirm.Value))
if (!states.Contains(model.ResponsibilityProposeSatate.Value))
{
Alert.ShowInTop("责任人“待提交”和“确认退回”才可进行编辑操作!", MessageBoxIcon.Warning);
return;
@ -326,9 +320,9 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
/// <summary>
/// 提交责任人确认
/// 提交提出人处理
/// </summary>
protected void btnSubmitConfirm_Click(object sender, EventArgs e)
protected void btnSubmitHandle_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
@ -338,17 +332,14 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
if (model != null)
{
if (model.ResponsibilityConfirm == 1)
int state = model.ResponsibilityProposeSatate == null ? 0 : model.ResponsibilityProposeSatate.Value;
int[] stateArr = { 0, 2 };
if (stateArr.Contains(state))
{
Alert.ShowInTop("责任人未确认状态,无法提交!", MessageBoxIcon.Warning);
Alert.ShowInTop("仅“待提交”和“提出人处理退回”状态才可提交提出人处理", MessageBoxIcon.Warning);
return;
}
if (model.ResponsibilityConfirm == 3)
{
Alert.ShowInTop("责任人确认通过,无法提交!", MessageBoxIcon.Warning);
return;
}
model.ResponsibilityConfirm = 1;
model.ResponsibilityProposeSatate = 1;
Funs.DB.SubmitChanges();
BindGrid();
Alert.ShowInTop("确认成功!", MessageBoxIcon.Success);
@ -356,7 +347,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
/// <summary>
/// 取消提出人确认
/// 取消提出人处理
/// </summary>
protected void btnWithdraw_Click(object sender, EventArgs e)
{
@ -368,9 +359,9 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
if (model != null)
{
if (model.ResponsibilityConfirm != 1)
if (model.ResponsibilityProposeSatate == 1)
{
Alert.ShowInTop("仅责任人未确认状态才可撤回!", MessageBoxIcon.Warning);
Alert.ShowInTop("仅提出人待处理状态才可撤回!", MessageBoxIcon.Warning);
return;
}
model.ProposeConfirm = 0;
@ -486,7 +477,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
List<Sys_User> users = userNames.Count > 0 ? Funs.DB.Sys_User.Where(x => userNames.Contains(x.UserName)).ToList() : new List<Sys_User>();
var baseUserNames = users.ConvertAll(x => x.UserName);
//获取责任单位
List<Base_Unit> units = responsibilityUnitNames.Count > 0 ? Funs.DB.Base_Unit.Where(x => responsibilityUnitNames.Contains(x.UnitName)).ToList() : new List<Base_Unit>();
List<Base_Unit> units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
#region
//验证责任人
@ -555,11 +546,11 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
#endregion
//获取已存在的尾项清单
var existDecisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.SubSystemId == tvControlItem.SelectedNodeID && questions.Contains(x.QuestionDesc)).ToList();
if (existDecisions == null) existDecisions = new List<PreRun_SubThreeChecksFourDecision>();
List<PreRun_SubThreeChecksFourDecision> list = new List<PreRun_SubThreeChecksFourDecision>();
int sortnum = Funs.DB.PreRun_SubThreeChecksFourDecision.Count(x => x.SubSystemId == tvControlItem.SelectedNodeID);
//数据导入
for (int i = 5; i < ds.Tables[0].Rows.Count; i++)
{
@ -570,14 +561,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
updatemodel.Level = ds.Tables[0].Rows[i][4].ToString();
updatemodel.Speciality = ds.Tables[0].Rows[i][5].ToString();
updatemodel.AskDestructionTime = TimeVal(ds.Tables[0].Rows[i][6].ToString());
if (updatemodel.ResponsibilityConfirm == 0)
if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][7].ToString()))
{
if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][8].ToString()))
{
updatemodel.ResponsibilityUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][8].ToString()).UserId;
}
updatemodel.ResponsibilityUnit = units.FirstOrDefault(x => x.UnitName == ds.Tables[0].Rows[i][7].ToString()).UnitId;
}
if (updatemodel.ProposeConfirm != 2)
int state = updatemodel.ResponsibilityProposeSatate == null ? 0 : updatemodel.ResponsibilityProposeSatate.Value;
if (state == 0)
{
if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][2].ToString()))
@ -585,6 +574,14 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
updatemodel.ProposeUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][2].ToString()).UserId;
}
}
int[] responsibilityState = { 0, 1 };
if (responsibilityState.Contains(state))
{
if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][8].ToString()))
{
updatemodel.ResponsibilityUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][8].ToString()).UserId;
}
}
if (updatemodel.GeneraConfirm != 2)
{
@ -614,6 +611,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
else
{
sortnum++;
PreRun_SubThreeChecksFourDecision model = new PreRun_SubThreeChecksFourDecision();
model.DecisionId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
@ -648,11 +646,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.AskDestructionTime = TimeVal(ds.Tables[0].Rows[i][6].ToString());
model.RealityDestructionTime = TimeVal(ds.Tables[0].Rows[i][10].ToString());
model.RestrictCondition = ds.Tables[0].Rows[i][9].ToString();
model.ResponsibilityConfirm = 0;
model.ResponsibilityProposeSatate = 0;
model.DecisionIsClose = 0;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i - 4;
model.Sort = sortnum;
model.FourDecisionCode = $"PL_{string.Format("{0:d3}", model.Sort)}";
list.Add(model);
}
}
@ -737,8 +736,9 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// 是否逾期返回
/// </summary>
/// <returns></returns>
public string IsOverdue(object diffDayVal, object stateVal)
public string IsOverdue(object diffDayVal, object stateVal, object time)
{
if (string.IsNullOrWhiteSpace(time.ToString())) return "";
var result = string.Empty;
var diffDay = 0;
var itemState = 0;
@ -810,6 +810,5 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
#endregion
}
}

View File

@ -105,22 +105,13 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ddlProposeConfirm 控件。
/// ddlResponsibilityProposeSatate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlProposeConfirm;
/// <summary>
/// ddlResponsibilityConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlResponsibilityConfirm;
protected global::FineUIPro.DropDownList ddlResponsibilityProposeSatate;
/// <summary>
/// ddlGeneraConfirm 控件。
@ -222,13 +213,13 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
protected global::FineUIPro.Button btnView;
/// <summary>
/// btnSubmitConfirm 控件。
/// btnSubmitHandle 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmitConfirm;
protected global::FineUIPro.Button btnSubmitHandle;
/// <summary>
/// btnWithdraw 控件。

View File

@ -51,7 +51,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -92,7 +92,7 @@
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:GroupField HeaderText="管道说明" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="管道号" ColumnID="PipingCode" DataField="PipingCode" SortField="PipingCode"
<f:RenderField HeaderText="管道号" ColumnID="PipingCode" HtmlEncode="false" DataField="PipingCode" SortField="PipingCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtPipingCode"></f:TextBox>
@ -100,15 +100,14 @@
</f:RenderField>
<f:GroupField HeaderText="公称" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="直径" ColumnID="Diameter" DataField="Diameter" SortField="Diameter"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="直径" ColumnID="Diameter" DataField="Diameter" HtmlEncode="false" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtDiameter"></f:TextBox>
</Editor>
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="管道材料等级" ColumnID="MaterialLevel" DataField="MaterialLevel" SortField="MaterialLevel"
<f:RenderField HeaderText="管道材料等级" ColumnID="MaterialLevel" HtmlEncode="false" DataField="MaterialLevel" SortField="MaterialLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtMaterialLevel"></f:TextBox>
@ -116,13 +115,13 @@
</f:RenderField>
<f:GroupField HeaderText="绝热伴热" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="类型" ColumnID="AdiabatType" DataField="AdiabatType" SortField="AdiabatType"
<f:RenderField HeaderText="类型" ColumnID="AdiabatType" HtmlEncode="false" DataField="AdiabatType" SortField="AdiabatType"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtAdiabatType"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="厚度mm" ColumnID="AdiabatThickness" DataField="AdiabatThickness" SortField="AdiabatThickness"
<f:RenderField HeaderText="厚度mm" ColumnID="AdiabatThickness" HtmlEncode="false" DataField="AdiabatThickness" SortField="AdiabatThickness"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtAdiabatThickness"></f:TextBox>
@ -132,7 +131,7 @@
</f:GroupField>
<f:GroupField HeaderText="介质" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="相态" ColumnID="MediumState" DataField="MediumState" SortField="MediumState"
<f:RenderField HeaderText="相态" ColumnID="MediumState" HtmlEncode="false" DataField="MediumState" SortField="MediumState"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtMediumState"></f:TextBox>
@ -140,7 +139,7 @@
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="P&ID图号" ColumnID="DrawingNo" DataField="DrawingNo" SortField="DrawingNo"
<f:RenderField HeaderText="P&ID图号" ColumnID="DrawingNo" HtmlEncode="false" DataField="DrawingNo" SortField="DrawingNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtDrawingNo"></f:TextBox>
@ -148,13 +147,13 @@
</f:RenderField>
<f:GroupField HeaderText="管道起止点" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="起点" ColumnID="PipingStart" DataField="PipingStart" SortField="PipingStart"
<f:RenderField HeaderText="起点" ColumnID="PipingStart" HtmlEncode="false" DataField="PipingStart" SortField="PipingStart"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtPipingStart"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="止点" ColumnID="PipingEnd" DataField="PipingEnd" SortField="PipingEnd"
<f:RenderField HeaderText="止点" ColumnID="PipingEnd" HtmlEncode="false" DataField="PipingEnd" SortField="PipingEnd"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtPipingEnd"></f:TextBox>
@ -168,7 +167,7 @@
<Columns>
<f:GroupField HeaderText="管道" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="级别" ColumnID="PipingLevel" DataField="PipingLevel" SortField="PipingLevel"
<f:RenderField HeaderText="级别" ColumnID="PipingLevel" HtmlEncode="false" DataField="PipingLevel" SortField="PipingLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtPipingLevel"></f:TextBox>
@ -182,7 +181,7 @@
<Columns>
<f:GroupField HeaderText="温度" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="℃" ColumnID="NormalTemperature" DataField="NormalTemperature" SortField="NormalTemperature"
<f:RenderField HeaderText="℃" ColumnID="NormalTemperature" HtmlEncode="false" DataField="NormalTemperature" SortField="NormalTemperature"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtNormalTemperature"></f:TextBox>
@ -192,7 +191,7 @@
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="MPa G" ColumnID="NormalPressure" DataField="NormalPressure" SortField="NormalPressure"
<f:RenderField HeaderText="MPa G" ColumnID="NormalPressure" HtmlEncode="false" DataField="NormalPressure" SortField="NormalPressure"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtNormalPressure"></f:TextBox>
@ -206,7 +205,7 @@
<Columns>
<f:GroupField HeaderText="温度" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="℃" ColumnID="DesignTemperature" DataField="DesignTemperature" SortField="DesignTemperature"
<f:RenderField HeaderText="℃" ColumnID="DesignTemperature" HtmlEncode="false" DataField="DesignTemperature" SortField="DesignTemperature"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtDesignTemperature"></f:TextBox>
@ -216,7 +215,7 @@
</f:GroupField>
<f:GroupField HeaderText="压力" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="MPa G" ColumnID="DesignPressure" DataField="DesignPressure" SortField="DesignPressure"
<f:RenderField HeaderText="MPa G" ColumnID="DesignPressure" HtmlEncode="false" DataField="DesignPressure" SortField="DesignPressure"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtDesignPressure"></f:TextBox>
@ -226,13 +225,13 @@
</f:GroupField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="涂漆等级" ColumnID="PaintLevel" DataField="PaintLevel" SortField="PaintLevel"
<f:RenderField HeaderText="涂漆等级" ColumnID="PaintLevel" HtmlEncode="false" DataField="PaintLevel" SortField="PaintLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtPaintLevel"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" SortField="Remark"
<f:RenderField HeaderText="备注" ColumnID="Remark" HtmlEncode="false" DataField="Remark" SortField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtRemark"></f:TextBox>
@ -278,25 +277,25 @@
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="设备位号" ColumnID="TagNumber" DataField="TagNumber" SortField="TagNumber"
<f:RenderField HeaderText="设备位号" ColumnID="TagNumber" HtmlEncode="false" DataField="TagNumber" SortField="TagNumber"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtTagNumber"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="设备名称和规格" ColumnID="NameSpecifications" DataField="NameSpecifications" SortField="NameSpecifications"
<f:RenderField HeaderText="设备名称和规格" ColumnID="NameSpecifications" HtmlEncode="false" DataField="NameSpecifications" SortField="NameSpecifications"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtNameSpecifications"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="图号或型号" ColumnID="DrawingNo" DataField="DrawingNo" SortField="DrawingNo"
<f:RenderField HeaderText="图号或型号" ColumnID="DrawingNo" HtmlEncode="false" DataField="DrawingNo" SortField="DrawingNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtgyDrawingNo"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="制造材料" ColumnID="Materials" DataField="Materials" SortField="Materials"
<f:RenderField HeaderText="制造材料" ColumnID="Materials" HtmlEncode="false" DataField="Materials" SortField="Materials"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtMaterials"></f:TextBox>
@ -304,13 +303,13 @@
</f:RenderField>
<f:GroupField HeaderText="数量" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="操作" ColumnID="NumOperate" DataField="NumOperate" SortField="NumOperate"
<f:RenderField HeaderText="操作" ColumnID="NumOperate" HtmlEncode="false" DataField="NumOperate" SortField="NumOperate"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtNumOperate"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="备用" ColumnID="NumStandby" DataField="NumStandby" SortField="NumStandby"
<f:RenderField HeaderText="备用" ColumnID="NumStandby" HtmlEncode="false" DataField="NumStandby" SortField="NumStandby"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtNumStandby"></f:TextBox>
@ -320,13 +319,13 @@
</f:GroupField>
<f:GroupField HeaderText="重量kg" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="单重" ColumnID="WeightSingle" DataField="WeightSingle" SortField="WeightSingle"
<f:RenderField HeaderText="单重" ColumnID="WeightSingle" HtmlEncode="false" DataField="WeightSingle" SortField="WeightSingle"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtWeightSingle"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="总重" ColumnID="WeightTotal" DataField="WeightTotal" SortField="WeightTotal"
<f:RenderField HeaderText="总重" ColumnID="WeightTotal" HtmlEncode="false" DataField="WeightTotal" SortField="WeightTotal"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtWeightTotal"></f:TextBox>
@ -334,7 +333,7 @@
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" SortField="Remark"
<f:RenderField HeaderText="备注" ColumnID="Remark" HtmlEncode="false" DataField="Remark" SortField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtgyRemark"></f:TextBox>
@ -380,44 +379,44 @@
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="仪表位号" ColumnID="InstrumentTag" DataField="InstrumentTag" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="仪表位号" ColumnID="InstrumentTag" HtmlEncode="false" DataField="InstrumentTag" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtInstrumentTag"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="用途" ColumnID="UseTo" DataField="UseTo" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="用途" ColumnID="UseTo" DataField="UseTo" HtmlEncode="false" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtUseTo"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="仪表名称" ColumnID="InstrumentName" DataField="InstrumentName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="仪表名称" ColumnID="InstrumentName" HtmlEncode="false" DataField="InstrumentName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtInstrumentName"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="供货方" ColumnID="Supplier" DataField="Supplier" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="供货方" ColumnID="Supplier" DataField="Supplier" HtmlEncode="false" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtSupplier"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="安装位置" ColumnID="InstallationPosition" DataField="InstallationPosition" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="安装位置" ColumnID="InstallationPosition" HtmlEncode="false" DataField="InstallationPosition" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtInstallationPosition"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="信号类型" ColumnID="SignalType" DataField="SignalType" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="信号类型" ColumnID="SignalType" HtmlEncode="false" DataField="SignalType" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtSignalType"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="关联系统" ColumnID="AssociatedSystem" DataField="AssociatedSystem" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="关联系统" ColumnID="AssociatedSystem" HtmlEncode="false" DataField="AssociatedSystem" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtAssociatedSystem"></f:TextBox>
</Editor>
</f:RenderField>
<f:GroupField HeaderText="P&ID" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="CP25" ColumnID="Cp25" DataField="Cp25" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="CP25" ColumnID="Cp25" DataField="Cp25" HtmlEncode="false" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtCp25"></f:TextBox>
</Editor>
@ -426,7 +425,7 @@
</f:GroupField>
<f:GroupField HeaderText="数据表" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="IN11" ColumnID="In11" DataField="In11" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="IN11" ColumnID="In11" DataField="In11" HtmlEncode="false" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtIn11"></f:TextBox>
</Editor>
@ -435,14 +434,14 @@
</f:GroupField>
<f:GroupField HeaderText="仪表位置图" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="IN40" ColumnID="In40" DataField="In40" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="IN40" ColumnID="In40" DataField="In40" HtmlEncode="false" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtIn40"></f:TextBox>
</Editor>
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" HtmlEncode="false" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:TextBox runat="server" ID="txtybRemark"></f:TextBox>
</Editor>
@ -503,7 +502,7 @@
</f:RenderField>
<f:GroupField HeaderText="公称" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="直径" ColumnID="Diameter" DataField="Diameter" SortField="Diameter"
<f:RenderField HeaderText="直径" ColumnID="Diameter" DataField="Diameter" HtmlEncode="false" SortField="Diameter"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
</Columns>

View File

@ -184,7 +184,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </summary>
public void ZxtgdBrid()
{
string strSql = @"select * from PreRun_PropertySysPiping where ProjectId=@ProjectId and SystemId=@SystemId ";
string strSql = @"select * from PreRun_PropertySysPiping where ProjectId=@ProjectId and SystemId=@SystemId order by Sort asc";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SystemId", this.tvControlItem.SelectedNodeID));
@ -308,6 +308,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ShowNotify("Excel模板格式不正确!", MessageBoxIcon.Warning);
return;
}
var sortnum = Funs.DB.PreRun_PropertySysPiping.Count(x => x.SystemId == tvControlItem.SelectedNodeID);
List<PreRun_PropertySysPiping> list = new List<PreRun_PropertySysPiping>();
for (int i = 0; i < ds.Tables.Count; i++)
{
@ -318,6 +319,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
if (string.IsNullOrWhiteSpace(itemTb.Rows[j][1].ToString()) || string.IsNullOrWhiteSpace(itemTb.Rows[j][8].ToString())) continue;
PreRun_PropertySysPiping model = new PreRun_PropertySysPiping();
sortnum++;
model.PropertyId = Guid.NewGuid().ToString();
model.SystemId = tvControlItem.SelectedNodeID;
model.ProjectId = this.CurrUser.LoginProjectId;
@ -339,7 +341,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.Remark = itemTb.Rows[j][53].ToString();
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = list.Count;
model.Sort = sortnum;
list.Add(model);
}
}
@ -469,7 +471,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </summary>
public void ZxtgyBrid()
{
string strSql = @"select * from PreRun_TechnologySysPiping where ProjectId=@ProjectId and SystemId=@SystemId ";
string strSql = @"select * from PreRun_TechnologySysPiping where ProjectId=@ProjectId and SystemId=@SystemId order by Sort asc";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SystemId", this.tvControlItem.SelectedNodeID));
@ -595,6 +597,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ShowNotify("Excel模板格式不正确!", MessageBoxIcon.Warning);
return;
}
var sortnum = Funs.DB.PreRun_TechnologySysPiping.Count(x => x.SystemId == tvControlItem.SelectedNodeID);
List<PreRun_TechnologySysPiping> list = new List<PreRun_TechnologySysPiping>();
for (int i = 0; i < ds.Tables.Count; i++)
{
@ -609,6 +612,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
PreRun_TechnologySysPiping model = new PreRun_TechnologySysPiping();
if (!string.IsNullOrWhiteSpace(itemTb.Rows[j][4].ToString()))
{
sortnum++;
model.TechnologyId = Guid.NewGuid().ToString();
model.SystemId = tvControlItem.SelectedNodeID;
model.ProjectId = this.CurrUser.LoginProjectId;
@ -623,7 +627,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.Remark = itemTb.Rows[j][52].ToString();
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i - 1;
model.Sort = sortnum;
list.Add(model);
lastTagNumber = model.TagNumber;
}
@ -1037,7 +1041,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var datatb = new DataTable();
var addTb = new DataTable();
string strSql = @"select a.PropertyId,a.SystemId,a.ProjectId,a.PipingCode,a.Diameter,a.MaterialLevel,a.AdiabatType,a.AdiabatThickness,a.MediumState,a.DrawingNo,a.PipingStart,a.PipingEnd,a.PipingLevel,a.NormalTemperature,a.NormalPressure,a.DesignTemperature,a.DesignPressure,a.PaintLevel,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_PropertySysPiping as a inner join PreRun_SubPropertySelect as b on a.PropertyId=b.PropertyId where 1=1 and a.ProjectId=@ProjectId and b.SubSystemId=@SubSystemId ";
string strSql = @"select a.PropertyId,a.SystemId,a.ProjectId,a.PipingCode,a.Diameter,a.MaterialLevel,a.AdiabatType,a.AdiabatThickness,a.MediumState,a.DrawingNo,a.PipingStart,a.PipingEnd,a.PipingLevel,a.NormalTemperature,a.NormalPressure,a.DesignTemperature,a.DesignPressure,a.PaintLevel,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_PropertySysPiping as a inner join PreRun_SubPropertySelect as b on a.PropertyId=b.PropertyId where 1=1 and a.ProjectId=@ProjectId and b.SubSystemId=@SubSystemId order by a.Sort asc ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.tvControlItem.SelectedNodeID));
@ -1051,7 +1055,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (selectPropertys.Count > 0)
{
var addtbRowSql = $"select a.PropertyId,a.SystemId,a.ProjectId,a.PipingCode,a.Diameter,a.MaterialLevel,a.AdiabatType,a.AdiabatThickness,a.MediumState,a.DrawingNo,a.PipingStart,a.PipingEnd,a.PipingLevel,a.NormalTemperature,a.NormalPressure,a.DesignTemperature,a.DesignPressure,a.PaintLevel,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_PropertySysPiping as a where 1=1 and a.PropertyId in ('{string.Join("','", selectPropertys)}')";
var addtbRowSql = $"select a.PropertyId,a.SystemId,a.ProjectId,a.PipingCode,a.Diameter,a.MaterialLevel,a.AdiabatType,a.AdiabatThickness,a.MediumState,a.DrawingNo,a.PipingStart,a.PipingEnd,a.PipingLevel,a.NormalTemperature,a.NormalPressure,a.DesignTemperature,a.DesignPressure,a.PaintLevel,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_PropertySysPiping as a where 1=1 and a.PropertyId in ('{string.Join("','", selectPropertys)}') order by a.Sort asc ";
addTb = SQLHelper.GetDataTableRunText(addtbRowSql);
}
}
@ -1175,7 +1179,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var datatb = new DataTable();
var addTb = new DataTable();
string strSql = @"select a.TechnologyId,a.SystemId,a.ProjectId,a.TagNumber,a.NameSpecifications,a.DrawingNo,a.Materials,a.NumOperate,a.NumStandby,a.WeightSingle,a.WeightTotal,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_TechnologySysPiping as a inner join PreRun_SubTechnologySelect as b on a.TechnologyId=b.TechnologyId where 1=1 and a.ProjectId=@ProjectId and b.SubSystemId=@SubSystemId ";
string strSql = @"select a.TechnologyId,a.SystemId,a.ProjectId,a.TagNumber,a.NameSpecifications,a.DrawingNo,a.Materials,a.NumOperate,a.NumStandby,a.WeightSingle,a.WeightTotal,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_TechnologySysPiping as a inner join PreRun_SubTechnologySelect as b on a.TechnologyId=b.TechnologyId where 1=1 and a.ProjectId=@ProjectId and b.SubSystemId=@SubSystemId order by a.Sort asc";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.tvControlItem.SelectedNodeID));
@ -1188,7 +1192,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (existTechnologyIds.Count > 0) selectTechnologys.RemoveAll(a => existTechnologyIds.Contains(a));
if (selectTechnologys.Count > 0)
{
var addtbRowSql = $"select a.TechnologyId,a.SystemId,a.ProjectId,a.TagNumber,a.NameSpecifications,a.DrawingNo,a.Materials,a.NumOperate,a.NumStandby,a.WeightSingle,a.WeightTotal,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_TechnologySysPiping as a where 1=1 and a.TechnologyId in ('{string.Join("','", selectTechnologys)}')";
var addtbRowSql = $"select a.TechnologyId,a.SystemId,a.ProjectId,a.TagNumber,a.NameSpecifications,a.DrawingNo,a.Materials,a.NumOperate,a.NumStandby,a.WeightSingle,a.WeightTotal,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_TechnologySysPiping as a where 1=1 and a.TechnologyId in ('{string.Join("','", selectTechnologys)}') order by a.Sort asc";
addTb = SQLHelper.GetDataTableRunText(addtbRowSql);
}
}
@ -1304,7 +1308,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var datatb = new DataTable();
var addTb = new DataTable();
string strSql = @"select a.InstrumentId,a.SystemId,a.ProjectId,a.InstrumentTag,a.UseTo,a.InstrumentName,a.Supplier,a.InstallationPosition,a.SignalType,a.AssociatedSystem,a.Cp25,a.In11,a.In40,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_InstrumentSysPiping as a inner join PreRun_SubInstrumentSelect as b on a.InstrumentId=b.InstrumentId where 1=1 and a.ProjectId=@ProjectId and b.SubSystemId=@SubSystemId ";
string strSql = @"select a.InstrumentId,a.SystemId,a.ProjectId,a.InstrumentTag,a.UseTo,a.InstrumentName,a.Supplier,a.InstallationPosition,a.SignalType,a.AssociatedSystem,a.Cp25,a.In11,a.In40,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_InstrumentSysPiping as a inner join PreRun_SubInstrumentSelect as b on a.InstrumentId=b.InstrumentId where 1=1 and a.ProjectId=@ProjectId and b.SubSystemId=@SubSystemId order by a.Sort asc ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@SubSystemId", this.tvControlItem.SelectedNodeID));
@ -1316,7 +1320,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (existInstrumentIdIds.Count > 0) selectInstrumentIds.RemoveAll(a => existInstrumentIdIds.Contains(a));
if (selectInstrumentIds.Count > 0)
{
var addtbRowSql = $"select a.InstrumentId,a.SystemId,a.ProjectId,a.InstrumentTag,a.UseTo,a.InstrumentName,a.Supplier,a.InstallationPosition,a.SignalType,a.AssociatedSystem,a.Cp25,a.In11,a.In40,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_InstrumentSysPiping as a where 1=1 and a.InstrumentId in ('{string.Join("','", selectInstrumentIds)}')";
var addtbRowSql = $"select a.InstrumentId,a.SystemId,a.ProjectId,a.InstrumentTag,a.UseTo,a.InstrumentName,a.Supplier,a.InstallationPosition,a.SignalType,a.AssociatedSystem,a.Cp25,a.In11,a.In40,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_InstrumentSysPiping as a where 1=1 and a.InstrumentId in ('{string.Join("','", selectInstrumentIds)}') order by a.Sort asc";
addTb = SQLHelper.GetDataTableRunText(addtbRowSql);
}
}
@ -1485,9 +1489,9 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (dt.Rows[3][28].ToString() != "安装位置") result = false;
if (dt.Rows[3][32].ToString() != "信号类型") result = false;
if (dt.Rows[3][36].ToString() != "关联系统") result = false;
if (dt.Rows[4][40].ToString() != "CP25") result = false;
if (dt.Rows[4][44].ToString() != "IN11") result = false;
if (dt.Rows[4][48].ToString() != "IN40") result = false;
if (dt.Rows[3][40].ToString() != "P&ID") result = false;
if (dt.Rows[3][44].ToString() != "数据表") result = false;
if (dt.Rows[3][48].ToString() != "仪表位置图") result = false;
if (dt.Rows[3][52].ToString() != "备注") result = false;
return result;

View File

@ -56,7 +56,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -56,7 +56,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -52,6 +52,11 @@
<f:Label ID="lblWorkPackTypeName" Label="工作包类型" Text="" runat="server" LabelAlign="Right" LabelWidth="150px"></f:Label>
<f:Label ID="lblWorkPackName" Label="工作包名称" Text="" runat="server" LabelAlign="Right" LabelWidth="150px"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblzcStr" Label="资产" Text="" runat="server" LabelAlign="Right" LabelWidth="150px"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>

View File

@ -92,11 +92,28 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
a.SiteImplementUser,
a.InspectIsClose,
a.InspectCloseData,
b.SpecialWorkPack
b.SpecialWorkPack,
a.PropertyTechnologyId
};
var termModel = termData.FirstOrDefault();
if (termModel.SpecialWorkPack == 1)
{
var selectPtids = termModel.PropertyTechnologyId.Split(',');
if (termModel.WorkPackType==1)
{
var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
lblzcStr.Text = string.Join(",", listPros.ConvertAll(x => x.PipingCode));
}
else if(termModel.WorkPackType == 2)
{
var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
lblzcStr.Text = string.Join(",", listTechno.ConvertAll(x => x.TagNumber));
}
else if (termModel.WorkPackType == 3)
{
var listInstrument = Funs.DB.PreRun_InstrumentSysPiping.Where(x => selectPtids.Contains(x.InstrumentId)).ToList();
lblzcStr.Text = string.Join(",", listInstrument.ConvertAll(x => x.InstrumentTag));
}
lblProjectName.Text = termModel.ProjectName;
lblProjectCode.Text = termModel.ProjectCode;
lblWorkPackTypeName.Text = termModel.WorkPackTypeName;
@ -140,11 +157,28 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
SiteImplementName = i.UserName,
a.SiteImplementUser,
a.InspectIsClose,
a.InspectCloseData
a.InspectCloseData,
a.PropertyTechnologyId
};
var inspectTermModel = data.FirstOrDefault();
if (inspectTermModel != null)
{
var selectPtids = inspectTermModel.PropertyTechnologyId.Split(',');
if (inspectTermModel.WorkPackType == 1)
{
var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
lblzcStr.Text = string.Join(",", listPros.ConvertAll(x => x.PipingCode));
}
else if (inspectTermModel.WorkPackType == 2)
{
var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
lblzcStr.Text = string.Join(",", listTechno.ConvertAll(x => x.TagNumber));
}
else if (inspectTermModel.WorkPackType == 3)
{
var listInstrument = Funs.DB.PreRun_InstrumentSysPiping.Where(x => selectPtids.Contains(x.InstrumentId)).ToList();
lblzcStr.Text = string.Join(",", listInstrument.ConvertAll(x => x.InstrumentTag));
}
lblProjectName.Text = inspectTermModel.ProjectName;
lblProjectCode.Text = inspectTermModel.ProjectCode;
lblWorkPackTypeName.Text = inspectTermModel.WorkPackTypeName;

View File

@ -95,6 +95,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// </remarks>
protected global::FineUIPro.Label lblWorkPackName;
/// <summary>
/// lblzcStr 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblzcStr;
/// <summary>
/// lblInspectUser 控件。
/// </summary>

View File

@ -49,7 +49,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var selectlist = YscInspectItems(workPackIds, subSystemIds);
var systemIds = list.Select(x => x.SystemId).ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId)).OrderBy(o => o.Sort).ThenBy(t => t.PreRunLevel);
foreach (var itemSys in syslist)
{
TreeNode rootFirstNode = new TreeNode();//定义根节点

View File

@ -232,6 +232,7 @@ namespace FineUIPro.Web.TestRun.TestRunManage
};
if (data.Count() > 0)
{
int num = 1;
int i = 1;
foreach (var item in data.OrderBy(p => p.Sort))
{
@ -241,7 +242,12 @@ namespace FineUIPro.Web.TestRun.TestRunManage
model.SystemId = item.SystemId;
if (string.IsNullOrWhiteSpace(item.WorkPackCode))
{
var num = Funs.DB.TestRun_SubSysWorkPackage.Count(p => p.SystemId == this.SystemId) + i;
var workpackages = Funs.DB.TestRun_SubSysWorkPackage.Where(p => p.SystemId == this.SystemId).ToList();
if (workpackages.Count > 0)
{
num = workpackages.ConvertAll(x => int.Parse(x.WorkPackCode.Replace("WP", ""))).Max(m => m);
}
num = num + i;
model.WorkPackCode = $"WP{string.Format("{0:d3}", num)}";
i++;
}
@ -249,7 +255,7 @@ namespace FineUIPro.Web.TestRun.TestRunManage
{
model.WorkPackCode = item.WorkPackCode;
}
model.Sort = item.Sort;
model.Sort = num;
model.Remark = item.Remark;
result.Add(model);
}

File diff suppressed because it is too large Load Diff