首页 文章

行班报告,行日报告

提问于
浏览
3

我正在生成一个行班报告:

在我的申请中,我提供了一个用于选择班次和行的下拉列表,他们将从日历中选择一个日期

我有三班倒

  • shift1从早上7点开始,到下午3点结束

  • shift2从下午3点开始,到晚上11点结束

  • shift3从晚上11点开始,到凌晨3点结束

我有一个名为 datalogging 的表,其中将存储登录信息,如下所示:

Name       Shiftname       ID          operatorname   Date           plantname    line     Machine
Pradeepa  Shift2(11-7)     3           Operator 3     2011-05-28     Plant 3      Line5    mc10
Ashwini   Shift1(7-3)      1           Operator 1     2011-05-29     Plant 3      Line6    mc12
Deepika   Shift2(11-7)     2           Operator 3     2011-05-29     Plant 5      Line9    mc18
Ashwini   Shift1(7-3)      1           Operator 1     2011-05-24     Plant 1      Line1    mc1
Deepika   Shift2(3-11)     2           Operator 2     2011-05-24     Plant 2      Line3    mc5
Ashwini   Shift2(3-11)     1           Operator 2     2011-05-25     Plant 2      Line3    mc5

等等..

我有一个参数表,如温度,压力,ph值,速度,二氧化碳等

Temperature 表包含以下数据,此表将包含从早上7点到凌晨3点的所有读数

Temperature      Time              Date
27               13:13:54.000      2011-05-25
27.3             13:14:04.000      2011-05-25 
27.6             13:14:14.000      2011-05-25 
27.9             13:14:24.000      2011-05-25
28.2             13:14:34.000      2011-05-25 
28.5             13:14:44.000      2011-05-25 
27               16:13:29.000      2011-05-26 
27               16:13:31.000      2011-05-26

等等..

用户将从下拉列表中选择一行并切换,他将从日历中选择日期如果用户选择shift2,line3和日期25/05/2011,我的报告中应显示下午3点到晚上11点之间的读数

我的报告应该如下:

Machine     Shiftname   Date               Time             Temperature
mc5         Shift2      25/05/2011         13:13:54.000     27
mc5         Shift2      25/05/2011         13:14:04.000     27.3
mc5         Shift2      25/05/2011         13:14:14.000     27.6

我也在做行天报道

其中shiftname应根据时间改变,例如,如果时间更改为23:00:00 shiftname应在我的报告中更改为shift3

如果用户选择特定的班次和日期,例如,如果用户选择shift1,line1和date我的报告应该包含所有读数在上午7点到下午3点之间

谁可以帮我这个事 .

1 回答

  • 2

    您可以通过以下查询获取报告

    SELECT d.Machine
           , CASE WHEN t.time BETWEEN '19:00:00.000' AND '23:59:59.999' THEN 'Shift1'
                  WHEN t.time BETWEEN '00:00:00.000' AND '02:59:59.999' THEN 'Shift1'
                  WHEN t.time BETWEEN '03:00:00.000' AND '10:59:59.999' THEN 'Shift2'
                  WHEN t.time BETWEEN '11:00:00.000' AND '18:59:59.999' THEN 'Shift3'
              END
           , t.Date
           , t.Time
           , t.Temperature
    FROM   Datalogging d
           INNER JOIN Temperature t ON t.Date = d.Date
    WHERE  d.Shifname = 'Shift2(3-11)'
           AND d.Line = 'Line3'
           AND t.Date = '25/05/2011'
    

    但如果我们可以假设每台机器每天都有温度读数,很明显你的 TemperatureDatalogging 表之间缺少关系 .

相关问题