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