时间:2022-10-22 02:11:08
摘 要:近年来山东省劳动厅把信息自动化建设作为它的一项主要工作来抓,从退休审批到养老金发放的每个过程都实现了计算机管理。申报系统根据山东省社保局核心平台的特点用Foxpro9.0开发,可以方便的实现人员基本信息浏览编辑、信息查询、人员增减申报、养老金申报、待遇调整、与社保局核心平台对接等功能。
关键词:核心平台;Visual FoxPro9.0;养老金申报
中图分类号:TP文献标识码:A文章编号:1672-3198(2008)12-0339-02
1 程序主界面
主界面工具栏中包含“综合管理”、“试用工具”、“系统管理”、“信息维护”、“版权帮助”等功能。
2 主窗口模块
(1)窗口布局。
(2)主窗口ini事件代码。
DO 程序菜单.mpr WITH this,.t.省略bo1.SETFOCUS
ENDIF
ELSE
IF !ALLTRIM(KL)=mmjm2(m2)
N=N+1
IF N
MESSAGEBOX("密码错误,请重新输入!",0+16,"系统提示:")
THISFORM.text2.SETFOCUS
ENDIF
ELSE
modify window screen title "养老金申报(单机版 V3.2.省略bo1.value
do form main.scx
thisform.release
ENDIF
ENDIF
IF N=3
MESSAGEBOX("你尝试的次数太多,系统将关闭!",0+16,"系统提示:")
QUIT
ENDIF
4 实用工具模块
实用工具菜单包含四个功能,主要实现申报情况统计、与社保局核心平台对接功能:
DEFINE POPUP (a_menupops[3]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF (a_menupops[3]) PROMPT "读入新增人员(\
DEFINE BAR 3 OF (a_menupops[3]) PROMPT "情况统计(\
DEFINE BAR 5 OF (a_menupops[3]) PROMPT "批量减员(\
DEFINE BAR 7 OF (a_menupops[3]) PROMPT "接口程序(\
…………
5 查询模块
查询模块使用的是foxpro9.0自带的查询类库wizstyle.vcx,该类位于microsoft visual foxpro 9安装目录下。
6 数据恢复、备份模块
(1)模块界面。
(2)功能说明。
本模块主要实现养老金数据库的备份与恢复功能,每次申报结束后用备份功能对数据库进行备份,在系统格式化、系统崩溃或者需要浏览以前的数据,用系统恢复功能可以将系统恢复到备份前的状态。
本模块代码略。
7 与省社保局核心平台接口模块
本模块主要针对省社保局核心平台数据库的特点进行设计,能够实现与社保平台的对接,方便将职工增减员的信息按照规定的格式导入省社保平台。
(1)模块界面。
(2)减员接口代码。
SELE 基本信息
COUNT TO filename FOR 减员时间=系统时间1
IF filename
MESSAGEBOX("本月无减员!",0+64,"系统提示:")
RETURN
ELSE
COPY TO array array_1 FIELDS 个人编号,姓名,身份证号,死亡时间,单位名称 FOR 减员时间=系统时间1
yy=GETDIR("","选择上报文件保存目录:","系统提示:")
IF EMPTY(yy)
RETURN
ENDIF
yy=yy+"\山东中烟"+系统时间1+"减员接口程序.dbf"
COPY file 报盘模版_n2.dbf TO (yy)
USE (yy) IN 3
SELECT 3
APPEND FROM array array_1 FIELDS 个人编号,姓名,身份证号码,死亡年月,死亡地点
MESSAGEBOX("减员接口数据文件编制完成!",0+64,"系统提示:")
endif
8 离退休增减员申报模块
(1)模块界面。
(2) 模块说明。
本模块主要实现了增减员数据上报和接收、增减员花名册打印和增减员查询功能,下属单位将职工的增减员情况录入系统后,所有当月的增减员信息都会在本界面显示,点击相关的按钮后完成增减员的申报并打印增减员花名册。增减员查询功能可以实现在年终社会保险基金清算,或在年初社平工资调整需要补发死亡职工一次性救济费时方便查询,只要在弹出的界面中输入查询的起始年月就可以查询期间的增减员信息了。
9 报表打印模块
在Visual Foxpro中可以通过OLE服务程序调用Microsoft Excel来进行报表输出,这样做的好处是可以允许用户对生成的Excel报表再编辑,以及进行邮件传递等。常用的Excel控制语句见下表:
作用语句
建立Excel对象Oexl=creatobject(“excel.application”)
添加工作簿Oexl.workbooks.add
打开指定的工作簿Oexl.Workbooks.Open(“name.xls”) &打开name.xls文件
激活工作簿Oexl.worksheets(“sheet1”).active&激活sheet1工作簿
为单元格赋值Oexl.cells(1,1).value=field
显示Excel窗口Oexl.visible=.T.
关闭ExcelOexl.Quit
以下是打印报表的示例代码:
eole=CREATEOBJECT("excel.application")
eole.workbooks.OPEN(“中烟减员花名册.xls”)
eole.worksheets("减员花名册").ACTIVATE
GO TOP
FOR i=3 TO j1+2
eole.cells(i,1).VALUE=i-2
eole.cells(i,2).VALUE="'"+个人编号
……
eole.cells(i,10).VALUE=ALLTRIM(单位名称)
SKIP
ENDFOR
eole.ActiveSheet.RANGE(&sys_rang).BORDERS.LineStyle=1
eole.cells(j1+3,8).VALUE="合计减少"
eole.cells(j1+3,8).BORDERS.LineStyle=1
eole.cells(j1+3,9).VALUE=j2
eole.cells(j1+3,9).BORDERS.LineStyle=1
eole.VISIBLE=.T.
(1)模块界面。
(2)“上报数据”按钮click代码(部分)。
SELECT 基本信息
GO top
sys_mc=基本信息.单位名称
申报时间=LEFT(DTOC(DATE(),1),6)
Filename=PUTFILE("保存文件名:",ALLTRIM(sys_mc)+ALLTRIM(申报时间)+"全部发放数据","dbf")
IF EMPTY(filename)
RETURN
ENDIF
COPY TO (filename) FOR EMPTY(减员时间) TYPE FOXPLUS
MESSAGEBOX("上报数据已生成!",0+48+0,"提示")