0

私は OTRS チケットの SSRS レポートを書いています。私の課題は次のとおりです。チケットの SLA が、チケットが開かれた日と同じ日付になるかどうかを判断する必要があります。私の勤務週は祝日を除く月曜日から金曜日です。1 日の営業時間は 09:00 から 17:00 (合計 8​​ 時間) です。一部の優先チケットには 2 時間の解決時間、一部の非必須チケットには 5 日間の解決時間があります。優先チケットが金曜日の 16:55 に開かれ、次の月曜日が休日の場合、解決日は火曜日の 10:55 になります (つまり、チケットの SLA は、営業時間内の次の営業日になります)。

私の SLA 時間は、ticket_SLA テーブルに分単位で保存されます (2 時間 = 120 分または 5 日 = 2400 分)。5日間の計算は次のとおりです。

2400 分を 60 分で割って時間を取得し、8 で割って日数を取得します (1 就業日は 8 時間です)。

2400/60/8 = 5 日。

これを判断したら、さらに進んで、チケットが SLA 内にあるかどうかを判断する必要があります。そうでない場合は、レポートに別の色でチケットを表示します。

私が取り組むべき利用可能なフィールドは次のとおりです。

チケット表:

Create_time datetime, ticket_sla_id int, tn long,

スラテーブル:

sla_Id int, solution_time int (number of minutes)

休日テーブル:

holiday_name varchar, holiday_date, holiday_iD

これにどのようにアプローチできるかについての提案は大歓迎です。前もって感謝します

4

1 に答える 1

2

TSQL については、SQLFiddleで私のソリューションを確認してください。別の DBMS を使用している場合は、sql を構文に変換できるはずです。

提供されるソリューションは、各チケットの期限を返します。最初の CTE では、最小開始日と最大終了日を定義する必要があります。それが役立つことを願っています!

datefirst の設定に注意してください (これを参照)

@updated : 修正された fiddle-demo

于 2012-12-18T14:13:40.140 に答える