|
@@ -38,6 +38,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.io.*;
|
|
|
+import java.lang.reflect.Method;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.sql.Timestamp;
|
|
@@ -4331,12 +4332,14 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) {
|
|
|
+ public HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception {
|
|
|
String token = request.getHeader("TOKEN");
|
|
|
User user = userMapper.selectById(token);
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
Company company = companyMapper.selectById(companyId);
|
|
|
List<UserFvTime> userFvTimeList = userFvTimeMapper.selectList(new LambdaQueryWrapper<UserFvTime>().between(UserFvTime::getWorkDate, startDate, endDate));
|
|
|
+ List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, company.getId()));
|
|
|
+ List<UserCustom> userCustomList = userCustomMapper.selectList(new LambdaQueryWrapper<UserCustom>().eq(UserCustom::getCompanyId, companyId));
|
|
|
DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
//String[] weekDayCHN = {"周一","周二","周三","周四","周五","周六","周日"};
|
|
|
String[] weekDayCHN = {MessageUtils.message("week.Monday"),MessageUtils.message("week.Tuesday"),MessageUtils.message("week.Wednesday"),MessageUtils.message("week.Thursday"),MessageUtils.message("week.Friday"),MessageUtils.message("week.Saturday"),MessageUtils.message("week.Sunday")};
|
|
@@ -4402,8 +4405,25 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
Optional<UserFvTime> first = userFvTimeList.stream().filter(u -> u.getWorkDate().isEqual(LocalDate.parse(date, df)) && u.getUserId().equals(id)).findFirst();
|
|
|
if(first.isPresent()){
|
|
|
if(first.get().getWorkHours()!=null){
|
|
|
- if(Double.valueOf(String.valueOf(data.get("workingTime")))>first.get().getWorkHours()){
|
|
|
- map.put("exceedCardTime",1);
|
|
|
+ Optional<User> optional = userList.stream().filter(u -> u.getId().equals(id)).findFirst();
|
|
|
+ User targetUser = optional.get();
|
|
|
+ List<String> customList = userCustomList.stream().map(UserCustom::getName).collect(Collectors.toList());
|
|
|
+ if(customList.size()>0&&customList.contains("是否有加班费")){
|
|
|
+ int index = customList.indexOf("是否有加班费");
|
|
|
+ targetUser.getPlate1();
|
|
|
+ String getter="getPlate"+(index+1);
|
|
|
+ Class<User> aClass = User.class;
|
|
|
+ Method method = aClass.getMethod(getter);
|
|
|
+ String invoke = (String) method.invoke(targetUser);
|
|
|
+ if(invoke.equals("有加班费")){
|
|
|
+ if(!(Double.valueOf(String.valueOf(data.get("workingTime"))).equals(first.get().getWorkHours()))){
|
|
|
+ map.put("exceedCardTime",1);
|
|
|
+ }
|
|
|
+ }else if(invoke.equals("无加班费")){
|
|
|
+ if((Double.valueOf(String.valueOf(data.get("workingTime")))<first.get().getWorkHours())){
|
|
|
+ map.put("exceedCardTime",1);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -4550,7 +4570,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) {
|
|
|
+ public HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception {
|
|
|
HttpRespMsg msg = getUserDailyWorkTime(request, startDate, endDate);
|
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
|
|
@@ -8942,7 +8962,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg changeReminder(HttpServletRequest request) {
|
|
|
+ public HttpRespMsg changeReminder(HttpServletRequest request) throws Exception {
|
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
|
DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|