|
|
|
@ -8,11 +8,12 @@ import com.engine.common.util.Utils;
|
|
|
|
|
import com.engine.core.impl.Service;
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import weaver.general.Util;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
|
public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAttendanceService {
|
|
|
|
|
@Override
|
|
|
|
|
public Map<String, Object> fullDayAbsenteeism(Map<String, Object> params) {
|
|
|
|
@ -66,7 +67,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
}
|
|
|
|
|
if (workTimeBeLateItems.size() > 0){
|
|
|
|
|
Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap();
|
|
|
|
|
double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
double hsl = Double.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw"));
|
|
|
|
|
String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc"));
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){
|
|
|
|
@ -104,19 +105,20 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
lateParams.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey());
|
|
|
|
|
}
|
|
|
|
|
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(lateParams));
|
|
|
|
|
List<Map<String,Object>> workTimeBeLateItems = (List<Map<String,Object>>)result.get("attendanceItems");
|
|
|
|
|
if (workTimeBeLateItems.size() > 0){
|
|
|
|
|
double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw"));
|
|
|
|
|
String jbwdhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbwdhlfzs"));
|
|
|
|
|
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")));
|
|
|
|
|
String hsdw = Util.null2String(lateItems.get(0).get("hsdw"));
|
|
|
|
|
String jbwdhlfzs = Util.null2String(workTimeItems.get(0).get("jbwdhlfzs"));
|
|
|
|
|
if (!"".equals(jbwdhlfzs) && between > Integer.valueOf(jbwdhlfzs)){
|
|
|
|
|
Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap();
|
|
|
|
|
String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc"));
|
|
|
|
|
String kczgsc = Util.null2String(lateItems.get(0).get("kczgsc"));
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){
|
|
|
|
|
//起步扣除分钟数
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc")));
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(lateItems.get(0).get("qbkcsc")));
|
|
|
|
|
//超出后单次累加扣除分钟数
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc")));
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(lateItems.get(0).get("cckcbc")));
|
|
|
|
|
if (between <= qbkcsc){
|
|
|
|
|
between = qbkcsc;
|
|
|
|
|
}else {
|
|
|
|
@ -126,7 +128,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES);
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",getBeLateItems(lateParams).get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",lateItems.get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemduration",itemduration);
|
|
|
|
|
saveWorkTimeBeLateParam.put("betweenMinutes",between);
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE);
|
|
|
|
@ -147,17 +149,18 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
lateParams.put("workfor",WorkForTimeEnum.WORK_TIME.getKey());
|
|
|
|
|
result = commandExecutor.execute(new BeAwayItemCmd(lateParams));
|
|
|
|
|
}
|
|
|
|
|
List<Map<String,Object>> workTimeBeLateItems = (List<Map<String,Object>>)result.get("attendanceItems");
|
|
|
|
|
double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw"));
|
|
|
|
|
String thfghlfzs = Util.null2String(workTimeBeLateItems.get(0).get("thfghlfzs"));
|
|
|
|
|
List<Map<String,Object>> beAwayItems = (List<Map<String,Object>>)result.get("attendanceItems");
|
|
|
|
|
List<Map<String,Object>> lateItems = getBeLateItems(lateParams);
|
|
|
|
|
double hsl = Double.valueOf(Util.null2String(lateItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(lateItems.get(0).get("hsdw"));
|
|
|
|
|
String thfghlfzs = Util.null2String(beAwayItems.get(0).get("thfghlfzs"));
|
|
|
|
|
if (!"".equals(thfghlfzs) && between> Integer.valueOf(thfghlfzs)){
|
|
|
|
|
String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc"));
|
|
|
|
|
String kczgsc = Util.null2String(lateItems.get(0).get("kczgsc"));
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){
|
|
|
|
|
//起步扣除分钟数
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc")));
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(lateItems.get(0).get("qbkcsc")));
|
|
|
|
|
//超出后单次累加扣除分钟数
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc")));
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(lateItems.get(0).get("cckcbc")));
|
|
|
|
|
if (between <= qbkcsc){
|
|
|
|
|
between = qbkcsc;
|
|
|
|
|
}else {
|
|
|
|
@ -168,7 +171,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
}
|
|
|
|
|
double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES);
|
|
|
|
|
Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap();
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",getBeLateItems(lateParams).get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",lateItems.get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemduration",itemduration);
|
|
|
|
|
saveWorkTimeBeLateParam.put("betweenMinutes",between);
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LATE);
|
|
|
|
@ -227,7 +230,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
}
|
|
|
|
|
if (workTimeBeLateItems.size() > 0){
|
|
|
|
|
Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap();
|
|
|
|
|
double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
double hsl = Double.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw"));
|
|
|
|
|
String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc"));
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){
|
|
|
|
@ -246,7 +249,8 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES);
|
|
|
|
|
// saveWorkTimeBeLateParam.put("userId",userId);
|
|
|
|
|
// saveWorkTimeBeLateParam.put("date",analysisDate);
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key"));
|
|
|
|
|
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",workTimeBeLateItems.get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemduration",itemduration);
|
|
|
|
|
saveWorkTimeBeLateParam.put("betweenMinutes",between);
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY);
|
|
|
|
@ -267,19 +271,21 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
earlyParams.put("workfor",WorkForTimeEnum.PLAN_WORK_OVERTIME.getKey());
|
|
|
|
|
}
|
|
|
|
|
Map<String,Object> result = commandExecutor.execute(new WorkOvertimeItemCmd(earlyParams));
|
|
|
|
|
List<Map<String,Object>> workTimeBeLateItems = (List<Map<String,Object>>)result.get("attendanceItems");
|
|
|
|
|
if (workTimeBeLateItems.size() > 0){
|
|
|
|
|
double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw"));
|
|
|
|
|
String jbzzhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbzzhlfzs"));
|
|
|
|
|
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"));
|
|
|
|
|
String hsdw = Util.null2String(beEarlyItems.get(0).get("hsdw"));
|
|
|
|
|
double hsl = Double.valueOf(Util.null2String(beEarlyItems.get(0).get("hsl")));
|
|
|
|
|
if (!"".equals(jbzzhlfzs) && between > Integer.valueOf(jbzzhlfzs)){
|
|
|
|
|
log.info("between :{},jbzzhlfzs:{}",between,jbzzhlfzs);
|
|
|
|
|
Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap();
|
|
|
|
|
String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc"));
|
|
|
|
|
String kczgsc = Util.null2String(beEarlyItems.get(0).get("kczgsc"));
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){
|
|
|
|
|
//起步扣除分钟数
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc")));
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("qbkcsc")));
|
|
|
|
|
//超出后单次累加扣除分钟数
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc")));
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("cckcbc")));
|
|
|
|
|
if (between <= qbkcsc){
|
|
|
|
|
between = qbkcsc;
|
|
|
|
|
}else {
|
|
|
|
@ -289,7 +295,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES);
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",beEarlyItems.get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemduration",itemduration);
|
|
|
|
|
saveWorkTimeBeLateParam.put("betweenMinutes",between);
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY);
|
|
|
|
@ -310,17 +316,18 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
earlyParams.put("workfor",WorkForTimeEnum.WORK_TIME.getKey());
|
|
|
|
|
result = commandExecutor.execute(new BeAwayItemCmd(earlyParams));
|
|
|
|
|
}
|
|
|
|
|
List<Map<String,Object>> workTimeBeLateItems = (List<Map<String,Object>>)result.get("attendanceItems");
|
|
|
|
|
double hsl = Float.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw"));
|
|
|
|
|
String tqlghlfzs = Util.null2String(workTimeBeLateItems.get(0).get("tqlghlfzs"));
|
|
|
|
|
if (!"".equals(tqlghlfzs) && between> Integer.valueOf(tqlghlfzs)){
|
|
|
|
|
String kczgsc = Util.null2String(workTimeBeLateItems.get(0).get("kczgsc"));
|
|
|
|
|
List<Map<String,Object>> beAwayItems = (List<Map<String,Object>>)result.get("attendanceItems");
|
|
|
|
|
List<Map<String,Object>> beEarlyItems = getBeEarlyItems(earlyParams);
|
|
|
|
|
double hsl = Double.valueOf(Util.null2String(beEarlyItems.get(0).get("hsl")));
|
|
|
|
|
String hsdw = Util.null2String(beEarlyItems.get(0).get("hsdw"));
|
|
|
|
|
String tqlghlfzs = Util.null2String(beAwayItems.get(0).get("tqlghlfzs"));
|
|
|
|
|
if (!"".equals(tqlghlfzs) && between> Integer.valueOf(tqlghlfzs) && beEarlyItems.size()>0){
|
|
|
|
|
String kczgsc = Util.null2String(beEarlyItems.get(0).get("kczgsc"));
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){
|
|
|
|
|
//起步扣除分钟数
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("qbkcsc")));
|
|
|
|
|
int qbkcsc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("qbkcsc")));
|
|
|
|
|
//超出后单次累加扣除分钟数
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("cckcbc")));
|
|
|
|
|
int cckcbc = Integer.valueOf(Util.null2String(beEarlyItems.get(0).get("cckcbc")));
|
|
|
|
|
if (between <= qbkcsc){
|
|
|
|
|
between = qbkcsc;
|
|
|
|
|
}else {
|
|
|
|
@ -332,7 +339,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
|
|
|
|
|
double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES);
|
|
|
|
|
Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap();
|
|
|
|
|
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",getBeEarlyItems(earlyParams).get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("item",beEarlyItems.get(0).get("key"));
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemduration",itemduration);
|
|
|
|
|
saveWorkTimeBeLateParam.put("betweenMinutes",between);
|
|
|
|
|
saveWorkTimeBeLateParam.put("itemType", AttendanceItemTypeEnum.LEAVE_EARLY);
|
|
|
|
|