Index: ssts-web/src/main/webapp/expensivegoodshomepage/portalPage.jsp =================================================================== diff -u -r23229 -r23300 --- ssts-web/src/main/webapp/expensivegoodshomepage/portalPage.jsp (.../portalPage.jsp) (revision 23229) +++ ssts-web/src/main/webapp/expensivegoodshomepage/portalPage.jsp (.../portalPage.jsp) (revision 23300) @@ -86,6 +86,7 @@ + Index: ssts-web/src/main/webapp/expensivegoodshomepage/portalPage.js =================================================================== diff -u -r23222 -r23300 --- ssts-web/src/main/webapp/expensivegoodshomepage/portalPage.js (.../portalPage.js) (revision 23222) +++ ssts-web/src/main/webapp/expensivegoodshomepage/portalPage.js (.../portalPage.js) (revision 23300) @@ -115,7 +115,7 @@ });//console.log('time9=' + new Date().format('y-m-d H:i:s') + '.' + new Date().getMilliseconds()); //系统告警 - initShowSystemWarningWin();//console.log('time10=' + new Date().format('y-m-d H:i:s') + '.' + new Date().getMilliseconds()); + //initShowSystemWarningWin();//console.log('time10=' + new Date().format('y-m-d H:i:s') + '.' + new Date().getMilliseconds()); windowOnLoaded = true;//console.log('time20=' + new Date().format('y-m-d H:i:s') + '.' + new Date().getMilliseconds()); @@ -135,6 +135,22 @@ method : 'POST', params : {} });//console.log('time21=' + new Date().format('y-m-d H:i:s') + '.' + new Date().getMilliseconds()); + + //待办任务 + var myUnFinishedTaskObj = document.getElementById('myUnFinishedTask'); + if(myUnFinishedTaskObj){ + WorkFlowTableManager.getWaitApprovalTaskCountByCurrentUserCode(function(amount){ + addIconTips(amount,myUnFinishedTaskObj,'myUnFinishedTaskTip'); + }); + //每10秒请求后台刷新一下当前用户的待办任务数量 + setInterval(function(){ + sendDWRAsync(function () { + WorkFlowTableManager.getWaitApprovalTaskCountByCurrentUserCode(function(amount){ + addIconTips(amount,myUnFinishedTaskObj,'myUnFinishedTaskTip'); + }); + }); + },10*1000); + } }); function initTipPosition(){ Index: forgon-core/src/main/java/com/forgon/workflow/dwr/table/WorkFlowTableManager.java =================================================================== diff -u -r21790 -r23300 --- forgon-core/src/main/java/com/forgon/workflow/dwr/table/WorkFlowTableManager.java (.../WorkFlowTableManager.java) (revision 21790) +++ forgon-core/src/main/java/com/forgon/workflow/dwr/table/WorkFlowTableManager.java (.../WorkFlowTableManager.java) (revision 23300) @@ -3,8 +3,13 @@ import java.util.List; import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; + import com.forgon.component.grid.GridManager; +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.tools.hibernate.ObjectDao; import com.forgon.workflow.model.WorkFlow; +import com.forgon.workflow.model.WorkFlowApprovalTask; import com.forgon.workflow.service.WorkFlowManager; /** @@ -17,6 +22,9 @@ private WorkFlowManager workFlowManager; + @Autowired + private ObjectDao objectDao; + public void setGridManager(GridManager gridManager) { this.gridManager = gridManager; } @@ -36,4 +44,14 @@ return workFlow==null?"":workFlow.getId()+";"+workFlow.getInvoicePlanType()+";" +workFlow.getStatus()+";"+workFlow.getCreateTime()+";"+workFlow.getCreaterName(); } + + /** + * 统计当前用户的待办任务数量 + * @return + */ + public int getWaitApprovalTaskCountByCurrentUserCode(){ + return objectDao.countBySql("select count(0) from " + WorkFlowApprovalTask.class.getSimpleName() + + " where (approvalResult is null or approvalResult="+ WorkFlowApprovalTask.APPROVALRESULT_PENDING +") and userId="+ AcegiHelper.getLoginUser().getUserId()); + } + }