Browse Source

新增考勤合并数据统计返回

anderx 1 year ago
parent
commit
e5c99b421e

+ 1 - 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java

@@ -326,7 +326,7 @@ public class ExcelUtil<T>
         } catch (Exception e)
         {
             log.error("导入Excel异常{}", e.getMessage());
-            throw new UtilException(e.getMessage());
+            throw new UtilException("您上传的文件格式不匹配,请重新上传");
         }
         finally
         {

+ 9 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ruoyi.system.service.impl;
 
+import java.math.BigDecimal;
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
 import java.time.*;
@@ -926,6 +927,14 @@ public class SysUserServiceImpl implements ISysUserService
 
     @Override
     public void updateUserClockDetails(UserClockDetailsInput in) {
+        BigDecimal amount = BigDecimal.ZERO;
+        for (ProjectStaffRecord e : in.getList()) {
+            amount = amount.add(BigDecimal.valueOf(e.getCheckDuration()));
+        }
+        UserRecord userRecord = userRecordMapper.selectByPrimaryKey(in.getId());
+        if (amount.compareTo(BigDecimal.valueOf(userRecord.getSumDuration())) > 0){
+            throw new ServiceException(String.format("核算统计[%s]间超过打卡工时[%s],请重新输入!",amount,userRecord.getSumDuration()));
+        }
         for (ProjectStaffRecord projectStaffRecord : in.getList()) {
             projectStaffRecord.setCheckStatus(1);
             projectStaffRecordMapper.updateByPrimaryKeySelective(projectStaffRecord);