问题描述
|
好的,最近两天我一直在转圈,试图弄清楚这一点。
我正在处理“案件”的系统上。每种情况都有一个类型,每种类型都有一个关联的SLA,可以按天,小时或分钟指定。除此之外,还有一个管理功能,允许用户指定工作日的开始和结束时间以及一周中的哪几天。我应该指出,每个工作日的工作时间是相同的。因此,例如,周一,周三和周四的工作时间可能是9:00至13:30。我现在还不打算在此功能中添加假期...这确实足够困难!
给定工作的日期和时间以及SLA,..我如何计算案件违反SLA的日期和时间。
我感觉到,由于SLA的最低分辨率以分钟为单位设置,因此我需要先将所有内容转换为分钟。显然,案件创建的日期/时间也必须予以考虑。除了那两个智慧点,我会说实话,...我在挣扎:-)
对此,任何帮助都将不胜感激。也许值得一提的是,如果有一个图书馆可以做到这一点,我很乐意使用它并继续前进。 C#是我的首选语言,但是任何解决方案都很棒
提前非常感谢。
解决方法
我个人会列出一周中的几天以及每天的工作时间。遍历列表,从任务中减去工作分钟,直到它为0,同时将一整天的分钟数添加到“实际完成时间”变量中。
如果任务的剩余分钟数少于一天的工作分钟数,则将其添加到完成时间变量中。
这告诉我任务开始和任务完成之间相隔多长时间,可以将其与该类型的SLA相比较。
不确定这是否是最好的方法,但这只是一个开始:)希望它能有所帮助