出差餐补优化需求20240731

dev-zm
zhangming 1 year ago
parent c968012e13
commit efbbff75c1

@ -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) { if (signNumber == 0) {
double minValue = 0.00; double minValue = 0.00;
// if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) { // if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) {
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 attendanceMins = Util.getDoubleValue(Util.null2String(attendanceMinsMap.get(res + "|" + kqDate)));
if (attendanceMins < 0.00) { if (attendanceMins < 0.00) {
attendanceMins = 0.00; attendanceMins = 0.00;
} }
minValue = attendanceMins + temp; minValue = attendanceMins + temp;
double v = Math.round (Math.max(minValue, 0.00)) / 60.00; double v = Math.round (Math.max(minValue, 0.00)) / 60.00;
value = "0"; value = "0";
if (v >= 4.00 && v < 9.00) { if (v >= 4.00 && v < 9.00) {
value = "1"; value = "1";
} else if (v >= 9.00) { } else if (v >= 9.00) {
value = "2"; value = "2";
} }
// } // }
// if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) { // if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) {
// minValue = Util.getDoubleValue(Util.null2String(signminsMap.get(res + "|" + kqDate))); // 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)) { // if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) {
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 attendanceMins = 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(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300));
// } // }
// if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) { // if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) {
// Double signmins = Util.getDoubleValue(Util.null2String(signminsMap.get(res + "|" + kqDate))); // 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 (signNumber == 0 ) {
// if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) { // if ((!CollectionUtils.isEmpty(pbzbcSet)) && pbzbcSet.contains(groupId)) {
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 attendanceMins = 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(((attendanceMins < 0.00 ? 0.00 : attendanceMins) + temp) / 300));
// } // }
// if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) { // if ((!CollectionUtils.isEmpty(zrzbcSet)) && zrzbcSet.contains(groupId)) {
// Double signmins = Util.getDoubleValue(Util.null2String(signminsMap.get(res + "|" + kqDate))); // Double signmins = Util.getDoubleValue(Util.null2String(signminsMap.get(res + "|" + kqDate)));

