From 8f918cb6db02c39e67ce7b0d77cc1be5ed26edaf Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 25 八月 2023 11:03:28 +0800
Subject: [PATCH] # 企业端用户

---
 server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java b/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java
index e14e811..3b1a1a6 100644
--- a/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java
+++ b/server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java
@@ -10,6 +10,7 @@
 import doumeemes.core.utils.DateUtil;
 import doumeemes.core.utils.Utils;
 import doumeemes.core.utils.excel.EasyExcelUtil;
+import doumeemes.dao.business.CompanyMapper;
 import doumeemes.dao.business.CompanyPositionMapper;
 import doumeemes.dao.business.dto.AutoLoginUserDTO;
 import doumeemes.dao.business.dto.CompanyInitDataDTO;
@@ -78,6 +79,9 @@
     private DepartmentExtService departmentExtService;
     @Autowired
     private CompanyUserExtMapper companyUserExtMapper;
+
+    @Autowired
+    private CompanyMapper companyMapper;
 
     @Override
     public void deleteById(Integer id) {
@@ -213,10 +217,13 @@
                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绗��"+index+"銆戣銆愭墜鏈哄彿銆戝憳宸ヨ处鍙峰凡缁忓瓨锛�");
             }
             cuu.setPhone(null);
-            cuu.setCode(p.getNo());
-            if(companyUserService.findOne(cuu) !=null){
-                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绗��"+index+"銆戣銆愬伐鍙枫�戝凡缁忓瓨锛�");
+            if (StringUtils.isNotBlank(p.getNo())){
+                cuu.setCode(p.getNo());
+                if(companyUserService.findOne(cuu) !=null){
+                    throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绗��"+index+"銆戣銆愬伐鍙枫�戝凡缁忓瓨锛�");
+                }
             }
+
             SystemUser systemUser = new SystemUser();
             systemUser.setUsername(cu.getPhone());
             systemUser.setDeleted(Boolean.FALSE);
@@ -543,10 +550,11 @@
             cu.setDeleted(Constants.ZERO);
             cu.setRootDepartId(loginUser.getRootDepartment().getId());
             //闄愬埗浜烘暟
-            int limitUserNum = Constants.formatIntegerNum(loginUser.getCompany().getOpenUserNum());
-            if(limitUserNum > 0){
+//            int limitUserNum = Constants.formatIntegerNum(loginUser.getCompany().getOpenUserNum());
+            Company company = companyMapper.selectById(loginUser.getCompany().getId());
+            if(company.getOpenUserNum() > 0){
                 //浜烘暟闄愬埗杈撳叆0锛岃〃绀轰笉闄愬埗浜烘暟
-                if(companyUserExtMapper.selectCount(new QueryWrapper<>(cu)) +1 > limitUserNum ){
+                if(companyUserExtMapper.selectCount(new QueryWrapper<>(cu)) +1 > company.getOpenUserNum() ){
                     throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛鏁伴噺瓒呰繃璐拱鏁伴噺锛岃鑱旂郴涓氬姟缁忕悊缁喘!");
                 }
             }
@@ -570,10 +578,14 @@
                     throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙峰凡瀛樺湪锛�");
                 }
             }
-            cu.setCode(systemUser.getEmpNo());
-            if(companyUserService.findOne(cu) !=null){
-                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
+            //瀛樺湪宸ュ彿闇�瑕佸敮涓�鍒ゆ柇
+            if (StringUtils.isNotBlank(systemUser.getEmpNo())){
+                cu.setCode(systemUser.getEmpNo());
+                if(companyUserService.findOne(cu) !=null){
+                    throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
+                }
             }
+
             cu.setUserId(userId);
             cu.setComDepartId(loginUser.getComDepartment().getId());
             cu.setCreateUser(loginUser.getId());
@@ -689,6 +701,8 @@
                 if (codeUser != null && !codeUser.getId().equals(cu.getId())) {
                     throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
                 }
+            }else if (StringUtils.isBlank(systemUser.getEmpNo())) {
+                u.setCode(systemUser.getEmpNo());
             }
             u.setId(cu.getId());
             u.setName(systemUser.getRealname());

--
Gitblit v1.9.3