From efbbff75c158d33eac79d176b53159a8926cc1e3 Mon Sep 17 00:00:00 2001 From: zhangming <965499528@qq.com> Date: Wed, 31 Jul 2024 09:49:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=B7=AE=E9=A4=90=E8=A1=A5=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=9C=80=E6=B1=8220240731?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hostar/thread/HandleCBDataThread.java | 130 ++++++++-------- src/com/engine/kq/biz/KQFormatData.java | 146 +++++++++--------- .../kq/cmd/report/ExportDailyExcelCmd.java | 14 +- .../engine/kq/cmd/report/ExportExcelCmd.java | 47 +++--- .../kq/cmd/report/GetKQDailyReportCmd.java | 137 ++++++++-------- .../engine/kq/cmd/report/GetKQReportCmd.java | 103 ++++++------ 6 files changed, 290 insertions(+), 287 deletions(-) diff --git a/src/com/engine/hostar/thread/HandleCBDataThread.java b/src/com/engine/hostar/thread/HandleCBDataThread.java index 03455b2..0fbfe39 100644 --- a/src/com/engine/hostar/thread/HandleCBDataThread.java +++ b/src/com/engine/hostar/thread/HandleCBDataThread.java @@ -506,39 +506,39 @@ public class HandleCBDataThread extends BaseBean implements Runnable{ } } -// String groupId = kqGroupMemberComInfo.getKQGroupId(res, kqDate); + String groupId = kqGroupMemberComInfo.getKQGroupId(res, kqDate); if (signNumber == 0) { double minValue = 0.00; // if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) { - double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); - workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; - double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); - restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; - double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); - holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; - - double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); - workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; - double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); - restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; - double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); - holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; - - double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + - workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; - Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); - if (attendanceMins < 0.00) { - attendanceMins = 0.00; - } - minValue = attendanceMins + temp; - double v = Math.round (Math.max(minValue, 0.00)) / 60.00; - value = "0"; - if (v >= 4.00 && v < 9.00) { - value = "1"; - } else if (v >= 9.00) { - value = "2"; - } + double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); + workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; + double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); + restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; + double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); + holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; + + double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); + workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; + double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); + restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; + double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); + holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; + + double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + + workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; + Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); + if (attendanceMins < 0.00) { + attendanceMins = 0.00; + } + minValue = attendanceMins + temp; + double v = Math.round (Math.max(minValue, 0.00)) / 60.00; + value = "0"; + if (v >= 4.00 && v < 9.00) { + value = "1"; + } else if (v >= 9.00) { + value = "2"; + } // } // if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) { // minValue = Util.getDoubleValue(Util.null2String(signminsMap.get(res + "|" + kqDate))); @@ -725,24 +725,24 @@ public class HandleCBDataThread extends BaseBean implements Runnable{ } // if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) { - double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); - workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; - double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); - restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; - double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); - holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; - - double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); - workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; - double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); - restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; - double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); - holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; - - double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + - workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; - Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); - value = String.valueOf(Math.floor(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); + double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); + workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; + double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); + restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; + double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); + holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; + + double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); + workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; + double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); + restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; + double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); + holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; + + double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + + workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; + Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); + value = String.valueOf(Math.floor(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); // } // if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) { // Double signmins = Util.getDoubleValue(Util.null2String(signminsMap.get(res + "|" + kqDate))); @@ -1000,24 +1000,24 @@ public class HandleCBDataThread extends BaseBean implements Runnable{ } if (signNumber == 0 ) { // if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) { - double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); - workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; - double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); - restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; - double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); - holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; - - double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); - workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; - double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); - restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; - double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); - holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; - - double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + - workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; - Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); - value = String.valueOf(Math.floor(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); + double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_4leave"))); + workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave; + double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_4leave"))); + restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave; + double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_4leave"))); + holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave; + + double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|workingDayOvertime_nonleave"))); + workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave; + double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|restDayOvertime_nonleave"))); + restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave; + double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(dailyFlowOverTimeData.get(res + "|" + kqDate + "|holidayOvertime_nonleave"))); + holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave; + + double temp = workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave + + workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave; + Double attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate))); + value = String.valueOf(Math.floor(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300)); // } // if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) { // Double signmins = Util.getDoubleValue(Util.null2String(signminsMap.get(res + "|" + kqDate))); diff --git a/src/com/engine/kq/biz/KQFormatData.java b/src/com/engine/kq/biz/KQFormatData.java index 89c0a98..c237886 100644 --- a/src/com/engine/kq/biz/KQFormatData.java +++ b/src/com/engine/kq/biz/KQFormatData.java @@ -2274,93 +2274,93 @@ public class KQFormatData extends BaseBean { if (isGoing) { // String acqLegWorkSignSql = "select operate_time, longitude, latitude,address from mobile_sign where operater = ? " + // "and operate_date = '" + kqDateA + "' order by operate_time asc "; - String acqLegWorkSignSql = "select operate_time, longitude, latitude,address,operate_date,CONCAT(operate_date, ' ', operate_time) as dateTimeNew from mobile_sign " + - "where operater = ? and CAST(operate_date + ' ' + operate_time AS datetime) >= CAST('" + dateParamA+ "' AS datetime) " + - "and CAST(operate_date + ' ' + operate_time AS datetime) <= CAST('" + dateParamB + "' AS datetime) "; - rs.executeQuery(acqLegWorkSignSql, id); - while ( rs.next()) { - String operateTime = Util.null2String(rs.getString("operate_time")); - String longitude = Util.null2String(rs.getString("longitude")); - String latitude = Util.null2String(rs.getString("latitude")); - String address = Util.null2String(rs.getString("address")); - String dateTimeNew = Util.null2String(rs.getString("dateTimeNew")); - - if ("hostar".equalsIgnoreCase(address) || "鸿仕达".equals(address) || "增善路".equals(address) - || "星圃路".equals(address) || "智慧新城".equals(address)) { - continue; - } - if (StringUtils.isNotEmpty(address) && (address.contains("鸿仕达") || address.contains("增善路") - || address.contains("星圃路") || address.contains("智慧新城") || address.toLowerCase().contains("hostar"))) { - continue; - } - if (StringUtils.isNotEmpty(address) && (address.contains("台湾") || address.contains("越南") - || address.toLowerCase().contains("hostar") || address.toLowerCase().contains("vinh") || address.toLowerCase().contains("ha noi"))) { - continue; - } + String acqLegWorkSignSql = "select operate_time, longitude, latitude,address,operate_date,CONCAT(operate_date, ' ', operate_time) as dateTimeNew from mobile_sign " + + "where operater = ? and CAST(operate_date + ' ' + operate_time AS datetime) >= CAST('" + dateParamA+ "' AS datetime) " + + "and CAST(operate_date + ' ' + operate_time AS datetime) <= CAST('" + dateParamB + "' AS datetime) "; + rs.executeQuery(acqLegWorkSignSql, id); + while ( rs.next()) { + String operateTime = Util.null2String(rs.getString("operate_time")); + String longitude = Util.null2String(rs.getString("longitude")); + String latitude = Util.null2String(rs.getString("latitude")); + String address = Util.null2String(rs.getString("address")); + String dateTimeNew = Util.null2String(rs.getString("dateTimeNew")); + + if ("hostar".equalsIgnoreCase(address) || "鸿仕达".equals(address) || "增善路".equals(address) + || "星圃路".equals(address) || "智慧新城".equals(address)) { + continue; + } + if (StringUtils.isNotEmpty(address) && (address.contains("鸿仕达") || address.contains("增善路") + || address.contains("星圃路") || address.contains("智慧新城") || address.toLowerCase().contains("hostar"))) { + continue; + } + if (StringUtils.isNotEmpty(address) && (address.contains("台湾") || address.contains("越南") + || address.toLowerCase().contains("hostar") || address.toLowerCase().contains("vinh") || address.toLowerCase().contains("ha noi"))) { + continue; + } - if ( StringUtils.isNotBlank(operateTime) && StringUtils.isNotBlank(longitude) && StringUtils.isNotBlank(latitude) ) { - Map temp = new HashMap<>(); - temp.put("operateTime", operateTime); - temp.put("longitude", longitude); - temp.put("latitude", latitude); - temp.put("dateTimeNew", dateTimeNew); - legWorkInfos.add(temp); - } + if ( StringUtils.isNotBlank(operateTime) && StringUtils.isNotBlank(longitude) && StringUtils.isNotBlank(latitude) ) { + Map temp = new HashMap<>(); + temp.put("operateTime", operateTime); + temp.put("longitude", longitude); + temp.put("latitude", latitude); + temp.put("dateTimeNew", dateTimeNew); + legWorkInfos.add(temp); } - if (legWorkInfos != null && legWorkInfos.size() > 1 ) { - String tempSignIn = ""; - String tempSignInDateTime = ""; - String tempSignOutDateTime = ""; - String tempSignInLatitude = ""; - String tempSignInLongitude = ""; - String tempSignOutLatitude = ""; - String tempSignOutLongitude = ""; - String tempSignOut = ""; - Map checkInfo = new HashMap<>(); - for ( Map temp : legWorkInfos) { - String operateTime = Util.null2String(temp.get("operateTime")); - String longitude = Util.null2String(temp.get("longitude")); - String latitude = Util.null2String(temp.get("latitude")); - String dateTimeNew = Util.null2String(temp.get("dateTimeNew")); - if (StringUtils.isBlank(tempSignIn)) { + } + if (legWorkInfos != null && legWorkInfos.size() > 1 ) { + String tempSignIn = ""; + String tempSignInDateTime = ""; + String tempSignOutDateTime = ""; + String tempSignInLatitude = ""; + String tempSignInLongitude = ""; + String tempSignOutLatitude = ""; + String tempSignOutLongitude = ""; + String tempSignOut = ""; + Map checkInfo = new HashMap<>(); + for ( Map temp : legWorkInfos) { + String operateTime = Util.null2String(temp.get("operateTime")); + String longitude = Util.null2String(temp.get("longitude")); + String latitude = Util.null2String(temp.get("latitude")); + String dateTimeNew = Util.null2String(temp.get("dateTimeNew")); + if (StringUtils.isBlank(tempSignIn)) { + tempSignIn = operateTime; + tempSignInLatitude = latitude; + tempSignInLongitude = longitude; + tempSignInDateTime = dateTimeNew; + } else { + if ( dateTimeNew.compareTo(tempSignInDateTime) < 0 ) { tempSignIn = operateTime; tempSignInLatitude = latitude; tempSignInLongitude = longitude; tempSignInDateTime = dateTimeNew; - } else { - if ( dateTimeNew.compareTo(tempSignInDateTime) < 0 ) { - tempSignIn = operateTime; - tempSignInLatitude = latitude; - tempSignInLongitude = longitude; - tempSignInDateTime = dateTimeNew; - } } - if (StringUtils.isBlank(tempSignOut)) { + } + if (StringUtils.isBlank(tempSignOut)) { + tempSignOut = operateTime; + tempSignOutDateTime = dateTimeNew; + tempSignOutLatitude = latitude; + tempSignOutLongitude = longitude; + } else { + if ( dateTimeNew.compareTo(tempSignOutDateTime) > 0 ) { tempSignOut = operateTime; tempSignOutDateTime = dateTimeNew; tempSignOutLatitude = latitude; tempSignOutLongitude = longitude; - } else { - if ( dateTimeNew.compareTo(tempSignOutDateTime) > 0 ) { - tempSignOut = operateTime; - tempSignOutDateTime = dateTimeNew; - tempSignOutLatitude = latitude; - tempSignOutLongitude = longitude; - } } } -// } - checkInfo.put("signDate", kqDateA);//签到签退日期 - checkInfo.put("signInTime", tempSignIn);//签到时间 - checkInfo.put("signInDateTime", tempSignInDateTime);//签到日期时间 - checkInfo.put("signInLatitude", tempSignInLatitude);//签到纬度 - checkInfo.put("signInLongitude", tempSignInLongitude);//签到经度 - checkInfo.put("signOutTime", tempSignOut);//签退时间 - checkInfo.put("signOutDateTime", tempSignOutDateTime);//签退日期时间 - checkInfo.put("signOutLatitude", tempSignOutLatitude);//签退纬度 - checkInfo.put("signOutLongitude", tempSignOutLongitude);//签退经度 - lsCheckInfo.put(id + "|" + kqDateA, checkInfo); } +// } + checkInfo.put("signDate", kqDateA);//签到签退日期 + checkInfo.put("signInTime", tempSignIn);//签到时间 + checkInfo.put("signInDateTime", tempSignInDateTime);//签到日期时间 + checkInfo.put("signInLatitude", tempSignInLatitude);//签到纬度 + checkInfo.put("signInLongitude", tempSignInLongitude);//签到经度 + checkInfo.put("signOutTime", tempSignOut);//签退时间 + checkInfo.put("signOutDateTime", tempSignOutDateTime);//签退日期时间 + checkInfo.put("signOutLatitude", tempSignOutLatitude);//签退纬度 + checkInfo.put("signOutLongitude", tempSignOutLongitude);//签退经度 + lsCheckInfo.put(id + "|" + kqDateA, checkInfo); + } } HostarUtil hostarUtil = new HostarUtil(); diff --git a/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java b/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java index baa7975..dad23a9 100644 --- a/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java +++ b/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java @@ -185,18 +185,18 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand='"+fromDate+"' and b.kqdate <='"+toDate+"' and zm.xm=a.id and zm.rq = b.kqdate "; + 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+"'"; String sqlWhere = rightSql; if(subCompanyId.length()>0){ sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") "; diff --git a/src/com/engine/kq/cmd/report/ExportExcelCmd.java b/src/com/engine/kq/cmd/report/ExportExcelCmd.java index d13bba9..ba7521d 100644 --- a/src/com/engine/kq/cmd/report/ExportExcelCmd.java +++ b/src/com/engine/kq/cmd/report/ExportExcelCmd.java @@ -206,11 +206,11 @@ public class ExportExcelCmd extends AbstractCommonCommand> { Map definedFieldInfo = new KQFormatBiz().getDefinedField(); String definedFieldSum = Util.null2String(definedFieldInfo.get("definedFieldSum")); - String backFields = " (select sum(zm.cccb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as mealAllowance," + - " (select sum(zm.zdcb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as statAllowance," + - " (select sum(zm.jmybcb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as nightAllowance," + - " (select sum(zm.hrzdcb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as otherStatAllowance," + - " (select sum(zm.ybbz) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as nightShiftSubsidy," + + String backFields = " sum(zm.cccb) as mealAllowance," + + " sum(zm.zdcb) as statAllowance," + + " sum(zm.jmybcb) as nightAllowance," + + " sum(zm.hrzdcb) as otherStatAllowance," + + " sum(zm.ybbz) as nightShiftSubsidy," + " a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1 as subcompanyid,a.departmentid,a.jobtitle," + " sum(b.workdays) as workdays,sum(b.workMins) as workMins,sum(b.attendancedays) as attendancedays," + " sum(FLOOR( b.attendanceMins / 30 ) * 30 ) as attendanceMins,sum(b.beLate) as beLate,sum(b.beLateMins) as beLateMins, " + @@ -222,7 +222,8 @@ public class ExportExcelCmd extends AbstractCommonCommand> { if(rs.getDBType().equals("oracle")){ backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields; } - String sqlFrom = " from hrmresource a, kq_format_total b where a.id= b.resourceid and b.kqdate >='" + fromDate + "' and b.kqdate <='" + 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 >= '" + fromDate + "' AND zm.rq <= '" + toDate + "'" + + " where b.kqdate >='" + fromDate + "' and b.kqdate <='" + toDate + "'"; String sqlWhere = rightSql; String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle "; if (subCompanyId.length() > 0) { @@ -278,22 +279,22 @@ public class ExportExcelCmd extends AbstractCommonCommand> { String isShowFullPath = Util.null2String(kqSettingsComInfo.getMain_val(fullPathMainKey),"0"); - /*考勤二开--驻点餐补start*/ - HostarUtil hostarUtil = new HostarUtil(); - Map attendanceMap = new HashMap<>(); - String acqAttendanceSql = "select a.id, b.attendanceMins, b.kqdate from hrmresource a, kq_format_total b where a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"' "+sqlWhere; - bb.writeLog("acqAttendanceSql: " + acqAttendanceSql); - rs.executeQuery(acqAttendanceSql); - while (rs.next()) { - double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins"))); - String id = Util.null2String(rs.getString("id")); - String kqdate = Util.null2String(rs.getString("kqdate")); - if (attendanceMins >= 0.00) { - attendanceMap.put(id + "|DailyStatAllowance" +"|" + kqdate, attendanceMins); - } - } - bb.writeLog("attendanceMap: " + attendanceMap); - /*考勤二开--驻点餐补end*/ +// /*考勤二开--驻点餐补start*/ +// HostarUtil hostarUtil = new HostarUtil(); +// Map attendanceMap = new HashMap<>(); +// String acqAttendanceSql = "select a.id, b.attendanceMins, b.kqdate from hrmresource a, kq_format_total b where a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"' "+sqlWhere; +// bb.writeLog("acqAttendanceSql: " + acqAttendanceSql); +// rs.executeQuery(acqAttendanceSql); +// while (rs.next()) { +// double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins"))); +// String id = Util.null2String(rs.getString("id")); +// String kqdate = Util.null2String(rs.getString("kqdate")); +// if (attendanceMins >= 0.00) { +// attendanceMap.put(id + "|DailyStatAllowance" +"|" + kqdate, attendanceMins); +// } +// } +// bb.writeLog("attendanceMap: " + attendanceMap); +// /*考勤二开--驻点餐补end*/ rs.execute(sql); @@ -413,7 +414,7 @@ public class ExportExcelCmd extends AbstractCommonCommand> { double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id+"|holidayOvertime_nonleave"))); holidayOvertime_nonleave = holidayOvertime_nonleave<0?0:holidayOvertime_nonleave; fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(workingDayOvertime_4leave+restDayOvertime_4leave+holidayOvertime_4leave+ - workingDayOvertime_nonleave+restDayOvertime_nonleave+holidayOvertime_nonleave)); + workingDayOvertime_nonleave+restDayOvertime_nonleave+holidayOvertime_nonleave)); data.add(getFieldValueByUnitType(fieldValue,kqReportFieldComInfo.getUnittype(KQReportFieldComInfo.field2Id.get("overtimeTotal")))); continue; }else if(fieldName.equals("businessLeave") || fieldName.equals("officialBusiness")){ diff --git a/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java b/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java index 6794d40..25474f6 100644 --- a/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java +++ b/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java @@ -145,17 +145,18 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand='"+fromDate+"' and b.kqdate <='"+toDate+"'"; String sqlWhere = rightSql; if(subCompanyId.length()>0){ sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") "; @@ -560,67 +561,67 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand0){ - if(unitType.equals("1")){ - unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage()); - }else if(unitType.equals("2")){ - unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage()); - }else if(unitType.equals("3")){ - unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage()); - } - } - column.put("unit", unitTypeName); - } - column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage())); - column.put("dataIndex", id); - column.put("key", id); - column.put("rowSpan", 1); - Map mapChildColumnInfo = getChildColumnsInfo(id, user); - int childWidth = 65; - List childColumns = (List)mapChildColumnInfo.get("childColumns"); - if(childColumns.size()>0) {//跨列width取子列的width - column.put("children", childColumns); - childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65); - } - column.put("width", childWidth+""); - sumChildColumnWidth+=childWidth; - lsChildColumns.add(column); - } - }else{ - KQReportFieldComInfo kqReportFieldComInfo = new KQReportFieldComInfo(); - while (kqReportFieldComInfo.next()){ - if(kqReportFieldComInfo.getParentid().equals(parentid)) { - if(!kqReportFieldComInfo.getReportType().equals("daily"))continue; - column = new HashMap(); - column.put("title", SystemEnv.getHtmlLabelNames(kqReportFieldComInfo.getFieldlabel(), user.getLanguage())); - column.put("unit", KQReportBiz.getUnitType(kqReportFieldComInfo, user)); - column.put("width", Util.getIntValue(kqReportFieldComInfo.getWidth())); - column.put("dataIndex", kqReportFieldComInfo.getFieldname()); - column.put("key", kqReportFieldComInfo.getFieldname()); - column.put("rowSpan", 2); - column.put("colSpan", 1); - column.put("isdaily", kqReportFieldComInfo.getReportType1().equals("daily")?"1":"0"); - sumChildColumnWidth+=Util.getIntValue(kqReportFieldComInfo.getWidth()); - lsChildColumns.add(column); - } - } - } + }else if(parentid.equals("overtime")){ + String[] overtimeChild = {"overtime_nonleave","overtime_4leave","overtimeTotal"}; + for(int i=0;i0){ + if(unitType.equals("1")){ + unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage()); + }else if(unitType.equals("2")){ + unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage()); + }else if(unitType.equals("3")){ + unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage()); + } + } + column.put("unit", unitTypeName); + } + column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage())); + column.put("dataIndex", id); + column.put("key", id); + column.put("rowSpan", 1); + Map mapChildColumnInfo = getChildColumnsInfo(id, user); + int childWidth = 65; + List childColumns = (List)mapChildColumnInfo.get("childColumns"); + if(childColumns.size()>0) {//跨列width取子列的width + column.put("children", childColumns); + childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65); + } + column.put("width", childWidth+""); + sumChildColumnWidth+=childWidth; + lsChildColumns.add(column); + } + }else{ + KQReportFieldComInfo kqReportFieldComInfo = new KQReportFieldComInfo(); + while (kqReportFieldComInfo.next()){ + if(kqReportFieldComInfo.getParentid().equals(parentid)) { + if(!kqReportFieldComInfo.getReportType().equals("daily"))continue; + column = new HashMap(); + column.put("title", SystemEnv.getHtmlLabelNames(kqReportFieldComInfo.getFieldlabel(), user.getLanguage())); + column.put("unit", KQReportBiz.getUnitType(kqReportFieldComInfo, user)); + column.put("width", Util.getIntValue(kqReportFieldComInfo.getWidth())); + column.put("dataIndex", kqReportFieldComInfo.getFieldname()); + column.put("key", kqReportFieldComInfo.getFieldname()); + column.put("rowSpan", 2); + column.put("colSpan", 1); + column.put("isdaily", kqReportFieldComInfo.getReportType1().equals("daily")?"1":"0"); + sumChildColumnWidth+=Util.getIntValue(kqReportFieldComInfo.getWidth()); + lsChildColumns.add(column); + } + } + } returnMap.put("childColumns",lsChildColumns); returnMap.put("sumChildColumnWidth",sumChildColumnWidth); return returnMap; @@ -691,7 +692,7 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand> { Map definedFieldInfo = new KQFormatBiz().getDefinedField(); String definedFieldSum = Util.null2String(definedFieldInfo.get("definedFieldSum")); - String backFields = " (select sum(zm.cccb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as mealAllowance," + - " (select sum(zm.zdcb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as statAllowance," + - " (select sum(zm.jmybcb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as nightAllowance," + - " (select sum(zm.hrzdcb) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as otherStatAllowance," + - " (select sum(zm.ybbz) from uf_cbxxjlb zm where zm.xm = a.id and zm.rq >= '" + fromDate + "' and zm.rq <= '" + toDate + "') as nightShiftSubsidy," + + String backFields = " sum(zm.cccb) as mealAllowance," + + " sum(zm.zdcb) as statAllowance," + + " sum(zm.jmybcb) as nightAllowance," + + " sum(zm.hrzdcb) as otherStatAllowance," + + " sum(zm.ybbz) as nightShiftSubsidy," + " a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1 as subcompanyid,a.departmentid,a.jobtitle," + " sum(b.workdays) as workdays,sum(b.workMins) as workMins,sum(b.attendancedays) as attendancedays," + " sum(FLOOR( b.attendanceMins / 30 ) * 30 ) as attendanceMins,sum(b.beLate) as beLate,sum(b.beLateMins) as beLateMins, " + @@ -190,7 +190,8 @@ public class GetKQReportCmd extends AbstractCommonCommand> { if(rs.getDBType().equals("oracle")){ backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields; } - String sqlFrom = " from hrmresource a, kq_format_total b where a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+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 >= '" + fromDate + "' AND zm.rq <= '" + toDate + "'" + + "where b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"'"; String sqlWhere = rightSql; String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle "; if(subCompanyId.length()>0){ @@ -327,7 +328,7 @@ public class GetKQReportCmd extends AbstractCommonCommand> { // /*考勤二开--驻点餐补start*/ - HostarUtil hostarUtil = new HostarUtil(); +// HostarUtil hostarUtil = new HostarUtil(); // Map attendanceMap = new HashMap<>(); // String acqAttendanceSql = "select a.id, b.attendanceMins, b.kqdate from hrmresource a, kq_format_total b where a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"' "+sqlWhere; // bb.writeLog("acqAttendanceSql: " + acqAttendanceSql); @@ -397,7 +398,7 @@ public class GetKQReportCmd extends AbstractCommonCommand> { data.put(serialIds.get(i), kqReportBiz.getSerialCount(id,fromDate,toDate,serialIds.get(i))); } }else if(kqReportFieldComInfo.getParentid().equals("overtime")||kqReportFieldComInfo.getParentid().equals("overtime_nonleave") - ||kqReportFieldComInfo.getParentid().equals("overtime_4leave")||fieldName.equals("businessLeave") || fieldName.equals("officialBusiness")){ + ||kqReportFieldComInfo.getParentid().equals("overtime_4leave")||fieldName.equals("businessLeave") || fieldName.equals("officialBusiness")){ if(fieldName.equals("overtimeTotal")){ double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id+"|workingDayOvertime_4leave"))); workingDayOvertime_4leave = workingDayOvertime_4leave<0?0:workingDayOvertime_4leave; @@ -641,7 +642,7 @@ public class GetKQReportCmd extends AbstractCommonCommand> { column.put("width", 65); column.put("dataIndex", serialIds.get(i)); column.put("key", serialIds.get(i)); - column.put("rowSpan", 2); + column.put("rowSpan", 2); column.put("colSpan", 1); sumChildColumnWidth+=65; lsChildColumns.add(column); @@ -667,48 +668,48 @@ public class GetKQReportCmd extends AbstractCommonCommand> { lsChildColumns.add(column); } }else if(parentid.equals("overtime")){ - String[] overtimeChild = {"overtime_nonleave","overtime_4leave","overtimeTotal"}; - for(int i=0;i0){ - if(unitType.equals("1")){ - unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage()); - }else if(unitType.equals("2")){ - unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage()); - }else if(unitType.equals("3")){ - unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage()); - } - } - column.put("unit", unitTypeName); - } - column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage())); - column.put("dataIndex", id); - column.put("key", id); - column.put("rowSpan", 1); - Map mapChildColumnInfo = getChildColumnsInfo(id, user); - int childWidth = 65; - List childColumns = (List)mapChildColumnInfo.get("childColumns"); - if(childColumns.size()>0) {//跨列width取子列的width - column.put("children", childColumns); - childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65); - } - column.put("width", childWidth+""); - sumChildColumnWidth+=childWidth; - lsChildColumns.add(column); - } - }else{ + String[] overtimeChild = {"overtime_nonleave","overtime_4leave","overtimeTotal"}; + for(int i=0;i0){ + if(unitType.equals("1")){ + unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage()); + }else if(unitType.equals("2")){ + unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage()); + }else if(unitType.equals("3")){ + unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage()); + } + } + column.put("unit", unitTypeName); + } + column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage())); + column.put("dataIndex", id); + column.put("key", id); + column.put("rowSpan", 1); + Map mapChildColumnInfo = getChildColumnsInfo(id, user); + int childWidth = 65; + List childColumns = (List)mapChildColumnInfo.get("childColumns"); + if(childColumns.size()>0) {//跨列width取子列的width + column.put("children", childColumns); + childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65); + } + column.put("width", childWidth+""); + sumChildColumnWidth+=childWidth; + lsChildColumns.add(column); + } + }else{ KQReportFieldComInfo kqReportFieldComInfo = new KQReportFieldComInfo(); while (kqReportFieldComInfo.next()){ if(kqReportFieldComInfo.getParentid().equals(parentid)) {