1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 泛微OA的http接口创建

泛微OA的http接口创建

时间:2021-08-13 03:05:32

相关推荐

泛微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();//根据人员姓名获取idString[] 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);}/*** 执行创建流程**/@Testpublic 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");//流程IDworkflowBaseInfo.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);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。