入离职工时加上考勤报表问题修复

dev
chenwei 1 year ago
parent 2bba7b3711
commit cc226faf9c

@ -515,7 +515,7 @@ public class KQReportBiz extends BaseBean {
sql = "select a.attendancemins, a.resourceid, a.kqdate from kq_format_total a left join hrmresource b on a.resourceid = b.id " +
" where a.resourceid in (" + String.join(",", empTypes) + ") and kqdate >='" + fromDate + "' and kqdate <='" + toDate + "' " + sqlWhere;
basebean.writeLog("getLaborHoursData sql:" + sql);
rs.executeQuery(sql);
while (rs.next()) {
String resourceid = Util.null2String(rs.getString("resourceid"));
@ -529,10 +529,10 @@ public class KQReportBiz extends BaseBean {
double temp = Util.getDoubleValue(Util.null2String(datas.get("LaborHoursData|" + resourceid + "|holiday")));
if (temp >=0.00) {
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendancemins / 60.0))) + temp;
datas.put("LaborHoursData|" + resourceid + "|holiday" , attendanceHours);
datas.put("LaborHoursData|" + resourceid + "|holidaylaborHours" , attendanceHours);
} else {
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendancemins / 60.0)));
datas.put("LaborHoursData|" + resourceid + "|holiday" , attendanceHours);
datas.put("LaborHoursData|" + resourceid + "|holidaylaborHours" , attendanceHours);
}
}
@ -541,10 +541,10 @@ public class KQReportBiz extends BaseBean {
double temp = Util.getDoubleValue(Util.null2String(datas.get("LaborHoursData|" + resourceid + "|workday")));
if (temp >=0.00) {
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendancemins / 60.0))) + temp;
datas.put("LaborHoursData|" + resourceid + "|workday" , attendanceHours);
datas.put("LaborHoursData|" + resourceid + "|workdaylaborHours" , attendanceHours);
} else {
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendancemins / 60.0)));
datas.put("LaborHoursData|" + resourceid + "|workday" , attendanceHours);
datas.put("LaborHoursData|" + resourceid + "|workdaylaborHours" , attendanceHours);
}
}
@ -553,10 +553,10 @@ public class KQReportBiz extends BaseBean {
double temp = Util.getDoubleValue(Util.null2String(datas.get("LaborHoursData|" + resourceid + "|restday")));
if (temp >=0.00) {
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendancemins / 60.0))) + temp;
datas.put("LaborHoursData|" + resourceid + "|restday" , attendanceHours);
datas.put("LaborHoursData|" + resourceid + "|restdaylaborHours" , attendanceHours);
} else {
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendancemins / 60.0)));
datas.put("LaborHoursData|" + resourceid + "|restday" , attendanceHours);
datas.put("LaborHoursData|" + resourceid + "|restdaylaborHours" , attendanceHours);
}
}
@ -571,17 +571,17 @@ public class KQReportBiz extends BaseBean {
String[] split = key.split("\\|");
if (split[1].contains("holiday")) {
double doubleValue = Util.getDoubleValue(Util.null2String(datas.get("LaborHoursData|" + split[0] + "|holiday")), 0.00);
datas.put("LaborHoursData|" + split[0] + "|holiday" , doubleValue + value);
datas.put("LaborHoursData|" + split[0] + "|holidaylaborHours" , doubleValue + value);
}
if (split[1].contains("workingDay")) {
double doubleValue = Util.getDoubleValue(Util.null2String(datas.get("LaborHoursData|" + split[0] + "|workday")), 0.00);
datas.put("LaborHoursData|" + split[0] + "|workday" , doubleValue + value);
datas.put("LaborHoursData|" + split[0] + "|workdaylaborHours" , doubleValue + value);
}
if (split[1].contains("restDay")) {
double doubleValue = Util.getDoubleValue(Util.null2String(datas.get("LaborHoursData|" + split[0] + "|restday")), 0.00);
datas.put("LaborHoursData|" + split[0] + "|restday" , doubleValue + value);
datas.put("LaborHoursData|" + split[0] + "|restdaylaborHours" , doubleValue + value);
}
}

