出差日期范围内的打卡数据均作为正常打卡

dev-zm
zhangming 10 months ago
parent 95b6eaa319
commit 6cf0af246f

@ -324,28 +324,29 @@ public class PunchOutButtonCmd extends AbstractCommonCommand<Map<String, Object>
// 定义时间格式 // 定义时间格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
while (rs.next()) { while (rs.next()) {
String requestid = rs.getString("requestid"); number = number + 1;
String kssj = rs.getString("kssj"); // String requestid = rs.getString("requestid");
if (StringUtils.isEmpty(requestid) || StringUtils.isEmpty(kssj)) { // String kssj = rs.getString("kssj");
continue; // if (StringUtils.isEmpty(requestid) || StringUtils.isEmpty(kssj)) {
} // continue;
if (kssj.length() < 8) { // }
kssj = kssj + ":00"; // if (kssj.length() < 8) {
} // kssj = kssj + ":00";
// }
// 解析时间字符串为 LocalTime 对象 //
LocalTime oldkssj = LocalTime.parse(kssj, formatter); // // 解析时间字符串为 LocalTime 对象
LocalTime minKssj = LocalTime.parse("01:00:00", formatter); // LocalTime oldkssj = LocalTime.parse(kssj, formatter);
if (oldkssj.isBefore(minKssj)) { // LocalTime minKssj = LocalTime.parse("01:00:00", formatter);
number = number + 1; // if (oldkssj.isBefore(minKssj)) {
continue; // number = number + 1;
} // continue;
// 减去一小时 // }
LocalTime previousHour = oldkssj.minusHours(1); // // 减去一小时
LocalTime signTimeLt = LocalTime.parse(signTime, formatter); // LocalTime previousHour = oldkssj.minusHours(1);
if (!signTimeLt.isBefore(previousHour)) { // LocalTime signTimeLt = LocalTime.parse(signTime, formatter);
number = number + 1; // if (!signTimeLt.isBefore(previousHour)) {
} // number = number + 1;
// }
} }
bb.writeLog("number: " + number); bb.writeLog("number: " + number);

@ -222,7 +222,7 @@ public class ExportExcelCmd extends AbstractCommonCommand<Map<String, Object>> {
if(rs.getDBType().equals("oracle")){ if(rs.getDBType().equals("oracle")){
backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields; backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields;
} }
String sqlFrom = " from hrmresource a JOIN kq_format_total b ON a.id = b.resourceid LEFT JOIN uf_cbxxjlb zm ON zm.xm = a.id AND zm.rq >= '" + fromDate + "' AND zm.rq <= '" + toDate + "'" + String sqlFrom = " from hrmresource a JOIN kq_format_total b ON a.id = b.resourceid LEFT JOIN uf_cbxxjlb zm ON zm.xm = a.id AND zm.rq = b.kqdate " +
" where b.kqdate >='" + fromDate + "' and b.kqdate <='" + toDate + "'"; " where b.kqdate >='" + fromDate + "' and b.kqdate <='" + toDate + "'";
String sqlWhere = rightSql; String sqlWhere = rightSql;
String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle "; String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle ";

@ -190,7 +190,7 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
if(rs.getDBType().equals("oracle")){ if(rs.getDBType().equals("oracle")){
backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields; backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields;
} }
String sqlFrom = " from hrmresource a JOIN kq_format_total b ON a.id = b.resourceid LEFT JOIN uf_cbxxjlb zm ON zm.xm = a.id AND zm.rq >= '" + fromDate + "' AND zm.rq <= '" + toDate + "'" + String sqlFrom = " from hrmresource a JOIN kq_format_total b ON a.id = b.resourceid LEFT JOIN uf_cbxxjlb zm ON zm.xm = a.id AND zm.rq = b.kqdate " +
"where b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"'"; "where b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"'";
String sqlWhere = rightSql; String sqlWhere = rightSql;
String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle "; String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle ";

@ -59,12 +59,12 @@ public class OutSignSyncAction implements Action {
} }
} }
if (StringUtils.isEmpty(kssj)) { // if (StringUtils.isEmpty(kssj)) {
return Action.SUCCESS; // return Action.SUCCESS;
} // }
if (kssj.length() < 8) { // if (kssj.length() < 8) {
kssj = kssj + ":00"; // kssj = kssj + ":00";
} // }
// 如果实际结束日期不为空,则用实际结束日期 // 如果实际结束日期不为空,则用实际结束日期
if (StringUtils.isNotBlank(sjjsrq)) { if (StringUtils.isNotBlank(sjjsrq)) {
@ -93,10 +93,10 @@ public class OutSignSyncAction implements Action {
bb.writeLog("infos is:" + infos); bb.writeLog("infos is:" + infos);
// 定义时间格式 // 定义时间格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss"); // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// 解析时间字符串为 LocalTime 对象 // 解析时间字符串为 LocalTime 对象
LocalTime oldkssj = LocalTime.parse(kssj, formatter); // LocalTime oldkssj = LocalTime.parse(kssj, formatter);
LocalTime minKssj = LocalTime.parse("01:00:00", formatter); // LocalTime minKssj = LocalTime.parse("01:00:00", formatter);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
@ -119,14 +119,14 @@ public class OutSignSyncAction implements Action {
String deviceInfo = Util.null2String(in.get("deviceInfo")); String deviceInfo = Util.null2String(in.get("deviceInfo"));
String belongdateIsNull = Util.null2String(in.get("belongdateIsNull")); String belongdateIsNull = Util.null2String(in.get("belongdateIsNull"));
if (!oldkssj.isBefore(minKssj)) { // if (!oldkssj.isBefore(minKssj)) {
// 减去一小时 // // 减去一小时
LocalTime previousHour = oldkssj.minusHours(1); // LocalTime previousHour = oldkssj.minusHours(1);
LocalTime signTimeLt = LocalTime.parse(signTime, formatter); // LocalTime signTimeLt = LocalTime.parse(signTime, formatter);
if (signTimeLt.isBefore(previousHour)) { // if (signTimeLt.isBefore(previousHour)) {
continue; // continue;
} // }
} // }
String punchSql = "insert into HrmScheduleSign(userId,userType,signType,signDate,signTime,clientAddress,isInCom,timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo,isdev) " + String punchSql = "insert into HrmScheduleSign(userId,userType,signType,signDate,signTime,clientAddress,isInCom,timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo,isdev) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

Loading…
Cancel
Save