餐补优化

dev-zm-svn
zhangming 1 year ago
parent f43ca57022
commit a5fe18cba4

@ -157,10 +157,7 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
nightShiftList.add(shift); nightShiftList.add(shift);
} }
} }
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
value = rs.getString("zeropoint");
}
//获取当天班次 //获取当天班次
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();
Map<String, Object> serialInfo = kqWorkTime.getSerialInfo(userId, kqDate, false); Map<String, Object> serialInfo = kqWorkTime.getSerialInfo(userId, kqDate, false);
@ -169,6 +166,11 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
if (serialid > 0) { if (serialid > 0) {
if ((!CollectionUtils.isEmpty(nightShiftList)) && nightShiftList.contains(String.valueOf(serialid))) { if ((!CollectionUtils.isEmpty(nightShiftList)) && nightShiftList.contains(String.valueOf(serialid))) {
value = "0"; value = "0";
} else {
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
value = rs.getString("zeropoint");
}
} }
} }
} }
@ -196,16 +198,17 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
if (nightShiftList != null & nightShiftList.size() > 0) { if (nightShiftList != null & nightShiftList.size() > 0) {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
//先获取到出勤时长 //先获取到实际打卡时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + userId + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + userId + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00 ) { if (signmins >= 0.00 ) {
attendanceMinsMap.put(resourceid+"|"+kqdate, attendancemins); attendanceMinsMap.put(resourceid+"|"+kqdate, signmins);
} }
} }
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();
@ -221,8 +224,8 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
} }
} }
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(userId + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(userId + "|" + kqDate)));
value = (( attendanceMins / 60) >= 8.00 ) ? "1" : "0"; value = (( signmins / 60) >= 8.00 ) ? "1" : "0";
} }
} catch (Exception e) { } catch (Exception e) {
bb.writeLog("get NightShiftSubsidy error:" + e.getMessage()); bb.writeLog("get NightShiftSubsidy error:" + e.getMessage());
@ -242,7 +245,7 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
} }
//获取加班时长 //获取加班时长
Map<String,Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate); // Map<String,Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate);
String otherstatsub = Util.null2String(bb.getPropValue("project_hostar", "otherstatsubcompany")); String otherstatsub = Util.null2String(bb.getPropValue("project_hostar", "otherstatsubcompany"));
if (StringUtils.isNotBlank(otherstatsub)) { if (StringUtils.isNotBlank(otherstatsub)) {
@ -259,21 +262,22 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
resIds.add(id); resIds.add(id);
} }
} }
bb.writeLog("resIds: " + resIds); // bb.writeLog("resIds: " + resIds);
if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) { if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
//先获取到出勤时长 //先获取到实际打卡时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00) { if (signmins >= 0.00) {
attendanceMinsMap.put(resourceid + "|" + kqdate, attendancemins); attendanceMinsMap.put(resourceid + "|" + kqdate, signmins);
} }
} }
List<String> removeRes = new ArrayList<>(); List<String> removeRes = new ArrayList<>();
@ -375,38 +379,48 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
} }
Integer signNumber = 0; Integer signNumber = 0;
if (signIdList !=null && signIdList.size() > 0) { if (signIdList !=null && signIdList.size() > 0) {
String acqShowAddress = "select showaddress,addr from hrmschedulesign where id in (" + String.join(",", signIdList) + ") "; String acqShowAddress = "select showaddress,addr,signfrom from hrmschedulesign where id in (" + String.join(",", signIdList) + ") ";
// bb.writeLog("acqShowAddress: " + acqShowAddress); // bb.writeLog("acqShowAddress: " + acqShowAddress);
rs.executeQuery(acqShowAddress); rs.executeQuery(acqShowAddress);
while (rs.next()) { while (rs.next()) {
String showaddress = Util.null2String(rs.getString("showaddress")); String showaddress = Util.null2String(rs.getString("showaddress"));
String signfrom = Util.null2String(rs.getString("signfrom"));
if (StringUtils.isEmpty(signfrom) || !StringUtils.equals(signfrom, "e9mobile")) {
signNumber = signNumber + 1;
}
String addr = Util.null2String(rs.getString("addr")); String addr = Util.null2String(rs.getString("addr"));
if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) { if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) {
signNumber = signNumber + 1; signNumber = signNumber + 1;
} }
if (StringUtils.isNotEmpty(showaddress) && (showaddress.contains("鸿仕达") || showaddress.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
if (StringUtils.isNotEmpty(addr) && (addr.contains("鸿仕达") || addr.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
} }
} }
if (signNumber == 0) { if (signNumber == 0) {
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); // double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; // workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); // double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; // restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); // double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; // holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
//
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); // double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; // workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); // double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; // restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); // double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; // holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
//
double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + // double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; // workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave;
// bb.writeLog("-=-temp:" + temp); // bb.writeLog("-=-temp:" + temp);
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate)));
// bb.writeLog("-=-attendanceMins:" + attendanceMins); // bb.writeLog("-=-attendanceMins:" + attendanceMins);
double v = Math.round (((attendanceMins < 0.00) ? 0.00 : attendanceMins) + temp) / 60.00; double v = Math.round ((signmins < 0.00) ? 0.00 : signmins) / 60.00;
value = "0"; value = "0";
if (v >= 4.00 && v < 9.00) { if (v >= 4.00 && v < 9.00) {
value = "1"; value = "1";
@ -501,7 +515,7 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
} }
//获取加班时长 //获取加班时长
Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate); // Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate);
//获取夜班班次 //获取夜班班次
List<String> nightShiftList = new ArrayList<>(); List<String> nightShiftList = new ArrayList<>();
@ -529,20 +543,21 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
resIds.add(id); resIds.add(id);
} }
} }
bb.writeLog("resIds: " + resIds); // bb.writeLog("resIds: " + resIds);
if (resIds != null && resIds.size() > 0) { if (resIds != null && resIds.size() > 0) {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
//先获取到出勤时长 //先获取到出勤时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00) { if (signmins >= 0.00) {
attendanceMinsMap.put(resourceid + "|" + kqdate, attendancemins); attendanceMinsMap.put(resourceid + "|" + kqdate, signmins);
} }
} }
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();
@ -557,26 +572,26 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
} }
} }
} }
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); // double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; // workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); // double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; // restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); // double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; // holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
//
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); // double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; // workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); // double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; // restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); // double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; // holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
//
double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + // double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; // workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave;
// bb.writeLog("-=-temp:" + temp); // bb.writeLog("-=-temp:" + temp);
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate)));
// bb.writeLog("-=-attendanceMins:" + attendanceMins); // bb.writeLog("-=-attendanceMins:" + attendanceMins);
value = String.valueOf(Math.floor(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); value = String.valueOf(Math.floor((signmins < 0.00 ? 0.00 : signmins) / 300));
} }
} }
} }
@ -600,7 +615,7 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
} }
//获取加班时长 //获取加班时长
Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate); // Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate);
//首先去除指定不享有的分部 //首先去除指定不享有的分部
List<String> subComoanyList = new ArrayList<>(); List<String> subComoanyList = new ArrayList<>();
@ -647,23 +662,24 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
resIds.add(id); resIds.add(id);
} }
} }
bb.writeLog("resIds: " + resIds); // bb.writeLog("resIds: " + resIds);
if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) { if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo(); KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
//先获取到出勤时长 // 先获取到实际打卡时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + String.join(",",resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + String.join(",",resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00 ) { if (signmins >= 0.00 ) {
attendanceMinsMap.put(resourceid+"|"+kqdate, attendancemins); attendanceMinsMap.put(resourceid+"|"+kqdate, signmins);
} }
} }
@ -770,40 +786,50 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
} }
} }
} }
bb.writeLog("signIdList " + signIdList); // bb.writeLog("signIdList " + signIdList);
Integer signNumber = 0; Integer signNumber = 0;
if (signIdList !=null && signIdList.size() > 0) { if (signIdList !=null && signIdList.size() > 0) {
String acqShowAddress = "select showaddress,addr from hrmschedulesign where id in (" + String.join(",", signIdList) + ") "; String acqShowAddress = "select showaddress,addr,signfrom from hrmschedulesign where id in (" + String.join(",", signIdList) + ") ";
bb.writeLog("acqShowAddress: " + acqShowAddress); bb.writeLog("acqShowAddress: " + acqShowAddress);
rs.executeQuery(acqShowAddress); rs.executeQuery(acqShowAddress);
while (rs.next()) { while (rs.next()) {
String showaddress = Util.null2String(rs.getString("showaddress")); String showaddress = Util.null2String(rs.getString("showaddress"));
String signfrom = Util.null2String(rs.getString("signfrom"));
if (StringUtils.isEmpty(signfrom) || !StringUtils.equals(signfrom, "e9mobile")) {
signNumber = signNumber + 1;
}
String addr = Util.null2String(rs.getString("addr")); String addr = Util.null2String(rs.getString("addr"));
if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) { if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) {
signNumber = signNumber + 1; signNumber = signNumber + 1;
} }
if (StringUtils.isNotEmpty(showaddress) && (showaddress.contains("鸿仕达") || showaddress.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
if (StringUtils.isNotEmpty(addr) && (addr.contains("鸿仕达") || addr.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
} }
} }
if (signNumber == 0 ) { if (signNumber == 0 ) {
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); // double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; // workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); // double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; // restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); // double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; // holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
//
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); // double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; // workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); // double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; // restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); // double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; // holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
//
double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + // double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; // workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave;
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate)));
value = String.valueOf(Math.floor( ((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); value = String.valueOf(Math.floor( (signmins < 0.00 ? 0.00 : signmins) / 300));
} }
} }
} }
@ -849,7 +875,7 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
String latitude = Util.null2String(rs.getString("latitude")); String latitude = Util.null2String(rs.getString("latitude"));
evectionMap.put( belongdate + "|" + resourceid, longitude + "|" + latitude ); evectionMap.put( belongdate + "|" + resourceid, longitude + "|" + latitude );
} }
bb.writeLog("evectionMap: " + evectionMap); // bb.writeLog("evectionMap: " + evectionMap);
//获取外勤打卡数据 //获取外勤打卡数据
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();

