Procházet zdrojové kódy

修复考勤getPunchRecord错误

seyason před 2 roky
rodič
revize
b394b92d2e

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -983,7 +983,8 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     userCorpwxTime.setWeekDayTxt(DateTimeUtil.getWeekDayTxt(userCorpwxTime.getWeekDay()));
                     BigDecimal bigDecimal=new BigDecimal(Duration.between(LocalTime.parse(minTime,df).plusHours(8),LocalTime.parse(maxTime,df).plusHours(8)).toMinutes());
 
-                    if (LocalTime.parse(maxTime,df).plusHours(8).compareTo(LocalTime.parse(baseAfternoonStart,df)) >= 0) {
+                    //开始时间在上午,结束时间在下午,要减去午休时长
+                    if (LocalTime.parse(minTime,df).plusHours(8).compareTo(LocalTime.parse(baseMorningEnd,df)) <= 0 && LocalTime.parse(maxTime,df).plusHours(8).compareTo(LocalTime.parse(baseAfternoonStart,df)) >= 0) {
                         //重新计算打卡工时时,需要减去中间午休时间
                         bigDecimal = bigDecimal.divide(BigDecimal.valueOf(60),1,BigDecimal.ROUND_HALF_UP).subtract(new BigDecimal(restTime));
                     } else {

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/DateTimeUtil.java

@@ -70,7 +70,7 @@ public class DateTimeUtil {
     }
 
     public static void main(String[] args) {
-        double d = getHalfHoursFromDouble(0.4);
+        double d = getHalfHoursFromDouble(0.26);
         System.out.println(d);
         d = getHalfHoursFromDouble(1.2);
         System.out.println(d);