@ -666,14 +666,16 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand<Map<String, Objec
data.add(fieldValue);
continue;
} else if ("laborHours".equals(fieldName) ) {
} else if ("holidaylaborHours".equals(fieldName)) {//考勤二开--节假日劳务工时
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
if (emp == 1) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")), 0.00);
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceMins / 60.0)), 0.00);
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_4leave")));
@ -688,34 +690,144 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand<Map<String, Objec
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave));
int changeType = KQOvertimeRulesBiz.getChangeType(id, kqdate);
if (changeType == 1 ) {
if (changeType == 1 && "holidaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + holidayOvertime_4leave + holidayOvertime_nonleave));
data.add( fieldValue);
continue;
}
if (changeType == 2 && "workdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + workingDayOvertime_nonleave));
data.add( fieldValue);
continue;
}
if (changeType == 3 && "restdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + restDayOvertime_4leave + restDayOvertime_nonleave));
data.add( fieldValue);
continue;
}
}
} else if ("workdaylaborHours".equals(fieldName)) {//考勤二开--工作日劳务工时
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
if (emp == 1) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")), 0.00);
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceMins / 60.0)), 0.00);
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
int changeType = KQOvertimeRulesBiz.getChangeType(id, kqdate);
if (changeType == 1 && "holidaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + holidayOvertime_4leave + holidayOvertime_nonleave));
data.add( fieldValue);
continue;
}
if (changeType == 2 && "workdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + workingDayOvertime_nonleave));
data.add( fieldValue);
continue;
}
if (changeType == 3 && "restdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + restDayOvertime_4leave + restDayOvertime_nonleave));
data.add( fieldValue);
continue;
}
}
} else if ("restdaylaborHours".equals(fieldName)) {//考勤二开--休息日劳务工时
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
if (emp == 1) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")), 0.00);
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceMins / 60.0)), 0.00);
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
int changeType = KQOvertimeRulesBiz.getChangeType(id, kqdate);
if (changeType == 1 && "holidaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + holidayOvertime_4leave + holidayOvertime_nonleave));
data.add( fieldValue);
data.add( "0");
data.add( "0");
continue;
}
if (changeType == 2 ) {
data.add( "0");
if (changeType == 2 && "workdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + workingDayOvertime_nonleave));
data.add( fieldValue);
data.add( "0");
continue;
}
if (changeType == 3 ) {
data.add( "0");
data.add( "0");
if (changeType == 3 && "restdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + restDayOvertime_4leave + restDayOvertime_nonleave));
data.add( fieldValue);
continue;
}
}
} else if ("laborHoursTotal".equals(fieldName) ) {
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
if (emp == 1) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")), 0.00);
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceMins / 60.0)), 0.00);
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave));
data.add( fieldValue);
} else {
data.add( "0");
data.add( "0");
data.add( "0");
data.add( "0");
continue;
}
continue;
} else if(fieldName.equals("kqdate")){
fieldValue=kqdate+" "+com.engine.portal.util.DateUtil.getDayWeekOfDate1(DateUtil.parseToDate(kqdate));
} else {

@ -561,20 +561,31 @@ public class ExportExcelCmd extends AbstractCommonCommand<Map<String, Object>> {
bb.writeLog("劳务公司 fieldValue: " + fieldValue);
data.add( fieldValue);
continue;
} else if ("laborHours".equals(fieldName) ) {
double holidayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|holiday")), 0.00);
double workdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|workday")), 0.00);
double restdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|restday")), 0.00);
} else if ("holidaylaborHours".equals(fieldName)) {//考勤二开--节假日劳务工时
double temp = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|" + fieldName)), 0.00);
fieldValue = String.valueOf(temp);
data.add(fieldValue);
continue;
} else if ("workdaylaborHours".equals(fieldName)) {//考勤二开--工作日劳务工时
double temp = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|" + fieldName)), 0.00);
fieldValue = String.valueOf(temp);
data.add(fieldValue);
continue;
} else if ("restdaylaborHours".equals(fieldName)) {//考勤二开--休息日劳务工时
double temp = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|" + fieldName)), 0.00);
fieldValue = String.valueOf(temp);
data.add(fieldValue);
continue;
} else if ("laborHoursTotal".equals(fieldName) ) {//考勤二开--劳务工时总计
double holidayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|holidaylaborHours")), 0.00);
double workdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|workdaylaborHours")), 0.00);
double restdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|restdaylaborHours")), 0.00);
double total = holidayValue + workdayValue + restdayValue;
fieldValue = String.valueOf(total);
data.add(holidayValue);
data.add(workdayValue);
data.add(restdayValue);
data.add(fieldValue);
data.add(fieldValue);
continue;
}else if(fieldName.equals("reissuecard")){//补卡
int intValue = Util.getIntValue(Util.null2String(flowData.get(id + "|reissueCard")));

@ -519,7 +519,7 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand<Map<String, Objec
}
bb.writeLog("劳务公司 fieldValue: " + fieldValue);
data.put(fieldName, fieldValue);
} else if ("laborHours".equals(kqReportFieldComInfo.getParentid()) ) {
} else if ("holidaylaborHours".equals(fieldName)) {//考勤二开--节假日劳务工时
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
@ -543,22 +543,132 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand<Map<String, Objec
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave));
int changeType = KQOvertimeRulesBiz.getChangeType(id, kqdate);
if (changeType == 1 && "holidaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + holidayOvertime_4leave + holidayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
if (changeType == 2 && "workdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + workingDayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
if (changeType == 3 && "restdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + restDayOvertime_4leave + restDayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
}
} else if ("workdaylaborHours".equals(fieldName)) {//考勤二开--工作日劳务工时
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
if (emp == 1) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")), 0.00);
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceMins / 60.0)), 0.00);
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
int changeType = KQOvertimeRulesBiz.getChangeType(id, kqdate);
if (changeType == 1 && "holidaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + holidayOvertime_4leave + holidayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
if (changeType == 2 && "workdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + workingDayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
if (changeType == 3 && "restdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + restDayOvertime_4leave + restDayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
}
} else if ("restdaylaborHours".equals(fieldName)) {//考勤二开--休息日劳务工时
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
if (emp == 1) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")), 0.00);
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceMins / 60.0)), 0.00);
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
int changeType = KQOvertimeRulesBiz.getChangeType(id, kqdate);
if (changeType == 1 && "holiday".equals(fieldName) ) {
if (changeType == 1 && "holidaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + holidayOvertime_4leave + holidayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
if (changeType == 2 && "workday".equals(fieldName) ) {
if (changeType == 2 && "workdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + workingDayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
if (changeType == 3 && "restday".equals(fieldName) ) {
if (changeType == 3 && "restdaylaborHours".equals(fieldName) ) {
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + restDayOvertime_4leave + restDayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
data.put("laborHoursTotal", fieldValue);
}
} else if ("laborHoursTotal".equals(fieldName) ) {
int emp = Util.getIntValue(Util.null2String(empTypes.get(id)));
if (emp == 1) {
double attendanceMins = Util.getDoubleValue(Util.null2String(rs.getString("attendanceMins")), 0.00);
double attendanceHours = Util.getDoubleValue(KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceMins / 60.0)), 0.00);
double workingDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_4leave")));
workingDayOvertime_4leave = workingDayOvertime_4leave < 0 ? 0 : workingDayOvertime_4leave;
double restDayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_4leave")));
restDayOvertime_4leave = restDayOvertime_4leave < 0 ? 0 : restDayOvertime_4leave;
double holidayOvertime_4leave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_4leave")));
holidayOvertime_4leave = holidayOvertime_4leave < 0 ? 0 : holidayOvertime_4leave;
double workingDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|workingDayOvertime_nonleave")));
workingDayOvertime_nonleave = workingDayOvertime_nonleave < 0 ? 0 : workingDayOvertime_nonleave;
double restDayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|restDayOvertime_nonleave")));
restDayOvertime_nonleave = restDayOvertime_nonleave < 0 ? 0 : restDayOvertime_nonleave;
double holidayOvertime_nonleave = Util.getDoubleValue(Util.null2String(flowData.get(id + "|" + kqdate + "|holidayOvertime_nonleave")));
holidayOvertime_nonleave = holidayOvertime_nonleave < 0 ? 0 : holidayOvertime_nonleave;
fieldValue = KQDurationCalculatorUtil.getDurationRound(String.valueOf(attendanceHours + workingDayOvertime_4leave + restDayOvertime_4leave + holidayOvertime_4leave +
workingDayOvertime_nonleave + restDayOvertime_nonleave + holidayOvertime_nonleave));
data.put(fieldName, fieldValue);
}
}else if(fieldName.equals("reissuecard")){//补卡

@ -705,31 +705,28 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
bb.writeLog("workdays fieldValue: " + fieldValue);
data.put(fieldName, fieldValue);
} else if ("laborHours".equals(kqReportFieldComInfo.getParentid()) ) {
if ("laborHoursTotal".equals(fieldName)) {
//
double holidayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|holiday")), 0.00);
double workdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|workday")), 0.00);
double restdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|restday")), 0.00);
//
double total = holidayValue + workdayValue + restdayValue;
//
// data.put("holiday", holidayValue);
// data.put("workday", workdayValue);
// data.put("restday", restdayValue);
fieldValue = String.valueOf(total);
data.put(fieldName,fieldValue);
} else if ("holidaylaborHours".equals(fieldName)) {//考勤二开--节假日劳务工时
double temp = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|" + fieldName)), 0.00);
fieldValue = String.valueOf(temp);
data.put(fieldName,fieldValue);
} else if ("workdaylaborHours".equals(fieldName)) {//考勤二开--工作日劳务工时
double temp = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|" + fieldName)), 0.00);
fieldValue = String.valueOf(temp);
data.put(fieldName,fieldValue);
} else if ("restdaylaborHours".equals(fieldName)) {//考勤二开--休息日劳务工时
double temp = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|" + fieldName)), 0.00);
fieldValue = String.valueOf(temp);
data.put(fieldName,fieldValue);
} else if ("laborHoursTotal".equals(fieldName) ) {//考勤二开--劳务工时总计
}else {
double holidayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|holidaylaborHours")), 0.00);
double workdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|workdaylaborHours")), 0.00);
double restdayValue = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|restdaylaborHours")), 0.00);
double total = holidayValue + workdayValue + restdayValue;
double temp = Util.getDoubleValue(Util.null2String(flowData.get("LaborHoursData|" + id + "|" + fieldName)), 0.00);
fieldValue = String.valueOf(temp);
data.put(fieldName,fieldValue);
fieldValue = String.valueOf(total);
}
data.put(fieldName,fieldValue);
} else {

Loading…
Cancel
Save