当前位置:首页 期刊杂志

人事部门使用OCR技术实现OA系统请假条汇总

时间:2024-04-24

兰天 邓小云

摘 要:利用现有OA系统的电子假条图片和计算机OCR(Optical Character Recognition)技术,实现假条图片中员工姓名、请假时段、事由等信息的自动识别与抠取。将相关信息自动汇总,最终通过使用命令批处理调用Node.js连接百度OCR接口,抠取假条图片上相关信息。在后台调用Excel假条统计文件,使用VBA宏将抠取的假条信息填入,并使用Excel相关公式去除本年度法定节假日和周末,最终计算出员工实际请假天数,并自动填入,以实现假条自动化汇总,减少人事部门人工汇总的工作压力,降低出错率。

关键词:OCR技术;OA系统;绿色人力资源

中图分类号:F272.92;TP391.4      文献标志码:A      文章编号:1673-291X(2020)23-0073-02

长期以来,人事部门假条汇总工作都以纸质请假条的人工保管为主,假条的保管、查询、统计和数据分析等都十分不便捷,并需要消耗大量的人力物力,且出错率高。然而,随着信息化的发展,现阶段很多单位都已经拥有OA系统(Office Automation System),这样就使得人事管理员可以获取制式的请假条图片。另一方面,OCR(Optical Character Recognition)技术近年来发展迅速,精准度高,百度、搜狗、腾讯、汉王等行业巨头都提供了OCR接口,方便其他程序调用。因此,可以通过使用Node.js调用OCR接口,完成图片有效内容的抠取,再调用Excel文件,将有效内容自动填入Excel文件中,并配合Excel中的相关公式和预留信息,完成自动汇总和统计员工及二级部门的全年请假状况。

一、使用Node.js调用百度OCR接口

1. var image = fs.readFileSync("./image/1.png").toString("base64");

2. var client = new AipOcrClient("118298", "Oj4LWg9LUH", "pKtcyr7cxIRAGlg");

使用Node.js调用百度OCR,抠取制式图片上的信息,并将它们以项的形式存储在JavaScript的数组里。

二、调用自定义模板文字识别

1. var fs = require(′fs′);

2. var xlsx=require("node-xlsx");

3. client.custom(image, options).then(function(result) {

4.     var datas=[];

5.     var result3=`=HYPERLINK("假条照片`+′\\′ + result.data.ret[1].word + result.data.ret[2].word.replace(/-/g, ′′) + "-" + result.data.ret[0].word.replace(/-/g, ′′) + `.png")`;

6.     var result2=result.data.ret[2].word.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3");

7.     var result0=result.data.ret[0].word.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3");

8.     var data=["",result.data.ret[1].word,result2,result0,"",result3];

9.     datas.push(data);

10.       var buffer=xlsx.build([

11.           {

12.                 name:′sheet3′,

13.                 data:datas

14.           }

15.         ]);

16. fs.writeFileSync(′../newAdd.xlsx′, buffer, {′flag′:′w′});

17.     fs.rename(′./image/1.png′, ′../假條照片/′ + result.data.ret[1].word + result.data.ret[2].word.replace(/-/g, ′′) + "-" + result.data.ret[0].word.replace(/-/g, ′′) + ′.png′, function(err) {

18.         if (err) {

19.             throw err;

20.         }

21.     });

22. }).catch(function(err) {

23.     // 如果发生网络错误

24.     console.log(err);

25. });

調用文字模板进行抠取,并使用npm安装node-xlsx模块,将存入数组中的项依次存入Excel文档的各字段中,并产生图片链接,将假条图片存放在数据库中,可以在Excel文件里直接点击调取。

三、使用Excel公式调取相关员工的工号信息,并计算其除去法定节假日和公休日的请假天数

匹配员工的姓名、工号与所属部门采用了VLOOKUP公式。使用它的好处是可以将其他sheet中提前储存的员工姓名、工号、所属部门等相关信息调用出来,以达到OCR识别员工工号后即可获得员工姓名、所属部门等一切相关信息。同样,在统计请假天数时采用了NETWORKDAYS与NETWORKDAYS.INTL两个公式,不但可以获取本年度工作日等信息,还可以调用在其他sheet中预先设置的法定节假日、寒暑假等信息。这样就做到了根据具体年份的具体情况进行灵活调整,保证了员工请假时长统计的精准性。汇总同一员工多张假条请假天数总和时,则使用了SUMIF公式,这样可以灵活统计某位员工全年请假的多张假条,计算出他总计请假天数,并可以预警某员工的总计请假天数是否已达到红线,以及预警某二级部门的所有员工的总计请假天数是否已达到红线。

四、结论

随着无纸化办公和绿色人力资源的发展,请假条的管理和汇总统计对精确性和高效性有着越来越高的要求。同时,伴随着OCR(Optical Character Recognition)技术的发展,我们有许多优秀的汉字OCR平台向大众提供接口,如汉王OCR、百度OCR、搜狗OCR、腾讯OCR等。它们能做到精确识别汉字人名中的生僻字,甚至对部分手写字体也有一定的识别能力。并且支持使用Java、JavaScript、Python、C、C++、C#、PHP等主流编程语言接入相关接口。

本文的实现方案即是使用JavaScript调用Node.js连接百度OCR的接口,以达到对制式电子假条的精确识别和抠取。再运用Node.js中的node-xlsx模块将抠取的内容导入Excel文件中进行各种汇总统计工作。整个过程只需人事管理员点击“运行.bat”便可自动化完成,是办公自动化和绿色人力资源管理的一次较好的实践。

参考文献:

[1]  兰天,张荣庆,梁乾.Excel协同汇总的Nodejs算法解决方案[J].数码世界,2020:39.

[2]  兰天,马叶.企业人力资源绩效管理的创新探讨[J].商讯,2019,(4):192-194.

[3]  兰天,马叶.绿色人力资源管理研究述评与展望[J].商讯,2019,(3):193-195.

[4]  许正义.基于NodeJs的成果管理辅助系统设计与实现[D].南昌:江西师范大学,2018.

[5]  邵明浩.基于NodeJS的接口管理平台设计与实现[D].南京:东南大学,2017.

[6]  黄孝羽.基于NodeJS函数接口描述的正则引擎的设计和实现[D].南京:东南大学,2017.

[7]  张海波.基于Android的学生电子假条管理平台[J].电脑知识与技术,2018,(30).

[8]  吴建军.浅谈人力资源管理中请假条标准格式设计[J].中小企业管理与科技(中旬刊),2015,(10).

[9]  张婷婷,马明栋,王得玉.OCR文字识别技术的研究[J].计算机技术与发展,2019,(4).

[10]  王学梅.OCR文字识别系统的应用[J].现代信息科技,2020,(18).

收稿日期:2020-06-08

作者简介:兰天(1990-),男,陕西汉中人,助教,硕士,从事人力资源管理研究;邓小云(1984-),女,陕西汉中人,硕士,从事公共管理研究。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!