20251023 排产计划

This commit is contained in:
2025-10-23 16:35:37 +08:00
parent b5c375e631
commit 05a92b528d
5 changed files with 594 additions and 83 deletions
@@ -50,7 +50,7 @@
EnableCollapse="false" runat="server" BoxFlex="1" DataKeyNames="UnitWorkId,FlowingSection" AllowCellEditing="true"
EnableColumnLines="true" ClicksToEdit="1" DataIDField=""
AllowSorting="true" SortField="UnitWorkName,FlowingSection" SortDirection="ASC"
AllowPaging="true" IsDatabasePaging="true" PageSize="15"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnSort="Grid2_Sort" OnPageIndexChange="Grid2_PageIndexChange"
EnableTextSelection="True" Height="300px" OnRowDataBound="Grid2_RowDataBound">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号"
@@ -75,26 +75,46 @@
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"
<%--<f:RenderField HeaderText="总天数" ColumnID="TotalDays"
DataField="TotalDays" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
Width="90px">
</f:RenderField>
<f:RenderField HeaderText="剩余天数" ColumnID="RemainingDays"
</f:RenderField>--%>
<f:TemplateField HeaderText="有效总天数" HeaderTextAlign="Center" TextAlign="Center" ColumnID="TotalDays" Width="110px">
<ItemTemplate>
<asp:Label ID="lblTotalDay" runat="server" Text='<%# getTotalDays(Eval("ProjectId").ToString(),Eval("UnitWorkId").ToString(),Eval("FlowingSection").ToString()) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<%--<f:RenderField HeaderText="剩余天数" ColumnID="RemainingDays"
DataField="RemainingDays" FieldType="Int" HeaderTextAlign="Center" TextAlign="Left"
Width="90px">
</f:RenderField>
<f:RenderField HeaderText="平均每日应完成工作量" ColumnID="AvgDayCompleteDia"
</f:RenderField>--%>
<f:TemplateField HeaderText="剩余天数" HeaderTextAlign="Center" TextAlign="Center" ColumnID="RemainingDays" Width="90px">
<ItemTemplate>
<asp:Label ID="lblRemainingDays" runat="server" Text='<%# getRemainingDays(Eval("ProjectId").ToString(),Eval("UnitWorkId").ToString(),Eval("FlowingSection").ToString()) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<%--<f:RenderField HeaderText="平均每日应完成工作量" ColumnID="AvgDayCompleteDia"
DataField="AvgDayCompleteDia" SortField="AvgDayCompleteDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
Width="180px">
</f:RenderField>
</f:RenderField>--%>
<f:TemplateField HeaderText="平均每日应完成工作量" HeaderTextAlign="Center" TextAlign="Center" ColumnID="AvgDayCompleteDia" Width="180px">
<ItemTemplate>
<asp:Label ID="lblAvgDayCompleteDia" runat="server" Text='<%# getAvgDayCompleteDia(Eval("ProjectId").ToString(),Eval("UnitWorkId").ToString(),Eval("FlowingSection").ToString()) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField HeaderText="当日完成工作量" ColumnID="CurrentDayCompletedDia"
DataField="CurrentDayCompletedDia" SortField="CurrentDayCompletedDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
Width="140px">
</f:RenderField>
<f:RenderField HeaderText="次日应完成量(平均)" ColumnID="NextDayComplete"
<%--<f:RenderField HeaderText="次日应完成量(平均)" ColumnID="NextDayComplete"
DataField="NextDayComplete" SortField="NextDayComplete" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
Width="150px">
</f:RenderField>
</f:RenderField>--%>
<f:TemplateField HeaderText="次日应完成量(平均)" HeaderTextAlign="Center" TextAlign="Center" ColumnID="NextDayComplete" Width="150px">
<ItemTemplate>
<asp:Label ID="lblNextDayComplete" runat="server" Text='<%# getNextDayComplete(Eval("ProjectId").ToString(),Eval("UnitWorkId").ToString(),Eval("FlowingSection").ToString()) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField HeaderText="累计已完成量" ColumnID="totalCompletedDia"
DataField="totalCompletedDia" SortField="totalCompletedDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
Width="120px">
@@ -107,8 +127,8 @@
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"
<f:RenderField HeaderText="焊工日功效" ColumnID="WarningWelderCount"
DataField="WarningWelderCount" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
Width="120px">
</f:RenderField>
</Columns>
@@ -135,8 +155,8 @@
EnableCollapse="true" 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" >
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableTextSelection="True" OnRowDataBound="Grid1_RowDataBound">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
@@ -304,12 +324,12 @@
const daysDifference = timeDifference / (1000 * 60 * 60 * 24);
//平均每日应完成量=达因数/天数
const avgDailyWorkload = dain / (daysDifference + 1);
const currentTime = Math.abs(endDate - Date.now());//获取剩余天数(毫秒)
const daysTime = Math.ceil(currentTime / (1000 * 60 * 60 * 24));//将时间差转换为天数
if (daysTime > 0) {
//次日应完成量=剩余工程量(达因数-累计已完成量)/剩余天数(结束时间-当前时间)
//次日应完成量=剩余工程量(达因数-累计已完成量)/剩余天数(结束时间-当前时间)
var nextDayCompleteDyne = (dain - completedCount) / daysTime;
}
@@ -317,9 +337,6 @@
me.updateCellValue(rowId, 'AvgDailyWorkload', avgDailyWorkload.toFixed(2));//平均每天工作量
me.updateCellValue(rowId, 'NextDayCompleteDyne', nextDayCompleteDyne.toFixed(2));//次日应完成量
}
}
</script>
</body>