关键词:内容管理,信息流程,信息发布流程,信息发布,信息管理

O2OA提供的信息管理功能可以帮助用户快速地配置信息发布栏目,如通知公告,公司动态,规章制度等。用户可以高效地完成信息栏目和配置。本文主要介绍如何在O2OA中为信息发布创建一个流程,实现流程审批后完成信息发布工作。


一、设计信息发布流程

在流程结束节前增加一个服务调用节点,该节点作用是把流程数据传入到信息发布的通知公告中。如图配置相应的参数 REST地址:document/cipher/publish/content 配置消息体脚本:引用publishToCMS脚本,并设置消息体内容。

var data = this.getPublishData();

this.body.set(data);

在脚本配置中新建publishToCMS脚本,代码见


this.define("getPublishData", function(){
    var isArray =function(obj){
        return Object.prototype.toString.call(obj) === '[object Array]' || Object.prototype.toString.call(obj) === '[object java.util.ArrayList]';
    };
    
    var clone = function (obj) {
        if (null === obj || "object" != typeof obj) return obj;
        
        if(isArray(obj)){ //数组
            //print( "array" );
            var copy = [];
            for (var i = 0, len = obj.length; i < len; ++i) {
                copy[i] = clone(obj[i]);
            }
            return copy;
        }else{
            var copy = {};
            for (var attr in obj) { 
                copy[attr] = clone(obj[attr]);
            }
            return copy;
        }
    };
    var removeHTMLTag = function(str) {
        str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
        str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
        //str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
        str=str.replace(/&nbsp;/ig,'');//去掉&nbsp;
        str=str.replace(/\s/g,''); //将空格去掉
        return str;
    };
    var document = clone( this.data.cmsDocument ); 
    var data = clone( this.data );
    var work = this.workContext.getWork();
    data.formProcess = true;
    delete document.attachmentList;
    document.subject = data.subject;
    document.title = data.subject;
    document.wf_workId = work.id;
    document.wf_jobId = work.job;
    document.pictureList = [];
    if( data.imageclipper ){
        document.pictureList.push( data.imageclipper );
    }
    document.summary = "";
    if( data.htmleditor ){
        var text = removeHTMLTag( data.htmleditor );
        document.summary = text.substr(0,85);
    }
    var attachmentList = this.workContext.getAttachmentList();
    var attachmentIds = [];
    for( var i=0, len=attachmentList.length; i<len; ++i ){
        attachmentIds.push( attachmentList[i].id );
    }
    document.wf_attachmentIds = attachmentIds;
    var cnArray = ["组织","群组","人员","人员","角色"];
    var keyArray = ["U","G","I","P","R"];
    var result = [];
    print( "data.publishFor.length="+data.publishFor.length );
    if( typeOf(data.publishFor) == "array" && data.publishFor.length > 0){
        for( var i=0; i<data.publishFor.length; i++ ){
            var publishFor = data.publishFor[i];
            var dn = typeOf( publishFor ) === "string" ? publishFor : publishFor.distinguishedName;
            var index = keyArray.indexOf(dn.substr(dn.length-1, 1))
            if( index > -1 ){
                result.push({
                    permission : "阅读",
                    permissionObjectType : cnArray[ index ],
                    permissionObjectName : dn
                });
            }
        }
    }
    print( JSON.stringify(result) )
    var owners = [];
    if( result.length > 0 ){
        var taskCompletedList = this.workContext.getTaskCompletedList();
        for(var i=0, len=taskCompletedList.length; i<len; ++i){
            var taskCompleted = taskCompletedList[i];
            if(taskCompleted.person){
                owners.push( taskCompleted.person );
            }
        }
        if( owners.length > 0 ){
            for(var i=0, len=owners.length; i<len; ++i){
                result.push({
                    permission : "阅读",
                    permissionObjectType : "人员",
                    permissionObjectName : owners[i]
                });
            }
        }
    }
    //document.permissionList = result;
    document.readerList = result;
    data.processOwnerList = owners;
    document.docData = data;
    return document;
}.bind(this));


示例表单如下:


二、给分类配置信息发布流程

点击“分类配置”下的通知公告,给通知公告配置上信息发布流程,如下图:


推荐文章:

系统安全-加密登录-登录密码RSA加密
2021-08-31
@系统安全@O2OA@登录密码@密码加密@RSA加密为增加系统和用户的安全性,平台支持对用户的登录密码进行RSA加密。本篇主要介绍如何将在O2OA中开启登录密码
常见问题-IOS移动办公无法收到验证码
2021-02-07
iphone7withIOS10.2.1无法收到服务器绑定的验证码。一、错误描述错误!underlying(ErrorDomain=NSURLErrorDoma
服务集成-平台数据字典API使用说明
2021-03-15
O2OA允许用户通过脚本灵活地完成数据字典相关的增删查改操作。本文主要介绍完成平台数据字典操作相关的API和使用方式
o2oa集成金格office控件
2021-09-02
@移动办公@O2OA微信办公@微信公众号办公@微信办公@手机办公O2OA平台是一个企业办公类系统,为了方便实现在线编辑word、excel、ppt文件,与金格i
老版本Custom应用后端源码编译
2021-03-15
O2OA允许用户对服务进行扩展,可以修改原来的代码,但是我们更推荐用户增加新的war包,jar包,根据O2OA的源码结构新增服务和应用来进行业务的扩展。本文主要
服务集成-通过接口从第三方应用系统启动流程
2021-07-06
@服务集成@系统集成@流程启动@通过服务启动流程@服务包装O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何
平台维护-自动执行平台数据的备份与恢复
2021-11-23
@服务器管理@O2OA@数据备份@数据恢复@自动备份@文件存储备份O2OA提供平台数据导出导入的数据迁移方案,开发者可以将平台的全部数据从一个环境平滑迁移到其他
开发知识-人大金仓数据安装
2021-02-07
一、安装程序  1、在安装前要创建一个帐号,不能用root帐号安装。  2、安装执行./setup.sh -iconsole    3、接受“此许可协议条款”,
考勤管理-新版
2021-09-06
@企业办公系统@考勤管理@开源办公系统@员工考勤@人事考勤O2OA考勤管理提供了一个通用的考勤管理,企业可以使用它实现手机打卡,数据导入,数据分析,数据统计。员
开发平台功能概述
2021-06-19
O2OA并不是一款传统意义上的OA系统。它是一款以流程管理为核心的全开源全免费的信息化开发平台,完整的代码可以直接在Github和Gitee上下载,并且不需要支

results matching ""

    No results matching ""