DepartmentOperation.jsp
5.99 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
<%@ page import="weaver.general.Util,weaver.conn.*" %>
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@page import="weaver.hrm.common.database.dialect.DialectUtil"%>
<%@page import="org.apache.commons.lang3.StringUtils"%> <%@ include file="/systeminfo/init_wev8.jsp" %>
<jsp:useBean id="DepartmentVirtualComInfo" class="weaver.hrm.companyvirtual.DepartmentVirtualComInfo" scope="page" />
<jsp:useBean id="SubCompanyVirtualComInfo" class="weaver.hrm.companyvirtual.SubCompanyVirtualComInfo" scope="page" />
<jsp:useBean id="SysMaintenanceLog" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<%
String operation = Util.fromScreen(request.getParameter("operation"),user.getLanguage());
int id = Util.getIntValue(request.getParameter("id"),0);
String departmentmark = Util.fromScreen(request.getParameter("departmentmark"),user.getLanguage());
String departmentname = Util.fromScreen(request.getParameter("departmentname"),user.getLanguage());
String subcompanyid1 = Util.fromScreen(request.getParameter("subcompanyid1"),user.getLanguage());
String virtualtype = SubCompanyVirtualComInfo.getCompanyid(subcompanyid1);
String supdepid = Util.fromScreen(request.getParameter("supdepid"),user.getLanguage());
if(supdepid.length()==0){
supdepid = "0";
}
String showorder = Util.fromScreen(request.getParameter("showorder"),user.getLanguage());
String allsupdepid = "";
String departmentcode = Util.fromScreen(request.getParameter("departmentcode"),user.getLanguage());
String sql = "";
if(operation.equals("add")){
if(DialectUtil.isMySql(rs.getDBType())){
sql="select min(id) as id from HrmDepartmentVirtual ";
rs.executeSql(sql);
if(rs.next()){
id=rs.getInt("id")-1;
}
if(id >= 0) id = -1 ;
sql = " INSERT INTO HrmDepartmentVirtual(id,departmentname ,departmentcode ,departmentmark ,supdepid ,allsupdepid ,subcompanyid1 , showorder,virtualtype)" +
" values ("+id+",'"+departmentname+"','"+departmentcode+"','"+departmentmark+"','"+supdepid+"','"+allsupdepid+"','"+subcompanyid1+"',"+showorder+","+virtualtype+")";
rs.executeSql(sql);
}else{
sql = " INSERT INTO HrmDepartmentVirtual(departmentname ,departmentcode ,departmentmark ,supdepid ,allsupdepid ,subcompanyid1 , showorder,virtualtype)" +
" values ('"+departmentname+"','"+departmentcode+"','"+departmentmark+"','"+supdepid+"','"+allsupdepid+"','"+subcompanyid1+"',"+showorder+","+virtualtype+")";
rs.executeSql(sql);
sql="select min(id) as id from HrmDepartmentVirtual ";
rs.executeSql(sql);
if(rs.next()){
id=rs.getInt("id");
}
}
weaver.hrm.company.OrgOperationUtil OrgOperationUtil = new weaver.hrm.company.OrgOperationUtil();
OrgOperationUtil.updateDepartmentLevel(""+id,"1");
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(id);
SysMaintenanceLog.setRelatedName(departmentname);
SysMaintenanceLog.setOperateType("1");
SysMaintenanceLog.setOperateDesc(sql);
SysMaintenanceLog.setOperateItem("414");
SysMaintenanceLog.setOperateUserid(user.getUID());
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
DepartmentVirtualComInfo.removeDepartmentCache();
response.sendRedirect("HrmDepartmentAdd.jsp?isclose=1&id="+id);
}else if(operation.equals("edit")){
sql = " update HrmDepartmentVirtual set departmentname = '"+departmentname+"' ,departmentcode = '"+departmentcode+"' ,departmentmark='"+departmentmark+"' ,supdepid='"+supdepid+"' ,allsupdepid='"+allsupdepid+"' ,subcompanyid1='"+subcompanyid1+"' ,showorder='"+showorder+"'"+
" where id = "+id;
rs.executeSql(sql);
weaver.hrm.company.OrgOperationUtil OrgOperationUtil = new weaver.hrm.company.OrgOperationUtil();
OrgOperationUtil.updateDepartmentLevel(""+id,"1");
ArrayList departmentlist = new ArrayList();
departmentlist = DepartmentVirtualComInfo.getAllChildDeptByDepId(departmentlist,id+"");
departmentlist.add(id+"");
for(int i=0;i<departmentlist.size();i++){
String listdepartmenttemp = (String)departmentlist.get(i);
RecordSet.execute("update HrmDepartmentVirtual set subcompanyid1="+subcompanyid1+" where id="+listdepartmenttemp);
//TD16048改为逐条修改
rs.execute("select id, subcompanyid from hrmresourceVirtual where departmentid="+listdepartmenttemp);
while(rs.next()){
int resourceid_tmp = Util.getIntValue(rs.getString(1), 0);
RecordSet.execute("update hrmresourcevirtual set subcompanyid="+subcompanyid1+" where id="+resourceid_tmp);
}
}
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(id);
SysMaintenanceLog.setRelatedName(departmentname);
SysMaintenanceLog.setOperateType("2");
SysMaintenanceLog.setOperateDesc(sql);
SysMaintenanceLog.setOperateItem("414");
SysMaintenanceLog.setOperateUserid(user.getUID());
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
DepartmentVirtualComInfo.removeDepartmentCache();
response.sendRedirect("HrmDepartmentEdit.jsp?isclose=1&id="+id);
}else if(operation.equals("delete")){
boolean canDelete = true;
rs.executeSql(" select count(*) from HrmResourceVirtual where departmentid in ("+DepartmentVirtualComInfo.getAllChildDepartId(""+id,""+id)+") ");
if(rs.next()){
if(rs.getInt(1)>0){
canDelete = false;
}
}
if(canDelete){
departmentname = DepartmentVirtualComInfo.getDepartmentname(""+id);
rs.executeSql(" delete from HrmDepartmentVirtual where id = "+id);
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(id);
SysMaintenanceLog.setRelatedName(departmentname);
SysMaintenanceLog.setOperateType("3");
SysMaintenanceLog.setOperateDesc(sql);
SysMaintenanceLog.setOperateItem("414");
SysMaintenanceLog.setOperateUserid(user.getUID());
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
DepartmentVirtualComInfo.removeDepartmentCache();
}
response.sendRedirect("HrmDepartmentList.jsp?isclose=1");
}
%>