小结:
这周我的任务是进行一些的测试,与调试BUG,现在遇到一些小BUG我也能够解决了。
使用DEBUG进入源码查看
这条块代码问题,没有考虑到竞争处理的模式,一条委托发出可能有两个人竞争处理,当中会由|分隔,如果不判断的话会把
"1014632|1015659"
转换成long进行操作,此时应该进行判断,并且截出操作人,把操作人转换成long。
修改如下:
这周我的任务是进行一些的测试,与调试BUG,现在遇到一些小BUG我也能够解决了。
比如:在办公室流程到办公室核稿处,发送下一步会出现
java.lang.NumberFormatException: For input string: "1014632|1015659"
13:34:56,406 ERROR [STDERR] at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
使用DEBUG进入源码查看
mainWfCreatorOperatorId = new Long(pi.getCreator());//主流程创建者OperatorId
curParticipantOperatorId = new Long(curWfWorkitem.getParticipant());//当前工作项参与者的OperatorId(一定不会是被委托人)
这条块代码问题,没有考虑到竞争处理的模式,一条委托发出可能有两个人竞争处理,当中会由|分隔,如果不判断的话会把
"1014632|1015659"
转换成long进行操作,此时应该进行判断,并且截出操作人,把操作人转换成long。
修改如下:
String participantStr = curWfWorkitem.getParticipant();//取出参与者
int intIndex = participantStr.indexOf("|");//以|为index查找记住位置
if(intIndex > -1){
participantStr = participantStr.substring(0, intIndex);//如果找到把participantStr以0开始截取,截到|的位置
}
curParticipantOperatorId = new Long(participantStr);取出participantStr转换成long数字