@ -209,7 +209,7 @@ public class KQFormatData extends BaseBean {
lsParam.addAll(format(userId, kqDate, workTime, workFlowInfo,uuid)); lsParam.addAll(format(userId, kqDate, workTime, workFlowInfo,uuid));
} }
bb.writeLog("lsParam: " + lsParam); // bb.writeLog("lsParam: " + lsParam);
if (lsParam.size() > 0) { if (lsParam.size() > 0) {
sql = " insert into kq_format_detail( " + sql = " insert into kq_format_detail( " +
" resourceid,kqdate,groupid,serialid,serialnumber,workbegindate,workbegintime,workenddate,workendtime,workmins," + " resourceid,kqdate,groupid,serialid,serialnumber,workbegindate,workbegintime,workenddate,workendtime,workmins," +
@ -511,7 +511,7 @@ public class KQFormatData extends BaseBean {
//取卡 //取卡
List<Object> lsCheckInfo = new KQFormatSignData().getSignInfo(userId,signTimeScope,workTimeScope,kqDate,preDate,nextDate,kqTimesArrayComInfo,hostIps,uuid,shiftCount,shiftI); List<Object> lsCheckInfo = new KQFormatSignData().getSignInfo(userId,signTimeScope,workTimeScope,kqDate,preDate,nextDate,kqTimesArrayComInfo,hostIps,uuid,shiftCount,shiftI);
bb.writeLog("kqformatdata lscheckinfo: " + lsCheckInfo); // bb.writeLog("kqformatdata lscheckinfo: " + lsCheckInfo);
kqLog.info("lsCheckInfo" + JSONObject.toJSONString(lsCheckInfo)+"::userId" + userId + "kqDate==" + kqDate+":hostIps:"+hostIps+":uuid::"+uuid); kqLog.info("lsCheckInfo" + JSONObject.toJSONString(lsCheckInfo)+"::userId" + userId + "kqDate==" + kqDate+":hostIps:"+hostIps+":uuid::"+uuid);
if(this.writeLog) { if(this.writeLog) {
logInfo.put(""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005297,weaver.general.ThreadVarLanguage.getLang())+"",signBeginDateTime); logInfo.put(""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005297,weaver.general.ThreadVarLanguage.getLang())+"",signBeginDateTime);
@ -524,7 +524,7 @@ public class KQFormatData extends BaseBean {
for (int j = 0; lsCheckInfo != null && j < lsCheckInfo.size(); j++) { for (int j = 0; lsCheckInfo != null && j < lsCheckInfo.size(); j++) {
Map<String, Object> checkInfo = (Map<String, Object>) lsCheckInfo.get(j); Map<String, Object> checkInfo = (Map<String, Object>) lsCheckInfo.get(j);
bb.writeLog("kqformatdata checkInfo: " + checkInfo); // bb.writeLog("kqformatdata checkInfo: " + checkInfo);
String signStatus = Util.null2String(checkInfo.get("signStatus")); String signStatus = Util.null2String(checkInfo.get("signStatus"));
String signId = Util.null2String(checkInfo.get("signId")); String signId = Util.null2String(checkInfo.get("signId"));
@ -722,10 +722,10 @@ public class KQFormatData extends BaseBean {
if (workFlowInfo.get(dateKey) != null) { if (workFlowInfo.get(dateKey) != null) {
workFlow = (List<Object>) workFlowInfo.get(dateKey); workFlow = (List<Object>) workFlowInfo.get(dateKey);
} }
bb.writeLog("kqformatdata workFlow: " + workFlow); // bb.writeLog("kqformatdata workFlow: " + workFlow);
for (int j = 0; workFlow != null && j < workFlow.size(); j++) { for (int j = 0; workFlow != null && j < workFlow.size(); j++) {
Map<String, Object> data = (Map<String, Object>) workFlow.get(j); Map<String, Object> data = (Map<String, Object>) workFlow.get(j);
bb.writeLog("kqformatdata workFlow data: " + workFlow); // bb.writeLog("kqformatdata workFlow data: " + workFlow);
String flowType = Util.null2String(data.get("flowtype")); String flowType = Util.null2String(data.get("flowtype"));
String newLeaveType = Util.null2String(data.get("newleavetype")); String newLeaveType = Util.null2String(data.get("newleavetype"));
String signtype = Util.null2String(data.get("signtype")); String signtype = Util.null2String(data.get("signtype"));
@ -1011,66 +1011,127 @@ public class KQFormatData extends BaseBean {
groupMap.put(grouptype, kqgroup); groupMap.put(grouptype, kqgroup);
} }
} }
bb.writeLog("groupMap: " + groupMap); // bb.writeLog("groupMap: " + groupMap);
bb.writeLog("groupid: " + groupid); bb.writeLog("groupid: " + groupid);
boolean offGood = false;
boolean inGood = false;
for (int j = 0; lsCheckInfo != null && j < lsCheckInfo.size(); j++) { for (int j = 0; lsCheckInfo != null && j < lsCheckInfo.size(); j++) {
Map<String, Object> checkInfo = (Map<String, Object>) lsCheckInfo.get(j); Map<String, Object> checkInfo = (Map<String, Object>) lsCheckInfo.get(j);
if ("2".equals(checkInfo.get("signType"))) {//签退 if ("2".equals(checkInfo.get("signType")) && !offGood) {//签退
String signDate = Util.null2String(checkInfo.get("signDate")); String signDate = Util.null2String(checkInfo.get("signDate"));
String signTime = Util.null2String(checkInfo.get("signTime")); String signTime = Util.null2String(checkInfo.get("signTime"));
bb.writeLog("signDate: " + signDate); // bb.writeLog("signDate: " + signDate);
bb.writeLog("signTime: " + signTime); // bb.writeLog("signTime: " + signTime);
if (groupMap != null && groupMap.size() > 0) { if (groupMap != null && groupMap.size() > 0) {
for (String grouptype : groupMap.keySet()) { for (String grouptype : groupMap.keySet()) {
bb.writeLog("grouptype: " + grouptype); // bb.writeLog("grouptype: " + grouptype);
if ("0".equals(grouptype)) {//责任制--23点 // if ("0".equals(grouptype)) {//责任制--23点
// String kqgroups = Util.null2String(groupMap.get(grouptype));
// bb.writeLog("kqgroups: " + kqgroups);
// List<String> groupList = Arrays.asList(kqgroups.split(","));
// bb.writeLog("groupList: " + groupList);
// if(groupList.contains(groupid)) {
// //23:00
// if (signTime.length() == 5) {
// signTime = signTime + ":00";
// }
// String subsidyTime = kqDate + " 23:00:00";
// bb.writeLog("subsidyTime: " + subsidyTime);
// String outTime = signDate + " " + signTime;
// bb.writeLog("outTime: " + outTime);
// if (outTime.compareTo(subsidyTime) > 0 ) {
// zeroPointSub = 1;
// }
// }
// }
if ("0".equals(grouptype)) {//责任制--00点
String kqgroups = Util.null2String(groupMap.get(grouptype)); String kqgroups = Util.null2String(groupMap.get(grouptype));
bb.writeLog("kqgroups: " + kqgroups); // bb.writeLog("kqgroups: " + kqgroups);
List<String> groupList = Arrays.asList(kqgroups.split(",")); List<String> groupList = Arrays.asList(kqgroups.split(","));
bb.writeLog("groupList: " + groupList); // bb.writeLog("groupList: " + groupList);
if(groupList.contains(groupid)) { if(groupList.contains(groupid)) {
//23:00 //00:00
if (signTime.length() == 5) { if (signTime.length() == 5) {
signTime = signTime + ":00"; signTime = signTime + ":00";
} }
String subsidyTime = kqDate + " 23:00:00"; LocalDate date = LocalDate.parse(kqDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDate localDate = date.plusDays(1);
String kqDateNew = localDate.toString();
String subsidyTime = kqDateNew + " 00:00:00";
bb.writeLog("subsidyTime: " + subsidyTime); bb.writeLog("subsidyTime: " + subsidyTime);
String outTime = signDate + " " + signTime; String outTime = signDate + " " + signTime;
bb.writeLog("outTime: " + outTime); bb.writeLog("outTime: " + outTime);
if (outTime.compareTo(subsidyTime) > 0 ) { if (outTime.compareTo(subsidyTime) > 0 ) {
offGood = true;
zeroPointSub = 1; zeroPointSub = 1;
} }
} }
} }
if ("1".equals(grouptype)) {//排班制--00点 }
}
}
if ("1".equals(checkInfo.get("signType")) && !inGood) {//签到
String signDate = Util.null2String(checkInfo.get("signDate"));
String signTime = Util.null2String(checkInfo.get("signTime"));
bb.writeLog("signDate: " + signDate);
bb.writeLog("signTime: " + signTime);
if (groupMap != null && groupMap.size() > 0) {
for (String grouptype : groupMap.keySet()) {
bb.writeLog("grouptype: " + grouptype);
if ("0".equals(grouptype)) {//责任制--23点
String kqgroups = Util.null2String(groupMap.get(grouptype)); String kqgroups = Util.null2String(groupMap.get(grouptype));
bb.writeLog("kqgroups: " + kqgroups); bb.writeLog("kqgroups: " + kqgroups);
List<String> groupList = Arrays.asList(kqgroups.split(",")); List<String> groupList = Arrays.asList(kqgroups.split(","));
bb.writeLog("groupList: " + groupList); bb.writeLog("groupList: " + groupList);
if(groupList.contains(groupid)) { if(groupList.contains(groupid)) {
//00:00 //23:00
if (signTime.length() == 5) { if (signTime.length() == 5) {
signTime = signTime + ":00"; signTime = signTime + ":00";
} }
LocalDate date = LocalDate.parse(kqDate, DateTimeFormatter.ofPattern("yyyy-MM-dd")); String subsidyTime = kqDate + " 23:00:00";
LocalDate localDate = date.plusDays(1);
String kqDateNew = localDate.toString();
String subsidyTime = kqDateNew + " 00:00:00";
bb.writeLog("subsidyTime: " + subsidyTime); bb.writeLog("subsidyTime: " + subsidyTime);
String outTime = signDate + " " + signTime; String inTime = signDate + " " + signTime;
bb.writeLog("outTime: " + outTime); bb.writeLog("inTime: " + inTime);
if (outTime.compareTo(subsidyTime) > 0 ) { if (subsidyTime.compareTo(inTime) > 0 ) {
zeroPointSub = 1; inGood = true;
} }
} }
} }
// if ("1".equals(grouptype)) {//排班制--00点
// String kqgroups = Util.null2String(groupMap.get(grouptype));
// bb.writeLog("kqgroups: " + kqgroups);
// List<String> groupList = Arrays.asList(kqgroups.split(","));
// bb.writeLog("groupList: " + groupList);
// if(groupList.contains(groupid)) {
// //00:00
// if (signTime.length() == 5) {
// signTime = signTime + ":00";
// }
// LocalDate date = LocalDate.parse(kqDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
// LocalDate localDate = date.plusDays(1);
// String kqDateNew = localDate.toString();
// String subsidyTime = kqDateNew + " 00:00:00";
// bb.writeLog("subsidyTime: " + subsidyTime);
// String outTime = signDate + " " + signTime;
// bb.writeLog("outTime: " + outTime);
// if (outTime.compareTo(subsidyTime) > 0 ) {
// zeroPointSub = 1;
// }
// }
// }
} }
} }
} }
} }
if (offGood && inGood) {
zeroPointSub = 1;
}
bb.writeLog("zeroPointSub: " + zeroPointSub); bb.writeLog("zeroPointSub: " + zeroPointSub);
/*考勤二开--零点补助end*/ /*考勤二开--零点补助end*/
@ -1111,7 +1172,7 @@ public class KQFormatData extends BaseBean {
params.add(zeroPointSub); params.add(zeroPointSub);
/*考勤二开--零点补助end*/ /*考勤二开--零点补助end*/
bb.writeLog("params: " + params); bb.writeLog("params end. ");
Map<String,Object> definedFieldInfo = new KQFormatBiz().getDefinedField(); Map<String,Object> definedFieldInfo = new KQFormatBiz().getDefinedField();
String[] definedFields = Util.splitString(Util.null2String(definedFieldInfo.get("definedField")),","); String[] definedFields = Util.splitString(Util.null2String(definedFieldInfo.get("definedField")),",");
@ -1342,14 +1403,15 @@ public class KQFormatData extends BaseBean {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
//先获取到出勤时长 //先获取到出勤时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + userId + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + userId + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00 ) { if (signmins >= 0.00 ) {
attendanceMinsMap.put(resourceid+"|"+kqdate, attendancemins); attendanceMinsMap.put(resourceid+"|"+kqdate, signmins);
} }
} }
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();
@ -1365,8 +1427,8 @@ public class KQFormatData extends BaseBean {
} }
} }
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(userId + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(userId + "|" + kqDate)));
value = (( attendanceMins / 60) >= 8.00 ) ? "1" : "0"; value = (( signmins / 60) >= 8.00 ) ? "1" : "0";
} }
} catch (Exception e) { } catch (Exception e) {
bb.writeLog("get NightShiftSubsidy error:" + e.getMessage()); bb.writeLog("get NightShiftSubsidy error:" + e.getMessage());
@ -1385,7 +1447,7 @@ public class KQFormatData extends BaseBean {
} }
//获取加班时长 //获取加班时长
Map<String,Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate); // Map<String,Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate);
String otherstatsub = Util.null2String(bb.getPropValue("project_hostar", "otherstatsubcompany")); String otherstatsub = Util.null2String(bb.getPropValue("project_hostar", "otherstatsubcompany"));
if (StringUtils.isNotBlank(otherstatsub)) { if (StringUtils.isNotBlank(otherstatsub)) {
@ -1402,21 +1464,22 @@ public class KQFormatData extends BaseBean {
resIds.add(id); resIds.add(id);
} }
} }
bb.writeLog("resIds: " + resIds); // bb.writeLog("resIds: " + resIds);
if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) { if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
//先获取到出勤时长 //先获取到实际打卡时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00) { if (signmins >= 0.00) {
attendanceMinsMap.put(resourceid + "|" + kqdate, attendancemins); attendanceMinsMap.put(resourceid + "|" + kqdate, signmins);
} }
} }
List<String> removeRes = new ArrayList<>(); List<String> removeRes = new ArrayList<>();
@ -1518,38 +1581,48 @@ public class KQFormatData extends BaseBean {
} }
Integer signNumber = 0; Integer signNumber = 0;
if (signIdList !=null && signIdList.size() > 0) { if (signIdList !=null && signIdList.size() > 0) {
String acqShowAddress = "select showaddress,addr from hrmschedulesign where id in (" + String.join(",", signIdList) + ") "; String acqShowAddress = "select showaddress,addr,signfrom from hrmschedulesign where id in (" + String.join(",", signIdList) + ") ";
// bb.writeLog("acqShowAddress: " + acqShowAddress); // bb.writeLog("acqShowAddress: " + acqShowAddress);
rs.executeQuery(acqShowAddress); rs.executeQuery(acqShowAddress);
while (rs.next()) { while (rs.next()) {
String showaddress = Util.null2String(rs.getString("showaddress")); String showaddress = Util.null2String(rs.getString("showaddress"));
String signfrom = Util.null2String(rs.getString("signfrom"));
if (StringUtils.isEmpty(signfrom) || !StringUtils.equals(signfrom, "e9mobile")) {
signNumber = signNumber + 1;
}
String addr = Util.null2String(rs.getString("addr")); String addr = Util.null2String(rs.getString("addr"));
if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) { if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) {
signNumber = signNumber + 1; signNumber = signNumber + 1;
} }
if (StringUtils.isNotEmpty(showaddress) && (showaddress.contains("鸿仕达") || showaddress.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
if (StringUtils.isNotEmpty(addr) && (addr.contains("鸿仕达") || addr.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
} }
} }
if (signNumber == 0) { if (signNumber == 0) {
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); // double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; // workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); // double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; // restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); // double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; // holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
//
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); // double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; // workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); // double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; // restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); // double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; // holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
//
double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + // double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; // workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave;
// bb.writeLog("-=-temp:" + temp); // bb.writeLog("-=-temp:" + temp);
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate)));
// bb.writeLog("-=-attendanceMins:" + attendanceMins); // bb.writeLog("-=-attendanceMins:" + attendanceMins);
double v = Math.round (((attendanceMins < 0.00) ? 0.00 : attendanceMins) + temp) / 60.00; double v = Math.round ((signmins < 0.00) ? 0.00 : signmins) / 60.00;
value = "0"; value = "0";
if (v >= 4.00 && v < 9.00) { if (v >= 4.00 && v < 9.00) {
value = "1"; value = "1";
@ -1642,7 +1715,7 @@ public class KQFormatData extends BaseBean {
} }
//获取加班时长 //获取加班时长
Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate); // Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate);
//获取夜班班次 //获取夜班班次
List<String> nightShiftList = new ArrayList<>(); List<String> nightShiftList = new ArrayList<>();
@ -1670,20 +1743,21 @@ public class KQFormatData extends BaseBean {
resIds.add(id); resIds.add(id);
} }
} }
bb.writeLog("resIds: " + resIds); // bb.writeLog("resIds: " + resIds);
if (resIds != null && resIds.size() > 0) { if (resIds != null && resIds.size() > 0) {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
//先获取到出勤时长 //先获取到出勤时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + String.join(",", resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00) { if (signmins >= 0.00) {
attendanceMinsMap.put(resourceid + "|" + kqdate, attendancemins); attendanceMinsMap.put(resourceid + "|" + kqdate, signmins);
} }
} }
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();
@ -1698,26 +1772,26 @@ public class KQFormatData extends BaseBean {
} }
} }
} }
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); // double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; // workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); // double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; // restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); // double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; // holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
//
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); // double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; // workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); // double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; // restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); // double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; // holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
//
double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + // double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; // workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave;
// bb.writeLog("-=-temp:" + temp); // bb.writeLog("-=-temp:" + temp);
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate)));
// bb.writeLog("-=-attendanceMins:" + attendanceMins); // bb.writeLog("-=-attendanceMins:" + attendanceMins);
value = String.valueOf(Math.floor(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); value = String.valueOf(Math.floor((signmins < 0.00 ? 0.00 : signmins) / 300));
} }
} }
} }
@ -1740,7 +1814,7 @@ public class KQFormatData extends BaseBean {
} }
//获取加班时长 //获取加班时长
Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate); // Map<String, Object> dailyFlowOverTimeData = getDailyFlowOverTimeDataAllowance(userId, kqDate);
//首先去除指定不享有的分部 //首先去除指定不享有的分部
List<String> subComoanyList = new ArrayList<>(); List<String> subComoanyList = new ArrayList<>();
@ -1787,23 +1861,24 @@ public class KQFormatData extends BaseBean {
resIds.add(id); resIds.add(id);
} }
} }
bb.writeLog("resIds: " + resIds); // bb.writeLog("resIds: " + resIds);
if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) { if (resIds != null && resIds.size() > 0 && StringUtils.isNotBlank(kqDate)) {
HostarUtil houtil = new HostarUtil(); HostarUtil houtil = new HostarUtil();
KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo(); KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
//先获取到出勤时长 //先获取到实际打卡时长
Map<String, Double> attendanceMinsMap = new HashMap<>(); Map<String, Double> attendanceMinsMap = new HashMap<>();
String acqAttenSql = " select resourceid, attendancemins, kqdate from kq_format_total where resourceid in (" + String.join(",",resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'"; String acqAttenSql = " select resourceid, attendancemins, kqdate,signmins from kq_format_total where resourceid in (" + String.join(",",resIds) + ") and kqdate >='" + kqDate + "' and kqdate <='" + kqDate + "'";
rs.executeQuery(acqAttenSql); rs.executeQuery(acqAttenSql);
while (rs.next()) { while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid")); String resourceid = Util.null2String(rs.getString("resourceid"));
Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins"))); Double attendancemins = Util.getDoubleValue(Util.null2String(rs.getString("attendancemins")));
Double signmins = Util.getDoubleValue(Util.null2String(rs.getString("signmins")));
String kqdate = Util.null2String(rs.getString("kqdate")); String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendancemins >= 0.00 ) { if (signmins >= 0.00 ) {
attendanceMinsMap.put(resourceid+"|"+kqdate, attendancemins); attendanceMinsMap.put(resourceid+"|"+kqdate, signmins);
} }
} }
@ -1910,40 +1985,50 @@ public class KQFormatData extends BaseBean {
} }
} }
} }
bb.writeLog("signIdList " + signIdList); // bb.writeLog("signIdList " + signIdList);
Integer signNumber = 0; Integer signNumber = 0;
if (signIdList !=null && signIdList.size() > 0) { if (signIdList !=null && signIdList.size() > 0) {
String acqShowAddress = "select showaddress,addr from hrmschedulesign where id in (" + String.join(",", signIdList) + ") "; String acqShowAddress = "select showaddress,addr,signfrom from hrmschedulesign where id in (" + String.join(",", signIdList) + ") ";
bb.writeLog("acqShowAddress: " + acqShowAddress); // bb.writeLog("acqShowAddress: " + acqShowAddress);
rs.executeQuery(acqShowAddress); rs.executeQuery(acqShowAddress);
while (rs.next()) { while (rs.next()) {
String showaddress = Util.null2String(rs.getString("showaddress")); String showaddress = Util.null2String(rs.getString("showaddress"));
String signfrom = Util.null2String(rs.getString("signfrom"));
if (StringUtils.isEmpty(signfrom) || !StringUtils.equals(signfrom, "e9mobile")) {
signNumber = signNumber + 1;
}
String addr = Util.null2String(rs.getString("addr")); String addr = Util.null2String(rs.getString("addr"));
if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) { if ("鸿仕达".equals(showaddress) || "hostar".equalsIgnoreCase(showaddress) || "鸿仕达".equals(addr) || "hostar".equalsIgnoreCase(addr)) {
signNumber = signNumber + 1; signNumber = signNumber + 1;
} }
if (StringUtils.isNotEmpty(showaddress) && (showaddress.contains("鸿仕达") || showaddress.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
if (StringUtils.isNotEmpty(addr) && (addr.contains("鸿仕达") || addr.toLowerCase().contains("hostar"))) {
signNumber = signNumber + 1;
}
} }
} }
if (signNumber == 0 ) { if (signNumber == 0 ) {
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); // double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; // workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); // double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; // restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); // double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; // holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
//
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); // double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; // workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); // double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; // restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); // double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; // holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
//
double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + // double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; // workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave;
Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); Double signmins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate)));
value = String.valueOf(Math.floor( ((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); value = String.valueOf(Math.floor( (signmins < 0.00 ? 0.00 : signmins) / 300));
} }
} }
} }
@ -1988,7 +2073,7 @@ public class KQFormatData extends BaseBean {
String latitude = Util.null2String(rs.getString("latitude")); String latitude = Util.null2String(rs.getString("latitude"));
evectionMap.put( belongdate + "|" + resourceid, longitude + "|" + latitude ); evectionMap.put( belongdate + "|" + resourceid, longitude + "|" + latitude );
} }
bb.writeLog("evectionMap: " + evectionMap); // bb.writeLog("evectionMap: " + evectionMap);
//获取外勤打卡数据 //获取外勤打卡数据
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();
@ -2172,10 +2257,6 @@ public class KQFormatData extends BaseBean {
nightShiftList.add(shift); nightShiftList.add(shift);
} }
} }
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
value = rs.getString("zeropoint");
}
//获取当天班次 //获取当天班次
KQWorkTime kqWorkTime = new KQWorkTime(); KQWorkTime kqWorkTime = new KQWorkTime();
Map<String, Object> serialInfo = kqWorkTime.getSerialInfo(userId, kqDate, false); Map<String, Object> serialInfo = kqWorkTime.getSerialInfo(userId, kqDate, false);
@ -2184,6 +2265,11 @@ public class KQFormatData extends BaseBean {
if (serialid > 0) { if (serialid > 0) {
if ((!CollectionUtils.isEmpty(nightShiftList)) && nightShiftList.contains(String.valueOf(serialid))) { if ((!CollectionUtils.isEmpty(nightShiftList)) && nightShiftList.contains(String.valueOf(serialid))) {
value = "0"; value = "0";
} else {
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
value = rs.getString("zeropoint");
}
} }
} }
} }

