This commit is contained in:
汪青 2024-05-07 01:58:42 +08:00
parent 90f61fc20d
commit cb28d1b7b7
16 changed files with 1310 additions and 783 deletions

View File

@ -42,7 +42,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => x.InspectIsClose == 1).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)

View File

@ -38,7 +38,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId && x.InspectionResults == 0).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)

View File

@ -38,7 +38,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => x.InspectionIsAllPass == 1).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)

View File

@ -39,7 +39,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => (x.DriverCharge == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.DrivingManager == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.ProjectManager == this.CurrUser.UserId && x.InspectionIsAllPass == 1)).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
var ids = list.Select(x => x.ProcessesId).ToList();

View File

@ -37,7 +37,7 @@ namespace FineUIPro.Web.TestRun.Feeding
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var list = Funs.DB.PreRun_SysDevice.Where(a => a.ProjectId == this.CurrUser.LoginProjectId && a.PreRunLevel == 1);
var list = Funs.DB.PreRun_SysDevice.Where(a => a.ProjectId == this.CurrUser.LoginProjectId && a.PreRunLevel == 1).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)

View File

@ -34,10 +34,10 @@ namespace FineUIPro.Web.TestRun.Feeding
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId).ToList();
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId).OrderBy(a => a.Sort).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)

View File

@ -46,7 +46,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (userSubInspects.Count() == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
var ids = list.Select(x => x.ProcessesId).ToList();

View File

@ -45,7 +45,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)

View File

@ -57,6 +57,16 @@
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="Region" BoxConfigAlign="Stretch">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="150px" 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">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="运行日志管理" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="RunningId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="RunningId" AllowSorting="true" 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">
<Toolbars>
@ -107,8 +117,8 @@
</f:RenderField>
<f:RenderField ColumnID="SuccessionUserName" DataField="SuccessionUserName" HeaderText="继任职工" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="StartData" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}" HeaderText="开始时间" />
<f:BoundField DataField="EndData" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}" HeaderText="结束时间" />
<f:BoundField DataField="StartData" DataFormatString="{0:yyyy-MM-dd HH:MM:ss}" HeaderText="开始时间" />
<f:BoundField DataField="EndData" DataFormatString="{0:yyyy-MM-dd HH:MM:ss}" HeaderText="结束时间" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />

View File

