package com.engine.salary.remote.attend.service.impl; import com.alibaba.fastjson.JSONObject; import com.engine.core.impl.Service; import com.engine.salary.mapper.attend.AttendDataMapper; import com.engine.salary.remote.attend.cmd.GetKQReportCmd; import com.engine.salary.remote.attend.entity.Attend4Salary; import com.engine.salary.remote.attend.service.RemoteAttend4SalaryService; import com.engine.salary.util.db.MapperProxyFactory; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import java.util.*; public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAttend4SalaryService { private AttendDataMapper getAttendDataMapper() { return MapperProxyFactory.getProxy(AttendDataMapper.class); } @Override public List> getColumns() { Map paramsMap = new HashMap(); paramsMap.put("pageIndex", 1); paramsMap.put("pageSize", 10); paramsMap.put("typeselect", "6"); // paramsMap.put("fromDate","2021-01-01"); // paramsMap.put("toDate","2023-01-01"); paramsMap.put("viewScope", "3"); // paramsMap.put("resourceId","22"); paramsMap.put("isNoAccount", "1"); paramsMap.put("attendanceSerial", ""); paramsMap.put("isFromMyAttendance", "1"); Map temp = new HashMap(); temp.put("data", JSONObject.toJSONString(paramsMap)); temp.put("reportType", "month"); List datas = (List) commandExecutor.execute(new GetKQReportCmd(temp, user)).get("columns"); List> columns = new ArrayList<>(); datas.stream().filter(column -> Objects.nonNull(column.get("dataIndex"))).forEach(column -> { String dataIndex = column.get("dataIndex").toString(); //请假 if (dataIndex.equals("leave") && column.get("children") != null) { List list = (List) column.get("children"); if (CollectionUtils.isNotEmpty(list)) { list.stream() .filter(leave -> leave.get("dataIndex") != null && StringUtils.isNotBlank(leave.get("dataIndex").toString())) .forEach(leave -> { Map map = Maps.newHashMapWithExpectedSize(2); map.put("code", leave.get("dataIndex").toString()); map.put("name", leave.get("title") + "(" + leave.get("unit").toString() + ")"); columns.add(map); }); } } //加班 else if (dataIndex.equals("overtime")) { } //普通考勤 else { if (column.get("unit") != null && StringUtils.isNotBlank(column.get("unit").toString())) { Map map = Maps.newHashMapWithExpectedSize(2); map.put("code", dataIndex); map.put("name", column.get("title") + "(" + column.get("unit").toString() + ")"); columns.add(map); } } }); return columns; } @Override public List> getDatas(Attend4Salary attend4Salary) { // List onlyEmpIds = attend4Salary.getOnlyEmpIds(); // List> attendData = getAttendDataMapper().getAttendData(); // // return attendData; Map paramsMap = new HashMap(); paramsMap.put("pageIndex", 1); paramsMap.put("pageSize", 10); paramsMap.put("typeselect", "6"); paramsMap.put("fromDate", "2021-01-01"); paramsMap.put("toDate", "2023-01-01"); paramsMap.put("viewScope", "3"); paramsMap.put("resourceId", "22"); paramsMap.put("isNoAccount", "1"); paramsMap.put("attendanceSerial", ""); paramsMap.put("isFromMyAttendance", "1"); Map temp = new HashMap(); temp.put("data", JSONObject.toJSONString(paramsMap)); temp.put("reportType", "month"); Object datas = commandExecutor.execute(new GetKQReportCmd(temp, user)).get("datas"); System.out.println(datas); return null; } }