You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
9.3 KiB
Plaintext

9 months ago
<%@ 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<String, Object> apimap = new HashMap<String, Object>();
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<String, String> 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<String> list = Arrays.asList(doingwfids1.split(","));
List<String> list1 = Arrays.asList(donewfids1.split(","));
HashSet<String> 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> 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<BrowserValueInfo> getBrowserFieldValue(String fieldType, String fieldValue, String fieldDbType) {
BrowserValueInfoService browserValueInfoService = new BrowserValueInfoService();
List <BrowserValueInfo> result = new ArrayList<>();
try {
result= browserValueInfoService.getBrowserValueInfo(fieldType, fieldDbType, 0, fieldValue, 7, "", "");
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
%>