%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%
JSONObject jsonObject = new JSONObject();
boolean flag = false;
String mainid = Util.null2String(request.getParameter("mainid"));
String workflowid = "43";
String url = "/spa/workflow/index_form.jsp#/main/workflow/req?iscreate=1&workflowid="+workflowid;
rs.executeQuery("select * from uf_xygrztz where id=?",mainid);
while(rs.next()) {
rs1.executeQuery(" select a.* from workflow_billfield a,workflow_bill b where b.tablename='uf_xygrztz' and a.billid=b.id and viewtype='0' ");
while (rs1.next()) {
String fieldname = Util.null2String(rs1.getString("fieldname"));
String fieldvalue = Util.null2String(rs.getString(fieldname));
if(fieldvalue != null && !"".equals(fieldvalue)){
String fieldid = getFieldId(fieldname);
url += "&" + fieldid + "=" + fieldvalue;
if ("sfzhm".equals(fieldname)) {
flag = checkHasWorkflow(fieldvalue);
}
}
}
}
jsonObject.put("flag",flag);
jsonObject.put("url",url);
out.print(JSONObject.toJSONString(jsonObject));
%>
<%!
public static String getFieldId(String fieldname){
RecordSet rs = new RecordSet();
String fieldid = "field";
String billid = "-89";
rs.executeQuery("select * from workflow_billfield where billid=? and viewtype=0 and fieldname=?",billid,fieldname);
if(rs.next()){
String id = Util.null2String(rs.getString("id"));
fieldid += id;
}
return fieldid;
}
public static boolean checkHasWorkflow(String sfzh){
boolean flag = false;
RecordSet rs = new RecordSet();
RecordSet rst = new RecordSet();
RecordSet rs1 = new RecordSet();
String billid = "-89";
rs.executeQuery("select * from workflow_bill where id=?",billid);
rs.next();
String tablename = Util.null2String(rs.getString("tablename"));
rs1.executeQuery("select * from "+ tablename +" where sfzhm=?",sfzh);
while(rs1.next()){
String requestid = Util.null2String(rs1.getString("requestid"));
rst.executeQuery("select currentnodetype from workflow_requestbase where requestid=?",requestid);
rst.next();
String currentnodetype = Util.null2String(rst.getString("currentnodetype"));
//非创建节点
if(!"0".equals(currentnodetype)){
flag = true;
break;
}else{
boolean bool = checkHasWorkflowLog(requestid);
if(bool){
flag = true;
break;
}
}
}
return flag;
}
public static boolean checkHasWorkflowLog(String requestid){
boolean flag = false;
RecordSet rs = new RecordSet();
rs.executeQuery("select * from workflow_requestlog where logtype='3' and requestid=?",requestid);
if(rs.next()){
flag = true;
}
return flag;
}
%>