@ -22,7 +22,7 @@ public class OutSignSyncAction implements Action {
@Override @Override
public String execute(RequestInfo requestInfo) { public String execute(RequestInfo requestInfo) {
bb.writeLog("OutSignSyncAction-start"); bb.writeLog("OutSignSyncAction-start:" + requestInfo.getRequestid());
String startDate = ""; String startDate = "";
String endDate = ""; String endDate = "";
String resourceid = ""; String resourceid = "";
@ -53,20 +53,22 @@ public class OutSignSyncAction implements Action {
if (StringUtils.isNotBlank(sjjsrq)) { if (StringUtils.isNotBlank(sjjsrq)) {
endDate = sjjsrq; endDate = sjjsrq;
} }
bb.writeLog("start to handle data."); bb.writeLog("start to handle data:" + startDate + "、" + endDate + "、" + resourceid);
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate) && StringUtils.isNotBlank(resourceid)) { if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate) && StringUtils.isNotBlank(resourceid)) {
// 内部同行人也要考虑 // 内部同行人也要考虑
if (StringUtils.isNotBlank(nbtxr)) { if (StringUtils.isNotBlank(nbtxr)) {
resourceid = resourceid + "," + nbtxr; resourceid = resourceid + "," + nbtxr;
} }
bb.writeLog("OutSignSyncAction resourceid:" + resourceid);
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
List<String> infos = new ArrayList<>(); List<String> infos = new ArrayList<>();
String acqOutSignSql = "select a.id, c.signinfo " + String acqOutSignSql = "select a.id, c.signinfo " +
"from mobile_sign a " + "from mobile_sign a " +
"left join uf_outsigntype c " + "left join uf_outsigntype c " +
"on c.outsignid = a.id " + "on c.outsignid = a.id " +
"where operate_date >= '" + startDate + "' and operate_date <= '" + endDate + "' and operater in (?) "; "where operate_date >= '" + startDate + "' and operate_date <= '" + endDate + "' and operater in (" + resourceid + ") ";
rs.executeQuery(acqOutSignSql, resourceid); bb.writeLog("OutSignSyncAction acqOutSignSql:" + acqOutSignSql);
rs.execute(acqOutSignSql);
while (rs.next()) { while (rs.next()) {
String signinfo = Util.null2String(rs.getString("signinfo")); String signinfo = Util.null2String(rs.getString("signinfo"));
infos.add(signinfo); infos.add(signinfo);
@ -93,7 +95,7 @@ public class OutSignSyncAction implements Action {
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(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
boolean isok = rs.executeUpdate(punchSql, resourceid, userType, signType, signDate, signTime, clientAddress, isInCom, boolean isok = rs.executeUpdate(punchSql, userId, userType, signType, signDate, signTime, clientAddress, isInCom,
timeZone, belongdate, signfrom, longitude, latitude, address, deviceInfo, "1"); timeZone, belongdate, signfrom, longitude, latitude, address, deviceInfo, "1");
bb.writeLog("isok: " + isok); bb.writeLog("isok: " + isok);
//同步更新考勤数据到考勤报表 //同步更新考勤数据到考勤报表

Loading…
Cancel
Save