Explorar o código

景昱工时控制

Min hai 1 ano
pai
achega
7072fefd95

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/FeishuInfoController.java

@@ -609,7 +609,7 @@ public class FeishuInfoController {
         return feishuInfoService.initSuperManager(corpid, name);
     }
 
-    //"企业微信数据回调"
+    //"飞书数据回调"
     @RequestMapping(value = "/dataCallback", method = RequestMethod.POST)
     @ResponseBody
     public void dataCallback(@RequestBody JSONObject jsonParam, HttpServletResponse response) throws IOException {

+ 3 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -1989,7 +1989,7 @@ public class ReportController {
     }
 
     @RequestMapping("/getUserDailyWorkTime")
-    public HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) {
+    public HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception{
         return reportService.getUserDailyWorkTime(request, startDate, endDate);
     }
 
@@ -2004,7 +2004,7 @@ public class ReportController {
     }
 
     @RequestMapping("/exportUserDailyWorkTime")
-    public HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) {
+    public HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception{
         return reportService.exportUserDailyWorkTime(request, startDate, endDate);
     }
 
@@ -2544,7 +2544,7 @@ public class ReportController {
     }
 
     @RequestMapping("/changeReminder")
-    public HttpRespMsg changeReminder(){
+    public HttpRespMsg changeReminder() throws Exception {
         return reportService.changeReminder(request);
     }
 }

+ 3 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java

@@ -62,9 +62,9 @@ public interface ReportService extends IService<Report> {
 
     HttpRespMsg listByStateDepartment(Integer state, Integer projectId, String date, HttpServletRequest request);
 
-    HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate);
+    HttpRespMsg getUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception;
 
-    HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate);
+    HttpRespMsg exportUserDailyWorkTime(HttpServletRequest request, String startDate, String endDate) throws Exception;
 
     HttpRespMsg importData(Integer companyId, Integer withCheckIn, MultipartFile file, HttpServletRequest request);
 
@@ -152,5 +152,5 @@ public interface ReportService extends IService<Report> {
 
     HttpRespMsg getDetailReportById(Integer reportId, HttpServletRequest request);
 
-    HttpRespMsg changeReminder(HttpServletRequest request);
+    HttpRespMsg changeReminder(HttpServletRequest request) throws Exception;
 }

+ 25 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

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