泛微OA的http接口创建

除了创建接口相关的类,还需要配置文件weaver_session_filter.properties

package com.api.formmode.web;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.junit.Test;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.workflow.webservices.*;

import java.io.*;
import java.rmi.RemoteException;
import java.text.SimpleDateFormat;
import java.util.*;

// 自定义action,无侵入开发
@Path("/formmode/message")
public class MessageAction {
    public MessageAction() {
    }

    @POST
    @Path("/message")
    @Produces({"application/json"})
    public String message(@Context HttpServletRequest request, @Context HttpServletResponse response) {
        HashMap var3 = new HashMap();
        BaseBean baseBean = new BaseBean();
        baseBean.writeLog("开始执行接口MessageAction:" );
        //数据源获取
        RecordSet rs = new RecordSet();
        BufferedReader bufferedReader;

        String respString = "";
        String reqString = "";
        String inputStr = "";
        try {
            //1:接受入参,以下接受两种入参的方式二选一
//            bufferedReader = request.getReader();
            bufferedReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
            StringBuilder requestStrBuilder = new StringBuilder();
            while ((inputStr = bufferedReader.readLine()) != null) {
                requestStrBuilder.append(inputStr);
            }
            reqString = requestStrBuilder.toString();
            baseBean.writeLog("入参数据为:" + reqString);
            String  ryname = JSON.parseObject(reqString).getString("ryname");
            String  message = JSON.parseObject(reqString).getString("message");
            String  type = JSON.parseObject(reqString).getString("type");
            baseBean.writeLog("获取的参数为:"+ryname+"----------"+message+"-----------"+type);

            //2:逻辑处理
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date();
            String time = sdf1.format(date);

            String ids = "";
            //通用的查询条件语句
            StringBuffer pz_dt1all = new StringBuffer();
            //根据人员姓名获取id
            String[] allnames = ryname.split(",");
            for (int i = 0; i < allnames.length; i++) {
                if (i == allnames.length - 1) {
                    pz_dt1all.append("'"+allnames[i]+"'" + ")");
                } else {
                    pz_dt1all.append("'"+allnames[i]+"'" + ",");
                }
            }
            String sql = "select id,lastname from hrmresource where lastname in( ";
            sql = sql+pz_dt1all.toString();
            baseBean.writeLog("查询人员id的sql:"+sql);
            rs.execute(sql);
            while (rs.next()){
                ids =ids+rs.getString("id")+",";
            }
            ids = ids.substring(0,ids.length()-1);
            baseBean.writeLog("获取的人员id:"+ids);

            Map<String,String> map = new HashMap<>();
            map.put("ryname",ids);
            map.put("message",message);
            map.put("time",time);
            this.doCreateWorkflowRequest(map,baseBean);

            //3:返回数据
            respString = "200";
            var3.put("status","0");
            var3.put("httpCode",respString);
            var3.put("message","创建流程成功");
        } catch (Exception e) {
            baseBean.writeLog("捕获MessageAction的post异常e:" + e);
        }

        baseBean.writeLog("结束执行接口MessageAction:" );
        return JSONObject.toJSONString(var3);

    }



    /**
     * 执行创建流程
     *
     */
    @Test
    public  void doCreateWorkflowRequest(Map<String,String> map,BaseBean baseBean) throws Exception {
        WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo();//工作流程请求信息

        Integer userid = 1;//用户ID
//		workflowRequestInfo.setRequestId(String.valueOf(1918557));//流程请求ID-创建流程时自动产生
        workflowRequestInfo.setCanView(true);//显示
        workflowRequestInfo.setCanEdit(true);//可编辑
        workflowRequestInfo.setRequestName("mes信息展示-系统管理员-"+map.get("time"));//请求标题
        workflowRequestInfo.setRequestLevel("0");//请求重要级别
        workflowRequestInfo.setCreatorId(userid.toString());

        WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();//工作流信息
        workflowBaseInfo.setWorkflowId("96");//流程ID
        workflowBaseInfo.setWorkflowName("mes信息展示");//流程名称
		workflowBaseInfo.setWorkflowTypeId("8");//流程类型id
//        workflowBaseInfo.setWorkflowTypeName("任务变更申请流程-陆勇");//流程类型名称
        workflowRequestInfo.setWorkflowBaseInfo(workflowBaseInfo);//工作流信息


        /****************main table start*************/
        WorkflowMainTableInfo workflowMainTableInfo = new WorkflowMainTableInfo();//主表
        WorkflowRequestTableRecord[] workflowRequestTableRecord = new WorkflowRequestTableRecord[1];//主表字段只有一条记录
        WorkflowRequestTableField[] WorkflowRequestTableField = new WorkflowRequestTableField[2];//主的2个字段

        WorkflowRequestTableField[0] = new WorkflowRequestTableField();
        WorkflowRequestTableField[0].setFieldName("btxr");//被提醒人
        WorkflowRequestTableField[0].setFieldValue(map.get("ryname"));
        WorkflowRequestTableField[0].setView(true);//字段是否可见
        WorkflowRequestTableField[0].setEdit(true);//字段是否可编辑

        WorkflowRequestTableField[1] = new WorkflowRequestTableField();
        WorkflowRequestTableField[1].setFieldName("nr");//内容
        WorkflowRequestTableField[1].setFieldValue(map.get("message"));
        WorkflowRequestTableField[1].setView(true);
        WorkflowRequestTableField[1].setEdit(true);


        workflowRequestTableRecord[0] = new WorkflowRequestTableRecord();
        workflowRequestTableRecord[0].setWorkflowRequestTableFields(WorkflowRequestTableField);
        workflowMainTableInfo.setRequestRecords(workflowRequestTableRecord);

        workflowRequestInfo.setWorkflowMainTableInfo(workflowMainTableInfo);
        /****************main table end*************/

        WorkflowServiceImpl workflowService = new WorkflowServiceImpl();
        String response = workflowService.doCreateWorkflowRequest(workflowRequestInfo, userid);
        baseBean.writeLog("创建的流程requestid:" + response);
    }



}





  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
泛微OA是一款广泛应用于企业管理的办公自动化系统,具有丰富的流程管理功能。通过泛微OA的流程接口调用,可以实现不同系统之间的数据传递与共享。 首先,使用泛微OA的流程接口调用需要开发者了解其接口文档和规范。接口文档提供了如何调用接口、传递参数、返回数据等相关信息,开发者可以根据接口文档进行接口的调用。 其次,根据业务需求,开发者可以选择使用不同的接口进行调用。泛微OA的流程接口包括流程创建、流程审批、流程查询等功能。通过调用这些接口,可以实现对流程的创建、审批以及查询流程的状态和相关信息等功能。 在进行流程接口调用时,需要传递相应的参数。例如,创建流程需要传递流程名称、发起人、审批人、流程模板等参数;审批流程需要传递流程实例ID、审批人、审批意见等参数。这些参数需要按照接口文档中的要求进行传递。 在接口调用完成后,泛微OA会返回相应的结果。根据接口调用结果,开发者可以进行相应的处理。如果接口调用成功,则可以根据返回的数据进行下一步操作;如果接口调用失败,则需要根据返回的错误信息进行相应的处理或重试。 泛微OA的流程接口调用可以使不同系统之间实现数据的无缝对接,提高了企业的办公效率和流程管理水平。开发者可以根据业务需求进行相应的接口开发与调用,实现企业流程的自动化与信息的共享。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值