需求:申请人提交流程后,检查明细表填写的发票号是否已存在,如已存在,则更新相应表单字段
1、源代码EInvoiceCheck.java
package weaver.interfaces.workflow.action;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
public class EInvoiceCheck extends BaseBean implements Action {
public String execute(RequestInfo request) {
try {
String requestid = Util.null2String(request.getRequestid());//流程请求ID
String mid="";
String Invoice = "";
RecordSet rs = new RecordSet();
RecordSet brs = new RecordSet();
RecordSet urs = new RecordSet();
String sql = "select d.id,d.Invoice from formtable_main_115 m join formtable_main_115_dt2 d on m.id=d.mainid and m.requestid=" + requestid;
rs.execute(sql);
while (rs.next()) {
mid = Util.null2String(rs.getString("id"));
Invoice = Util.null2String(rs.getString("Invoice")).trim();
brs.execute("select * from uf_InvoiceInfo where InvoiceNo='"+Invoice+"'");
if (brs.next()) {
String usql = "update formtable_main_115_dt2 set ispay=0 where id='"+mid+"'";
urs.execute(usql);//写具体业务逻辑
writeLog("流程附加操作:" + usql);//写入日志
}
}
} catch (Exception e) {
// TODO: handle exception
request.getRequestManager().setMessagecontent(e.getMessage());
writeLog("节点附加操作异常,请联系系统管理员");
return "0";
}
return SUCCESS;
}
}
2、将代码放在/weaver/ecology/classbean/weaver/interfaces/workflow/action路径下
3、打开E9后端应用中心,【流程引擎】-【路径管理】-【路径设置】-具体流程-【流转设置】-【节点信息】-【节点前/节点后附加操作】-【外部接口】-【自定义接口动作】-点击+号新建-保存
接口动作名称、接口动作标识:自己命名,不可重复
接口动作类文件 :weaver.interfaces.workflow.action.EInvoiceCheck,代码存放的路径