华安检测科技股份有限公司

2019-06-10

通达报表、 项目管控、微信集成

       华安检测科技股份有限公司 董洁明

OA选型过程

实施概况:华安检测是一家服务型的企业,针对国家目前的政策,要求企业强制性做职业卫生、安全等服务,公司的业务成爆炸性的增长,针对这种状况,公司针对即将上市的长远规划及管理需要,要求对各个环节进行掌控,同时实现无纸化办公。

项目启动前,我们进行了大量的调研,先后走访了多家OA软件供应商,并考察了多家OA产品,通过现场演示、试用,最终选择了北京的通达OA

其主要优点是:技术领先、人性化设计、易用性强、性价比最高、易于维护和后续升级服务及时,不仅仅是办公软件,更是管理工具。

我们最最看重的是:用通达报表组件的统计、项目管控、微信集成。如:客户分配汇总、业务销售周报、业务销售月报、销售数据月度基础统计、技术部门绩效表、请假/加班报表、合同号自动发放管理。

20163月份启动OA项目;4月份实施;7月份在公司总部试运行OA工作流;201610月份试运行报表组件,实现项目管控、日常审批、移动微信办公



、目前通达OA的使用情况

公告、新闻、内部邮件、即时通讯、文件柜、车辆管理、工作流、人力资源模块的绩效考核、微信集成

工作计划、会议安排、网络硬盘、个人考勤模块实现部分应用。

OA系统与微信集成应用,二次开发。



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

通达OA功能很强大,日常的审批不在话下,下面重点列举几个我公司的定期检测项目管理。

1、公司的需求概况

根据我公司的业务范围主要三大类:职业卫生专业技术服务、安全生产专业技术服务、配套服务。根据项目类型,创建了9大流程:定期检测、预评价、现状评价、控制效果评价、安全设施设计专篇、配套服务、安全生产标准化、安全健康分类分级、其他。涉及公司所有部门:总监室、市场部、财务部、技术部、检测部、质控部、行政部等公司及分公司各部门。

公司的行业特点是服务型的,需要去企业洽谈、调查、采样等服务,员工基本都处于外出的状态。分公司分布于各地。

需要实现项目管控:

通过每个节点限制办理时限,超时统计,来提高办理效率。

获得客户分配汇总、业务销售周报、业务销售月报、销售数据月度基础统计、技术部门绩效表。

实现分公司人员异地办公、业务人员、技术人员等移动办公。

2、流程设计

以定期检测为例,项目从非主营业务提供审批-客户登记-客户分配-业务现场调查-报价方案编写-报价审批-报价方案发给客户-合同申请制作-签订合同-合同交接-初款收取-财务启动项目-技术总监室负责人分配- 部门负责人分配-项目负责人-现场调查-方案编写-方案审核-现场采样-样品交接-实验室接收-检测数据报告-项目报告编写-报告初审-报告技审-质控审核-报告装订盖章-尾款收取-市场总监室接收报告-业务部门接收-业务主责人-客户报告签收(非常规交付)-行政归档等。总共70多个节点,8个子流程。几乎涉及公司所有部门。




、报表管理

1、公司通过获取主流程实时数据生成相应报表,及时掌握项目及业绩情况。如下图:

2、《个人业务报表》包含六大模块(也包含月份、周数、时间等的筛选及合计):

基本信息:部门、组别、姓名。

销售业绩:基本绩效目标、业务绩效目标、职业卫生报价产值、安全生产报价产值、已完成销售总额、绩效业绩目标总额、绩效业绩完成率。

综合客户签单情况:综合客户总量、已签客户数量、综合签单率、流失客户数量、流失率。

新增客户:累计新增数量、已签单数量、签单率。

原有客户:累计启动数量、已签单数量、签单率。


流失启动客户:累计启动数量、已签单数量、签单率。

《业务组业绩汇总表》和《部门业务汇总表》


3、项目进度表

根据通达提供的源代码,经过公司二次开发,我司申请了《职业卫生服务客户管理系统》、《职业卫生服务项目管理系统》两个软件著作权。并助力公司认定高新技术企业(已获批,并公示中)。



、移动办公

根据公司员工基本每天都在外的特点,使用微信与OA集成,极大的方便了公司的办公管理。



、二次开发

1、空白合同

