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.

1073 lines
59 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
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>> {
/***方便使用参数***/
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();
boolean isdebug = (userid == 8 || userid == 80 || userid == 1215 || userid == 1348 || userid == 3724 || userid == 4548);
if (isdebug) {
System.out.println("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) {
System.out.println("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) {
System.out.println("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) {
System.out.println("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) {
System.out.println("requestlog-125-requestid-" + requestid + "-userid-" + userid + "-" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
}
if (pgflag == null || pgflag.equals("")) {
log_loglist = wfLinkInfo.getRequestLog(requestid, workflowid, viewLogIds, orderby, sqlcondition);
} else {
//log_loglist = wfLinkInfo.getRequestLog(requestid, workflowid, viewLogIds, orderby, wfsignlddtcnt, sbfmaxrequestlogid, sqlwhere);
boolean isSubrequest = (boolean)params.get("isSubrequest");
log_loglist = RequestLogCusBiz.getRequestLog(requestid,workflowid,viewLogIds,orderby,wfsignlddtcnt,pgnumber,sqlwhere,isSubrequest);
if(RequestLogCusBiz.isEndLog(requestid,workflowid,viewLogIds,orderby,wfsignlddtcnt,pgnumber,sqlwhere)){///判断此次加载是否是最后一页
resultDatas.put("isEnd", true);
}
}
resultDatas.put("maxrequestlogid", sbfmaxrequestlogid.toString());
if (isdebug) {
System.out.println("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) {
System.out.println("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) {
System.out.println("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);
System.out.println("value2222:"+value);
}
}