AnnualManagementOperation.jsp
6.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
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.general.TimeUtil" %>
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<jsp:useBean id="SysMaintenanceLog" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="HrmAnnualManagement" class="weaver.hrm.schedule.HrmAnnualManagement" scope="page" />
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page" />
<%
String operation = Util.null2String(request.getParameter("operation"));
String subcompanyid = Util.null2String(request.getParameter("subCompanyId"));
String departmentid = Util.null2String(request.getParameter("departmentid"));
String annualyear = Util.null2String(request.getParameter("annualyear"));
String sql="";
String username = user.getUsername();
if(operation.equals("edit")){
if(!HrmUserVarify.checkUserRight("AnnualLeave:All", user)){
response.sendRedirect("/notice/noright.jsp");
return;
}
String resourceid[] = request.getParameterValues("resourceid");
String annualdays[] = request.getParameterValues("annualdays");
if(resourceid!=null){
for(int i=0;i<resourceid.length;i++){
String tempresourceid = resourceid[i];
String tempannualdays = annualdays[i].equals("")?"0":annualdays[i];
tempannualdays = "" + Util.round(Util.getFloatValue(tempannualdays,0)+"",2);
sql = "delete from hrmannualmanagement where resourceid = " + tempresourceid + " and annualyear = " + annualyear;
RecordSet.executeSql(sql);
sql = "insert into hrmannualmanagement (resourceid,annualyear,annualdays,status) values ('"+tempresourceid+"','"+annualyear+"','"+tempannualdays+"',1)";
RecordSet.executeSql(sql);
}
//记录操作日志 Temple 2017-07-05
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(Integer.parseInt("1"));
SysMaintenanceLog.setRelatedName(username);
SysMaintenanceLog.setOperateType("1");//1 new 2:eidt 3:del
SysMaintenanceLog.setOperateDesc("设置年假日志");
if(null != subcompanyid && !"".equals(subcompanyid)){
SysMaintenanceLog.setOperateItem(subcompanyid); //存分部信息
}else{
SysMaintenanceLog.setOperateItem("temple"); //固定标识
}
SysMaintenanceLog.setOperateUserid(user.getUID());
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
}
response.sendRedirect("AnnualManagementView.jsp?cmd=true&subCompanyId="+subcompanyid+"&departmentid="+departmentid);
}
if(operation.equals("batchprocess")){
if(!HrmUserVarify.checkUserRight("AnnualLeave:All", user)){
response.sendRedirect("/notice/noright.jsp");
return;
}
Calendar today = Calendar.getInstance();
//String currentdate= Util.add0(today.get(Calendar.YEAR),4) +"-"+ Util.add0(today.get(Calendar.MONTH)+1,2) +"-"+ Util.add0(today.get(Calendar.DAY_OF_MONTH),2);
String currentdate = annualyear+"-"+ Util.add0(today.get(Calendar.MONTH)+1,2) +"-"+ Util.add0(today.get(Calendar.DAY_OF_MONTH),2);
String result = HrmAnnualManagement.getBatchProcess(subcompanyid,departmentid);
if(result.equals("-1")){
response.sendRedirect("AnnualManagementEdit.jsp?message=12&subCompanyId="+subcompanyid+"&departmentid="+departmentid+"&annualyear="+annualyear);
return;
}
//人员卡片上面的工作信息,可以录入合同开始日期,合同开始日期则为到职日期,年假批量处理,根据工龄来初始化
HashMap BatchProcess = new HashMap();//批量处理设置,工龄 + 年假天数
RecordSet.executeSql("select * from HrmAnnualBatchProcess where subcompanyid = " + result + " order by workingage desc");
int workingage[] = new int[RecordSet.getCounts()];//工龄
int j = 0;
while(RecordSet.next()){
BatchProcess.put(RecordSet.getFloat("workingage")+"",RecordSet.getString("annualdays"));
workingage[j++] = (int) RecordSet.getFloat("workingage");
}
HashMap userStartDate = new HashMap();//所有用户的合同开始日期
RecordSet.executeSql("select * from hrmresource");
while(RecordSet.next()){
userStartDate.put(RecordSet.getString("id"),Util.null2String(RecordSet.getString("startdate")));
}
String resourceid[] = request.getParameterValues("resourceid");
if(resourceid!=null){
for(int i=0;i<resourceid.length;i++){
String startdate = userStartDate.get(resourceid[i]).toString();
if(startdate.equals("")) startdate = currentdate;
int days = TimeUtil.dateInterval(startdate,currentdate);
int _workingage = days/365;
float annualdays = HrmAnnualManagement.getAnnualDays(BatchProcess,workingage,_workingage);
if(annualdays>-1){
annualdays = Util.getFloatValue(Util.round(""+annualdays,2));
String tempresourceid = resourceid[i];
sql = "delete from hrmannualmanagement where resourceid = " + tempresourceid + " and annualyear = " + annualyear;
RecordSet.executeSql(sql);
sql = "insert into hrmannualmanagement (resourceid,annualyear,annualdays,status) values ('"+tempresourceid+"','"+annualyear+"','"+annualdays+"',1)";
RecordSet.executeSql(sql);
}
}
//记录操作日志 Temple 2017-07-05
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(Integer.parseInt("1"));
SysMaintenanceLog.setRelatedName(username);
SysMaintenanceLog.setOperateType("1");//1 new 2:eidt 3:del
SysMaintenanceLog.setOperateDesc("设置年假日志");
if(null != subcompanyid && !"".equals(subcompanyid)){
SysMaintenanceLog.setOperateItem(subcompanyid); //存分部信息
}else{
SysMaintenanceLog.setOperateItem("temple"); //固定标识
}
SysMaintenanceLog.setOperateUserid(user.getUID());
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setSysLogInfo();
}
response.sendRedirect("AnnualManagementView.jsp?subCompanyId="+subcompanyid+"&departmentid="+departmentid);
}
%>