@ -2274,93 +2274,93 @@ public class KQFormatData extends BaseBean {
if (isGoing) { if (isGoing) {
// String acqLegWorkSignSql = "select operate_time, longitude, latitude,address from mobile_sign where operater = ? " + // String acqLegWorkSignSql = "select operate_time, longitude, latitude,address from mobile_sign where operater = ? " +
// "and operate_date = '" + kqDateA + "' order by operate_time asc "; // "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 " + 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) " + "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) "; "and CAST(operate_date + ' ' + operate_time AS datetime) <= CAST('" + dateParamB + "' AS datetime) ";
rs.executeQuery(acqLegWorkSignSql, id); rs.executeQuery(acqLegWorkSignSql, id);
while ( rs.next()) { while ( rs.next()) {
String operateTime = Util.null2String(rs.getString("operate_time")); String operateTime = Util.null2String(rs.getString("operate_time"));
String longitude = Util.null2String(rs.getString("longitude")); String longitude = Util.null2String(rs.getString("longitude"));
String latitude = Util.null2String(rs.getString("latitude")); String latitude = Util.null2String(rs.getString("latitude"));
String address = Util.null2String(rs.getString("address")); String address = Util.null2String(rs.getString("address"));
String dateTimeNew = Util.null2String(rs.getString("dateTimeNew")); String dateTimeNew = Util.null2String(rs.getString("dateTimeNew"));
if ("hostar".equalsIgnoreCase(address) || "鸿仕达".equals(address) || "增善路".equals(address) if ("hostar".equalsIgnoreCase(address) || "鸿仕达".equals(address) || "增善路".equals(address)
|| "星圃路".equals(address) || "智慧新城".equals(address)) { || "星圃路".equals(address) || "智慧新城".equals(address)) {
continue; continue;
} }
if (StringUtils.isNotEmpty(address) && (address.contains("鸿仕达") || address.contains("增善路") if (StringUtils.isNotEmpty(address) && (address.contains("鸿仕达") || address.contains("增善路")
|| address.contains("星圃路") || address.contains("智慧新城") || address.toLowerCase().contains("hostar"))) { || address.contains("星圃路") || address.contains("智慧新城") || address.toLowerCase().contains("hostar"))) {
continue; continue;
} }
if (StringUtils.isNotEmpty(address) && (address.contains("台湾") || address.contains("越南") if (StringUtils.isNotEmpty(address) && (address.contains("台湾") || address.contains("越南")
|| address.toLowerCase().contains("hostar") || address.toLowerCase().contains("vinh") || address.toLowerCase().contains("ha noi"))) { || address.toLowerCase().contains("hostar") || address.toLowerCase().contains("vinh") || address.toLowerCase().contains("ha noi"))) {
continue; continue;
} }
if ( StringUtils.isNotBlank(operateTime) && StringUtils.isNotBlank(longitude) && StringUtils.isNotBlank(latitude) ) { if ( StringUtils.isNotBlank(operateTime) && StringUtils.isNotBlank(longitude) && StringUtils.isNotBlank(latitude) ) {
Map<String, Object> temp = new HashMap<>(); Map<String, Object> temp = new HashMap<>();
temp.put("operateTime", operateTime); temp.put("operateTime", operateTime);
temp.put("longitude", longitude); temp.put("longitude", longitude);
temp.put("latitude", latitude); temp.put("latitude", latitude);
temp.put("dateTimeNew", dateTimeNew); temp.put("dateTimeNew", dateTimeNew);
legWorkInfos.add(temp); legWorkInfos.add(temp);
}
} }
if (legWorkInfos != null && legWorkInfos.size() > 1 ) { }
String tempSignIn = ""; if (legWorkInfos != null && legWorkInfos.size() > 1 ) {
String tempSignInDateTime = ""; String tempSignIn = "";
String tempSignOutDateTime = ""; String tempSignInDateTime = "";
String tempSignInLatitude = ""; String tempSignOutDateTime = "";
String tempSignInLongitude = ""; String tempSignInLatitude = "";
String tempSignOutLatitude = ""; String tempSignInLongitude = "";
String tempSignOutLongitude = ""; String tempSignOutLatitude = "";
String tempSignOut = ""; String tempSignOutLongitude = "";
Map<String, Object> checkInfo = new HashMap<>(); String tempSignOut = "";
for ( Map<String, Object> temp : legWorkInfos) { Map<String, Object> checkInfo = new HashMap<>();
String operateTime = Util.null2String(temp.get("operateTime")); for ( Map<String, Object> temp : legWorkInfos) {
String longitude = Util.null2String(temp.get("longitude")); String operateTime = Util.null2String(temp.get("operateTime"));
String latitude = Util.null2String(temp.get("latitude")); String longitude = Util.null2String(temp.get("longitude"));
String dateTimeNew = Util.null2String(temp.get("dateTimeNew")); String latitude = Util.null2String(temp.get("latitude"));
if (StringUtils.isBlank(tempSignIn)) { 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; tempSignIn = operateTime;
tempSignInLatitude = latitude; tempSignInLatitude = latitude;
tempSignInLongitude = longitude; tempSignInLongitude = longitude;
tempSignInDateTime = dateTimeNew; 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; tempSignOut = operateTime;
tempSignOutDateTime = dateTimeNew; tempSignOutDateTime = dateTimeNew;
tempSignOutLatitude = latitude; tempSignOutLatitude = latitude;
tempSignOutLongitude = longitude; 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(); HostarUtil hostarUtil = new HostarUtil();

@ -185,18 +185,18 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand<Map<String, Objec
}else { }else {
forgotBeginWorkCheck_field = " isnull(b.forgotBeginWorkCheck,0) "; forgotBeginWorkCheck_field = " isnull(b.forgotBeginWorkCheck,0) ";
} }
String backFields = " zm.cccb as mealAllowance," + String backFields = " zm.cccb as mealAllowance," +
" zm.zdcb as statAllowance," + " zm.zdcb as statAllowance," +
" zm.jmybcb as nightAllowance," + " zm.jmybcb as nightAllowance," +
" zm.hrzdcb as otherStatAllowance," + " zm.hrzdcb as otherStatAllowance," +
" zm.ybbz as nightShiftSubsidy, "+ " zm.ybbz as nightShiftSubsidy, "+
" a.id,a.lastname,a.subcompanyid1 as subcompanyid,a.departmentid, a.workcode,b.jobtitle,a.dsporder," + " a.id,a.lastname,a.subcompanyid1 as subcompanyid,a.departmentid, a.workcode,b.jobtitle,a.dsporder," +
" b.kqdate, b.workdays,b.workMins,b.serialid, b.attendancedays,FLOOR( b.attendanceMins / 30 ) * 30 AS attendanceMins ,b.beLate," + " b.kqdate, b.workdays,b.workMins,b.serialid, b.attendancedays,FLOOR( b.attendanceMins / 30 ) * 30 AS attendanceMins ,b.beLate," +
" b.beLateMins,b.graveBeLate,b.graveBeLateMins,b.leaveEearly,b.leaveEarlyMins,b.graveLeaveEarly," + " b.beLateMins,b.graveBeLate,b.graveBeLateMins,b.leaveEearly,b.leaveEarlyMins,b.graveLeaveEarly," +
" b.graveLeaveEarlyMins,b.absenteeism,b.signdays,b.signmins, "+ " b.graveLeaveEarlyMins,b.absenteeism,b.signdays,b.signmins, "+
" b.absenteeismMins ,(b.forgotCheck+"+forgotBeginWorkCheck_field+") forgotCheck,zeropoint "; " b.absenteeismMins ,(b.forgotCheck+"+forgotBeginWorkCheck_field+") forgotCheck,zeropoint ";
String sqlFrom = " from hrmresource a, kq_format_total b,uf_cbxxjlb zm " + 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 a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"' and zm.xm=a.id and zm.rq = b.kqdate "; " where b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"'";
String sqlWhere = rightSql; String sqlWhere = rightSql;
if(subCompanyId.length()>0){ if(subCompanyId.length()>0){
sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") "; sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") ";

@ -206,11 +206,11 @@ public class ExportExcelCmd extends AbstractCommonCommand<Map<String, Object>> {
Map<String,Object> definedFieldInfo = new KQFormatBiz().getDefinedField(); Map<String,Object> definedFieldInfo = new KQFormatBiz().getDefinedField();
String definedFieldSum = Util.null2String(definedFieldInfo.get("definedFieldSum")); 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," + String backFields = " sum(zm.cccb) 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," + " sum(zm.zdcb) 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," + " sum(zm.jmybcb) 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," + " sum(zm.hrzdcb) 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," + " sum(zm.ybbz) as nightShiftSubsidy," +
" a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1 as subcompanyid,a.departmentid,a.jobtitle," + " 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(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, " + " 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<Map<String, Object>> {
if(rs.getDBType().equals("oracle")){ if(rs.getDBType().equals("oracle")){
backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields; backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields;
} }
String sqlFrom = " from hrmresource a, 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 sqlWhere = rightSql;
String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle "; String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle ";
if (subCompanyId.length() > 0) { if (subCompanyId.length() > 0) {
@ -278,22 +279,22 @@ public class ExportExcelCmd extends AbstractCommonCommand<Map<String, Object>> {
String isShowFullPath = Util.null2String(kqSettingsComInfo.getMain_val(fullPathMainKey),"0"); String isShowFullPath = Util.null2String(kqSettingsComInfo.getMain_val(fullPathMainKey),"0");
/*考勤二开--驻点餐补start*/ // /*考勤二开--驻点餐补start*/
HostarUtil hostarUtil = new HostarUtil(); // HostarUtil hostarUtil = new HostarUtil();
Map<String, Double> attendanceMap = new HashMap<>(); // Map<String, Double> 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; // 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); // bb.writeLog("acqAttendanceSql: " + acqAttendanceSql);
rs.executeQuery(acqAttendanceSql); // rs.executeQuery(acqAttendanceSql);
while (rs.next()) { // while (rs.next()) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins"))); // double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")));
String id = Util.null2String(rs.getString("id")); // String id = Util.null2String(rs.getString("id"));
String kqdate = Util.null2String(rs.getString("kqdate")); // String kqdate = Util.null2String(rs.getString("kqdate"));
if (attendanceMins >= 0.00) { // if (attendanceMins >= 0.00) {
attendanceMap.put(id + "|DailyStatAllowance" +"|" + kqdate, attendanceMins); // attendanceMap.put(id + "|DailyStatAllowance" +"|" + kqdate, attendanceMins);
} // }
} // }
bb.writeLog("attendanceMap: " + attendanceMap); // bb.writeLog("attendanceMap: " + attendanceMap);
/*考勤二开--驻点餐补end*/ // /*考勤二开--驻点餐补end*/
rs.execute(sql); rs.execute(sql);
@ -413,7 +414,7 @@ public class ExportExcelCmd extends AbstractCommonCommand<Map<String, Object>> {
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id+"|holidayOvertime_nonleave"))); double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id+"|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave<0?0:holidayOvertime_nonleave; holidayOvertime_nonleave = holidayOvertime_nonleave<0?0:holidayOvertime_nonleave;
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(workingDayOvertime_4leave+restDayOvertime_4leave+holidayOvertime_4leave+ 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")))); data.add(getFieldValueByUnitType(fieldValue,kqReportFieldComInfo.getUnittype(KQReportFieldComInfo.field2Id.get("overtimeTotal"))));
continue; continue;
}else if(fieldName.equals("businessLeave") || fieldName.equals("officialBusiness")){ }else if(fieldName.equals("businessLeave") || fieldName.equals("officialBusiness")){

@ -145,17 +145,18 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand<Map<String, Objec
forgotBeginWorkCheck_field = " isnull(b.forgotBeginWorkCheck,0) "; forgotBeginWorkCheck_field = " isnull(b.forgotBeginWorkCheck,0) ";
} }
String backFields = " (select zm.cccb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as mealAllowance," + String backFields = " zm.cccb as mealAllowance," +
" (select zm.zdcb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as statAllowance," + " zm.zdcb as statAllowance," +
" (select zm.jmybcb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as nightAllowance," + " zm.jmybcb as nightAllowance," +
" (select zm.hrzdcb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as otherStatAllowance," + " zm.hrzdcb as otherStatAllowance," +
" (select zm.ybbz from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as nightShiftSubsidy," + " zm.ybbz as nightShiftSubsidy," +
" a.id,a.lastname,a.subcompanyid1 as subcompanyid,a.departmentid, a.workcode,b.jobtitle,a.dsporder," + " a.id,a.lastname,a.subcompanyid1 as subcompanyid,a.departmentid, a.workcode,b.jobtitle,a.dsporder," +
" b.kqdate, b.workdays,b.workMins,b.serialid, b.attendancedays,FLOOR( b.attendanceMins / 30 ) * 30 AS attendanceMins," + " b.kqdate, b.workdays,b.workMins,b.serialid, b.attendancedays,FLOOR( b.attendanceMins / 30 ) * 30 AS attendanceMins," +
" b.beLate,b.beLateMins,b.graveBeLate,b.graveBeLateMins,b.leaveEearly,b.leaveEarlyMins," + " b.beLate,b.beLateMins,b.graveBeLate,b.graveBeLateMins,b.leaveEearly,b.leaveEarlyMins," +
" b.signdays,b.signmins, "+ " b.signdays,b.signmins, "+
" b.graveLeaveEarly,b.graveLeaveEarlyMins,b.absenteeism , b.absenteeismMins ,(b.forgotCheck+"+forgotBeginWorkCheck_field+") forgotCheck,zeropoint "; " b.graveLeaveEarly,b.graveLeaveEarlyMins,b.absenteeism , b.absenteeismMins ,(b.forgotCheck+"+forgotBeginWorkCheck_field+") forgotCheck,zeropoint ";
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 = b.kqdate " +
"where b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"'";
String sqlWhere = rightSql; String sqlWhere = rightSql;
if(subCompanyId.length()>0){ if(subCompanyId.length()>0){
sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") "; sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") ";
@ -560,67 +561,67 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand<Map<String, Objec
sumChildColumnWidth+=65; sumChildColumnWidth+=65;
lsChildColumns.add(column); lsChildColumns.add(column);
} }
}else if(parentid.equals("overtime")){ }else if(parentid.equals("overtime")){
String[] overtimeChild = {"overtime_nonleave","overtime_4leave","overtimeTotal"}; String[] overtimeChild = {"overtime_nonleave","overtime_4leave","overtimeTotal"};
for(int i=0;i<overtimeChild.length;i++){ for(int i=0;i<overtimeChild.length;i++){
String id = overtimeChild[i]; String id = overtimeChild[i];
column = new HashMap(); column = new HashMap();
String fieldlabel = ""; String fieldlabel = "";
column.put("unit", ""); column.put("unit", "");
if("overtime_nonleave".equalsIgnoreCase(id)){ if("overtime_nonleave".equalsIgnoreCase(id)){
fieldlabel = "125805"; fieldlabel = "125805";
}else if("overtime_4leave".equalsIgnoreCase(id)){ }else if("overtime_4leave".equalsIgnoreCase(id)){
fieldlabel = "125804"; fieldlabel = "125804";
}else{ }else{
fieldlabel = "523"; fieldlabel = "523";
column.put("showDetial","1"); column.put("showDetial","1");
String unitType = (KQOvertimeRulesBiz.getMinimumUnit()==3 || KQOvertimeRulesBiz.getMinimumUnit()==5 ||KQOvertimeRulesBiz.getMinimumUnit()==6)?"2":"1"; String unitType = (KQOvertimeRulesBiz.getMinimumUnit()==3 || KQOvertimeRulesBiz.getMinimumUnit()==5 ||KQOvertimeRulesBiz.getMinimumUnit()==6)?"2":"1";
String unitTypeName = ""; String unitTypeName = "";
if(Util.null2String(unitType).length()>0){ if(Util.null2String(unitType).length()>0){
if(unitType.equals("1")){ if(unitType.equals("1")){
unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage()); unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage());
}else if(unitType.equals("2")){ }else if(unitType.equals("2")){
unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage()); unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage());
}else if(unitType.equals("3")){ }else if(unitType.equals("3")){
unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage()); unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage());
} }
} }
column.put("unit", unitTypeName); column.put("unit", unitTypeName);
} }
column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage())); column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage()));
column.put("dataIndex", id); column.put("dataIndex", id);
column.put("key", id); column.put("key", id);
column.put("rowSpan", 1); column.put("rowSpan", 1);
Map<String,Object> mapChildColumnInfo = getChildColumnsInfo(id, user); Map<String,Object> mapChildColumnInfo = getChildColumnsInfo(id, user);
int childWidth = 65; int childWidth = 65;
List<Object> childColumns = (List<Object>)mapChildColumnInfo.get("childColumns"); List<Object> childColumns = (List<Object>)mapChildColumnInfo.get("childColumns");
if(childColumns.size()>0) {//跨列width取子列的width if(childColumns.size()>0) {//跨列width取子列的width
column.put("children", childColumns); column.put("children", childColumns);
childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65); childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65);
} }
column.put("width", childWidth+""); column.put("width", childWidth+"");
sumChildColumnWidth+=childWidth; sumChildColumnWidth+=childWidth;
lsChildColumns.add(column); lsChildColumns.add(column);
} }
}else{ }else{
KQReportFieldComInfo kqReportFieldComInfo = new KQReportFieldComInfo(); KQReportFieldComInfo kqReportFieldComInfo = new KQReportFieldComInfo();
while (kqReportFieldComInfo.next()){ while (kqReportFieldComInfo.next()){
if(kqReportFieldComInfo.getParentid().equals(parentid)) { if(kqReportFieldComInfo.getParentid().equals(parentid)) {
if(!kqReportFieldComInfo.getReportType().equals("daily"))continue; if(!kqReportFieldComInfo.getReportType().equals("daily"))continue;
column = new HashMap(); column = new HashMap();
column.put("title", SystemEnv.getHtmlLabelNames(kqReportFieldComInfo.getFieldlabel(), user.getLanguage())); column.put("title", SystemEnv.getHtmlLabelNames(kqReportFieldComInfo.getFieldlabel(), user.getLanguage()));
column.put("unit", KQReportBiz.getUnitType(kqReportFieldComInfo, user)); column.put("unit", KQReportBiz.getUnitType(kqReportFieldComInfo, user));
column.put("width", Util.getIntValue(kqReportFieldComInfo.getWidth())); column.put("width", Util.getIntValue(kqReportFieldComInfo.getWidth()));
column.put("dataIndex", kqReportFieldComInfo.getFieldname()); column.put("dataIndex", kqReportFieldComInfo.getFieldname());
column.put("key", kqReportFieldComInfo.getFieldname()); column.put("key", kqReportFieldComInfo.getFieldname());
column.put("rowSpan", 2); column.put("rowSpan", 2);
column.put("colSpan", 1); column.put("colSpan", 1);
column.put("isdaily", kqReportFieldComInfo.getReportType1().equals("daily")?"1":"0"); column.put("isdaily", kqReportFieldComInfo.getReportType1().equals("daily")?"1":"0");
sumChildColumnWidth+=Util.getIntValue(kqReportFieldComInfo.getWidth()); sumChildColumnWidth+=Util.getIntValue(kqReportFieldComInfo.getWidth());
lsChildColumns.add(column); lsChildColumns.add(column);
} }
} }
} }
returnMap.put("childColumns",lsChildColumns); returnMap.put("childColumns",lsChildColumns);
returnMap.put("sumChildColumnWidth",sumChildColumnWidth); returnMap.put("sumChildColumnWidth",sumChildColumnWidth);
return returnMap; return returnMap;
@ -691,7 +692,7 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand<Map<String, Objec
signStatusInfo.put("workdate",workbegindate); signStatusInfo.put("workdate",workbegindate);
signStatusInfo.put("worktime",workbegintime); signStatusInfo.put("worktime",workbegintime);
signStatusInfo.put("beLateMins",beLateMins); signStatusInfo.put("beLateMins",beLateMins);
signStatusInfo.put("forgotBeginWorkCheckMins",forgotBeginWorkCheckMins); signStatusInfo.put("forgotBeginWorkCheckMins",forgotBeginWorkCheckMins);
signStatusInfo.put("graveBeLateMins",graveBeLateMins); signStatusInfo.put("graveBeLateMins",graveBeLateMins);
signStatusInfo.put("absenteeismMins",absenteeismMins); signStatusInfo.put("absenteeismMins",absenteeismMins);
signStatusInfo.put("leaveMins",leaveMins); signStatusInfo.put("leaveMins",leaveMins);

