137 lines
5.5 KiB
Plaintext
137 lines
5.5 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
|
<%@page import="weaver.general.Util"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@ page import="java.text.SimpleDateFormat" %>
|
|
<%@ page import="com.cloudstore.dev.api.bean.MessageBean" %>
|
|
<%@ page import="com.cloudstore.dev.api.util.Util_Message" %>
|
|
<%@ page import="com.cloudstore.dev.api.bean.MessageType" %>
|
|
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
|
|
<jsp:useBean id="rs1" 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;
|
|
bb.writeLog("========== start to remind todo workflow info ==========");
|
|
int resourceId = Util.getIntValue(request.getParameter("userid"));
|
|
String fromdate = Util.null2String(request.getParameter("fromdate"));
|
|
String todate = Util.null2String(request.getParameter("todate"));
|
|
|
|
|
|
String sql = "";
|
|
String text = "";
|
|
MessageType messageType = MessageType.newInstance(518); // 消息来源(见文档第四点补充 必填)
|
|
Set<String> userIdList = new HashSet<>(); // 接收人id 必填
|
|
try {
|
|
sql = " select resourceid, kqdate, workMins, belatemins, graveBeLateMins, leaveearlymins, graveLeaveEarlyMins, absenteeismmins, forgotcheckMins, forgotBeginWorkCheckMins, "+
|
|
" leaveMins,leaveInfo,evectionMins,outMins " +
|
|
" from kq_format_detail " +
|
|
" where resourceid = ? and kqdate>=? and kqdate<=? "+
|
|
" order by resourceid, kqdate, serialnumber ";
|
|
rs.executeQuery(sql,resourceId, fromdate,todate);
|
|
while (rs.next()) {
|
|
String userid = Util.null2String(rs.getString("resourceid"));
|
|
int workMins = rs.getInt("workMins");
|
|
int beLateMins = rs.getInt("beLateMins");
|
|
int leaveEarlyMins = rs.getInt("leaveEarlyMins");
|
|
int graveBeLateMins = rs.getInt("graveBeLateMins");
|
|
int absenteeismMins = rs.getInt("absenteeismMins");
|
|
int graveLeaveEarlyMins = rs.getInt("graveLeaveEarlyMins");
|
|
int forgotCheckMins = rs.getInt("forgotCheckMins");
|
|
int forgotBeginWorkCheckMins = rs.getInt("forgotBeginWorkCheckMins");
|
|
|
|
if (workMins <= 0) {
|
|
if (text.length() > 0) text += " ";
|
|
text += "rest";
|
|
} else {
|
|
if (absenteeismMins > 0) {//旷工
|
|
if (text.length() > 0) text += " ";
|
|
text += "absentee";
|
|
} else {
|
|
if (beLateMins > 0) {//迟到
|
|
if (text.length() > 0) text += " ";
|
|
text += "beLate";
|
|
}
|
|
if (graveBeLateMins > 0) {//严重迟到
|
|
if (text.length() > 0) text += " ";
|
|
text += "graveBeLate";
|
|
}
|
|
if (leaveEarlyMins > 0) {//早退
|
|
if (text.length() > 0) text += " ";
|
|
text += "leaveEarly";
|
|
}
|
|
if (graveLeaveEarlyMins > 0) {//严重早退
|
|
if (text.length() > 0) text += " ";
|
|
text += "graveLeaveEarly";
|
|
}
|
|
if (forgotCheckMins > 0) {//漏签
|
|
if (text.length() > 0) text += " ";
|
|
text += "forgotCheck";
|
|
}
|
|
if (forgotBeginWorkCheckMins > 0) {//漏签
|
|
if (text.length() > 0) text += " ";
|
|
text += "forgotBeginWorkCheck";
|
|
}
|
|
}
|
|
}
|
|
//有异常
|
|
if(!"".equals(text)){
|
|
userIdList.add(userid);
|
|
}
|
|
|
|
String context = "昨日考勤数据有异常,请及时关注并处理!";
|
|
String linkUrl = ""; // PC端链接
|
|
String linkMobileUrl = ""; // 移动端链接
|
|
MessageBean messageBean = Util_Message.createMessage(messageType, userIdList, "", context, linkUrl);
|
|
messageBean.setDetailTitle("");
|
|
Util_Message.store(messageBean);
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
bb.writeLog("========== remind todo workflow info error ========== "+ e);
|
|
}
|
|
%>
|
|
|
|
<%!
|
|
/**
|
|
* 根据日期字符串获取上下某个月的月初和月末
|
|
*
|
|
* @param dateStr 日期字符串
|
|
* @param num 上下某月
|
|
* @return 月初月末集合
|
|
*/
|
|
public static List getMonthStartAndEndByDateStr(String dateStr, int num) {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
List<String> res = new ArrayList<String>();
|
|
try {
|
|
Date date = sdf.parse(dateStr);
|
|
Calendar c1 = Calendar.getInstance();
|
|
c1.setTime(date);
|
|
c1.add(Calendar.MONTH, num);
|
|
c1.set(Calendar.DAY_OF_MONTH, 1);
|
|
String start = sdf.format(c1.getTime());
|
|
res.add(start);
|
|
Calendar c2 = Calendar.getInstance();
|
|
Date dateTemp = sdf.parse(start);
|
|
c2.setTime(dateTemp);
|
|
c2.add(Calendar.MONTH, 1);
|
|
c2.set(Calendar.DAY_OF_MONTH, 0);
|
|
String end = sdf.format(c2.getTime());
|
|
res.add(end);
|
|
return res;
|
|
} catch (Exception e) {
|
|
return res;
|
|
}
|
|
}
|
|
%>
|
|
|
|
<HEAD>
|
|
</HEAD>
|
|
<BODY>
|
|
|
|
<h1>Congratulation Mode 666666 !</h1>
|
|
|
|
<h2>结果是什么? <%=text%></h2>
|
|
|
|
|
|
|
|
</BODY> |