HrmCanceledCheck.jsp
9.62 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
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="weaver.general.Util"%>
<%@ page import="weaver.general.StaticObj"%>
<%@ page import="weaver.matrix.MatrixUtil"%>
<%@ page import="weaver.interfaces.email.CoreMailAPI" %>
<%@ page import="weaver.interfaces.email.CoreMailTestAPI" %>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="DepartmentComInfo" class="weaver.hrm.company.DepartmentComInfo" scope="page" />
<jsp:useBean id="SysMaintenanceLog" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<jsp:useBean id="SubCompanyComInfo" class="weaver.hrm.company.SubCompanyComInfo" scope="page" />
<jsp:useBean id="OrganisationCom" class="weaver.rtx.OrganisationCom" scope="page" />
<jsp:useBean id="HrmServiceManager" class="weaver.interfaces.hrm.HrmServiceManager" scope="page" />
<%
CoreMailAPI coremailapi = CoreMailAPI.getInstance();
CoreMailTestAPI testapi = CoreMailTestAPI.getInstance();
String cancelFlag = request.getParameter("cancelFlag");
int deptorsupid = Util.getIntValue(request.getParameter("deptorsupid"));
int userid = Util.getIntValue(request.getParameter("userid"));
String operation = Util.null2String(request.getParameter("operation"));
String deptorsubname = "";
String sqlname = "";
if ("subcompany".equals(operation)) {
int supsubcomid = 0;
sqlname = "select subcompanyname, supsubcomid from HrmSubCompany where id = "+deptorsupid;
rs.executeSql(sqlname);
if(rs.next()) {
deptorsubname = rs.getString("subcompanyname");
supsubcomid = Util.getIntValue(rs.getString("supsubcomid"), 0);
}
if ("1".equals(cancelFlag)) {
RecordSet.executeSql("select id from HrmSubCompany where canceled ='1' and id = (select supsubcomid from HrmSubCompany where id ="+deptorsupid+")");
if(RecordSet.next()) {
out.println("0");
} else {
RecordSet.executeSql("update HrmSubCompany set canceled = '0' where id ="+ deptorsupid);
SubCompanyComInfo.removeCompanyCache();
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(deptorsupid);
SysMaintenanceLog.setRelatedName(deptorsubname);
SysMaintenanceLog.setOperateType("11");
SysMaintenanceLog.setOperateItem("11");
SysMaintenanceLog.setOperateUserid(userid);
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
OrganisationCom.addSubCompany(deptorsupid);//分部解封时同步到RTX
//分部解封时同步到CoreMail邮件系统
if(supsubcomid == 0) {
coremailapi.synOrg("com_"+deptorsupid, deptorsubname, "org_unit_name="+deptorsubname, "0");
//testapi.synOrg("com_"+deptorsupid, deptorsubname, "", "0");
} else {
coremailapi.synOrg("com_"+deptorsupid, deptorsubname, "parent_org_unit_id=com_"+supsubcomid+"&org_unit_name="+deptorsubname, "0");
//testapi.synOrg("com_"+deptorsupid, deptorsubname, "com_"+supsubcomid, "0");
}
//OA与第三方接口单条数据同步方法开始
HrmServiceManager.SynInstantSubCompany(""+deptorsupid,"1");
//OA与第三方接口单条数据同步方法结束
out.println("1");
}
} else {
String result = "";
String sqlstr = "select id from hrmdepartment where (canceled = '0' or canceled is null) "
+ " and exists (select 1 from hrmsubcompany b where hrmdepartment.subcompanyid1 = b.id and b.id ="+ deptorsupid+ ")";
RecordSet.executeSql(sqlstr);
if (RecordSet.next()) {
//分部下存在部门
result = "0";
}
if(result.equals("")){
sqlstr = " select id from hrmsubcompany where (canceled = '0' or canceled is null) and id in (select id from hrmsubcompany where supsubcomid ="+ deptorsupid + ")";
RecordSet.executeSql(sqlstr);
if (RecordSet.next()) {
//分部下存在下级分部
result = "2";
}
}
if(result.equals("")){
RecordSet.executeSql("update HrmSubCompany set canceled = '1' where id ="+ deptorsupid);
SubCompanyComInfo.removeCompanyCache();
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(deptorsupid);
SysMaintenanceLog.setRelatedName(deptorsubname);
SysMaintenanceLog.setOperateType("10");
SysMaintenanceLog.setOperateItem("11");
SysMaintenanceLog.setOperateUserid(userid);
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
OrganisationCom.deleteSubCompany(deptorsupid);//分部封存时同步到RTX
//分部封存时同步到CoreMail邮件系统
if(supsubcomid == 0) {
coremailapi.synOrg("com_"+deptorsupid, deptorsubname, "org_unit_name="+deptorsubname, "1");
//testapi.synOrg("com_"+deptorsupid, deptorsubname, "", "1");
} else {
coremailapi.synOrg("com_"+deptorsupid, deptorsubname, "parent_org_unit_id=com_"+supsubcomid+"&org_unit_name="+deptorsubname, "1");
//testapi.synOrg("com_"+deptorsupid, deptorsubname, "com_"+supsubcomid, "1");
}
//OA与第三方接口单条数据同步方法开始
HrmServiceManager.SynInstantSubCompany(""+deptorsupid,"3");
//OA与第三方接口单条数据同步方法结束
result = "1";
}
out.println(result);
}
//同步分部数据到矩阵
MatrixUtil.updateSubcompayData(""+deptorsupid);
} else {
String supdepid = "";
String subcompanyid1 = "";
sqlname = "select departmentname, supdepid, subcompanyid1 from hrmdepartment where id = "+deptorsupid;
rs.executeSql(sqlname);
if(rs.next()) {
deptorsubname = rs.getString("departmentname");
supdepid = Util.null2String(rs.getString("supdepid"));
subcompanyid1 = Util.null2String(rs.getString("subcompanyid1"));
}
if ("1".equals(cancelFlag)) {
RecordSet.executeSql("select id from HrmSubCompany where canceled ='1' and id = (select subcompanyid1 from hrmdepartment where id = "+deptorsupid+")");
if(RecordSet.next()){
out.println("0");
} else {
RecordSet.executeSql("select id from hrmdepartment where canceled ='1' and id = (select supdepid from hrmdepartment where id = "+deptorsupid+")");
if(RecordSet.next()) {
out.println("2");
} else {
RecordSet.executeSql("update hrmdepartment set canceled = '0' where id ="+ deptorsupid);
DepartmentComInfo.removeCompanyCache();
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(deptorsupid);
SysMaintenanceLog.setRelatedName(deptorsubname);
SysMaintenanceLog.setOperateType("11");
SysMaintenanceLog.setOperateItem("12");
SysMaintenanceLog.setOperateUserid(userid);
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
OrganisationCom.addDepartment(deptorsupid);//部门解封时同步到RTX
//部门解封时同步到邮件系统
if("0".equals(supdepid)) {
coremailapi.synOrg(""+deptorsupid, deptorsubname, "parent_org_unit_id=com_"+subcompanyid1+"&org_unit_name="+deptorsubname, "0");
//testapi.synOrg(""+deptorsupid, deptorsubname, "com_"+subcompanyid1, "0");
} else {
coremailapi.synOrg(""+deptorsupid, deptorsubname, "parent_org_unit_id="+supdepid+"&org_unit_name="+deptorsubname, "0");
//testapi.synOrg(""+deptorsupid, deptorsubname, ""+supdepid, "0");
}
//OA与第三方接口单条数据同步方法开始
HrmServiceManager.SynInstantDepartment(""+deptorsupid,"1");
//OA与第三方接口单条数据同步方法结束
out.println("1");
}
}
} else {
String result = "";
String sqlstr = "select id from hrmresource where status in (0,1,2,3)"
+ " and EXISTS (select 1 from hrmdepartment b where hrmresource.departmentid=b.id and b.id = "
+ deptorsupid +")";
RecordSet.executeSql(sqlstr);
if (RecordSet.next()) {
//部门下有在职的人员
result="0";
}
if(result.equals("")){
sqlstr = " select id from hrmdepartment where (canceled = '0' or canceled is null) and id in (select id from hrmdepartment where supdepid = "
+ deptorsupid + ")";
RecordSet.executeSql(sqlstr);
if (RecordSet.next()) {
//部门存在下级部门
result="2";
}
}
if(result.equals("")){
RecordSet.executeSql("update hrmdepartment set canceled = '1' where id ="+ deptorsupid);
DepartmentComInfo.removeCompanyCache();
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(deptorsupid);
SysMaintenanceLog.setRelatedName(deptorsubname);
SysMaintenanceLog.setOperateType("10");
SysMaintenanceLog.setOperateItem("12");
SysMaintenanceLog.setOperateUserid(userid);
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
OrganisationCom.deleteDepartment(deptorsupid);//部门封存时同步到RTX
//部门封存时同步到邮件系统
if("0".equals(supdepid)) {
coremailapi.synOrg(""+deptorsupid, deptorsubname, "parent_org_unit_id=com_"+subcompanyid1+"&org_unit_name="+deptorsubname, "1");
//testapi.synOrg(""+deptorsupid, deptorsubname, "com_"+subcompanyid1, "1");
} else {
coremailapi.synOrg(""+deptorsupid, deptorsubname, "parent_org_unit_id="+supdepid+"&org_unit_name="+deptorsubname, "1");
//testapi.synOrg(""+deptorsupid, deptorsubname, ""+supdepid, "1");
}
//OA与第三方接口单条数据同步方法开始
HrmServiceManager.SynInstantDepartment(""+deptorsupid,"3");
//OA与第三方接口单条数据同步方法结束
result = "1";
}
out.println(result);
}
//同步部门数据到矩阵
MatrixUtil.updateDepartmentData(""+deptorsupid);
}
RecordSet.executeSql("update orgchartstate set needupdate=1");
%>