DocReceiveUnitOperation.jsp
8.09 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
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.text.DecimalFormat" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.docs.senddoc.DocReceiveUnitConstant" %>
<jsp:useBean id="DocReceiveUnitComInfo" class="weaver.docs.senddoc.DocReceiveUnitComInfo" scope="page" />
<jsp:useBean id="DocReceiveUnitManager" class="weaver.docs.senddoc.DocReceiveUnitManager" scope="page" />
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="log" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%
if(!HrmUserVarify.checkUserRight("SRDoc:Edit", user)){
response.sendRedirect("/notice/noright.jsp");
return;
}
String method=Util.null2String(request.getParameter("method"));
String receiveUnitId=Util.null2String(request.getParameter("id"));
//String receiveUnitName=Util.null2String(request.getParameter("receiveUnitName"));
String receiveUnitName = Util.fromScreen(request.getParameter("receiveUnitName"),user.getLanguage());
String superiorUnitId=Util.null2String(request.getParameter("superiorUnitId"));
String receiverIds=Util.null2String(request.getParameter("receiverIds"));
double showOrder_d=Util.getDoubleValue(request.getParameter("showOrder"));
DecimalFormat df = new DecimalFormat("#.00");
String showOrder = df.format(showOrder_d);
String tempsubcompanyid = Util.null2String(request.getParameter("subcompanyid"));
int subcompanyid = 0;
if(tempsubcompanyid.endsWith(",")){
subcompanyid = Util.getIntValue(tempsubcompanyid.substring(0,tempsubcompanyid.length()-1), 0);
}else{
subcompanyid = Util.getIntValue(tempsubcompanyid,0);
}
String canStartChildRequest=Util.null2String(request.getParameter("canStartChildRequest"));
if(!"0".equals(canStartChildRequest)){
canStartChildRequest="1";
}
String changeDir=Util.null2String(request.getParameter("changeDir"));
String companyType=Util.null2String(request.getParameter("companyType"));
String isMain=Util.null2String(request.getParameter("isMain"));
boolean ischeckdir = false;
if(companyType.equals("0")) {
changeDir = "";
}
else {
//receiverIds = "";
ischeckdir = true;//DocReceiveUnitComInfo.checkChangeDir(changeDir);//页面已用DWR检查
if(!ischeckdir) {
%>
<script>alert('<%=SystemEnv.getHtmlLabelName(22943,user.getLanguage())%>!');history.go(-1);</script>
<%
return;
}
}
String isDialog = Util.null2String(request.getParameter("isdialog"));
String from = Util.null2String(request.getParameter("from"));
String allSuperiorUnitId="";
String level="0";
if(superiorUnitId.equals("")||superiorUnitId.equals(DocReceiveUnitConstant.RECEIVE_UNIT_ROOT_ID)){
superiorUnitId=DocReceiveUnitConstant.RECEIVE_UNIT_ROOT_ID;
allSuperiorUnitId=superiorUnitId;
level="1";
}else{
allSuperiorUnitId=DocReceiveUnitComInfo.getAllSuperiorUnitId(superiorUnitId)+","+superiorUnitId;
level=String.valueOf(Integer.parseInt(DocReceiveUnitComInfo.getLevel(superiorUnitId))+1);
}
if(receiveUnitName!=null){
receiveUnitName=receiveUnitName.trim();
}
String isWfDoc = Util.null2String(request.getParameter("isWfDoc"));
if(method.equals("AddSave")){
//RecordSet.executeSql("insert into DocReceiveUnit(receiveUnitName,superiorUnitId,receiverIds,allSuperiorUnitId,level,showOrder) values('"+receiveUnitName+"',"+superiorUnitId+",'"+receiverIds+"','"+allSuperiorUnitId+"',"+level+","+showOrder+")");
//RecordSet.executeSql("insert into DocReceiveUnit(receiveUnitName,superiorUnitId,receiverIds,allSuperiorUnitId,unitLevel,showOrder,subcompanyid) values('"+receiveUnitName+"',"+superiorUnitId+",'"+receiverIds+"','"+allSuperiorUnitId+"',"+level+","+showOrder+","+subcompanyid+")");
String sql = "insert into DocReceiveUnit(receiveUnitName,superiorUnitId,receiverIds,allSuperiorUnitId,unitLevel,showOrder,subcompanyid,canStartChildRequest,changeDir,companyType,isMain) values('"+receiveUnitName+"',"+superiorUnitId+",'"+receiverIds+"','"+allSuperiorUnitId+"',"+level+","+showOrder+","+subcompanyid+",'"+canStartChildRequest+"','"+changeDir+"','"+companyType+"','"+isMain+"')";
RecordSet.executeSql(sql);
RecordSet.executeSql(" select max(id) from DocReceiveUnit ");
if(RecordSet.next()){
receiveUnitId=Util.null2String(RecordSet.getString(1));
}
log.insSysLogInfo(user, Util.getIntValue(receiveUnitId), receiveUnitName, sql, isWfDoc.equals("1")?"348":"221", "1", 0, request.getRemoteAddr());
DocReceiveUnitComInfo.removeDocReceiveUnitCache();
if(isDialog.equals("1")){
response.sendRedirect("DocReceiveUnitAdd.jsp?refresh=1&isclose=1&receiveUnitId="+receiveUnitId+"&subcompanyid="+subcompanyid);
}else{
response.sendRedirect("DocReceiveUnitFrame.jsp?refresh=1&receiveUnitId="+receiveUnitId+"&subcompanyid="+subcompanyid);
}
return;
}
else if(method.equals("EditSave")){
//在级别改变的情况下,更新所有下级的“级别”和“所有上级”字段的值
if(!superiorUnitId.equals(DocReceiveUnitComInfo.getSuperiorUnitId(receiveUnitId))){
DocReceiveUnitManager.updateDataOfAllSubReceiveUnit(receiveUnitId,allSuperiorUnitId,level);
}
String logsql = "";
//修改了分部
if(subcompanyid != Util.getIntValue(DocReceiveUnitComInfo.getSubcompanyid(receiveUnitId))){
//更改所有下级的所属分部
boolean isoracle = RecordSet.getDBType().equals("oracle");
String sql=null;
if(isoracle){
sql = "update DocReceiveUnit set subCompanyId="+subcompanyid+" where ','||allSuperiorUnitId||',' like '%,"+receiveUnitId+",%'";
}else{
sql = "update DocReceiveUnit set subCompanyId="+subcompanyid+" where ','+allSuperiorUnitId+',' like '%,"+receiveUnitId+",%'";
}
logsql = sql;
RecordSet.executeSql(sql);
}
//update by fanggsh 20060919 for TD4529 level字段改为unitLevel begin
//RecordSet.executeSql("update DocReceiveUnit set receiveUnitName='"+receiveUnitName+"',superiorUnitId="+superiorUnitId+",receiverIds='"+receiverIds+"',allSuperiorUnitId='"+allSuperiorUnitId+"',level="+level+",showOrder="+showOrder+" where id="+receiveUnitId);
//RecordSet.executeSql("update DocReceiveUnit set receiveUnitName='"+receiveUnitName+"',superiorUnitId="+superiorUnitId+",receiverIds='"+receiverIds+"',allSuperiorUnitId='"+allSuperiorUnitId+"',unitLevel="+level+",showOrder="+showOrder+", subcompanyid="+subcompanyid+" where id="+receiveUnitId);
String sql = "update DocReceiveUnit set receiveUnitName='"+receiveUnitName+"',superiorUnitId="+superiorUnitId+",receiverIds='"+receiverIds+"',allSuperiorUnitId='"+allSuperiorUnitId+"',unitLevel="+level+",showOrder="+showOrder+", subcompanyid="+subcompanyid+",canStartChildRequest='"+canStartChildRequest+"',changeDir='"+changeDir+"',companyType='"+companyType+"',isMain='"+isMain+"' where id="+receiveUnitId;
logsql = logsql + ";"+sql;
RecordSet.executeSql(sql);
//update by fanggsh 20060919 for TD4529 level字段改为unitLevel end
log.insSysLogInfo(user, Util.getIntValue(receiveUnitId), receiveUnitName, logsql, isWfDoc.equals("1")?"348":"221", "2", 0, request.getRemoteAddr());
DocReceiveUnitComInfo.removeDocReceiveUnitCache();
if(isDialog.equals("1")){
response.sendRedirect("DocReceiveUnitEdit.jsp?isclose=1&id="+receiveUnitId);
}else{
response.sendRedirect("DocReceiveUnitEdit.jsp?refresh=1&id="+receiveUnitId);
}
return;
}
else if(method.equals("Delete")){
String result = DocReceiveUnitManager.getReceiveUnitCheckbox(""+receiveUnitId);
String subCompanyId = DocReceiveUnitComInfo.getSubcompanyid(receiveUnitId);
superiorUnitId=DocReceiveUnitComInfo.getSuperiorUnitId(""+receiveUnitId);
if("0".equalsIgnoreCase(result)){
String sql = "delete from DocReceiveUnit where id="+receiveUnitId;
RecordSet.executeSql(sql);
log.insSysLogInfo(user, Util.getIntValue(receiveUnitId), DocReceiveUnitComInfo.getReceiveUnitName(receiveUnitId), sql, isWfDoc.equals("1")?"348":"221", "3", 0, request.getRemoteAddr());
DocReceiveUnitComInfo.deleteDocReceiveUnitInfoCache(receiveUnitId);
}
if("0".equals(superiorUnitId) || "".equals(superiorUnitId)){
response.sendRedirect("DocReceiveUnitRight.jsp?refresh=1&subcompanyid="+subCompanyId);
}else{
response.sendRedirect("DocReceiveUnitEdit.jsp?refresh=1&receiveUnitId="+superiorUnitId);
}
return;
}
%>