no message
commit
836f2b40af
@ -0,0 +1,85 @@
|
|||||||
|
package com;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.PrintStream;
|
||||||
|
import java.net.Socket;
|
||||||
|
|
||||||
|
public class Client {
|
||||||
|
public static final int port = 8090;
|
||||||
|
public static final String host = "14.1.209.146";
|
||||||
|
// public static final String host = "127.0.0.1";
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Client Start...");
|
||||||
|
// while (true) {
|
||||||
|
Socket socket = null;
|
||||||
|
try {
|
||||||
|
//创建一个流套接字并将其连接到指定主机上的指定端口号
|
||||||
|
socket = new Socket(host,port);
|
||||||
|
|
||||||
|
//读取服务器端数据
|
||||||
|
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
|
||||||
|
//向服务器端发送数据
|
||||||
|
PrintStream out = new PrintStream(socket.getOutputStream());
|
||||||
|
// System.out.print("请输入: \t");
|
||||||
|
// String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
|
||||||
|
String str = "00000656<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||||
|
"<Service>\n" +
|
||||||
|
" <Service_Header>\n" +
|
||||||
|
" <service_sn>1010157010000001812</service_sn>\n" +
|
||||||
|
" <system_id>0258</system_id>\n" +
|
||||||
|
" <requester_id>0157</requester_id>\n" +
|
||||||
|
" <branch_id>010231100</branch_id>\n" +
|
||||||
|
" <channel_id>01</channel_id>\n" +
|
||||||
|
" <service_time>20230621170408</service_time>\n" +
|
||||||
|
" <need_request>true</need_request>\n" +
|
||||||
|
" <SvcCd>500130004</SvcCd>\n" +
|
||||||
|
" <SvcScn>13</SvcScn>\n" +
|
||||||
|
" <BnkSrlNo>015720230621010000001812</BnkSrlNo>\n" +
|
||||||
|
" <FileFlg>0</FileFlg>\n" +
|
||||||
|
" <FilePath/>\n" +
|
||||||
|
" </Service_Header>\n" +
|
||||||
|
" <Service_Body>\n" +
|
||||||
|
" <request>\n" +
|
||||||
|
" <method>getCount</method>\n" +
|
||||||
|
" <path>todo</path>"+
|
||||||
|
" <args>\n" +
|
||||||
|
" <entry>\n" +
|
||||||
|
" <key>userNum</key>\n" +
|
||||||
|
" <value>10110039</value>\n" +
|
||||||
|
" </entry>\n" +
|
||||||
|
" </args>\n" +
|
||||||
|
" </request>\n" +
|
||||||
|
" </Service_Body>\n" +
|
||||||
|
"</Service>";
|
||||||
|
System.out.println(str.substring(8,str.length()-1));
|
||||||
|
System.out.println(str.length());
|
||||||
|
out.println(str);
|
||||||
|
|
||||||
|
String ret = input.readLine();
|
||||||
|
System.out.println("服务器端返回过来的是: " + ret);
|
||||||
|
// 如接收到 "OK" 则断开连接
|
||||||
|
if ("OK".equals(ret)) {
|
||||||
|
System.out.println("客户端将关闭连接");
|
||||||
|
Thread.sleep(500);
|
||||||
|
// break;
|
||||||
|
}
|
||||||
|
|
||||||
|
out.close();
|
||||||
|
input.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("客户端异常:" + e.getMessage());
|
||||||
|
} finally {
|
||||||
|
if (socket != null) {
|
||||||
|
try {
|
||||||
|
socket.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
socket = null;
|
||||||
|
System.out.println("客户端 finally 异常:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package com.api.tjbk;
|
||||||
|
|
||||||
|
|
||||||
|
import com.engine.web.ModeForm.ModeFormWeb;
|
||||||
|
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
|
||||||
|
@Path("/tjbkMF")
|
||||||
|
public class TJBKModeFormWeb extends ModeFormWeb {
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
package com.api.tjbk;
|
||||||
|
|
||||||
|
import com.engine.web.tjbk.TJBKWorkFlow;
|
||||||
|
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
|
||||||
|
|
||||||
|
@Path("/tjbk")
|
||||||
|
public class TJBKWorkFlowWeb extends TJBKWorkFlow {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,324 @@
|
|||||||
|
package com.customization.cmd;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.cloudstore.dev.api.bean.MessageBean;
|
||||||
|
import com.engine.core.cfg.annotation.CommandDynamicProxy;
|
||||||
|
import com.engine.core.interceptor.AbstractCommandProxy;
|
||||||
|
import com.engine.core.interceptor.Command;
|
||||||
|
import com.engine.workflow.cmd.requestForm.MsgPush_GetMsgBeansCmd;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.StringUtil;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@CommandDynamicProxy(target = MsgPush_GetMsgBeansCmd.class, desc = "流程数据推送消息cmd")
|
||||||
|
public class MsgPush_GetMsgBeansCmdProxyTitle extends AbstractCommandProxy<List<MessageBean>> {
|
||||||
|
//匹配${text}的占位符
|
||||||
|
private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile("\\$\\{([^}]+)\\}");
|
||||||
|
private static final String getTitleAndFormsql = "select id,WFFORMNAME,TITLE from uf_gwtsth where WFID in( select id from workflow_base where activeversionid =( select activeversionid from workflow_base where id = ?))";
|
||||||
|
private static final String getdtFieldtype = "select FIELDNAME,TYPE from uf_gwtsth_dt1 where MAINID = ?";
|
||||||
|
BaseBean bean = new BaseBean();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MessageBean> execute(Command<List<MessageBean>> command) {
|
||||||
|
BaseBean bb = new BaseBean();
|
||||||
|
MsgPush_GetMsgBeansCmd cmd = (MsgPush_GetMsgBeansCmd) command;
|
||||||
|
|
||||||
|
//获取MessageBeans
|
||||||
|
List<MessageBean> list = cmd.getMessageBeans();
|
||||||
|
if (!isOpen()) {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
//业务对象 流程id
|
||||||
|
String targetId = "";
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
List<MessageBean> messageBeans = new ArrayList<>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
String requestname = "";
|
||||||
|
String requestlevel = "";
|
||||||
|
Integer wfid = 0;
|
||||||
|
MessageBean messageBean = list.get(i);
|
||||||
|
targetId = messageBean.getTargetId();
|
||||||
|
if (targetId.indexOf("|") > 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (targetId.indexOf("_") > 0) {
|
||||||
|
// targetId = targetId.split("_")[0];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
rs.execute("select requestlevel , workflowid ,requestname from workflow_requestbase where requestid = " + targetId);
|
||||||
|
if (rs.next()) {
|
||||||
|
requestname = rs.getString("requestname");
|
||||||
|
wfid = Util.getIntValue(rs.getString("workflowid"));
|
||||||
|
requestlevel = rs.getString("requestlevel");
|
||||||
|
}
|
||||||
|
|
||||||
|
bean.writeLog("流程wfid==="+wfid);
|
||||||
|
if (!isUpdateTitle(wfid)) {
|
||||||
|
//流程类型 3 是特急 2 是重要
|
||||||
|
if("3".equals(requestlevel)||"2".equals(requestlevel)){
|
||||||
|
messageBeans.add(messageBean);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
rs.executeQuery(getTitleAndFormsql, wfid);
|
||||||
|
String formTable = "";
|
||||||
|
String title = "";
|
||||||
|
String mainid = "";
|
||||||
|
if (rs.next()) {
|
||||||
|
formTable = Util.null2String(rs.getString("WFFORMNAME"));
|
||||||
|
title = Util.null2String(rs.getString("TITLE"));
|
||||||
|
mainid = Util.null2String(rs.getString("id"));
|
||||||
|
}
|
||||||
|
Map<String, String> updateField = getUpdateField(mainid);
|
||||||
|
String newTitle = "";
|
||||||
|
if (updateField.size() > 0) {
|
||||||
|
Map<String, String> fieldValue = getFieldValue(formTable, targetId, updateField);
|
||||||
|
newTitle = replacePlaceholders(title, fieldValue);
|
||||||
|
} else {
|
||||||
|
newTitle = title;
|
||||||
|
}
|
||||||
|
messageBean.setTitle(newTitle);
|
||||||
|
messageBean.setBizTitle(null);
|
||||||
|
messageBean.setBizType(null);
|
||||||
|
//流程类型 3 是特急 2 是重要
|
||||||
|
if("3".equals(requestlevel)||"2".equals(requestlevel)){
|
||||||
|
messageBeans.add(messageBean);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
bb.writeLog("异常信息" + e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
bb.writeLog("新组建的messageBeans" + list);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取字段类型
|
||||||
|
private Map<String, String> getUpdateField(String id) {
|
||||||
|
HashMap<String, String> idTypeMap = new HashMap<>();
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
recordSet.executeQuery(getdtFieldtype, id);
|
||||||
|
while (recordSet.next()) {
|
||||||
|
String field = Util.null2String(recordSet.getString("FIELDNAME"));
|
||||||
|
String type = Util.null2String(recordSet.getString("TYPE"));
|
||||||
|
idTypeMap.put(field, type);
|
||||||
|
}
|
||||||
|
return idTypeMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据建模表查询是否需要更新标题
|
||||||
|
private boolean isUpdateTitle(int wfid) {
|
||||||
|
|
||||||
|
String sql = "select count(1) cnt from uf_gwtsth where wfid in( select id from workflow_base where activeversionid =( select activeversionid from workflow_base where id = ?))";
|
||||||
|
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
rs.executeQuery(sql, wfid);
|
||||||
|
int cnt = 0;
|
||||||
|
if (rs.next()) {
|
||||||
|
cnt = Util.getIntValue(rs.getString("cnt"), 0);
|
||||||
|
}
|
||||||
|
bean.writeLog("是否推送==="+cnt);
|
||||||
|
return cnt > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//配置文件是否开启
|
||||||
|
private boolean isOpen() {
|
||||||
|
String isopen = new BaseBean().getPropValue("updateMsgTitle", "isopen");
|
||||||
|
return "1".equals(isopen);
|
||||||
|
// return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//替换占位符
|
||||||
|
public static String replacePlaceholders(String inputText, Map<String, String> placeholderValues) {
|
||||||
|
Matcher matcher = PLACEHOLDER_PATTERN.matcher(inputText);
|
||||||
|
StringBuffer result = new StringBuffer();
|
||||||
|
|
||||||
|
while (matcher.find()) {
|
||||||
|
String placeholder = matcher.group(1);
|
||||||
|
String replacement = placeholderValues.get(placeholder);
|
||||||
|
if (replacement != null) {
|
||||||
|
matcher.appendReplacement(result, replacement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
matcher.appendTail(result);
|
||||||
|
|
||||||
|
return result.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 获取字段对应的值
|
||||||
|
private Map<String, String> getFieldValue(String formName, String requestid, Map<String, String> fieldTypeMap) {
|
||||||
|
HashMap<String, String> FieldValue = new HashMap<>();
|
||||||
|
if (fieldTypeMap.size() == 0) {
|
||||||
|
return FieldValue;
|
||||||
|
}
|
||||||
|
String sql = "select " + String.join(", ", fieldTypeMap.keySet()) + " from " + formName + " where REQUESTID = ?";
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
recordSet.executeQuery(sql, requestid);
|
||||||
|
recordSet.next();
|
||||||
|
fieldTypeMap.forEach((key, value) -> {
|
||||||
|
//库里存的值
|
||||||
|
String fieldValue = Util.null2String(recordSet.getString(key));
|
||||||
|
//数据值 (防止在循环里创建recordSet对象,使用同一个recordSet对象)
|
||||||
|
String FieldrealValue = getFieldRealValue(fieldValue, value, rs, formName, key);
|
||||||
|
FieldValue.put(key, FieldrealValue);
|
||||||
|
});
|
||||||
|
return FieldValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getFieldRealValue(String fieldValue, String type, RecordSet rs, String formName, String fieldname) {
|
||||||
|
//为空或者类型等于0(文本)直接返回字段值
|
||||||
|
if (StringUtil.isEmpty(fieldValue) || StringUtil.isEmpty(type) || "0".equals(type)) {
|
||||||
|
return fieldValue;
|
||||||
|
}
|
||||||
|
String sql = "";
|
||||||
|
Boolean isMultiple = fieldValue.contains(",");
|
||||||
|
if ("1".equals(type)) { //人力资源
|
||||||
|
sql = "select lastName from HRMRESOURCE where id ";
|
||||||
|
if (!isMultiple) {
|
||||||
|
sql = sql + "= ?";
|
||||||
|
rs.executeQuery(sql, fieldValue);
|
||||||
|
if (rs.next()) {
|
||||||
|
return Util.null2String(rs.getString("lastName"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sql = sql + "in ( " + fieldValue + " )";
|
||||||
|
ArrayList<String> fieldValues = new ArrayList<>();
|
||||||
|
rs.executeQuery(sql);
|
||||||
|
while (rs.next()) {
|
||||||
|
fieldValues.add(Util.null2String(rs.getString("lastName")));
|
||||||
|
}
|
||||||
|
return String.join(",", fieldValues);
|
||||||
|
}
|
||||||
|
} else if ("2".equals(type)) { //部门
|
||||||
|
sql = "select DEPARTMENTNAME from HRMDEPARTMENT where id";
|
||||||
|
if (!isMultiple) {
|
||||||
|
sql = sql + "= ?";
|
||||||
|
rs.executeQuery(sql, fieldValue);
|
||||||
|
if (rs.next()) {
|
||||||
|
return Util.null2String(rs.getString("DEPARTMENTNAME"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sql = sql + "in ( " + fieldValue + " )";
|
||||||
|
ArrayList<String> fieldValues = new ArrayList<>();
|
||||||
|
rs.executeQuery(sql);
|
||||||
|
while (rs.next()) {
|
||||||
|
fieldValues.add(Util.null2String(rs.getString("DEPARTMENTNAME")));
|
||||||
|
}
|
||||||
|
return String.join(",", fieldValues);
|
||||||
|
}
|
||||||
|
} else if ("3".equals(type)) { //分部
|
||||||
|
sql = "select SUBCOMPANYNAME from HRMSUBCOMPANY where id";
|
||||||
|
if (!isMultiple) {
|
||||||
|
sql = sql + "= ?";
|
||||||
|
rs.executeQuery(sql, fieldValue);
|
||||||
|
if (rs.next()) {
|
||||||
|
return Util.null2String(rs.getString("SUBCOMPANYNAME"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sql = sql + "in ( " + fieldValue + " )";
|
||||||
|
ArrayList<String> fieldValues = new ArrayList<>();
|
||||||
|
rs.executeQuery(sql);
|
||||||
|
while (rs.next()) {
|
||||||
|
fieldValues.add(Util.null2String(rs.getString("SUBCOMPANYNAME")));
|
||||||
|
}
|
||||||
|
return String.join(",", fieldValues);
|
||||||
|
}
|
||||||
|
} else if ("4".equals(type)) { //选择框
|
||||||
|
String fid = "";
|
||||||
|
sql = "select field.id fid from workflow_bill bill " +
|
||||||
|
"left join workflow_billfield field on bill.ID = field.BILLID " +
|
||||||
|
"where TABLENAME = ? and FIELDNAME = ? ";
|
||||||
|
rs.executeQuery(sql, formName, fieldname);
|
||||||
|
bean.writeLog("选择框sql" + sql + formName + fieldname);
|
||||||
|
if (rs.next()) {
|
||||||
|
fid = Util.null2String(rs.getString("fid"));
|
||||||
|
}
|
||||||
|
bean.writeLog("fid===" + fid);
|
||||||
|
sql = " select * from workflow_SelectItem where FIELDID = ? and SELECTVALUE ";
|
||||||
|
if (!isMultiple) {
|
||||||
|
sql = sql + "= ?";
|
||||||
|
rs.executeQuery(sql, fid, fieldValue);
|
||||||
|
bean.writeLog("选项sql===" + sql + fid + fieldValue);
|
||||||
|
if (rs.next()) {
|
||||||
|
return Util.null2String(rs.getString("SELECTNAME"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sql = sql + "in ( " + fieldValue + " )";
|
||||||
|
ArrayList<String> fieldValues = new ArrayList<>();
|
||||||
|
rs.executeQuery(sql, fid);
|
||||||
|
while (rs.next()) {
|
||||||
|
fieldValues.add(Util.null2String(rs.getString("SELECTNAME")));
|
||||||
|
}
|
||||||
|
return String.join(",", fieldValues);
|
||||||
|
}
|
||||||
|
} else if ("5".equals(type)) { //自定义
|
||||||
|
String fid = "";
|
||||||
|
String ftype = "";
|
||||||
|
sql = "select field.id fid , FIELDDBTYPE ftype from workflow_bill bill " +
|
||||||
|
"left join workflow_billfield field on bill.ID = field.BILLID " +
|
||||||
|
"where TABLENAME = ? and FIELDNAME = ? ";
|
||||||
|
rs.executeQuery(sql, formName, fieldname);
|
||||||
|
bean.writeLog("选择框sql" + sql + formName + fieldname);
|
||||||
|
if (rs.next()) {
|
||||||
|
fid = Util.null2String(rs.getString("fid"));
|
||||||
|
ftype = Util.null2String(rs.getString("ftype"));
|
||||||
|
}
|
||||||
|
String[] browArr = ftype.split("\\.");
|
||||||
|
if (browArr.length != 2){
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
String brower = browArr[1];
|
||||||
|
sql = "select a.SHOWNAME ,a.SQLTEXT ,c.FIELDNAME from mode_browser a " +
|
||||||
|
" left join mode_custombrowserdspfield b on a.CUSTOMID = b.CUSTOMID " +
|
||||||
|
" left join workflow_billfield c on b.FIELDID = c.ID " +
|
||||||
|
" where b.ISTITLE > 0 and SHOWNAME = ? ";
|
||||||
|
rs.executeQuery(sql, brower);
|
||||||
|
bean.writeLog("选择框sql" + sql + "======"+brower);
|
||||||
|
String showName = "";
|
||||||
|
String sqltext = "";
|
||||||
|
String linkName = "";
|
||||||
|
if (rs.next()) {
|
||||||
|
showName = Util.null2String(rs.getString("SHOWNAME"));
|
||||||
|
sqltext = Util.null2String(rs.getString("SQLTEXT"));
|
||||||
|
linkName = Util.null2String(rs.getString("FIELDNAME"));
|
||||||
|
}
|
||||||
|
if (!isMultiple) {
|
||||||
|
sqltext = sqltext + " where id = ?";
|
||||||
|
rs.executeQuery(sqltext, fieldValue);
|
||||||
|
bean.writeLog("选项sql===" + sqltext + fid + fieldValue);
|
||||||
|
if (rs.next()) {
|
||||||
|
return Util.null2String(rs.getString(linkName));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sqltext = sqltext + " where id in ( " + fieldValue + " )";
|
||||||
|
ArrayList<String> fieldValues = new ArrayList<>();
|
||||||
|
rs.executeQuery(sql);
|
||||||
|
while (rs.next()) {
|
||||||
|
fieldValues.add(Util.null2String(rs.getString(linkName)));
|
||||||
|
}
|
||||||
|
return String.join(",", fieldValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,101 @@
|
|||||||
|
package com.customization.hrm.dept.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.wbi.util.ParamUtil;
|
||||||
|
import com.wbi.util.StringUtil;
|
||||||
|
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocReplaceComponent;
|
||||||
|
import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceAfter;
|
||||||
|
import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaAfterReplaceParam;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import weaver.hrm.HrmUserVarify;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
@WeaIocReplaceComponent
|
||||||
|
public class Proxy {
|
||||||
|
@WeaReplaceAfter(
|
||||||
|
value = "/api/hrm/base/getHrmSearchTree",
|
||||||
|
order = 1,
|
||||||
|
description = "qwer"
|
||||||
|
)
|
||||||
|
public String after(WeaAfterReplaceParam weaAfterReplaceParam) {
|
||||||
|
HttpServletRequest request = weaAfterReplaceParam.getRequest();
|
||||||
|
HttpServletResponse response = weaAfterReplaceParam.getResponse();
|
||||||
|
String data = weaAfterReplaceParam.getData();
|
||||||
|
Map paramMap = ParamUtil.request2Map(request);
|
||||||
|
String type = Util.null2String(paramMap.get("type"));
|
||||||
|
String id = Util.null2String(paramMap.get("id"));
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
int userID = user.getUID();
|
||||||
|
new BaseBean().writeLog("type===" + type);
|
||||||
|
if (!StringUtil.isBlank(type)){
|
||||||
|
Map<String, Object> result = extracted(paramMap, JSON.parseObject(data, Map.class),userID);
|
||||||
|
return JSON.toJSONString(result);
|
||||||
|
}else {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private Map<String, Object> extracted(Map<String, Object> params, Map<String, Object> result, int userID) {
|
||||||
|
try {
|
||||||
|
// Map<String, Object> resultNew = result;
|
||||||
|
String type = Util.null2String(params.get("type"));
|
||||||
|
String id = Util.null2String(params.get("id"));
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
ArrayList<String> idlist = new ArrayList<>();
|
||||||
|
Map<String,String> bmIdHrmMap = new HashMap<>();
|
||||||
|
|
||||||
|
if ("1".equals(type)) {
|
||||||
|
recordSet.executeQuery("select BM,KJRY,FB from uf_txlbxsbm where fb = ?",id);
|
||||||
|
while (recordSet.next()){
|
||||||
|
String bm = Util.null2String(recordSet.getString("BM"));
|
||||||
|
String kjry = Util.null2String(recordSet.getString("KJRY"));
|
||||||
|
// String fb = Util.null2String(recordSet.getString("FB"));
|
||||||
|
idlist.add(bm);
|
||||||
|
bmIdHrmMap.put(bm,kjry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("2".equals(type)) {
|
||||||
|
recordSet.executeQuery("select BM,KJRY,FB from uf_txlbxsbm where SJBM = ?",id);
|
||||||
|
while (recordSet.next()){
|
||||||
|
String bm = Util.null2String(recordSet.getString("BM"));
|
||||||
|
String kjry = Util.null2String(recordSet.getString("KJRY"));
|
||||||
|
// String fb = Util.null2String(recordSet.getString("FB"));
|
||||||
|
idlist.add(bm);
|
||||||
|
bmIdHrmMap.put(bm,kjry);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
List<Map<String,Object>> departmentList = (List<Map<String, Object>>)(result.get("datas"));
|
||||||
|
List<Map<String,Object>> departmentListNew = new ArrayList<>();
|
||||||
|
new BaseBean().writeLog(departmentList.toString());
|
||||||
|
new BaseBean().writeLog(idlist.toString());
|
||||||
|
new BaseBean().writeLog(bmIdHrmMap.toString());
|
||||||
|
for (Map<String, Object> department : departmentList){
|
||||||
|
String deptid = department.get("id").toString() ;
|
||||||
|
// deptid = deptid.substring(1, deptid.length());
|
||||||
|
if (!idlist.contains(deptid)){
|
||||||
|
departmentListNew.add(department);
|
||||||
|
}else {
|
||||||
|
String kjry = bmIdHrmMap.get(deptid);
|
||||||
|
List<String> kjrylist = Arrays.asList(kjry.split(","));
|
||||||
|
if (kjrylist.contains(userID+"")){
|
||||||
|
departmentListNew.add(department);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
new BaseBean().writeLog(departmentListNew.toString());
|
||||||
|
result.put("datas",departmentListNew);
|
||||||
|
new BaseBean().writeLog(result.toString());
|
||||||
|
return result;
|
||||||
|
}catch (Exception e){
|
||||||
|
new BaseBean().writeLog(e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
package com.customization.wps.doc.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.wbi.util.ParamUtil;
|
||||||
|
import com.wbi.util.StringUtil;
|
||||||
|
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocReplaceComponent;
|
||||||
|
import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceAfter;
|
||||||
|
import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaAfterReplaceParam;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import weaver.hrm.HrmUserVarify;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@WeaIocReplaceComponent
|
||||||
|
public class FileInfoAvatarProxy {
|
||||||
|
@WeaReplaceAfter(
|
||||||
|
value = "/api/wps/doccenter/outter/v1/3rd/file/info",
|
||||||
|
order = 1,
|
||||||
|
description = "修改头像"
|
||||||
|
)
|
||||||
|
public String after(WeaAfterReplaceParam weaAfterReplaceParam) {
|
||||||
|
HttpServletRequest request = weaAfterReplaceParam.getRequest();
|
||||||
|
HttpServletResponse response = weaAfterReplaceParam.getResponse();
|
||||||
|
String data = weaAfterReplaceParam.getData();
|
||||||
|
Map paramMap = ParamUtil.request2Map(request);
|
||||||
|
// User user = HrmUserVarify.getUser(request, response);
|
||||||
|
BaseBean baseBean = new BaseBean();
|
||||||
|
baseBean.writeLog(paramMap);
|
||||||
|
baseBean.writeLog(data);
|
||||||
|
JSONObject result = JSON.parseObject(data);
|
||||||
|
if (result.containsKey("user")){
|
||||||
|
Map<String, String> user = JSONObject.parseObject(result.getString("user"), Map.class);
|
||||||
|
user.put("avatar_url","http://14.1.209.146:8080/mobilemode/piclibrary/02-E9_017afd/addressbook.png");
|
||||||
|
result.put("user",user);
|
||||||
|
baseBean.writeLog(JSONObject.toJSONString(result));
|
||||||
|
return JSONObject.toJSONString(result);
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,119 @@
|
|||||||
|
package com.engine.custom.hg.entity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class HGBean {
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
//流程
|
||||||
|
private Integer requestId;
|
||||||
|
//推送内容
|
||||||
|
private String content;
|
||||||
|
// 状态
|
||||||
|
private Integer zt;
|
||||||
|
// 到达时间
|
||||||
|
private String ddsj;
|
||||||
|
// 推送时间
|
||||||
|
private String tssj;
|
||||||
|
// 正文目录
|
||||||
|
private List<String> ml;
|
||||||
|
// 附件目录
|
||||||
|
private List<String> fjml;
|
||||||
|
//正文id
|
||||||
|
private String zwid;
|
||||||
|
//附件id
|
||||||
|
private String fjid;
|
||||||
|
|
||||||
|
public String getZwid() {
|
||||||
|
return zwid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZwid(String zwid) {
|
||||||
|
this.zwid = zwid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFjid() {
|
||||||
|
return fjid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFjid(String fjid) {
|
||||||
|
this.fjid = fjid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HGBean() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public HGBean(Integer requestId, String content, Integer zt, String ddsj, String tssj, List<String> ml, List<String> fjml) {
|
||||||
|
this.requestId = requestId;
|
||||||
|
this.content = content;
|
||||||
|
this.zt = zt;
|
||||||
|
this.ddsj = ddsj;
|
||||||
|
this.tssj = tssj;
|
||||||
|
this.ml = ml;
|
||||||
|
this.fjml = fjml;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getRequestId() {
|
||||||
|
return requestId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRequestId(Integer requestId) {
|
||||||
|
this.requestId = requestId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContent() {
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(String content) {
|
||||||
|
this.content = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getZt() {
|
||||||
|
return zt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZt(Integer zt) {
|
||||||
|
this.zt = zt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDdsj() {
|
||||||
|
return ddsj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDdsj(String ddsj) {
|
||||||
|
this.ddsj = ddsj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTssj() {
|
||||||
|
return tssj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTssj(String tssj) {
|
||||||
|
this.tssj = tssj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getMl() {
|
||||||
|
return ml;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMl(List<String> ml) {
|
||||||
|
this.ml = ml;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getFjml() {
|
||||||
|
return fjml;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFjml(List<String> fjml) {
|
||||||
|
this.fjml = fjml;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.engine.custom.hg.util;
|
||||||
|
import com.dcfs.fts.client.FtpClientConfig;
|
||||||
|
import com.dcfs.fts.client.upload.FtpPut;
|
||||||
|
import com.dcfs.fts.common.error.FtpException;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
|
public class HgUtils {
|
||||||
|
static String tranCode = "025801";
|
||||||
|
|
||||||
|
public static String putFile(String localFileName, String remoteFileName) throws FtpException, IOException, FtpException {
|
||||||
|
FtpClientConfig config = FtpClientConfig.getInstance("/opt/weaver/ecology/WEB-INF/prop/FtpClientConfig.properties");
|
||||||
|
FtpPut ftpPut = new FtpPut(localFileName, remoteFileName, tranCode, true, true, config);
|
||||||
|
String filePath = ftpPut.doPutFile();
|
||||||
|
return filePath;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.engine.custom.hg.util;
|
||||||
|
|
||||||
|
public class test {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
byte[] arr = new byte[1024];
|
||||||
|
String data = new String(arr, 0, -1);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package com.engine.service.ModeForm;
|
||||||
|
|
||||||
|
import com.engine.service.entity.Result;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface ModeFormService {
|
||||||
|
Result getDepartmentFormField(Map<String, Object> paramMap);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,123 @@
|
|||||||
|
package com.engine.service.ModeForm.impl;
|
||||||
|
|
||||||
|
import com.engine.service.entity.Result;
|
||||||
|
import com.engine.service.ModeForm.ModeFormService;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.Util;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class ModeFormServiceImpl implements ModeFormService {
|
||||||
|
@Override
|
||||||
|
public Result getDepartmentFormField(Map<String, Object> paramMap) {
|
||||||
|
int level = Util.getIntValue((String) paramMap.get("level"),0);
|
||||||
|
int alllevel = Util.getIntValue((String)paramMap.get("alllevel"),0);
|
||||||
|
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
ArrayList<Map<String, String>> records = new ArrayList<>();
|
||||||
|
if (level == 1){ //点击分部
|
||||||
|
int id = Util.getIntValue((String) paramMap.get("id"), 0);
|
||||||
|
recordSet.executeQuery("select dept.id id , SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
||||||
|
"left join hrmdepartmentdefined defined "+
|
||||||
|
"on dept.id = defined.DEPTID where dept.SUBCOMPANYID1 = ?",id);
|
||||||
|
while (recordSet.next()){
|
||||||
|
HashMap<String, String> record = new HashMap<>();
|
||||||
|
String deptid = Util.null2String(recordSet.getString("id"));
|
||||||
|
record.put("id",deptid);
|
||||||
|
//是否一级支行业务部室 0 是 1 否
|
||||||
|
String fzxbsjb = Util.null2String(recordSet.getString("FZXBSJB"));
|
||||||
|
record.put("fzxbsjb",fzxbsjb);
|
||||||
|
//分支行部室级别
|
||||||
|
String sfyjzxywbs = Util.null2String(recordSet.getString("SFYJZXYWBS"));
|
||||||
|
record.put("sfyjzxywbs",sfyjzxywbs);
|
||||||
|
String subcompanyid = Util.null2String(recordSet.getString("SUBCOMPANYID"));
|
||||||
|
record.put("subcompanyid",subcompanyid);
|
||||||
|
String supdepid = Util.null2String(recordSet.getString("SUPDEPID"));
|
||||||
|
record.put("supdepid",supdepid);
|
||||||
|
records.add(record);
|
||||||
|
}
|
||||||
|
return new Result(records,200);
|
||||||
|
}else if(level == 2 || level == 3 || level == 3){
|
||||||
|
int id = Util.getIntValue((String) paramMap.get("id"), 0);
|
||||||
|
recordSet.executeQuery("select dept.id id ,SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
||||||
|
"left join hrmdepartmentdefined defined "+
|
||||||
|
"on dept.id = defined.DEPTID where dept.SUBCOMPANYID1 = (select SUBCOMPANYID1 from HRMDEPARTMENT where id = ? )",id);
|
||||||
|
while (recordSet.next()){
|
||||||
|
HashMap<String, String> record = new HashMap<>();
|
||||||
|
String deptid = Util.null2String(recordSet.getString("id"));
|
||||||
|
record.put("id",deptid);
|
||||||
|
//是否一级支行业务部室 0 是 1 否
|
||||||
|
String fzxbsjb = Util.null2String(recordSet.getString("FZXBSJB"));
|
||||||
|
record.put("fzxbsjb",fzxbsjb);
|
||||||
|
//分支行部室级别
|
||||||
|
String sfyjzxywbs = Util.null2String(recordSet.getString("SFYJZXYWBS"));
|
||||||
|
record.put("sfyjzxywbs",sfyjzxywbs);
|
||||||
|
String subcompanyid = Util.null2String(recordSet.getString("SUBCOMPANYID"));
|
||||||
|
record.put("subcompanyid",subcompanyid);
|
||||||
|
String supdepid = Util.null2String(recordSet.getString("SUPDEPID"));
|
||||||
|
record.put("supdepid",supdepid);
|
||||||
|
records.add(record);
|
||||||
|
}
|
||||||
|
return new Result(records,200);
|
||||||
|
}else if(alllevel ==1){
|
||||||
|
String types = Util.null2String(paramMap.get("types"));
|
||||||
|
String[] typeArr = null;
|
||||||
|
if (types.length() > 0){
|
||||||
|
typeArr = types.split(",");
|
||||||
|
}
|
||||||
|
ArrayList<String> deptList = new ArrayList<>();
|
||||||
|
ArrayList<String> subcomList = new ArrayList<>();
|
||||||
|
for (String type : typeArr) {
|
||||||
|
String[] item = type.split("\\|");
|
||||||
|
String itemType = item[0];
|
||||||
|
if ("subcom".equals(itemType)){
|
||||||
|
subcomList.add(item[1]);
|
||||||
|
}
|
||||||
|
if ("dept".equals(itemType)){
|
||||||
|
deptList.add(item[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String a = String.join(",",subcomList);
|
||||||
|
String b = String.join(",",deptList);
|
||||||
|
String sql = "select distinct dept.id id ,SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
||||||
|
"left join hrmdepartmentdefined defined "+
|
||||||
|
"on dept.id = defined.DEPTID where ";
|
||||||
|
if (subcomList.size() > 0){
|
||||||
|
sql = sql + "dept.SUBCOMPANYID1 in ("+a+")";
|
||||||
|
}
|
||||||
|
if(subcomList.size() > 0 && deptList.size() > 0){
|
||||||
|
sql = sql + " or ";
|
||||||
|
}
|
||||||
|
if (deptList.size() > 0){
|
||||||
|
sql = sql + " dept.SUBCOMPANYID1 in (select SUBCOMPANYID1 from HRMDEPARTMENT where id in ("+b+") )";
|
||||||
|
}
|
||||||
|
recordSet.executeQuery(sql);
|
||||||
|
new BaseBean().writeLog("select distinct dept.id id ,SUBCOMPANYID1 SUBCOMPANYID ,SUPDEPID, defined.FZXBSJB FZXBSJB,defined.SFYJZXYWBS SFYJZXYWBS from HRMDEPARTMENT dept " +
|
||||||
|
"left join hrmdepartmentdefined defined "+
|
||||||
|
"on dept.id = defined.DEPTID where dept.SUBCOMPANYID1 in ("+a+") or dept.SUPDEPID in (select SUBCOMPANYID1 from HRMDEPARTMENT where id in ("+b+") )");
|
||||||
|
while (recordSet.next()){
|
||||||
|
HashMap<String, String> record = new HashMap<>();
|
||||||
|
String deptid = Util.null2String(recordSet.getString("id"));
|
||||||
|
record.put("id",deptid);
|
||||||
|
//是否一级支行业务部室 0 是 1 否
|
||||||
|
String fzxbsjb = Util.null2String(recordSet.getString("FZXBSJB"));
|
||||||
|
record.put("fzxbsjb",fzxbsjb);
|
||||||
|
//分支行部室级别
|
||||||
|
String sfyjzxywbs = Util.null2String(recordSet.getString("SFYJZXYWBS"));
|
||||||
|
record.put("sfyjzxywbs",sfyjzxywbs);
|
||||||
|
String subcompanyid = Util.null2String(recordSet.getString("SUBCOMPANYID"));
|
||||||
|
record.put("subcompanyid",subcompanyid);
|
||||||
|
String supdepid = Util.null2String(recordSet.getString("SUPDEPID"));
|
||||||
|
record.put("supdepid",supdepid);
|
||||||
|
records.add(record);
|
||||||
|
}
|
||||||
|
new BaseBean().writeLog(records);
|
||||||
|
return new Result(records,200);
|
||||||
|
}
|
||||||
|
return new Result(null,500);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.engine.service;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface TJBKWorkFlowService {
|
||||||
|
Integer getToDoCount(Map<String,String> paramMap);
|
||||||
|
Integer getToReadCount(Map<String,String> paramMap);
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
package com.engine.service.entity;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class Result {
|
||||||
|
public Object data;
|
||||||
|
public Integer code;
|
||||||
|
public String errMsg;
|
||||||
|
|
||||||
|
public Result() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Result(Object data, Integer code) {
|
||||||
|
this.data = data;
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Result(Object data, Integer code, String errMsg) {
|
||||||
|
this.data = data;
|
||||||
|
this.code = code;
|
||||||
|
this.errMsg = errMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(Object data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(Integer code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getErrMsg() {
|
||||||
|
return errMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setErrMsg(String errMsg) {
|
||||||
|
this.errMsg = errMsg;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,241 @@
|
|||||||
|
package com.engine.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.druid.util.StringUtils;
|
||||||
|
import com.engine.service.TJBKWorkFlowService;
|
||||||
|
import com.engine.workflow.util.CommonUtil;
|
||||||
|
import com.icbc.api.internal.apache.http.impl.cookie.S;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
import weaver.security.util.SecurityMethodUtil;
|
||||||
|
import weaver.wechat.util.Utils;
|
||||||
|
import weaver.workflow.request.todo.OfsSettingObject;
|
||||||
|
import weaver.workflow.request.todo.RequestUtil;
|
||||||
|
import weaver.workflow.webservices.WorkflowServiceImpl;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static weaver.security.util.SecurityMethodUtil.clearKeywordFromConditon;
|
||||||
|
|
||||||
|
public class TJBKWorkFlowServiceImpl implements TJBKWorkFlowService {
|
||||||
|
|
||||||
|
private static final String getIdByWorkCodesql = "SELECT id FROM HRMRESOURCE WHERE workcode = ? ";
|
||||||
|
private static final String getToReadwfidsql = "SELECT b.* from hpsetting_wfcenter a , workflowcentersettingdetail b where a.eid = b.eid and a.tabid = b.tabid and a.tabtitle = '我的待阅' and b.TYPE ='flowid'";
|
||||||
|
// private static final String getToReadwfidsql = "SELECT b.* from hpsetting_wfcenter a , workflowcentersettingdetail b where a.eid = b.eid and a.tabid = b.tabid";
|
||||||
|
private WorkflowServiceImpl workflowService = new WorkflowServiceImpl();
|
||||||
|
private RecordSet rs = new RecordSet();
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getToDoCount(Map<String,String> paramMap) {
|
||||||
|
String value = paramMap.get("value");
|
||||||
|
String key = paramMap.get("key");
|
||||||
|
//User currentUser = null;
|
||||||
|
String userId = "";
|
||||||
|
try{
|
||||||
|
//验证工号是否为空
|
||||||
|
if (!StringUtils.isEmpty(value) && !StringUtils.isEmpty(key)){
|
||||||
|
// 获取用户
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
recordSet.executeQuery(getIdByWorkCodesql,value);
|
||||||
|
|
||||||
|
if (recordSet.next()){
|
||||||
|
userId = Utils.null2String(recordSet.getString("id"));
|
||||||
|
//currentUser = new User(Integer.parseInt(userId));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// String[] strings = {};
|
||||||
|
// new RecordSet()
|
||||||
|
String conditionsql = getToDoWfidCondition();
|
||||||
|
// new BaseBean().writeLog("getToDoWfidCondition"+conditionsql);
|
||||||
|
String[] strings = {conditionsql};
|
||||||
|
|
||||||
|
int toDoWorkflowRequestCount = getToDoWorkflowRequestCount4OS(Integer.parseInt(userId), strings,true);
|
||||||
|
paramMap.put("status","COMPLETE");
|
||||||
|
paramMap.put("code","S000A000");
|
||||||
|
paramMap.put("desc","success");
|
||||||
|
//int toDoWorkflowRequestCount = workflowService.getToDoWorkflowRequestCount(Integer.parseInt("1"), strings);
|
||||||
|
return toDoWorkflowRequestCount;}catch (Exception E){
|
||||||
|
paramMap.put("status","FAIL");
|
||||||
|
paramMap.put("code","ESB-E-000002");
|
||||||
|
paramMap.put("desc","人员不存在");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getToReadCount(Map<String,String> paramMap) {
|
||||||
|
String value = paramMap.get("value");
|
||||||
|
String key = paramMap.get("key");
|
||||||
|
User currentUser = null;
|
||||||
|
String userId = "";
|
||||||
|
try {
|
||||||
|
//验证工号是否为空
|
||||||
|
if (!StringUtils.isEmpty(value) && !StringUtils.isEmpty(key)) {
|
||||||
|
// 获取用户
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
recordSet.executeQuery(getIdByWorkCodesql, value);
|
||||||
|
|
||||||
|
if (recordSet.next()) {
|
||||||
|
userId = Utils.null2String(recordSet.getString("id"));
|
||||||
|
currentUser = new User(Integer.parseInt(userId));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String conditionsql = getToReadWfidCondition();
|
||||||
|
new BaseBean().writeLog("getToReadWfidCondition"+conditionsql);
|
||||||
|
String[] strings = {conditionsql};
|
||||||
|
int toBeReadWorkflowRequestCount = getToDoWorkflowRequestCount4OS(Integer.parseInt(userId), strings, true);
|
||||||
|
paramMap.put("status","COMPLETE");
|
||||||
|
paramMap.put("code","S000A000");
|
||||||
|
paramMap.put("desc","success");
|
||||||
|
//int toBeReadWorkflowRequestCount = workflowService.getToBeReadWorkflowRequestCount(Integer.parseInt("1"), strings, false);
|
||||||
|
return toBeReadWorkflowRequestCount;
|
||||||
|
}catch (Exception E){
|
||||||
|
paramMap.put("status","FAIL");
|
||||||
|
paramMap.put("code","ESB-E-000002");
|
||||||
|
paramMap.put("desc","人员不存在");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getToReadWfidCondition() {
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
boolean b = rs.executeQuery(getToReadwfidsql);
|
||||||
|
String[] arr = new String[rs.getCounts()];
|
||||||
|
StringBuilder sqlwhere = new StringBuilder();
|
||||||
|
int i = 0;
|
||||||
|
while (rs.next()){
|
||||||
|
String content = Util.null2String( rs.getString("content"));
|
||||||
|
if (!StringUtils.isEmpty(content)){
|
||||||
|
arr[i] = "t1.workflowid = "+content;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 过滤掉空元素
|
||||||
|
List<String> nonNullElements = Arrays.stream(arr)
|
||||||
|
.filter(element -> element != null && !element.isEmpty())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
String result = String.join(" OR ", nonNullElements);
|
||||||
|
if (StringUtils.isEmpty(result)){return "";}
|
||||||
|
return "(" + result +")";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String getToDoWfidCondition() {
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
boolean b = rs.executeQuery(getToReadwfidsql);
|
||||||
|
String[] arr = new String[rs.getCounts()];
|
||||||
|
StringBuilder sqlwhere = new StringBuilder();
|
||||||
|
int i = 0;
|
||||||
|
while (rs.next()){
|
||||||
|
String content = Util.null2String( rs.getString("content"));
|
||||||
|
if (!StringUtils.isEmpty(content)){
|
||||||
|
arr[i] = "t1.workflowid != " + content;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 过滤掉空元素
|
||||||
|
List<String> nonNullElements = Arrays.stream(arr)
|
||||||
|
.filter(element -> element != null && !element.isEmpty())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
String result = String.join(" AND ", nonNullElements);
|
||||||
|
if (StringUtils.isEmpty(result)){return "";}
|
||||||
|
return "(" + result +")";
|
||||||
|
}
|
||||||
|
public int getToDoWorkflowRequestCount4OS(int var1, String[] var2, boolean var3) {
|
||||||
|
String var4 = " select distinct ";
|
||||||
|
String var5 = " t1.createdate,t1.createtime,t1.creater,t1.currentnodeid,t1.currentnodetype,t1.lastoperator,t1.creatertype,t1.lastoperatortype,t1.lastoperatedate,t1.lastoperatetime,t1.requestid,t1.requestname,t1.requestlevel,t1.workflowid,t2.receivedate,t2.receivetime ";
|
||||||
|
String var6 = " from workflow_requestbase t1,workflow_currentoperator t2 ";
|
||||||
|
String var7 = " where t1.requestid=t2.requestid ";
|
||||||
|
var7 = var7 + " and ((t2.isremark='0' and (t2.takisremark is null or t2.takisremark=0 )) or t2.isremark in('1','5','8','9','7','11')) and t2.islasttimes=1";
|
||||||
|
var7 = var7 + " and (isprocessing = '' or isprocessing is null) ";
|
||||||
|
var7 = var7 + " and t1.workflowid in(select id from workflow_base where (isvalid='1' or isvalid='3') and (activeversionid is null or activeversionid=0 or activeversionid in(select id from workflow_base where isvalid='1')) )";
|
||||||
|
var7 = var7 + this.sqldelete();
|
||||||
|
String var8 = var7;
|
||||||
|
var7 = " and t2.usertype = 0 and t2.userid = " + var1;
|
||||||
|
String var9 = CommonUtil.getDBJudgeNullFun((new RecordSet()).getDBType());
|
||||||
|
var7 = var7 + " and (" + var9 + "(t1.currentstatus,-1) = -1 or (" + var9 + "(t1.currentstatus,-1)=0 and t1.creater in (" + var1 + "))) ";
|
||||||
|
String var10 = "";
|
||||||
|
if (var2 != null) {
|
||||||
|
for(int var11 = 0; var11 < var2.length; ++var11) {
|
||||||
|
String var12 = var2[var11];
|
||||||
|
var12 = SecurityMethodUtil.clearKeywordFromConditon(var12);
|
||||||
|
var10 = var10 + (var12 != null && !"".equals(var12) ? " and " + var12 : "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var7 = var7 + var10;
|
||||||
|
RequestUtil var16 = new RequestUtil();
|
||||||
|
OfsSettingObject var17 = var16.getOfsSetting();
|
||||||
|
boolean var13 = var17.getIsuse() == 1;
|
||||||
|
String var14 = "";
|
||||||
|
if (var3 && var13) {
|
||||||
|
String var15 = " select createdate,createtime,creatorid as creater,-1 as currentnodeid,'' as currentnodetype,-1 as lastoperator,0 as creatertype,0 as lastoperatortype,'' as lastoperatedate,'' as lastoperatetime,requestid,requestname,0 as requestlevel,workflowid,receivedate,receivetime from ofs_todo_data where islasttimes=1 and isremark in(0,8,9) and workflowid in (select workflowid from ofs_workflow where (cancel=0 or cancel is null)) and userid=" + var1 + var10.replaceAll("t2.", "").replaceAll("t1.", "");
|
||||||
|
var14 = this.getPaginationCountSql(var4, var5, var6, var7, var8, var15);
|
||||||
|
} else {
|
||||||
|
var14 = this.getPaginationCountSql(var4, var5, var6, var7, var8);
|
||||||
|
}
|
||||||
|
|
||||||
|
var14 = var14.replace("t1.deleted", "SpecialHandling");
|
||||||
|
return this.getWorkflowRequestCount(var14);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String sqldelete() {
|
||||||
|
String deletesql = " and (t1.deleted<>1 or t1.deleted is null or t1.deleted='') ";
|
||||||
|
if (this.rs.getDBType().equalsIgnoreCase("postgresql")) {
|
||||||
|
deletesql = " and (t1.deleted<>1 or t1.deleted is null) ";
|
||||||
|
}
|
||||||
|
|
||||||
|
return deletesql;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getPaginationCountSql(String var1, String var2, String var3, String var4, String var5, String var6) {
|
||||||
|
return this.getPaginationCountSql(var1, var2, var3, var4, var5, var6, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getPaginationCountSql(String var1, String var2, String var3, String var4, String var5, String var6, String var7) {
|
||||||
|
var1 = Util.null2String(var1).replaceAll("(?i)(drop|insert|alter|truncate|delete|union|wait|xp_cmdshel|DBMS_PIPE|IIF|UTL_HTTP|SLEEP|net user|--|/\\*.*?\\*/)", "__SQLINJECTION__");
|
||||||
|
var2 = SecurityMethodUtil.clearKeywordFromConditon(var2);
|
||||||
|
var3 = SecurityMethodUtil.clearKeywordFromConditon(var3);
|
||||||
|
var4 = SecurityMethodUtil.clearKeywordFromConditon(var4);
|
||||||
|
var4 = var5 + var4;
|
||||||
|
String var8 = " select count(*) my_count from ( " + var1 + " " + var2 + " " + var3 + " " + var4 + " SpecialHandUN " + var6 + ("".equals(var7) ? "" : " SpecialHandUN " + var7) + " ) tableA ";
|
||||||
|
return var8;
|
||||||
|
}
|
||||||
|
private String getPaginationCountSql(String var1, String var2, String var3, String var4, String var5) {
|
||||||
|
var1 = Util.null2String(var1).replaceAll("(?i)(drop|insert|alter|truncate|delete|union|wait|xp_cmdshel|DBMS_PIPE|IIF|UTL_HTTP|SLEEP|net user|--|/\\*.*?\\*/)", "__SQLINJECTION__");
|
||||||
|
var2 = SecurityMethodUtil.clearKeywordFromConditon(var2);
|
||||||
|
var3 = SecurityMethodUtil.clearKeywordFromConditon(var3);
|
||||||
|
var4 = SecurityMethodUtil.clearKeywordFromConditon(var4);
|
||||||
|
var4 = var5 + var4;
|
||||||
|
String var6 = " select count(*) my_count from ( " + var1 + " " + var2 + " " + var3 + " " + var4 + " ) tableA ";
|
||||||
|
return var6;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getWorkflowRequestCount(String var1) {
|
||||||
|
RecordSet var2 = new RecordSet();
|
||||||
|
var1 = Util.null2String(var1).replaceAll("(?i)(drop|insert|alter|truncate|delete|union|wait|xp_cmdshel|DBMS_PIPE|IIF|UTL_HTTP|SLEEP|net user|--|/\\*.*?\\*/)", "__SQLINJECTION__");
|
||||||
|
var1 = var1.replace("SpecialHandling", "t1.deleted").replaceAll("SpecialHandUN", "union");
|
||||||
|
int var3 = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
var2.executeSql(var1);
|
||||||
|
if (var2.next()) {
|
||||||
|
var3 = var2.getInt("my_count");
|
||||||
|
}
|
||||||
|
} catch (Exception var5) {
|
||||||
|
var5.printStackTrace();
|
||||||
|
new BaseBean().writeLog(var5);
|
||||||
|
}
|
||||||
|
|
||||||
|
return var3;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,197 @@
|
|||||||
|
package com.engine.util;
|
||||||
|
|
||||||
|
import com.alibaba.druid.util.StringUtils;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.transform.OutputKeys;
|
||||||
|
import javax.xml.transform.Transformer;
|
||||||
|
import javax.xml.transform.TransformerFactory;
|
||||||
|
import javax.xml.transform.dom.DOMSource;
|
||||||
|
import javax.xml.transform.stream.StreamResult;
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class XMLUtils {
|
||||||
|
//构建返回值
|
||||||
|
public static String count2XML(Map<String,String> headerParam,Integer todocount , Integer toreadcount ) {
|
||||||
|
try {
|
||||||
|
// 创建文档对象
|
||||||
|
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
|
||||||
|
Document doc = docBuilder.newDocument();
|
||||||
|
|
||||||
|
// 创建根节点
|
||||||
|
Element rootElement = doc.createElement("Service");
|
||||||
|
doc.appendChild(rootElement);
|
||||||
|
|
||||||
|
addServiceHeader(doc,rootElement,headerParam);
|
||||||
|
|
||||||
|
// 创建Service_Body节点
|
||||||
|
Element serviceBodyElement = doc.createElement("Service_Body");
|
||||||
|
rootElement.appendChild(serviceBodyElement);
|
||||||
|
|
||||||
|
// 创建response节点
|
||||||
|
Element responseElement = doc.createElement("response");
|
||||||
|
serviceBodyElement.appendChild(responseElement);
|
||||||
|
|
||||||
|
// 创建todo节点
|
||||||
|
Element todoElement = doc.createElement("todo");
|
||||||
|
responseElement.appendChild(todoElement);
|
||||||
|
|
||||||
|
// 创建count节点并设置值
|
||||||
|
if(todocount != null) {
|
||||||
|
Element countElement = doc.createElement("count");
|
||||||
|
countElement.setTextContent(todocount + "");
|
||||||
|
todoElement.appendChild(countElement);
|
||||||
|
}
|
||||||
|
if(toreadcount != null){
|
||||||
|
Element countOneElement = doc.createElement("countOne");
|
||||||
|
countOneElement.setTextContent(toreadcount+"");
|
||||||
|
todoElement.appendChild(countOneElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 将文档对象转换为XML字符串
|
||||||
|
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||||
|
Transformer transformer = transformerFactory.newTransformer();
|
||||||
|
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); // 设置不包含XML声明
|
||||||
|
DOMSource source = new DOMSource(doc);
|
||||||
|
|
||||||
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||||
|
StreamResult result = new StreamResult(outputStream);
|
||||||
|
|
||||||
|
transformer.transform(source, result);
|
||||||
|
|
||||||
|
// 将XML结果转换为字符串
|
||||||
|
String xmlString = outputStream.toString("UTF-8");
|
||||||
|
//System.out.println(xmlString);
|
||||||
|
return xmlString;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void addServiceHeader(Document doc, Element rootElement, Map<String, String> headerParam) {
|
||||||
|
|
||||||
|
// 创建Service_Body节点
|
||||||
|
Element serviceHeaderElement = doc.createElement("Service_Header");
|
||||||
|
rootElement.appendChild(serviceHeaderElement);
|
||||||
|
//service_sn ESB服务流水号
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("service_sn"))){
|
||||||
|
Element serviceSnElement = doc.createElement("service_sn");
|
||||||
|
serviceSnElement.setTextContent(headerParam.get("service_sn"));
|
||||||
|
serviceHeaderElement.appendChild(serviceSnElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("service_id"))){
|
||||||
|
Element serviceIdElement = doc.createElement("service_id");
|
||||||
|
serviceIdElement.setTextContent(headerParam.get("service_id"));
|
||||||
|
serviceHeaderElement.appendChild(serviceIdElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("system_id"))){
|
||||||
|
Element systemIdElement = doc.createElement("system_id");
|
||||||
|
systemIdElement.setTextContent(headerParam.get("system_id"));
|
||||||
|
serviceHeaderElement.appendChild(systemIdElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("requester_id"))){
|
||||||
|
Element requesterIdElement = doc.createElement("requester_id");
|
||||||
|
requesterIdElement.setTextContent(headerParam.get("requester_id"));
|
||||||
|
serviceHeaderElement.appendChild(requesterIdElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("branch_id"))){
|
||||||
|
Element branchIdElement = doc.createElement("branch_id");
|
||||||
|
branchIdElement.setTextContent(headerParam.get("branch_id"));
|
||||||
|
serviceHeaderElement.appendChild(branchIdElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("channel_id"))){
|
||||||
|
Element channelIdElement = doc.createElement("channel_id");
|
||||||
|
channelIdElement.setTextContent(headerParam.get("channel_id"));
|
||||||
|
serviceHeaderElement.appendChild(channelIdElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("service_time"))){
|
||||||
|
Element serviceTimeElement = doc.createElement("requester_id");
|
||||||
|
serviceTimeElement.setTextContent(headerParam.get("service_time"));
|
||||||
|
serviceHeaderElement.appendChild(serviceTimeElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("BnkSrlNo"))){
|
||||||
|
Element BnkSrlNoElement = doc.createElement("BnkSrlNo");
|
||||||
|
BnkSrlNoElement.setTextContent(headerParam.get("BnkSrlNo"));
|
||||||
|
serviceHeaderElement.appendChild(BnkSrlNoElement);
|
||||||
|
}
|
||||||
|
// if (!StringUtils.isEmpty(headerParam.get("FileFlg"))){
|
||||||
|
Element FileFlgElement = doc.createElement("FileFlg");
|
||||||
|
FileFlgElement.setTextContent("0");
|
||||||
|
serviceHeaderElement.appendChild(FileFlgElement);
|
||||||
|
// }
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("SvcCd"))){
|
||||||
|
Element SvcCdElement = doc.createElement("SvcCd");
|
||||||
|
SvcCdElement.setTextContent(headerParam.get("SvcCd"));
|
||||||
|
serviceHeaderElement.appendChild(SvcCdElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("SvcScn"))){
|
||||||
|
Element SvcScnElement = doc.createElement("SvcScn");
|
||||||
|
SvcScnElement.setTextContent(headerParam.get("SvcScn"));
|
||||||
|
serviceHeaderElement.appendChild(SvcScnElement);
|
||||||
|
}
|
||||||
|
// 响应码
|
||||||
|
Element service_responseElement = doc.createElement("service_response");
|
||||||
|
serviceHeaderElement.appendChild(service_responseElement);
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("status"))){
|
||||||
|
Element statusElement = doc.createElement("status");
|
||||||
|
statusElement.setTextContent(headerParam.get("status"));
|
||||||
|
service_responseElement.appendChild(statusElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("code"))){
|
||||||
|
Element codeElement = doc.createElement("code");
|
||||||
|
codeElement.setTextContent(headerParam.get("code"));
|
||||||
|
service_responseElement.appendChild(codeElement);
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(headerParam.get("desc"))){
|
||||||
|
Element descElement = doc.createElement("desc");
|
||||||
|
descElement.setTextContent(headerParam.get("desc"));
|
||||||
|
service_responseElement.appendChild(descElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Map<String, String> parseXMLToMap(String xmlString) {
|
||||||
|
Map<String, String> resultMap = new HashMap<>();
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder builder = factory.newDocumentBuilder();
|
||||||
|
Document document = builder.parse(new ByteArrayInputStream(xmlString.getBytes()));
|
||||||
|
|
||||||
|
Element rootElement = document.getDocumentElement();
|
||||||
|
extractValues(rootElement, resultMap);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void extractValues(Element element, Map<String, String> resultMap) {
|
||||||
|
NodeList childNodes = element.getChildNodes();
|
||||||
|
for (int i = 0; i < childNodes.getLength(); i++) {
|
||||||
|
if (childNodes.item(i) instanceof Element) {
|
||||||
|
Element childElement = (Element) childNodes.item(i);
|
||||||
|
String nodeName = childElement.getNodeName();
|
||||||
|
String nodeValue = childElement.getTextContent();
|
||||||
|
resultMap.put(nodeName, nodeValue);
|
||||||
|
extractValues(childElement, resultMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,103 @@
|
|||||||
|
package com.engine.web.ModeForm;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.engine.common.util.ParamUtil;
|
||||||
|
import com.engine.service.ModeForm.ModeFormService;
|
||||||
|
import com.engine.service.ModeForm.impl.ModeFormServiceImpl;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.icbc.api.internal.apache.http.impl.cookie.S;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import weaver.wechat.util.Utils;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.POST;
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.core.Context;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class ModeFormWeb {
|
||||||
|
|
||||||
|
private static final String nodeCountsql = "select count(1) num from uf_qzsxqp t1 left join " +
|
||||||
|
" uf_qzsxqp_dt1 d1 on t1.id = d1.mainid where lc = ? and jdmc = ?";
|
||||||
|
@Path("/gethld")
|
||||||
|
@GET
|
||||||
|
public String getDataById(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
try {
|
||||||
|
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||||
|
// String dataTable = (String) map.get("dataTable");
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
recordSet.executeQuery("select * from uf_View_resume_perm where sfqy = 0");
|
||||||
|
StringBuilder s = new StringBuilder();
|
||||||
|
while (recordSet.next()){
|
||||||
|
String xld = Utils.null2String(recordSet.getString("xld"));
|
||||||
|
s.append(xld).append(",");
|
||||||
|
}
|
||||||
|
HashMap<String, String> result = new HashMap<>();
|
||||||
|
if (s.length()>0){
|
||||||
|
result.put("data",s.toString().substring(0, s.length()-1));
|
||||||
|
}else {
|
||||||
|
result.put("data","");
|
||||||
|
}
|
||||||
|
result.put("code","200");
|
||||||
|
return JSONObject.toJSONString(result);
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
HashMap<String, String> result = new HashMap<>();
|
||||||
|
result.put("data",e.getMessage());
|
||||||
|
result.put("code","500");
|
||||||
|
return JSONObject.toJSONString(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Path("/getDepartmentFormField")
|
||||||
|
@GET
|
||||||
|
public String getDepartmentFormField(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
try {
|
||||||
|
Map<String, Object> paramMap = ParamUtil.request2Map(request);
|
||||||
|
ModeFormService service = new ModeFormServiceImpl();
|
||||||
|
return JSONObject.toJSONString(service.getDepartmentFormField(paramMap));
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
HashMap<String, String> result = new HashMap<>();
|
||||||
|
result.put("data",e.getMessage());
|
||||||
|
result.put("code","500");
|
||||||
|
return JSONObject.toJSONString(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Path("/getSignByid")
|
||||||
|
@GET
|
||||||
|
public String getSignByid(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
try {
|
||||||
|
Map<String, Object> paramMap = ParamUtil.request2Map(request);
|
||||||
|
Object wfid = paramMap.get("wfid");
|
||||||
|
Object nodeid = paramMap.get("nodeid");
|
||||||
|
RecordSet recordSet = new RecordSet();
|
||||||
|
recordSet.executeQuery(nodeCountsql,wfid,nodeid);
|
||||||
|
int num = 0;
|
||||||
|
if(recordSet.next()){
|
||||||
|
num = Util.getIntValue(recordSet.getString("num"),0) ;
|
||||||
|
}
|
||||||
|
HashMap<String, Object> result = new HashMap<>();
|
||||||
|
result.put("flag",num > 0);
|
||||||
|
result.put("code","200");
|
||||||
|
return JSONObject.toJSONString(result);
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
HashMap<String, String> result = new HashMap<>();
|
||||||
|
result.put("data",e.getMessage());
|
||||||
|
result.put("code","500");
|
||||||
|
return JSONObject.toJSONString(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,125 @@
|
|||||||
|
package com.engine.web.tjbk;
|
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.druid.util.StringUtils;
|
||||||
|
import com.engine.common.util.ParamUtil;
|
||||||
|
|
||||||
|
import com.engine.service.TJBKWorkFlowService;
|
||||||
|
import com.engine.service.impl.TJBKWorkFlowServiceImpl;
|
||||||
|
import com.engine.util.XMLUtils;
|
||||||
|
import com.icbc.api.internal.apache.http.impl.cookie.S;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.StringUtil;
|
||||||
|
import weaver.security.rsa.IOUtils;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.ws.rs.POST;
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.core.Context;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class TJBKWorkFlow {
|
||||||
|
|
||||||
|
private TJBKWorkFlowService tjbkWorkFlowService = new TJBKWorkFlowServiceImpl();
|
||||||
|
|
||||||
|
@Path("/workflow/getToDoCount")
|
||||||
|
@POST
|
||||||
|
public String getToDoCount(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
Map<String, Object> stringObjectMap = ParamUtil.request2Map(request);
|
||||||
|
String result = "";
|
||||||
|
String requestBody = "";
|
||||||
|
try {
|
||||||
|
requestBody = IOUtils.toString(request.getReader());
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
// new BaseBean().writeLog("请求参数为" + requestBody);
|
||||||
|
// if (StringUtil.isEmpty(requestBody)) {
|
||||||
|
// result =XMLUtils.count2XML(paramMap,null,null);
|
||||||
|
// return "参数为空";
|
||||||
|
// }
|
||||||
|
Map<String, String> paramMap = null;
|
||||||
|
try {
|
||||||
|
paramMap = XMLUtils.parseXMLToMap(requestBody);
|
||||||
|
String path = paramMap.get("path");
|
||||||
|
String method = paramMap.get("method");
|
||||||
|
//待办
|
||||||
|
if (StringUtils.equals("todo", path) && StringUtils.equals("getCount", method)) {
|
||||||
|
Integer toDoCount = tjbkWorkFlowService.getToDoCount(paramMap);
|
||||||
|
result = XMLUtils.count2XML(paramMap, toDoCount, null);
|
||||||
|
} else if (StringUtils.equals("todo", path) && StringUtils.equals("getCount2", method)) {
|
||||||
|
//代办和代阅
|
||||||
|
Integer toDoCount = tjbkWorkFlowService.getToDoCount(paramMap);
|
||||||
|
Integer toReadCount = tjbkWorkFlowService.getToReadCount(paramMap);
|
||||||
|
result = XMLUtils.count2XML(paramMap, toDoCount, toReadCount);
|
||||||
|
} else {
|
||||||
|
paramMap.put("status", "FAIL");
|
||||||
|
paramMap.put("code", "ESB-E-000002");
|
||||||
|
paramMap.put("desc", "参数解析异常");
|
||||||
|
return XMLUtils.count2XML(paramMap, null, null);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}catch ( Exception E){
|
||||||
|
paramMap.put("status", "FAIL");
|
||||||
|
paramMap.put("code", "ESB-E-000002");
|
||||||
|
paramMap.put("desc", "未知错误");
|
||||||
|
return XMLUtils.count2XML(paramMap, null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getToDoCount(String param) {
|
||||||
|
|
||||||
|
// new BaseBean().writeLog("请求参数为" + param);
|
||||||
|
// if (StringUtil.isEmpty(requestBody)) {
|
||||||
|
// result =XMLUtils.count2XML(paramMap,null,null);
|
||||||
|
// return "参数为空";
|
||||||
|
// }
|
||||||
|
Map<String, String> paramMap = null;
|
||||||
|
String result = "";
|
||||||
|
try {
|
||||||
|
String substring = param.substring(8, param.length());
|
||||||
|
// new BaseBean().writeLog("xml报文"+substring);
|
||||||
|
paramMap = XMLUtils.parseXMLToMap(substring);
|
||||||
|
|
||||||
|
String path = paramMap.get("path");
|
||||||
|
String method = paramMap.get("method");
|
||||||
|
//待办
|
||||||
|
if (StringUtils.equals("todo", path) && StringUtils.equals("getCount", method)) {
|
||||||
|
Integer toDoCount = tjbkWorkFlowService.getToDoCount(paramMap);
|
||||||
|
result = XMLUtils.count2XML(paramMap, toDoCount, null);
|
||||||
|
} else if (StringUtils.equals("todo", path) && StringUtils.equals("getCount2", method)) {
|
||||||
|
//代办和代阅
|
||||||
|
Integer toDoCount = tjbkWorkFlowService.getToDoCount(paramMap);
|
||||||
|
Integer toReadCount = tjbkWorkFlowService.getToReadCount(paramMap);
|
||||||
|
result = XMLUtils.count2XML(paramMap, toDoCount, toReadCount);
|
||||||
|
} else {
|
||||||
|
paramMap.put("status", "FAIL");
|
||||||
|
paramMap.put("code", "ESB-E-000002");
|
||||||
|
paramMap.put("desc", "参数解析异常");
|
||||||
|
String xmlStr = XMLUtils.count2XML(paramMap, null, null);
|
||||||
|
int length = xmlStr.length();
|
||||||
|
String format = String.format("%08d", length);
|
||||||
|
// new BaseBean().writeLog("响应报文"+format+result);
|
||||||
|
return format+xmlStr;
|
||||||
|
}
|
||||||
|
int length = result.length();
|
||||||
|
String format = String.format("%08d", length);
|
||||||
|
// new BaseBean().writeLog("响应报文"+format+result);
|
||||||
|
return format+result;
|
||||||
|
}catch ( Exception E){
|
||||||
|
// new BaseBean().writeLog("未知错误"+E.getMessage());
|
||||||
|
paramMap.put("status", "FAIL");
|
||||||
|
paramMap.put("code", "ESB-E-000002");
|
||||||
|
paramMap.put("desc", "未知错误");
|
||||||
|
String xmlStr = XMLUtils.count2XML(paramMap, null, null);
|
||||||
|
int length = xmlStr.length();
|
||||||
|
String format = String.format("%08d", length);
|
||||||
|
return format+xmlStr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,52 @@
|
|||||||
|
<%@ page import="weaver.integration.entrance.bean.OutterLoginBean" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.EntranceService" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.IEntranceService" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.IOutterSysServer" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.impl.NcServer" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.permission.IPermissionService" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.permission.PermissionService" %>
|
||||||
|
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
|
||||||
|
<%--<%@ include file="/systeminfo/init_wev8.jsp" %>--%>
|
||||||
|
<%@ page import="weaver.integration.logging.LoggerFactory" %>
|
||||||
|
<%@ page import="weaver.integration.logging.Logger" %>
|
||||||
|
<%@ page import="weaver.general.Util" %>
|
||||||
|
<%@ page import="java.util.Map" %>
|
||||||
|
<%@ page import="java.util.Objects" %>
|
||||||
|
<%@ page import="weaver.general.BaseBean" %>
|
||||||
|
<%@ page import="weaver.hrm.User" %>
|
||||||
|
<%@ page import="weaver.hrm.HrmUserVarify" %>
|
||||||
|
<%@ page import="weaver.interfaces.encode.AES_IV" %>
|
||||||
|
<%@ page import="com.engine.common.util.ParamUtil" %>
|
||||||
|
<%@ page import="com.icbc.api.internal.apache.http.impl.cookie.S" %>
|
||||||
|
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
|
||||||
|
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
|
||||||
|
<jsp:useBean id="RecordSet1" class="weaver.conn.RecordSet" scope="page" />
|
||||||
|
|
||||||
|
<%
|
||||||
|
Logger integration_logger = LoggerFactory.getLogger();
|
||||||
|
BaseBean bb = new BaseBean();
|
||||||
|
String mhurl = "";
|
||||||
|
String encodeResultStr = "";
|
||||||
|
try {
|
||||||
|
User user = HrmUserVarify.getUser(request,response);
|
||||||
|
String loginid = user.getLoginid();
|
||||||
|
Map<String, Object> paramMap = ParamUtil.request2Map(request);
|
||||||
|
mhurl = (String) paramMap.get("mhurl");
|
||||||
|
// out.println(mhurl);
|
||||||
|
AES_IV aesIV = new AES_IV();
|
||||||
|
// AES的密钥长度最好是16位(不是必须)
|
||||||
|
String password = "ecology_nsh_2021";
|
||||||
|
// AES的向量长度必须为16位
|
||||||
|
String iv = "weaver_nsyh_2021";
|
||||||
|
aesIV.setPwd(password);
|
||||||
|
aesIV.setIv(iv);
|
||||||
|
// 加密
|
||||||
|
encodeResultStr = aesIV.encode(loginid);
|
||||||
|
// out.println(mhurl);
|
||||||
|
response.sendRedirect(mhurl+"?loginid="+encodeResultStr);
|
||||||
|
|
||||||
|
}catch (Exception E){
|
||||||
|
bb.writeLog("mhxxerror====>"+E.getMessage());
|
||||||
|
response.sendRedirect(mhurl);
|
||||||
|
}
|
||||||
|
%>
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,5 @@
|
|||||||
|
appKey=obk_TIANJINBANK
|
||||||
|
appSecurity=fY2_k6|g$MoMR_uDNC1nFiep
|
||||||
|
url=https://ct.ctrip.com/SwitchAPI/Order/Ticket
|
||||||
|
orderurl=https://ct.ctrip.com/switchapi/Order/SearchOrder
|
||||||
|
workflowId=272
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,24 @@
|
|||||||
|
package weaver.file;
|
||||||
|
|
||||||
|
import weaver.interfaces.encode.AES_IV;
|
||||||
|
|
||||||
|
public class test {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
String loginid = "32715F3A426667E9FF2BA698555B94C9";
|
||||||
|
AES_IV aesIV = new AES_IV();
|
||||||
|
// AES的密钥长度最好是16位(不是必须)
|
||||||
|
String password = "ecology_nsh_2021";
|
||||||
|
// AES的向量长度必须为16位
|
||||||
|
String iv = "weaver_nsyh_2021";
|
||||||
|
aesIV.setPwd(password);
|
||||||
|
aesIV.setIv(iv);
|
||||||
|
// 加密
|
||||||
|
// System.out.println("加密前:" + loginid);
|
||||||
|
// String encodeResultStr = aesIV.encode(loginid);
|
||||||
|
//System.out.println("加密后:" + encodeResultStr);
|
||||||
|
// 解密
|
||||||
|
String decodeResultStr = aesIV.decode(loginid);
|
||||||
|
System.out.println(decodeResultStr);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,52 @@
|
|||||||
|
<%@ page import="weaver.integration.entrance.bean.OutterLoginBean" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.EntranceService" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.IEntranceService" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.IOutterSysServer" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.impl.NcServer" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.permission.IPermissionService" %>
|
||||||
|
<%@ page import="weaver.integration.entrance.service.permission.PermissionService" %>
|
||||||
|
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
|
||||||
|
<%--<%@ include file="/systeminfo/init_wev8.jsp" %>--%>
|
||||||
|
<%@ page import="weaver.integration.logging.LoggerFactory" %>
|
||||||
|
<%@ page import="weaver.integration.logging.Logger" %>
|
||||||
|
<%@ page import="weaver.general.Util" %>
|
||||||
|
<%@ page import="java.util.Map" %>
|
||||||
|
<%@ page import="java.util.Objects" %>
|
||||||
|
<%@ page import="weaver.general.BaseBean" %>
|
||||||
|
<%@ page import="weaver.hrm.User" %>
|
||||||
|
<%@ page import="weaver.hrm.HrmUserVarify" %>
|
||||||
|
<%@ page import="weaver.interfaces.encode.AES_IV" %>
|
||||||
|
<%@ page import="com.engine.common.util.ParamUtil" %>
|
||||||
|
<%@ page import="com.icbc.api.internal.apache.http.impl.cookie.S" %>
|
||||||
|
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
|
||||||
|
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
|
||||||
|
<jsp:useBean id="RecordSet1" class="weaver.conn.RecordSet" scope="page" />
|
||||||
|
|
||||||
|
<%
|
||||||
|
Logger integration_logger = LoggerFactory.getLogger();
|
||||||
|
BaseBean bb = new BaseBean();
|
||||||
|
String mhurl = "";
|
||||||
|
String encodeResultStr = "";
|
||||||
|
try {
|
||||||
|
User user = HrmUserVarify.getUser(request,response);
|
||||||
|
String loginid = user.getLoginid();
|
||||||
|
Map<String, Object> paramMap = ParamUtil.request2Map(request);
|
||||||
|
mhurl = (String) paramMap.get("mhurl");
|
||||||
|
|
||||||
|
AES_IV aesIV = new AES_IV();
|
||||||
|
// AES的密钥长度最好是16位(不是必须)
|
||||||
|
String password = "ecology_nsh_2021";
|
||||||
|
// AES的向量长度必须为16位
|
||||||
|
String iv = "weaver_nsyh_2021";
|
||||||
|
aesIV.setPwd(password);
|
||||||
|
aesIV.setIv(iv);
|
||||||
|
// 加密
|
||||||
|
encodeResultStr = aesIV.encode(loginid);
|
||||||
|
// out.println(mhurl);
|
||||||
|
response.sendRedirect(mhurl+"?loginid="+encodeResultStr);
|
||||||
|
|
||||||
|
}catch (Exception E){
|
||||||
|
bb.writeLog("mhxxerror====>"+E.getMessage());
|
||||||
|
response.sendRedirect(mhurl);
|
||||||
|
}
|
||||||
|
%>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue