<%@ page import="com.alibaba.fastjson.JSONObject" %> <%@ page import="com.wbi.util.ParamUtil" %> <%@ page import="weaver.conn.RecordSet" %> <%@ page import="weaver.workflow.workflow.WorkflowComInfo" %> <%@ page import="weaver.workflow.workflow.WorkflowBillComInfo" %> <%@ page import="com.api.formmode.page.util.Util" %> <%@ page import="weaver.workflow.workflow.WorkflowVersion" %> <%@ page import="java.util.*" %> <%@ page import="com.icbc.api.internal.apache.http.E" %> <%@ page import="weaver.hrm.HrmUserVarify" %> <%@ page import="weaver.hrm.User" %> <%@ page import="weaver.page.interfaces.elementtemplate.util.WorkflowCount" %> <%@ page import="weaver.workflow.request.WFUrgerManager" %> <%@ page import="weaver.systeminfo.setting.HrmUserSettingComInfo" %> <%@ page import="weaver.workflow.request.todo.RequestUtil" %> <%@ page import="weaver.workflow.request.WFWorkflowTypes" %> <%@ page import="weaver.workflow.request.WFWorkflows" %> <%@ page import="weaver.general.BaseBean" %> <%@ page import="weaver.synergy.SynergyOperatWorkflow" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="com.engine.tjyh.xc.util.HttpRequestUtil" %> <%@ page import="com.alibaba.fastjson.JSON" %> <%@ page import="com.engine.tjyh.xc.util.WorkflowCreateHandler" %> <%@ page import="com.api.browser.bean.BrowserValueInfo" %> <%@ page import="com.api.browser.service.BrowserValueInfoService" %> <%@page contentType="text/html; charset=UTF-8" %> <% HttpRequestUtil httpRequestUtil = HttpRequestUtil.getInstance(); RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); Map apimap = new HashMap(); String appKey = bb.getPropValue("tjyhxcjc","appKey"); String appSecurity = bb.getPropValue("tjyhxcjc","appSecurity"); String url = bb.getPropValue("tjyhxcjc","url"); String orderurl = bb.getPropValue("tjyhxcjc","orderurl"); String workflowId = bb.getPropValue("tjyhxcjc","workflowId"); WorkflowCreateHandler handler = new WorkflowCreateHandler(); String tablename = handler.findWorkflowForm(workflowId); HashMap map = new HashMap<>(); map.put("ccr","758"); map.put("cbzx","23"); String IsNextFlow = "0"; String title = handler.bulidWorkflowTitle(workflowId,"758"); String requestId = handler.WorkflowCreateByRequestMap("758",workflowId,title,IsNextFlow,map); updateLeftTreeInfo(requestId,workflowId); out.print(requestId); %> <%! //保存自定义左侧树信息到requestbase表 private static void updateLeftTreeInfo(String requestid, String workflowid){ BaseBean baseBean = new BaseBean(); RecordSet rs = new RecordSet(); RecordSet rs1 = new RecordSet(); WorkflowBillComInfo wbInfo = new WorkflowBillComInfo(); WorkflowComInfo wcInfo = new WorkflowComInfo(); int formid = weaver.general.Util.getIntValue(wcInfo.getFormId(workflowid+"")); String tablename = wbInfo.getTablename(formid + ""); String workflowname = wcInfo.getWorkflowname(workflowid + ""); rs.executeQuery("select id,sfzxsw,secondfieldname,thirdfieldname,showname,doingwfids,donewfids,sencondIsGroupbyFieldname from uf_treelistsetting "); baseBean.writeLog("---LHSP2021----requestid==="+requestid+"----selectSql===="+"select id,sfzxsw,secondfieldname,thirdfieldname,showname from uf_treelistsetting where (','||doingwfids||',' like '%,"+workflowid+",%') or (','||donewfids||',' like '%,"+workflowid+",%')"); while (rs.next()){ String id = rs.getString(1); int sfzxsw = rs.getInt(2); String secondfieldname = rs.getString(3); String thirdfieldname = rs.getString(4); String showname = rs.getString(5); String doingwfids1 = weaver.general.Util.null2String(rs.getString(6)); String donewfids1 = weaver.general.Util.null2String(rs.getString(7)); List list = Arrays.asList(doingwfids1.split(",")); List list1 = Arrays.asList(donewfids1.split(",")); HashSet set = new HashSet<>(); set.addAll(WorkflowVersion.getVersionStringByWfid4List(list)); set.addAll(WorkflowVersion.getVersionStringByWfid4List(list1)); if (set.contains(workflowid+"")) { if (sfzxsw == 1) { String secondShowName = ""; String secondValue = ""; String secondFieldId = ""; String thirdValue = ""; String thirdFieldType = ""; String thirdFieldDBType = ""; String thirdShowName = ""; rs1.executeQuery("select id from workflow_billfield where fieldname = ? and billid = ?", secondfieldname, formid); if (rs1.next()) { secondFieldId = rs1.getString(1); } baseBean.writeLog("---LHSP2021----requestid===" + requestid + "----secondFieldId====" + secondFieldId); rs1.executeQuery("select type,fielddbtype from workflow_billfield where fieldname = ? and billid = ?", thirdfieldname, formid); if (rs1.next()) { thirdFieldType = rs1.getString(1); thirdFieldDBType = rs1.getString(2); } baseBean.writeLog("---LHSP2021----requestid===" + requestid + "----thirdFieldType====" + thirdFieldType + "----thirdFieldDBType====" + thirdFieldDBType); rs1.executeQuery("select " + secondfieldname + "," + thirdfieldname + " from " + tablename + " where requestid = ?", requestid); baseBean.writeLog("---LHSP2021----requestid===" + requestid + "----selectData====" + "select " + secondfieldname + "," + thirdfieldname + " from " + tablename + " where requestid = " + requestid); if (rs1.next()) { secondValue = rs1.getString(1); thirdValue = rs1.getString(2); secondShowName = getSelectFieldValue(secondFieldId, secondValue); List browserValueInfo = getBrowserFieldValue(thirdFieldType, thirdValue, thirdFieldDBType); for (BrowserValueInfo info : browserValueInfo) { String name = info.getName(); thirdShowName += name + ","; } if (thirdShowName.endsWith(",")) { thirdShowName = thirdShowName.substring(0, thirdShowName.length() - 1); } } baseBean.writeLog("---LHSP2021----requestid===" + requestid + "----updateSql====" + "update workflow_requestbase set firstfloor = " + id + ",firstfloorname = " + showname + ",secondfloor = " + secondValue + ",secondfloorname = " + secondShowName + ",thirdfloor = " + thirdValue + ",thirdfloorname = " + thirdShowName + " where requestid = " + requestid); rs1.executeUpdate("update workflow_requestbase set firstfloor = ?,firstfloorname = ?,secondfloor = ?,secondfloorname = ?,thirdfloor = ?,thirdfloorname = ? where requestid = ?", id, showname, secondValue, secondShowName, thirdValue, thirdShowName, requestid); } else { //qc2126083 除了总行收文分类外,其余所有分类,都要支持二级目录按字段分类,且通过建模字段控制是否分类 String sencondIsGroupbyFieldname = weaver.general.Util.null2String(rs.getString(8)); rs1.writeLog(">>>>>> wangsong requestid="+requestid+" 判断二级目录区分是否按照指定字段分类展示 sencondIsGroupbyFieldname="+sencondIsGroupbyFieldname); if("0".equals(sencondIsGroupbyFieldname)){//需要按照字段分类展示 String secondShowName = ""; String secondValue = ""; String secondFieldId = ""; rs1.executeQuery("select id from workflow_billfield where fieldname = ? and billid = ?", secondfieldname, formid); if (rs1.next()) { secondFieldId = rs1.getString(1); } rs1.executeQuery("select * from " + tablename + " where requestid = ?", requestid); if (rs1.next()) { secondValue = rs1.getString(secondfieldname); secondShowName = getSelectFieldValue(secondFieldId, secondValue); } rs1.writeLog(">>>>>> wangsong 更新二级目录的字段数据到workflow_requestbase表 secondFieldId="+secondFieldId+",secondValue="+secondValue+",secondShowName="+secondShowName); rs1.executeUpdate("update workflow_requestbase set firstfloor = ?,firstfloorname = ?,secondfloor = ?,secondfloorname = ? where requestid = ?", id, showname, secondValue, secondShowName, requestid); }else{ baseBean.writeLog("---LHSP2021----requestid===" + requestid + "----updateSql====" + "update workflow_requestbase set firstfloor = " + id + ",firstfloorname = " + showname + ",secondfloor = " + workflowid + ",secondfloorname = " + workflowname + " where requestid = " + requestid); rs1.executeUpdate("update workflow_requestbase set firstfloor = ?,firstfloorname = ?,secondfloor = ?,secondfloorname = ? where requestid = ?", id, showname, workflowid + "", workflowname, requestid); } } } } } /** * 获取选择框选中值 * */ public static String getSelectFieldValue(String fieldId, String selectValue) { String selectValueName = ""; RecordSet rs = new RecordSet(); String sql = "select selectvalue,selectname from workflow_selectitem where selectvalue = ? and fieldid=? and (cancel<>'1' or cancel is null) order by listorder,selectvalue"; rs.executeQuery(sql,selectValue, fieldId); if (rs.next()) { selectValueName = weaver.general.Util.null2String(rs.getString("selectname")); } return selectValueName; } /** * 获取浏览按钮的值 * */ public static List getBrowserFieldValue(String fieldType, String fieldValue, String fieldDbType) { BrowserValueInfoService browserValueInfoService = new BrowserValueInfoService(); List result = new ArrayList<>(); try { result= browserValueInfoService.getBrowserValueInfo(fieldType, fieldDbType, 0, fieldValue, 7, "", ""); } catch (Exception e) { e.printStackTrace(); } return result; } %>