本页目录
- 1、ERP TipTop GP5.3的代码
- 2、OA 自动流程审批的代码
- 3、查看效果
- OA创建接收方 参考:02.02.01.泛微OA Ecology10(创建webservice接口提供第三方平台访问)
ERP TipTop GP5.3的代码
- 后台代码
IMPORTxmlIMPORTcomIMPORTutilIMPORTosDATABASEdsGLOBALS"../../config/top.global"GLOBALSDEFINEg_curs_indexLIKEtype_file.num10,g_row_countLIKEtype_file.num10,request com.HTTPRequest,response com.HTTPResponse,reader xml.DomDocument,requestData xml.DomDocument,wsstatusINTEGER,urlSTRING,resptypeSTRINGENDGLOBALSMAINDEFINEp_row,p_colLIKEtype_file.num5LETp_row=ARG_VAL(1)LETp_col=ARG_VAL(2)OPTIONSFORMLINEFIRST+2,MESSAGELINELAST,PROMPTLINELAST,INPUTNOWRAPDEFERINTERRUPTIF(NOTcl_user())THENEXITPROGRAMENDIFWHENEVERERRORCALLcl_err_msg_logIF(NOTcl_setup("CZZ"))THENEXITPROGRAMENDIFCALLcl_used(g_prog,g_time,1)RETURNINGg_time--計算使用時間(進入時間)# 打開窗口LETp_row=5LETp_col=10--給變量賦值OPENWINDOWtest_wATp_row,p_colWITHFORM"czz/42f/p_test"ATTRIBUTE(STYLE=g_win_styleCLIPPED)CALLcl_ui_init()--初始化程序設定CALLtest_menu()--調用test_menu函數CLOSEWINDOWtest_wCALLcl_used(g_prog,g_time,2)RETURNINGg_time--計算使用時間(退出時間)ENDMAIN# Pattern name...:test_menu()# Descriptions...:画面的ToolBar的设置函数FUNCTIONtest_menu()# ToolBar的設置MENU""BEFOREMENUCALLcl_navigator_setting(g_curs_index,g_row_count)--重新設定TOOLBAR上的『上筆、跳筆、下筆』等五個按鍵是否可用/不可用。ONACTIONquery--查询按钮CALLsendXMLHTTPRequest()ONIDLEg_idle_secondsCALLcl_on_idle()CONTINUEMENUONACTIONlocale--语言按钮CALLcl_dynamic_locale()#切换CALLcl_show_fld_cont()#显示ONACTIONqbe_select--条件查询CALLcl_qbe_select()ONACTIONhelp--帮助/说明按钮CALLcl_show_help()ONACTIONabout--程式咨询按钮CALLcl_about()ONACTIONcontrolg--程式切换CALLcl_cmdask()ONACTIONexit--離開按鈕LETINT_FLAG=FALSEEXITMENUONACTIONclose--窗口右上角x按钮LETINT_FLAG=FALSEEXITMENUENDMENUENDFUNCTION# @mathodName:sendXMLHTTPRequest # @author:李德凯2665252078@qq.com # @date:Createdin2026-02-02# @description:发送XML请求FUNCTIONsendXMLHTTPRequest()LETurl="http://10.3.0.165:20600/papi/secondev/services/demoTipTopService.demoTipTopServiceHttpSoap11Endpoint"TRYLETrequest=com.HTTPRequest.Create(url)CALLrequest.setMethod("POST")CALLrequest.setHeader("Content-Type","text/xml;charset=UTF-8")CALLrequest.setHeader("SOAPAction","\"\"")CALLdataXML()RETURNINGrequestDataCALLrequest.doXmlRequest(requestData)CATCHLETwsstatus=STATUSCALLWSHelper_FillSOAP11WSError("Client","Cannot create HTTPRequest")RETURNwsstatusENDTRYCALLgetXMLHTTPResponse()ENDFUNCTION# @mathodName:dataXML # @author:李德凯2665252078@qq.com # @date:Createdin2026-02-02# @description:发送XML的内容FUNCTIONdataXML()DEFINEdoc xml.DomDocument,inputXMLSTRINGLETinputXML="<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://service.secondev.weaver.com\">"," <soapenv:Header/>"," <soapenv:Body>"," <ser:demo>"," <ser:param>111111111</ser:param>"," </ser:demo>"," </soapenv:Body>","</soapenv:Envelope>"LETdoc=XML.DomDocument.create()CALLdoc.loadFromString(inputXML)CALLdoc.save("/u1/out/r1.xml")RETURNdocENDFUNCTION# @mathodName:getXMLHTTPResponse # @author:李德凯2665252078@qq.com # @date:Createdin2026-02-02# @description:接收XML请求FUNCTIONgetXMLHTTPResponse()TRYLETresponse=request.getResponse()LETresptype=response.getStatusCode()LETreader=response.getXmlResponse()CALLreader.save("/u1/out/r2.xml")CATCHLETwsstatus=statusCALLWSHelper_FillSOAP11WSError("Server",SQLCA.SQLERRM)RETURNwsstatusENDTRYENDFUNCTIONOA自动流程审批的代码
- 文档:流程流转RPC接口
参考代码:02.01.03.泛微OA Ecology10 (开发环境搭建idea创建项目)
package com.weaver.secondev.service;importcom.alibaba.fastjson.JSON;importcom.weaver.common.base.entity.result.WeaResult;importcom.weaver.common.form.context.SpringContext;importcom.weaver.common.form.dto.data.FormDataDetailDto;importcom.weaver.common.form.dto.data.FormDataDto;importcom.weaver.framework.rpc.annotation.RpcReference;importcom.weaver.teams.domain.user.SimpleEmployee;importcom.weaver.teams.security.context.UserContext;importcom.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperateParamDataEntity;importcom.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperationResultDto;importcom.weaver.workflow.core.api.rest.publicapi.WfcRequestOperateRest;importorg.springframework.stereotype.Service;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjava.text.SimpleDateFormat;importjava.util.*;importstatic cn.hutool.core.date.DateUtil.formatDate;@Service("demoTipTopService")public class DemoService{@RpcReference private WfcRequestOperateRest wfcRequestOpenRest;public String demo(String param){Logger logger=LoggerFactory.getLogger(DemoService.class);try{//1. 构建流程基础参数 WfcRequestOperateParamDataEntity wfcOperateData=new WfcRequestOperateParamDataEntity();# 菜单位置:工作流程》流程》提交申请# 在Console终端》Network》getNewFlowListData 》 data 》listDatawfcOperateData.setWorkflowId(Long.parseLong("1261488807567278130"));// 流程模板ID //2. 构建表单字段数据 List<FormDataDetailDto>fieldList=new ArrayList<>();//3.表格填写内容# 菜单位置:后台管理中心》工作流程》工作流管理》工作流》选择流程 》表单管理》字段管理》主表// 代办人 FormDataDetailDto field=new FormDataDetailDto();field.setDataKey("dxwb_ms3r");field.setContent("BL066912");fieldList.add(field);// 代办人工号 FormDataDetailDto field1=new FormDataDetailDto();field1.setDataKey("dbrgh");field1.setContent("BL066912");fieldList.add(field1);//代办人办公地点 FormDataDetailDto field2=new FormDataDetailDto();field2.setDataKey("dbrbgdd");field2.setContent("BLPROD");fieldList.add(field2);//代办人部门 FormDataDetailDto field3=new FormDataDetailDto();field3.setDataKey("dbrbm");field3.setContent("FFD00");fieldList.add(field3);//标题 FormDataDetailDto field4=new FormDataDetailDto();field4.setDataKey("dxwb_3gjq");field4.setContent("测试123");fieldList.add(field4);//填写日期 FormDataDetailDto field5=new FormDataDetailDto();field5.setDataKey("dxwb_xwdb");Datedate=new Date();field5.setContent(formatDate(date));fieldList.add(field5);//流水号 FormDataDetailDto field6=new FormDataDetailDto();field6.setDataKey("dxwb_49az");field6.setContent("1261568612304273410");fieldList.add(field6);//3. 组装表单数据 FormDataDto formData=new FormDataDto();# 菜单位置:工作流程》流程》提交申请 》进入选择的流程# 在Console终端》Network》getFormLayout 》formformData.setFormId(Long.parseLong("1261488807567278081"));formData.setDataDetails(fieldList);SimpleEmployeeemployee=new SimpleEmployee();employee.setUsername("sysadmin");employee.setPassword("ebd53481-331c-48c5-9bcb-881d415ab652");# 在Console终端 输入:TEAMS.currentUser.id 获取employee.setUserId(Long.parseLong("1230410815027519488"));employee.setId(Long.parseLong("1230410815027519488"));//4. 调用接口创建流程 WeaResult<WfcRequestOperationResultDto>apiResult=wfcRequestOpenRest.createFlow(wfcOperateData,employee,formData);Map<String, Object>result=new HashMap<>();result.put("code", apiResult.getCode());result.put("msg", apiResult.getMsg());result.put("status",true);Map<String, Object>data=new HashMap<>();data.put("requestId", apiResult.getData().getRequestId());data.put("requestName", apiResult.getData().getRequestName());data.put("resultType", apiResult.getData().getResultType());data.put("resultMessage", apiResult.getData().getResultMessage());data.put("exceptionFlowLog", apiResult.getData().getExceptionFlowLog());result.put("data", JSON.toJSONString(data));returnJSON.toJSONString(result);}catch(Exception e){return""+e;}}// 简单的日期格式化方法 private String formatDateformatDate(Datedate){if(date==null)return"";SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");returnsdf.format(date);}}查看效果
- 菜单位置:工作流程》流程》我发起的