This commit is contained in:
commit
8c85a5f15e
|
|
@ -0,0 +1,123 @@
|
|||
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,--计划完成日期
|
||||
--(DATEDIFF(day, p.PlanStartDate, p.PlanEndDate) +1) as TotalDays,--总天数
|
||||
--(case when p.PlanEndDate>= getdate() then (DATEDIFF(day, p.PlanStartDate, p.PlanEndDate)-(DATEDIFF(day,p.PlanStartDate,GETDATE()))) else '' end) as RemainingDays,--剩余天数
|
||||
--(case when DATEDIFF(day, p.PlanStartDate, p.PlanEndDate)>0 then cast(isnull(total.TotalDia,0)/DATEDIFF(day, p.PlanStartDate, p.PlanEndDate) as decimal(18,2)) else 0 end) as AvgDayCompleteDia, --平均每日应完成工作量
|
||||
ISNULL(currentDay.CurrentDayCompletedDia,0) as CurrentDayCompletedDia, --当日完成工作量
|
||||
|
||||
--cast(case when (case when p.PlanEndDate>= getdate() then (DATEDIFF(day, p.PlanStartDate, p.PlanEndDate)-(DATEDIFF(day,p.PlanStartDate,GETDATE()))) else 0 end)>0 then
|
||||
--(isnull(total.TotalDia,0)-isnull(totalCompleted.totalCompletedDia,0))/ (case when p.PlanEndDate>= getdate() then (DATEDIFF(day, p.PlanStartDate, p.PlanEndDate)-(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 --预警焊工数量
|
||||
(case when welder.WelderCount>0 then cast((ISNULL(currentDay.CurrentDayCompletedDia,0)/welder.WelderCount) as decimal(18,2)) else 0 end) as 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 (select min(PlanStartDate) as PlanStartDate,max(PlanEndDate) as PlanEndDate,PipelineId,FlowNum from HJGL_ProductionSchedulingPlan
|
||||
group by PipelineId,FlowNum
|
||||
) as 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
|
||||
|
||||
|
||||
|
|
@ -19,15 +19,41 @@ namespace BLL
|
|||
return Funs.DB.HJGL_ProductionSchedulingPlan.FirstOrDefault(e => e.ProductionSchedulingPlanId == productionSchedulingPlanId);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据单位工程、流水段、材质、口径获取排产计划
|
||||
/// </summary>
|
||||
/// <param name="loginProjectId"></param>
|
||||
/// <param name="flowingSection"></param>
|
||||
/// <param name="unitWorkId"></param>
|
||||
/// <param name="material"></param>
|
||||
/// <param name="caliber"></param>
|
||||
/// <returns></returns>
|
||||
public static Model.HJGL_ProductionSchedulingPlan GetProductionSchedulingPlan(string loginProjectId, string flowingSection, string unitWorkId, string material, string caliber)
|
||||
{
|
||||
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)
|
||||
/// <summary>
|
||||
/// 根据单位工程、流水段获取排产计划信息
|
||||
/// </summary>
|
||||
/// <param name="loginProjectId"></param>
|
||||
/// <param name="flowingSection"></param>
|
||||
/// <param name="unitWorkId"></param>
|
||||
/// <returns></returns>
|
||||
public static List<Model.HJGL_ProductionSchedulingPlan> GetProductionSchedulingPlanByFlowingSection(string loginProjectId, string flowingSection, string unitWorkId)
|
||||
{
|
||||
return (from x in Funs.DB.HJGL_ProductionSchedulingPlan where x.ProjectId == loginProjectId && x.FlowNum == flowingSection && x.PipelineId == unitWorkId && x.Material == material select x).ToList();
|
||||
return (from x in Funs.DB.HJGL_ProductionSchedulingPlan where x.ProjectId == loginProjectId && x.FlowNum == flowingSection && x.PipelineId == unitWorkId select x).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据单位工程获取排产计划信息
|
||||
/// </summary>
|
||||
/// <param name="loginProjectId"></param>
|
||||
/// <param name="unitWorkId"></param>
|
||||
/// <returns></returns>
|
||||
public static List<Model.HJGL_ProductionSchedulingPlan> GetProductionSchedulingPlanByUnitWorkId(string loginProjectId, string unitWorkId)
|
||||
{
|
||||
return (from x in Funs.DB.HJGL_ProductionSchedulingPlan where x.ProjectId == loginProjectId && x.PipelineId == unitWorkId select x).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ using System.Data;
|
|||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.HJGL.PreDesign
|
||||
{
|
||||
|
|
@ -199,7 +200,6 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
e.Node.Nodes.Clear();
|
||||
BindNodes(e.Node);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
|
@ -211,6 +211,153 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// <param name="e"></param>
|
||||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
#region 实时统计生产看板数据
|
||||
string projectId = this.CurrUser.LoginProjectId;
|
||||
string steelType = string.Empty;//材质id
|
||||
//统计生产看板当日已完成量、次日应完成量、累计已完成量、已完成百分比、已完成百分比汇总
|
||||
if (tvControlItem.SelectedNode.CommandName == "流水段")//点击流水段
|
||||
{
|
||||
var planLists = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanByFlowingSection(projectId, tvControlItem.SelectedNode.Text, tvControlItem.SelectedNode.ParentNode.NodeID);
|
||||
if (planLists.Count > 0)
|
||||
{
|
||||
foreach (var item in planLists)
|
||||
{
|
||||
var plan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanById(item.ProductionSchedulingPlanId);
|
||||
if (plan != null)
|
||||
{
|
||||
if (plan.Material == "碳钢")
|
||||
{
|
||||
steelType = "1";
|
||||
}
|
||||
else if (plan.Material == "不锈钢")
|
||||
{
|
||||
steelType = "2";
|
||||
}
|
||||
else if (plan.Material == "铬钼钢")
|
||||
{
|
||||
steelType = "3";
|
||||
}
|
||||
else if (plan.Material == "低合金钢")
|
||||
{
|
||||
steelType = "4";
|
||||
}
|
||||
else if (plan.Material == "镍合金钢")
|
||||
{
|
||||
steelType = "5";
|
||||
}
|
||||
else if (plan.Material == "钛合金钢")
|
||||
{
|
||||
steelType = "6";
|
||||
}
|
||||
else if (plan.Material == "其他")
|
||||
{
|
||||
steelType = "7";
|
||||
}
|
||||
//当日已完成量
|
||||
var currentDay = BLL.WeldJointService.GetCurrentDaySizeSum(projectId, plan.PipelineId, plan.FlowNum, steelType, plan.Caliber);
|
||||
if (currentDay != null)
|
||||
{
|
||||
plan.OnDayCompleteDyne = currentDay;
|
||||
}
|
||||
else
|
||||
{
|
||||
plan.OnDayCompleteDyne = 0;
|
||||
}
|
||||
plan.CompletedCount = BLL.WeldJointService.GetSizeSum(projectId, plan.PipelineId, plan.FlowNum, steelType, plan.Caliber, "2");//累计已完成量
|
||||
if (plan.Dain > 0)
|
||||
{
|
||||
plan.CompletedRate = (plan.CompletedCount / plan.Dain) * 100;//已完成百分比
|
||||
}
|
||||
else
|
||||
{
|
||||
plan.CompletedRate = 0;
|
||||
}
|
||||
if (plan.PriorityTotalDyne > 0)
|
||||
{
|
||||
decimal? completeDinSum = BLL.WeldJointService.GetSizeSumByUnitWorkIdAndFlowingSection(projectId, plan.PipelineId, plan.FlowNum, "2");//完成总达因
|
||||
plan.TotalCompletedRate = (completeDinSum / plan.PriorityTotalDyne) * 100;//已完成百分比汇总
|
||||
}
|
||||
else
|
||||
{
|
||||
plan.TotalCompletedRate = 0;
|
||||
}
|
||||
BLL.ProductionSchedulingPlanService.UpdateProductionSchedulingPlan(plan);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (tvControlItem.SelectedNode.CommandName.Split('|').Length == 2)//点击单位工程
|
||||
{
|
||||
var planLists = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanByUnitWorkId(this.CurrUser.LoginProjectId, tvControlItem.SelectedNode.NodeID);
|
||||
if (planLists.Count > 0)
|
||||
{
|
||||
foreach (var item in planLists)
|
||||
{
|
||||
var plan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanById(item.ProductionSchedulingPlanId);
|
||||
if (plan != null)
|
||||
{
|
||||
if (plan.Material == "碳钢")
|
||||
{
|
||||
steelType = "1";
|
||||
}
|
||||
else if (plan.Material == "不锈钢")
|
||||
{
|
||||
steelType = "2";
|
||||
}
|
||||
else if (plan.Material == "铬钼钢")
|
||||
{
|
||||
steelType = "3";
|
||||
}
|
||||
else if (plan.Material == "低合金钢")
|
||||
{
|
||||
steelType = "4";
|
||||
}
|
||||
else if (plan.Material == "镍合金钢")
|
||||
{
|
||||
steelType = "5";
|
||||
}
|
||||
else if (plan.Material == "钛合金钢")
|
||||
{
|
||||
steelType = "6";
|
||||
}
|
||||
else if (plan.Material == "其他")
|
||||
{
|
||||
steelType = "7";
|
||||
}
|
||||
//当日已完成量
|
||||
var currentDay = BLL.WeldJointService.GetCurrentDaySizeSum(projectId, plan.PipelineId, plan.FlowNum, steelType, plan.Caliber);
|
||||
if (currentDay != null)
|
||||
{
|
||||
plan.OnDayCompleteDyne = currentDay;
|
||||
}
|
||||
else
|
||||
{
|
||||
plan.OnDayCompleteDyne = 0;
|
||||
}
|
||||
plan.CompletedCount = BLL.WeldJointService.GetSizeSum(projectId, plan.PipelineId, plan.FlowNum, steelType, plan.Caliber, "2");//累计已完成量
|
||||
if (plan.Dain > 0)
|
||||
{
|
||||
plan.CompletedRate = (plan.CompletedCount / plan.Dain) * 100;//已完成百分比
|
||||
}
|
||||
else
|
||||
{
|
||||
plan.CompletedRate = 0;
|
||||
}
|
||||
if (plan.PriorityTotalDyne > 0)
|
||||
{
|
||||
decimal? completeDinSum = BLL.WeldJointService.GetSizeSumByUnitWorkIdAndFlowingSection(projectId, plan.PipelineId, plan.FlowNum, "2");//完成总达因
|
||||
plan.TotalCompletedRate = (completeDinSum / plan.PriorityTotalDyne) * 100;//已完成百分比汇总
|
||||
}
|
||||
else
|
||||
{
|
||||
plan.TotalCompletedRate = 0;
|
||||
}
|
||||
BLL.ProductionSchedulingPlanService.UpdateProductionSchedulingPlan(plan);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
this.BindGrid();
|
||||
}
|
||||
|
||||
|
|
@ -597,34 +744,22 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
var newPlan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanById(rowId);
|
||||
if (newPlan != null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(values.Value<string>("TotalPriority")))
|
||||
{
|
||||
newPlan.TotalPriority = values.Value<string>("TotalPriority");
|
||||
}
|
||||
else
|
||||
if (!string.IsNullOrEmpty(totalPriority))
|
||||
{
|
||||
newPlan.TotalPriority = totalPriority;
|
||||
totalPriority = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
newPlan.TotalPriority = values.Value<string>("TotalPriority");
|
||||
totalPriority = newPlan.TotalPriority;
|
||||
}
|
||||
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.NextDayCompleteDyne = Funs.GetNewDecimal(values.Value<string>("NextDayCompleteDyne"));
|
||||
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);
|
||||
|
|
@ -932,16 +1067,24 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
|
||||
#region 生产看板
|
||||
protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Grid2.PageSize = Convert.ToInt32(ddlPageSize2.SelectedValue);
|
||||
this.BindGrid2();
|
||||
}
|
||||
protected void Grid2_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
this.BindGrid2();
|
||||
}
|
||||
|
||||
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.BindGrid2();
|
||||
}
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid2()
|
||||
{
|
||||
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
|
||||
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
|
||||
|
|
@ -961,17 +1104,22 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// <param name="e"></param>
|
||||
protected void Grid2_RowDataBound(object sender, GridRowEventArgs e)
|
||||
{
|
||||
DataRowView row = e.DataItem as DataRowView;
|
||||
//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 (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"]);//次日应完成量
|
||||
//}
|
||||
|
||||
//avgDailyWorkload=(e.RowID["lblAvgDayCompleteDia") as AspNet.Label).Text
|
||||
|
||||
avgDailyWorkload = Convert.ToDouble((e.Row.FindControl("lblAvgDayCompleteDia") as AspNet.Label).Text);//平均每日应完成工作量
|
||||
nextDayCompleteDyne = Convert.ToDouble((e.Row.FindControl("lblNextDayComplete") as AspNet.Label).Text); //次日应完成量(平均)
|
||||
if (avgDailyWorkload < nextDayCompleteDyne)
|
||||
{
|
||||
e.RowCssClass = "color1";
|
||||
|
|
@ -979,5 +1127,168 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
}
|
||||
#endregion
|
||||
|
||||
#region 格式化字符串
|
||||
/// <summary>
|
||||
/// 获取有效总天数
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="unitWorkId"></param>
|
||||
/// <param name="flowNum"></param>
|
||||
/// <returns></returns>
|
||||
public static int getTotalDays(string projectId, string unitWorkId, string flowNum)
|
||||
{
|
||||
var lists = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanByFlowingSection(projectId, flowNum, unitWorkId);
|
||||
List<(DateTime, DateTime)> combinedList = new List<(DateTime, DateTime)>();
|
||||
foreach (var item in lists)
|
||||
{
|
||||
if (item.PlanStartDate.HasValue && item.PlanEndDate.HasValue)
|
||||
{
|
||||
var dateRanges = new List<(DateTime, DateTime)>
|
||||
{
|
||||
(new DateTime(item.PlanStartDate.Value.Year, item.PlanStartDate.Value.Month, item.PlanStartDate.Value.Day), new DateTime(item.PlanEndDate.Value.Year, item.PlanEndDate.Value.Month, item.PlanEndDate.Value.Day)),
|
||||
};
|
||||
combinedList.AddRange(dateRanges);
|
||||
}
|
||||
}
|
||||
return GetEffectiveDaysLinq(combinedList);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取剩余天数
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="unitWorkId"></param>
|
||||
/// <param name="flowNum"></param>
|
||||
/// <returns></returns>
|
||||
public static int getRemainingDays(string projectId, string unitWorkId, string flowNum)
|
||||
{
|
||||
var lists = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanByFlowingSection(projectId, flowNum, unitWorkId);
|
||||
List<(DateTime, DateTime)> combinedList = new List<(DateTime, DateTime)>();
|
||||
foreach (var item in lists)
|
||||
{
|
||||
if (item.PlanStartDate.HasValue && item.PlanEndDate.HasValue)
|
||||
{
|
||||
if (item.PlanEndDate > DateTime.Now)
|
||||
{
|
||||
var dateRanges = new List<(DateTime, DateTime)>
|
||||
{
|
||||
(new DateTime(item.PlanStartDate.Value.Year, item.PlanStartDate.Value.Month, item.PlanStartDate.Value.Day), new DateTime(item.PlanEndDate.Value.Year, item.PlanEndDate.Value.Month, item.PlanEndDate.Value.Day)),
|
||||
};
|
||||
combinedList.AddRange(dateRanges);
|
||||
}
|
||||
}
|
||||
}
|
||||
return GetEffectiveDaysLinq(combinedList);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取平均每日应完成工作量
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="unitWorkId"></param>
|
||||
/// <param name="flowNum"></param>
|
||||
/// <returns></returns>
|
||||
public static double getAvgDayCompleteDia(string projectId, string unitWorkId, string flowNum)
|
||||
{
|
||||
double AvgDayCompleteDia = 0;
|
||||
int totalDays = 0;
|
||||
var lists = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanByFlowingSection(projectId, flowNum, unitWorkId);
|
||||
List<(DateTime, DateTime)> combinedList = new List<(DateTime, DateTime)>();
|
||||
foreach (var item in lists)
|
||||
{
|
||||
if (item.PlanStartDate.HasValue && item.PlanEndDate.HasValue)
|
||||
{
|
||||
var dateRanges = new List<(DateTime, DateTime)>
|
||||
{
|
||||
(new DateTime(item.PlanStartDate.Value.Year, item.PlanStartDate.Value.Month, item.PlanStartDate.Value.Day), new DateTime(item.PlanEndDate.Value.Year, item.PlanEndDate.Value.Month, item.PlanEndDate.Value.Day)),
|
||||
};
|
||||
combinedList.AddRange(dateRanges);
|
||||
}
|
||||
}
|
||||
totalDays = GetEffectiveDaysLinq(combinedList);
|
||||
|
||||
///总达因
|
||||
decimal? dia = (from x in Funs.DB.HJGL_WeldJoint
|
||||
join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
|
||||
where x.ProjectId == projectId && y.UnitWorkId == unitWorkId && y.FlowingSection == flowNum
|
||||
&& x.JointAttribute == "预制口"
|
||||
select x.Size).Sum();
|
||||
if (totalDays > 0)
|
||||
{
|
||||
//平均每日应完成工作量=总达因/有效总天数
|
||||
AvgDayCompleteDia = Math.Round(Convert.ToDouble(dia / totalDays), 2);
|
||||
}
|
||||
return AvgDayCompleteDia;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取次日应完成量(平均)
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="unitWorkId"></param>
|
||||
/// <param name="flowNum"></param>
|
||||
/// <returns></returns>
|
||||
public static double getNextDayComplete(string projectId, string unitWorkId, string flowNum)
|
||||
{
|
||||
double nextDayComplete = 0;
|
||||
int remainingDays = 0;
|
||||
var lists = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlanByFlowingSection(projectId, flowNum, unitWorkId);
|
||||
List<(DateTime, DateTime)> combinedList = new List<(DateTime, DateTime)>();
|
||||
foreach (var item in lists)
|
||||
{
|
||||
if (item.PlanStartDate.HasValue && item.PlanEndDate.HasValue)
|
||||
{
|
||||
if (item.PlanEndDate > DateTime.Now)
|
||||
{
|
||||
var dateRanges = new List<(DateTime, DateTime)>
|
||||
{
|
||||
(new DateTime(item.PlanStartDate.Value.Year, item.PlanStartDate.Value.Month, item.PlanStartDate.Value.Day), new DateTime(item.PlanEndDate.Value.Year, item.PlanEndDate.Value.Month, item.PlanEndDate.Value.Day)),
|
||||
};
|
||||
combinedList.AddRange(dateRanges);
|
||||
}
|
||||
}
|
||||
}
|
||||
remainingDays = GetEffectiveDaysLinq(combinedList);
|
||||
|
||||
///总达因
|
||||
decimal? totalDia = (from x in Funs.DB.HJGL_WeldJoint
|
||||
join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
|
||||
where x.ProjectId == projectId && y.UnitWorkId == unitWorkId && y.FlowingSection == flowNum
|
||||
&& x.JointAttribute == "预制口"
|
||||
select x.Size).Sum();
|
||||
//完成达因
|
||||
decimal? completedDia = (from x in Funs.DB.HJGL_WeldJoint
|
||||
join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
|
||||
where x.ProjectId == projectId && y.UnitWorkId == unitWorkId && y.FlowingSection == flowNum
|
||||
&& x.JointAttribute == "预制口" && x.WeldingDailyId != null && x.WeldingDailyId != ""
|
||||
select x.Size).Sum();
|
||||
if (remainingDays > 0)
|
||||
{
|
||||
//次日应完成量(平均)=(总达因-完成达因)/剩余天数
|
||||
nextDayComplete = Math.Round(Convert.ToDouble((totalDia - completedDia) / remainingDays), 2);
|
||||
}
|
||||
return nextDayComplete;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成所有日期并去重
|
||||
/// </summary>
|
||||
/// <param name="dateRanges"></param>
|
||||
/// <returns></returns>
|
||||
public static int GetEffectiveDaysLinq(List<(DateTime start, DateTime end)> dateRanges)
|
||||
{
|
||||
if (dateRanges == null || !dateRanges.Any())
|
||||
return 0;
|
||||
|
||||
// 生成所有日期并去重
|
||||
var allDates = dateRanges
|
||||
.SelectMany(range =>
|
||||
Enumerable.Range(0, (range.end - range.start).Days + 1)
|
||||
.Select(offset => range.start.AddDays(offset).Date))
|
||||
.Distinct();
|
||||
|
||||
return allDates.Count();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
@ -7,13 +7,11 @@
|
|||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.HJGL.PreDesign
|
||||
{
|
||||
|
||||
|
||||
public partial class ProductionSchedulingPlan
|
||||
{
|
||||
|
||||
namespace FineUIPro.Web.HJGL.PreDesign {
|
||||
|
||||
|
||||
public partial class ProductionSchedulingPlan {
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -22,7 +20,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -31,7 +29,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -40,7 +38,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// panelLeftRegion 控件。
|
||||
/// </summary>
|
||||
|
|
@ -49,7 +47,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelLeftRegion;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtSize 控件。
|
||||
/// </summary>
|
||||
|
|
@ -58,7 +56,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtSize;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnStatics 控件。
|
||||
/// </summary>
|
||||
|
|
@ -67,7 +65,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnStatics;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// hdUnitWorkId 控件。
|
||||
/// </summary>
|
||||
|
|
@ -76,7 +74,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdUnitWorkId;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// tvControlItem 控件。
|
||||
/// </summary>
|
||||
|
|
@ -85,7 +83,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvControlItem;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// panelCenterRegion 控件。
|
||||
/// </summary>
|
||||
|
|
@ -94,7 +92,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterRegion;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// panelCenterTop 控件。
|
||||
/// </summary>
|
||||
|
|
@ -103,7 +101,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterTop;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Grid2 控件。
|
||||
/// </summary>
|
||||
|
|
@ -112,7 +110,43 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid2;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblTotalDay 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTotalDay;
|
||||
|
||||
/// <summary>
|
||||
/// lblRemainingDays 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblRemainingDays;
|
||||
|
||||
/// <summary>
|
||||
/// lblAvgDayCompleteDia 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblAvgDayCompleteDia;
|
||||
|
||||
/// <summary>
|
||||
/// lblNextDayComplete 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNextDayComplete;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator2 控件。
|
||||
/// </summary>
|
||||
|
|
@ -121,7 +155,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText2 控件。
|
||||
/// </summary>
|
||||
|
|
@ -130,7 +164,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText2;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize2 控件。
|
||||
/// </summary>
|
||||
|
|
@ -139,7 +173,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize2;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -148,7 +182,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar3 控件。
|
||||
/// </summary>
|
||||
|
|
@ -157,7 +191,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar3;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -166,7 +200,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
|
|
@ -175,7 +209,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
|
|
@ -184,7 +218,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtTotalPriority 控件。
|
||||
/// </summary>
|
||||
|
|
@ -193,7 +227,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTotalPriority;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtPlanStartDate 控件。
|
||||
/// </summary>
|
||||
|
|
@ -202,7 +236,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtPlanStartDate;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtPlanEndDate 控件。
|
||||
/// </summary>
|
||||
|
|
@ -211,7 +245,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtPlanEndDate;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -220,7 +254,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -229,7 +263,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
|
|
@ -238,7 +272,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
|
|
@ -247,7 +281,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
|
|||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuDelete 控件。
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue