diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/AllowanceConfirmAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/AllowanceConfirmAction.java index 0e1188c..3d9f659 100644 --- a/src/com/engine/jucailinkq/attendance/workflow/action/AllowanceConfirmAction.java +++ b/src/com/engine/jucailinkq/attendance/workflow/action/AllowanceConfirmAction.java @@ -1,5 +1,6 @@ package com.engine.jucailinkq.attendance.workflow.action; +import com.engine.jucailinkq.common.util.CommonUtil; import com.engine.jucailinkq.common.util.DbTools; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -13,6 +14,7 @@ import weaver.soa.workflow.request.Row; import java.io.PrintWriter; import java.io.StringWriter; import java.util.*; +import java.util.stream.Collectors; /** * @Author: sy @@ -28,14 +30,10 @@ public class AllowanceConfirmAction implements Action { String requestid = requestInfo.getRequestid(); try { -// Property[] property = requestInfo.getMainTableInfo().getProperty(); -// User user = requestInfo.getRequestManager().getUser(); -// for (Property pro : property) { -// String name = Util.null2String(pro.getName()); -// if(name.equals("cxsm")){ -// -// } -// } + // 流程表单主表数据 + HashMap mainTableData = CommonUtil.getMainTableInfo(requestInfo); + String qrr = mainTableData.get("xjr"); + List jtIdList = new ArrayList<>(); DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable(); log.debug("AllowanceConfirmAction detailTable : [{}], length : {}", Arrays.toString(detailTable), detailTable.length); @@ -57,10 +55,14 @@ public class AllowanceConfirmAction implements Action { } if ("jtid".equals(name)) { itemMap.put("jtid", Util.null2String(c.getValue())); + jtIdList.add(Util.null2String(c.getValue())); } if ("sm".equals(name)) { itemMap.put("sm", Util.null2String(c.getValue())); } + if ("rq".equals(name)) { + itemMap.put("rq", Util.null2String(c.getValue())); + } } log.debug("AllowanceConfirmAction itemMap : [{}]",itemMap); updateList.add(itemMap); @@ -68,6 +70,13 @@ public class AllowanceConfirmAction implements Action { } } log.debug("AllowanceConfirmAction updateList : [{}]",updateList); + + //遍历比较哪些津贴数据的状态改变了,并将状态发生改变的津贴数据认定为要更新出勤结果数据状态的津贴数据 + String jtSql = "select id, zt from uf_jcl_kq_cqjt where id in (" + String.join(",", jtIdList) + ")"; + List> jtDataList = DbTools.getSqlToList(jtSql); + Map jtStatusMap = jtDataList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")), e->Util.null2String(e.get("zt")))); + List> empDateList = new ArrayList<>(); + if (updateList.size() > 0) { updateList.forEach(f -> { if (StringUtils.isNotBlank(f.get("jtid"))) { @@ -75,8 +84,24 @@ public class AllowanceConfirmAction implements Action { log.debug("AllowanceConfirmAction sql : [{}]",sql); DbTools.update(sql, Util.null2String(f.get("zt")), Util.null2String(f.get("sm")), f.get("jtid")); log.debug("AllowanceConfirmAction zt : {}, bz : {}, jtid : {}",Util.null2String(f.get("zt")), Util.null2String(f.get("sm")), f.get("jtid")); + //收集需要更改出勤结果数据状态的人员、日期信息 + if (!jtStatusMap.getOrDefault(f.get("jtid"), "").equals(Util.null2String(f.get("zt")))) { + Map empDateItem = new HashMap<>(); + empDateItem.put("empId", qrr); + empDateItem.put("cqDate", Util.null2String(f.get("rq"))); + empDateList.add(empDateItem); + } } }); + //更新出勤结果中的数据状态 + String sjztUpdateResult = CommonUtil.updateAttendanceResultInfoStatus(empDateList, "0"); + if (!"".equals(sjztUpdateResult)) { + log.error("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + return Action.FAILURE_AND_CONTINUE; + } + } } catch (Exception e) { diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/EvectionArchivingAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/EvectionArchivingAction.java new file mode 100644 index 0000000..f10df4a --- /dev/null +++ b/src/com/engine/jucailinkq/attendance/workflow/action/EvectionArchivingAction.java @@ -0,0 +1,67 @@ +package com.engine.jucailinkq.attendance.workflow.action; + +import com.engine.common.util.ServiceUtil; +import com.engine.jucailinkq.attendance.workflow.service.MakeUpClockInService; +import com.engine.jucailinkq.attendance.workflow.service.impl.MakeUpClockInServiceImpl; +import com.engine.jucailinkq.common.util.CommonUtil; +import com.engine.jucailinkq.common.util.DateUtil; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; +import weaver.interfaces.workflow.action.Action; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 出差流程归档action + */ +@Slf4j +public class EvectionArchivingAction implements Action { + + + @Override + public String execute(RequestInfo requestInfo) { + String requestid = requestInfo.getRequestid(); + // 流程表单主表数据 + HashMap mainTableData = CommonUtil.getMainTableInfo(requestInfo); + // 流程表单明细表数据 + List> detailTableData = CommonUtil.getDetailTableInfo(requestInfo,0); + //出差人员 + String ccr = mainTableData.get("ccr"); + try { + //记录需要更改出勤结果数据状态的人员、日期信息 + List> empDateList = new ArrayList<>(); + Map empDateItem; + List dateList = new ArrayList<>(); + //遍历明细表1 + for (Map data : detailTableData) { + dateList = DateUtil.getDatesBetween(data.get("ksrq"), "".equals(Util.null2String(data.get("jsrq"))) ? data.get("ksrq") : data.get("jsrq")); + for (String date : dateList) { + //收集需要更改出勤结果数据状态的人员、日期信息 + empDateItem = new HashMap<>(); + empDateItem.put("empId", data.getOrDefault("ccr", ccr)); + empDateItem.put("cqDate", date); + empDateList.add(empDateItem); + } + } + //更新出勤结果中的数据状态 + String sjztUpdateResult = CommonUtil.updateAttendanceResultInfoStatus(empDateList, "0"); + if (!"".equals(sjztUpdateResult)) { + log.error("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + return Action.FAILURE_AND_CONTINUE; + } + + }catch (Exception e){ + log.error("EvectionArchivingAction error : [{}]",e); + return Action.FAILURE_AND_CONTINUE; + } + return Action.SUCCESS; + } +} diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/MakeUpClockArchivingAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/MakeUpClockArchivingAction.java new file mode 100644 index 0000000..a8b6827 --- /dev/null +++ b/src/com/engine/jucailinkq/attendance/workflow/action/MakeUpClockArchivingAction.java @@ -0,0 +1,55 @@ +package com.engine.jucailinkq.attendance.workflow.action; + +import com.engine.jucailinkq.common.util.CommonUtil; +import com.engine.jucailinkq.common.util.DateUtil; +import com.engine.jucailinkq.common.util.Utils; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import weaver.conn.RecordSet; +import weaver.interfaces.workflow.action.Action; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.*; + +/** + * 补打卡流程归档action + */ +@Slf4j +public class MakeUpClockArchivingAction implements Action { + + @Override + public String execute(RequestInfo requestInfo) { + log.debug("**********MakeUpClockArchivingAction import data start**********"); + // 流程表单主表数据 + HashMap mainTableData = CommonUtil.getMainTableInfo(requestInfo); + // 流程表单明细表数据 + List> detailTableData = CommonUtil.getDetailTableInfo(requestInfo,0); + log.info("detailTableData : [{}]", detailTableData); + //补打卡人员 + String userId = mainTableData.get("bdkry"); + + List lists = Lists.newArrayList(); + //记录需要更改出勤结果数据状态的人员、日期信息 + List> empDateList = new ArrayList<>(); + Map empDateItem; + for (Map detailTable:detailTableData){ + //收集需要更改出勤结果数据状态的人员、日期信息 + empDateItem = new HashMap<>(); + empDateItem.put("empId", detailTable.get("bdkr")); + empDateItem.put("cqDate", detailTable.get("bdkrq")); + empDateList.add(empDateItem); + } + + //更新出勤结果中的数据状态 + String sjztUpdateResult = CommonUtil.updateAttendanceResultInfoStatus(empDateList, "0"); + if (!"".equals(sjztUpdateResult)) { + log.error("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + return Action.FAILURE_AND_CONTINUE; + } + log.debug("**********MakeUpClockArchivingAction import data end**********"); + + return Action.SUCCESS; + } +} diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanArchivingAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanArchivingAction.java new file mode 100644 index 0000000..36cec6c --- /dev/null +++ b/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanArchivingAction.java @@ -0,0 +1,65 @@ +package com.engine.jucailinkq.attendance.workflow.action; + +import com.engine.common.util.ServiceUtil; +import com.engine.jucailinkq.attendance.workflow.service.MakeUpClockInService; +import com.engine.jucailinkq.attendance.workflow.service.impl.MakeUpClockInServiceImpl; +import com.engine.jucailinkq.common.util.CommonUtil; +import com.engine.jucailinkq.common.util.DateUtil; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; +import weaver.interfaces.workflow.action.Action; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 加班计划流程归档action + * @author sy + */ +@Slf4j +public class OvertimePlanArchivingAction implements Action { + + @Override + public String execute(RequestInfo requestInfo) { + String requestid = requestInfo.getRequestid(); + // 流程表单主表数据 + HashMap mainTableData = CommonUtil.getMainTableInfo(requestInfo); + // 流程表单明细表数据 + List> detailTableData = CommonUtil.getDetailTableInfo(requestInfo,0); + //加班人员 + String jbry = mainTableData.get("jbry"); + try { + + //记录需要更改出勤结果数据状态的人员、日期信息 + List> empDateList = new ArrayList<>(); + Map empDateItem; + List dateList = new ArrayList<>(); + //遍历明细表1 + for (Map data : detailTableData) { + //收集需要更改出勤结果数据状态的人员、日期信息 + empDateItem = new HashMap<>(); + empDateItem.put("empId", data.getOrDefault("jbry", jbry)); + empDateItem.put("cqDate", data.get("gsrq")); + empDateList.add(empDateItem); + } + //更新出勤结果中的数据状态 + String sjztUpdateResult = CommonUtil.updateAttendanceResultInfoStatus(empDateList, "0"); + if (!"".equals(sjztUpdateResult)) { + log.error("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + return Action.FAILURE_AND_CONTINUE; + } + + }catch (Exception e){ + log.error("OvertimePlanArchivingAction error : [{}]",e); + return Action.FAILURE_AND_CONTINUE; + } + return Action.SUCCESS; + } +} diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java index c225759..847c79e 100644 --- a/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java +++ b/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java @@ -34,7 +34,7 @@ public class OvertimePlanCheckAction implements Action { //加班人员 String jbry = mainTableData.get("jbry"); try { - Map>> detailGroupMap = detailTableData.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("bdkr")))); + Map>> detailGroupMap = detailTableData.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("jbry")))); for (Map.Entry>> tableEntry :detailGroupMap.entrySet()){ List> detailGroupByUserList = tableEntry.getValue(); diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java index e687aa6..d2f3af2 100644 --- a/src/com/engine/jucailinkq/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java +++ b/src/com/engine/jucailinkq/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java @@ -4,6 +4,7 @@ import com.engine.jucailinkq.attendance.enums.AccountingUnitEnum; import com.engine.jucailinkq.attendance.workflow.service.MakeUpClockInService; import com.engine.jucailinkq.attendance.workflow.service.impl.MakeUpClockInServiceImpl; import com.engine.jucailinkq.common.util.CommonUtil; +import com.engine.jucailinkq.common.util.DateUtil; import com.engine.jucailinkq.common.util.DbTools; import com.engine.common.util.ServiceUtil; import lombok.extern.slf4j.Slf4j; @@ -37,6 +38,7 @@ public class RevokeEliminationsAskForLeaveAction implements Action { // 流程表单主表数据 HashMap mainTableData = CommonUtil.getMainTableInfo(requestInfo); String qjlx = mainTableData.get("qjlx"); + String xjr = mainTableData.get("xjr"); String queryItemsql = "select hsdw,hsl from uf_jcl_kq_kqxm where id=?"; Map holidayItem = DbTools.getSqlToMap(queryItemsql, qjlx); @@ -44,6 +46,10 @@ public class RevokeEliminationsAskForLeaveAction implements Action { DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable(); log.debug("RevokeLeaveAction detailTable : [{}], length : {}", Arrays.toString(detailTable), detailTable.length); List> updateList = new ArrayList<>(); + //记录需要更改出勤结果数据状态的人员、日期信息 + List> empDateList = new ArrayList<>(); + Map empDateItem; + List dateList = new ArrayList<>(); if (detailTable.length > 0) { for (DetailTable dt : detailTable) { //明细表 @@ -65,10 +71,25 @@ public class RevokeEliminationsAskForLeaveAction implements Action { if ("cx".equals(name)) { itemMap.put("cx", Util.null2String(c.getValue())); } + if ("ksrq".equals(name)) { + itemMap.put("ksrq", Util.null2String(c.getValue())); + } + if ("jsrq".equals(name)) { + itemMap.put("jsrq", Util.null2String(c.getValue())); + } } log.debug("RevokeEliminationsAskForLeaveAction itemMap : [{}]",itemMap); if (Util.null2String(itemMap.get("cx")).equals("1")) { updateList.add(itemMap); + + dateList = DateUtil.getDatesBetween(itemMap.get("ksrq"), "".equals(Util.null2String(itemMap.get("jsrq"))) ? itemMap.get("ksrq") : itemMap.get("jsrq")); + for (String date : dateList) { + //收集需要更改出勤结果数据状态的人员、日期信息 + empDateItem = new HashMap<>(); + empDateItem.put("empId", xjr); + empDateItem.put("cqDate", date); + empDateList.add(empDateItem); + } } } } @@ -84,6 +105,15 @@ public class RevokeEliminationsAskForLeaveAction implements Action { updateHoliday(f.get("cxlyid"),holidayItem.get("hsdw").toString()); } }); + + //更新出勤结果中的数据状态 + String sjztUpdateResult = CommonUtil.updateAttendanceResultInfoStatus(empDateList, "0"); + if (!"".equals(sjztUpdateResult)) { + log.error("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + return Action.FAILURE_AND_CONTINUE; + } } } catch (Exception e) { diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/RevokeLeaveAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/RevokeLeaveAction.java index b7a1421..30f3ee6 100644 --- a/src/com/engine/jucailinkq/attendance/workflow/action/RevokeLeaveAction.java +++ b/src/com/engine/jucailinkq/attendance/workflow/action/RevokeLeaveAction.java @@ -1,5 +1,7 @@ package com.engine.jucailinkq.attendance.workflow.action; +import com.engine.jucailinkq.common.util.CommonUtil; +import com.engine.jucailinkq.common.util.DateUtil; import com.engine.jucailinkq.common.util.DbTools; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -25,18 +27,17 @@ public class RevokeLeaveAction implements Action { String requestid = requestInfo.getRequestid(); try { -// Property[] property = requestInfo.getMainTableInfo().getProperty(); -// User user = requestInfo.getRequestManager().getUser(); -// for (Property pro : property) { -// String name = Util.null2String(pro.getName()); -// if(name.equals("cxsm")){ -// -// } -// } + // 流程表单主表数据 + HashMap mainTableData = CommonUtil.getMainTableInfo(requestInfo); + String xcr = mainTableData.get("xjr"); DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable(); log.debug("RevokeLeaveAction detailTable : [{}], length : {}", Arrays.toString(detailTable), detailTable.length); List> updateList = new ArrayList<>(); + //记录需要更改出勤结果数据状态的人员、日期信息 + List> empDateList = new ArrayList<>(); + Map empDateItem; + List dateList = new ArrayList<>(); if (detailTable.length > 0) { for (DetailTable dt : detailTable) { //明细表 @@ -58,10 +59,25 @@ public class RevokeLeaveAction implements Action { if ("cx".equals(name)) { itemMap.put("cx", Util.null2String(c.getValue())); } + if ("ksrq".equals(name)) { + itemMap.put("ksrq", Util.null2String(c.getValue())); + } + if ("jsrq".equals(name)) { + itemMap.put("jsrq", Util.null2String(c.getValue())); + } } log.debug("RevokeLeaveAction itemMap : [{}]",itemMap); if (Util.null2String(itemMap.get("cx")).equals("1")) { updateList.add(itemMap); + + dateList = DateUtil.getDatesBetween(itemMap.get("ksrq"), "".equals(Util.null2String(itemMap.get("jsrq"))) ? itemMap.get("ksrq") : itemMap.get("jsrq")); + for (String date : dateList) { + //收集需要更改出勤结果数据状态的人员、日期信息 + empDateItem = new HashMap<>(); + empDateItem.put("empId", xcr); + empDateItem.put("cqDate", date); + empDateList.add(empDateItem); + } } } } @@ -76,6 +92,15 @@ public class RevokeLeaveAction implements Action { log.debug("RevokeLeaveAction cxsm : {}, requestid : {}, cxlyid : {}",Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid")); } }); + + //更新出勤结果中的数据状态 + String sjztUpdateResult = CommonUtil.updateAttendanceResultInfoStatus(empDateList, "0"); + if (!"".equals(sjztUpdateResult)) { + log.error("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + return Action.FAILURE_AND_CONTINUE; + } } } catch (Exception e) { diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.java index 90059d3..a7af270 100644 --- a/src/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.java +++ b/src/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.java @@ -1,6 +1,7 @@ package com.engine.jucailinkq.attendance.workflow.action.askforleave; import com.engine.jucailinkq.common.util.CommonUtil; +import com.engine.jucailinkq.common.util.DateUtil; import com.engine.jucailinkq.common.util.DbTools; import com.engine.jucailinkq.common.util.Utils; import com.google.common.collect.Maps; @@ -9,6 +10,7 @@ import weaver.general.Util; import weaver.interfaces.workflow.action.Action; import weaver.soa.workflow.request.RequestInfo; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -78,6 +80,30 @@ public class BatchAskForLeaveWorkFlowArchivingAction implements Action { } } + //记录需要更改出勤结果数据状态的人员、日期信息 + List> empDateList = new ArrayList<>(); + Map empDateItem; + List dateList = new ArrayList<>(); + //遍历明细表1 + for (Map data : detailTableData) { + dateList = DateUtil.getDatesBetween(data.get("ksrq"), data.get("jsrq")); + for (String date : dateList) { + //收集需要更改出勤结果数据状态的人员、日期信息 + empDateItem = new HashMap<>(); + empDateItem.put("empId", data.get("qjr")); + empDateItem.put("cqDate", date); + empDateList.add(empDateItem); + } + } + //更新出勤结果中的数据状态 + String sjztUpdateResult = CommonUtil.updateAttendanceResultInfoStatus(empDateList, "0"); + if (!"".equals(sjztUpdateResult)) { + log.error("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); + requestInfo.getRequestManager().setMessagecontent("更新出勤结果中的数据状态失败:" + sjztUpdateResult); + return Action.FAILURE_AND_CONTINUE; + } + }catch (Exception e){ log.error("BatchAskForLeaveWorkFlowArchivingAction error : [{}]",e); return Action.FAILURE_AND_CONTINUE; diff --git a/src/com/engine/jucailinkq/common/util/CommonUtil.java b/src/com/engine/jucailinkq/common/util/CommonUtil.java index 9732390..0ba46e1 100644 --- a/src/com/engine/jucailinkq/common/util/CommonUtil.java +++ b/src/com/engine/jucailinkq/common/util/CommonUtil.java @@ -926,4 +926,29 @@ public class CommonUtil { return attendanceItems; } + /** + * 批量更新出勤结果的数据状态 + * @param empDateList 人员id和对应日期信息集合 + * @param status 要更新到的状态值 + * @return + */ + public static String updateAttendanceResultInfoStatus(List> empDateList, String status) { + String errorMessage = ""; + + List empIdList = empDateList.stream().filter(f-> !"".equals(Util.null2String(f.get("empId")))).map(f->f.get("empId")).collect(Collectors.toList()); + Map empNameInfo = empIdToNameInfo(empIdList); + String empId = ""; + String cqDate = ""; + String sql = "update uf_jcl_kq_cqjg set sjzt = ? where ygid = ? and rq = ?"; + for (Map empDateInfo : empDateList) { + empId = Util.null2String(empDateInfo.get("empId")); + cqDate = Util.null2String(empDateInfo.get("cqDate")); + if (!"".equals(empId) && !"".equals(cqDate)) { + if (!DbTools.update(sql, status, empId, cqDate)) { + errorMessage = errorMessage + empNameInfo.getOrDefault(empId, empId) + "," + cqDate + "出勤结果数据状态更新失败;"; + } + } + } + return errorMessage; + } }