复件 flow_initiate1_do.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:3k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8"%>
  2. <%@ page import = "java.net.URLEncoder"%>
  3. <%@ page import = "java.util.*"%>
  4. <%@ page import = "cn.js.fan.util.*"%>
  5. <%@ page import = "com.redmoon.oa.flow.*"%>
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  10. <title>发起流程</title>
  11. <link href="common.css" rel="stylesheet" type="text/css">
  12. <%@ include file="inc/nocache.jsp"%>
  13. <script language="JavaScript" type="text/JavaScript">
  14. <!--
  15. function MM_preloadImages() { //v3.0
  16.   var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  17.     var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  18.     if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
  19. }
  20. //-->
  21. </script>
  22. <style type="text/css">
  23. <!--
  24. .style2 {font-size: 14px}
  25. -->
  26. </style>
  27. </head>
  28. <body background="" leftmargin="0" topmargin="5" marginwidth="0" marginheight="0">
  29. <jsp:useBean id="fchar" scope="page" class="cn.js.fan.util.StrUtil"/>
  30. <jsp:useBean id="privilege" scope="page" class="com.redmoon.oa.pvg.Privilege"/>
  31. <%
  32. String priv="read";
  33. if (!privilege.isUserPrivValid(request, priv))
  34. {
  35. out.println(cn.js.fan.web.SkinUtil.makeErrMsg(request, cn.js.fan.web.SkinUtil.LoadString(request, "pvg_invalid")));
  36. return;
  37. }
  38. int id = -1;
  39. WorkflowMgr wm = new WorkflowMgr();
  40. WorkflowDb wfd = null;
  41. try {
  42. String flowTitle = ParamUtil.get(request, "flowTitle");
  43. String typeCode = ParamUtil.get(request, "typeCode");
  44. com.redmoon.oa.Config cfg = new com.redmoon.oa.Config();
  45. WorkflowPredefineDb wpd = new WorkflowPredefineDb();
  46. wpd = wpd.getDefaultPredefineFlow(typeCode);
  47. boolean isPredefined = wpd!=null && wpd.isLoaded();
  48. if (!isPredefined) {
  49. out.print(StrUtil.Alert_Back("预定义流程不存在!"));
  50. return;
  51. }
  52. id = wm.create(request);
  53. if (id!=-1) {
  54. wfd = wm.getWorkflowDb(id);
  55. // 不能修改流程,则直接套用流程
  56. // 如果预定义流程存在
  57. if (isPredefined) {
  58. int preId = wpd.getId();
  59. wpd = wpd.getWorkflowPredefineDb(preId);
  60. if (wpd!=null && wpd.isLoaded()) {
  61. String flowString = wpd.getFlowString();
  62. // System.out.println("flow_initiate1_do.jsp flowString=" + flowString);
  63. // 替换其中的“本人”、“本部门领导”节点
  64. flowString = wfd.regeneratePredefinedFlowString(privilege.getUser(request), flowString);
  65. System.out.println("flow_initiate1_do.jsp flowString=" + flowString);
  66. try {
  67. long startActionId = wfd.createFromString(flowString);
  68. if (true) {
  69. response.sendRedirect("flow_dispose.jsp?myActionId=" + startActionId);
  70. return;
  71. }
  72. }
  73. catch (ErrMsgException e) {
  74. out.print(StrUtil.Alert_Back(e.getMessage()));
  75. return;
  76. }
  77. }
  78. }
  79. }
  80. else
  81. out.print(StrUtil.Alert_Back("发起流程失败!"));
  82. }
  83. catch (ErrMsgException e) {
  84. if (wfd!=null)
  85. wfd.del();
  86. out.print(fchar.Alert_Back(e.getMessage()));
  87. }
  88. %>
  89. </body>
  90. </html>