20250926 排产计划生产看板
This commit is contained in:
parent
6e6f3d42fd
commit
75b7d05596
|
|
@ -0,0 +1,67 @@
|
|||
CREATE PROCEDURE [dbo].[Sp_HJGL_ProductionPlanStatistics]
|
||||
@projectId nvarchar(50)=null
|
||||
AS
|
||||
select distinct unitWork.UnitWorkId,
|
||||
unitWork.UnitWorkCode,
|
||||
unitWork.UnitWorkName,
|
||||
unitWork.ProjectId,
|
||||
pipeline.FlowingSection,
|
||||
isnull(total.TotalDia,0) as TotalDia,--工厂预制总达因
|
||||
p.PlanStartDate,--计划开始日期
|
||||
p.PlanEndDate,--计划完成日期
|
||||
p.Days as TotalDays,--总天数
|
||||
(case when p.PlanEndDate>= getdate() then (p.Days-(DATEDIFF(day,p.PlanStartDate,GETDATE()))) else '' end) as RemainingDays,--剩余天数
|
||||
(case when p.Days>0 then cast(isnull(total.TotalDia,0)/p.Days as decimal(18,2)) else 0 end) as AvgDayCompleteDia, --平均每日应完成工作量
|
||||
ISNULL(currentDay.CurrentDayCompletedDia,0) as CurrentDayCompletedDia, --当日完成工作量
|
||||
cast(case when (case when p.PlanEndDate>= getdate() then (p.Days-(DATEDIFF(day,p.PlanStartDate,GETDATE()))) else 0 end)>0 then
|
||||
(isnull(total.TotalDia,0)-isnull(totalCompleted.totalCompletedDia,0))/ (case when p.PlanEndDate>= getdate() then (p.Days-(DATEDIFF(day,p.PlanStartDate,GETDATE()))) else 0 end) else 0 end as decimal(18,2)) as NextDayComplete, --次日应完成量
|
||||
isnull(totalCompleted.totalCompletedDia,0) as totalCompletedDia, --累计已完成量
|
||||
cast(cast((case when isnull(total.TotalDia,0)>0 then
|
||||
(isnull(totalCompleted.totalCompletedDia,0) / isnull(total.TotalDia,0)*100) else 0 end) as decimal(18,2)) as varchar(10))+'%' as CompletedRate, --已完成百分比
|
||||
welder.WelderCount, --当前焊工数量
|
||||
warningWelder.WarningWelderCount --预警焊工数量
|
||||
FROM WBS_UnitWork AS unitWork
|
||||
LEFT JOIN (select FlowingSection,UnitWorkId from HJGL_Pipeline where PipeArea='1' and FlowingSection is not null and FlowingSection!='') as pipeline on pipeline.UnitWorkId = unitWork.UnitWorkId
|
||||
left join HJGL_ProductionSchedulingPlan p on p.PipelineId = unitWork.UnitWorkId and p.FlowNum = pipeline.FlowingSection
|
||||
--工厂预制总达因
|
||||
left join (select sum(Size) as TotalDia,HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection from HJGL_WeldJoint
|
||||
left join HJGL_Pipeline on HJGL_Pipeline.PipelineId = HJGL_WeldJoint.PipelineId
|
||||
where HJGL_Pipeline.PipeArea='1' and HJGL_WeldJoint.JointAttribute='预制口'
|
||||
group by HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection) as total on total.UnitWorkId = unitWork.UnitWorkId and total.FlowingSection = pipeline.FlowingSection
|
||||
--当日完成工作量
|
||||
left join (select sum(Size) as CurrentDayCompletedDia,HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection from HJGL_WeldJoint
|
||||
left join HJGL_Pipeline on HJGL_Pipeline.PipelineId = HJGL_WeldJoint.PipelineId
|
||||
left join HJGL_WeldingDaily on HJGL_WeldingDaily.WeldingDailyId = HJGL_WeldJoint.WeldingDailyId
|
||||
where HJGL_Pipeline.PipeArea='1' and HJGL_WeldJoint.JointAttribute='预制口'
|
||||
and HJGL_WeldJoint.WeldingDailyId is not null
|
||||
and YEAR(HJGL_WeldingDaily.WeldingDate)=YEAR(GETDATE())
|
||||
and MONTH(HJGL_WeldingDaily.WeldingDate)=MONTH(GETDATE())
|
||||
and DAY(HJGL_WeldingDaily.WeldingDate)=DAY(GETDATE())
|
||||
group by HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection) as currentDay on currentDay.UnitWorkId = unitWork.UnitWorkId and currentDay.FlowingSection = pipeline.FlowingSection
|
||||
|
||||
--累计已完成量
|
||||
left join (select sum(Size) as totalCompletedDia,HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection from HJGL_WeldJoint
|
||||
left join HJGL_Pipeline on HJGL_Pipeline.PipelineId = HJGL_WeldJoint.PipelineId
|
||||
where HJGL_Pipeline.PipeArea='1' and HJGL_WeldJoint.JointAttribute='预制口'
|
||||
and HJGL_WeldJoint.WeldingDailyId is not null
|
||||
group by HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection) as totalCompleted on totalCompleted.UnitWorkId = unitWork.UnitWorkId and totalCompleted.FlowingSection = pipeline.FlowingSection
|
||||
|
||||
--当前焊工数量
|
||||
left join (select count(*) as WelderCount,HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection from Person_Persons
|
||||
left join HJGL_WeldJoint on HJGL_WeldJoint.BackingWelderId = Person_Persons.PersonId
|
||||
left join HJGL_Pipeline on HJGL_Pipeline.PipelineId = HJGL_WeldJoint.PipelineId
|
||||
where HJGL_Pipeline.PipeArea='1' and HJGL_WeldJoint.JointAttribute='预制口'
|
||||
and HJGL_WeldJoint.WeldingDailyId is not null
|
||||
group by HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection) as welder on welder.UnitWorkId = unitWork.UnitWorkId and welder.FlowingSection = pipeline.FlowingSection
|
||||
|
||||
--预警焊工数量
|
||||
left join (select count(*) as WarningWelderCount,HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection from Person_Persons
|
||||
left join HJGL_WeldJoint on HJGL_WeldJoint.BackingWelderId = Person_Persons.PersonId
|
||||
left join HJGL_Pipeline on HJGL_Pipeline.PipelineId = HJGL_WeldJoint.PipelineId
|
||||
where HJGL_Pipeline.PipeArea='1' and HJGL_WeldJoint.JointAttribute='预制口'
|
||||
and HJGL_WeldJoint.WeldingDailyId is not null
|
||||
and PersonId in (select WelderId from Welder_WelderQualify where LimitDate < GETDATE())
|
||||
group by HJGL_Pipeline.UnitWorkId,HJGL_Pipeline.FlowingSection) as warningWelder on warningWelder.UnitWorkId = unitWork.UnitWorkId and warningWelder.FlowingSection = pipeline.FlowingSection
|
||||
|
||||
where unitWork.ProjectId = @projectId
|
||||
and pipeline.FlowingSection is not null
|
||||
Binary file not shown.
|
|
@ -7,11 +7,10 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>排产计划</title>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.color1 {
|
||||
background:#ff0000;
|
||||
<style type="text/css">
|
||||
.color1 {
|
||||
background: #ff0000;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -44,120 +43,202 @@
|
|||
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
|
||||
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="排产计划"
|
||||
TitleToolTip="排产计划" AutoScroll="true">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="保存" Icon="SystemSave"></f:Button>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出"
|
||||
Icon="TableGo" EnableAjax="false" EnablePostBack="true">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="排产计划" ForceFit="false"
|
||||
<f:Panel ID="panelCenterTop" runat="server" ShowBorder="true" RegionPosition="Center" Title="生产看板" AutoScroll="true" Layout="VBox">
|
||||
<Items>
|
||||
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="生产看板" ForceFit="false"
|
||||
EnableCollapse="false" runat="server" BoxFlex="1" DataKeyNames="UnitWorkId,FlowingSection" AllowCellEditing="true"
|
||||
EnableColumnLines="true" ClicksToEdit="1" DataIDField=""
|
||||
AllowSorting="true" SortField="UnitWorkCode,FlowingSection" SortDirection="ASC"
|
||||
AllowPaging="true" IsDatabasePaging="true" PageSize="15"
|
||||
EnableTextSelection="True" Height="300px">
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号"
|
||||
Width="60px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="流水段号" ColumnID="FlowingSection"
|
||||
DataField="FlowingSection" SortField="FlowingSection" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="110px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="主项名称" ColumnID="UnitWorkName"
|
||||
DataField="UnitWorkName" SortField="UnitWorkName" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="110px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="工厂预制总达因" ColumnID="TotalDia"
|
||||
DataField="TotalDia" SortField="TotalDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="140px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="计划开始日期" ColumnID="PlanStartDate"
|
||||
DataField="PlanStartDate" SortField="PlanStartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="计划完成日期" ColumnID="PlanEndDate"
|
||||
DataField="PlanEndDate" SortField="PlanEndDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="总天数" ColumnID="TotalDays"
|
||||
DataField="TotalDays" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="剩余天数" ColumnID="RemainingDays"
|
||||
DataField="RemainingDays" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="平均每日应完成工作量" ColumnID="AvgDayCompleteDia"
|
||||
DataField="AvgDayCompleteDia" SortField="AvgDayCompleteDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="当日完成工作量" ColumnID="CurrentDayCompletedDia"
|
||||
DataField="CurrentDayCompletedDia" SortField="CurrentDayCompletedDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="140px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="次日应完成量" ColumnID="NextDayComplete"
|
||||
DataField="NextDayComplete" SortField="NextDayComplete" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="累计已完成量" ColumnID="totalCompletedDia"
|
||||
DataField="totalCompletedDia" SortField="totalCompletedDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成百分比" ColumnID="CompletedRate"
|
||||
DataField="CompletedRate" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="当前焊工数量" ColumnID="WelderCount"
|
||||
DataField="WelderCount" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="预警焊工数量" ColumnID="WarningWelderCount"
|
||||
DataField="WarningWelderCount" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize2" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize2_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="10000" />
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="True" Title="排产计划" ForceFit="false"
|
||||
EnableCollapse="false" runat="server" BoxFlex="1" DataKeyNames="ProductionSchedulingPlanId" AllowCellEditing="true"
|
||||
EnableColumnLines="true" ClicksToEdit="1" DataIDField="ProductionSchedulingPlanId"
|
||||
AllowSorting="true" SortField="FlowNum,Material,Caliber" SortDirection="ASC" OnSort="Grid1_Sort"
|
||||
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableTextSelection="True" OnRowDataBound="Grid1_RowDataBound">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="保存" Icon="SystemSave"></f:Button>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出"
|
||||
Icon="TableGo" EnableAjax="false" EnablePostBack="true">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号"
|
||||
Width="60px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="流水段号" ColumnID="FlowNum"
|
||||
DataField="FlowNum" SortField="FlowNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<%--<f:RenderField HeaderText="主项名称" ColumnID="MainItemName"
|
||||
DataField="MainItemName" SortField="MainItemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField HeaderText="材质" ColumnID="Material"
|
||||
DataField="Material" SortField="Material" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="口径" ColumnID="Caliber"
|
||||
DataField="Caliber" SortField="Caliber" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="达因数" ColumnID="Dain"
|
||||
DataField="Dain" SortField="Dain" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="总达因(按材质)" ColumnID="TotalDyne"
|
||||
DataField="TotalDyne" SortField="TotalDyne" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="总达因(按材质)优先级" ColumnID="TotalPriority"
|
||||
DataField="TotalPriority" SortField="TotalPriority" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="190px">
|
||||
<Editor>
|
||||
<f:TextBox ID="txtTotalPriority" runat="server"></f:TextBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="总达因" ColumnID="PriorityTotalDyne"
|
||||
DataField="PriorityTotalDyne" SortField="PriorityTotalDyne" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<%--<Editor>
|
||||
<f:NumberBox ID="txtPriorityTotalDyne" runat="server"></f:NumberBox>
|
||||
</Editor>--%>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="计划开始时间" ColumnID="PlanStartDate"
|
||||
DataField="PlanStartDate" SortField="PlanStartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<Editor>
|
||||
<f:DatePicker ID="txtPlanStartDate" runat="server"></f:DatePicker>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="计划结束时间" ColumnID="PlanEndDate"
|
||||
DataField="PlanEndDate" SortField="PlanEndDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<Editor>
|
||||
<f:DatePicker ID="txtPlanEndDate" runat="server"></f:DatePicker>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="天数" ColumnID="Days"
|
||||
DataField="Days" SortField="Days" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="90px">
|
||||
<%--<Editor>
|
||||
<f:NumberBox ID="txtDays" runat="server" NoDecimal="true" NoNegative="true" ></f:NumberBox>
|
||||
</Editor>--%>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="平均每日应完成工作量" ColumnID="AvgDailyWorkload"
|
||||
DataField="AvgDailyWorkload" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="140px">
|
||||
<Editor>
|
||||
<f:NumberBox ID="txtAvgDailyWorkload" runat="server" NoNegative="true"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="当日已完成量" ColumnID="OnDayCompleteDyne"
|
||||
DataField="OnDayCompleteDyne" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<%--<Editor>
|
||||
<f:NumberBox ID="NumberBox1" runat="server" NoNegative="true"></f:NumberBox>
|
||||
</Editor>--%>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="次日应完成量" ColumnID="NextDayCompleteDyne"
|
||||
DataField="NextDayCompleteDyne" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<Editor>
|
||||
<f:NumberBox ID="NumberBox2" runat="server" NoNegative="true"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="累计已完成量" ColumnID="CompletedCount"
|
||||
DataField="CompletedCount" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="130px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成百分比" ColumnID="CompletedRate"
|
||||
DataField="CompletedRate" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="130px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成百分比汇总" ColumnID="TotalCompletedRate"
|
||||
DataField="TotalCompletedRate" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:GroupField ColumnID="GroupField1" runat="server" HeaderText="排产计划" HeaderTextAlign="Center">
|
||||
<Columns>
|
||||
<f:RenderField HeaderText="流水段号" ColumnID="FlowNum"
|
||||
DataField="FlowNum" SortField="FlowNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="材质" ColumnID="Material"
|
||||
DataField="Material" SortField="Material" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="口径" ColumnID="Caliber"
|
||||
DataField="Caliber" SortField="Caliber" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="达因数" ColumnID="Dain"
|
||||
DataField="Dain" SortField="Dain" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="总达因(按材质)" ColumnID="TotalDyne"
|
||||
DataField="TotalDyne" SortField="TotalDyne" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="总达因(按材质)优先级" ColumnID="TotalPriority"
|
||||
DataField="TotalPriority" SortField="TotalPriority" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="190px">
|
||||
<Editor>
|
||||
<f:TextBox ID="txtTotalPriority" runat="server"></f:TextBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="总达因" ColumnID="PriorityTotalDyne"
|
||||
DataField="PriorityTotalDyne" SortField="PriorityTotalDyne" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="计划开始时间" ColumnID="PlanStartDate"
|
||||
DataField="PlanStartDate" SortField="PlanStartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<Editor>
|
||||
<f:DatePicker ID="txtPlanStartDate" runat="server"></f:DatePicker>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="计划结束时间" ColumnID="PlanEndDate"
|
||||
DataField="PlanEndDate" SortField="PlanEndDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<Editor>
|
||||
<f:DatePicker ID="txtPlanEndDate" runat="server"></f:DatePicker>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="天数" ColumnID="Days"
|
||||
DataField="Days" SortField="Days" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
</f:GroupField>
|
||||
<f:GroupField ColumnID="GroupField2" runat="server" HeaderText="生产看板" HeaderTextAlign="Center">
|
||||
<Columns>
|
||||
<f:RenderField HeaderText="平均每日应完成工作量" ColumnID="AvgDailyWorkload"
|
||||
DataField="AvgDailyWorkload" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="140px">
|
||||
<Editor>
|
||||
<f:NumberBox ID="txtAvgDailyWorkload" runat="server" NoNegative="true"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="当日已完成量" ColumnID="OnDayCompleteDyne"
|
||||
DataField="OnDayCompleteDyne" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="次日应完成量" ColumnID="NextDayCompleteDyne"
|
||||
DataField="NextDayCompleteDyne" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="120px">
|
||||
<Editor>
|
||||
<f:NumberBox ID="NumberBox2" runat="server" NoNegative="true"></f:NumberBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="累计已完成量" ColumnID="CompletedCount"
|
||||
DataField="CompletedCount" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="130px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成百分比" ColumnID="CompletedRate"
|
||||
DataField="CompletedRate" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="130px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="已完成百分比汇总" ColumnID="TotalCompletedRate"
|
||||
DataField="TotalCompletedRate" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
</f:GroupField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
|
|
@ -202,7 +283,7 @@
|
|||
}
|
||||
|
||||
function onGridDataLoad(event) {
|
||||
this.mergeColumns(['FlowNum', 'Material', 'TotalDyne','TotalPriority','PriorityTotalDyne', 'TotalCompletedRate']);
|
||||
this.mergeColumns(['FlowNum', 'Material', 'TotalDyne', 'TotalPriority', 'PriorityTotalDyne', 'TotalCompletedRate']);
|
||||
}
|
||||
|
||||
//自动计算天数、平均每天工作量
|
||||
|
|
@ -230,8 +311,8 @@
|
|||
}
|
||||
|
||||
me.updateCellValue(rowId, 'Days', daysDifference + 1);//天数
|
||||
me.updateCellValue(rowId, 'AvgDailyWorkload', avgDailyWorkload);//平均每天工作量
|
||||
me.updateCellValue(rowId, 'NextDayCompleteDyne', nextDayCompleteDyne);//次日应完成量
|
||||
me.updateCellValue(rowId, 'AvgDailyWorkload', avgDailyWorkload.toFixed(2));//平均每天工作量
|
||||
me.updateCellValue(rowId, 'NextDayCompleteDyne', nextDayCompleteDyne.toFixed(2));//次日应完成量
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -23,14 +23,23 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
{
|
||||
public int pageSize = 20;
|
||||
public static DataTable GridDataTable = new DataTable();
|
||||
|
||||
#region 加载页面
|
||||
/// <summary>
|
||||
/// 加载页面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
|
||||
this.InitTreeMenu();//加载树
|
||||
BindGrid2();//绑定看板数据
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 加载树装置-单位-工作区
|
||||
/// <summary>
|
||||
|
|
@ -185,6 +194,13 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 树节点展开事件
|
||||
/// <summary>
|
||||
/// 树节点展开事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void tvControlItem_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
|
||||
{
|
||||
if (e.Node.Nodes[0].NodeID == "加载流水段...")
|
||||
|
|
@ -194,6 +210,8 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 点击TreeView
|
||||
/// <summary>
|
||||
/// 点击TreeView
|
||||
|
|
@ -202,16 +220,6 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// <param name="e"></param>
|
||||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
//if (e.CommandName == "流水段")
|
||||
//{
|
||||
// Model.HJGL_Pipeline pipeline = BLL.PipelineService.GetPipelineByFlowingSection(this.tvControlItem.SelectedNode.Text);
|
||||
// this.hdUnitWorkId.Text = string.Empty;
|
||||
// if (pipeline != null)
|
||||
// {
|
||||
// this.hdUnitWorkId.Text = this.tvControlItem.SelectedNode.ParentNode.NodeID;
|
||||
// SaveProductionSchedulingPlan();
|
||||
// }
|
||||
//}
|
||||
this.BindGrid();
|
||||
}
|
||||
|
||||
|
|
@ -912,5 +920,30 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 生产看板
|
||||
protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.BindGrid2();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid2()
|
||||
{
|
||||
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
|
||||
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
|
||||
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunProc("Sp_HJGL_ProductionPlanStatistics", parameter);
|
||||
this.Grid2.RecordCount = tb.Rows.Count;
|
||||
var table = this.GetPagedDataTable(Grid2, tb);
|
||||
Grid2.DataSource = table;
|
||||
Grid2.DataBind();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
@ -93,6 +93,60 @@ namespace FineUIPro.Web.HJGL.PreDesign {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterRegion;
|
||||
|
||||
/// <summary>
|
||||
/// panelCenterTop 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterTop;
|
||||
|
||||
/// <summary>
|
||||
/// Grid2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid2;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText2;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize2;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar3 控件。
|
||||
/// </summary>
|
||||
|
|
@ -129,15 +183,6 @@ namespace FineUIPro.Web.HJGL.PreDesign {
|
|||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// txtTotalPriority 控件。
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue