【发布时间】:2014-07-17 18:45:30
【问题描述】:
我有一组大约 30 条英语句子规则,用于确定工作时间是标准时间、加班时间还是双倍时间。
我需要制作一张员工一天中的总小时数表,并根据员工所属的工会按标准、加班或双倍时间对它们进行相应的拆分。
我在想,如果我可以将英语规则转换为句子逻辑公式,那么我就可以创建一个真值表来传递员工行,以确定哪些时间是标准时间、加班时间或双倍时间。
有人对我如何完成这项任务有任何想法/示例吗?我愿意接受所有建议。
感谢所有回复, 迈克
以下是示例规则和示例行;
- 规则:ST 为计划轮班内的所有工作时间付费
- 行数:
数据行:
id create_date last_update created_by last_updated_by deleted_by WORKORDERNUMBER NAME EMPLOYEENUMBER TIMEIN TIMEOUT
177 7/16/2014 17:50 7/16/2014 17:50 5 5 0 167320002 Joe Doe 56 7/16/2014 1:23 7/16/2014 3:23
178 7/16/2014 17:50 7/16/2014 12:21 5 5 0 167320002 Joe Doe2 137 7/16/2014 1:23 7/16/2014 3:23
179 7/16/2014 17:50 7/16/2014 12:21 5 5 0 167320002 Joe Doe3 108 7/16/2014 1:23 7/16/2014 3:23
【问题讨论】:
-
这里没有足够的信息来提供很多帮助。我们需要 ddl(创建表)和示例数据(插入),或者一个 sqlfiddle。然后解释您期望的输出以及原因。
-
这是在 tsql 中完成的一项艰巨任务。我曾经在一家制作考勤软件的软件公司工作。他们聘请了一位高级开发人员,他唯一的工作就是创建/增强/维护软件的“工资规则”。您提到了“标准、超时或双倍”……我以前的公司支持 100 多个不同的类别。那时,逻辑是用 C 编写的(我认为后来迁移到 VB6)并从客户端应用程序处理。对于这种类型的处理,我强烈考虑使用 CLR 函数(服务器端)。
-
DMason,在SQL中完成的原因是上面所有的Emp Time Rows都是从现场的时间收集应用程序从所有移动设备到移动数据库,然后从移动数据库拉到SAP数据库。该过程必须在每晚的 Proc/Func/Trig 中进行,以便第二天早上的工资单可以批准或不批准 ST/OT/DT 工资。很高兴知道你明白我想要做什么。感谢您的回复,有什么想法吗?
-
感谢 Siyual,让这些行看起来很漂亮。
-
Mike,SAP 肯定有一个 API 可以用于这种类型的导入。对吗?
标签: sql sql-server logic formula truthtable