zm_dev
liuliang 2 years ago
parent c08dac5015
commit 1cc35255a3

@ -110,15 +110,19 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
}else if (ClassSegmentTypeEnum.EXTENDED_OVERTIME.getKey().equals(bdlx) || ClassSegmentTypeEnum.EARLY_OVERTIME.getKey().equals(bdlx)
|| ClassSegmentTypeEnum.OVERTIME_PLAN.getKey().equals(bdlx)){
//加班
List<Map<String,Object>> workTimeItems = Lists.newArrayList();
if (ClassSegmentTypeEnum.EXTENDED_OVERTIME.getKey().equals(bdlx)){
lateParams.put("workfor",WorkForTimeEnum.DELAY_TO_WORK_OVERTIME.getKey());
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(lateParams));
workTimeItems = (List<Map<String,Object>>)result.get("attendanceItems");
}else if (ClassSegmentTypeEnum.EARLY_OVERTIME.getKey().equals(bdlx)){
lateParams.put("workfor",WorkForTimeEnum.EARLY_TO_WORK_OVERTIME.getKey());
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(lateParams));
workTimeItems = (List<Map<String,Object>>)result.get("attendanceItems");
}else if (ClassSegmentTypeEnum.OVERTIME_PLAN.getKey().equals(bdlx)){
lateParams.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey());
workTimeItems = (List<Map<String,Object>>)classInfo.get("attendanceItems");
}
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(lateParams));
List<Map<String,Object>> workTimeItems = (List<Map<String,Object>>)result.get("attendanceItems");
List<Map<String,Object>> lateItems = getBeLateItems(lateParams);
if (workTimeItems.size() > 0 && lateItems.size() >0){
double hsl = Double.valueOf(Util.null2String(lateItems.get(0).get("hsl")));
@ -298,15 +302,19 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
}else if (ClassSegmentTypeEnum.EXTENDED_OVERTIME.getKey().equals(bdlx) || ClassSegmentTypeEnum.EARLY_OVERTIME.getKey().equals(bdlx)
|| ClassSegmentTypeEnum.OVERTIME_PLAN.getKey().equals(bdlx)){
//加班
List<Map<String,Object>> workTimeItems = Lists.newArrayList();
if (ClassSegmentTypeEnum.EXTENDED_OVERTIME.getKey().equals(bdlx)){
earlyParams.put("workfor",WorkForTimeEnum.DELAY_TO_WORK_OVERTIME.getKey());
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(earlyParams));
workTimeItems = (List<Map<String,Object>>)result.get("attendanceItems");
}else if (ClassSegmentTypeEnum.EARLY_OVERTIME.getKey().equals(bdlx)){
earlyParams.put("workfor",WorkForTimeEnum.EARLY_TO_WORK_OVERTIME.getKey());
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(earlyParams));
workTimeItems = (List<Map<String,Object>>)result.get("attendanceItems");
}else if (ClassSegmentTypeEnum.OVERTIME_PLAN.getKey().equals(bdlx)){
earlyParams.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey());
workTimeItems = (List<Map<String,Object>>)classInfo.get("jblx");
}
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(earlyParams));
List<Map<String,Object>> workTimeItems = (List<Map<String,Object>>)result.get("attendanceItems");
List<Map<String,Object>> beEarlyItems = getBeEarlyItems(earlyParams);
if (workTimeItems.size() > 0 && beEarlyItems.size() >0){
String jbzzhlfzs = Util.null2String(workTimeItems.get(0).get("jbzzhlfzs"));

@ -43,7 +43,7 @@ public class UtilServiceImpl extends Service implements UtilService {
schedulMap.put("schedulingMapBydate",schedulingMapBydate);
Map<String,List<Map<String,Object>>> resultMap = Maps.newHashMap();
String sql = "select a.id bcxx,a.edsc,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 from uf_jcl_kq_bcxx a left join uf_jcl_kq_bcxx_dt1 b on a.id=b.mainid where a.id in (";
String sql = "select 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 from uf_jcl_kq_bcxx a left join uf_jcl_kq_bcxx_dt1 b on a.id=b.mainid where a.id in (";
String bcxxIds = "";
for (Map.Entry<String,List<Map<String,Object>>> entry :schedulingMap.entrySet()){
if (!entry.getKey().equals("")){
@ -78,7 +78,7 @@ public class UtilServiceImpl extends Service implements UtilService {
}
/** 加班计划*/
sql = "select jbry,ksrq,kssj,jsrq,jssj,jbsc from uf_jcl_kq_jbjh_dt1 where jbry=? and ksrq>=? and ksrq<=? and (jbcx=0 or jbcx is null)";
sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry =? and b.ksrq>=? and b.ksrq<=? and (b.jbcx=0 or b.jbcx is null)";
Map<String,List<Map<String,Object>>> overtimePlanMap = DbTools.getSqlToList(sql,params.get("pbdx"),params.get("startDate"),params.get("endDate")).stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ksrq"))));
//考勤项目
@ -109,22 +109,8 @@ public class UtilServiceImpl extends Service implements UtilService {
map.put("sfkt","0");
}
//查找对应的考勤项目
attendanceItems = attendanceItems.stream().filter(s->{
//项目类型
String xmlx = Util.null2String(s.get("xmlx"));
//作用时段
String zysd = Util.null2String(s.get("zysd"));
//项目绑定的日期类型
String bddrqlx = Util.null2String(s.get("bddrqlx"));
//日期类型
String dateType = dateMap.get(e.getKey());
if (xmlx.equals(AttendanceItemTypeEnum.WORK_OVERTIME.getKey()) && (zysd.contains(WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey()) || zysd.equals(WorkForTimeEnum.ALL_TIME.getKey())) && bddrqlx.contains(dateType)){
return true;
}else {
return false;
}
}).collect(Collectors.toList());
String querySql = "select id `key`,ksjbbxydk,jsjbbxydk,tqdkyxfzs,thdkyxfzs,jbwdhlfzs,jbzzhlfzs,tqdkjrjb,thdkjrjb,jbscbdccsqsc,zdkcjcxxsc,ccclfs,rzdjbxss,yzdjbxss,zzdjbxss,jbzdzjqye,jbqsfzs,ccqszhdhsfzs,hsl,hsdw from uf_jcl_kq_kqxm where id=?";
attendanceItems = DbTools.getSqlToList(querySql,overtimePlan.get("jblx"));
map.put("bcxx",schedulingdateMap.get(0) == null ? "0" :schedulingdateMap.get(0).get("bcxx"));
@ -149,6 +135,7 @@ public class UtilServiceImpl extends Service implements UtilService {
map.put("thdkfzs","60");
map.put("rqlx",dateMap.get(e.getKey()));
map.put("edxss",overtimePlan.get("jbsc"));
map.put("jblx",attendanceItems);
if (attendanceItems.size() >0){
map.put("ksdk",attendanceItems.get(0).get("ksjbbxydk"));
map.put("jsdk",attendanceItems.get(0).get("jsjbbxydk"));

@ -102,19 +102,25 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
getWorkOverTimeParam.put("attendanceItems",attendanceItems);
getWorkOverTimeParam.put("rqlx",scheduleMap.get("rqlx"));
List<Map<String,Object>> workTimeBeLateItems = Lists.newArrayList();
if (ClassSegmentTypeEnum.EXTENDED_OVERTIME.getKey().equals(bdlx)){
getWorkOverTimeParam.put("workfor", WorkForTimeEnum.DELAY_TO_WORK_OVERTIME.getKey());
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(getWorkOverTimeParam));
//加班项目
workTimeBeLateItems = (List<Map<String,Object>>)result.get("attendanceItems");
}else if (ClassSegmentTypeEnum.EARLY_OVERTIME.getKey().equals(bdlx)){
getWorkOverTimeParam.put("workfor",WorkForTimeEnum.EARLY_TO_WORK_OVERTIME.getKey());
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(getWorkOverTimeParam));
workTimeBeLateItems = (List<Map<String,Object>>)result.get("attendanceItems");
}else if (ClassSegmentTypeEnum.OVERTIME_PLAN.getKey().equals(bdlx)){
getWorkOverTimeParam.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey());
workTimeBeLateItems = (List<Map<String,Object>>)scheduleMap.get("jblx");
}else {
continue;
}
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(getWorkOverTimeParam));
//加班项目
List<Map<String,Object>> workTimeBeLateItems = (List<Map<String,Object>>)result.get("attendanceItems");
if (workTimeBeLateItems.size() == 0){
continue;
}
@ -379,6 +385,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
insertParam.put("sjjssj",realityEndime.split(" ")[1]);
insertParam.put("sjjbsc",itemduration);
insertParam.put("jbjgly","4");
insertParam.put("jblx",workTimeBeLateItems.get(0).get("id"));
insertParam.put("lyid",userId+"-"+DateUtil.getCurrentDate());
insertParam.put("zt","1");
Utils.InsertFormTable("uf_jcl_kq_jbjg",insertParam,(Map<String,String>)params.get("formmodeIdMap"));

@ -98,27 +98,27 @@ public class AttendanceanalysisAction {
String endDate = Util.null2String(paramMap.get("endDate"));
String userIds = Util.null2String(paramMap.get("userIds"));
String sql = "select id,userid,signdate,signtime from hrmschedulesign where isincom=1 and userid in ("+userIds+") and signdate >= ? and signdate <= ?";
String sql = "select id,userid,signdate,signtime from hrmschedulesign where isincom=1 and userid in ("+userIds+") and signdate >= ? and signdate <= ? order by signdate,signtime";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,startDate,endDate);
Map<String, List<Map<String,Object>>> collect = dataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("userid"))));
//请假记录
sql = "select a.qjry,a.jqlx,a.cxjqj,b.ksrq,b.kssj,b.jsrq,b.jssj,b.qjsc,b.qtj,b.btj from uf_jcl_kq_qjjl a left join uf_jcl_kq_qjjl_dt1 b on a.id = b.mainid where a.qjry in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.cxqj=0 or b.cxqj is null)";
sql = "select a.qjry,a.jqlx,a.cxjqj,b.ksrq,b.kssj,b.jsrq,b.jssj,b.qjsc,b.qtj,b.btj from uf_jcl_kq_qjjl a left join uf_jcl_kq_qjjl_dt1 b on a.id = b.mainid where a.qjry in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.cxqj=0 or b.cxqj is null) order by b.ksrq,b.kssj";
List<Map<String,Object>> askforLeaveList = DbTools.getSqlToList(sql,startDate,endDate);
Map<String, List<Map<String,Object>>> askforLeavecollect = askforLeaveList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("qjry"))));
//出差记录
sql = "select b.ccr,a.cclx,a.ccsd,b.ksrq,b.jsrq,b.kssj,b.jssj,b.ccsc,b.qtcc,b.btcc,b.cxcc from uf_jcl_kq_ccjl a left join uf_jcl_kq_ccjl_dt1 b on a.id = b.mainid where b.ccr in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.cxcc=0 or b.cxcc is null)";
sql = "select b.ccr,a.cclx,a.ccsd,b.ksrq,b.jsrq,b.kssj,b.jssj,b.ccsc,b.qtcc,b.btcc,b.cxcc from uf_jcl_kq_ccjl a left join uf_jcl_kq_ccjl_dt1 b on a.id = b.mainid where b.ccr in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.cxcc=0 or b.cxcc is null) order by b.ksrq,b.kssj";
List<Map<String,Object>> evectionList = DbTools.getSqlToList(sql,startDate,endDate);
Map<String, List<Map<String,Object>>> evectioncollect = evectionList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ccr"))));
//加班计划
sql = "select jbry,ksrq,kssj,jsrq,jssj,jbsc from uf_jcl_kq_jbjh_dt1 where jbry in ("+userIds+") and ksrq>=? and ksrq<=? and (jbcx=0 or jbcx is null)";
sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.jbcx=0 or b.jbcx is null) order by b.ksrq,b.kssj";
List<Map<String,Object>> overPlanDataList = DbTools.getSqlToList(sql,startDate,endDate);
Map<String, List<Map<String,Object>>> overPlancollect = overPlanDataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("jbry"))));
//加班结果
sql = "select szjg,jbry,sjksrq,sjjsrq,sjkssj,sjjssj,sjjbsc,zt from uf_jcl_kq_jbjg where jbry in ("+userIds+") and sjksrq>=? and sjjsrq<=?";
sql = "select szjg,jbry,sjksrq,jbjgly,sjjsrq,sjkssj,sjjssj,sjjbsc,jblx,zt from uf_jcl_kq_jbjg where jbry in ("+userIds+") and sjksrq>=? and sjjsrq<=? order by sjksrq,sjkssj";
List<Map<String,Object>> overPlanResultList = DbTools.getSqlToList(sql,startDate,endDate);
Map<String, List<Map<String,Object>>> overResultcollect = overPlanResultList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("jbry"))));

Loading…
Cancel
Save