Ecology-Dev-chaofa/昆山鸿仕达/interface/hsd/ee.jsp

157 lines
5.7 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@page import="weaver.general.Util"%>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="java.text.SimpleDateFormat" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rst" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="bb" class="weaver.general.BaseBean" />
<%
int sum = 0;
String userid = Util.null2String(request.getParameter("userid"));
String date = Util.null2String(request.getParameter("date"));
String fromdate = Util.null2String(request.getParameter("fromdate"));
String fromtime = Util.null2String(request.getParameter("fromtime"));
String todate = Util.null2String(request.getParameter("todate"));
String totime = Util.null2String(request.getParameter("totime"));
String fromdatedb = Util.null2String(request.getParameter("fromdatedb"));
String fromtimedb = Util.null2String(request.getParameter("fromtimedb"));
String todatedb = Util.null2String(request.getParameter("todatedb"));
String totimedb = Util.null2String(request.getParameter("totimedb"));
String ori_belongdate = Util.null2String(request.getParameter("ori_belongdate"));
boolean bool = false;
boolean booll = false;
bool = checkIsBeforeOvertime(userid,date,3,fromdate,fromtime,todate,totime,fromdatedb,fromtimedb,todatedb,totimedb,ori_belongdate);
booll = checkIsAfterOvertime(userid,date,4,fromdate,fromtime,todate,totime,fromdatedb,fromtimedb,todatedb,totimedb,ori_belongdate);
%>
<%!
public boolean checkIsBeforeOvertime(String resourceId,String kqDate,int computingmode,
String fromdate,String fromtime,String todate,String totime,
String fromdatedb,String fromtimedb,String todatedb,String totimedb,String ori_belongdate){
boolean bool = false;
String workbegintime = getWorkBegintime(resourceId,ori_belongdate);
// 无需审批,根据打卡时间计算加班时长 . 取 fromdate、fromtime
if (computingmode == 3) {
//开始日期不等于并且大于归属日期。需要将归属日期更新为 开始日期
if (!ori_belongdate.equals(kqDate) && compareDate(ori_belongdate, kqDate)) {
if (workbegintime.equals(totime)) {
bool = true;
}
}
}
if(computingmode == 4){
//开始日期不等于并且大于归属日期。需要将归属日期更新为 开始日期
if(!todatedb.equals(kqDate) && compareDate(todatedb, kqDate)) {
if(workbegintime.equals(totimedb)){
bool = true;
}
}
}
return bool;
}
public boolean checkIsAfterOvertime(String resourceId,String belongdate,int computingmode,
String fromdate,String fromtime,String todate,String totime,
String fromdatedb,String fromtimedb,String todatedb,String totimedb,String ori_belongdate) {
boolean bool = false;
String workendtime = getWorkEndtime(resourceId,ori_belongdate);
if(computingmode == 3){
// 加班开始日期不等于归属日期 并且大于 归属日期, 加班开始时间 = 归属日期所在班次的开始时间
if(!fromdate.equals(belongdate) && compareDate(fromdate,belongdate)){
if(fromtime.equals(workendtime)){
bool = true;
}
}
}
if(computingmode == 4){
// 加班开始日期不等于归属日期 并且大于 归属日期, 加班开始时间 = 归属日期所在班次的开始时间
if(!fromdatedb.equals(ori_belongdate) && compareDate(fromdatedb,ori_belongdate)){
if(fromtimedb.equals(workendtime)){
bool = true;
}
}
}
return bool;
}
/**
* 获取 班次开始时间
* @param userid
* @param date
* @return
*/
public String getWorkBegintime(String userid,String date){
String result = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select workbegintime from kq_format_detail where resourceid = ? and kqdate = ?",userid,date);
while(rs.next()){
result = Util.null2String(rs.getString("workbegintime"));
}
return result;
}
/**
* 获取 班次结束时间
* @param userid
* @param date
* @return
*/
public String getWorkEndtime(String userid,String date){
String result = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select workendtime from kq_format_detail where resourceid = ? and kqdate = ?",userid,date);
while(rs.next()){
result = Util.null2String(rs.getString("workendtime"));
}
return result;
}
/**
* 比较时间的大小
* @param a
* @param b
* @return
*/
public static boolean compareDate(String a, String b){
boolean flag = false;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
long t1 = sdf.parse(a).getTime();
long t2 = sdf.parse(b).getTime();
if (t1 >= t2) {
flag = true;
} else {
flag = false;
}
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
%>
<HEAD>
</HEAD>
<BODY>
<h1>Congratulation Mode 666666 !</h1>
<h2> 班前加班的结果是什么? <%=bool%></h2>
<h2> 班后加班的结果是什么? <%=booll%></h2>
</BODY>