FnaSystemSetOperation.jsp
12.7 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<%@page import="weaver.fna.maintenance.FnaSystemSetComInfo"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%><jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<%
String operation = Util.null2String(request.getParameter("operation"));
if("FnaSystemSetEditInner".equals(operation)){//来自财务设置页面的保存请求
if(!HrmUserVarify.checkUserRight("FnaSystemSetEdit:Edit", user)){
response.sendRedirect("/notice/noright.jsp");
return;
}
int wfDtlImpRole4Subject = Util.getIntValue(request.getParameter("wfDtlImpRole4Subject"),0);
int wfDtlImpRole4Fcc = Util.getIntValue(request.getParameter("wfDtlImpRole4Fcc"),0);
int optionalSubject = Util.getIntValue(request.getParameter("optionalSubject"),0);
int fnaBudgetOAOrg = Util.getIntValue(request.getParameter("fnaBudgetOAOrg"),0);
int fnaBudgetCostCenter = Util.getIntValue(request.getParameter("fnaBudgetCostCenter"),0);
int enableGlobalFnaCtrl = Util.getIntValue(request.getParameter("enableGlobalFnaCtrl"),0);
String alertvalue = Util.null2String(request.getParameter("alertvalue")).trim();
String agreegap = Util.null2String(request.getParameter("agreegap")).trim();
int showHiddenSubject = Util.getIntValue(request.getParameter("showHiddenSubject"),0);
int cancelFnaEditCheck = Util.getIntValue(request.getParameter("cancelFnaEditCheck"),0);
int enableRuleSet = Util.getIntValue(request.getParameter("enableRuleSet"),0);
int wfForceOverLogic = Util.getIntValue(request.getParameter("wfForceOverLogic"),0);
int recursiveSubOrg = Util.getIntValue(request.getParameter("recursiveSubOrg"),0);
int fnaWfSysWf = Util.getIntValue(request.getParameter("fnaWfSysWf"),0);
int fnaWfCustom = Util.getIntValue(request.getParameter("fnaWfCustom"),0);
int subjectFilter = Util.getIntValue(request.getParameter("subjectFilter"),0);
int subjectBrowseDefExpanded = Util.getIntValue(request.getParameter("subjectBrowseDefExpanded"),0);//单科目浏览框默认展开
int enableRptCtrl = Util.getIntValue(request.getParameter("enableRptCtrl"),0);//启用报表权限控制
int cancelBudgetPeriodCheck = Util.getIntValue(request.getParameter("cancelBudgetPeriodCheck"),0);
int cancelCostLimitedCheck = Util.getIntValue(request.getParameter("cancelCostLimitedCheck"),0);
int subjectCodeUniqueCtrl = Util.getIntValue(request.getParameter("subjectCodeUniqueCtrl"),0);//科目编码校验规则(预算科目编码)
int subjectCodeUniqueCtrl2 = Util.getIntValue(request.getParameter("subjectCodeUniqueCtrl2"),0);//科目编码校验规则(会计科目编码)
int splitTableByYear = 0;//Util.getIntValue(request.getParameter("splitTableByYear"),0);//预算编制表、费用表 是否按照预算年度 分表存储
if(subjectFilter!=1){
if(subjectCodeUniqueCtrl==2 || subjectCodeUniqueCtrl==3){//按科目应用范围唯一(分部级/部门级)
subjectCodeUniqueCtrl = 0;//全局唯一
}
if(subjectCodeUniqueCtrl2==2 || subjectCodeUniqueCtrl2==3){//按科目应用范围唯一(分部级/部门级)
subjectCodeUniqueCtrl2 = 0;//全局唯一
}
}
int ifbottomtotop = 0;
int budgetControlType = 0;//1:下级独立预算;
int budgetControlType1 = 1;//1:不允许费用超标;2:允许费用超标;
int budgetControlType2 = 0;//1:开启上下级独立预算;
int budgetCtrlType = Util.getIntValue(request.getParameter("budgetCtrlType"),1);
if(budgetCtrlType==1){//1:上下级独立编制;
budgetControlType2 = 1;
}else if(budgetCtrlType==2){//2:下级独立编制;
budgetControlType = 1;
budgetControlType1 = Util.getIntValue(request.getParameter("budgetControlType1"),1);//1:不允许费用超标;2:允许费用超标;
}else if(budgetCtrlType==3){//3:自下而上编辑预算;
ifbottomtotop = 1;
}else{//0:无效果;
}
int costControlCycle = Util.getIntValue(request.getParameter("costControlCycle"),0);//费用控制周期
//【费用流程中 显示时递归统计下级费用单位的已发生、审批中费用】该开关不能与【费用控制周期:按科目预算周期之外的其他控制周期同时启用】
if(recursiveSubOrg==1){
costControlCycle = 0;
}
int ifbudgetmove = Util.getIntValue(new FnaSystemSetComInfo().get_ifbudgetmove(), 0);//是否启用结转
if(enableGlobalFnaCtrl == 0){
cancelBudgetPeriodCheck = 0;
cancelCostLimitedCheck = 0;
costControlCycle = 0;//"启用费控流程提交校验"关闭时,"费用控制周期"取默认值"0=按科目预算周期"
}
int fnaBackgroundValidator = Util.getIntValue(request.getParameter("fnaBackgroundValidator"),0);
int enableDispalyAll = Util.getIntValue(request.getParameter("enableDispalyAll"),0);
String separator = Util.null2String(request.getParameter("separator"));
if(Util.getIntValue(alertvalue, -987654) == -987654){
alertvalue = "NULL";
}
if(Util.getIntValue(agreegap, -987654) == -987654){
agreegap = "NULL";
}
String separator_colName = "separator";
if("mysql".equalsIgnoreCase(rs.getDBType())){
separator_colName = "`separator`";
}
rs.executeSql("select * from FnaSystemSet where id = 1");
if(rs.next()){
rs.executeSql("update FnaSystemSet "+
" set ifbottomtotop="+ifbottomtotop+", "+
" enableGlobalFnaCtrl="+enableGlobalFnaCtrl+", "+
" alertvalue="+alertvalue+", "+
" agreegap="+agreegap+", "+
" showHiddenSubject='"+showHiddenSubject+"', "+
" cancelFnaEditCheck="+cancelFnaEditCheck+", "+
" enableRuleSet="+enableRuleSet+", "+
" fnaBudgetOAOrg="+fnaBudgetOAOrg+", "+
" fnaBudgetCostCenter="+fnaBudgetCostCenter+", "+
" wfForceOverLogic="+wfForceOverLogic+", "+
" recursiveSubOrg="+recursiveSubOrg+", "+
" fnaWfSysWf="+fnaWfSysWf+", "+
" fnaWfCustom="+fnaWfCustom+", "+
" subjectFilter="+subjectFilter+", "+
" budgetControlType="+budgetControlType+", "+
" budgetControlType1="+budgetControlType1+", "+
" budgetControlType2="+budgetControlType2+", "+
" enableDispalyAll="+enableDispalyAll+", "+
" "+separator_colName+"='"+StringEscapeUtils.escapeSql(separator)+"', "+
" subjectBrowseDefExpanded="+subjectBrowseDefExpanded+", "+
" enableRptCtrl="+enableRptCtrl+", "+
" fnaBackgroundValidator="+fnaBackgroundValidator+", "+
" cancelBudgetPeriodCheck="+cancelBudgetPeriodCheck+", "+
" subjectCodeUniqueCtrl="+subjectCodeUniqueCtrl+", "+
" subjectCodeUniqueCtrl2="+subjectCodeUniqueCtrl2+", "+
" costControlCycle="+costControlCycle+", "+
" optionalSubject="+optionalSubject+", "+
" wfDtlImpRole4Subject="+wfDtlImpRole4Subject+", "+
" wfDtlImpRole4Fcc="+wfDtlImpRole4Fcc+", "+
" splitTableByYear="+splitTableByYear+", "+
" cancelCostLimitedCheck="+cancelCostLimitedCheck+" "+
" where id = 1");
}else{
rs.executeSql("insert into FnaSystemSet (id, ifbottomtotop, enableGlobalFnaCtrl, alertvalue, agreegap, wfDtlImpRole4Subject, wfDtlImpRole4Fcc, "+
" showHiddenSubject, cancelFnaEditCheck, enableRuleSet, fnaBudgetOAOrg, fnaBudgetCostCenter, wfForceOverLogic, recursiveSubOrg, "+
" fnaWfSysWf, fnaWfCustom, subjectFilter, budgetControlType, budgetControlType1, budgetControlType2, enableDispalyAll, "+separator_colName+", "+
" subjectBrowseDefExpanded, enableRptCtrl, fnaBackgroundValidator,cancelBudgetPeriodCheck,subjectCodeUniqueCtrl,subjectCodeUniqueCtrl2,costControlCycle,optionalSubject,cancelCostLimitedCheck,splitTableByYear) "+
" values (1,"+ifbottomtotop+", "+enableGlobalFnaCtrl+", "+alertvalue+", "+agreegap+", "+
" '"+showHiddenSubject+"', "+cancelFnaEditCheck+", "+enableRuleSet+", "+fnaBudgetOAOrg+", "+fnaBudgetCostCenter+", "+wfForceOverLogic+", "+recursiveSubOrg+", "+wfDtlImpRole4Subject+", "+wfDtlImpRole4Fcc+", "+
" "+fnaWfSysWf+", "+fnaWfCustom+", "+subjectFilter+", "+budgetControlType+", "+budgetControlType1+", "+budgetControlType2+", "+enableDispalyAll+", '"+StringEscapeUtils.escapeSql(separator)+"', "+
" "+subjectBrowseDefExpanded+", "+enableRptCtrl+", "+fnaBackgroundValidator+", "+cancelBudgetPeriodCheck+", "+subjectCodeUniqueCtrl+", "+subjectCodeUniqueCtrl2+", "+costControlCycle+", "+optionalSubject+", "+cancelCostLimitedCheck+", "+splitTableByYear+")");
}
new FnaSystemSetComInfo().removeFnaSystemSetCache();
response.sendRedirect("/fna/budget/FnaSystemSetEditInner.jsp");
}else if("FnaJzSetInner".equals(operation)){//来自预算结转页面的保存请求
if (!HrmUserVarify.checkUserRight("FnaSystemSetEdit:Edit", user) && !HrmUserVarify.checkUserRight("BudgetManualTransfer:do", user)) {
response.sendRedirect("/notice/noright.jsp");
return;
}
int ifbudgetmove = Util.getIntValue(request.getParameter("ifbudgetmove"),0);
int mBudgetMove = Util.getIntValue(request.getParameter("mBudgetMove"),0);
int qBudgetMove = Util.getIntValue(request.getParameter("qBudgetMove"),0);
int hBudgetMove = Util.getIntValue(request.getParameter("hBudgetMove"),0);
String movetypes = mBudgetMove+","+qBudgetMove+","+hBudgetMove;
if(ifbudgetmove!=1){
movetypes = 0+","+0+","+0;
}
int budgetAutoMovePending = Util.getIntValue(request.getParameter("budgetAutoMovePending"),0);
int timeModul = Util.getIntValue(request.getParameter("timeModul"),0);
int dayTime1 = Util.getIntValue(request.getParameter("dayTime1"),1);
int fer = Util.getIntValue(request.getParameter("fer"),1);
int dayTime2 = Util.getIntValue(request.getParameter("dayTime2"),1);
int autoMoveMinusAmt = Util.getIntValue(request.getParameter("autoMoveMinusAmt"),0);//是否结转超额费用
int costControlCycle = Util.getIntValue(new FnaSystemSetComInfo().get_costControlCycle(), 0);//费用控制周期
rs.executeSql("select * from FnaSystemSet where id = 1");
if(rs.next()){
rs.executeSql("update FnaSystemSet "+
" set ifbudgetmove="+ifbudgetmove+", "+
" movetypes='"+StringEscapeUtils.escapeSql(movetypes)+"', "+
" budgetAutoMovePending="+budgetAutoMovePending+", "+
" timeModul="+timeModul+", "+
" dayTime1="+dayTime1+", "+
" fer="+fer+", "+
" autoMoveMinusAmt="+autoMoveMinusAmt+", "+
" dayTime2="+dayTime2+" "+
" where id = 1");
}else{
rs.executeSql("insert into FnaSystemSet (id, ifbudgetmove, movetypes, budgetAutoMovePending, timeModul, dayTime1, fer, autoMoveMinusAmt, dayTime2) "+
" values (1,"+ifbudgetmove+",'"+StringEscapeUtils.escapeSql(movetypes)+"', "+budgetAutoMovePending+", "+timeModul+", "+dayTime1+", "+fer+", "+autoMoveMinusAmt+", "+dayTime2+")");
}
new FnaSystemSetComInfo().removeFnaSystemSetCache();
//response.sendRedirect("/fna/BudgetAutoMove/FnaJzSetInner.jsp");
if(true){//更新:集成中心》计划任务配置信息;/WEB-INF/service/schedule.xml
String scheduleid = "BudgetAutoMove";
String ClassName = "weaver.fna.budget.BudgetAutoMove";
String CronExpr = "";
if(timeModul==0){//自定义结转周期
}else if(timeModul==1){//每天
//0 0 12 * * ? 每天中午12点触发
CronExpr = "0 0 "+dayTime1+" * * ?";//每天N点
}else if(timeModul==2){//每月
CronExpr = "0 0 "+dayTime2+" "+fer+" * ?";
}
if(timeModul==1 || timeModul==2){
ScheduleXML scheduleXML = new ScheduleXML();
/*
ArrayList pointArrayList = scheduleXML.getPointArrayList();
ArrayList pointArrayList_dataHST = new ArrayList();
Hashtable dataHST_old = scheduleXML.getDataHST();
for(int i=0;i<pointArrayList.size();i++){
String pointid = (String)pointArrayList.get(i);
if(pointid.equals("")){
continue;
}
Hashtable thisDetailHST = (Hashtable)dataHST_old.get(pointid);
if(thisDetailHST==null){
thisDetailHST = new Hashtable();
dataHST_old.put(pointid, thisDetailHST);
}
if(pointid.equals(scheduleid)){
thisDetailHST.put("construct", ClassName);
thisDetailHST.put("cronExpr", CronExpr);
}
pointArrayList_dataHST.add(thisDetailHST);
}
if(!pointArrayList.contains(scheduleid)){
Hashtable thisDetailHST = new Hashtable();
thisDetailHST.put("construct", ClassName);
thisDetailHST.put("cronExpr", CronExpr);
pointArrayList.add(scheduleid);
pointArrayList_dataHST.add(thisDetailHST);
}*/
Hashtable hst = new Hashtable();
hst.put("construct",ClassName);
hst.put("cronExpr",CronExpr);
new ScheduleXML().writeToScheduleXMLAdd(scheduleid,hst);
//new ScheduleXML().writeToScheduleXMLEdit(pointArrayList, pointArrayList_dataHST);
new ResetXMLFileCache().resetCache();
}
}
%>
<%@page import="weaver.servicefiles.ScheduleXML"%>
<%@page import="weaver.servicefiles.ResetXMLFileCache"%><html>
<head>
<script type="text/javascript">
window.parent.location.href = "/fna/BudgetAutoMove/FnaJz.jsp";
</script>
</head>
<body></body>
</html>
<%
}else{
response.sendRedirect("/notice/noright.jsp");
return;
}
%>