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.

94 lines
4.1 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="com.engine.kq.biz.KQFormatBiz" %>
<%@ page import="com.engine.kq.wfset.util.SplitActionUtil" %>
<%@ page import="weaver.general.BaseBean" %>
<%@ page import="com.alibaba.fastjson.JSONArray" %>
<%--
User: wangj
Design Ideas
铭沣-同步考勤打卡数据
--%>
<%@ page contentType="text/html;charset=UTF-8" %>
<%
JSONObject data = new JSONObject();
JSONArray datarr = new JSONArray();
RecordSet rs = new RecordSet();
boolean flag = false;
BaseBean bb = new BaseBean();
//外勤打卡原始记录id
String wqdkysjlid = "";
String sql = "select a.requestid,a.wqdkysjlid from formtable_main_632 a left join workflow_requestbase b on a.requestid = b.requestid where currentnodetype = '3' and wqdkysjlid is not null";
rs.execute(sql);
while (rs.next()){
wqdkysjlid = Util.null2String(rs.getString("wqdkysjlid"));
if(!"".equals(wqdkysjlid)){
flag = true;
updateKqRecord(wqdkysjlid);
String requestid = Util.null2String(rs.getString("requestid"));
datarr.add(requestid);
}
}
data.put("flag", flag);
data.put("datarr", datarr);
out.print(data.toJSONString());
%>
<%!
private void updateKqRecord(String wqdkysjlid){
BaseBean bb = new BaseBean();
String userId = "";
String belongdate = "";
RecordSet rs = new RecordSet();
RecordSet rs1 = new RecordSet();
//同步更新考勤数据到考勤报表
String sql = "select userId,userType,signType,signDate,signTime,clientAddress,isInCom,timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo from uf_wqdkysjl where id in ("+wqdkysjlid+")";
rs.execute(sql);
while (rs.next()) {
userId = Util.null2String(rs.getString("userId"));
String userType = Util.null2String(rs.getString("userType"));
String signType = Util.null2String(rs.getString("signType"));
String signDate = Util.null2String(rs.getString("signDate"));
String signTime = Util.null2String(rs.getString("signTime"));
String clientAddress = Util.null2String(rs.getString("clientAddress"));
String isInCom = Util.null2String(rs.getString("isInCom"));
String timeZone = Util.null2String(rs.getString("timeZone"));
belongdate = Util.null2String(rs.getString("belongdate"));
String signfrom = Util.null2String(rs.getString("signfrom"));
String longitude = Util.null2String(rs.getString("longitude"));
String latitude = Util.null2String(rs.getString("latitude"));
String addr = Util.null2String(rs.getString("addr"));
String deviceInfo = Util.null2String(rs.getString("deviceInfo"));
//插入数据到系统打卡签到表
String punchSql = "insert into HrmScheduleSign(userId,userType,signType,signDate,signTime,clientAddress,isInCom,timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
boolean isok = rs1.executeUpdate(punchSql, userId, userType, signType, signDate, signTime, clientAddress, isInCom,
timeZone, belongdate, signfrom, longitude, latitude, addr, deviceInfo);
bb.writeLog("punchSql", punchSql);
bb.writeLog("punchSql_isok", isok);
}
if (!"".equals(userId) && !"".equals(belongdate)) {
String yesterday = com.time.util.DateUtil.formatDate(com.time.util.DateUtil.getDateAfterDays(weaver.common.DateUtil.parseToDate(belongdate), -1), "yyyy-MM-dd");
new KQFormatBiz().formatDate("" + userId, yesterday);
new KQFormatBiz().formatDate("" + userId, (belongdate.length() == 0 ? weaver.common.DateUtil.getCurrentDate() : belongdate));
//外勤签到转的考勤 处理加班规则
SplitActionUtil.pushOverTimeTasksAll(belongdate, belongdate, "" + userId);
}
}
%>