ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CRM调用接口在OA创建流程的过程中,如果将浏览按钮的字段传过来

2022-05-11 18:34:07  阅读:202  来源: 互联网

标签:String rs OA 按钮 weaver id CRM


1. 问题描述

销售在CRM里面填写销售合同审批流,审批通过后会执行回调事件,请求CRM中间服务,CRM中间服务请求CRM服务器获取该条销售合同数据,然后调用OA提供的接口在OA里面创建对应的流程。
OA合同审批流程有一个项目号(xmh)字段,是浏览按钮,关联的是项目信息表(Prj_ProjectInfo),文本值(显示值)是Prj_ProjectInfo的name,在数据库里面的值是Prj_ProjectInfo的id。
那么CRM中间服务需要把项目号的id传过来才行,那再写个接口给CRM中间服务,根据项目号查询id吗?答案是不需要

2. 问题解决

在OA合同审批表单加上项目号文本(xmhwb)字段,类型是单行文本,用于接收CRM传过来的项目号字段。由于CRM中间服务触发的OA流程默认流转到第二节点,所以在第二节点上加个节点前附加操作,根据项目号文本查询项目号id,然后更新当前合同表单的xmh字段为这个项目号id即可。



package weaver.interfaces.workflow.action.javacode;

import weaver.interfaces.workflow.action.Action;
import weaver.general.BaseBean;
import weaver.general.BaseBean;
import weaver.soa.workflow.request.RequestInfo;

import weaver.conn.RecordSet;

/**
 * 在线自定义action接口
 */
public class Action20220511031834 extends BaseBean implements Action{
	/**
	 * 流程路径节点后选择aciton后,会在节点提交后执行此方法。
	 */
	public String execute(RequestInfo request) {
			 	// 请求id
        String requestId = request.getRequestid();
        writeLog("请求id:" + requestId);

        // 主表名称
        String tablename = request.getRequestManager().getBillTableName();
        writeLog("主表名称:" + tablename);

        // 查询主表信息
        RecordSet rs = new RecordSet();
        rs.execute("select * from " + tablename + " where requestid =  " + requestId);
        rs.next();

        // 主表id
        String id = rs.getString("id");
        writeLog("主表id:" + id);
    
    		// 项目号文本
        String xmhwb = rs.getString("xmhwb");
        writeLog("项目号文本:" + xmhwb);
    
    		writeLog("从项目表查询信息");
    		rs.execute("select id from Prj_ProjectInfo where name = '" + xmhwb + "'");
        rs.next();
    
    		// 项目号id
    		String xmhid = rs.getString("id");
    		writeLog("项目号id:" + xmhid);
    
    		rs.execute("update " + tablename + " set xmh = " + xmhid + " where id = " + id);
		
				
		return Action.SUCCESS;   
	}
}

3. 测试



标签:String,rs,OA,按钮,weaver,id,CRM
来源: https://www.cnblogs.com/yddwinter/p/16259063.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有