#EC_HJ147# 超时流程页面接口

main
shilei 1 year ago
parent 792c53d4a7
commit ad563f98fb

@ -0,0 +1,331 @@
package com.engine.dito.reqremark.cmd;
import com.alibaba.fastjson.JSONObject;
import com.customization.dito.sendtodo.HttpRequestUtil;
import com.customization.dito.sendtodo.SendPortalErrorUtil;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.time.util.DateUtil;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.comInfo.PropBean;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class RequestRemarkOverTimeCmd extends AbstractCommonCommand<Map<String,Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public RequestRemarkOverTimeCmd(Map<String,Object> params, User user) {
this.params = params;
this.user = user;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String currentUserId = user.getUID()+"";
BaseBean bb = new BaseBean();
String requestid = Util.null2String(params.get("requestid"));
bb.writeLog("RequestRemarkArchivedCmd-requestid:"+requestid);
String nodeid = Util.null2String(params.get("nodeid"));
Map<String,Object> map = new HashMap<String,Object>();
String resultCode = sendRemarkArchivedPortalDoneData(requestid,nodeid,currentUserId);
bb.writeLog("RequestRemarkArchivedCmd-resultCode:"+resultCode);
if("0".equals(resultCode) || "DONE-FAIL-001".equals(resultCode)){
bb.writeLog("RequestRemarkArchivedCmd-resultCode22:"+resultCode);
resultCode = completeRemarkArchivedPortalReadData(requestid, nodeid,currentUserId);
}
map.put("resultcode",resultCode);
return map;
}
/***
*
* @param requestid
* @param nodeid
* @param currentUserId
*/
public String completeRemarkArchivedPortalReadData(String requestid, String nodeid,String currentUserId){
String resultCode = "" ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl");
String portal_todourl = PropBean.getUfPropValue("portal_todourl");
String username = PropBean.getUfPropValue("username");
String passwd = PropBean.getUfPropValue("passwd");
String center = PropBean.getUfPropValue("center");
String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
bb.writeLog("completeRemarkArchivedPortalReadData");
String actionType = "3" ;
String terminal = "1" ;
String taskType = "1"; //0 待办 1 –待阅
String objectAction = "0" ;
String objectType = "0";
String objectId = "" ;
try {
String workcode = "";
String sql = " select * from (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) w where w.id = '" + currentUserId + "'";
rs.executeQuery(sql);
if (rs.next()) {
workcode = Util.null2String(rs.getString("loginid"));
}
bb.writeLog("completeRemarkArchivedPortalReadData-workcode:"+workcode);
String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid;
String replace = bpm_app_workflowurl.replace("/bpm", "");
String urlDing = replace+bpm_app_requesturl+requestid;
String urlApp = replace+bpm_app_requesturl+requestid;
if(StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
String requestname = "";
String workflowname = "" ;
sql = " select t1.requestname,t3.workflowname\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = " + requestid;
bb.writeLog("completeRemarkArchivedPortalReadData-sql:"+sql);
rs.execute(sql);
if (rs.next()) {
workflowname = Util.null2String(rs.getString("workflowname")) ;
requestname = Util.null2String(rs.getString("requestname")) ;
}
String createdate = TimeUtil.getCurrentDateString();
String createtime = TimeUtil.getCurrentTimeString();
String nodename = getNodeName(nodeid);
JSONObject requestObject = new JSONObject();
requestObject.put("center",center);
requestObject.put("title",requestname);
requestObject.put("creator",workcode);
requestObject.put("taskCode", requestid+"_cs_"+currentUserId);
requestObject.put("nodeId",nodeid);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",createdate+" "+createtime);
requestObject.put("messageTitle",requestname);
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",getNodeName(nodeid));
requestObject.put("ticketType",workflowname);
// JSONArray taskObjectList = new JSONArray();
// JSONObject taskObject = new JSONObject();
// String objectCode = workcode ;
// String operatorCode = workcode ;
// taskObject.put("objectAction",objectAction);
// taskObject.put("objectType",objectType);
// taskObject.put("objectCode",objectCode);
// taskObject.put("objectId",objectId);
// taskObject.put("operatorCode",operatorCode);
// taskObjectList.add(taskObject);
// requestObject.put("taskObjectList",taskObjectList);
bb.writeLog("completeRemarkArchivedPortalReadData-requestObject:"+requestObject.toJSONString());
String auth = username + ":" + passwd;
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("completeRemarkArchivedPortalReadData-msgdata:"+msgdata);
if(StringUtils.isNotEmpty(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){
resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,currentUserId,requestObject.toJSONString(),resultCode,resultmsg);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return resultCode;
}
/***
*
* @param requestid
* @param nodeid
* @param userid
*/
public String sendRemarkArchivedPortalDoneData(String requestid, String nodeid,String userid) {
String resultCode = "" ;
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("RequestRemarkArchivedCmd--sendRemarkArchivedPortalDoneData");
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String portal_doneurl = PropBean.getUfPropValue("portal_doneurl");
String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl");
String username = PropBean.getUfPropValue("username");
String passwd = PropBean.getUfPropValue("passwd");
String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
String center = PropBean.getUfPropValue("center");
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
String isRecall = "1";
String actionType = "0";
try {
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String workcode = "";
String sql = "select loginid from hrmresource where id = '" + userid + "'";
rs.execute(sql);
while (rs.next()) {
workcode = Util.null2String(rs.getString("loginid"));
}
String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid;
String replace = bpm_app_workflowurl.replace("/bpm", "");
String urlDing = replace+bpm_app_requesturl+requestid;
String urlApp = replace+bpm_app_requesturl+requestid;
if(StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
int count = 0;
sql = " select t2.userid\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_currentoperator t2 on t1.requestid = t2.requestid\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t2.isremark in ('4')\n" +
" and t2.preisremark in ('4')\n" +
" and t2.requestid = "+requestid +" and t2.userid in ("+userid+")";
bb.writeLog("sendRemarkArchivedPortalDoneData--sql:"+sql);
rs.execute(sql);
if (rs.next()) {
count++;
}
bb.writeLog("sendRemarkArchivedPortalDoneData--count:"+count);
if(count > 0)
{
String requestname = "" ;
String workflowname = "" ;
sql = " select t1.workflowid,t1.requestname,t1.requestmark,t3.workflowname\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = " + requestid;
rs.execute(sql);
if (rs.next()) {
requestname = Util.null2String(rs.getString("requestname"));
workflowname = Util.null2String(rs.getString("workflowname"));
}
String nodename = getNodeName(nodeid);
JSONObject requestObject = new JSONObject();
requestObject.put("center", center);
requestObject.put("taskCode", requestid+"_cs_"+userid);
requestObject.put("nodeId", nodeid);
requestObject.put("title", getShortMessageTitle(requestname));
requestObject.put("creator", workcode);
requestObject.put("processStaff", workcode);
requestObject.put("processTime", processTime);
requestObject.put("isRecall", isRecall);
requestObject.put("actionType", actionType);
requestObject.put("urlPC", urlPc);
requestObject.put("urlApp", urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("ticketType",workflowname);
String auth = username + ":" + passwd;
bb.writeLog("sendRemarkArchivedPortalDoneData-requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_doneurl, requestObject.toJSONString(), auth);
bb.writeLog("sendRemarkArchivedPortalDoneData-msgdata:" + msgdata);
if(StringUtils.isNotEmpty(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){
resultCode = msgObject.getString("resultCode");
if(!"0".equals(resultCode)){
String resultmsg = msgObject.getString("resultMsg");
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,resultmsg);
}else{
sendPortalErrorUtil.doRecordPortalErrorInfo(requestid,nodeid,nodename,userid,requestObject.toJSONString(),resultCode,"");
}
}
}
}
} catch (Exception e) {
bb.writeLog("sendRemarkArchivedPortalDoneData-e:"+e);
}
return resultCode;
}
/***
*
* @param messageTitle
* @return
*/
private String getShortMessageTitle(String messageTitle) {
if (messageTitle.length() > 20) {
messageTitle = messageTitle.substring(0, 17) + "...";
}
return messageTitle;
}
/***
*
* @param id
* @return
*/
private String getNodeName(String id){
RecordSet rs = new RecordSet();
String name = "";
rs.executeQuery(" select nodename from workflow_nodebase where id = ?",id);
while (rs.next()){
name = Util.null2String(rs.getString("nodename"));
}
return name;
}
}
Loading…
Cancel
Save