From 72468556f3709380ab3a70e07d8a916fbd47c988 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期三, 19 六月 2024 08:52:18 +0800
Subject: [PATCH] 添加字段,审批权限修改

---
 project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java |  101 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 82 insertions(+), 19 deletions(-)

diff --git a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
index b92f1d6..e43b05a 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
@@ -3,8 +3,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.project.common.constant.UserConstants;
 import com.project.common.core.domain.entity.SysUser;
+import com.project.common.core.domain.model.ImportError;
 import com.project.common.exception.base.BaseException;
 import com.project.common.utils.SecurityUtils;
+import com.project.system.domain.vo.SysCompanyResultVo;
 import com.project.system.service.ISysUserService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +24,7 @@
 import com.project.system.mapper.SysCompanyMapper;
 import com.project.system.service.ISysCompanyService;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -57,7 +60,7 @@
     public Boolean insertByBo(SysCompanyBo bo)
     {
         SysCompany add = Convert.convert(SysCompany.class, bo);
-        validEntityBeforeSave(add, 0);
+        validEntityBeforeSave(add);
         boolean save = this.save(add);
         addCompanyUser(add);
         return save;
@@ -76,7 +79,7 @@
             }
             this.addCompanyUser(update);
         }
-        validEntityBeforeSave(update, 0);
+        validEntityBeforeSave(update);
         return this.updateById(update);
     }
 
@@ -93,17 +96,47 @@
         return this.removeByIds(ids);
     }
 
-    @Override//瀵煎叆
-    @Transactional
-    public Boolean importList(List<SysCompanyVo> list)
+
+    @Override
+    public SysCompanyResultVo doImport(List<SysCompanyVo> list)
     {
         if (list==null || list.size()<1){
-            throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅");
+            throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�");
         }
-        List<SysCompany> companies = Convert.toList(SysCompany.class, list);
-        companies.forEach(e-> validEntityBeforeSave(e,1));
-        boolean b = this.saveOrUpdateBatch(companies);
+        SysCompanyResultVo resultVo = new SysCompanyResultVo();
+        resultVo.setVoList(list);
+        return this.checkImport(resultVo);
 
+    }
+
+    @Override
+    public SysCompanyResultVo checkImport(SysCompanyResultVo resultVo)
+    {
+        if (resultVo==null || StringUtils.isEmpty(resultVo.getVoList())){
+            throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�");
+        }
+        for (SysCompanyVo vo : resultVo.getVoList()) {
+            List<ImportError> errors = new ArrayList<>();
+            validEntityBeforeImport(vo, errors);
+            vo.setErrorList(errors);
+        }
+        return  resultVo;
+    }
+
+    @Override
+    @Transactional
+    public Boolean saveImport(SysCompanyResultVo resultVo)
+    {
+        if (resultVo==null || StringUtils.isEmpty(resultVo.getVoList())){
+            throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�");
+        }
+        resultVo.getVoList().forEach(e-> {
+            if (StringUtils.isNotEmpty(e.getErrorList())) {
+                throw new BaseException("杩樻湁鏈鐞嗛敊璇俊鎭紒");
+            }
+        });
+        List<SysCompany> companies = Convert.toList(SysCompany.class, resultVo.getVoList());
+        boolean b = this.saveOrUpdateBatch(companies);
         companies.forEach(this::addCompanyUser);
         return b;
     }
@@ -114,15 +147,12 @@
     /**
      * 淇濆瓨鍓嶆牎楠�
      * @param entity    鍙傛暟
-     * @param isImport  鏄惁瀵煎叆锛�0鍚︼紝1鏄�
      */
-    private void validEntityBeforeSave(SysCompany entity, int isImport)
+    private void validEntityBeforeSave(SysCompany entity)
     {
-        entity.setIsImport(isImport);
-        if (isImport!=1){
-            if (StringUtils.isEmpty(entity.getCompanyImg())){
-                throw new BaseException(String.format("%1$s锛岃涓婁紶钀ヤ笟鎵х収", entity.getCompanyName()));
-            }
+        entity.setIsImport(0);
+        if (StringUtils.isEmpty(entity.getCompanyImg())){
+            throw new BaseException(String.format("%1$s锛岃涓婁紶钀ヤ笟鎵х収", entity.getCompanyName()));
         }
         if (StringUtils.isEmpty(entity.getCompanyCode())){
             throw new BaseException(String.format("%1$s锛岃濉啓浼佷笟绀句細缂栫爜锛�", entity.getCompanyName()));
@@ -132,6 +162,9 @@
         }
         if (StringUtils.isEmpty(entity.getCompanyPhone())){
             throw new BaseException(String.format("%1$s锛岃濉啓浼佷笟鑱旂郴浜虹數璇濓紒", entity.getCompanyName()));
+        }
+        if (StringUtils.isEmpty(entity.getCompanyAddress())){
+            throw new BaseException(String.format("%1$s锛岃濉啓浼佷笟鍦板潃锛�", entity.getCompanyName()));
         }
         if (StringUtils.isEmpty(entity.getCompanyName())){
             throw new BaseException("璇峰~鍐欎紒涓氬悕锛�");
@@ -163,12 +196,42 @@
                 throw new BaseException(String.format("%1$s锛屼紒涓氳仈绯荤數璇濆凡瀛樺湪锛�", entity.getCompanyName()));
             }
         }
-        if (isImport==1){
-            entity.setCheckStatus(2);
-        }
     }
 
 
+    private void validEntityBeforeImport(SysCompanyVo entity, List<ImportError> errorList)
+    {
+        entity.setIsImport(1);
+        if (StringUtils.isEmpty(entity.getCompanyName())){
+            errorList.add(new ImportError(0, "璇峰~鍐欎紒涓氬悕锛�"));
+        }
+        if (StringUtils.isEmpty(entity.getCompanyCode())){
+            errorList.add(new ImportError(1, "璇峰~鍐欎紒涓氱ぞ浼氱紪鐮侊紒"));
+        }
+        if (StringUtils.isEmpty(entity.getCompanyUser())){
+            errorList.add(new ImportError(2, "璇峰~鍐欎紒涓氳仈绯讳汉锛�"));
+        }
+        if (StringUtils.isEmpty(entity.getCompanyPhone())){
+            errorList.add(new ImportError(3, "璇峰~鍐欎紒涓氳仈绯讳汉鐢佃瘽锛�"));
+        }
+        if (StringUtils.isEmpty(entity.getCompanyAddress())){
+            errorList.add(new ImportError(4, "璇峰~鍐欎紒涓氬湴鍧�锛�"));
+        }
+        int codeCount = this.count(lq().eq(SysCompany::getCompanyCode, entity.getCompanyCode()));
+        if (codeCount>0){
+            errorList.add(new ImportError(1, "浼佷笟绀句細缂栫爜宸插瓨鍦紒"));
+        }
+        int nameCount = this.count(lq().eq(SysCompany::getCompanyName, entity.getCompanyName()));
+        if (nameCount>0){
+            errorList.add(new ImportError(0, "浼佷笟鍚嶅凡瀛樺湪锛�"));
+        }
+        int phoneCount = this.count(lq().eq(SysCompany::getCompanyPhone, entity.getCompanyPhone()));
+        if (phoneCount>0){
+            errorList.add(new ImportError(3, "浼佷笟鑱旂郴鐢佃瘽宸插瓨鍦紒"));
+        }
+        entity.setCheckStatus(2);
+    }
+
     /**
      * 娣诲姞浼佷笟鐢ㄦ埛
      * @param entity    浼佷笟淇℃伅

--
Gitblit v1.9.1