范新龍,董奇
(西安鐵路職業(yè)技術(shù)學(xué)院,西安 710014)
基于微信公眾號(hào)的薪資查詢系統(tǒng)研究
范新龍,董奇
(西安鐵路職業(yè)技術(shù)學(xué)院,西安 710014)
為配合移動(dòng)教學(xué)平臺(tái)實(shí)現(xiàn)教學(xué)信息化,方便了解個(gè)人賬戶情況,開發(fā)了基于微信公眾號(hào)的薪資查詢系統(tǒng)。介紹微信企業(yè)號(hào)的特點(diǎn)及在薪資查詢中的優(yōu)勢(shì),給出數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵部分,同時(shí)闡述實(shí)過程中的難點(diǎn)部分處理方法,最后給出實(shí)現(xiàn)結(jié)果的樣例,希望能對(duì)同類開發(fā)有借鑒意義。
微信公眾號(hào);微信企業(yè)號(hào);薪資查詢;信息推送
現(xiàn)在工資發(fā)放往往通過銀行進(jìn)行,轉(zhuǎn)入員工賬戶后,銀行通過短信進(jìn)行通知,這個(gè)通知一般是一個(gè)匯總信息,當(dāng)工資信息發(fā)生變化時(shí),由于銀行的通知是匯總,員工無法了解到變化的細(xì)節(jié)情況,需要到行政人事部門或財(cái)務(wù)部門進(jìn)行詳單的查詢,無形中增加了各部門工作負(fù)擔(dān),勢(shì)必會(huì)影響正常工作。
工資單信息一般由工資軟件生成,這個(gè)信息實(shí)際是可以通過某種手段發(fā)送給職工,那么有沒有比較方便,同時(shí)不過多增加工作人員的工作量、不增加成本,又能及時(shí)發(fā)出通知的方法?經(jīng)過調(diào)查比較,采用了基于微信企業(yè)號(hào)進(jìn)行薪資推送和查詢的方式。
微信企業(yè)號(hào)是微信公眾號(hào)的一種,主要特點(diǎn)為:①封閉性,也就是只有指定的、在其通信錄中的人員才可以關(guān)注并使用它;②可以建立多個(gè)應(yīng)用,每個(gè)應(yīng)用可以分別開展不同的服務(wù);③可以向一個(gè)或多個(gè)用戶推送消息及接收用戶的消息;④利用微信的客戶端作為前端,無須下載使用專門的客戶端。因此企業(yè)號(hào)可以作為移動(dòng)應(yīng)用的平臺(tái),用于用戶身份識(shí)別、信息交互、向用戶推送信息等。基于此,選擇了微信企業(yè)號(hào)作為薪資查詢用戶接口平臺(tái)。
薪資查詢系統(tǒng)主要分為兩部分:①后臺(tái)管理部分:負(fù)責(zé)上傳薪資表、用戶的部門和用戶信息的維護(hù)以及人事財(cái)務(wù)政策(如報(bào)銷規(guī)定,個(gè)稅計(jì)算等)的發(fā)布及通知(如新發(fā)放的薪資項(xiàng)目等);②基于微信的手機(jī)端查詢:主要用于接收薪資的推送、薪資和財(cái)務(wù)通知及政策的查詢。
1.1 主要數(shù)據(jù)表設(shè)計(jì)
在薪資查詢中,用戶、部門等信息比較常規(guī),為了保持與企業(yè)號(hào)通信錄的一致,這部分信息通常直接從企業(yè)號(hào)中下載就行了,在企業(yè)號(hào)開發(fā)中,提供了下載的接口,直接使用即可。
薪資推送及查詢的內(nèi)容存放就比較復(fù)雜:不同的薪資表的項(xiàng)目是不一樣的,有的表中只有一、兩項(xiàng)內(nèi)容,例如電話費(fèi)、交通費(fèi),有的則有許多項(xiàng)目,如基本工資、效益工資、醫(yī)保、社保、扣稅等項(xiàng)目,且項(xiàng)目名稱也不同,為此設(shè)計(jì)了三個(gè)來表存放薪資信息:
①薪資名表:用來存放上傳薪資單的名稱、年月等信息,如“xxxx年xx月xx銀行工資”、“xxxx年xx月xx銀行績(jī)效”等,一行對(duì)應(yīng)一次薪資發(fā)放;
②表頭項(xiàng)目表:用于存放上傳的條目信息,如:“基本工資”、“合計(jì)”、“扣稅”等,“薪資名表”和本表為一對(duì)多關(guān)系;
③薪資內(nèi)容表:用于存放薪資的實(shí)際內(nèi)容。由于薪資條目是一個(gè)不確定的,因此它除了有一個(gè)和薪資表關(guān)聯(lián)的字段外,其他薪資內(nèi)容存放字段采用了一個(gè)自然順序,如“C1”、“C2”…“C50”等、分別對(duì)應(yīng)薪資表得每個(gè)項(xiàng)目?jī)?nèi)容?!靶劫Y名表”和此表為一對(duì)多關(guān)系,“表頭項(xiàng)目表”和此表字段一對(duì)一關(guān)系;
薪資表的原始信息通常是Excel表格,通過以上三個(gè)表,就可以完成對(duì)一張Excel的記錄,并且可以對(duì)不同月份相同名稱的內(nèi)容進(jìn)行合并查詢。
1.2 查詢中的Session處理
微信企業(yè)號(hào)通信錄中錄入用戶的信息后,用戶就可以進(jìn)行關(guān)注,關(guān)注成功后,進(jìn)入企業(yè)號(hào)即可看到其名下可用的應(yīng)用。用戶查詢使,后臺(tái)數(shù)據(jù)流程如下:
圖1
由此流程可以看出,因?yàn)橛脩舨⒉皇侵苯釉L問薪資服務(wù)器的,而是通過微信服務(wù)器與薪資服務(wù)器進(jìn)行通信的,因此用戶的Session信息需要單獨(dú)處理,在這種情況下處理Session,有許多方法,這里采用的是專門開發(fā)了一個(gè)類處理Session,在其中包含了需要存儲(chǔ)的Session及相應(yīng)的處理函數(shù),主要變量和函數(shù)包括:
每次根據(jù)用戶發(fā)送的請(qǐng)求,通過這個(gè)類處理,得到下一個(gè)提示信息,同時(shí)將這個(gè)類字符序列化后存儲(chǔ)在用戶對(duì)應(yīng)的文本文件中或數(shù)據(jù)表的記錄中,作為下次收到用戶發(fā)出信息時(shí)的處理依據(jù)。
例如用戶輸入“yh”或“銀行”,薪資服務(wù)器收到后,通過上述類的getNextCaption()函數(shù),得到其對(duì)應(yīng)信息為“請(qǐng)輸入查詢的銀行名稱”,將此信息推送給微信用戶,在微信中顯示出這個(gè)提示。用戶再輸入“zs”或“招商”,上述類調(diào)用getNextCaption()處理后,得到“請(qǐng)輸入查詢區(qū)間(yyyymmyyyymm):”,用戶輸入查詢區(qū)間后,getNextCaption()處理發(fā)現(xiàn)已經(jīng)到了最后一級(jí),則調(diào)用processCurren()函數(shù)處理,得到招商銀行薪資數(shù)據(jù),發(fā)給用戶。
這里wxSession類負(fù)責(zé)記錄用戶的當(dāng)前狀態(tài)病做相應(yīng)的處理,以便得到用戶錄入的信息后能夠知道其上下文的關(guān)系。實(shí)際編程處理時(shí),可以通過微信企業(yè)號(hào)的菜單,將上述流程關(guān)系進(jìn)行了簡(jiǎn)化,盡量避免對(duì)用戶信息進(jìn)行上下文的流程處理,但在實(shí)際應(yīng)用中還是存在部分類似上述的對(duì)話需求,因此這個(gè)類的處理是不可少的。在使用php進(jìn)行編程處理時(shí),用到了序列化serialize()函數(shù),將wxSession處理成字符串保存起來,用反序列化unserialize()函數(shù),將保存的字串恢復(fù)成類,使用時(shí)就像該類一直存在一樣,其中的變量可以得以保存,因此也可以方便地處理類似Session的內(nèi)容。
1.3 信息推送
每次新發(fā)薪資后,操作員可以選擇部分或全部用戶推送薪資信息,推送成功的用戶會(huì)被置上相應(yīng)的標(biāo)記,以免被多次推送。由于每個(gè)用戶的薪資內(nèi)容不同,推送的信息就不同,推送時(shí)采用的是微信的服務(wù)器,由于存在推送失敗的情況,因此需要將推送結(jié)果記錄下來,對(duì)推送失敗的信息重新推送。
2.4 薪資查詢
除了財(cái)務(wù)發(fā)送每筆薪資的情況外,還可以自己查詢,可以通過輸入年月或年月的范圍查詢,也可以按薪資發(fā)放銀行查詢,薪資查詢的結(jié)果和推送的結(jié)果可以加密推送,微信中的所謂加密實(shí)際是將用戶信息作為水印放置在薪資信息的下面,這樣如果有人曬工資條,則會(huì)將其個(gè)人信息也同時(shí)顯示出來。
1.5 財(cái)務(wù)政策及通知
財(cái)務(wù)政策和通知的有效期經(jīng)常會(huì)持續(xù)一段時(shí)間或很長(zhǎng)時(shí)間,每次新發(fā)布后,經(jīng)過一段時(shí)間的沉淀,有時(shí)比較難以找到,為此設(shè)計(jì)了一個(gè)查詢菜單,用戶可以根據(jù)需要查找到曾經(jīng)發(fā)布的財(cái)務(wù)通知或政策。
圖2
本文通過對(duì)薪資查詢系統(tǒng)的功能介紹以及部分關(guān)鍵技術(shù)的處理實(shí)現(xiàn),介紹了利用企業(yè)號(hào)作為信息開發(fā)平臺(tái)進(jìn)行軟件開發(fā)的一種方法,并給出了部分實(shí)現(xiàn)界面,說明了這種模式的主要優(yōu)點(diǎn):推送信息、交互信息、身份認(rèn)證等,希望能對(duì)同類開發(fā)有所幫助。
[1]韋冰,張春妍.基于.NET的高校工資查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].天津農(nóng)學(xué)院學(xué)報(bào),2011(12):42-44.
[2]黃培泉.基于.NET與EasyUI的工資查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2013(4):104-106.
[3]郝靜.微信公眾平臺(tái)在數(shù)字校園建設(shè)中的設(shè)計(jì)與實(shí)現(xiàn)[J].通訊世界,2016(8):273-274.
[4]陳奮,張曉蘭.基于微信的移動(dòng)學(xué)習(xí)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].龍巖學(xué)院學(xué)報(bào).2016(05):48-51.
[5]丁凡.探討微信在高校教育中的應(yīng)用[J].時(shí)代教育.2016(07):143.
[6]張皓博.雞西大學(xué)教職工工資津貼查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林大學(xué),2015.
[7]侯林春.可定制的Web查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連海事大學(xué),2015.
[8]趙俊.高校工資管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)[D].電子科技大學(xué),2012.
[9]曹彤華.高校工資管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林大學(xué),2014.
[10]黃慰.大船重工人事工資信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連理工大學(xué),2014.
The Development of Salary Inquiry System Based on WeChat Public Number
FAN Xin-long,DONG Qi
(Xi'an Institute of Railway Technology,Xi'an 710014)
With the mobile teaching platform to achieve student information modernization,to facilitate the understanding of personal accounts,develops the query system of WeChat public number salary,focuses on the characteristics and advantages of WeChat enterprise in salary query,gives the key part of database design,and expounds the difficult part in the process of real processing method finally,presents the implementation example,hopes to have reference for similar development.
WeChat Public Number;WeChat Enterprise Number;Salary Inquiry;Information Push
1007-1423(2017)01-0077-04
10.3969/j.issn.1007-1423.2017.01.019
范新龍(1965-),男,河北保定人,本科,副教授,研究方向?yàn)殍F道通信技術(shù)、通信網(wǎng)絡(luò)互聯(lián)
2016-12-15
2016-12-30
陜西省教育廳2014年科學(xué)研究專項(xiàng)項(xiàng)目(No.14JK2095)
董奇(1975-)男,陜西禮泉人,本科,副教授,研究方向?yàn)殍F道通信信號(hào)、現(xiàn)代教育技術(shù)