@ -24,10 +24,54 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
if (!IsPostBack)
{
//绑定数据
InitTreeMenu();
BindGrid();
}
}
#region
/// <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 list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1).OrderBy(x => x.Sort).ToList();
if (list.Count() > 0)
{
foreach (var itemOne in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = itemOne.PreRunId;
rootOneNode.Text = itemOne.PreRunName;
rootOneNode.ToolTip = itemOne.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
@ -39,6 +83,14 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
string strSql = @"select a.RunningId,a.ProjectId,project.ProjectName as ProjectName,a.InstallationId,a.ProcessesId,a.SystemId,inst.PreRunName as InstallationName,proce.PreRunName as ProcessesName,syst.PreRunName as SystemName,a.JobNo,a.ShiftType,(case a.ShiftType when 1 then '白班' else '夜班' end) as ShiftTypeName,a.ShiftUser,shiftuser.UserName as ShiftUserName,a.SuccessionUser,successuser.UserName as SuccessionUserName,a.StartData,a.EndData,a.AddUser,a.AddTime,a.Sort from Running_LogManagement as a inner join Sys_User as shiftuser on shiftuser.UserId=a.ShiftUser inner join Sys_User as successuser on successuser.UserId=a.SuccessionUser inner join Base_Project as project on project.ProjectId=a.ProjectId inner join PreRun_SysDevice as inst on inst.PreRunId=a.InstallationId inner join PreRun_SysDevice as proce on proce.PreRunId=a.ProcessesId inner join PreRun_SysDevice as syst on syst.PreRunId=a.SystemId where a.ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
if (this.tvControlItem.SelectedNodeID != "0" && !string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
strSql += " and a.InstallationId=@InstallationId";
listStr.Add(new SqlParameter("@InstallationId", this.tvControlItem.SelectedNodeID));
}
}
if (!string.IsNullOrWhiteSpace(txtStartData.Text))
{
strSql += " and a.StartData>=@StartData";

View File

@ -41,6 +41,24 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
/// </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>

View File

@ -36,6 +36,7 @@
AutoPostBack="true" OnTabIndexChanged="TabStrip1_TabIndexChanged"
ShowBorder="true" ActiveTabIndex="1" runat="server">
<Tabs>
<f:Tab Title="预试车数据设置" BodyPadding="10px" Layout="Fit" runat="server">
<Items>
<f:Grid Height="550px" ID="GridYsc" ShowBorder="true" ClicksToEdit="1" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
@ -128,7 +129,6 @@
</Items>
</f:Tab>
<f:Tab Title="三查四定进度" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="GridScsd" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,LevelName" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
@ -170,6 +170,103 @@
</Items>
</f:Tab>
<f:Tab Title="投料试车设置" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="gvFeeding" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="SettingsId" DataKeyNames="SettingsId,InstallationId,ProcessesId,SystemId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
<Toolbars>
<f:Toolbar ID="Toolbar5" runat="server">
<Items>
<f:Button ID="btnFeedingSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnFeedingSave_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill3" runat="server"></f:ToolbarFill>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="状态" ColumnID="RunType" DataField="RunType" HeaderTextAlign="Center" TextAlign="Center" Width="100px" RendererFunction="renderRunType">
<Editor>
<f:DropDownList ID="ddlRunType" Required="true" EnableEdit="false" ForceSelection="false" runat="server">
<f:ListItem Text="未投料" Value="1" />
<f:ListItem Text="投料中" Value="2" />
<f:ListItem Text="投料完成" Value="3" />
</f:DropDownList>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="生产性能考核" BodyPadding="10px" runat="server">
<Toolbars>
<f:Toolbar ID="Toolbar6" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill4" runat="server"></f:ToolbarFill>
<f:Button ID="btnSubmit" runat="server" Text="保存" OnClick="btnSubmit_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:RadioButton ID="rbtNotStarted" Label="考核类型" Checked="true" GroupName="checkGroup"
Text="考核未开始" runat="server" OnCheckedChanged="rbtCheck_CheckedChanged" AutoPostBack="true">
</f:RadioButton>
<f:RadioButton ID="rbtInProgress" GroupName="checkGroup" ShowEmptyLabel="true" Text="考核进行中" runat="server"
OnCheckedChanged="rbtCheck_CheckedChanged" AutoPostBack="true">
</f:RadioButton>
<f:RadioButton ID="rbtComplete" GroupName="checkGroup" ShowEmptyLabel="true" Text="考核已完成" runat="server"
OnCheckedChanged="rbtCheck_CheckedChanged" AutoPostBack="true">
</f:RadioButton>
</Items>
<Items>
<f:DatePicker runat="server" Required="true" DateFormatString="yyyy-MM-dd" Label="开始日期" Width="300px" EmptyText="请选择开始日期"
ID="txtStartData" Hidden="true">
</f:DatePicker>
<f:DatePicker ID="txtEndData" Required="true" Readonly="false" CompareControl="txtStartData" DateFormatString="yyyy-MM-dd"
CompareOperator="GreaterThan" CompareMessage="结束日期应该大于开始日期" Label="结束日期" Width="300px"
runat="server" Hidden="true">
</f:DatePicker>
</Items>
</f:Tab>
<f:Tab Title="生产试运行设置" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="gvProduc" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="SettingsId" DataKeyNames="SettingsId,InstallationId,ProcessesId,SystemId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
<Toolbars>
<f:Toolbar ID="Toolbar7" runat="server">
<Items>
<f:Button ID="btnProducSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnProducSave_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill5" runat="server"></f:ToolbarFill>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="状态" ColumnID="RunType" DataField="RunType" HeaderTextAlign="Center" TextAlign="Center" Width="100px" RendererFunction="renderProducRunType">
<Editor>
<f:DropDownList ID="ddlProducRunType" Required="true" EnableEdit="false" ForceSelection="false" runat="server">
<f:ListItem Text="未运行" Value="1" />
<f:ListItem Text="运行中" Value="2" />
<f:ListItem Text="停车检修" Value="3" />
</f:DropDownList>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
@ -217,6 +314,7 @@
});
return valid;
}
//预试车合计
function onGridYscAfterEdit(event, value, params) {
var me = F('<%= GridYsc.ClientID %>');
@ -309,6 +407,7 @@
});
return valid;
}
//三查四定合计
function onGridScsdAfterEdit(event, value, params) {
var me = F('<%= GridScsd.ClientID %>');
@ -327,6 +426,25 @@
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
}
//投料试车状态
var ddlRunType = '<%= ddlRunType.ClientID %>';
function renderRunType(value) {
if (value == -1) {
return '';
} else {
return F(ddlRunType).getTextByValue(value);
}
}
//生产试运行状态
var ddlProducRunType = '<%= ddlProducRunType.ClientID %>';
function renderProducRunType(value) {
if (value == -1) {
return '';
} else {
return F(ddlProducRunType).getTextByValue(value);
}
}
</script>
</body>

