西安兰特水电测控技术有限责任公司
2011-09-14

企业介绍

西安兰特水电测控技术有限责任公司是从事水利水电工程自动化技术工程的高新技术企业。位于西安市高新技术开发区东区。

公司创建于1992年,集中了从事多年水利工程、微电子、自动化控制、软件开发等高科技专业人才,构建了专业特色鲜明、技术功底深厚的研发队伍和工程队伍,形成了产、学、研为一体的高科技开发实体。现有专职工作人员65人,其中博士三人、硕士十余人。

公司已经完成了水库大坝安全监测、水雨情监测与洪水调度、管道渗漏监测、泥沙含量检测等系统的设计与开发;先后承担了许多水库的大坝安全监测自动化工程和水库洪水调度(预警)系统的研发、生产和施工任务。近几年,公司承担完成的主要工程项目有:

OA 选型过程:

在09年年初的时候,企业老总就目前企业生存和发展的需求,提出推进信息化建设这一理念,通过信息化改善企业生存环境,提高行政办公效率,增强企业综合竞争力。然而面对种类繁多、五花八门的OA显得困惑,难于下手。不知道该用什么样的办公自动化软件才能满足企业自身的需求。

我们通过网络查找了许多相关的资料,同时也了解了几大品牌的办公自动化系统。我们属中小企业,企业规模不是很大,资金有限。因此我们以实用、适用、操作简单、使用方便为基本原则。初步选中了两家办公自动化系统。我们首先选择了通达OA的试用版本,安装并运行了半年时间:

首先,通达OA用户权限设置简单、有效,具有非常出色的逼近高端数据库的性能,更重要的是该数据库是开放免费的,这样就为用户降低大量成本。

其次,通达OA系统中的内部电子邮件、短信息、公告通知、日程安排、工作日志、通讯录、考勤管理、工作计划、工作流、文件柜、图书管理、列车时刻查询、电话区号查询、邮编查询等多个常用功能模块,也充分满足了中小企业的办公需要。

再者,通达OA的简便的客户端,无须登陆系统就能发送、上传、下载各种文件(通知、消息),进行系统升级、设置等工作。

另外,通达OA在安装维护上简单、快捷。

最后,通达OA在业界推出先用后买、1个月无条件退款保证的独特销售方式,用户可免费下载试用版试用再决定是否购买。充分降低企业的软件投资风险。

由于在使用过程中的这些优势再加上半年时间的使用磨合,员工自身也接受了这一工作方式的转变,因此在后期的终极对决中通达就以明显的优势成为了我们首选的办公自动化软件。我们于2010年5月17日正式运行通达OA,这也是我们企业办公跨时代的一个转变。

目前通达 OA 的使用情况:

就目前来说我们企业所有人员都在应用该软件,只是根据人员岗位的不同使用的模块或是报表不同而已。其中工作流和报表应用的比较多,其它的模块如内部短信、公告通知、工作日志、通讯簿、公共文件柜、客户关系管理、考勤管理、数据导入等也在使用。并且在使用过程中遇到问题也在OA系统的进一步升级中一一解决。

通达 OA 功能与实际应用举例:

1、 即时通讯:满足了员工之间的工作交流,以及文件、图片的发送等;

2、 工作日志:便于上级部门主管对员工工作情况的监督管理,同时为下一步的计划安排提供依据;

3、 外部邮件:通过通达OA外部邮件功能关联个人的外部邮箱,实现外部邮件的实时提醒;

4、 客户关系管理:客户部使用该功能对顾客信息进行了统一管理后,为以后报表统计中提供了基础数据。

信息发布

公告通知的使用,使企业真正实现了无纸化办公。

工作流

在所有的工作流表单中用到的下拉列表都没有使用“智能表单设计器”中的“下拉列表控件”,我个人认为“下拉列表控件”有一定的局限性,例如:在不能的表单中要使用同一类下拉列表控件,需要重复定义,在此时,我们用到了“智能表单设计器”中提供的利用SQL语句来构建下拉列表。当然,在使用之前要将需要使用的下拉列表值定义到“系统代码设置”中。具休步骤这里不做介绍。

