@ -14,6 +14,7 @@ import weaver.interfaces.dito.comInfo.PropBean;
import java.net.URLEncoder ;
import java.util.HashMap ;
import java.util.Map ;
import java.util.Set ;
import java.util.regex.Matcher ;
import java.util.regex.Pattern ;
@ -48,8 +49,8 @@ public class SendPortalForwardCmd {
}
//转发
public void forwardSendPortal ( String requestid , int currentnodeid , User user ) {
bb . writeLog ( "======== SendPortalForwardCmd forwardSendPortal =========================" );
public void forwardSendPortal ( String requestid , int currentnodeid , User user ,Set < String > resourceids ) {
bb . writeLog ( "======== SendPortalForwardCmd forwardSendPortal =========================" + 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" ) ;
@ -58,11 +59,9 @@ public class SendPortalForwardCmd {
String center = PropBean . getUfPropValue ( "center" ) ;
String bpm_workflowurl = PropBean . getUfPropValue ( "bpm_workflowurl" ) ;
String mobileJumpUrl = PropBean . getUfPropValue ( "mobileJumpUrl" ) ;
String portal_doneurl = PropBean . getUfPropValue ( "portal_doneurl" ) ;
String cus_staff = PropBean . getUfPropValue ( "cus_staff" ) ;
String processTime = DateUtil . getCurrentTime ( "yyyy-MM-dd HH:mm:ss" ) ;
RecordSet rs = new RecordSet ( ) ;
try {
String zhjkbs = "com.customization.dito.sendtodo.SendPortalForwardCmd.forwardSendPortal" ;
String actionType = "0" ;
String terminal = "1" ;
@ -86,7 +85,9 @@ public class SendPortalForwardCmd {
String userids = "" ;
String loginid = "" ;
String emailArray = "" ;
for ( String userid : resourceids ) {
String processTime = DateUtil . getCurrentTime ( "yyyy-MM-dd HH:mm:ss" ) ;
try {
sql = " select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname,h2.lastname,h2.loginid " +
" from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
@ -95,7 +96,7 @@ public class SendPortalForwardCmd {
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = " + requestid ;
bb . writeLog ( "SendPortalForwardCmd --sql2 :" + sql ) ;
bb . writeLog ( "SendPortalForwardCmd forward --sql:" + sql ) ;
rs . executeQuery ( sql ) ;
if ( rs . next ( ) ) {
@ -118,7 +119,7 @@ public class SendPortalForwardCmd {
requestObject . put ( "center" , center ) ;
requestObject . put ( "title" , requestname ) ;
requestObject . put ( "creator" , loginid ) ;
requestObject . put ( "taskCode" , "weaver_zf_" + request id) ;
requestObject . put ( "taskCode" , "weaver_zf_" + request id+ "_" + user id) ;
requestObject . put ( "nodeId" , currentnodeid ) ;
requestObject . put ( "taskType" , taskType ) ;
requestObject . put ( "actionType" , actionType ) ;
@ -141,7 +142,7 @@ public class SendPortalForwardCmd {
" and ((t2.isremark = '0' and (t2.takisremark is null or t2.takisremark = 0)) or t2.isremark in ('1', '5', '7','11'))\n" +
" and t2.islasttimes = 1\n" +
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = " + request id;
" and t2.requestid = " + request id + " and t2.userid =" + user id;
bb . writeLog ( "SendPortalForwardCmd forward --sql:" + sql ) ;
rs . executeQuery ( sql ) ;
@ -179,16 +180,17 @@ public class SendPortalForwardCmd {
} else {
requestObject . put ( "actionType" , "3" ) ;
}
bb . writeLog ( "SendPortalForwardCmd requestObject:" + requestObject . toJSONString ( ) ) ;
bb . writeLog ( "SendPortalForwardCmd forward requestObject:" + requestObject . toJSONString ( ) ) ;
String auth = username + ":" + passwd ;
msgdata = httpRequestUtil . doPostByAuth ( portal_todourl , requestObject . toJSONString ( ) , auth ) ;
if ( ! "" . equals ( msgdata ) ) {
JSONObject msgObject = JSONObject . parseObject ( msgdata ) ;
bb . writeLog ( "================ SendPortalForwardCmd forward msgObject ============= " + msgObject . toJSONString ( ) ) ;
if ( msgObject . containsKey ( "resultCode" ) ) {
String resultCode = msgObject . getString ( "resultCode" ) ;
if ( "0" . equals ( resultCode ) ) {
bb . writeLog ( "SendPortalForwardCmd emailArray:" + emailArray ) ;
bb . writeLog ( "SendPortalForwardCmd forward emailArray:" + emailArray ) ;
if ( StringUtils . isNotEmpty ( emailArray ) ) {
Map < String , String > templateMap = getEmailTemplate ( requestname , lastname , processTime ) ;
@ -211,10 +213,11 @@ public class SendPortalForwardCmd {
e . printStackTrace ( ) ;
}
}
}
//转办
public void transferSendPortal ( String requestid , int currentnodeid , User user ) {
bb . writeLog ( "======== SendPortalForwardCmd transferSendPortal =========================" );
bb . writeLog ( "======== SendPortalForwardCmd transferSendPortal =========================" +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" ) ;
@ -267,7 +270,7 @@ public class SendPortalForwardCmd {
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = " + requestid ;
bb . writeLog ( "SendPortalForwardCmd --sql2 :" + sql ) ;
bb . writeLog ( "SendPortalForwardCmd transfer --sql:" + sql ) ;
rs . executeQuery ( sql ) ;
if ( rs . next ( ) ) {
@ -285,7 +288,7 @@ public class SendPortalForwardCmd {
}
JSONArray taskObjectList = new JSONArray ( ) ;
bb . writeLog ( "SendPortalForwardCmd urlDing", urlDing ) ;
bb . writeLog ( "SendPortalForwardCmd transfer urlDing", urlDing ) ;
requestObject . put ( "center" , center ) ;
requestObject . put ( "title" , requestname ) ;
@ -315,7 +318,7 @@ public class SendPortalForwardCmd {
" and (t2.isprocessing = '' or t2.isprocessing is null)\n" +
" and t2.requestid = " + requestid ;
bb . writeLog ( "SendPortalForwardCmd forward --sql:" + sql ) ;
bb . writeLog ( "SendPortalForwardCmd transfer --sql:" + sql ) ;
rs . executeQuery ( sql ) ;
while ( rs . next ( ) ) {
JSONObject taskObject = new JSONObject ( ) ;
@ -340,7 +343,7 @@ public class SendPortalForwardCmd {
taskObjectList . add ( taskObject ) ;
String email = Util . null2String ( rs . getString ( "email" ) ) ;
bb . writeLog ( "SendPortalForwardCmd email3 :" + email ) ;
bb . writeLog ( "SendPortalForwardCmd transfer email:" + email ) ;
Matcher matcher = regex . matcher ( email ) ;
if ( matcher . matches ( ) ) {
emailArray + = StringUtils . isEmpty ( emailArray ) ? email : "," + email ;
@ -351,16 +354,17 @@ public class SendPortalForwardCmd {
} else {
requestObject . put ( "actionType" , "3" ) ;
}
bb . writeLog ( "================ SendPortalForwardCmd requestObject ============= "+ requestObject . toJSONString ( ) ) ;
bb . writeLog ( "================ SendPortalForwardCmd transfer requestObject ============= "+ requestObject . toJSONString ( ) ) ;
String auth = username + ":" + passwd ;
msgdata = httpRequestUtil . doPostByAuth ( portal_todourl , requestObject . toJSONString ( ) , auth ) ;
if ( ! "" . equals ( msgdata ) ) {
JSONObject msgObject = JSONObject . parseObject ( msgdata ) ;
bb . writeLog ( "================ SendPortalForwardCmd transfer msgObject ============= " + msgObject . toJSONString ( ) ) ;
if ( msgObject . containsKey ( "resultCode" ) ) {
String resultCode = msgObject . getString ( "resultCode" ) ;
if ( "0" . equals ( resultCode ) ) {
bb . writeLog ( "SendPortalForwardCmd emailArray:" + emailArray ) ;
bb . writeLog ( "SendPortalForwardCmd transfer emailArray:" + emailArray ) ;
if ( StringUtils . isNotEmpty ( emailArray ) ) {
Map < String , String > templateMap = getEmailTemplate ( requestname , lastname , processTime ) ;
@ -386,7 +390,7 @@ public class SendPortalForwardCmd {
//流程归档转发处理
public void delTodoAddDoneSendPortal ( String requestid , int currentnodeid , User user ) {
bb . writeLog ( "======== SendPortalForwardCmd delTodoAddDoneSendPortal =========================" );
bb . writeLog ( "======== SendPortalForwardCmd delTodoAddDoneSendPortal =========================" +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" ) ;
@ -445,10 +449,10 @@ public class SendPortalForwardCmd {
jsonObject . put ( "center" , center ) ;
jsonObject . put ( "title" , requestname ) ;
jsonObject . put ( "creator" , loginid ) ;
jsonObject . put ( "taskCode" , "weaver_zf_" + requestid );
jsonObject . put ( "taskCode" , "weaver_zf_" + requestid +"_" + user . getUID ( ) );
jsonObject . put ( "taskType" , "0" ) ;
jsonObject . put ( "actionType" , " 1 ") ;
jsonObject . put ( "actionType" , " 3 ") ;
jsonObject . put ( "createDate" , processTime ) ;
jsonObject . put ( "messageTitle" , getShortMessageTitle ( requestname ) ) ;
jsonObject . put ( "messageContent" , requestname ) ;
@ -468,12 +472,13 @@ public class SendPortalForwardCmd {
taskObject . put ( "objectId" , rs . getString ( "staffid" ) ) ;
taskObject . put ( "operatorCode" , user . getLoginid ( ) ) ;
jsonObject . put ( "taskObjectList" , list ) ;
bb . writeLog ( "SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal-- requestObject:" + jsonObject . toJSONString ( ) ) ;
bb . writeLog ( "SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal-- deltodo-- requestObject:" + jsonObject . toJSONString ( ) ) ;
String auth = username + ":" + passwd ;
msgdata = httpRequestUtil . doPostByAuth ( Constants . portal_todourl , jsonObject . toJSONString ( ) , auth ) ;
bb . writeLog ( "SendPortalWithAddDoneCmd-delTodoAddDoneSendPortal-msgdata:" + msgdata ) ;
if ( StringUtils . isNotEmpty ( msgdata ) ) {
JSONObject msgObject = JSONObject . parseObject ( msgdata ) ;
bb . writeLog ( "SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal--msgObject:" + msgObject . toJSONString ( ) ) ;
if ( msgObject . containsKey ( "resultCode" ) ) {
String resultCode = msgObject . getString ( "resultCode" ) ;
if ( ! "0" . equals ( resultCode ) ) {
@ -506,6 +511,7 @@ public class SendPortalForwardCmd {
bb . writeLog ( "delTodoAddDoneSendPortal done msgdata:" + msgdata ) ;
if ( StringUtils . isNotEmpty ( msgdata ) ) {
JSONObject msgObject = JSONObject . parseObject ( msgdata ) ;
bb . writeLog ( "SendPortalWithAddDoneCmd--delTodoAddDoneSendPortal--adddone--msgObject:" + msgObject . toJSONString ( ) ) ;
//{"resultCode":"1","resultMsg":"No Result"}
if ( msgObject . containsKey ( "resultCode" ) ) {
String resultCode = msgObject . getString ( "resultCode" ) ;