2014-07-17 66 views
1

我有一套約30個英文句子規則,用於確定工作小時數是標準,超時還是雙倍時間。將英語翻譯爲SQL中的句子邏輯公式?

我需要一張員工在一天中的總小時數表,並根據員工所屬的聯盟的標準,​​超時或雙倍時間對其進行相應分解。

我在想,如果我可以將英語規則轉換爲句子邏輯公式,那麼我可以創建一個真值表來傳遞員工行,以確定哪些小時是標準,超時或雙時間。

有沒有人有任何想法/樣本我如何能完成這項任務?我接受所有建議。

所有響應理解, 麥克

下面是一個示例規則和樣品的行;

  1. 規則:ST支付所有預定時間內移工作
  2. 行:

數據行:

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 
+2

沒有足夠的信息提供足夠的幫助。我們需要ddl(創建表)和樣本數據(插入),或者交替使用sqlfiddle。然後解釋你期望的輸出和原因。 –

+0

這是一個在tsql中進行的可怕任務。我曾經爲一家制作時間和考勤軟件的軟件公司工作。他們僱傭了一名高級開發人員,他們的唯一工作就是創建/增強/維護軟件的「工資單規則」。您提到「標準,超時或雙時間」......我的前公司支持超過100個不同的類別。那時,邏輯是用C語言編寫的(後來遷移到VB6,我認爲),並從客戶端應用程序處理。我會強烈地考慮這種處理類型的CLR函數(服務器端)。 – DMason

+0

DMason在SQL中完成的理由是,上面所有的Emp Time行都來自所有移動設備到移動數據庫的時間收集應用程序,然後從移動數據庫中拉出到SAP數據庫。該過程必須在Proc/Func/Trig中每晚進行,以便第二天早上工資覈准可以批准或不批准ST/OT/DT工資。很高興知道你明白我想要做什麼。感謝您的迴應,任何想法? – Mike

回答

0

我能夠完成我的任務;

  1. 除了判定邏輯公式之外,還創建了一個保存規則的表。
  2. 我創造了另一個表通過聯合本地新聞,本地計劃舉行獨特的時間表,AppliedRules
  3. 選擇所有應用於每個本地員工ID規則公式,作爲回報表一週期,並驗證代表的公式部分每一個變化的變量A功能。
  4. 是週期時間條目的所有記錄,並收集所需的功能除了數據,插入分離行等程序...

該解決方案完美的作品,並允許通過增加英文規則容易添加規則和相關的規則邏輯公式到規則表。

DMason是讓我突然想到的一個巨大靈感。謝謝DMason!