20251009 排产计划

This commit is contained in:
2025-10-09 09:30:37 +08:00
parent 0ac7d74b5e
commit 87fb529521
5 changed files with 234 additions and 79 deletions
@@ -0,0 +1,117 @@
ALTER PROCEDURE [dbo].[Sp_HJGL_ProductionPlanStatistics]
@projectId nvarchar(50)=null
AS
BEGIN
SET NOCOUNT ON; -- 减少网络流量,提高性能
-- 使用CTE预先过滤和聚合数据
WITH PipelineFiltered AS (
SELECT UnitWorkId, FlowingSection, PipelineId
FROM HJGL_Pipeline
WHERE PipeArea='1'
AND FlowingSection IS NOT NULL
AND FlowingSection != ''
AND (@projectId IS NULL OR UnitWorkId IN (
SELECT UnitWorkId FROM WBS_UnitWork WHERE ProjectId = @projectId
))
),
-- 工厂预制总达因
TotalDiaCTE AS (
SELECT p.UnitWorkId, p.FlowingSection, SUM(wj.Size) as TotalDia
FROM HJGL_WeldJoint wj
INNER JOIN PipelineFiltered p ON p.PipelineId = wj.PipelineId
WHERE wj.JointAttribute='预制口'
GROUP BY p.UnitWorkId, p.FlowingSection
),
-- 当日完成工作量
CurrentDayCompletedCTE AS (
SELECT p.UnitWorkId, p.FlowingSection, SUM(wj.Size) as CurrentDayCompletedDia
FROM HJGL_WeldJoint wj
INNER JOIN PipelineFiltered p ON p.PipelineId = wj.PipelineId
INNER JOIN HJGL_WeldingDaily wd ON wd.WeldingDailyId = wj.WeldingDailyId
WHERE wj.JointAttribute='预制口'
AND wj.WeldingDailyId IS NOT NULL
AND wd.WeldingDate >= CAST(GETDATE() AS DATE) -- 优化日期比较,使用日期范围
AND wd.WeldingDate < DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
GROUP BY p.UnitWorkId, p.FlowingSection
),
-- 累计已完成量
TotalCompletedCTE AS (
SELECT p.UnitWorkId, p.FlowingSection, SUM(wj.Size) as totalCompletedDia
FROM HJGL_WeldJoint wj
INNER JOIN PipelineFiltered p ON p.PipelineId = wj.PipelineId
WHERE wj.JointAttribute='预制口'
AND wj.WeldingDailyId IS NOT NULL
GROUP BY p.UnitWorkId, p.FlowingSection
),
-- 当前焊工数量
WelderCountCTE AS (
SELECT p.UnitWorkId, p.FlowingSection,
COUNT(DISTINCT pp.PersonId) as WelderCount -- 使用DISTINCT避免重复计数
FROM Person_Persons pp
INNER JOIN HJGL_WeldJoint wj ON wj.BackingWelderId = pp.PersonId
INNER JOIN PipelineFiltered p ON p.PipelineId = wj.PipelineId
WHERE wj.JointAttribute='预制口'
AND wj.WeldingDailyId IS NOT NULL
GROUP BY p.UnitWorkId, p.FlowingSection
),
-- 预警焊工数量
WarningWelderCountCTE AS (
SELECT p.UnitWorkId, p.FlowingSection,
COUNT(DISTINCT pp.PersonId) as WarningWelderCount
FROM Person_Persons pp
INNER JOIN HJGL_WeldJoint wj ON wj.BackingWelderId = pp.PersonId
INNER JOIN PipelineFiltered p ON p.PipelineId = wj.PipelineId
INNER JOIN Welder_WelderQualify wq ON wq.WelderId = pp.PersonId
WHERE wj.JointAttribute='预制口'
AND wj.WeldingDailyId IS NOT NULL
AND wq.LimitDate < GETDATE() -- 焊工资格过期预警
GROUP BY p.UnitWorkId, p.FlowingSection
)
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()))-1) 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()))-1) 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()))-1) 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
INNER JOIN PipelineFiltered pipeline ON pipeline.UnitWorkId = unitWork.UnitWorkId -- 使用INNER JOIN,因为pipeline数据必须存在
LEFT JOIN HJGL_ProductionSchedulingPlan p ON p.PipelineId = unitWork.UnitWorkId AND p.FlowNum = pipeline.FlowingSection
--工厂预制总达因
LEFT JOIN TotalDiaCTE total ON total.UnitWorkId = unitWork.UnitWorkId AND total.FlowingSection = pipeline.FlowingSection
--当日完成工作量
LEFT JOIN CurrentDayCompletedCTE currentDay ON currentDay.UnitWorkId = unitWork.UnitWorkId AND currentDay.FlowingSection = pipeline.FlowingSection
--累计已完成量
LEFT JOIN TotalCompletedCTE totalCompleted ON totalCompleted.UnitWorkId = unitWork.UnitWorkId AND totalCompleted.FlowingSection = pipeline.FlowingSection
--当前焊工数量
LEFT JOIN WelderCountCTE welder ON welder.UnitWorkId = unitWork.UnitWorkId AND welder.FlowingSection = pipeline.FlowingSection
--预警焊工数量
LEFT JOIN WarningWelderCountCTE warningWelder ON warningWelder.UnitWorkId = unitWork.UnitWorkId AND warningWelder.FlowingSection = pipeline.FlowingSection
WHERE (@projectId IS NULL OR unitWork.ProjectId = @projectId)
AND pipeline.FlowingSection IS NOT NULL;
END
GO
@@ -29,6 +29,11 @@ namespace BLL
return Funs.DB.HJGL_ProductionSchedulingPlan.FirstOrDefault(e => e.ProjectId == loginProjectId && e.FlowNum == flowingSection && e.PipelineId == unitWorkId && e.Material == material && e.Caliber == caliber);
}
public static List<Model.HJGL_ProductionSchedulingPlan> GetProductionSchedulingPlanByMaterialLists(string loginProjectId, string flowingSection, string unitWorkId, string material)
{
return (from x in Funs.DB.HJGL_ProductionSchedulingPlan where x.ProjectId == loginProjectId && x.FlowNum == flowingSection && x.PipelineId == unitWorkId && x.Material == material select x).ToList();
}
/// <summary>
/// 增加排产计划
/// </summary>
@@ -44,14 +44,14 @@
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="排产计划"
TitleToolTip="排产计划" AutoScroll="true">
<Items>
<f:Panel ID="panelCenterTop" runat="server" ShowBorder="true" RegionPosition="Center" Title="生产看板" AutoScroll="true" Layout="VBox">
<f:Panel ID="panelCenterTop" runat="server" ShowBorder="true" RegionPosition="Center" Title="生产看板" AutoScroll="true" Layout="VBox" EnableCollapse="true">
<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"
AllowSorting="true" SortField="UnitWorkName,FlowingSection" SortDirection="ASC"
AllowPaging="true" IsDatabasePaging="true" PageSize="15"
EnableTextSelection="True" Height="300px">
EnableTextSelection="True" Height="300px" OnRowDataBound="Grid2_RowDataBound">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号"
Width="60px" HeaderTextAlign="Center" TextAlign="Center" />
@@ -91,9 +91,9 @@
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="120px">
Width="150px">
</f:RenderField>
<f:RenderField HeaderText="累计已完成量" ColumnID="totalCompletedDia"
DataField="totalCompletedDia" SortField="totalCompletedDia" FieldType="Float" HeaderTextAlign="Center" TextAlign="Left"
@@ -132,11 +132,11 @@
</Items>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="True" Title="排产计划" ForceFit="false"
EnableCollapse="false" runat="server" BoxFlex="1" DataKeyNames="ProductionSchedulingPlanId" AllowCellEditing="true"
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">
EnableTextSelection="True" OnRowDataBound="Grid1_RowDataBound" >
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
@@ -210,9 +210,6 @@
<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"
@@ -221,9 +218,6 @@
<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"
@@ -283,17 +277,22 @@
}
function onGridDataLoad(event) {
this.mergeColumns(['FlowNum', 'Material', 'TotalDyne', 'TotalPriority', 'PriorityTotalDyne', 'TotalCompletedRate']);
this.mergeColumns(['FlowNum', 'Material', 'TotalDyne', 'TotalPriority'], {
depends: true
});
this.mergeColumns(['FlowNum', 'PriorityTotalDyne', 'TotalCompletedRate'], {
depends: true
});
}
//自动计算天数、平均每天工作量
function onGridAfterEdit(event, value, params) {
var me = this, columnId = params.columnId, rowId = params.rowId;
if (columnId === 'PlanStartDate' || columnId === 'PlanEndDate' || columnId == 'TotalDyne' || columnId == 'OnDayCompleteDyne') {
if (columnId === 'PlanStartDate' || columnId === 'PlanEndDate' || columnId == 'Dain' || columnId == 'OnDayCompleteDyne') {
const startDate = Date.parse(me.getCellValue(rowId, 'PlanStartDate'));//计划开始时间
const endDate = Date.parse(me.getCellValue(rowId, 'PlanEndDate'));//计划结束时间
var totalDia = me.getCellValue(rowId, 'TotalDyne');//达因
var dain = me.getCellValue(rowId, 'Dain');//达因
var onDayCompleteDyne = me.getCellValue(rowId, 'OnDayCompleteDyne');//当日已完成量
var completedCount = me.getCellValue(rowId, 'CompletedCount');//累计已完成量
if (startDate > endDate) {
alert("计划开始时间不能大于计划结束时间");
@@ -303,17 +302,24 @@
const timeDifference = endDate - startDate;
// 将时间差转换为天数
const daysDifference = timeDifference / (1000 * 60 * 60 * 24);
//平均每天工作量=达因/天数
const avgDailyWorkload = totalDia / (daysDifference + 1);
//次日应完成量=平均每天完成量-已完成量+平均每天完成量
if (onDayCompleteDyne != "") {
var nextDayCompleteDyne = avgDailyWorkload - onDayCompleteDyne + avgDailyWorkload;
//平均每日应完成量=达因/天数
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;
}
me.updateCellValue(rowId, 'Days', daysDifference + 1);//天数
me.updateCellValue(rowId, 'AvgDailyWorkload', avgDailyWorkload.toFixed(2));//平均每天工作量
me.updateCellValue(rowId, 'NextDayCompleteDyne', nextDayCompleteDyne.toFixed(2));//次日应完成量
}
}
</script>
</body>
@@ -4,6 +4,7 @@ using MiniExcelLibs;
using Model;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
using Org.BouncyCastle.Bcpg.OpenPgp;
using System;
using System.Collections.Generic;
using System.Data;
@@ -483,8 +484,8 @@ namespace FineUIPro.Web.HJGL.PreDesign
p.AvgDailyWorkload,
w.ProjectType,
p.CompletedCount,
p.CompletedRate,
p.TotalCompletedRate,
(cast(p.CompletedRate as nvarchar(10))+'%') as CompletedRate,
(cast(p.TotalCompletedRate as nvarchar(10))+'%') as TotalCompletedRate,
p.OnDayCompleteDyne,
p.NextDayCompleteDyne
FROM HJGL_ProductionSchedulingPlan p
@@ -597,6 +598,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
{
if (this.Grid1.Rows.Count > 0)
{
string totalPriority = string.Empty;
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
@@ -605,18 +607,34 @@ namespace FineUIPro.Web.HJGL.PreDesign
var newPlan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanById(rowId);
if (newPlan != null)
{
newPlan.TotalPriority = values.Value<string>("TotalPriority");
newPlan.PriorityTotalDyne = Funs.GetNewDecimal(values.Value<string>("PriorityTotalDyne"));
if (!string.IsNullOrEmpty(values.Value<string>("TotalPriority")))
{
newPlan.TotalPriority = values.Value<string>("TotalPriority");
}
else
{
newPlan.TotalPriority = totalPriority;
totalPriority = string.Empty;
}
newPlan.PlanStartDate = Funs.GetNewDateTime(values.Value<string>("PlanStartDate"));
newPlan.PlanEndDate = Funs.GetNewDateTime(values.Value<string>("PlanEndDate"));
newPlan.Days = Funs.GetNewInt(values.Value<string>("Days"));
newPlan.AvgDailyWorkload = Funs.GetNewDecimal(values.Value<string>("AvgDailyWorkload"));
newPlan.OnDayCompleteDyne = Funs.GetNewDecimal(values.Value<string>("OnDayCompleteDyne"));
newPlan.NextDayCompleteDyne = Funs.GetNewDecimal(values.Value<string>("NextDayCompleteDyne"));
newPlan.CompletedCount = Funs.GetNewInt(values.Value<string>("CompletedCount"));
newPlan.CompletedRate = Funs.GetNewDecimal(values.Value<string>("CompletedRate"));
newPlan.TotalCompletedRate = Funs.GetNewDecimal(values.Value<string>("TotalCompletedRate"));
BLL.ProductionSchedulingPlanService.UpdateProductionSchedulingPlan(newPlan);
//更新合并单元格的总达因(按材质)优先级
if (!string.IsNullOrEmpty(newPlan.TotalPriority))
{
var pLists = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanByMaterialLists(this.CurrUser.LoginProjectId, newPlan.FlowNum, newPlan.PipelineId, newPlan.Material);
foreach (var item in pLists)
{
if (string.IsNullOrEmpty(item.TotalPriority))
{
totalPriority = newPlan.TotalPriority;
}
}
}
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
@@ -945,6 +963,31 @@ namespace FineUIPro.Web.HJGL.PreDesign
Grid2.DataSource = table;
Grid2.DataBind();
}
/// <summary>
/// 当次日应完成量高于平均每日应完成工作量发出预警(标红)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_RowDataBound(object sender, GridRowEventArgs e)
{
DataRowView row = e.DataItem as DataRowView;
double avgDailyWorkload = 0;
double nextDayCompleteDyne = 0;
if (row["AvgDayCompleteDia"] != null && !string.IsNullOrEmpty(row["AvgDayCompleteDia"].ToString()))
{
avgDailyWorkload = Convert.ToDouble(row["AvgDayCompleteDia"]);//平均每日应完成工作量
}
if (row["NextDayComplete"] != null && !string.IsNullOrEmpty(row["NextDayComplete"].ToString()))
{
nextDayCompleteDyne = Convert.ToDouble(row["NextDayComplete"]);//次日应完成量
}
if (avgDailyWorkload < nextDayCompleteDyne)
{
e.RowCssClass = "color1";
}
}
#endregion
}
}
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HJGL.PreDesign {
public partial class ProductionSchedulingPlan {
namespace FineUIPro.Web.HJGL.PreDesign
{
public partial class ProductionSchedulingPlan
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// txtSize 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtSize;
/// <summary>
/// btnStatics 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnStatics;
/// <summary>
/// hdUnitWorkId 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdUnitWorkId;
/// <summary>
/// tvControlItem 控件。
/// </summary>
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
@@ -92,7 +94,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// panelCenterTop 控件。
/// </summary>
@@ -101,7 +103,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterTop;
/// <summary>
/// Grid2 控件。
/// </summary>
@@ -110,7 +112,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// ToolbarSeparator2 控件。
/// </summary>
@@ -119,7 +121,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
/// <summary>
/// ToolbarText2 控件。
/// </summary>
@@ -128,7 +130,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText2;
/// <summary>
/// ddlPageSize2 控件。
/// </summary>
@@ -137,7 +139,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize2;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -146,7 +148,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
@@ -155,7 +157,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@@ -164,7 +166,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
@@ -173,7 +175,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnOut 控件。
/// </summary>
@@ -182,7 +184,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// txtTotalPriority 控件。
/// </summary>
@@ -191,7 +193,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTotalPriority;
/// <summary>
/// txtPlanStartDate 控件。
/// </summary>
@@ -200,7 +202,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanStartDate;
/// <summary>
/// txtPlanEndDate 控件。
/// </summary>
@@ -209,25 +211,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanEndDate;
/// <summary>
/// txtAvgDailyWorkload 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtAvgDailyWorkload;
/// <summary>
/// NumberBox2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox2;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -236,7 +220,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@@ -245,7 +229,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@@ -254,7 +238,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Menu1 控件。
/// </summary>
@@ -263,7 +247,7 @@ namespace FineUIPro.Web.HJGL.PreDesign {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>