Browse Source

柴油使用管理 excel 上传校验模板重复日期

huangpeng 1 year ago
parent
commit
626f95bfd0

+ 14 - 4
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquDieseloilUseManagementServiceImpl.java

@@ -13,6 +13,8 @@ import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.safecommon.utils.CXCommonUtils;
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
@@ -29,8 +31,12 @@ public class EquDieseloilUseManagementServiceImpl extends ServiceImpl<EquDieselo
     private EquDieseloilUseManagementDao equDieseloilUseManagementDao;
 
 
+
     @Autowired
     private EquDieseloilUseManagementService equDieseloilUseManagementService;
+
+    private final static Logger log = LoggerFactory.getLogger(EquDieseloilUseManagementServiceImpl.class);
+
     @Override
     public R uploadDieseloil(MultipartFile multipartFile) throws IOException {
         // 使用自定义的DataListener来读取数据
@@ -69,14 +75,18 @@ public class EquDieseloilUseManagementServiceImpl extends ServiceImpl<EquDieselo
             return R.error("token 失效,请联系管理员");
         };
 
+
+        //查询模板中是否有相同的日期的数据
+        List<String> sameDieselDates = dieseloilUseManagementDoList.stream().map(info ->DateUtil.format(info.getDieseldate(),DATE_PATTERN_YMD) ).distinct().collect(Collectors.toList());
+        log.info("sameDieselDates.size():{}",sameDieselDates.size());
+        if (sameDieselDates.size()<dieseloilUseManagementDoList.size()){
+            return R.error("上传文件内存在重复的日期,请检查");
+        }
+
         //设置查询条件
         LambdaQueryWrapper<EquDieseloilUseManagementDo> queryWrapper = setqueryWrapper(dieseloilUseManagementDoList,tenantid);
         List<EquDieseloilUseManagementDo> oldList = equDieseloilUseManagementDao.selectList(queryWrapper);
-
         List<String> dieseldates = oldList.stream().map(info ->DateUtil.format(info.getDieseldate(),DATE_PATTERN_YMD) ).distinct().collect(Collectors.toList());
-        if (dieseldates.size()<oldList.size()){
-            return R.error("上传文件内存在重复的日期,请检查");
-        }
 
         //通过时间判断是否有相同的数据
         for (EquDieseloilUseManagementDo dieseloilUseManagementDo:dieseloilUseManagementDoList){