View File

@ -21,6 +21,8 @@ using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System.IO;
using NPOI.SS.Formula.Functions;
using FineUIPro.Web.ProjectData;
using System.Web.Services.Description;
namespace FineUIPro.Web.TestRun.Report
{
@ -856,6 +858,351 @@ namespace FineUIPro.Web.TestRun.Report
#endregion
#region
/// <summary>
/// 投料试车绑定
/// </summary>
public void gvFeedingBrid()
{
var result = new List<ParameterSettingsDto>();
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 1) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 1,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == 1
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
gvFeeding.DataSource = result;
TabStrip1.ActiveTabIndex = 3;
gvFeeding.DataBind();
}
/// <summary>
/// 投料试车保存
/// </summary>
protected void btnFeedingSave_Click(object sender, EventArgs e)
{
try
{
var deletelist = Funs.DB.Run_ParameterSettings.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 1);
Funs.DB.Run_ParameterSettings.DeleteAllOnSubmit(deletelist);
Funs.DB.SubmitChanges();
var addList = new List<Run_ParameterSettings>();
JArray mergedData = gvFeeding.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var model = new Run_ParameterSettings();
model.SettingsId = this.gvFeeding.Rows[i].DataKeys[0].ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.InstallationId = this.gvFeeding.Rows[i].DataKeys[1].ToString();
model.ProcessesId = this.gvFeeding.Rows[i].DataKeys[2].ToString();
model.SystemId = this.gvFeeding.Rows[i].DataKeys[3].ToString();
model.States = 1;
var runtype = !string.IsNullOrWhiteSpace(values.Value<string>("RunType")) ? values.Value<string>("RunType") : string.Empty;
if (!string.IsNullOrWhiteSpace(runtype))
{
model.RunType = int.Parse(runtype);
}
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i;
addList.Add(model);
}
Funs.DB.Run_ParameterSettings.InsertAllOnSubmit(addList);
Funs.DB.SubmitChanges();
gvFeedingBrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#endregion
#region
/// <summary>
/// 生产性能考核绑定
/// </summary>
public void PerformPageInit()
{
var model = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (model != null)
{
if (model.States == 1)
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
rbtNotStarted.Checked = true;
}
else if (model.States == 2)
{
txtStartData.Hidden = false;
txtEndData.Hidden = false;
rbtInProgress.Checked = true;
txtStartData.Text = model.StartTime.Value.ToString("yyyy-MM-dd");
txtEndData.Text = model.EndTime.Value.ToString("yyyy-MM-dd");
}
else if (model.States == 2)
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
rbtComplete.Checked = true;
}
}
}
/// <summary>
/// 保存
/// </summary>
protected void btnSubmit_Click(object sender, EventArgs e)
{
bool add = false;
if (rbtInProgress.Checked && string.IsNullOrWhiteSpace(txtStartData.Text))
{
ShowNotify("开始时间不能为空!", MessageBoxIcon.Warning);
return;
}
if (rbtInProgress.Checked && string.IsNullOrWhiteSpace(txtEndData.Text))
{
ShowNotify("结束时间不能为空!", MessageBoxIcon.Warning);
return;
}
var state = 0;
if (rbtNotStarted.Checked)
{
state = 1;
}
if (rbtInProgress.Checked)
{
state = 2;
}
if (rbtComplete.Checked)
{
state = 3;
}
var model = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (model == null)
{
add = true;
model = new Run_ProductionSettings();
model.ProductionId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
}
model.States = state;
if (state == 2)
{
model.StartTime = DateTime.Parse(txtStartData.Text.ToString());
model.EndTime = DateTime.Parse(txtEndData.Text.ToString());
}
else
{
model.StartTime = null;
model.EndTime = null;
}
if (add) Funs.DB.Run_ProductionSettings.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
PerformPageInit();
ShowNotify("保存成功!");
}
/// <summary>
/// 考核选择
/// </summary>
protected void rbtCheck_CheckedChanged(object sender, CheckedEventArgs e)
{
if (rbtInProgress.Checked)
{
txtStartData.Hidden = false;
txtEndData.Hidden = false;
}
else
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
}
}
#endregion
#region
/// <summary>
///生产试运行绑定
/// </summary>
public void gvProducBrid()
{
var result = new List<ParameterSettingsDto>();
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 2) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 2,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == 2
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
gvProduc.DataSource = result;
TabStrip1.ActiveTabIndex = 5;
gvProduc.DataBind();
}
/// <summary>
/// 生产试运行保存
/// </summary>
protected void btnProducSave_Click(object sender, EventArgs e)
{
try
{
var deletelist = Funs.DB.Run_ParameterSettings.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 2);
Funs.DB.Run_ParameterSettings.DeleteAllOnSubmit(deletelist);
Funs.DB.SubmitChanges();
var addList = new List<Run_ParameterSettings>();
JArray mergedData = gvProduc.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var model = new Run_ParameterSettings();
model.SettingsId = this.gvProduc.Rows[i].DataKeys[0].ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.InstallationId = this.gvProduc.Rows[i].DataKeys[1].ToString();
model.ProcessesId = this.gvProduc.Rows[i].DataKeys[2].ToString();
model.SystemId = this.gvProduc.Rows[i].DataKeys[3].ToString();
model.States = 2;
var runtype = !string.IsNullOrWhiteSpace(values.Value<string>("RunType")) ? values.Value<string>("RunType") : string.Empty;
if (!string.IsNullOrWhiteSpace(runtype))
{
model.RunType = int.Parse(runtype);
}
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i;
addList.Add(model);
}
Funs.DB.Run_ParameterSettings.InsertAllOnSubmit(addList);
Funs.DB.SubmitChanges();
gvProducBrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#endregion
#region
/// <summary>
@ -919,6 +1266,21 @@ namespace FineUIPro.Web.TestRun.Report
//三查四定
DataBridScsd();
}
else if (TabStrip1.ActiveTabIndex == 3)
{
//投料试车
gvFeedingBrid();
}
else if (TabStrip1.ActiveTabIndex == 4)
{
//生产性能考核
PerformPageInit();
}
else if (TabStrip1.ActiveTabIndex == 5)
{
//生产试运行
gvProducBrid();
}
}
public class Run_ScheduleSetUpDto : Run_ScheduleSetUp
@ -979,6 +1341,29 @@ namespace FineUIPro.Web.TestRun.Report
public int CloseNum { get; set; }
}
/// <summary>
/// 投料试车实体
/// </summary>
public class ParameterSettingsDto : Run_ParameterSettings
{
/// <summary>
/// 项目名称
/// </summary>
public string ProjectName { get; set; }
/// <summary>
/// 装置名称
/// </summary>
public string InstallationName { get; set; }
/// <summary>
/// 工序名称
/// </summary>
public string ProcessesName { get; set; }
/// <summary>
/// 系统名称
/// </summary>
public string SystemName { get; set; }
}
#endregion

