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.

1077 lines
59 KiB
Java

package com.engine.custom.archives.workflow.cmd.requestLog;
import com.api.doc.detail.service.DocViewPermission;
import com.api.doc.detail.util.DocDownloadCheckUtil;
import com.api.odoc.util.OdocFileUtil;
import com.api.workflow.constant.RequestAuthenticationConstant;
import com.api.workflow.service.RequestAuthenticationService;
import com.api.workflow.util.ServiceUtil;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.constant.ParamConstant;
import com.engine.common.entity.BizLogContext;
import com.engine.common.util.AttrSignatureUtil;
import com.engine.core.interceptor.CommandContext;
import com.engine.custom.archives.workflow.biz.requestLog.RequestLogCusBiz;
import com.engine.hrm.biz.OrganizationShowSetBiz;
import com.engine.workflow.biz.QysSignatureCominfo;
import com.engine.workflow.biz.RobotNode.RobotNodeBiz;
import com.engine.workflow.biz.RobotNode.RobotNodeServiceBiz;
import com.engine.workflow.biz.SecondAuthBiz;
import com.engine.workflow.biz.WorkflowCommunicationBiz;
import com.engine.workflow.biz.freeNode.FreeNodeBiz;
import com.engine.workflow.biz.requestForm.RequestFormBiz;
import com.engine.workflow.constant.SecondAuthType;
import com.engine.workflow.constant.SignSource;
import com.engine.workflow.constant.menu.SystemMenuType;
import com.engine.workflow.constant.requestForm.RequestConstant;
import com.engine.workflow.entity.requestForm.RightMenu;
import com.engine.workflow.service.RequestSecondAuthService;
import com.engine.workflow.service.impl.RequestSecondAuthServiceImpl;
import com.engine.workflow.util.MenuOrderSetUtil;
import com.google.common.base.Strings;
1 year ago
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import weaver.conn.RecordSet;
import weaver.crm.Maint.CustomerInfoComInfo;
import weaver.dateformat.DateTransformer;
import weaver.dateformat.UnifiedConversionInterface;
import weaver.docs.category.SecCategoryComInfo;
import weaver.docs.docs.DocImageManager;
import weaver.docs.webservices.DocAttachment;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.systeminfo.SystemEnv;
import weaver.workflow.request.RequestLogOperateName;
import weaver.workflow.request.RequestRemarkRight;
import weaver.workflow.request.WFLinkInfo;
import weaver.workflow.request.WorkflowSpeechAppend;
import weaver.workflow.workflow.WorkflowAllComInfo;
import weaver.workflow.workflow.WorkflowConfigComInfo;
import weaver.workflow.workflow.WorkflowRequestComInfo;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* Created by jhy on 2018/4/10.
*/
public class LoadRequestLogDataCusCmd extends AbstractCommonCommand<Map<String, Object>> {
1 year ago
public static Logger log = LoggerFactory.getLogger("Archives");
/***方便使用参数***/
private int requestid;
private int workflowid;
private int nodeid;
private int desrequestid;
private int isrequest;
private boolean isprint;
private boolean isworkflowhtmldoc;
private String f_weaver_belongto_userid;
private String f_weaver_belongto_usertype;
private String source=""; //添加参数用于转pdf复用此cmd
private AttrSignatureUtil attrSignatureUtil;
private String authSignatureInfo;
private String authStr;
private String authSignatureStr;
private ResourceComInfo ResourceComInfo;
private DepartmentComInfo DepartmentComInfo;
private CustomerInfoComInfo CustomerInfoComInfo;
private HttpServletRequest request;
public LoadRequestLogDataCusCmd(HttpServletRequest request, User user, Map<String, Object> params) {
this.request = request;
this.user = user;
this.params = params;
}
public LoadRequestLogDataCusCmd(HttpServletRequest request, User user, Map<String, Object> params, String source) {
this.request = request;
this.user = user;
this.params = params;
this.source =source;
}
public LoadRequestLogDataCusCmd(User user, Map<String, Object> params, String source) {
this.user = user;
this.params = params;
this.source =source;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
return executeTransfer();
}
public Map<String, Object> executeTransfer(){
requestid = Util.getIntValue(Util.null2String(params.get("requestid")));
f_weaver_belongto_userid = Util.null2String(params.get("f_weaver_belongto_userid"));
f_weaver_belongto_usertype = Util.null2String(params.get("f_weaver_belongto_usertype"));
attrSignatureUtil = new AttrSignatureUtil(user.getUID(), Util.null2String(params.get(ParamConstant.REQUEST_HEADER_USER_AGENT)));
String _attributesString = Util.null2String(params.get(RequestConstant.SIGNATURE_ATTRIBUTES_STR));
String _attributesSignature = Util.null2String(params.get(RequestConstant.SIGNATURE_SECRET_KEY));
Map<String, Object> apidatas = new HashMap<String, Object>();
if ("".equals(source)){
attrSignatureUtil.verifySignature(_attributesString, _attributesSignature);
//校验本次请求的requestid是否是当前用户打开的流程
RequestAuthenticationService authService = new RequestAuthenticationService();
authService.setUser(user);
if (!authService.verify(request, requestid)) {
new BaseBean().writeLog("被拦截LoadRequestLogDataCusCmdrequestid" + requestid);
apidatas.put(Util.null2String(requestid),"被拦截LoadRequestLogDataCusCmd");
return apidatas;
}
authStr = authService.getAuthString();
authSignatureStr= authService.getAuthSignatureString();
authSignatureInfo = "&authStr=" + authService.getAuthString()+ "&authSignatureStr=" + authService.getAuthSignatureString();
} else {
authStr = Util.null2String(params.get(RequestAuthenticationConstant.AUTHORITY_STRING));
authSignatureStr= Util.null2String(params.get(RequestAuthenticationConstant.AUTHORITY_SIGNATURESTRING));
authSignatureInfo = "&authStr=" + Util.null2String(params.get(RequestAuthenticationConstant.AUTHORITY_STRING)) + "&authSignatureStr=" + Util.null2String(params.get(RequestAuthenticationConstant.AUTHORITY_SIGNATURESTRING));
}
workflowid = Util.getIntValue(Util.null2String(params.get("workflowid")), 0);
nodeid = Util.getIntValue(Util.null2String(params.get("nodeid")), 0);
isworkflowhtmldoc = "1".equals(Util.null2String(attrSignatureUtil.getAttribute("isworkflowhtmldoc" + requestid)));
desrequestid = Util.getIntValue(Util.null2String(attrSignatureUtil.getAttribute("desrequestid")));
isrequest = Util.getIntValue(Util.null2String(attrSignatureUtil.getAttribute("isrequest")));
isprint = "1".equals(Util.null2String(params.get("isprint")));
try {
ResourceComInfo = new ResourceComInfo();
DepartmentComInfo = new DepartmentComInfo();
CustomerInfoComInfo = new CustomerInfoComInfo();
apidatas = getRequestLogData();
} catch (Exception e) {
e.printStackTrace();
apidatas.put("error", "1");
}
return apidatas;
}
public Map<String, Object> getRequestLogData() throws Exception {
RecordSet recordSet = new RecordSet();
WorkflowAllComInfo wfComInfo = new WorkflowAllComInfo();
boolean isFromWfForm = "1".equals(params.get("isFromWfForm"));
long start = System.currentTimeMillis();
int userid = user.getUID();
1 year ago
// boolean isdebug = (userid == 8 || userid == 80 || userid == 1215 || userid == 1348 || userid == 3724 || userid == 4548);
boolean isdebug = true;
if (isdebug) {
1 year ago
log.error("requestlog-121-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
start = System.currentTimeMillis();
Map<String, Object> resultDatas = new HashMap<String, Object>();
boolean issplitload = Util.null2String(params.get("loadmethod")).equals("split"); //是否分页加载
if (isdebug) {
1 year ago
log.error("requestlog-122-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
start = System.currentTimeMillis();
boolean loadbyuser = Boolean.parseBoolean(Util.null2String(params.get("loadbyuser")));
String viewLogIds = Util.null2String(params.get("viewLogIds"));
int creatorNodeId = Util.getIntValue(Util.null2String(params.get("creatorNodeId")));
String isHideInput = Util.null2String(params.get("isHideInput"));
// 是否流程督办
int urger = Util.getIntValue(Util.null2String(attrSignatureUtil.getAttribute("urger")));
// 是否流程干预
int isintervenor = Util.getIntValue(Util.null2String(attrSignatureUtil.getAttribute("isintervenor")));
// 转发引用权限
int forward = Util.getIntValue(Util.null2String(params.get("forward")), 0);
int submit = Util.getIntValue(Util.null2String(params.get("submit")), 0);
// 页面是否有表单签章,有的话,取消引用按钮
String isFormSignature = Util.null2String(params.get("isFormSignature"));
boolean isFromMobile = "1".equals(Util.null2String(params.get("isFromMobile")));
String pgflag = Util.null2String(params.get("pgnumber"));
String maxrequestlogid = Util.null2String(params.get("maxrequestlogid"));
int wfsignlddtcnt = Util.getIntValue(Util.null2String(params.get("wfsignlddtcnt")), 0);
String orderbytype = Util.null2String(params.get("orderbytype"));
boolean isOldWf = "true".equals(Util.null2String(params.get("isOldWf")));
boolean isshowsrc = "1".equals(Util.null2String(wfComInfo.getShowSrc(String.valueOf(workflowid))));
boolean isOpenCommunication = false;
recordSet.executeQuery("select orderbytype, isOpenCommunication from workflow_base where id = ?",workflowid);
if(recordSet.next()){
orderbytype = Util.null2String(recordSet.getString(1));
isOpenCommunication = recordSet.getInt(2) == 1;
}
if (loadbyuser) {
recordSet.executeSql("SELECT nodeid FROM workflow_currentoperator WHERE requestid=" + requestid + " AND userid=" + user.getUID() + " ORDER BY receivedate desc,receivetime DESC");
if (recordSet.next()) {
String viewNodeId = recordSet.getString("nodeid");
recordSet.executeSql("SELECT viewnodeids FROM workflow_flownode WHERE workflowid=" + workflowid + " AND nodeid=" + viewNodeId);
String viewnodeids = "-1";
if (recordSet.next()) {
viewnodeids = recordSet.getString("viewnodeids");
}
if ("-1".equals(viewnodeids)) {// 全部查看
recordSet.executeSql("SELECT nodeid FROM workflow_flownode WHERE workflowid= " + workflowid + " AND EXISTS(SELECT 1 FROM workflow_nodebase WHERE id=workflow_flownode.nodeid AND (requestid IS NULL OR requestid=" + requestid + "))");
while (recordSet.next()) {
viewLogIds += "," + recordSet.getString("nodeid");
}
} else if (viewnodeids == null || "".equals(viewnodeids)) {// 全部不能查看
} else {// 查看部分
viewLogIds += "," + viewnodeids;
}
}
}
int pgnumber = Util.getIntValue(pgflag);
String orderby = "desc";
if ("2".equals(orderbytype)) {
orderby = "asc";
}
WFLinkInfo wfLinkInfo = new WFLinkInfo();
wfLinkInfo.setRequest(request);
wfLinkInfo.setIsprint(isprint);
ArrayList log_loglist = null;
// 获取高级查询的条件
String sqlwhere = Util.null2String(params.get("sqlWhere"));
if(!"".equals(sqlwhere)) writeLog("requestid:"+requestid+",userid:"+userid+",sqlwhere:"+sqlwhere);
if ("".equals(source)){
sqlwhere += wfLinkInfo.getRequestLogSearchConditionStr();
}
if (isdebug) {
1 year ago
log.error("requestlog-123-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
// 节点签字意见权限控制
RequestRemarkRight remarkRight = new RequestRemarkRight();
String sqlcondition = remarkRight.getRightCondition(requestid, workflowid, user.getUID());
sqlcondition += RequestLogCusBiz.getCustomSourceCondition(source,params);//添加source自定义条件
sqlwhere += sqlcondition;
if (isdebug) {
1 year ago
log.error("requestlog-124-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
StringBuffer sbfmaxrequestlogid = new StringBuffer(maxrequestlogid);
//分页加载重新计算当前页最大logid
if (issplitload) {
//sbfmaxrequestlogid = wfLinkInfo.getMaxLogid(requestid, workflowid, viewLogIds, orderby, wfsignlddtcnt, pgnumber, sqlwhere);
}
if (isdebug) {
1 year ago
log.error("requestlog-125-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
if (pgflag == null || pgflag.equals("")) {
1 year ago
log_loglist = wfLinkInfo.getRequestLog(requestid, workflowid, viewLogIds, "asc", sqlcondition);
} else {
//log_loglist = wfLinkInfo.getRequestLog(requestid, workflowid, viewLogIds, orderby, wfsignlddtcnt, sbfmaxrequestlogid, sqlwhere);
boolean isSubrequest = (boolean)params.get("isSubrequest");
1 year ago
log_loglist = RequestLogCusBiz.getRequestLog(requestid,workflowid,viewLogIds,"asc",wfsignlddtcnt,pgnumber,sqlwhere,isSubrequest);
if(RequestLogCusBiz.isEndLog(requestid,workflowid,viewLogIds,"asc",wfsignlddtcnt,pgnumber,sqlwhere)){///判断此次加载是否是最后一页
resultDatas.put("isEnd", true);
}
}
resultDatas.put("maxrequestlogid", sbfmaxrequestlogid.toString());
if (isdebug) {
1 year ago
log.error("requestlog-126-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
int tempRequestLogId = 0;
int tempImageFileId = 0;
int languageidfromrequest = user.getLanguage();
RecordSet recordSetlog3 = new RecordSet();
WorkflowRequestComInfo wfrequestcominfo = new WorkflowRequestComInfo();
DocImageManager DocImageManager = new DocImageManager();
SecCategoryComInfo SecCategoryComInfo1 = new SecCategoryComInfo();
RequestLogOperateName RequestLogOperateName = new RequestLogOperateName();
String initUser = "";
List<Map<String, Object>> loglistnew = new ArrayList<Map<String, Object>>();
//签字意见相关流程
String signrequestids = "";
if (isdebug) {
1 year ago
log.error("requestlog-127-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
start = System.currentTimeMillis();
//二次认证,数据保护的验证
Map<String, Object> checkMap = SecondAuthBiz.getProtectedLogs(requestid);
Map<String, String> logIdMap = (HashMap<String, String>) checkMap.get("logIdMap");
int checkLogId = Util.getIntValue(Util.null2String(checkMap.get("logId")), -1);
checkMap.remove("logIdMap");
RequestSecondAuthService requestSecondAuthService = com.engine.common.util.ServiceUtil.getService(RequestSecondAuthServiceImpl.class, user);
//批量获取契约锁认证的信息
Map<String, Object> qysSignInfoMap = SecondAuthBiz.getMultiQYSSignInfo(requestid);
DateTransformer dft = new DateTransformer();
UnifiedConversionInterface uci = new UnifiedConversionInterface();
QysSignatureCominfo signatureCominfo = new QysSignatureCominfo();
int tempnodeid = FreeNodeBiz.getExtendNodeId(requestid,nodeid);
Map<String, String> operateNameMap = getOperateMenuName(tempnodeid, user.getLanguage());
String forwardMenuName = operateNameMap.get("forwardName");
for (int i = 0; i < log_loglist.size(); i++) {
Hashtable htlog = (Hashtable) log_loglist.get(i);
Map<String, Object> logmap = new HashMap<String, Object>();
int log_nodeid = Util.getIntValue((String) htlog.get("nodeid"), 0);
int log_destnodeid = Util.getIntValue((String) htlog.get("destnodeid"), 0);
int log_nodeattribute = Util.getIntValue((String) htlog.get("nodeattribute"), 0);
String log_nodename = Util.null2String((String) htlog.get("nodename"));
String log_remark = RequestFormBiz.manageCssPollute(Util.null2String((String) htlog.get("remark")));
String log_operator = Util.null2String((String) htlog.get("operator"));
String log_operatedate = Util.null2String((String) htlog.get("operatedate"));
String log_operatetime = Util.null2String((String) htlog.get("operatetime"));
String isRobotNode = Util.null2String((String) htlog.get("isRobotNode"));
if(uci.getTimeZoneStatus()) {
//开启多时区
String[] tempoperatetime = dft.getLocaleDateAndTime(log_operatedate,log_operatetime);
log_operatedate = tempoperatetime[0];
log_operatetime = tempoperatetime[1];
}
String log_logtype = Util.null2String((String) htlog.get("logtype"));
String log_receivedPersons = Util.null2String((String) htlog.get("receivedPersons"));
String log_receivedPersonIds = Util.null2String((String) htlog.get("receivedPersonids"));
tempRequestLogId = Util.getIntValue((String) htlog.get("logid"), 0);
String log_annexdocids = Util.null2String((String) htlog.get("annexdocids"));
String log_signdocids = Util.null2String((String) htlog.get("signdocids"));
String log_signworkflowids = Util.null2String((String) htlog.get("signworkflowids"));
String tmpLogId = Util.null2String(htlog.get("tmpLogId"));
String remarkLocation = Util.null2String(htlog.get("remarkLocation"));
String ismobile = Util.null2String(htlog.get("isMobile"));
String remarkHtml = Util.null2String((String) htlog.get("remarkHtml"));
SignSource signSource = "t".equals(log_logtype) ? null : SignSource.getSignSource(ismobile);
String mobileSuffix = "";
if(signSource != null && (isshowsrc || signSource == SignSource.AUTO_APPROVE || signSource == SignSource.AUTO_SUBMIT)) {
remarkHtml += SignSource.getSignSourceHtml(signSource,user.getLanguage());
//不显示意见来源,处理历史数据
} else if (!isshowsrc) {
remarkHtml = RequestLogCusBiz.removeRemarkSource(remarkHtml);
}else if(isshowsrc){
String remarktemp = remarkHtml;
remarkHtml = RequestLogCusBiz.removeRemarkSource(remarktemp);
int index = remarktemp.indexOf("<span style='font-size:11px;color:#666;'>来自微信企业号");
if (index > 0) {
int index2 = remarktemp.indexOf("</span>", index);
remarkHtml += "<br>" + remarktemp.substring(index, index2);
}
}
logmap.put("forwardMenuName", forwardMenuName);
logmap.put("remarkLocation",remarkLocation);
String log_remarkHtml = RequestFormBiz.manageCssPollute(remarkHtml);
String log_iframeId = Util.null2String((String) htlog.get("iframeId"));
int requestLogId = Util.getIntValue(Util.null2String(htlog.get("id")), 0);
String log_operatortype = Util.null2String((String) htlog.get("operatortype"));
//验证数据
//if (!isprint) {
logmap.put("isProtected", "0");
logmap.put("checkSuccess", "-1");
if (requestLogId > 0) {
if (logIdMap.containsKey(String.valueOf(tmpLogId))) { //有契约锁数据保护
int protectType = Util.getIntValue(Util.null2String(logIdMap.get(tmpLogId)), 0);
logmap.put("isProtected", "1");
logmap.put("protectType", protectType);
if (protectType == SecondAuthType.QYS.getId()) { //契约锁数据保护
//add by fmj 2019-08-27 因为契约锁数据保护,也会先进行契约锁认证,因此此处先取认证时选择的印章,
//String qysSignatureId = SecondAuthBiz.getQYSSignatureId(Util.getIntValue(tmpLogId, 0));
String qysSignatureId = "";
Map<String, Object> certDetails = new HashMap<String, Object>();
if (qysSignInfoMap.containsKey(tmpLogId)) {
Map<String, Object> signInfoMap = (Map<String, Object>) qysSignInfoMap.get(tmpLogId);
if (signInfoMap != null) {
qysSignatureId = Util.null2String(signInfoMap.get("signatureId"));
certDetails = (Map<String, Object>) signInfoMap.get("certDetails");
}
}
int signatureId = Util.getIntValue(qysSignatureId, 0);
//没有认证时选择的印章,再取从契约锁同步过来的个人签名
if (signatureId <= 0) {
qysSignatureId = signatureCominfo.getSignatureid(log_operator);
signatureId = Util.getIntValue(qysSignatureId, 0);
}
if (signatureId > 0) {
String signIdCode = DocDownloadCheckUtil.EncodeFileid(signatureId + "",user);
logmap.put("qys_signature_id", signIdCode);
//添加印章的尺寸
// Map<String, Object> certDetails = SecondAuthBiz.getCertDetails(Util.getIntValue(tmpLogId, 0));
int qyswidth = (int)Util.getDoubleValue(Util.null2String(certDetails.get("qyswidth")),0);
int qysheight = (int)Util.getDoubleValue(Util.null2String(certDetails.get("qysheight")),0);
logmap.put("qyswidth",qyswidth);
logmap.put("qysheight",qysheight);
}
}
//数据保护默认所有的都是验证通过的,只对最后一条签字意见做特殊处理,需要验证数据有效性
logmap.put("checkSuccess", 1);
logmap.put("clickCheck", 0);
} else { //没有契约锁数据保护
//String qysSignatureId = SecondAuthBiz.getQYSSignatureId(Util.getIntValue(tmpLogId, 0));
String qysSignatureId = "";
Map<String, Object> certDetails = new HashMap<String, Object>();
if (qysSignInfoMap.containsKey(tmpLogId)) {
Map<String, Object> signInfoMap = (Map<String, Object>) qysSignInfoMap.get(tmpLogId);
if (signInfoMap != null) {
qysSignatureId = Util.null2String(signInfoMap.get("signatureId"));
certDetails = (Map<String, Object>) signInfoMap.get("certDetails");
}
}
int signatureId = Util.getIntValue(qysSignatureId, 0);
if (signatureId > 0) {
String signIdCode = DocDownloadCheckUtil.EncodeFileid(signatureId + "",user);
logmap.put("qys_signature_id", signIdCode);
//添加印章的尺寸
//Map<String, Object> certDetails = SecondAuthBiz.getCertDetails(Util.getIntValue(tmpLogId, 0));
int qyswidth = (int)Util.getDoubleValue(Util.null2String(certDetails.get("qyswidth")),0);
int qysheight = (int)Util.getDoubleValue(Util.null2String(certDetails.get("qysheight")),0);
logmap.put("qyswidth",qyswidth);
logmap.put("qysheight",qysheight);
}
}
if (requestLogId == checkLogId) { //最后一条签字意见,验证数据保护
Map<String, Object> checkResult = requestSecondAuthService.checkProtectDatas(checkMap);
String checkSuccess = Util.null2String(checkResult.get("success"));
logmap.put("checkSuccess", checkSuccess);
logmap.put("clickCheck", 1);
}
}
// }
if (pgflag == null || pgflag.equals("")) {
if (log_loglist.size() > 10) {
if (i < 10) {
continue;
}
}
}
tempImageFileId = 0;
if (tempRequestLogId > 0) {
recordSet.executeSql("select imageFileId from Workflow_FormSignRemark where requestLogId=" + tempRequestLogId);
if (recordSet.next()) {
tempImageFileId = Util.getIntValue(recordSet.getString("imageFileId"), 0);
}
}
logmap.put("logid", Util.null2String((String) htlog.get("id")));
//是否有相关交流引用
if (isOpenCommunication) {
logmap.put("hasCommunicationQuote", WorkflowCommunicationBiz.requestLogQuoteCheck(Util.getIntValue(Util.null2String(logmap.get("logid")))));
}
String img_path = "0".equals(log_operatortype) ? ResourceComInfo.getMessagerUrls(log_operator) : "/messager/images/icon_m_wev8.jpg";
img_path = RobotNodeBiz.operatortype.equals(log_operatortype) ? "/messager/images/robot.png" : img_path;
// 人员头像
logmap.put("img_path", img_path);
int showimg = Util.getIntValue(recordSet.getPropValue("WFSignatureImg", "showimg"), 0);
int signnaturImgHeight = Util.getIntValue(recordSet.getPropValue("WFSignatureImg", "imgheight"));
recordSet.execute("select * from DocSignature where hrmresid=" + log_operator + " and sealtype = 1 order by markid");
String userimg = "";
// 表单签章
if (showimg == 1 && recordSet.next() && true && "0".equals(log_operatortype)) {
String markpath = Util.null2String(recordSet.getString("markpath"));
if (!markpath.equals("")) {
OdocFileUtil odocfileutil = new OdocFileUtil();
String useridrandom = odocfileutil.changeParamToBase64Str(Util.getIntValue(log_operator,-1)+"");
userimg = "/weaver/weaver.file.ImgFileDownload?userid=" + useridrandom+"&sealType=1";
}
}
logmap.put("userimg", userimg);
logmap.put("signnaturImgHeight", signnaturImgHeight);
this.loadOperatorInfo(isOldWf, htlog, creatorNodeId, recordSetlog3, logmap);
// 签字意见内容
if (!log_logtype.equals("t")) {
// 表单签章
if (tempRequestLogId > 0 && tempImageFileId > 0) {
log_remarkHtml += "<img src=\"/weaver/weaver.file.FileDownload?fileid="+tempImageFileId+"\"></img>";
} else {
Pattern pattern0 = Pattern.compile("(\\/workflow\\/request\\/ViewRequest(ForwardSPA)?\\.jsp\\?)");
Matcher m0 = pattern0.matcher(log_remarkHtml);
if(m0.find()) {
log_remarkHtml = m0.replaceAll("/workflow/request/ViewRequestForwardSPA.jsp?f_weaver_belongto_userid=" + f_weaver_belongto_userid + authSignatureInfo + "&desrequestid=" + requestid + "&");
}
Pattern pattern1 = Pattern.compile("(\\/docs\\/docs\\/DocDsp.jsp\\?)");
Matcher m1 = pattern1.matcher(log_remarkHtml);
if (m1.find()) {
log_remarkHtml = m1.replaceAll(ServiceUtil.docViewUrl + "?f_weaver_belongto_userid=" + f_weaver_belongto_userid + authSignatureInfo + "&desrequestid=" + requestid + "&");
}
// 流程签字意见内容中附件
if(log_remarkHtml.indexOf("desrequestid=0")>-1)
log_remarkHtml = log_remarkHtml.replace("desrequestid=0", "desrequestid=" + desrequestid);
if(log_remarkHtml.indexOf("requestid=-1")>-1)
log_remarkHtml = log_remarkHtml.replace("requestid=-1", "requestid=" + requestid);
// if (log_remarkHtml.indexOf("<img") > -1 && !isFromMobile) {
// String begin_logRemark = "";
// String new_logRemark = "";
// String end_logRemark = "";
// String cycleString = log_remarkHtml;
// int f = 0;
// while (cycleString.indexOf("<img") > -1) {
// f++;
// int b = cycleString.indexOf("<img");
// begin_logRemark = cycleString.substring(0, b);
// new_logRemark += begin_logRemark;
// cycleString = cycleString.substring(b);
// String imgString = "";
// int e = cycleString.indexOf("/>");
// imgString = cycleString.substring(0, e);
// if (isworkflowhtmldoc) {
// new_logRemark += "<a>" + imgString + " onload=\"image_resize(this,'" + log_iframeId + "');\" onresize=\"image_resize(this,'" + log_iframeId + "');\" /> </a>";
// } else {
// new_logRemark += "<div class=\"small_pic\"><a pichref=\"pic_one" + f + "\">" + imgString
// + " style=\"max-width:100%;\" "+(isprint ? "onload" : "original-onload")+"=\"image_resize(this,'" + log_iframeId + "');\" "+(isprint ? "onresize" : "original-onresize")+"=\"image_resize(this,'" + log_iframeId + "');\" /> </a></div><div id=\"pic_one" + f + "\" style=\"display:none;\">" + imgString + " style=\"max-width:100%;\" class=\"maxImg\" /></div>";
// }
// cycleString = cycleString.substring(e + 2);
// end_logRemark = cycleString;
// }
// new_logRemark += end_logRemark;
// log_remarkHtml = new_logRemark;
// }
if(!isprint && isFromWfForm)
log_remarkHtml= RequestFormBiz.manageImgLazyLoad(log_remarkHtml); //图片懒加载处理
if (isprint && log_remark.indexOf("<img") > -1) { // 打印使用的是log_remark也需要处理img
// /////////
String begin_logRemark = "";
String new_logRemark = "";
String end_logRemark = "";
String cycleString = log_remark;
int f = 0;
while (cycleString.indexOf("<img") > -1) {
f++;
int b = cycleString.indexOf("<img");
begin_logRemark = cycleString.substring(0, b);
new_logRemark += begin_logRemark;
cycleString = cycleString.substring(b);
String imgString = "";
int e = cycleString.indexOf("/>");
imgString = cycleString.substring(0, e);
new_logRemark += "<div class=\"small_pic\">" + imgString + " onload=\"image_resize(this,'" + log_iframeId + "');\" onresize=\"image_resize(this,'" + log_iframeId + "');\" /></div><div id=\"pic_one" + f + "\" style=\"display:none;\">" + imgString
+ " class=\"maxImg\" /></div>";
cycleString = cycleString.substring(e + 2);
end_logRemark = cycleString;
}
new_logRemark += end_logRemark;
log_remark = new_logRemark;
}
String tempremark = log_remark;
tempremark = Util.StringReplace(tempremark, "&lt;br&gt;", "<br>");
if (!"".equals(tempremark) && isprint) {
tempremark += "<br>";
}
logmap.put("tempremark", tempremark);
logmap.put("pgflag", Util.null2String(pgflag));
}
}
try {
String appendData = log_remarkHtml;
if(appendData.indexOf("handwritten_xzl")>-1){
int start1 = appendData.indexOf("handwritten_xzl")+21;
String tempStr = appendData.substring(start1);
int end = tempStr.indexOf("src")-2;
String fileId= tempStr.substring(0,end);
String new_img="";
String attachmentidAes = DocDownloadCheckUtil.checkPermission(String.valueOf(fileId), null);
new_img += "<BR/><img class=\'handwritten_xzl\' style=\'width:50%\' name=\"handWrittenSign\" src=\"/weaver/weaver.file.FileDownload?fileid=" + attachmentidAes + "\" />";
String begin_logRemark = "";
String new_logRemark = "";
String end_logRemark = "";
String cycleString = appendData;
if (cycleString.indexOf("<img class=\"handwritten_xzl\"") > -1) {
int b = cycleString.indexOf("<img class=\"handwritten_xzl\"");
begin_logRemark = cycleString.substring(0, b);
new_logRemark += begin_logRemark;
cycleString = cycleString.substring(b);
int e = cycleString.indexOf("/>");
new_logRemark += new_img;
cycleString = cycleString.substring(e + 2);
end_logRemark = cycleString;
}
new_logRemark += end_logRemark;
log_remarkHtml = new_logRemark;
}
}catch(Exception e){
e.printStackTrace();
}
logmap.put("log_remarkHtml", ServiceUtil.convertChar(log_remarkHtml));
if(isrequest==-1){
isrequest = Util.getIntValue(Util.null2String(params.get("isrequest")))==-1?1:Util.getIntValue(Util.null2String(params.get("isrequest")));
}
// 相关文件
if (!log_annexdocids.equals("") || !log_signdocids.equals("") || !log_signworkflowids.equals("")) {
// 相关文档
if (!log_signdocids.equals("")) {
recordSetlog3.executeSql("select id,docsubject,accessorycount,SecCategory from docdetail where id in(" + log_signdocids + ") order by id asc");
List<Map<String, String>> signdocs = new ArrayList<Map<String, String>>();
while (recordSetlog3.next()) {
Map<String, String> map = new HashMap<String, String>();
String showid = Util.null2String(recordSetlog3.getString(1));
String tempshowname = Util.toScreen(recordSetlog3.getString(2), languageidfromrequest);
map.put("showid", showid);
map.put("authStr", authStr);
map.put("authSignatureStr", authSignatureStr);
map.put("tempshowname", tempshowname);
map.put("filelink", ServiceUtil.docViewUrl + "?f_weaver_belongto_userid=" + user.getUID() + "&f_weaver_belongto_usertype=" + f_weaver_belongto_usertype + "&id=" + showid + "&isrequest="+isrequest+"&requestid=" + requestid + authSignatureInfo);
signdocs.add(map);
}
logmap.put("signdocs", signdocs);
}
int tempnum = Util.getIntValue(String.valueOf(attrSignatureUtil.getAttribute("slinkwfnum")));
// if(tempnum <= 0){
// tempnum = Util.getIntValue(String.valueOf(session.getAttribute("slinkwfnum")));
// }
// 相关流程
if (!log_signworkflowids.equals("")) {
List<Map<String, Object>> signwfs = new ArrayList<Map<String, Object>>();
ArrayList<String> tempwflists = Util.TokenizerString(log_signworkflowids, ",");
for (int k = 0; k < tempwflists.size(); k++) {
tempnum++;
//session.setAttribute("resrequestid" + tempnum, "" + tempwflists.get(k));
Map<String, Object> map = new HashMap<String, Object>();
map.put("isrequest", "1");
map.put("requestid", tempwflists.get(k));
//map.put("wflinkno", tempnum + "");
map.put("desrequestid", requestid);
map.put("authSignatureInfo",authSignatureInfo);
map.put("authStr",authStr);
map.put("authSignatureStr",authSignatureStr);
map.put("f_weaver_belongto_userid", f_weaver_belongto_userid);
map.put("f_weaver_belongto_usertype", f_weaver_belongto_usertype);
map.put("title", wfrequestcominfo.getRequestName((String) tempwflists.get(k)));
signwfs.add(map);
signrequestids += tempwflists.get(k) + ",";
}
logmap.put("signwfs", signwfs);
}
//session.setAttribute("slinkwfnum", "" + tempnum);
//session.setAttribute("haslinkworkflow", "1");
attrSignatureUtil.setAttribute("haslinkworkflow", "1");
// 相关附件
if (!log_annexdocids.equals("")) {
recordSetlog3.executeSql("select id,docsubject,accessorycount,SecCategory from docdetail where id in(" + log_annexdocids + ") order by id asc");
List<Map<String, Object>> annexdocs = new ArrayList<Map<String, Object>>();
while (recordSetlog3.next()) {
String showid = Util.null2String(recordSetlog3.getString(1));
String tempshowname = Util.toScreen(recordSetlog3.getString(2), languageidfromrequest);
int accessoryCount = recordSetlog3.getInt(3);
String SecCategory = Util.null2String(recordSetlog3.getString(4));
DocImageManager.resetParameter();
DocImageManager.setDocid(Util.getIntValue(showid));
DocImageManager.selectDocImageInfo();
String docImagefilename = "";
String fileExtendName = "";
String docImagefileid = "";
int versionId = 0;
long docImagefileSize = 0;
if (DocImageManager.next()) {
// DocImageManager会得到doc第一个附件的最新版本
docImagefilename = DocImageManager.getImagefilename();
fileExtendName = docImagefilename.substring(docImagefilename.lastIndexOf(".") + 1).toLowerCase();
docImagefileid = DocImageManager.getImagefileid();
docImagefileSize = DocImageManager.getImageFileSize(Util.getIntValue(docImagefileid));
versionId = DocImageManager.getVersionId();
}
if (accessoryCount > 1) {
fileExtendName = "htm";
}
//String imgSrc = AttachFileUtil.getImgStrbyExtendName(fileExtendName, 16);
boolean nodownload = SecCategoryComInfo1.getNoDownload(SecCategory).equals("1") ? true : false;
String filelink = "";
//打开文档判断是否在线预览文档处已经做了全部的处理。所以这边直接走else逻辑
if (false && accessoryCount == 1 && (fileExtendName.equalsIgnoreCase("xls") || fileExtendName.equalsIgnoreCase("doc") || fileExtendName.equalsIgnoreCase("xlsx") || fileExtendName.equalsIgnoreCase("docx") || fileExtendName.equalsIgnoreCase("pdf"))) {
filelink = ServiceUtil.docViewUrl + "?f_weaver_belongto_userid=" + user.getUID() + "&f_weaver_belongto_usertype=" + f_weaver_belongto_usertype + "&id=" + showid + "&imagefileId=" + docImagefileid + "&isFromAccessory=true&isrequest="+isrequest+"&requestid=" + requestid + "&desrequestid=" + desrequestid + authSignatureInfo;
} else {
filelink = ServiceUtil.docViewUrl + "?f_weaver_belongto_userid=" + user.getUID() + "&f_weaver_belongto_usertype=" + f_weaver_belongto_usertype + "&id=" + showid + "&isrequest="+isrequest+"&requestid=" + requestid + "&desrequestid=" + desrequestid + authSignatureInfo;
}
String downloadlink = "";
if (accessoryCount == 1 && !isprint && ((!fileExtendName.equalsIgnoreCase("xls") && !fileExtendName.equalsIgnoreCase("doc")) || !nodownload)) {
downloadlink = weaver.general.GCONST.getContextPath()+"/weaver/weaver.file.FileDownload?fileid=" + docImagefileid + "&download=1&requestid=" + requestid + "&desrequestid=" + desrequestid + authSignatureInfo;
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("showid", showid); //附件ID
map.put("docImagefilename", docImagefilename); //附件名称
map.put("fileExtendName", fileExtendName); //附件后缀名
map.put("docImagefileid", docImagefileid);
map.put("versionId", versionId);
map.put("docImagefileSize", docImagefileSize);
map.put("nodownload", nodownload);
map.put("tempshowname", tempshowname);
map.put("filelink", filelink);
map.put("downloadlink", downloadlink);
map.put("authStr",authStr);
map.put("authSignatureStr",authSignatureStr);
boolean docright = true;
if("1".equals(new WorkflowConfigComInfo().getValue("file_download_use_docright"))){
DocViewPermission docViewPermission = new DocViewPermission();
docright = docViewPermission.getShareLevel(Util.getIntValue(showid), user, false).get(DocViewPermission.DOWNLOAD);
new BaseBean().writeLog("流程附件下载权限走知识组权限:docright"+docright+";showid:"+showid);
}
map.put("showdownload", docright && (!Strings.isNullOrEmpty(downloadlink)) );
annexdocs.add(map);
}
//需要按照存放顺序显示存放顺序即log_annexdocids的顺序
String [] idssort = log_annexdocids.split(",");
List<Map<String, Object>> annexdocssort = new ArrayList<Map<String, Object>>();
for(String sort: idssort) {
for(int si = 0;si<annexdocs.size();si++){
if(sort.trim().equals(annexdocs.get(si).get("showid").toString().trim())){
annexdocssort.add(annexdocs.get(si));
break;
}
}
}
if(annexdocs.size() != annexdocssort.size()){
annexdocssort = annexdocs;//防止循环导致数据丢失
}
logmap.put("annexdocs", annexdocssort);
}
}
// 接收人 默认显示10个接收人
int showCount = isFromMobile ? 40: 20;
String[] initUsers = null;
// 流程退回 || 流程分叉节点提交
if("3".equals(log_logtype) || (1 == log_nodeattribute && (log_logtype.equals("0") || log_logtype.equals("2") || log_logtype.equals("3") || log_logtype.equals("t")))) {
//if (((log_nodeattribute != 2) && (log_logtype.equals("0") || log_logtype.equals("2") || log_logtype.equals("3") || log_logtype.equals("t")))) {// 分叉起始或者主干退回到分叉
String[] _log_receivedPersons = wfLinkInfo.getForkStartReceivers(requestid, tempRequestLogId, log_nodeid, log_operatedate, log_operatetime, log_logtype, log_destnodeid);
log_receivedPersons = _log_receivedPersons[0];
}
if (log_receivedPersons.length() > 0 && log_receivedPersons.trim().endsWith(",")) {
log_receivedPersons = log_receivedPersons.substring(0, log_receivedPersons.length() - 1);
}
initUsers = log_receivedPersons.split(",");
initUser = "";
if (initUsers.length > showCount) {
for (int j = 0; j < showCount; j++) {
initUser += "," + initUsers[j];
}
if (initUser.length() > 1) {
initUser = initUser.substring(1);
}
} else {
initUser = log_receivedPersons;
}
loadMobileInfo(htlog,logmap);
// 如果是打印页面,则不隐藏接收人
logmap.put("receiveUser", ServiceUtil.convertChar(initUser));
logmap.put("receiveUserCount", Util.splitString2List(log_receivedPersonIds,",").size());
//判断是否需要显示意见接收人栏的加载更多按钮
boolean showMoreReceiveBtn = log_receivedPersonIds.split(",").length > log_receivedPersons.split(",").length ? true : false;
logmap.put("showMoreReceiveBtn", showMoreReceiveBtn);
// 操作时间
logmap.put("log_operatedate", Util.toScreen(log_operatedate, languageidfromrequest));
logmap.put("log_operatetime", Util.toScreen(log_operatetime, languageidfromrequest));
// 节点信息
logmap.put("log_nodename", Util.toScreen(log_nodename, languageidfromrequest));
String logtype = log_logtype;
String operationname = "";
if("1".equals(isRobotNode)){
operationname = Util.formatMultiLang(new RobotNodeServiceBiz().getRobotNodeSet(Util.getIntValue(log_nodeid)).getOperateTypeName(), languageidfromrequest + "");
}
if("".equals(operationname)){
operationname = RequestLogOperateName.getOperateName("" + workflowid, "" + requestid, "" + log_nodeid, logtype, log_operator, languageidfromrequest,log_operatedate,log_operatetime);
}
logmap.put("operationname", operationname);
// 引用按钮
boolean isReference = (!isHideInput.equals("1") && ((isintervenor == 1 || urger == 1 || submit == 1) && !isFormSignature.equals("1")) && !log_logtype.equals("t") && (log_remarkHtml != null && !"".equals(log_remarkHtml.trim())));
logmap.put("isReference", isReference);
logmap.put("displaytype", log_operatortype);
// 转发
logmap.put("forward", forward);
logmap.put("logtype",log_logtype);
loglistnew.add(logmap);
}
if (isdebug) {
1 year ago
log.error("requestlog-128-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
resultDatas.put("totalCount", RequestLogCusBiz.getRequestLogTotalCount(requestid, workflowid, viewLogIds, sqlwhere));
//相关请求增加session信息
//ServiceUtil.addRelatedWfSession(request, this.requestid, signrequestids);
resultDatas.put("loglist", loglistnew);
return resultDatas;
}
//支持手机端
private void loadMobileInfo(Hashtable htlog,Map<String, Object> logmap){
//设置手写签批
String attenchmentID = Util.null2String(htlog.get("handwrittensignid"));
new BaseBean().writeLog("handwrittensignid123:"+attenchmentID);
List<DocAttachment> docAttachments = new ArrayList<>();
String[] attenchmentids = attenchmentID.split(",");
if(!"".equals(attenchmentID)) {
for (int i = 0; i < attenchmentids.length; i++) {
int attenchmentid = Util.getIntValue(attenchmentids[i]);
if (attenchmentid > 0) {
String strData = WorkflowSpeechAppend.getAppend(attenchmentid);
logmap.put("handWrittenSign", "data:image/png;base64," + strData);
//获取手写签章详细信息
DocAttachment docAttObj = WorkflowSpeechAppend.getAttachment(attenchmentid);
docAttachments.add(docAttObj);
}
}
}
logmap.put("handWrittenSignDoc", docAttachments);
//设置语音附件
int attenchmentID1 = Util.getIntValue(Util.null2String(htlog.get("speechattachmentid")));
String speechAttachmente9 = Util.null2String(htlog.get("speechAttachmente9"));
if(attenchmentID1 > 0){
if(!"".equals(speechAttachmente9)) {
speechAttachmente9 += "," + attenchmentID1;
} else {
speechAttachmente9 = attenchmentID1 + "";
}
}
List<String> speechAttachmetnDatas = new ArrayList <>();
if(!"".equals(speechAttachmente9)) {
String[] speechIds = Util.splitString(speechAttachmente9,",");
for(String speechid : speechIds) {
int _speechid = Util.getIntValue(speechid);
if(_speechid > 0) {
DocAttachment attenchmentDoc = WorkflowSpeechAppend.getAttachment(_speechid);
String fileType = attenchmentDoc.getFiletype();
if(fileType.indexOf("/") >=0){
fileType = fileType.substring(fileType.indexOf("/") + 1);
}
speechAttachmetnDatas.add("data:audio/" + fileType + ";base64," + WorkflowSpeechAppend.getAppend(_speechid));
}
}
}
logmap.put("speechAttachmetnDatas",speechAttachmetnDatas);
//电子签章
String remark = Util.null2String(logmap.get("log_remarkHtml"));
String eletriSignature = WorkflowSpeechAppend.getElectrSignatrue(remark);
if (eletriSignature != null && !"".equals(eletriSignature)){
Pattern pattern = Pattern.compile("/weaver/weaver\\.file\\.SignatureDownLoad\\?markId=\\d+");
Matcher matcher = pattern.matcher(eletriSignature);
if(matcher.find()){
String tempurl = matcher.group();
logmap.put("eletriSignature", tempurl);
}else{
writeLog(String.format("The eletriSignature URL of '%1$s' is null.", eletriSignature));
}
}
}
/**
*
*
* @param isOldWf
* @param htlog
* @param creatorNodeId
* @param recordSetlog3
*/
private void loadOperatorInfo(boolean isOldWf, Hashtable htlog, int creatorNodeId, RecordSet recordSetlog3, Map<String, Object> logmap) {
int languageidfromrequest = user.getLanguage();
boolean isexsAgent = false;
boolean isinneruser = true;
String displayid = "";
String displayname = "";
String displaydepid = "";
String displaydepname = "";
String displaybyagentid = "";
String displaybyagentname = "";
String log_operatortype = Util.null2String((String) htlog.get("operatortype"));
String log_operatorDept = Util.null2String((String) htlog.get("operatorDept"));
String log_operator = Util.null2String((String) htlog.get("operator"));
String log_agenttype = Util.null2String((String) htlog.get("agenttype"));
String log_agentorbyagentid = Util.null2String((String) htlog.get("agentorbyagentid"));
int log_nodeid = Util.getIntValue((String) htlog.get("nodeid"), 0);
if (log_operatortype.equals("0") && !"0".equals(Util.null2String(log_operatorDept)) && !"".equals(Util.null2String(log_operatorDept))) {
displaydepid = Util.toScreen(log_operatorDept, languageidfromrequest);
OrganizationShowSetBiz orgShowBiz = new OrganizationShowSetBiz();
displaydepname = Util.toScreen(orgShowBiz.getDepartmentShow("workflow", log_operatorDept), languageidfromrequest);
}
String robotNodeName = new RobotNodeServiceBiz().getRobotNodeSet(log_nodeid).getOperatorName();
if (isOldWf) {
if (log_operatortype.equals("0")) {
if (isprint == false) {
displayid = log_operator;
displayname = Util.toScreen(ResourceComInfo.getLastname(log_operator), languageidfromrequest);
} else {
displayname = Util.toScreen(ResourceComInfo.getLastname(log_operator), languageidfromrequest);
}
} else if (log_operatortype.equals("1")) {
isinneruser = false;
if (isprint == false) {
displayid = log_operator;
displayname = Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(log_operator), languageidfromrequest);
} else {
displayname = Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(log_operator), languageidfromrequest);
}
} else if (log_operatortype.equals(RobotNodeBiz.operatortype)){
if (isprint == false) {
displayid = log_operator;
displayname = Util.toScreen(robotNodeName, languageidfromrequest);
} else {
displayname = Util.toScreen(robotNodeName, languageidfromrequest);
}
}else {
displayname = SystemEnv.getHtmlLabelName(468, languageidfromrequest);
}
} else {
if (log_operatortype.equals("0")) {
if (isprint == false) {
if (!log_agenttype.equals("2")) {
displayid = log_operator;
displayname = Util.toScreen(ResourceComInfo.getLastname(log_operator), languageidfromrequest);
} else if (log_agenttype.equals("2") || log_agenttype.equals("1")) {
isexsAgent = true;
displaybyagentid = log_agentorbyagentid;
displaybyagentname = Util.toScreen(ResourceComInfo.getLastname(log_agentorbyagentid), languageidfromrequest);
displayid = log_operator;
displayname = Util.toScreen(ResourceComInfo.getLastname(log_operator), languageidfromrequest);
} else {
}
} else {
if (!log_agenttype.equals("2")) {
displayid = log_operator;
displayname = Util.toScreen(ResourceComInfo.getLastname(log_operator), languageidfromrequest);
} else if (log_agenttype.equals("2")) {
isexsAgent = true;
displayid = log_operator;
displaybyagentname = Util.toScreen(ResourceComInfo.getLastname(log_agentorbyagentid), languageidfromrequest);
displayname = Util.toScreen(ResourceComInfo.getLastname(log_operator), languageidfromrequest);
} else {
}
}
} else if (log_operatortype.equals("1")) {
isinneruser = false;
if (isprint == false) {
displayid = log_operator;
displayname = Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(log_operator), languageidfromrequest);
} else {
displayname = Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(log_operator), languageidfromrequest);
}
} else if (log_operatortype.equals(RobotNodeBiz.operatortype)){
if (isprint == false) {
displayid = log_operator;
displayname = Util.toScreen(robotNodeName, languageidfromrequest);
} else {
displayname = Util.toScreen(robotNodeName, languageidfromrequest);
}
} else {
displayname = SystemEnv.getHtmlLabelName(468, languageidfromrequest);
}
}
// 节点操作者有代理 显示的格式为 bagenter->agenter
logmap.put("isexsAgent", isexsAgent);
logmap.put("log_agentorbyagentid", log_agentorbyagentid);
logmap.put("displaybyagentname", displaybyagentname);
// 节点操作者
logmap.put("isinneruser", isinneruser);
logmap.put("displayid", displayid);
logmap.put("displayname", displayname);
// 操作者部门
logmap.put("displaydepid", displaydepid);
logmap.put("displaydepname", displaydepname);
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public Map<String, String> getOperateMenuName(int tempnodeid, int language){
Map<String, String> operateNmae = new HashMap<>();
RightMenu rightMenu = new RightMenu();
rightMenu.setSystemMenuType(SystemMenuType.FORWARD);
rightMenu.setSystemSmallType(2);
String forwardName = MenuOrderSetUtil.getLogName(Util.getIntValue(workflowid),tempnodeid,language,rightMenu);
operateNmae.put("forwardName",forwardName);
return operateNmae;
}
public static void main(String[] args){
String value = "2020-10-11 11:22:0.00";
value = value.substring(0,10);
1 year ago
log.error("value2222:"+value);
}
}