You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
8.2 KiB
Plaintext

<%@ page import="weaver.general.*" %>
<%@ page import="weaver.hrm.User" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.systeminfo.SystemEnv" %>
<%@ page import="weaver.common.DateUtil" %>
<%@ page import="com.engine.kq.util.PageUidFactory" %>
<%@ page import="com.cloudstore.dev.api.util.Util_TableMap" %>
<%@ page import="com.engine.common.util.ParamUtil" %>
<%@ page import="weaver.hrm.resource.ResourceComInfo" %>
<%@ page import="com.engine.kq.service.KQMyAttendanceService" %>
<%@ page import="com.engine.common.util.ServiceUtil" %>
<%@ page import="com.engine.kq.service.impl.KQMyAttendanceServiceImpl" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
Map<String,Object> data = new HashMap<String,Object>();
User user = HrmUserVarify.getUser(request , response);
Map<String, Object> params = ParamUtil.request2Map(request);
String kqtype = Util.null2String(params.get("kqtype"));
if("BELATE".equalsIgnoreCase(kqtype) || "graveBeLate".equalsIgnoreCase(kqtype)){
data = getBeLateList(params,user);
data.put("api_status", true);
}else{
data = getService(user).getHrmKQReportInfo(ParamUtil.request2Map(request), user);
data.put("api_status", true);
}
JSONObject jsonObject = new JSONObject(data);
%>
<%=jsonObject.toJSONString() %>
<%!
private KQMyAttendanceService getService(User user){
return (KQMyAttendanceService) ServiceUtil.getService(KQMyAttendanceServiceImpl.class, user);
}
/**
* 获取迟到明细列表
*
* @return
*/
public Map<String, Object> getBeLateList(Map<String, Object> params,User user)
{
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
String nowdate = weaver.common.DateUtil.getCurrentDate();
String type = Util.null2String(params.get("type"));//是查看一年的数据还是一月的数据1-年、2-月
String typevalue = Util.null2String(params.get("typevalue"));//指定的年份或者指定的月份
String fromDate = Util.null2String(params.get("fromDate"));//指定日期起点
String toDate = Util.null2String(params.get("toDate"));//指定日期终点
int subCompanyId = Util.getIntValue((String) params.get("subCompanyId"), 0);//指定查看的人员的所属分部
int departmentId = Util.getIntValue((String) params.get("departmentId"), 0);//指定查看的人员的所属部门
String resourceId = Util.null2String(params.get("resourceId"));//指定查看的人员ID
String status = Util.null2String(params.get("status"));//?
String tabKey = Util.null2String(params.get("tabKey"));//是迟到还是严重迟到2-严重迟到、其他-迟到
/**
* 若未指定查看人员,则默认为当前登录人员
*/
if (resourceId.length() == 0) {
resourceId = "" + user.getUID();
}
/**
* 获取指定日期的起点和终点
*/
if (type.equals("1")) {//年
if (typevalue.length() == 0 || typevalue.length() != 4) {
typevalue = weaver.common.DateUtil.getYear();
}
fromDate = typevalue + "-01-01";
toDate = weaver.common.DateUtil.getLastDayOfYear(weaver.common.DateUtil.parseToDate(fromDate));
} else if (type.equals("2")) {//月
if (typevalue.length() == 0) {
typevalue = weaver.common.DateUtil.getYear() + "-" + weaver.common.DateUtil.getMonth();
}
fromDate = typevalue + "-01";
toDate = weaver.common.DateUtil.getLastDayOfMonthToString(DateUtil.parseToDate(fromDate));
}
/**获取今天的日期*/
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 backFields = " a.id, b.resourceid,a.departmentid, a.lastname, a.workcode, a.status, a.dsporder, kqdate, serialid, serialid as serialid1," +
" workbegintime,workendtime, signintime,signouttime, (beLateMins+graveBeLateMins) as beLateMins";
String sqlFrom = "from hrmresource a, kq_format_detail b ";
String sqlWhere = " where a.id = b.resourceid";
String orderBy = " kqdate asc, workbegintime asc ";
if (fromDate.length() > 0) {
sqlWhere += " and kqdate >= '" + fromDate + "'";
}
if (toDate.length() > 0) {
sqlWhere += " and kqdate <= '" + toDate + "'";
}
if (resourceId.length() > 0) {
sqlWhere += " and resourceid = " + resourceId;
}
sqlWhere += " and (graveBeLateMins>0 or beLateMins>0 )";
String pageUid = PageUidFactory.getHrmPageUid("KQReportDetialList");
String tableString ="" +
" <table pageUid=\"" + pageUid + "\" pagesize=\"10\" tabletype=\"none\">" +
" <sql backfields=\"" + backFields + "\" sqlform=\"" + Util.toHtmlForSplitPage(sqlFrom) + "\" sqlprimarykey=\"a.id\" sqlorderby=\"" + orderBy + "\" sqlsortway=\"asc\" sqldistinct=\"true\" sqlwhere=\"" + Util.toHtmlForSplitPage(sqlWhere) + "\"/>" +
" <head>" +
" <col width=\"10%\" text=\"" + SystemEnv.getHtmlLabelName(413, user.getLanguage()) + "\" column=\"lastname\" orderkey=\"lastname\"/>" +
" <col width=\"10%\" text=\"" + SystemEnv.getHtmlLabelName(714, user.getLanguage()) + "\" column=\"workcode\" orderkey=\"workcode\"/>" +
" <col width=\"15%\" text=\"" + SystemEnv.getHtmlLabelName(124, user.getLanguage()) + "\" column=\"departmentid\" orderkey=\"departmentid\" transmethod=\"weaver.hrm.company.DepartmentComInfo.getDepartmentname\"/>" +
" <col width=\"10%\" text=\"" + SystemEnv.getHtmlLabelName(602, user.getLanguage()) + "\" column=\"status\" orderkey=\"status\" transmethod=\"weaver.hrm.resource.ResourceComInfo.getStatusName\" otherpara=\"" + user.getLanguage() + "\"/>" +
" <col width=\"15%\" text=\"" + SystemEnv.getHtmlLabelName(97, user.getLanguage()) + "\" column=\"kqdate\" orderkey=\"kqdate\"/>" +
" <col width=\"20%\" text=\"" + SystemEnv.getHtmlLabelName(390054, user.getLanguage()) + "\" column=\"serialid\" orderkey=\"serialid\" transmethod=\"com.engine.kq.util.TransMethod.getSerailName\" otherpara=\"column:workbegintime+column:workendtime\"/>" +
" <col width=\"10%\" text=\"" + SystemEnv.getHtmlLabelName(18949, user.getLanguage()) + "\" column=\"serialid1\" orderkey=\"serialid1\" transmethod=\"com.engine.kq.util.TransMethod.getReportDetialSignTime\" otherpara=\"column:signintime++column:kqdate+column:resourceid+" + user.getLanguage() + "\"/>";
tableString += " <col width=\"10%\" text=\"" + SystemEnv.getHtmlLabelName(391413, user.getLanguage()) + "\" column=\"beLateMins\" orderkey=\"beLateMins\" transmethod=\"com.engine.kq.util.TransMethod.getReportDetialMinToHour\" />";
tableString += "</head>" +
"</table>";
//主要用于 显示定制列以及 表格 每页展示记录数选择
String sessionkey = pageUid + "_" + Util.getEncrypt(Util.getRandom());
Util_TableMap.setVal(sessionkey, tableString);
resultMap.put("sessionkey", sessionkey);
resultMap.put("status", "1");
} catch (Exception e) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(382661, user.getLanguage()));
e.printStackTrace();
}
return resultMap;
}
%>