package com.weavernorth.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.weaver.general.BaseBean;
import com.weavernorth.util.LogUtil;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.workflow.workflow.WorkflowVersion;
public class SignOrderUtil {
String StrIds="";
/**
* 获得用户当前节点
*
* @param requestid
* @param userid
* @param logintype
* @return
*/
public int getCurrentNodeid(int requestid, int userid) {
int nodeid = 0;
RecordSet rs = new RecordSet();
String sql = "select nodeid from workflow_currentoperator where isremark='0' and requestid=" + requestid + " and userid=" + userid + " order by id desc";
rs.executeSql(sql);
if (rs.next()) {
nodeid = Util.getIntValue(rs.getString(1), 0);
}
if(nodeid>0&&!isNodeExists(nodeid)){
nodeid=0;
}
if (nodeid < 1) {
sql = "select nodeid from workflow_currentoperator where requestid=" + requestid + " and userid=" + userid + " order by id desc";
rs.executeSql(sql);
if (rs.next()) {
nodeid = Util.getIntValue(rs.getString(1), 0);
}
if(nodeid>0&&!isNodeExists(nodeid)){
nodeid=0;
}
}
if (nodeid < 1) {
sql = "select currentnodeid from workflow_requestbase where requestid=" + requestid;
rs.executeSql(sql);
if (rs.next()) {
nodeid = Util.getIntValue(rs.getString(1), 0);
}
if(nodeid>0&&!isNodeExists(nodeid)){
nodeid=0;
}
}
return nodeid;
}
/**
* 获得节点是否存在
*
* @param nodeid
* @return
*/
private boolean isNodeExists(int nodeid){
boolean isNodeExists=false;
RecordSet rs = new RecordSet();
rs.executeSql("select 1 from workflow_nodebase where id="+nodeid);
if(rs.next()){
isNodeExists=true;
}
return isNodeExists;
}
/**
* 根据requestid获取表单名称
*
* @param nodeid
* @return
*/
public String getWFTableName(String requestID){
String tableName="";
String tablesql = "select tableName from workflow_bill where id = (select formid from workflow_base where id =(select workflowid from workflow_requestbase where requestid = " +
requestID + "))";
RecordSet tablerecordset = new RecordSet();
tablerecordset.executeSql(tablesql);
if(tablerecordset.next()){
tableName=tablerecordset.getString("tableName");
}else{
LogUtil.doWriteLog("SignOrderUtil.getWFTableName-SQL:"+tablesql+" 查询不到数据");
}
return tableName;
}
/**
*
* @Title: getFormFieldMap
* @Description: TODO(根据表单id和明细表序号[从1开始计算明细表]获取字段列表)
* @param @param formid
* @param @param num
* @param @return 设定文件
* @return Map<String,String> 返回类型
* @throws
*/
public Map<String, String> getFormFieldMap(int formid, String num) {
Map<String, String> array = new HashMap<String, String>();
Re