国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

PB中關(guān)于動(dòng)態(tài)工資項(xiàng)目問(wèn)題的解決辦法

2024-07-21 02:10:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  • 本文來(lái)源于網(wǎng)頁(yè)設(shè)計(jì)愛(ài)好者web開(kāi)發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問(wèn)。
  • 我在做人事管理軟件時(shí)發(fā)現(xiàn)一個(gè)問(wèn)題就是,工資管理中工資的發(fā)放項(xiàng)目經(jīng)常會(huì)發(fā)生變化,而且工資項(xiàng)目之間的計(jì)算關(guān)系也經(jīng)常發(fā)生變化,這為實(shí)際的編程帶來(lái)了很大的麻煩。其實(shí)實(shí)際工作中還有很多類(lèi)似的情況需要解決,希望能為大家提供多一種思路以供參考。  現(xiàn)將我的解決方法陳述如下?! 〉谝徊?,創(chuàng)建一個(gè)工資表tbl_gztz,用來(lái)記錄職工的每個(gè)月的工資發(fā)放情況,其中就包括工資的發(fā)放項(xiàng)目。所以這個(gè)表字段應(yīng)該盡量地多,你大可放在50個(gè)以上。
      表結(jié)構(gòu)如下:tbl_gztz
    數(shù)據(jù)列名 數(shù)據(jù)列類(lèi)型 數(shù)據(jù)列含義 zgbh varchar2(10) 職工編號(hào) mc varchar2(10) 職工名稱 yf varchar2(6) 工資月份 gz1 number(12,2) (含義見(jiàn)項(xiàng)目表下表) gz2 number(12,2) (含義見(jiàn)項(xiàng)目表下表) gz3 number(12,2) (含義見(jiàn)項(xiàng)目表下表) gz4 number(12,2) (含義見(jiàn)項(xiàng)目表下表) gz5 number(12,2) (含義見(jiàn)項(xiàng)目表下表)
      第二步,創(chuàng)建一個(gè)工資項(xiàng)目登記表tbl_gzxmdy,用來(lái)記錄工資管理實(shí)際工作中的所有的工資項(xiàng)目和項(xiàng)目之間的計(jì)算關(guān)系。其中計(jì)算關(guān)系可以是簡(jiǎn)單的四則運(yùn)算,也可以包含一些函數(shù)(限于pb內(nèi)容函數(shù))。

      表結(jié)構(gòu)如下:
    數(shù)據(jù)列名 數(shù)據(jù)列類(lèi)型 數(shù)據(jù)列含義 xm varchar2(10) 工資項(xiàng)目名稱 xmmc varchar2(20) 工資項(xiàng)目的含義 jsgs varchar2(40) 對(duì)應(yīng)的計(jì)算關(guān)系 flag varchar2(1) 是否啟用該項(xiàng)(1為啟用,0為停用)
      工資的發(fā)放項(xiàng)目從工資發(fā)放表tbl_gztz中取出字段,這個(gè)在oracle(或其它數(shù)據(jù))中很容易取出,然后將取出的字段插入到工資項(xiàng)目定義表tbl_gzxmdy中,并為每個(gè)項(xiàng)目定義其含義,沒(méi)有為其定義的,到時(shí)候?qū)⒉伙@示出來(lái)?! 榱朔奖憬忉?zhuān)e例說(shuō)明比較清楚。取出發(fā)放項(xiàng)目字段的sql語(yǔ)句如下:select cname from col where tname = 'tbl_gztz' and coltype = 'numeric' order by colno;

      工資項(xiàng)目數(shù)據(jù)維護(hù)舉例說(shuō)明:
    xm xmmc jsgs gz1 技能工資   gz2 浮動(dòng)工資   gz3 保險(xiǎn)工資   gz4 應(yīng)發(fā)工資 gz1 + gz2 gz5 房租費(fèi)   gz6 實(shí)發(fā)工資 gz4 - gz5
      第三步,現(xiàn)在基礎(chǔ)工作已經(jīng)作好,接下來(lái)就是程序?qū)崿F(xiàn)了?! ∈紫龋x一個(gè)grid風(fēng)格的數(shù)據(jù)窗口,數(shù)據(jù)源選擇tbl_gztz表。并將它放到窗口中,進(jìn)行一些數(shù)據(jù)庫(kù)聯(lián)接。在窗口的open事件中,先將設(shè)置好的工資發(fā)放項(xiàng)目進(jìn)行初始化設(shè)置,設(shè)置臺(tái)頭,設(shè)置可見(jiàn)項(xiàng)。具體代碼如下:

    dw_1.settransobject(sqlca)string ls_xm,ls_xmmc //定義變量,存放工資項(xiàng)目declare c1 cursor for //定義游標(biāo),取出工資項(xiàng)目的含義select xm,xmmc from tbl_gzxmdy; open c1 ; fetch c1 into:ls_xm,:ls_xmmc; //循環(huán)提取數(shù)據(jù)到變量中 do while sqlca.sqlcode =0   if isnull(ls_xmmc) or ls_xmmc ='' then   //對(duì)沒(méi)有定義的工資項(xiàng)目進(jìn)行隱藏    dw_1.modify(ls_xm+".width=0")  else   //設(shè)置工資發(fā)放項(xiàng)目的臺(tái)頭   dw_1.modify(ls_xm+"_t.text='"+ls_xmmc+"'")  end if  fetch c1 into:ls_xm,:ls_xmmc; loopclose c1;dw_1.retrieve()

      然后呢,當(dāng)然就是對(duì)數(shù)據(jù)窗口進(jìn)行設(shè)置,讓它具有自動(dòng)計(jì)算功能了。數(shù)據(jù)窗口的itemchanged事件是對(duì)每一列值發(fā)生變化時(shí)觸發(fā)的,我們只要對(duì)它進(jìn)行編程就可以實(shí)現(xiàn)自動(dòng)計(jì)算功能。

    string ls_xm, ls_jsgs //定義變量,存放工資項(xiàng)目,計(jì)算公式string ls_dwonamedouble ldc_je //得到計(jì)算公式計(jì)算的結(jié)果值

    this.accepttext()declare c1 cursor for //定義游標(biāo),取出工資項(xiàng)目的含義select xm,jsgs from tbl_gzxmdy;open c1 ;fetch c1 into:ls_xm,:ls_jsgs;//循環(huán)提取數(shù)據(jù)到變量中do while sqlca.sqlcode =0  if isnull(ls_jsgs) or ls_jsgs ='' then else  //計(jì)算統(tǒng)計(jì)列結(jié)果,利用evaluate計(jì)算  ldc_je = double(dw_1.describe("evaluate(lookupdisplay('" + ls_jsgs+"')" +row+ ")"))  //設(shè)置計(jì)算結(jié)果到工資統(tǒng)計(jì)項(xiàng)目列  this.setitemnumber(row,ls_xm,ldc_je) end if fetch c1 into:ls_xm,:ls_jsgs;loopclose c1;

      程序已經(jīng)在pb7.0+oracle8i 下測(cè)試通過(guò)。
    發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 儋州市| 靖边县| 西吉县| 开鲁县| 黑山县| 翼城县| 威信县| 双桥区| 周至县| 华亭县| 黔西县| 大余县| 射阳县| 宝坻区| 酒泉市| 海盐县| 中超| 衡阳县| 湘西| 额尔古纳市| 衡阳市| 土默特左旗| 江孜县| 兰坪| 长泰县| 中江县| 汉中市| 富宁县| 防城港市| 武宣县| 西和县| 长武县| 德州市| 龙海市| 和政县| 房山区| 浦东新区| 大田县| 嘉鱼县| 西充县| 岑溪市|