View File

@ -346,5 +346,167 @@ namespace FineUIPro.Web.TestRun.Report
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox3;
/// <summary>
/// gvFeeding 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvFeeding;
/// <summary>
/// Toolbar5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar5;
/// <summary>
/// btnFeedingSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnFeedingSave;
/// <summary>
/// ToolbarFill3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill3;
/// <summary>
/// ddlRunType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlRunType;
/// <summary>
/// Toolbar6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar6;
/// <summary>
/// ToolbarFill4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill4;
/// <summary>
/// btnSubmit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmit;
/// <summary>
/// rbtNotStarted 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButton rbtNotStarted;
/// <summary>
/// rbtInProgress 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButton rbtInProgress;
/// <summary>
/// rbtComplete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButton rbtComplete;
/// <summary>
/// txtStartData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartData;
/// <summary>
/// txtEndData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndData;
/// <summary>
/// gvProduc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvProduc;
/// <summary>
/// Toolbar7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar7;
/// <summary>
/// btnProducSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProducSave;
/// <summary>
/// ToolbarFill5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill5;
/// <summary>
/// ddlProducRunType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlProducRunType;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,7 @@ using static FineUIPro.Web.TestRun.Report.PreRunSchedule;
using Aspose.Words;
using static FineUIPro.Web.TestRun.Report.TestRunSchedule;
using System.Web.UI.DataVisualization.Charting;
using NPOI.POIFS.Crypt.Dsig;
namespace FineUIPro.Web
{
@ -26,6 +27,9 @@ namespace FineUIPro.Web
public string oneDataStr { get; set; }
public string twoDataStr { get; set; }
public string fourDecisionStr { get; set; }
public string feedingRunStr { get; set; }
public string productsStr { get; set; }
public string runProductionStr { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
@ -40,6 +44,9 @@ namespace FineUIPro.Web
OneYsc();
TwoSc();
FourDecision();
FeedingRuns();
Products();
RunProduction();
}
/// <summary>
@ -265,6 +272,149 @@ namespace FineUIPro.Web
fourDecisionStr = JsonConvert.SerializeObject(result);
}
/// <summary>
/// 投料试车
/// </summary>
public void FeedingRuns()
{
List<FourFiveDto> result = new List<FourFiveDto>();
var data = ParamentSettings(1);
if (data.Count > 0)
{
foreach (var item in data)
{
result.Add(new FourFiveDto()
{
RunType = item.RunType.Value,
SystemName = item.SystemName,
InstallationName = item.InstallationName
});
}
feedingRunStr = JsonConvert.SerializeObject(result);
}
}
/// <summary>
/// 生产试运行
/// </summary>
public void Products()
{
List<FourFiveDto> result = new List<FourFiveDto>();
var data = ParamentSettings(2);
if (data.Count > 0)
{
foreach (var item in data)
{
result.Add(new FourFiveDto()
{
RunType = item.RunType.Value,
SystemName = item.SystemName,
InstallationName = item.InstallationName
});
}
productsStr = JsonConvert.SerializeObject(result);
}
}
/// <summary>
/// 投料试车和生产试运行数据获取
/// </summary>
/// <returns></returns>
private List<ParameterSettingsDto> ParamentSettings(int state)
{
var result = new List<ParameterSettingsDto>();
try
{
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == state) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 1,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == state
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
}
catch (Exception ex)
{
result = new List<ParameterSettingsDto>();
}
return result;
}
/// <summary>
/// 生产性能考核
/// </summary>
public void RunProduction()
{
var result = new SixDto();
var data = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (data != null)
{
result.States = data.States.Value;
result.StatesName = data.States == 1 ? "考核未开始" : data.States == 2 ? "考核进行中" : data.States == 3 ? "考核已完成" : "考核未开始";
result.StartTime = data.StartTime != null ? data.StartTime.Value.ToString("yyyy-MM-dd") : string.Empty;
result.EndTime = data.EndTime != null ? data.EndTime.Value.ToString("yyyy-MM-dd") : string.Empty;
}
else
{
result.States = 1;
result.StatesName = "考核未开始";
}
runProductionStr = JsonConvert.SerializeObject(result);
}
#region
/// <summary>
@ -285,6 +435,27 @@ namespace FineUIPro.Web
public float Rate { get; set; }
}
/// <summary>
/// 图4,5
/// </summary>
public class FourFiveDto
{
public int RunType { get; set; }
public string SystemName { get; set; }
public string InstallationName { get; set; }
}
/// <summary>
/// 图6
/// </summary>
public class SixDto
{
public int States { get; set; }
public string StatesName { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
public class WorkPackageInspectDto
{
/// <summary>