考勤,出勤津贴数据生成功能变更,适配出勤结果中进出时间格式变化

zm_dev
sy 1 year ago
parent a270e20e92
commit 4208d755ad

@ -13,7 +13,9 @@ import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import java.time.Duration; import java.time.Duration;
import java.time.LocalTime; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -29,6 +31,12 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
try { try {
//获取指定生成的人员id列表如果没有则生成所有人
String checkEmpIds = Util.null2String(params.get("empIds"));
List<String> checkEmpIdList = new ArrayList<>();
if (!checkEmpIds.equals("")) {
checkEmpIdList = Arrays.asList(checkEmpIds.split(","));
}
//获取modeId考勤方案的modeId //获取modeId考勤方案的modeId
Map<String,String> formmodeIdMap = Utils.getFormmodeIdMap(); Map<String,String> formmodeIdMap = Utils.getFormmodeIdMap();
String modeId = formmodeIdMap.get("uf_jcl_kq_kqfa"); String modeId = formmodeIdMap.get("uf_jcl_kq_kqfa");
@ -55,9 +63,6 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
String dataId = map.get("id").toString(); String dataId = map.get("id").toString();
//获取方案适用的人员id列表 //获取方案适用的人员id列表
List<String> empIdList = CommonUtil.getEmpIds(dataId, modeId); List<String> empIdList = CommonUtil.getEmpIds(dataId, modeId);
bs.writeLog("dataId : " + dataId);
bs.writeLog("modeId : " + modeId);
bs.writeLog("empIdList : " + empIdList);
//获取津贴类型的考勤项目 //获取津贴类型的考勤项目
String dtSql = "select * from uf_jcl_kq_kqfa_dt1 a left join uf_jcl_kq_kqxm b on b.id = a.kqxm where a.mainid = " + dataId String dtSql = "select * from uf_jcl_kq_kqfa_dt1 a left join uf_jcl_kq_kqxm b on b.id = a.kqxm where a.mainid = " + dataId
+ " and b.xmlx = " + AttendanceItemTypeEnum.ALLOWANCE.getKey(); + " and b.xmlx = " + AttendanceItemTypeEnum.ALLOWANCE.getKey();
@ -113,15 +118,15 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
}); });
} }
} }
bs.writeLog("targetEmpIdList : " + targetEmpIdList);
bs.writeLog("targetAllowanceIdList : " + targetAllowanceIdList);
bs.writeLog("targetBcIdList : " + targetBcIdList);
//获取出勤结果,遍历处理津贴信息 //获取出勤结果,遍历处理津贴信息
String startDate = Util.null2String(params.get("startDate")); String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate")); String endDate = Util.null2String(params.get("endDate"));
List<Map<String, Object>> cqData = new ArrayList<>(); List<Map<String, Object>> cqData = new ArrayList<>();
//如果入参中选中了人员,则只处理选中的人
if (checkEmpIdList.size() > 0) {
List<String> finalCheckEmpIdList = checkEmpIdList;
targetEmpIdList = targetEmpIdList.stream().filter(f -> finalCheckEmpIdList.contains(f)).collect(Collectors.toList());
}
if (targetEmpIdList.size() > 0 && targetBcIdList.size() > 0) { if (targetEmpIdList.size() > 0 && targetBcIdList.size() > 0) {
//去重 //去重
targetBcIdList = targetBcIdList.stream().distinct().collect(Collectors.toList()); targetBcIdList = targetBcIdList.stream().distinct().collect(Collectors.toList());
@ -131,9 +136,6 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
cqData = DbTools.getSqlToList(cqSql); cqData = DbTools.getSqlToList(cqSql);
} }
bs.writeLog("cqData_size : " + cqData.size()); bs.writeLog("cqData_size : " + cqData.size());
bs.writeLog("empIdWithAllowanceInfo : " + empIdWithAllowanceInfo);
bs.writeLog("bcWithAllowanceInfo : " + bcWithAllowanceInfo);
bs.writeLog("allowanceIdWithKqxmInfo : " + allowanceIdWithKqxmInfo);
//获取待新增的津贴数据 //获取待新增的津贴数据
List<Map<String, String>> allowanceInfoList = createAllowanceInfo(cqData, empIdWithAllowanceInfo, bcWithAllowanceInfo, allowanceIdWithKqxmInfo); List<Map<String, String>> allowanceInfoList = createAllowanceInfo(cqData, empIdWithAllowanceInfo, bcWithAllowanceInfo, allowanceIdWithKqxmInfo);
bs.writeLog("allowanceInfoList_size : " + allowanceInfoList.size()); bs.writeLog("allowanceInfoList_size : " + allowanceInfoList.size());
@ -188,13 +190,10 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
Map<String, String> allowanceInfoItem; Map<String, String> allowanceInfoItem;
//获取加班类型的考勤项目并构建项目id和核算单位映射关系 //获取加班类型的考勤项目并构建项目id和核算单位映射关系
Map<String, String> jbKqxmUnitInfo = collectKqxmUnitInfo(AttendanceItemTypeEnum.WORK_OVERTIME.getKey()); Map<String, String> jbKqxmUnitInfo = collectKqxmUnitInfo(AttendanceItemTypeEnum.WORK_OVERTIME.getKey());
bs.writeLog("jbKqxmUnitInfo : " + jbKqxmUnitInfo);
//获取津贴类型的考勤项目并构建项目id和核算单位映射关系 //获取津贴类型的考勤项目并构建项目id和核算单位映射关系
Map<String, String> jtKqxmUnitInfo = collectKqxmUnitInfo(AttendanceItemTypeEnum.ALLOWANCE.getKey()); Map<String, String> jtKqxmUnitInfo = collectKqxmUnitInfo(AttendanceItemTypeEnum.ALLOWANCE.getKey());
bs.writeLog("jtKqxmUnitInfo : " + jtKqxmUnitInfo);
//获取津贴类型的考勤项目并构建项目id和核算量映射关系 //获取津贴类型的考勤项目并构建项目id和核算量映射关系
Map<String, String> jtKqxmCountScaleInfo = collectKqxmCountScaleInfo(AttendanceItemTypeEnum.ALLOWANCE.getKey()); Map<String, String> jtKqxmCountScaleInfo = collectKqxmCountScaleInfo(AttendanceItemTypeEnum.ALLOWANCE.getKey());
bs.writeLog("jtKqxmCountScaleInfo : " + jtKqxmCountScaleInfo);
//遍历出勤结果 //遍历出勤结果
for (Map<String, Object> map : cqData) { for (Map<String, Object> map : cqData) {
String empId = map.get("ygid").toString(); String empId = map.get("ygid").toString();
@ -214,10 +213,8 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
} }
//收集下出勤结果中项目1-8存在的项目id //收集下出勤结果中项目1-8存在的项目id
List<String> kqxmIdsWithCq = collectKqxmIdsByCq(map); List<String> kqxmIdsWithCq = collectKqxmIdsByCq(map);
bs.writeLog("kqxmIdsWithCq : " + kqxmIdsWithCq);
//收集下出勤结果中进出时间,仅收集进出两个时间点都有的数据 //收集下出勤结果中进出时间,仅收集进出两个时间点都有的数据
List<Map<String, String>> jcInfoList = collectJcInfoByCq(map); List<Map<String, String>> jcInfoList = collectJcInfoByCq(map);
bs.writeLog("jcInfoList : " + jcInfoList);
//收集下出勤结果中项目1-8中累积的加班时长处理成分钟数 //收集下出勤结果中项目1-8中累积的加班时长处理成分钟数
Integer overtimeMinutes = collectOvertimeMinutes(map, jbKqxmUnitInfo); Integer overtimeMinutes = collectOvertimeMinutes(map, jbKqxmUnitInfo);
bs.writeLog("overtimeMinutes : " + overtimeMinutes); bs.writeLog("overtimeMinutes : " + overtimeMinutes);
@ -227,23 +224,25 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
double cqsc = Util.null2String(map.get("cqsc")).equals("") ? 0 : Double.parseDouble(map.get("cqsc").toString()); double cqsc = Util.null2String(map.get("cqsc")).equals("") ? 0 : Double.parseDouble(map.get("cqsc").toString());
//获取班次班段时间范围 //获取班次班段时间范围
List<Map<String, String>> bcTimeRangeList = collectBcTimeRangeInfo(Util.null2String(map.get("bcbdxx"))); List<Map<String, String>> bcTimeRangeList = collectBcTimeRangeInfo(Util.null2String(map.get("bcbdxx")));
bs.writeLog("bcTimeRangeList : " + bcTimeRangeList);
//遍历该出勤结果中班次、人员都关联的津贴项目 //遍历该出勤结果中班次、人员都关联的津贴项目
for(String allowanceId : allowanceIdsByBc) { for(String allowanceId : allowanceIdsByBc) {
Map<String, Object> allowanceInfo = allowanceIdWithKqxmInfo.get(allowanceId); Map<String, Object> allowanceInfo = allowanceIdWithKqxmInfo.get(allowanceId);
bs.writeLog("allowanceInfo : " + allowanceInfo);
//项目1-8中出现以下考勤项目时津贴失效 //项目1-8中出现以下考勤项目时津贴失效
String banKqxm = Util.null2String(allowanceInfo.get("bxsdxm")); String banKqxm = Util.null2String(allowanceInfo.get("bxsdxm"));
List<String> banKqxmList = new ArrayList<>(); List<String> banKqxmList = new ArrayList<>();
if (!banKqxm.equals("")) { if (!banKqxm.equals("")) {
banKqxmList = Arrays.asList(banKqxm.split(",")); banKqxmList = Arrays.asList(banKqxm.split(","));
} }
//出勤日期
String cqRq = Util.null2String(map.get("rq"));
//正常工作时长计入核算量_标识,0-否1-是 //正常工作时长计入核算量_标识,0-否1-是
String includeDailyWorkHours = Util.null2String(allowanceInfo.get("ljbcngzsj")); String includeDailyWorkHours = Util.null2String(allowanceInfo.get("ljbcngzsj"));
//检查特定时间点是否在岗_标识,0-否1-是 //检查特定时间点是否在岗_标识,0-否1-是
String checkOneTimeOnDuty = Util.null2String(allowanceInfo.get("xysjd")); String checkOneTimeOnDuty = Util.null2String(allowanceInfo.get("xysjd"));
//特定在岗时间点 //特定在岗时间点
String onDutyTime = Util.null2String(allowanceInfo.get("sjd")); String onDutyTime = Util.null2String(allowanceInfo.get("sjd"));
//判断特定在岗时间点指向日期
String onDutyDate = getOnDutyDate(bcTimeRangeList, onDutyTime, cqRq);
//时间点之前的时长也计入核算量_标识,0-否1-是 //时间点之前的时长也计入核算量_标识,0-否1-是
String includeHoursBeforeDutyTime = Util.null2String(allowanceInfo.get("jljxysjdzqdsc")); String includeHoursBeforeDutyTime = Util.null2String(allowanceInfo.get("jljxysjdzqdsc"));
//起算分钟数(不包含) //起算分钟数(不包含)
@ -267,8 +266,10 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
//2-如果勾选“检查特定时间点是否在岗”,则需要判断员工当天“须要在岗的时间点”所设置的时间员工是否在岗 //2-如果勾选“检查特定时间点是否在岗”,则需要判断员工当天“须要在岗的时间点”所设置的时间员工是否在岗
if (checkOneTimeOnDuty.equals("1") && !onDutyTime.equals("")) { if (checkOneTimeOnDuty.equals("1") && !onDutyTime.equals("")) {
boolean onDuty = false; boolean onDuty = false;
//将特殊在岗时间点拼接上日期
String onDutyTimeWithDate = onDutyDate + " " + onDutyTime;
for (Map<String, String> jcInfo : jcInfoList) { for (Map<String, String> jcInfo : jcInfoList) {
if (onDutyTime.compareTo(jcInfo.get("signIn")) >= 0 && onDutyTime.compareTo(jcInfo.get("signOut")) <= 0) { if (onDutyTimeWithDate.compareTo(jcInfo.get("signIn")) >= 0 && onDutyTimeWithDate.compareTo(jcInfo.get("signOut")) <= 0) {
onDuty = true; onDuty = true;
break; break;
} }
@ -289,7 +290,7 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
countMinutes = countMinutes + cqsc * 60; countMinutes = countMinutes + cqsc * 60;
} }
} else { } else {
countMinutes = getMinutesWithAfterPointTime(bcTimeRangeList, jcInfoList, overtimeMinutes, onDutyTime, includeDailyWorkHours); countMinutes = getMinutesWithAfterPointTime(cqRq, bcTimeRangeList, jcInfoList, overtimeMinutes, onDutyTimeWithDate, includeDailyWorkHours);
} }
} else { } else {
//未勾选“检查特定时间点是否在岗” //未勾选“检查特定时间点是否在岗”
@ -331,13 +332,13 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
allowanceInfoItem = new HashMap<>(); allowanceInfoItem = new HashMap<>();
allowanceInfoItem.put("szjg", Util.null2String(map.get("szjg"))); allowanceInfoItem.put("szjg", Util.null2String(map.get("szjg")));
allowanceInfoItem.put("yg", Util.null2String(map.get("ygid"))); allowanceInfoItem.put("yg", Util.null2String(map.get("ygid")));
allowanceInfoItem.put("rq", Util.null2String(map.get("rq"))); allowanceInfoItem.put("rq", cqRq);
allowanceInfoItem.put("bc", Util.null2String(map.get("bc"))); allowanceInfoItem.put("bc", Util.null2String(map.get("bc")));
allowanceInfoItem.put("jtlx", allowanceId); allowanceInfoItem.put("jtlx", allowanceId);
if (!allowanceUnit.equals(AccountingUnitEnum.ONCE.getKey())) { if (!allowanceUnit.equals(AccountingUnitEnum.ONCE.getKey())) {
allowanceInfoItem.put("sc", String.format("%.2f", sc)); allowanceInfoItem.put("sc", String.format("%.2f", sc));
} else { } else {
allowanceInfoItem.put("sc", "0"); allowanceInfoItem.put("sc", "1");
} }
allowanceInfoList.add(allowanceInfoItem); allowanceInfoList.add(allowanceInfoItem);
} }
@ -348,17 +349,49 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
return allowanceInfoList; return allowanceInfoList;
} }
/**
*
* @param bcTimeRangeList
* @param onDutyTime
* @param cqRq
* @return
*/
private String getOnDutyDate(List<Map<String, String>> bcTimeRangeList, String onDutyTime, String cqRq) {
boolean currentDateSign = false;
if (!onDutyTime.equals("")) {
for (Map<String, String> bcTime : bcTimeRangeList) {
if (currentDateSign) {
break;
}
if (onDutyTime.compareTo(bcTime.get("startTime")) >= 0) {
currentDateSign = true;
}
}
} else {
return cqRq;
}
if (currentDateSign) {
return cqRq;
} else {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 时间格式
LocalDate date = LocalDate.parse(cqRq, formatter); // 解析为LocalDate对象
LocalDate nextDay = date.plusDays(1); // 将日期加一天
return nextDay.format(formatter);
}
}
/** /**
* *
* *
* 1- * 1-
* 2- * 2-
* @param overtimeMinutes * @param overtimeMinutes
* @param onDutyTime * @param onDutyTimeWithDate
* @return * @return
*/ */
private double getMinutesWithAfterPointTime(List<Map<String, String>> bcTimeRangeList, List<Map<String, String>> jcInfoList, private double getMinutesWithAfterPointTime(String cqRq, List<Map<String, String>> bcTimeRangeList, List<Map<String, String>> jcInfoList,
Integer overtimeMinutes, String onDutyTime, String includeDailyWorkHours) { Integer overtimeMinutes, String onDutyTimeWithDate, String includeDailyWorkHours) {
double bcOnDutyMinutes = 0; double bcOnDutyMinutes = 0;
double realOverWorkMinutes = 0; double realOverWorkMinutes = 0;
if (includeDailyWorkHours.equals("1")) { if (includeDailyWorkHours.equals("1")) {
@ -369,8 +402,9 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
for (Map<String, String> bcTime : bcTimeRangeList) { for (Map<String, String> bcTime : bcTimeRangeList) {
String realStartTime = ""; String realStartTime = "";
String realEndTime = ""; String realEndTime = "";
String startTime = bcTime.get("startTime"); //给班次时间拼接下出勤日期
String endTime = bcTime.get("endTime"); String startTime = cqRq + " " + bcTime.get("startTime");
String endTime = cqRq + " " + bcTime.get("endTime");
for (Map<String, String> jcTime : jcInfoList) { for (Map<String, String> jcTime : jcInfoList) {
String signInTime = jcTime.get("signIn"); String signInTime = jcTime.get("signIn");
String signOutTime = jcTime.get("signOut"); String signOutTime = jcTime.get("signOut");
@ -400,19 +434,19 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
} }
//遍历获取班次班段时间内的累计时长(某一在岗时间点之后的时间) //遍历获取班次班段时间内的累计时长(某一在岗时间点之后的时间)
for (Map<String, String> bcRealTimeInfo : bcRealOnDutyTimeRange) { for (Map<String, String> bcRealTimeInfo : bcRealOnDutyTimeRange) {
if (onDutyTime.compareTo(bcRealTimeInfo.get("startTime")) <= 0) { if (onDutyTimeWithDate.compareTo(bcRealTimeInfo.get("startTime")) <= 0) {
bcOnDutyMinutes = bcOnDutyMinutes + getMinutesByTwo(bcRealTimeInfo.get("startTime"), bcRealTimeInfo.get("endTime")); bcOnDutyMinutes = bcOnDutyMinutes + getMinutesByTwo(bcRealTimeInfo.get("startTime"), bcRealTimeInfo.get("endTime"));
} else if (onDutyTime.compareTo(bcRealTimeInfo.get("startTime")) >= 0 && onDutyTime.compareTo(bcRealTimeInfo.get("endTime")) <= 0) { } else if (onDutyTimeWithDate.compareTo(bcRealTimeInfo.get("startTime")) >= 0 && onDutyTimeWithDate.compareTo(bcRealTimeInfo.get("endTime")) <= 0) {
bcOnDutyMinutes = bcOnDutyMinutes + getMinutesByTwo(onDutyTime, bcRealTimeInfo.get("endTime")); bcOnDutyMinutes = bcOnDutyMinutes + getMinutesByTwo(onDutyTimeWithDate, bcRealTimeInfo.get("endTime"));
} }
} }
} }
//判断在岗时间点和加班时间区间的关系,即进出打卡记录是否与在岗时间点有包含关系,分情况累计时间 //判断在岗时间点和加班时间区间的关系,即进出打卡记录是否与在岗时间点有包含关系,分情况累计时间
for (Map<String, String> jcInfo : jcInfoList) { for (Map<String, String> jcInfo : jcInfoList) {
if (onDutyTime.compareTo(jcInfo.get("signIn")) <= 0) { if (onDutyTimeWithDate.compareTo(jcInfo.get("signIn")) <= 0) {
realOverWorkMinutes = realOverWorkMinutes + getMinutesByTwo(jcInfo.get("signIn"), jcInfo.get("signOut")); realOverWorkMinutes = realOverWorkMinutes + getMinutesByTwo(jcInfo.get("signIn"), jcInfo.get("signOut"));
} else if (onDutyTime.compareTo(jcInfo.get("signIn")) >= 0 && onDutyTime.compareTo(jcInfo.get("signOut")) <= 0) { } else if (onDutyTimeWithDate.compareTo(jcInfo.get("signIn")) >= 0 && onDutyTimeWithDate.compareTo(jcInfo.get("signOut")) <= 0) {
realOverWorkMinutes = realOverWorkMinutes + getMinutesByTwo(onDutyTime, jcInfo.get("signOut")); realOverWorkMinutes = realOverWorkMinutes + getMinutesByTwo(onDutyTimeWithDate, jcInfo.get("signOut"));
} }
} }
//实际加班时长累计的核算分钟数不可以超过项目1-8累计的加班时长分钟数 //实际加班时长累计的核算分钟数不可以超过项目1-8累计的加班时长分钟数
@ -423,12 +457,31 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
} }
private double getMinutesByTwo(String startTime, String endTime) { private double getMinutesByTwo(String startTime, String endTime) {
LocalTime time1 = LocalTime.of(Integer.parseInt(startTime.split(":")[0]), Integer.parseInt(startTime.split(":")[1])); List<String> startInfoList = Arrays.asList(startTime.split("\\s+|-|:"));
LocalTime time2 = LocalTime.of(Integer.parseInt(endTime.split(":")[0]), Integer.parseInt(endTime.split(":")[1])); List<String> endInfoList = Arrays.asList(endTime.split("\\s+|-|:"));
Duration duration = Duration.between(time1, time2);
LocalDateTime dateTime1 = LocalDateTime.of(Integer.parseInt(startInfoList.get(0)),
Integer.parseInt(replaceFirstChar(startInfoList.get(1),"0", "")),
Integer.parseInt(replaceFirstChar(startInfoList.get(2),"0", "")),
Integer.parseInt(replaceFirstChar(startInfoList.get(3),"0", "")),
Integer.parseInt(replaceFirstChar(startInfoList.get(4),"0", "")));
LocalDateTime dateTime2 = LocalDateTime.of(Integer.parseInt(endInfoList.get(0)),
Integer.parseInt(replaceFirstChar(endInfoList.get(1),"0", "")),
Integer.parseInt(replaceFirstChar(endInfoList.get(2),"0", "")),
Integer.parseInt(replaceFirstChar(endInfoList.get(3),"0", "")),
Integer.parseInt(replaceFirstChar(endInfoList.get(4),"0", "")));
Duration duration = Duration.between(dateTime1, dateTime2);
// 获取分钟数 // 获取分钟数
return duration.toMinutes(); return duration.toMinutes();
} }
public static String replaceFirstChar(String original, String target, String replacement) {
int index = original.indexOf(target);
if (index == -1) {
return original; // 如果没有找到目标字符,返回原字符串
}
return original.substring(0, index) + replacement + original.substring(index + 1);
}
private List<Map<String, String>> collectBcTimeRangeInfo(String bcbdxx) { private List<Map<String, String>> collectBcTimeRangeInfo(String bcbdxx) {
List<Map<String, String>> timeRangeInfo = new ArrayList<>(); List<Map<String, String>> timeRangeInfo = new ArrayList<>();
@ -489,140 +542,36 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
private List<Map<String, String>> collectJcInfoByCq(Map<String, Object> cqMap) { private List<Map<String, String>> collectJcInfoByCq(Map<String, Object> cqMap) {
List<Map<String, String>> jcInfoList = new ArrayList<>(); List<Map<String, String>> jcInfoList = new ArrayList<>();
String j1 = Util.null2String(cqMap.get("j1")); String singIn = "";
String j2 = Util.null2String(cqMap.get("j2")); String signOut = "";
String j3 = Util.null2String(cqMap.get("j3"));
String j4 = Util.null2String(cqMap.get("j4"));
String j5 = Util.null2String(cqMap.get("j5"));
String j6 = Util.null2String(cqMap.get("j6"));
String j7 = Util.null2String(cqMap.get("j7"));
String j8 = Util.null2String(cqMap.get("j8"));
String c1 = Util.null2String(cqMap.get("c1"));
String c2 = Util.null2String(cqMap.get("c2"));
String c3 = Util.null2String(cqMap.get("c3"));
String c4 = Util.null2String(cqMap.get("c4"));
String c5 = Util.null2String(cqMap.get("c5"));
String c6 = Util.null2String(cqMap.get("c6"));
String c7 = Util.null2String(cqMap.get("c7"));
String c8 = Util.null2String(cqMap.get("c8"));
Map<String, String> itemMap; Map<String, String> itemMap;
if (!j1.equals("") && !c1.equals("")) { for (int i = 1; i <= 8; i++) {
itemMap = new HashMap<>(); singIn = Util.null2String(cqMap.get("j" + i));
itemMap.put("signIn", j1.substring(0, 5)); signOut = Util.null2String(cqMap.get("c" + i));
itemMap.put("signOut", c1.substring(0, 5)); if (!singIn.equals("") && !signOut.equals("")) {
jcInfoList.add(itemMap); itemMap = new HashMap<>();
} else { itemMap.put("signIn", singIn.substring(0, 16));
return jcInfoList; itemMap.put("signOut", signOut.substring(0, 16));
} jcInfoList.add(itemMap);
if (!j2.equals("") && !c2.equals("")) { } else if (singIn.equals("") && signOut.equals("")){
itemMap = new HashMap<>(); break;
itemMap.put("signIn", j2.substring(0, 5)); }
itemMap.put("signOut", c2.substring(0, 5));
jcInfoList.add(itemMap);
} else {
return jcInfoList;
}
if (!j3.equals("") && !c3.equals("")) {
itemMap = new HashMap<>();
itemMap.put("signIn", j3.substring(0, 5));
itemMap.put("signOut", c3.substring(0, 5));
jcInfoList.add(itemMap);
} else {
return jcInfoList;
}
if (!j4.equals("") && !c4.equals("")) {
itemMap = new HashMap<>();
itemMap.put("signIn", j4.substring(0, 5));
itemMap.put("signOut", c4.substring(0, 5));
jcInfoList.add(itemMap);
} else {
return jcInfoList;
}
if (!j5.equals("") && !c5.equals("")) {
itemMap = new HashMap<>();
itemMap.put("signIn", j5.substring(0, 5));
itemMap.put("signOut", c5.substring(0, 5));
jcInfoList.add(itemMap);
} else {
return jcInfoList;
}
if (!j6.equals("") && !c6.equals("")) {
itemMap = new HashMap<>();
itemMap.put("signIn", j6.substring(0, 5));
itemMap.put("signOut", c6.substring(0, 5));
jcInfoList.add(itemMap);
} else {
return jcInfoList;
}
if (!j7.equals("") && !c7.equals("")) {
itemMap = new HashMap<>();
itemMap.put("signIn", j7.substring(0, 5));
itemMap.put("signOut", c7.substring(0, 5));
jcInfoList.add(itemMap);
} else {
return jcInfoList;
}
if (!j8.equals("") && !c8.equals("")) {
itemMap = new HashMap<>();
itemMap.put("signIn", j8.substring(0, 5));
itemMap.put("signOut", c8.substring(0, 5));
jcInfoList.add(itemMap);
} else {
return jcInfoList;
} }
return jcInfoList; return jcInfoList;
} }
private List<String> collectKqxmIdsByCq(Map<String, Object> cqMap) { private List<String> collectKqxmIdsByCq(Map<String, Object> cqMap) {
List<String> kqxmIdsWithCq = new ArrayList<>(); List<String> kqxmIdsWithCq = new ArrayList<>();
String xm1 = Util.null2String(cqMap.get("xm1")); String xmId = "";
String xm2 = Util.null2String(cqMap.get("xm2")); for (int i = 1; i <= 8; i++) {
String xm3 = Util.null2String(cqMap.get("xm3")); xmId = Util.null2String(cqMap.get("xm" + i));
String xm4 = Util.null2String(cqMap.get("xm4")); if (!xmId.equals("")) {
String xm5 = Util.null2String(cqMap.get("xm5")); kqxmIdsWithCq.add(xmId);
String xm6 = Util.null2String(cqMap.get("xm6")); } else {
String xm7 = Util.null2String(cqMap.get("xm7")); break;
String xm8 = Util.null2String(cqMap.get("xm8")); }
if (!xm1.equals("")) {
kqxmIdsWithCq.add(xm1);
} else {
return kqxmIdsWithCq;
}
if (!xm2.equals("")) {
kqxmIdsWithCq.add(xm2);
} else {
return kqxmIdsWithCq;
}
if (!xm3.equals("")) {
kqxmIdsWithCq.add(xm3);
} else {
return kqxmIdsWithCq;
}
if (!xm4.equals("")) {
kqxmIdsWithCq.add(xm4);
} else {
return kqxmIdsWithCq;
}
if (!xm5.equals("")) {
kqxmIdsWithCq.add(xm5);
} else {
return kqxmIdsWithCq;
}
if (!xm6.equals("")) {
kqxmIdsWithCq.add(xm6);
} else {
return kqxmIdsWithCq;
}
if (!xm7.equals("")) {
kqxmIdsWithCq.add(xm7);
} else {
return kqxmIdsWithCq;
}
if (!xm8.equals("")) {
kqxmIdsWithCq.add(xm8);
} else {
return kqxmIdsWithCq;
} }
return kqxmIdsWithCq; return kqxmIdsWithCq;
} }
} }

Loading…
Cancel
Save