|
@@ -20,7 +20,6 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.SimpleDateFormat;
|
|
@@ -492,14 +491,8 @@ public class FeishuInfoServiceImpl extends ServiceImpl<FeishuInfoMapper, FeishuI
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg loadTaskResult(LoadTaskResultBO queryBO, HttpServletRequest request) {
|
|
|
+ public HttpRespMsg loadTaskResult(LoadTaskResultBO queryBO) {
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
-// User user = userMapper.selectById(request.getHeader("TOKEN"));
|
|
|
-// if(null == user){
|
|
|
-// msg.setError("token有误,用户不存在");
|
|
|
-// return msg;
|
|
|
-// }
|
|
|
-// Integer companyId = user.getCompanyId();
|
|
|
|
|
|
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();
|
|
|
lqw.select(User::getId,User::getJobNumber,User::getCompanyId).isNotNull(User::getJobNumber)
|
|
@@ -680,8 +673,8 @@ public class FeishuInfoServiceImpl extends ServiceImpl<FeishuInfoMapper, FeishuI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// userFvTime.setStartTime(startTime);
|
|
|
-// userFvTime.setEndTime(endTime);
|
|
|
+ userFvTime.setStartTime(startTime);
|
|
|
+ userFvTime.setEndTime(endTime);
|
|
|
userFvTime.setWorkDate(LocalDate.parse(String.valueOf(day),DateTimeFormatter.ofPattern("yyyyMMdd")));
|
|
|
userFvTime.setCompanyId(jobNumUserMap.get(userTaskResult.getUser_id()).getCompanyId());
|
|
|
// userFvTime.setWorkHours(workHours);
|
|
@@ -692,7 +685,7 @@ public class FeishuInfoServiceImpl extends ServiceImpl<FeishuInfoMapper, FeishuI
|
|
|
for (FeishuRestTimeRule feishuRestTimeRule : restTimeRule) {
|
|
|
LocalTime tmpBeginTime = LocalTime.parse(feishuRestTimeRule.getRest_begin_time(), DateTimeFormatter.ofPattern("HH:mm"));
|
|
|
LocalTime tmpEndTime = LocalTime.parse(feishuRestTimeRule.getRest_end_time(), DateTimeFormatter.ofPattern("HH:mm"));
|
|
|
- sumRestSecond = tmpEndTime.toSecondOfDay() - tmpBeginTime.toSecondOfDay();
|
|
|
+ sumRestSecond += tmpEndTime.toSecondOfDay() - tmpBeginTime.toSecondOfDay();
|
|
|
}
|
|
|
|
|
|
//获取加班时间段
|
|
@@ -700,11 +693,13 @@ public class FeishuInfoServiceImpl extends ServiceImpl<FeishuInfoMapper, FeishuI
|
|
|
List<FeishuClockTaskRecord> overTimeList = userTaskResult.getRecords().stream().filter(t -> 1 == t.getTask_shift_type())
|
|
|
.collect(Collectors.toList());
|
|
|
long sumOverTimeSeconds = 0;
|
|
|
+ long offRuleSeconds = offLocalDateTime.toEpochSecond(ZoneOffset.of("+8"));
|
|
|
if(CollectionUtils.isNotEmpty(overTimeList)){
|
|
|
for (FeishuClockTaskRecord feishuClockTaskRecord : overTimeList) {
|
|
|
long startOver = Long.parseLong(feishuClockTaskRecord.getCheck_in_record().getCheck_time());
|
|
|
long endOver = Long.parseLong(feishuClockTaskRecord.getCheck_in_record().getCheck_time());
|
|
|
- sumOverTimeSeconds = endOver-startOver;
|
|
|
+ startOver = Math.max(startOver, offRuleSeconds);
|
|
|
+ sumOverTimeSeconds += endOver-startOver;
|
|
|
}
|
|
|
}
|
|
|
// float overTimeHours = BigDecimal.valueOf(sumOverTimeSeconds/ (60 * 60f)).setScale(2, RoundingMode.HALF_UP).floatValue();
|
|
@@ -719,8 +714,8 @@ public class FeishuInfoServiceImpl extends ServiceImpl<FeishuInfoMapper, FeishuI
|
|
|
userFvTime.setUserId(jobNumUserMap.get(userTaskResult.getUser_id()).getId());
|
|
|
Date checkInTime = new Date(Long.parseLong(record.getCheck_in_record().getCheck_time()) * 1000);
|
|
|
Date checkOutTime = new Date(Long.parseLong(record.getCheck_out_record().getCheck_time()) * 1000);
|
|
|
- userFvTime.setStartTime(HMFormat.format(checkInTime));
|
|
|
- userFvTime.setEndTime(HMFormat.format(checkOutTime));
|
|
|
+// userFvTime.setStartTime(HMFormat.format(checkInTime));
|
|
|
+// userFvTime.setEndTime(HMFormat.format(checkOutTime));
|
|
|
|
|
|
map.put("data",userFvTime);
|
|
|
map.put("startDateTime",format.format(checkInTime));
|