麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

自定義工資項和公式

2019-11-17 03:13:10
字體:
來源:轉載
供稿:網友
自定義工資項和公式

1,自定義工資項

定義工資公式的功能是企業工資計算中常見的做法,這其實就像Excel系統中的公式一樣的普通。但某位技術員在要自己開發的程序中增加公式系統,那就要開發一個像樣的公式解釋邏輯了,該工作我們在之前已經介紹過。

不過實際的工作生活中,工資項目常常不是固定不變的,對于某個企業而言,其考核辦法也是隨時變化的,如果技術員沒理解清楚工資業務的變化并進行抽象,那常常導致程序反復修改,客戶也很不滿意。如獎金發放這個業務邏輯中,原來就只有獎金點數和每點獎金兩種部分:

1

獎金點數

各個員工級別設置不同的資金點數。

2

每點獎金

根據每個月的業績和資金點數和落實的每點獎金。

但某天客戶新制定的獎金方案要增加部門這個項目,如部門是銷售部的才發獎金,這樣系統就會有很多變化。

上述例子只是一個客戶的情況,但軟件開發,一般都想做成產品,要有很多客戶,那變化就更多了。

序號

客戶類型

說明

1

小單位-銷售類

銷售計提方案復雜,考勤簡化。

2

小單位-研發類

無多少提成方案,考勤嚴謹。

3

大單位-綜合類

有研發式計提,有銷售式計提,有復雜的考勤類生產工資計算公式。

于是,簡單定義有多少個工資項目,似乎是非常不明智的做法。讓客戶來定義工資項目是最好的辦法。這也大大降低了開發的成本和實施維護的工作量。

2,技術實現

自定義工資項和公式在技術上需要做如下設計:

序號

類型

設計項目

說明

1

對象設計

工資字段定義

如月工作天數,周末日加班天數,獎金點數,病假小時,餐補,多種類型補貼等。

2

對象設計

實發工資項目

如實發基本工資,實發餐補,實扣請假,實收獎金等等。

3

對象設計

主類

能夠引用字段和工資項的內容。

4

邏輯設計

公式解釋

解釋器使用CKRule的.Net解釋邏輯。

5

邏輯設計

調度模型

設計業務程序與CKRule規則引擎的調用邏輯。

6

數據庫設計

允許工資字段設置,實發工資項目設置

允許在數據庫中定義字段及工資項目。

7

界面設計

員工工資數據加載

可以加載員工的基本工資信息和工資字段信息。

8

界面設計

工資公式編輯

允許用戶對工資公式進行編輯。編輯過程要使用到自定義的字段和工資項。

2.1 界面效果圖

工資計算界面

界面與原來固定工資項時,有明顯分別,如下內容值得注意:

序號

項目

說明

1

數據庫

每個員工的工資字段信息都是從數據庫加載的。

2

周期性

應該有一個地方定義某個工資周期的字段,如3月份使用這一批字段。

3

有效性

每個員工使用到的工資字段是不相同的,雖然字段有很多,但該員工使用到的才會被設置。

注意第2點,公式設置時,也有周期性的問題,即有新字段了,就要編輯新的公式。當然對于某個公司而言,有新工資方案才可以有新的公式的。

工資公式編輯界面

公式設置界面也與原來的非常不同,注意如下變化:

序號

項目

說明

1

數據庫

計算名稱那里的信息都是從數據庫加載的。(代碼偷懶了,沒實現)

2

資源

資源那里基本上沒什么關鍵詞了。因為基本上找不到直接定義的字段內容。

3

動態取字段

P(&hell

2.2代碼

對象定義

    [Serializable]    public class SalaryCond    {        public string Id { get; set; }        public double 基本工資 { get; set; }        public string 狀態 { get; set; }        public string 員工性質 { get; set; }        public string 計薪方式 { get; set; }        public string 姓名 { get; set; }                PRivate 結果定義 _結果 = new 結果定義();        public 結果定義 結果        {            get { return _結果; }            set { _結果 = value; }        }        private List<字段定義> _字段集合 = new List<字段定義>();        public List<字段定義> 字段集合        {            get { return _字段集合; }            set { _字段集合 = value; }        }    }    [Serializable]    public class 字段定義    {        public string 名稱 { get; set; }        public double 值 { get; set; }    }    [Serializable]    public class 工資項定義    {        public string 名稱 { get; set; }        public bool 正向 { get; set; }        public double 值 { get; set; }    }    [Serializable]    public class 結果定義    {        public double 實發工資 { get; set; }        List<工資項定義> _工資項集合 = new List<工資項定義>();        public List<工資項定義> 工資項集合        {            get { return _工資項集合; }            set { _工資項集合 = value; }        }}

加載設置數據

            var _table = _access.GetTable("select * from 工資基本信息 order by id").ToList<SalaryCond>();            var _projs = _access.GetTable("select 名稱,正向,0 as 值 from 工資項").ToList<工資項定義>();            foreach (var item in _table)            {                var _subList = _access.GetTable("select 名稱,值 from 工資字段 where baseid ='" + item.Id + "'").ToList<字段定義>();                item.字段集合.AddRange(_subList);                item.結果.工資項集合.AddRange(_projs);            }            dgvLst.DataSource = _table;            dgvLst.AllowUserToAddRows = false;

規則引擎中定義

在本項目中,公式解釋與模型設計工作是由CKRule規則引擎處理的,其調用關系圖如下:

CKRule與業務系統關系圖

(該工具相關信息請訪問:www.ckrule.com)

需要設置的內容如下:

      序號

      模塊

      內容

      代碼

      1

      客戶規則池定義

      P方法

      double _result = 0;

      Loop(字段集合,x=>{

      if(x.名稱 == 字段名稱){

      _result = x.值;

      }

      });

      return _result;

      2

      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      主站蜘蛛池模板: 舌头伸进添的我好爽高潮网站 | 毛片a片 | 国产视频在线观看一区二区三区 | 国产精品视频自拍 | 亚洲精品 欧美 | 久久人体| 色综合视频| 91成人免费版 | 黄网站免费观看视频 | 国产羞羞视频在线观看 | 亚洲精品久久久久久久久久 | 欧美第1页 | 九九黄色 | 色视频在线观看 | 国产69精品久久99不卡免费版 | 国产在线观看91一区二区三区 | 国产成人精品自拍视频 | 成人羞羞在线观看网站 | 国产69精品久久99不卡免费版 | 一级免费| 91国内精品久久久久免费影院 | 黑人三级毛片 | www.guochan| 国产在线欧美日韩 | 成人精品| 在线成人看片 | 午夜精品成人 | 91精品片| 成人 精品| 国产流白浆高潮在线观看 | 午夜视频在线观看免费视频 | 国产福利视频在线观看 | 国产亚洲精品久久久久5区 综合激情网 | 亚洲欧美日韩免费 | 曰本三级日本三级日本三级 | 久久精品亚洲精品国产欧美kt∨ | 久久草在线观看视频 | 天天看天天摸天天操 | 精品一区在线视频 | 91看片在线观看视频 | 午夜视频久久 |