Browse Source

加班时长校验 关于多条记录提交的bug修改

yurk 2 years ago
parent
commit
2bfe010068

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

@@ -872,7 +872,16 @@ public class ReportController {
             for (Report report : reportList) {
                 if(WorkDayCalculateUtils.isWorkDay(report.getCreateDate())){
                     HttpRespMsg httpRespMsg = new HttpRespMsg();
-                    BigDecimal bigDecimal=new BigDecimal(report.getWorkingTime());
+                    List<Report> list = reportList.stream().filter(rl -> rl.getCreateDate().equals(report.getCreateDate()) && rl.getCreatorId().equals(report.getCreatorId())).collect(Collectors.toList());
+                    BigDecimal bigDecimal;
+                    if(list.size()>0){
+                        bigDecimal=new BigDecimal(0);
+                        for (Report r : list) {
+                            bigDecimal=bigDecimal.add(new BigDecimal(r.getWorkingTime()));
+                        }
+                    }else {
+                        bigDecimal=new BigDecimal(report.getWorkingTime());
+                    }
                     bigDecimal=bigDecimal.subtract(new BigDecimal(comTimeType.getAllday()));
                     if(report.getOvertimeHours()>bigDecimal.doubleValue()){
                         httpRespMsg.setError("加班时长不得超过总工作时长-正常工作时长");