@ -2,6 +2,7 @@ package com.customization.dito.sendtodo;
import com.alibaba.fastjson.JSONArray ;
import com.alibaba.fastjson.JSONObject ;
import com.constant.Constants ;
import com.engine.common.biz.AbstractCommonCommand ;
import com.engine.common.entity.BizLogContext ;
import com.engine.core.cfg.annotation.CommandDynamicProxy ;
@ -19,6 +20,7 @@ import weaver.interfaces.dito.comInfo.PropBean;
import java.net.URLEncoder ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Map ;
/ * *
@ -33,64 +35,172 @@ public class SendPortalWithDeleteCmd {
public Map < String , Object > execute ( CommandContext commandContext ) {
String requestid = Util . null2String ( params . get ( "requestid" ) ) ;
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" ) ;
sendTodoDataByNode ( requestid , username , passwd , center , portal_todourl , bpm_workflowurl , bpm_app_workflowurl , bpm_app_requesturl ) ;
String currentUserId = "1" ;
SendPortalWithDeleteTodo ( requestid , currentUserId ) ;
List < Map < String , String > > deleteRemarkDatas = ( List < Map < String , String > > ) ( params . get ( "deleteRemarkDatas" ) ) ;
for ( int i = 0 ; i < deleteRemarkDatas . size ( ) ; i + + ) {
Map < String , String > deleteRemarkMap = deleteRemarkDatas . get ( i ) ;
String userid = deleteRemarkMap . get ( "userid" ) ;
String lcid = deleteRemarkMap . get ( "requestid" ) ;
SendPortalWithDeleteToRead ( lcid , currentUserId , userid ) ;
}
return null ;
}
private String getShortMessageTitle ( String messageTitle ) {
if ( messageTitle . length ( ) > 20 ) {
messageTitle = messageTitle . substring ( 0 , 17 ) + "..." ;
/ * *
*
* @param requestid
* @param currentUserId
* /
public void SendPortalWithDeleteTodo ( String requestid , String currentUserId ) {
String portal_todourl = Constants . portal_todourl ;
String bpm_app_workflowurl = Constants . bpm_app_workflowurl ;
String username = Constants . username ;
String passwd = Constants . passwd ;
String bpm_workflowurl = Constants . bpm_workflowurl ;
String center = Constants . center ;
String bpm_app_requesturl = Constants . bpm_app_requesturl ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil ( ) ;
String zhjkbs = "com.customization.dito.sendtodo.SendPortalWithDeleteCmd.SendPortalWithDeleteTodo" ;
String mobileJumpUrl = PropBean . getUfPropValue ( "mobileJumpUrl" ) ;
JSONObject requestObject = new JSONObject ( ) ;
RecordSet rs = new RecordSet ( ) ;
BaseBean bb = new BaseBean ( ) ;
bb . writeLog ( "SendPortalWithDeleteCmd--SendPortalWithDeleteTodo" ) ;
String terminal = "1" ;
String taskType = "0" ;
String actionType = "3" ;
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil ( ) ;
String processTime = DateUtil . getCurrentTime ( "yyyy-MM-dd HH:mm:ss" ) ;
try {
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" ) ;
}
bb . writeLog ( "urlDing" , urlDing ) ;
String requestname = "" ;
String workflowname = "" ;
String currentNodeId = "" ;
String currentNodeName = "" ;
String sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid " +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = " + requestid ;
bb . writeLog ( "SendPortalWithDeleteTodo--sql2:" + sql ) ;
rs . executeQuery ( sql ) ;
if ( rs . next ( ) ) {
requestname = Util . null2String ( rs . getString ( "requestname" ) ) ;
workflowname = Util . null2String ( rs . getString ( "workflowname" ) ) ;
currentNodeId = Util . null2String ( rs . getString ( "nodeid" ) ) ;
currentNodeName = Util . null2String ( rs . getString ( "nodeName" ) ) ;
}
requestObject . put ( "center" , center ) ;
requestObject . put ( "title" , requestname ) ;
requestObject . put ( "taskCode" , "weaver" + requestid ) ;
requestObject . put ( "nodeId" , currentNodeId ) ;
requestObject . put ( "taskType" , taskType ) ;
requestObject . put ( "actionType" , actionType ) ;
requestObject . put ( "createDate" , processTime ) ;
requestObject . put ( "messageTitle" , getShortMessageTitle ( requestname ) ) ;
requestObject . put ( "messageContent" , requestname ) ;
requestObject . put ( "terminal" , terminal ) ;
requestObject . put ( "urlPc" , urlPc ) ;
requestObject . put ( "urlApp" , urlApp ) ;
requestObject . put ( "urlDing" , urlDing ) ;
requestObject . put ( "nodeName" , currentNodeName ) ;
requestObject . put ( "ticketType" , workflowname ) ;
String auth = username + ":" + passwd ;
bb . writeLog ( "SendPortalWithDeleteTodo---requestObject:" + requestObject . toJSONString ( ) ) ;
String msgdata = httpRequestUtil . doPostByAuth ( portal_todourl , requestObject . toJSONString ( ) , auth ) ;
if ( ! "" . equals ( msgdata ) ) {
JSONObject msgObject = JSONObject . parseObject ( msgdata ) ;
if ( msgObject . containsKey ( "resultCode" ) ) {
String resultCode = msgObject . getString ( "resultCode" ) ;
if ( "0" . equals ( resultCode ) ) {
sendPortalErrorUtil . doRecordPortalErrorInfo4Phase2 ( requestid , currentNodeId , currentNodeName , currentUserId , requestObject . toJSONString ( ) , resultCode , "" , zhjkbs ) ;
} else {
String resultmsg = msgObject . getString ( "resultMsg" ) ;
sendPortalErrorUtil . doRecordPortalErrorInfo4Phase2 ( requestid , currentNodeId , currentNodeName , currentUserId , requestObject . toJSONString ( ) , resultCode , resultmsg , zhjkbs ) ;
}
}
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
return messageTitle ;
}
/ * *
*
* @param username
* @param passwd
* @param portal_todourl
* @param bpm_workflowurl
* @param bpm_app_workflowurl
* @param bpm_app_requesturl
* @param requestid
* @param currentUserId
* /
public void sendTodoDataByNode ( String requestid , String username , String passwd , String center , String portal_todourl , String bpm_workflowurl , String bpm_app_workflowurl , String bpm_app_requesturl ) {
public void SendPortalWithDeleteToRead ( String requestid , String currentUserId , String userid ) {
String portal_todourl = Constants . portal_todourl ;
String bpm_app_workflowurl = Constants . bpm_app_workflowurl ;
String username = Constants . username ;
String passwd = Constants . passwd ;
String bpm_workflowurl = Constants . bpm_workflowurl ;
String center = Constants . center ;
String bpm_app_requesturl = Constants . bpm_app_requesturl ;
HttpRequestUtil httpRequestUtil = new HttpRequestUtil ( ) ;
String mobileJumpUrl = PropBean . getUfPropValue ( "mobileJumpUrl" ) ;
String zhjkbs = "com.customization.dito.sendtodo.SendPortalWithDeleteCmd.SendPortalWithDeleteToRead" ;
String mobileJumpUrl = PropBean . getUfPropValue ( "mobileJumpUrl" ) ;
JSONObject requestObject = new JSONObject ( ) ;
RecordSet rs = new RecordSet ( ) ;
BaseBean bb = new BaseBean ( ) ;
bb . writeLog ( "SendPortalQithRawRunnable--sendTodoDataByNode" ) ;
bb . writeLog ( "SendPortal WithDeleteCmd--SendPortalWithDeleteToRead ") ;
String terminal = "1" ;
String taskType = "0" ;
String actionType = "3" ;
String objectAction = "0" ;
String objectType = "0" ;
try {
String sql = "" ;
// int userid = user.getUID();
//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 = '" + userid + "'";
// rs.executeQuery(sql);
// while (rs.next()) {
// workcode = Util.null2String(rs.getString("loginid"));
// }
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil ( ) ;
String processTime = DateUtil . getCurrentTime ( "yyyy-MM-dd HH:mm:ss" ) ;
String processTime = DateUtil . getCurrentTime ( "yyyy-MM-dd HH:mm:ss" ) ;
try {
String urlPc = "[newtab]" + bpm_workflowurl + "/workflow/request/ViewRequestForwardSPA.jsp?requestid=" + requestid ;
String replace = bpm_app_workflowurl . replace ( "/bpm" , "" ) ;
@ -103,33 +213,32 @@ public class SendPortalWithDeleteCmd {
}
bb . writeLog ( "urlDing" , urlDing ) ;
String requestname = "" ;
String workflowname = "" ;
String nodeId = "" ;
String nodeName = "" ;
sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" +
String currentNodeId = "" ;
String currentNodeName = "" ;
String sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid " +
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = " + requestid ;
bb . writeLog ( " sendTodoDataByNode --sql2:"+ sql ) ;
bb . writeLog ( " SendPortalWithDeleteToRead --sql2:"+ sql ) ;
rs . executeQuery ( sql ) ;
if ( rs . next ( ) ) {
requestname = Util . null2String ( rs . getString ( "requestname" ) ) ;
workflowname = Util . null2String ( rs . getString ( "workflowname" ) ) ;
nodeId = Util . null2String ( rs . getString ( "nodeid" ) ) ;
nodeName = Util . null2String ( rs . getString ( "nodeName" ) ) ;
curre ntN odeId = Util . null2String ( rs . getString ( "nodeid" ) ) ;
curre ntN odeName = Util . null2String ( rs . getString ( "nodeName" ) ) ;
}
requestObject . put ( "center" , center ) ;
requestObject . put ( "title" , requestname ) ;
//requestObject.put("creator",workcode);
requestObject . put ( "taskCode" , "weaver" + requestid ) ;
requestObject . put ( "nodeId" , nodeId ) ;
requestObject . put ( "taskCode" , requestid + "_cs_" + userid ) ;
requestObject . put ( "nodeId" , currentNodeId ) ;
requestObject . put ( "taskType" , taskType ) ;
requestObject . put ( "actionType" , actionType ) ;
requestObject . put ( "createDate" , processTime ) ;
@ -139,45 +248,36 @@ public class SendPortalWithDeleteCmd {
requestObject . put ( "urlPc" , urlPc ) ;
requestObject . put ( "urlApp" , urlApp ) ;
requestObject . put ( "urlDing" , urlDing ) ;
requestObject . put ( "nodeName" , nodeName) ;
requestObject . put ( "nodeName" , curre ntN odeName) ;
requestObject . put ( "ticketType" , workflowname ) ;
// JSONArray taskObjectList = new JSONArray();
// JSONObject taskObject = new JSONObject();
// taskObject.put("objectAction",objectAction);
// taskObject.put("objectType",objectType);
// taskObject.put("objectCode",workcode);
// taskObject.put("objectId","");
// taskObject.put("operatorCode",workcode);
// taskObjectList.add(taskObject);
// requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd ;
bb . writeLog ( " sendTodoDataByNode ---requestObject:"+ requestObject . toJSONString ( ) ) ;
bb . writeLog ( "SendPortalWithDeleteToRead---requestObject:" + requestObject . toJSONString ( ) ) ;
String msgdata = httpRequestUtil . doPostByAuth ( portal_todourl , requestObject . toJSONString ( ) , auth ) ;
bb . writeLog ( "msgdata:" + msgdata ) ;
Map < String , Object > map = new HashMap < > ( ) ;
if ( ! "" . equals ( msgdata ) ) {
if ( ! "" . equals ( msgdata ) ) {
JSONObject msgObject = JSONObject . parseObject ( msgdata ) ;
//{"resultCode":"1","resultMsg":"No Result"}
if ( msgObject . containsKey ( "resultCode" ) ) {
if ( msgObject . containsKey ( "resultCode" ) ) {
String resultCode = msgObject . getString ( "resultCode" ) ;
if ( "0" . equals ( resultCode ) ) {
map. put ( "resultCode" , "0" ) ;
if ( "0" . equals ( resultCode ) ) {
sendPortalErrorUtil . doRecordPortalErrorInfo4Phase2 ( requestid , currentNodeId , currentNodeName , currentUserId , requestObject . toJSONString ( ) , resultCode , "" , zhjkbs ) ;
} else {
bb . writeLog ( msgObject . get ( "resultMsg" ) ) ;
// sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
map . put ( "resultCode" , resultCode ) ;
map . put ( "resultMsg" , msgObject . get ( "resultMsg" ) ) ;
String resultmsg = msgObject . getString ( "resultMsg" ) ;
sendPortalErrorUtil . doRecordPortalErrorInfo4Phase2 ( requestid , currentNodeId , currentNodeName , currentUserId , requestObject . toJSONString ( ) , resultCode , resultmsg , zhjkbs ) ;
}
}
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
}
private String getShortMessageTitle ( String messageTitle ) {
if ( messageTitle . length ( ) > 20 ) {
messageTitle = messageTitle . substring ( 0 , 17 ) + "..." ;
}
return messageTitle ;
}
}