根据需要,分公司的业务人员需要大批量的签订合同,通过空白合同审批预领取大批空白合同,针对已经使用的空白合同 可批量查询使用情况。对未使用的空白合同定期回收。空白合同审批单,如下图:

2、部分代码

jQuery(function(){

 jQuery("*[name=DATA_17]").click(function(){

 jQuery("*[name=DATA_18]").toggle();

  });

  jQuery("*[name=DATA_12]").click(function(){

 jQuery("*[name=DATA_54]").toggle();

    });

  jQuery("*[name=DATA_13]").click(function(){

 jQuery("*[name=DATA_55]").toggle();

    });

  jQuery("*[name=DATA_14]").click(function(){

 jQuery("*[name=DATA_56]").toggle();

 });

  jQuery("*[name=DATA_15]").click(function(){

 jQuery("*[name=DATA_57]").toggle();

 });

  jQuery("*[name=DATA_16]").click(function(){

 jQuery("*[name=DATA_58]").toggle();

    });

  jQuery("*[name=DATA_52]").click(function(){

 jQuery("*[name=DATA_59]").toggle();

   

 });

  jQuery("*[name=DATA_53]").click(function(){

 jQuery("*[name=DATA_60]").toggle();

    });

 jQuery("#countnum").click(function(){  //计算合同份数

   var num= {};

   var i;

   var count_num;

   count_num=0;

num[0]=parseInt(jQuery("*[name=DATA_18]").val());

    num[1]=parseInt(jQuery("*[name=DATA_54]").val());

    num[2]=parseInt(jQuery("*[name=DATA_55]").val());

    num[3]=parseInt(jQuery("*[name=DATA_56]").val());

    num[4]=parseInt(jQuery("*[name=DATA_57]").val());

    num[5]=parseInt(jQuery("*[name=DATA_58]").val());

    num[6]=parseInt(jQuery("*[name=DATA_59]").val());

    num[7]=parseInt(jQuery("*[name=DATA_60]").val());

   for(i=0;i<=7;i++){

     if(isNaN(num[i])){

     num[i]=0;

     }

     count_num+=num[i];

   }

  count_num=2*count_num;

   jQuery("*[name=DATA_50]").val(count_num);

   

 });

 jQuery("*[name=DATA_49]").blur(function(){

   var str;

   str=jQuery("*[name=DATA_49]").val();

   str=str.replace(/[\r\n]/g,"  ");

    str=str.replace(/\s+/g,'  ');

 

  jQuery("*[name=DATA_49]").val(str);

 });

  jQuery("#check").click(function(){    

   var cont =jQuery("*[name=DATA_49]").val();

     jQuery.ajax({    

   url:'/flow_myfun/check.php'+'?num='+cont,

    type:'get',    

    dataType:'json',      

    data:cont,      

    success:function(result){  

      if(result){

        var showhtml="<table class='tb1' border='1'><tr><th>内部编号</th><th>合同编号</th><th>客户名称</th><th>制作日期</th><th>市场总监室审批</th></tr>";

    // alert(result.length);

        for (var i=0;i<result.length;i++){

if(result[i]['hth']=="尚未分配") result[i]['nbbh'] = "<font color='#FF0000'>" +result[i]['nbbh'] +"</font>";

showhtml+="<tr><td>"+result[i]['nbbh']+"</td>"+"<td>"+result[i]['hth']+"</td><td>"+result[i]['khmc']+"</td><td>"+result[i]['zzrq']+"</td><td>"+result[i]['zjqm']+"</td></tr>";

        }

       jQuery("#chakan").html(showhtml+"</table>");

      }

    }

   });

});

})

2、合同号自动生成

部分代码:

DELIMITER $$

USE `TD_OA`$$

DROP TRIGGER  IF EXISTS `auto_ht_num_2`$$

CREATE  

   TRIGGER `auto_ht_num_2` BEFORE INSERT ON `test_cfq`

   FOR EACH ROW

BEGIN

DECLARE y_numtemp,t_account,num INT;

DECLARE ht_ms TEXT;

#获取当月月总数,

SELECT LEFT(code_order,2) INTO num FROM sys_code WHERE parent_no='proj_type' AND code_name=new.xmlx;

