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