@ -173,11 +173,11 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
Map<String,Object> definedFieldInfo = new KQFormatBiz().getDefinedField(); Map<String,Object> definedFieldInfo = new KQFormatBiz().getDefinedField();
String definedFieldSum = Util.null2String(definedFieldInfo.get("definedFieldSum")); 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," + String backFields = " sum(zm.cccb) 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," + " sum(zm.zdcb) 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," + " sum(zm.jmybcb) 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," + " sum(zm.hrzdcb) 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," + " sum(zm.ybbz) as nightShiftSubsidy," +
" a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1 as subcompanyid,a.departmentid,a.jobtitle," + " 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(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, " + " 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<Map<String, Object>> {
if(rs.getDBType().equals("oracle")){ if(rs.getDBType().equals("oracle")){
backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields; backFields = "/*+ index(kq_format_total IDX_KQ_FORMAT_TOTAL_KQDATE) */ "+backFields;
} }
String sqlFrom = " from hrmresource a, 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 sqlWhere = rightSql;
String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle "; String groupBy = " group by a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1,a.departmentid,a.jobtitle ";
if(subCompanyId.length()>0){ if(subCompanyId.length()>0){
@ -327,7 +328,7 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
// /*考勤二开--驻点餐补start*/ // /*考勤二开--驻点餐补start*/
HostarUtil hostarUtil = new HostarUtil(); // HostarUtil hostarUtil = new HostarUtil();
// Map<String, Double> attendanceMap = new HashMap<>(); // Map<String, Double> 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; // 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); // bb.writeLog("acqAttendanceSql: " + acqAttendanceSql);
@ -397,7 +398,7 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
data.put(serialIds.get(i), kqReportBiz.getSerialCount(id,fromDate,toDate,serialIds.get(i))); data.put(serialIds.get(i), kqReportBiz.getSerialCount(id,fromDate,toDate,serialIds.get(i)));
} }
}else if(kqReportFieldComInfo.getParentid().equals("overtime")||kqReportFieldComInfo.getParentid().equals("overtime_nonleave") }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")){ if(fieldName.equals("overtimeTotal")){
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id+"|workingDayOvertime_4leave"))); double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id+"|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave<0?0:workingDayOvertime_4leave; workingDayOvertime_4leave = workingDayOvertime_4leave<0?0:workingDayOvertime_4leave;
@ -641,7 +642,7 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
column.put("width", 65); column.put("width", 65);
column.put("dataIndex", serialIds.get(i)); column.put("dataIndex", serialIds.get(i));
column.put("key", serialIds.get(i)); column.put("key", serialIds.get(i));
column.put("rowSpan", 2); column.put("rowSpan", 2);
column.put("colSpan", 1); column.put("colSpan", 1);
sumChildColumnWidth+=65; sumChildColumnWidth+=65;
lsChildColumns.add(column); lsChildColumns.add(column);
@ -667,48 +668,48 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
lsChildColumns.add(column); lsChildColumns.add(column);
} }
}else if(parentid.equals("overtime")){ }else if(parentid.equals("overtime")){
String[] overtimeChild = {"overtime_nonleave","overtime_4leave","overtimeTotal"}; String[] overtimeChild = {"overtime_nonleave","overtime_4leave","overtimeTotal"};
for(int i=0;i<overtimeChild.length;i++){ for(int i=0;i<overtimeChild.length;i++){
String id = overtimeChild[i]; String id = overtimeChild[i];
column = new HashMap(); column = new HashMap();
String fieldlabel = ""; String fieldlabel = "";
column.put("unit", ""); column.put("unit", "");
if("overtime_nonleave".equalsIgnoreCase(id)){ if("overtime_nonleave".equalsIgnoreCase(id)){
fieldlabel = "125805"; fieldlabel = "125805";
}else if("overtime_4leave".equalsIgnoreCase(id)){ }else if("overtime_4leave".equalsIgnoreCase(id)){
fieldlabel = "125804"; fieldlabel = "125804";
}else{ }else{
fieldlabel = "523"; fieldlabel = "523";
column.put("showDetial","1"); column.put("showDetial","1");
String unitType = (KQOvertimeRulesBiz.getMinimumUnit()==3 || KQOvertimeRulesBiz.getMinimumUnit()==5 ||KQOvertimeRulesBiz.getMinimumUnit()==6)?"2":"1"; String unitType = (KQOvertimeRulesBiz.getMinimumUnit()==3 || KQOvertimeRulesBiz.getMinimumUnit()==5 ||KQOvertimeRulesBiz.getMinimumUnit()==6)?"2":"1";
String unitTypeName = ""; String unitTypeName = "";
if(Util.null2String(unitType).length()>0){ if(Util.null2String(unitType).length()>0){
if(unitType.equals("1")){ if(unitType.equals("1")){
unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage()); unitTypeName=SystemEnv.getHtmlLabelName(1925, user.getLanguage());
}else if(unitType.equals("2")){ }else if(unitType.equals("2")){
unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage()); unitTypeName=SystemEnv.getHtmlLabelName(391, user.getLanguage());
}else if(unitType.equals("3")){ }else if(unitType.equals("3")){
unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage()); unitTypeName=SystemEnv.getHtmlLabelName(18083, user.getLanguage());
} }
} }
column.put("unit", unitTypeName); column.put("unit", unitTypeName);
} }
column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage())); column.put("title", SystemEnv.getHtmlLabelNames(fieldlabel, user.getLanguage()));
column.put("dataIndex", id); column.put("dataIndex", id);
column.put("key", id); column.put("key", id);
column.put("rowSpan", 1); column.put("rowSpan", 1);
Map<String,Object> mapChildColumnInfo = getChildColumnsInfo(id, user); Map<String,Object> mapChildColumnInfo = getChildColumnsInfo(id, user);
int childWidth = 65; int childWidth = 65;
List<Object> childColumns = (List<Object>)mapChildColumnInfo.get("childColumns"); List<Object> childColumns = (List<Object>)mapChildColumnInfo.get("childColumns");
if(childColumns.size()>0) {//跨列width取子列的width if(childColumns.size()>0) {//跨列width取子列的width
column.put("children", childColumns); column.put("children", childColumns);
childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65); childWidth = Util.getIntValue(Util.null2String(mapChildColumnInfo.get("sumChildColumnWidth")),65);
} }
column.put("width", childWidth+""); column.put("width", childWidth+"");
sumChildColumnWidth+=childWidth; sumChildColumnWidth+=childWidth;
lsChildColumns.add(column); lsChildColumns.add(column);
} }
}else{ }else{
KQReportFieldComInfo kqReportFieldComInfo = new KQReportFieldComInfo(); KQReportFieldComInfo kqReportFieldComInfo = new KQReportFieldComInfo();
while (kqReportFieldComInfo.next()){ while (kqReportFieldComInfo.next()){
if(kqReportFieldComInfo.getParentid().equals(parentid)) { if(kqReportFieldComInfo.getParentid().equals(parentid)) {

Loading…
Cancel
Save