泛微OA的http接口创建
生活随笔
收集整理的這篇文章主要介紹了
泛微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);}}總結
以上是生活随笔為你收集整理的泛微OA的http接口创建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1602):create-re
- 下一篇: 前端学习(1527):过渡---文档分析