CheckOperation.jsp
13 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
<%@ page language="java" contentType="text/html; charset=GBK" %>
<%@ page import="java.security.*,weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.systeminfo.SystemEnv" %>
<%@page import="weaver.hrm.common.database.dialect.DialectUtil"%>
<%@ include file="/systeminfo/init.jsp" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rsp" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rsd" class="weaver.conn.RecordSet" scope="page" />
<%
String from=Util.null2String((String)session.getAttribute("from"));
String deltype=Util.null2String(request.getParameter("type"));
String inserttype=Util.null2String(request.getParameter("inserttype"));
String edittype=Util.null2String(request.getParameter("edittype"));
//HrmPerformanceCheckRule的insert
if (inserttype.equals("basic")){
char separator = Util.getSeparator() ;
String ruleName=Util.fromScreen(request.getParameter("ruleName"),user.getLanguage());
String memo=Util.fromScreen(request.getParameter("memo"),user.getLanguage());
String status=Util.null2String(request.getParameter("status"));
if (status.equals("")) status="1";
String para="checkruleid";
String id="";
rs.executeProc("GetMaxId_PRO",para);
if (rs.next()){
id = ""+rs.getInt(1);
}
rs.execute("select * from HrmPerformanceCheckRule where ruleName='"+ruleName+"'");
if (rs.next())
{
out.print("<script>alert('"+SystemEnv.getHtmlLabelName(195,user.getLanguage())+SystemEnv.getHtmlLabelName(18082,user.getLanguage())+"')</script>");
out.print("<script>history.back(-1);</script>");
return;
}
rs.execute("insert into HrmPerformanceCheckRule (id,ruleName,memo,status) values("+id+",'"+ruleName+"','"+memo+"','"+status+"')");
response.sendRedirect("CheckEdit.jsp?id="+id);
}
//HrmPerformanceCheckRule的update
if (edittype.equals("basic")){
String id=Util.null2String(request.getParameter("mainid"));
String ruleName=Util.fromScreen(request.getParameter("ruleName"),user.getLanguage());
String memo=Util.fromScreen(request.getParameter("memo"),user.getLanguage());
String status=Util.null2String(request.getParameter("status"));
if (status.equals("")) status="1";
rs.execute("select * from HrmPerformanceCheckRule where ruleName='"+ruleName+"' and id!="+id);
if (rs.next())
{
out.print("<script>alert('"+SystemEnv.getHtmlLabelName(195,user.getLanguage())+SystemEnv.getHtmlLabelName(18082,user.getLanguage())+"')</script>");
out.print("<script>history.back(-1);</script>");
return;
}
rs.execute("update HrmPerformanceCheckRule set ruleName='"+ruleName+"',memo='"+memo+"',status='"+status+"' where id="+id);
response.sendRedirect("CheckEdit.jsp?id="+id);
}
//HrmPerformanceCheckDetail的insert
if (inserttype.equals("detail")){
String targetName=Util.fromScreen(request.getParameter("targetName"),user.getLanguage());
String percent_n=Util.null2o(request.getParameter("percent_n"));
String mid=Util.null2String(request.getParameter("mainid"));
String parentId=Util.null2o(request.getParameter("parentId")); //如果为0,表示无上级
String targetId=Util.fromScreen(request.getParameter("targetIdf"),user.getLanguage()); //如果为空表示不是从指标直接倒入的
float sum=0;
int levels=1; //节点级别(1为第一级节点)
String depath=""; //节点深度(父节点的depath+"-"+id,如果是第一级节点为id)
String para="checkdetailid";
String id="";
rs.executeProc("GetMaxId_PRO",para);
if (rs.next()){
id = ""+rs.getInt(1);
}
depath=id;
String sql="";
if (!parentId.equals("0"))
{
rsp.execute("select * from HrmPerformanceCheckDetail where id="+parentId);
if (rsp.next())
{
levels+=rsp.getInt("levels");
depath=rsp.getString("depath")+"-"+id;
sum=0;
if (rs.getDBType().equals("oracle"))
rs.execute("select sum(percent_n) from HrmPerformanceCheckDetail where parentId="+parentId+" and checkId="+mid);
else if (rs.getDBType().equals("db2")){
rs.execute("select sum(double(percent_n)) from HrmPerformanceCheckDetail where parentId="+parentId+" and checkId="+mid);
}else if(DialectUtil.isMySql(rs.getDBType())){
rs.execute("select sum(convert(percent_n,decimal)) from HrmPerformanceCheckDetail where parentId="+parentId+" and checkId="+mid);
}
else
rs.execute("select sum(convert(float,percent_n)) from HrmPerformanceCheckDetail where parentId="+parentId+" and checkId="+mid);
//out.print("select sum(percent_n) from HrmPerformanceCheckDetail where parentId="+parentId+" and checkId="+mid);
//相同parentId的percent_n和应该是100
if (rs.next()) sum=rs.getFloat(1);
if ((sum+Float.parseFloat(percent_n))>100) //判断parentID为0的percent_n和应该是100
{
out.print("<script>alert('"+SystemEnv.getHtmlLabelName(18123,user.getLanguage())+"')</script>");
out.print("<script>history.back(-1);</script>");
return;
}
}
}
else
{
if (rsp.getDBType().equals("oracle"))
rsp.execute("select sum(percent_n) from HrmPerformanceCheckDetail where parentId=0 and checkId="+mid);
else if (rsp.getDBType().equals("db2"))
rsp.execute("select sum(double(percent_n)) from HrmPerformanceCheckDetail where parentId=0 and checkId="+mid);
}else if(DialectUtil.isMySql(rs.getDBType())){
rsp.execute("select sum(convert(percent_n,decimal)) from HrmPerformanceCheckDetail where parentId=0 and checkId="+mid);
}else
rsp.execute("select sum(convert(float,percent_n)) from HrmPerformanceCheckDetail where parentId=0 and checkId="+mid);
//out.print("select sum(percent_n) from HrmPerformanceCh
if (rsp.next()) sum=rsp.getFloat(1);
if ((sum+Float.parseFloat(percent_n))>100) //判断parentID为0的percent_n和应该是100
{
out.print("<script>alert('"+SystemEnv.getHtmlLabelName(18123,user.getLanguage())+"')</script>");
out.print("<script>history.back(-1);</script>");
return;
}
}
rs.execute("select * from HrmPerformanceCheckDetail where checkId="+mid+" and parentId="+parentId+" and targetName='"+targetName+"'");
if (rs.next())
{
out.print("<script>alert('"+SystemEnv.getHtmlLabelName(195,user.getLanguage())+SystemEnv.getHtmlLabelName(18082,user.getLanguage())+"')</script>");
out.print("<script>history.back(-1);</script>");
return;
}
rs.execute("insert into HrmPerformanceCheckDetail(id,checkId,targetName,percent_n,parentId,levels,depath) values("+id+","+mid+",'"+targetName+"','"+percent_n+"',"+parentId+","+levels+",'"+depath+"') ");
if (!targetId.equals(""))
{
rsd.execute("select * from HrmPerformanceTargetStd where targetDetailId="+targetId);
while (rsd.next())
{
rs.execute("insert into HrmPerformanceCheckStd (checkDetailId,stdName,point) values("+id+",'"+Util.null2String(rsd.getString("stdName"))+"',"+Util.null2String(rsd.getString("point"))+")");
}
}
response.sendRedirect("TargetDetailEdit.jsp?id="+id+"&mainid="+mid);
}
//HrmPerformanceCheckDetail的insert的update
if (edittype.equals("detail")){
String targetName=Util.fromScreen(request.getParameter("targetName"),user.getLanguage());
String percent_n=Util.null2o(request.getParameter("percent_n"));
String mid=Util.null2String(request.getParameter("mainid"));
String id=Util.null2String(request.getParameter("id"));
String parentId=Util.null2o(request.getParameter("parentId")); //如果为0,表示无上级
float sum=0;
if (rsp.getDBType().equals("oracle"))
rsp.execute("select sum(percent_n) from HrmPerformanceCheckDetail where id!="+id+" and parentId="+parentId+" and checkId="+mid);
else if (rsp.getDBType().equals("db2")){
rsp.execute("select sum(double(percent_n)) from HrmPerformanceCheckDetail where id!="+id+" and parentId="+parentId+" and checkId="+mid);
}else if(DialectUtil.isMySql(rs.getDBType())){
rsp.execute("select sum(convert(percent_n,decimal)) from HrmPerformanceCheckDetail where id!="+id+" and parentId="+parentId+" and checkId="+mid);
}
else{
rsp.execute("select sum(convert(float,percent_n)) from HrmPerformanceCheckDetail where id!="+id+" and parentId="+parentId+" and checkId="+mid);
//out.print("select sum(convert(float,percent_n)) from HrmPerformanceCheckDetail where id!="+id+" and parentId="+parentId+" and checkId="+mid);
}
//相同parentId的percent_n和应该是100
if (rsp.next()) sum=rsp.getFloat(1);
if ((sum+Float.parseFloat(percent_n))>100) //判断parentID为0的percent_n和应该是100
{
out.print("<script>alert('"+SystemEnv.getHtmlLabelName(18123,user.getLanguage())+"')</script>");
out.print("<script>history.back(-1);</script>");
return;
}
rs.execute("select * from HrmPerformanceCheckDetail where checkId="+mid+" and id!="+id+" and parentId="+parentId+" and targetName='"+targetName+"'");
if (rs.next())
{
out.print("<script>alert('"+SystemEnv.getHtmlLabelName(195,user.getLanguage())+SystemEnv.getHtmlLabelName(18082,user.getLanguage())+"')</script>");
out.print("<script>history.back(-1);</script>");
return;
}
rs.execute("update HrmPerformanceCheckDetail set targetName='"+targetName+"',percent_n='"+percent_n+"' where id="+id);
//out.print("update HrmPerformanceCheckDetail set targetName='"+targetName+"',percent_n="+percent_n+" where id="+id);
response.sendRedirect("TargetDetailEdit.jsp?mainid="+mid+"&id="+id);
}
//HrmPerformanceCheckDetail的insert的update
if (edittype.equals("modul")){
String targetName=Util.fromScreen(request.getParameter("targetName"),user.getLanguage());
String id=Util.null2String(request.getParameter("id"));
String mid=Util.null2String(request.getParameter("mainid"));
String para="targetdetailid";
String iid="";
rs.executeProc("GetMaxId_PRO",para);
if (rs.next()){
iid = ""+rs.getInt(1);
}
String para1="targettypeid";
String mmid="";
rs.executeProc("GetMaxId_PRO",para1);
if (rs.next()){
mmid = ""+rs.getInt(1);
}
rs.execute("insert into HrmPerformanceTargetType (id,targetName,memo) values("+mmid+",'"+SystemEnv.getHtmlLabelName(18397,user.getLanguage())+"','"+SystemEnv.getHtmlLabelName(18398,user.getLanguage())+"')");
rs.execute("insert into HrmPerformanceTargetDetail(id,targetId,targetName,type_l,type_t,cycle,memo) values("+iid+","+mmid+",'"+targetName+"','0','0','3','"+SystemEnv.getHtmlLabelName(18398,user.getLanguage())+"') ");
rsd.execute("select stdName,point from hrmPerformanceCheckStd where checkDetailId="+id);
while (rsd.next()){
rs.execute("insert into HrmPerformanceTargetStd (targetDetailId,stdName,point) values("+iid+",'"+rsd.getString(1)+"',"+rsd.getString(2)+")");
}
response.sendRedirect("TargetDetailEdit.jsp?mainid="+mid+"&id="+id);
}
//HrmPerformanceCheckStd的insert
if (inserttype.equals("std")){
String stdName=Util.fromScreen(request.getParameter("stdName"),user.getLanguage());
String point=Util.null2o(request.getParameter("point"));
String mainid=Util.null2String(request.getParameter("mainid"));
String id=Util.null2String(request.getParameter("id"));
rs.execute("insert into HrmPerformanceCheckStd(checkDetailId,stdName,point) values("+id+",'"+stdName+"',"+point+") ");
response.sendRedirect("TargetDetailEdit.jsp?mainid="+mainid+"&id="+id);
}
//HrmPerformanceCheckStd的edit
if (edittype.equals("std")){
String stdName=Util.fromScreen(request.getParameter("stdName"),user.getLanguage());
String point=Util.null2o(request.getParameter("point"));
String mainid=Util.null2String(request.getParameter("mainid"));
String id=Util.null2String(request.getParameter("id"));
String tid=Util.null2String(request.getParameter("tid"));
rs.execute("update HrmPerformanceCheckStd set stdName='"+stdName+"',point="+point+" where id="+id );
response.sendRedirect("TargetDetailEdit.jsp?mainid="+mainid+"&id="+tid);
}
//HrmPerformanceCheckStd的删除
if (deltype.equals("detaildelstd"))
{
String mainid=Util.null2String(request.getParameter("mainid"));
String id=Util.null2String(request.getParameter("id"));
String tid=Util.null2String(request.getParameter("tid"));
rs.execute("delete from HrmPerformanceCheckStd where id="+id);
response.sendRedirect("TargetDetailEdit.jsp?mainid="+mainid+"&id="+tid);
}
//HrmPerformanceCheckDetail的删除
if (deltype.equals("detaildel"))
{
String mainid=Util.null2String(request.getParameter("mainid"));
String id=Util.null2String(request.getParameter("id"));
String tid=Util.null2String(request.getParameter("tid"));
String depth="";
rs.execute("select * from HrmPerformanceCheckDetail where id="+id);
if (rs.next())
{
depth=rs.getString("depath")+"-";
}
rs.execute("delete from HrmPerformanceCheckDetail where depath like '"+depth+"%' ");
rs.execute("delete from HrmPerformanceCheckDetail where id="+id);
out.print("<script>history.back(-1);</script>");
}
%>