zm_dev
liuliang 2 years ago
parent a6cf2b53b0
commit c846119a7b

@ -768,3 +768,9 @@
2023-11-28 15:44:22,121 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边
2023-11-28 15:49:22,060 [Timer-0] [A2] [INFO] - rootPath == null
2023-11-28 15:49:22,060 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties
2023-11-28 19:55:32,852 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边
2023-11-28 19:55:50,741 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边
2023-11-28 19:57:09,942 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边
2023-11-28 19:57:25,603 [main] [com.engine.common.util.Utils] [INFO] - 请假外出时间 右边
2023-11-28 20:02:25,544 [Timer-0] [A2] [INFO] - rootPath == null
2023-11-28 20:02:25,545 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties

@ -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);

@ -147,6 +147,10 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
double workOverTimeHsl = Double.valueOf(Util.null2String(workTimeBeLateItems.get(0).get("hsl")));
//核算单位
String workOverTimeHsdw = Util.null2String(workTimeBeLateItems.get(0).get("hsdw"));
//晚于开始时间忽略分钟数
String jbwdhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbwdhlfzs"));
//早于结束时间忽略分钟数
String jbzzhlfzs = Util.null2String(workTimeBeLateItems.get(0).get("jbzzhlfzs"));
/**
*
@ -160,7 +164,11 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
resultLists.add(workOverTimeItems);
continue;
}
String signTime = clcokInTimeData.get("signdate")+" "+clcokInTimeData.get("signtime");
String hourTime = clcokInTimeData.get("signtime").toString();
if (hourTime.length() > 5){
hourTime = hourTime.substring(0,5);
}
String signTime = clcokInTimeData.get("signdate")+" "+hourTime;
realityStartTime = signTime;
}else {
realityStartTime = kssj;
@ -174,7 +182,11 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
resultLists.add(workOverTimeItems);
continue;
}
String signTime = clcokInTimeData.get("signdate")+" "+clcokInTimeData.get("signtime");
String hourTime = clcokInTimeData.get("signtime").toString();
if (hourTime.length() > 5){
hourTime = hourTime.substring(0,5);
}
String signTime = clcokInTimeData.get("signdate")+" "+hourTime;
realityEndime = signTime;
}else {
realityEndime= jssj;
@ -219,6 +231,9 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
}else {
if (DateUtil.getTime(realityStartTime).compareTo(DateUtil.getTime(kssj)) >0){
beLateTime = DateUtil.getBetWeenMinutes(kssj,realityStartTime);
if (!"".equals(jbwdhlfzs) && beLateTime < Integer.valueOf(jbwdhlfzs)){
beLateTime=0;
}
}
}
/**
@ -244,11 +259,13 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
}else if (AccountingUnitEnum.ONCE.getKey().equals(hsdw)){
leaveElaryTime = jbsc;
}
}
}else {
if (DateUtil.getTime(realityEndime).compareTo(DateUtil.getTime(jssj)) <0){
leaveElaryTime = DateUtil.getBetWeenMinutes(realityEndime,jssj);
if (!"".equals(jbzzhlfzs) && leaveElaryTime < Integer.valueOf(jbzzhlfzs)){
leaveElaryTime=0;
}
}
}
@ -278,7 +295,8 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
resultLists.add(workOverTimeItems);
continue;
}else if (jbsc >= Integer.valueOf(jbqsfzs) && !"".equals(ccqszhdhsfzs)){
jbsc = Double.valueOf(Utils.getItemdurationDown(Integer.valueOf(ccqszhdhsfzs),AccountingUnitEnum.MINUTES.getKey(),Double.valueOf(jbsc).intValue(),AccountingUnitEnum.MINUTES)).intValue();
jbsc = Double.valueOf(Utils.getItemdurationDown(Integer.valueOf(ccqszhdhsfzs),AccountingUnitEnum.MINUTES.getKey(),Double.valueOf(jbsc).intValue()-Integer.valueOf(jbqsfzs),AccountingUnitEnum.MINUTES)).intValue()+Integer.valueOf(jbqsfzs);
}
}
if (jbsc < 0){
@ -343,7 +361,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
insertParam.put("sjkssj",realityStartTime.split(" ")[1]);
insertParam.put("sjjsrq",realityEndime.split(" ")[0]);
insertParam.put("sjjssj",realityEndime.split(" ")[1]);
insertParam.put("sjjbsc",String.format ("%.2f", jbsc/60));
insertParam.put("sjjbsc",itemduration);
insertParam.put("jbjgly","4");
insertParam.put("zt","1");
Utils.InsertFormTable("uf_jcl_kq_jbjg",insertParam,(Map<String,String>)params.get("formmodeIdMap"));
@ -395,7 +413,7 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
//一年
insertHoliDayParam.put("jzrq",DateUtil.nextMonth(analysisDate,12,DateUtil.yyyyMMdd));
}
insertHoliDayParam.put("ktsc",String.format ("%.2f", jbsc/60));
insertHoliDayParam.put("ktsc",itemduration);
String zdyqsc = Util.null2String(workTimeBeLateItems.get(0).get("zdyqsc"));
if ("0".equals(zdyqsc)){

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,25 +1,12 @@
import com.engine.attendance.attendanceanalysis.cmd.GetClockInTimeItemCmd;
import com.engine.attendance.attendanceanalysis.service.UtilService;
import com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl;
import com.engine.attendance.enums.AccountingUnitEnum;
import com.engine.common.util.DateUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.common.util.Utils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import io.swagger.models.auth.In;
import weaver.general.TimeUtil;
import weaver.general.Util;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@ -27,6 +14,7 @@ import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
System.out.println("18:13:00".substring(0,5));
// Map<String,Object> params = Maps.newHashMap();
// List<Map<String,Object>> attendanceItems = new ArrayList<>();
// Map<String,Object> map = new HashMap<>();
@ -71,13 +59,8 @@ public class Test {
// System.out.println(i);
// }
// System.out.println("aaaa");
Map<String,Object> map = Maps.newHashMap();
map.put("ksrq","2023-11-25");
map.put("jssj","14:00");
map.put("jsrq","2023-11-25");
map.put("kssj","10:00");
System.out.println(Utils.getStartAndEndTime("2023-11-25 09:00","2023-11-25 13:00",map));
System.out.println(DateUtil.getBetWeenMinutes("2023-11-25 20:45:00","2023-11-25 21:00"));
//System.out.println(Util.getIntValue(""));
// List<Map<String,Object>> beforeleaveDate = Lists.newArrayList();
// for (int i=beforeleaveDate.size()-1;i>=0;i--){

Loading…
Cancel
Save