NC63发送消息实例

做发送工作任务到用户并允许用户直接打开单据进行操作  
看了别人的文章  
做出来一直有问题    
并且文档写的也不太全
解决问题后记录一下  
帮助后来的同仁们  
下面直接放上我的消息处理的代码    
所有需要注意的点我都写在注释里  
希望可以帮助到你们

package nc.impl;

import nc.bs.framework.common.InvocationInfoProxy;
import nc.message.util.MessageCenter;
import nc.message.vo.MessageVO;
import nc.message.vo.NCMessage;
import nc.vo.pub.lang.UFDateTime;

/**
 * 发送消息到NC消息中心工作任务测试
 * @author conn
 *
 */
public class WorkMessageServiceImpl {

    public void MessageTest() {
        NCMessage ncm = new NCMessage();
        MessageVO mv = new MessageVO();

        // 是否被删除 默认为false
        // mv.setIsdelete(UFBoolean.FALSE);

        // 是否已读 默认为false
        // mv.setIsread(UFBoolean.FALSE);

        // 是否已处理 默认为false
        // mv.setIshandled(UFBoolean.FALSE);

        // 消息发送类型 默认值为nc
        // mv.setMsgtype("nc");

        // 是否发送成功 默认为true
        // mv.setSendstate(UFBoolean.TRUE);

        // 详细内容
        mv.setContent("请处理回款认领确认单");

        // 内容格式 默认为text/plain
        mv.setContenttype("Z");

        // 存放位置 默认outbox outbox=发件箱 inbox=收件箱
        mv.setDestination("inbox");

        // 消息来源类型
        // worklist 工作任务
        // notice 通知消息
        // pfbizmsg 回执消息
        mv.setMsgsourcetype("worklist");

        // 集团
        mv.setPk_group("0001B710000000000DZK");

        // 组织
        mv.setPk_org("0001B710000000000DZK");

        // 优先级 0=低 1=高 默认5
        mv.setPriority(6);

        // 接收人
        mv.setReceiver("1001B71000000000CZDC");

        // 获取当前登录用户
        String userId = InvocationInfoProxy.getInstance().getUserId();

        // 发送人
        mv.setSender(userId);

        // 发送时间
        mv.setSendtime(new UFDateTime());

        // 标题
        mv.setSubject("回款认领确认单审批");

        // 所属模块
        mv.setDomainflag("tzsz");

        // 当前日期七天后
        UFDateTime endTime = new UFDateTime().getDateTimeAfter(7);
        // 有效期
        mv.setExpiration(endTime);

        // 详细信息 想要打开下游单据必须要有的值
        // 打开的单据主键@单据类型@单据号@功能节点
        mv.setDetail("1001B71000000000LEKQ@SZ37@SZ372019060600000020@SZJ10801");

        // 扩展属性表外键 理论上这里应该是pub_workflownote中的pk_checkflow 但这个单据是我自己开发的所以我放的下游单据的主键 暂时没发现问题
        mv.setPk_detail("1001B71000000000LEKQ");

        ncm.setMessage(mv);
        MessageCenter mc = new MessageCenter();
        try {
            String[] sm = mc.sendMessage(new NCMessage[] { ncm });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}


姓 名:Conn
邮 箱:[email protected]
如果我有帮助到你 帮忙点个赞 谢谢
如果有问题 请联系我 我会尽力帮助你


你可能感兴趣的:(yonyou)