SELECT MAX(y_num) INTO y_numtemp FROM test_cfq WHERE xmlx IN(SELECT code_name FROM sys_code WHERE LEFT(code_order,2)=num) AND y_m=new.y_m;

#换月归零

IF y_numtemp IS NULL

THEN

SET y_numtemp=0;

END IF;

#合同前缀

SELECT code_no INTO ht_ms FROM sys_code WHERE parent_no='proj_type' AND code_name =new.xmlx;

#获取合同总数,换年归零

SELECT MAX(account) INTO t_account FROM test_cfq WHERE xmlx IN(SELECT code_name FROM sys_code WHERE LEFT(code_order,2)=num) AND LEFT(y_m,4)=LEFT(new.y_m,4);

#跨年归零

IF t_account IS NULL

THEN

SET t_account=0;

END IF;

#更新字段

SET new.account=t_account+1;

SET new.y_num=y_numtemp+1;

SET new.htbh = CONCAT(ht_ms,new.y_m,new.y_num,'-',new.account);

END;

$$

DELIMITER ;

3、客户通过手机进度项目进度查询:

部分代码:

<table width="77%" align="center" class="TableList" border="1">

<?php

  $htbh =  $_POST['htbh'];

  $khmc = $_POST['dwqm'];

   $con = mysql_connect("192.168.1.252:3336","test","123456");

if (!$con)

 {

 echo 'error,数据库连接失败!';

 }

mysql_select_db("td_oa", $con);

$querry = "select * from vw_jdcx_b where htbh="."'".$htbh."'and xmmc=\"$khmc\"";

$querry2 ="select * from vw_xmjd where htbh="."'".$htbh."' and xmmc=\"$khmc\"";

$result1 = mysql_query($querry2);

$xm=mysql_fetch_array($result1);

   if($xm[htbh]){

echo   '<tr class="TableHeader"><td nowrap align="center" colspan="3" class="TableHeader" style="background-color: #e3e3e2"><b>

客户名称:'.$xm[xmmc].'<br>'.'(合同号:'.$xm[htbh].')</b><br></td></tr>'; }

else{

if($htbh){

echo '<br>';

echo '

<script type="text/javascript">

           alert("输入错误,请核对后再输入!");

   </script>';

unset($htbh);

unset($khmc);

}

}

$result = mysql_query($querry);

$i=1;

while($row=mysql_fetch_array($result)){  //遍历SQL语句执行结果把值赋给数组

if($prcs_name==$row[prcs_name]){

continue;

}

    if($i%2==0){

echo'<tr class="TableLine2">';}

else{

echo '<tr class="TableLine1">';

}

   echo '<td nowrap align="center" rowspan="1">第<b><span class="Big4">'.$i.'</span></b>步    </td>';


  echo '<td><span >'.$row[prcs_name].'</span>

</td>  

  <td id="1_1"><font color="#009900">开始于:'.$row[PRCS_TIME].'</font><br>';

  if($row[PRCS_FLAG]==2){

  echo '<font color="#FF0000">正在办理中。。。</font>';}else{  

  echo'<font color="#FF0000">结束于:'.$row[DELIVER_TIME].'</font><br></td>

  </tr>';}

  $prcs_name = $row[prcs_name];

$i++;

}    

mysql_close($con);

?>

</table>


、通达的服务

   在OA创建阶段,通达工程师现场服务专业,沟通和创建过程很顺畅,OA交付后,在使用的过程中遇到问题均可在通达OA服务群里得到满意解答,通达的技术人员很专业,责任心很强,售后服务也很棒,在此真的很感谢通达及各位工程师。


、产生的效益

增强公司级分公司之间的合作与沟通

增强各商业数据的准确性与时效性

项目统一管理,提高项目产出率。

降低运营与生产成本

提高工作效率与质量

获得软件著作权及高新技术企业

提高与客户的互动。

对员工

减少数据重复输入,在不同部门中共享数据

标准化流程,提高工作效率

提高客服满意度,尤其是在工时,质量与准时交货率方面

对管理者

将公司和分公司统一管理。

将项目统一管理,更准确的了解企业的项目运行状况。

更清楚,客观得了解员工效率。

实时掌握本部门的业绩数据,提高部门工作效率。

方便客户关注项目进展情况。

分享
下一篇:这是最后一篇
上一篇:这是第一篇