C# 调整休息时间间隔?
我的程序有一个描述生产率统计数据和目标的网格,其中列表示时间间隔。从SQLServer2005数据库查询此数据,将生成的数据行与每行的时间戳相加。通常,时间间隔为1小时:C# 调整休息时间间隔?,c#,tsql,sql-server-2005,C#,Tsql,Sql Server 2005,我的程序有一个描述生产率统计数据和目标的网格,其中列表示时间间隔。从SQLServer2005数据库查询此数据,将生成的数据行与每行的时间戳相加。通常,时间间隔为1小时: |6AM-7AM | 7AM-8AM | 8AM-9AM | Units Produced | 25 | 27 | 24 | Unit Goal | 26 | 26 | 26 | 但是,在预期生产率为零的休息期间,用户希望在保持目
|6AM-7AM | 7AM-8AM | 8AM-9AM |
Units Produced | 25 | 27 | 24 |
Unit Goal | 26 | 26 | 26 |
但是,在预期生产率为零的休息期间,用户希望在保持目标量的同时,将休息期间包括在前一个时间间隔中
30分钟用餐休息时间的示例:
|6AM-7AM | 7AM-8AM | 8AM-9AM | 9AM-10:30AM | 10:30AM-11:30AM |
Units Produced | 25 | 27 | 24 | 26 | 21 |
Unit Goal | 26 | 26 | 26 | 26 | 26 |
在整个8.5小时的工作日(7.5个工作小时)内,还将包括两次15分钟的休息
我当前的实现将这些小时范围值硬编码到它们自己的表中,但这不允许在休息时间中进行简单的变化。根据用户的要求,“妨碍”目标值是不可接受的(这是我的第一个设计)
这是在数据库层还是在应用程序层上处理,实现的最佳模式是什么?我最终在数据库层将其作为存储过程和硬编码表来处理 我首先查询一天的开始和结束时间(即上午9点到下午5点)。然后,我从硬编码表中查询特定的小时间隔,每行一小时,作为每个段的开始和结束时间。接下来,我得到时间戳之间的生产率计数,并将这两个时间戳格式化为一个范围标签(单个列为varchar,'8AM-9AM'),以显示在图形上 它不是非常优雅,但它符合我的目的