FnaBatchSubmitControl.jsp
4.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<%@page import="weaver.fna.maintenance.FnaSystemSetComInfo"%>
<%@page import="java.text.DecimalFormat"%>
<%@page import="weaver.fna.general.FnaCommon"%>
<%@page import="weaver.file.FileUpload"%>
<%@page import="weaver.systeminfo.SystemEnv"%>
<%@page import="org.json.JSONObject"%>
<%@page import="weaver.hrm.User"%>
<%@page import="weaver.hrm.HrmUserVarify"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.*,weaver.conn.*,java.util.*" %>
<%@page import="weaver.fna.maintenance.FnaBudgetControl"%>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs1" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="fnaBudgetControl" class="weaver.fna.maintenance.FnaBudgetControl" scope="page" />
<%
User user = HrmUserVarify.getUser (request , response) ;
String _reqIds = Util.null2String(request.getParameter("_reqIds")).trim();
String returnStr = "";
try{
String brStr = "<br>";
HashMap<String, HashMap<String, String>> workflowidHm = new HashMap<String, HashMap<String, String>>();
List<String> wfidList = new ArrayList<String>();
List<String> reqIdList = FnaCommon.splitToListForSqlCond(_reqIds, 900, ",", new DecimalFormat("#"));
StringBuffer errorInfo = new StringBuffer("");
boolean errorFlag = false;
FnaSystemSetComInfo fnaSystemSetComInfo = new FnaSystemSetComInfo();
boolean fnaWfSysWf = 1==Util.getIntValue(fnaSystemSetComInfo.get_fnaWfSysWf());//流程允许批量提交 报销申请单;付款申请单
boolean fnaWfCustom = 1==Util.getIntValue(fnaSystemSetComInfo.get_fnaWfCustom());//流程允许批量提交 自定义表单费控流程
for(int i=0;i<reqIdList.size();i++){
String reqIdCond = reqIdList.get(i);
rs.executeSql("select a.requestid, b.formid, a.workflowid, b.workflowname \n" +
" from workflow_requestbase a \n" +
" join workflow_base b on a.workflowid = b.id \n" +
" where a.requestid in ("+reqIdCond+")");
while(rs.next()){
int _requestid = rs.getInt("requestid");
int _formid = rs.getInt("formid");
int _workflowid = rs.getInt("workflowid");
String _workflowname = rs.getString("workflowname");
if(_workflowid > 0){
HashMap<String, String> _isEnableFnaWfHm = null;
if(workflowidHm.containsKey(_workflowid+"")){
_isEnableFnaWfHm = workflowidHm.get(_workflowid+"");
}else{
_isEnableFnaWfHm = FnaCommon.getIsEnableFnaWfHm(_workflowid);
workflowidHm.put(_workflowid+"", _isEnableFnaWfHm);
}
boolean _isEnableFnaWfSysWf = "true".equals(_isEnableFnaWfHm.get("isEnableFnaWfSysWf"));//系统表单
boolean _isEnableFnaWfE7 = "true".equals(_isEnableFnaWfHm.get("isEnableFnaWfE7"));//E7的自定义表单费用报销流程
boolean _isEnableFnaWfE8 = "true".equals(_isEnableFnaWfHm.get("isEnableFnaWfE8"));//E8的自定义表单费用报销流程
//boolean _isEnableFnaBorrowWf = "true".equals(_isEnableFnaWfHm.get("isEnableFnaBorrowWf"));//E8的借款费控流程
boolean _isEnableFnaRepaymentWf = "true".equals(_isEnableFnaWfHm.get("isEnableFnaRepaymentWf"));//E8的还款费控流程
boolean _isEnableFnaChangeWf = "true".equals(_isEnableFnaWfHm.get("isEnableFnaChangeWf"));//E8的预算变更流程
boolean _isEnableFnaShareWf = "true".equals(_isEnableFnaWfHm.get("isEnableFnaShareWf"));//E8的预算已发生费用分摊流程
if((_isEnableFnaWfSysWf && !fnaWfSysWf)
|| ((_isEnableFnaWfE7 || _isEnableFnaWfE8 || _isEnableFnaRepaymentWf || _isEnableFnaChangeWf || _isEnableFnaShareWf) && !fnaWfCustom)){
errorFlag = true;
if(!wfidList.contains(_workflowid+"")){
wfidList.add(_workflowid+"");
errorInfo.append(_workflowname+";");
}
}else{
if(_isEnableFnaWfSysWf){//系统表单
//批量提交不做限制
}else if(_isEnableFnaWfE8){//E8的自定义表单费用报销流程
/*
StringBuffer _errorInfo = new StringBuffer();
if(!fnaBudgetControl.getFnaWfValidator(_workflowid, _formid, _requestid, user.getUID(), user, _errorInfo, 0)){
errorFlag = true;
errorInfo.append(_errorInfo.toString()+";");
}
*/
}else if(_isEnableFnaWfE7 || _isEnableFnaRepaymentWf || _isEnableFnaChangeWf || _isEnableFnaShareWf){//各类自定义表单
errorFlag = true;
if(!wfidList.contains(_workflowid+"")){
wfidList.add(_workflowid+"");
errorInfo.append(_workflowname+";");
}
}
}
}
}
}
if(errorFlag){
//以下流程是费用流程类型,不允许批量提交!
returnStr = "{\"flag\":false,\"errorInfo\":"+JSONObject.quote(SystemEnv.getHtmlLabelName(82970,user.getLanguage())+brStr+errorInfo.toString())+"}";
}else{
returnStr = "{\"flag\":true,\"errorInfo\":"+JSONObject.quote("")+"}";
}
}catch(Exception ex1){
new BaseBean().writeLog(ex1);
returnStr = "{\"flag\":false,\"errorInfo\":"+JSONObject.quote(ex1.getMessage())+"}";
}
%>
<%=returnStr%>