(一)先来一个每个公司都会用到的工作流“请假单”,对于请假来说要包括请假的开始时间,结束时间以及通过这两个时间得到的请假天数(当然最好的做法就是减去非工作日之后的请假天数),在对通达OA的使用过程中,我根据我们公司的具体情况,做到了完美实现。在请假中可能存在销假的情况,在我们的实现中充分考虑了这一点,具体实现可以参见模板。具休实现结果如下:

在请假单中,计算请假时间是一个比较敏感的数字,因为对于一些单位来说,请假天数是与薪水挂钩的。因此准确的计算出请假天数是有必要的。但OA提供的计算公式所计算出来的天数是包括非工作日的。好在工作流支持JS,在这里我利用了AJAX的强大功能实现的请假天数的计算。在进行工作之前要做一定的准备工作。利用“系统管理”—>“工作流设置”—>“数据源管理”添加一个用来进行工作时间查询的数据源,该数据源内容详见附件data_week_work.sql。如下图所示:

做好了准备工作,就要进行实现了,表单的实现这里不在重复。这里只要说明一下“用户自定义JS”的实现。通过“智能表单设计器”中的JS按钮,添加自定义JS代码如下。

var xmlHttp;
var dataNum = "";
function creatXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(url){
creatXMLHttpRequest();
xmlHttp.onreadystatechange = processRequest;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function doCalculate(dname){
stime = document.getElementsByName("DATA_10")[0].value;
etime = document.getElementsByName(dname)[0].value;
url = "http://172.16.0.1:82/task/sumday.php?stime="+stime+"&etime="+etime;
if(dname=="DATA_11"){
dataNum = "DATA_51";
}else if(dname=="DATA_20"){
dataNum = "DATA_86";
}
startRequest(url);
}
function processRequest(){
if (xmlHttp.readyState == 4) { // 判断对象状态
if (xmlHttp.status == 200) { // 信息已经成功返回,开始处理信息
var returnStr = xmlHttp.responseText;
if(returnStr.indexOf("Error")==-1) {//正常接收到信息
document.getElementById(dataNum).value = returnStr;
}else {
document.getElementById(dataNum).value = "";
}
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}

添加好了前台JS那就要写后台实现了,在“webroot\task”文件夹下添加sumday.php文件,用来接收前AJAX的请求,进行后台处理后返回相应的值。具体代码如下。

require_once("inc/conn.php");
$stime = $_GET["stime"];
$etime = $_GET["etime"];
$sql="select sum(workNum) as workNum from data_week_work where rtime>='".$stime."' and rtime<='".$etime."'";
$result = mysql_query($sql);
if($ROW=mysql_fetch_array($cursor)){
$workNum=$ROW["workNum"];
}else{
echo "+OK";
exit;
}
echo $workNum;

通过以上工作就可以实现请假天数的自动计算了。成果如下图所示。

在此需要说明的是:我公司工作日为每周五天半工作制,即每个每六还要上半天班,每天上班时间为8:30—17:30中午12:00—13:00为中午休息时间,通过我们的制度,大家可以算算上图中的两个请假时间的间隔是否正确。

下面说说具体的工作流程,请看具体实现截图:

流程图说明:

1、1之后的所有步骤都有回退到这前步骤的功能;

2、请假人是研发部以外的职员、请假三天以内的,流程流转为:1、2、3、5并由3提醒考勤人员,待请假人销假时再由6结束流程;

3、请假人是研发部以外的职员、请假三天以上的,流程流转为:1、2、3、4、5并由4提醒考勤人员,待请假人销假时再由6结束流程;

4、请假人是研发部以外的部门主管、请假三天以内的,流程流转为:1、3、5并由3提醒考勤人员,待请假人销假时再由6结束流程;

5、请假人是研发部以外的部门主管、请假三天以上的,流程流转为:1、3、4、5并由4提醒考勤人员,待请假人销假时再由6结束流程;

6、请假人是研发部的职员、请假三天以内的,流程流转为:1、2、5并由2提醒考勤人员,待请假人销假时再由6结束流程;

7、请假人是研发部的职员、请假三天以上的,流程流转为:1、2、4、5并由4提醒考勤人员,待请假人销假时再由6结束流程;

8、请假人是研发部的部门主管,流程流转为:1、4、5并由4提醒考勤人员,待请假人销假时再由6结束流程;

(二)接下来说一个派车单,对于用车申请单,可存在一个车辆与司机的对应关系,这里也用到的AJAX。具体实现方法如下。

在派车单中如何通过选择车辆后系统自动带出司机姓名呢,这里用AJAX进行了实现,同理在JS中加入“自定义JS”,源码如下

var xmlHttp;
function creatXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(url){
creatXMLHttpRequest();
xmlHttp.onreadystatechange = processRequest;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function doCalculate(str){
url = "http://172.16.0.1:82/task/yongche.php?codeno="+str;
startRequest(url);
}
function processRequest(){
if (xmlHttp.readyState == 4) { // 判断对象状态
if (xmlHttp.status == 200) { // 信息已经成功返回,开始处理信息
var returnStr = xmlHttp.responseText;
if(returnStr.indexOf("Error")==-1) {//正常接收到信息未产生异常
document.getElementById("DATA_30").value = returnStr;
}else {
document.getElementById("DATA_30").value = "";
}
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}

添加好了前台JS那就要写后台实现了,在“webroot\task”文件夹下添加yongche..php文件,用来接收前AJAX的请求,进行后台处理后返回相应的值。具体代码如下。

require_once("inc/td.class.php");
$stime = $_GET["stime"];
$etime = $_GET["etime"];
$sql="select sum(workNum) as workNum from data_week_work where rtime>='".$stime."' and rtime<='".$etime."'";
$result = mysql_query($sql);
$cursor = TD::query($sql);
if($ROW=$cursor->fetch()){
$workNum=$ROW["workNum"];
}else{
echo "+OK";
exit;
}
echo $workNum;

通过以上工作就可以实现车辆与司机的对应关系。成果如下图所示。

下面说说具体的工作流程,请看具体实现截图:

流程图说明:

1、1之后的所有步骤都有回退到这前步骤的功能;

2、用车人是职员的,流程流转为:1、2、3、4、5、6,由6结束流程;

3、用车人是部门主管或总工的,流程流转为:1、3、4、5、6,由6结束流程;?

4、要是租赁车辆的话,由用车人部门主管填写司机应该填写的用车情况,其余流程流转照旧。

知识管理

公共文件柜的使用截图如下:

通过定义不同的权限使相关人员可以查阅、下载、转存自己权限范围内的相关文档。对于企业自身的各项管理制度也可以在公共文件柜中查阅。

内部讨论区

未使用通达OA 之前,总经理找某个员工时都要亲自到大厅找,或是通知前台去叫,使用通达OA之后,总经理改变了以往的习惯,而是通过内部短信或即时通讯进行交流。

报表组件

利用报表系统实现类似于库存管理的小应用系统,只是在公司库存管理中多了一个采购申请、采购员做计划的环节、并结合公司情况做了一套产品组成的管理程序,实现了公司产品的管理及材料成本的核算功能。

下图表示了系统的基本框架,所用数据都来自“库存登记卡”,由库存登记卡中可以查询出某一物品的库存数量等基本信息。

上图中红色边框所示的“库存登记卡”存储了整个系统的基本数据;绿色边框代表了整个系统的流程部分;绿色边框代表了这个系统的统计部分。

对于各类统计表由于统计方法和内容的不同会出现不同的表象形式,在下文中不予列出。

1、基础数据准备

为了库存管理方便在此为每个库存物品进行管理号的编制。在日常工作中,同一物品可能出现两个或者多个不相同的名称,有了管理号,就可以规范物品名称了。特制作“库存登记卡”,如下图:

表中字段相关设置见下图

2、采购申请表单设计

有了基础数据的准备,就可以进行采购申请表单的设计了。表单模板样式如下图:

采购申请主表中字段相关设置见下图

采购申请明细表中字段相关设置见下图

设置完主表与明细表之后,就应该进行公式的建立,首先在采购申请单中的采购物品应该是在基础数据表即“库存登记卡”中存在的物品,这里所说的存在是指物品管理号的存在,如果将要进行采购申请的物品在“库存登记卡”中不存在,则应由专人进行“库存登记卡”建立。

在进行采购申请时,点击“管理号”字段,弹出物品选择对话窗口,如下图所示

通过对管理号的选择完成采购物品的申请工作,这样既简化了用户的工作,又规范了数据的提交,以便后续统计。这里采用了跨表取数,公式如下图所示

3、采购计划单设计

有了采购申请,公司采购员在进行采购时要做出一个简单的采购计划。采购计划单是对多个采购申请单的一个统计、汇总。采购计划单中包含了采购物品的市场价格、生产厂家以及采购申请人、单价、数量等一些基本信息。

实现如下图:

采购计划单的数据来源于采购申请单,采购计划单是采购员对将要采购的物品的汇总,当然采购计划单的数据就必修来源于采购申请单,取数公式如下图所示:

通过上述公式就可以将采购申请单的内容轻松的写入采购计划单,从而方便的完成采购计划单的制作过程。

4、实物入库单设计

采购计划完成后采购员进行采购物品,对于已经采购的物品要进行入库以统一管理,其设计如图所示

实物入库之后要对库存登记卡中的库存数量进行实时更新,这里要用的通达报表系统一个强大的公式,那就是回写公式,关于回写公式的定义我这里不做介绍。如下图所示:

这里要说明的一点:回写公式必修成对出现,如上图所示,有库存的增加就要有库存的减少,且两个公式要在同一节点出现。

5、实物出库单设计

当用户要进行物品出库时必须填写“实物出库单”,实物出库单设计如下图所示:

对于出库单同样要用的回写公式,原理与实物入库单基本相同,这里就不再列举了。

6、产品组成表单设计

通过产品组成表,可以建立产品与原材料(库存登记卡)之的的关系表,通过产品组成清单,可以得到该产品的材料成本,以供公司进行成本核算。具体实现表单如下:

上表说明了一个产品是由哪些原材料组成的,以及每种原材料的数量是多少。

上表是一个简单有产品登记卡,当然根据每个公司的不同情况,用户还可以在产品中加入其他信息,如产品简单、产品图片、产品的研发费用等其他间接费用。以为后续产品的成本核算提供更加详细的基础资料,当然对于这些信息的维护应该由相关的工作人员来维护,而不是由系统管员员来维护。用到的实现公式如下所示:

本人很荣幸的说明一下,我公司对报表系统的使用得到了“通达报表”项目组的认可,并在“通达报表”项目组举办的首届《我与通达报表》征文比赛中获得一等奖。当然,我们公司对报表组件的使用和创新并没有因此停止,而是在不断的实践中为报表系统实现新的功能。例如正在实现的功能有(1)利用报表统计OA工作流执行情况,进行简单的绩效考核;(2)利用报表系统完成了考勤工作的月底的自动统计功能,由此减轻了考勤统计人员的工作量。

产生的效益

通达OA的使用改变了企业的办公方式,大大提高了办公效率和质量,同时也为企业节约了人力和财力:

总经理:

1、使用通达OA后,员工的办事效率提高了;

2、节约了资源;

3、在通达技术架构上进行了二次开发满足了企业自身的更多需求。提高了企业的市场竞争力。

总工程师:

1、使用通达OA可以总观全局,对于计划任务的安排可以随时监督,了解工程进度的最新情况,保证工期的要求,提高企业的信誉度;

2、通达OA使部门之间的交流沟通变的简单、容易,促进了大家的协作精神;

3、通达OA使公司的管理制度变得生动,管理制度的不合理很明显的体现,可以使企业发现自己管理的不足,提高员工的工作激情。

财务总监:

1、通达OA使原先许多的报帐手续简便化,并且实现了异地报帐,节约了公司运营成本;

2、通过报表组件实现了成本核算的自动化,大大节约了人力统计的成本;

员工:

1、使用通达OA后由原先的出库找相关人员逐层签字转变为流程自动流转,减少了工作繁琐度;

2、使用通达OA后,由原先的人为考勤变为自动统计,节约了人力,更体现了考勤统计的公平与公正;

3、通达OA使企业的原始的数据都完整的保存下来,可以做到有据可查,为公司的深远发展起到了一定的作用;

4、通达OA提高了工作流程办理效率,使工作流摆脱了原始的工作方式,使信息交流更加方便,轻松。特别是对于员工请假,可以在家完成请假的工作流程了。