main
parent
e52ecaeecb
commit
573d28693d
@ -0,0 +1,17 @@
|
|||||||
|
package com.api.jucailinkq.attendance.workflow;
|
||||||
|
|
||||||
|
import com.engine.jucailinkq.attendance.workflow.web.MakeUpClockInAction;
|
||||||
|
import com.engine.jucailinkq.attendance.workflow.web.OvertimePlanApi;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liuliang
|
||||||
|
* @Description: 加班计划流程
|
||||||
|
* @Date: 2025/03/05
|
||||||
|
**/
|
||||||
|
@Path("/attendance/makeupclock")
|
||||||
|
@Slf4j
|
||||||
|
public class MakeUpClockActionApi extends MakeUpClockInAction {
|
||||||
|
}
|
@ -0,0 +1,88 @@
|
|||||||
|
package com.engine.jucailinkq.attendance.workflow.cmd;
|
||||||
|
|
||||||
|
import com.engine.common.biz.AbstractCommonCommand;
|
||||||
|
import com.engine.common.entity.BizLogContext;
|
||||||
|
import com.engine.common.util.ServiceUtil;
|
||||||
|
import com.engine.core.interceptor.CommandContext;
|
||||||
|
import com.engine.jucailinkq.attendance.attendanceanalysis.service.UtilService;
|
||||||
|
import com.engine.jucailinkq.attendance.attendanceanalysis.service.impl.UtilServiceImpl;
|
||||||
|
import com.engine.jucailinkq.attendance.enums.CheckBoxEnum;
|
||||||
|
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.Lists;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
|
||||||
|
import java.time.ZoneOffset;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class GenerateMakeUpClockCmd extends AbstractCommonCommand<Map<String, Object>> {
|
||||||
|
private UtilService utilService = ServiceUtil.getService(UtilServiceImpl.class);
|
||||||
|
|
||||||
|
public GenerateMakeUpClockCmd(Map<String, Object> params) {
|
||||||
|
this.params = params;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public BizLogContext getLogContext() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> execute(CommandContext commandContext) {
|
||||||
|
String bdkxm = Util.null2String(params.get("bdkxm"));
|
||||||
|
String ksrq = Util.null2String(params.get("ksrq"));
|
||||||
|
String jsrq = Util.null2String(params.get("jsrq"));
|
||||||
|
String bdkry = Util.null2String(params.get("bdkry"));
|
||||||
|
List<String> empidList = Lists.newArrayList();
|
||||||
|
String querClasssql = "select a.xxbdkzdjb,a.sfxx,a.id bcxx,a.edsc,a.zgzsc,a.bcsdxx,a.sfdx,a.sfkt,b.bdlx,a.btgz,a.fgsjd,a.zddxfz,a.dxhs,b.kssj dtkssj,b.jssj dtjssj,b.ksdk,b.jsdk,b.tqdkfzs,b.thdkfzs,b.edxss,b.edfzs,b.edts,b.sfdx dtsfdx,b.zddxfz dtzddxfz,b.dxhs dtdxhs,b.gsrq from uf_jcl_kq_bcxx a left join uf_jcl_kq_bcxx_dt1 b on a.id=b.mainid";
|
||||||
|
List<Map<String,Object>> allClassInfoList = DbTools.getSqlToList(querClasssql);
|
||||||
|
empidList.add(bdkry);
|
||||||
|
Map<String, List<Map<String, Object>>> data = utilService.getScheduleInfoWithEmpId(empidList,ksrq,jsrq);
|
||||||
|
List<Map<String, Object>> scheduleList = data.get(bdkry);
|
||||||
|
List<Map<String, Object>> resultList = Lists.newArrayList();
|
||||||
|
for (Map<String,Object> scheduleMap:scheduleList){
|
||||||
|
String bcxx = Util.null2String(scheduleMap.get("bcxx"));
|
||||||
|
String bcrq = Util.null2String(scheduleMap.get("bcrq"));
|
||||||
|
if (!"".equals(bcxx)){
|
||||||
|
List<Map<String,Object>> classList = allClassInfoList.stream().filter(e->e.get("bcxx").equals(bcxx)).collect(Collectors.toList());
|
||||||
|
for (Map<String,Object> classMap:classList){
|
||||||
|
if (CheckBoxEnum.CHECKED.getKey().equals(classMap.get("sfxx"))){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (CheckBoxEnum.CHECKED.getKey().equals(classMap.get("ksdk"))){
|
||||||
|
String kssj = Utils.getkssjTime(classMap,bcrq);
|
||||||
|
Map<String, Object> dataMap = Maps.newHashMap();
|
||||||
|
dataMap.put("bdkry",bdkry);
|
||||||
|
dataMap.put("bdxx",classMap.get("bcsdxx"));
|
||||||
|
dataMap.put("bdklx",bdkxm);
|
||||||
|
dataMap.put("bdkrq",kssj.split(" ")[0]);
|
||||||
|
dataMap.put("bdksj",kssj.split(" ")[1]);
|
||||||
|
resultList.add(dataMap);
|
||||||
|
}
|
||||||
|
if (CheckBoxEnum.CHECKED.getKey().equals(classMap.get("jsdk"))){
|
||||||
|
String jssj = Utils.getjssjTime(classMap,bcrq);
|
||||||
|
Map<String, Object> dataMap = Maps.newHashMap();
|
||||||
|
dataMap.put("bdkry",bdkry);
|
||||||
|
dataMap.put("bdxx",classMap.get("bcsdxx"));
|
||||||
|
dataMap.put("bdklx",bdkxm);
|
||||||
|
dataMap.put("bdkrq",jssj.split(" ")[0]);
|
||||||
|
dataMap.put("bdksj",jssj.split(" ")[1]);
|
||||||
|
resultList.add(dataMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
resultList = resultList.stream().sorted(Comparator.comparing(e -> DateUtil.getTime(e.get("bdkrq").toString()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
|
||||||
|
|
||||||
|
Map<String,Object> resultMap = Maps.newHashMap();
|
||||||
|
resultMap.put("data",resultList);
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue