From 8ce1dcfe07de7dcfd397a0af02689653da0981eb Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期五, 22 十二月 2023 13:49:16 +0800
Subject: [PATCH] 部门分发时,修改正确的预警库存

---
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java |  145 ++++++++++++++++++++++--------------------------
 1 files changed, 67 insertions(+), 78 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
index 25d05a3..3052027 100644
--- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
@@ -12,7 +12,7 @@
 import java.util.Set;
 
 import org.apache.commons.compress.utils.Lists;
-import org.springframework.beans.BeanUtils;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -27,8 +27,10 @@
 import com.alibaba.excel.event.AnalysisEventListener;
 import com.alibaba.excel.exception.ExcelDataConvertException;
 import com.consum.base.BaseController;
+import com.consum.base.core.type.StatesType;
 import com.consum.base.core.utils.CommonUtil;
 import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.core.utils.PageUtil;
 import com.consum.base.pojo.FinSysTenantUserSearchParam;
 import com.consum.base.pojo.FinSysTenantUserUpdParam;
 import com.consum.base.pojo.ImportUserParam;
@@ -37,6 +39,7 @@
 import com.consum.base.pojo.response.FinSysTenantUserVO;
 import com.consum.base.pojo.response.FinSysTenantVO;
 import com.consum.base.pojo.response.UserVO;
+import com.consum.base.service.BaseWarehouseManagerService;
 import com.consum.base.service.FinSysTenantDepartmentService;
 import com.consum.base.service.FinSysTenantService;
 import com.consum.base.service.FinSysTenantUserService;
@@ -51,7 +54,6 @@
 import com.iplatform.model.po.S_dept;
 import com.iplatform.model.po.S_role;
 import com.iplatform.model.po.S_user_core;
-import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
@@ -59,7 +61,6 @@
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
 
-import cn.hutool.core.util.ReflectUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -89,16 +90,15 @@
     private FinSysTenantDepartmentService finSysTenantDepartmentService;
 
     @Autowired
-    public void setUserService(UserServiceImpl userService) {
-        this.userService = userService;
-    }
+    private BaseWarehouseManagerService baseWarehouseManagerService;
 
     @Autowired
     public FinSysTenantUserController(FinSysTenantService finSysTenantService,
-        FinSysTenantUserService finSysTenantUserService, RoleServiceImpl roleService) {
+        FinSysTenantUserService finSysTenantUserService, RoleServiceImpl roleService, UserServiceImpl userService) {
         this.finSysTenantUserService = finSysTenantUserService;
         this.finSysTenantService = finSysTenantService;
         this.roleService = roleService;
+        this.userService = userService;
     }
 
     /**
@@ -119,32 +119,20 @@
                 param.setTenantCode(Long.valueOf(finSysTenant.getCode()));
             }
         }
-        GenericPager<FinSysTenantUser> pager = this.finSysTenantUserService.queryAllPageUser(param);
-
-        List<FinSysTenantUserVO> resultList = new ArrayList<>();
-        for (FinSysTenantUser finSysTenantUser : pager.getDatas()) {
-            FinSysTenantUserVO userVO = new FinSysTenantUserVO();
+        PageUtil<FinSysTenantUserVO> pager = this.finSysTenantUserService.queryAllPageUser(param);
+        for (FinSysTenantUserVO finSysTenantUser : pager.getDatas()) {
             String tel = finSysTenantUser.getUserPhone() != null
                 ? AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY) : null;
             finSysTenantUser.setUserPhone(StringUtils.isNotEmpty(tel) ? PhoneNumberUtils.maskMobile(tel) : "");
 
-            List<S_role> list = finSysTenantUserService.getByUserId(finSysTenantUser.getSysUserId());
+            // 鍒楄〃涓嶉渶瑕佹煡璇㈣鑹诧紝鍙樉绀哄垪琛ㄦ墍闇�瑕佺殑淇℃伅
+            /*List<S_role> list = finSysTenantUserService.getByUserId(finSysTenantUser.getSysUserId());
             StringBuilder roleStr = new StringBuilder();
             list.forEach(s_role -> roleStr.append(s_role.getRole_name()).append(" "));
             finSysTenantUser.setRoleStr(roleStr.toString());
+            finSysTenantUser.setIsSupplier(finSysTenantUser.getSupplierId() != null ? "鏄�" : "鍚�");*/
 
-            finSysTenantUser.setIsSupplier(finSysTenantUser.getSupplierId() != null ? "鏄�" : "鍚�");
-
-            BeanUtils.copyProperties(finSysTenantUser, userVO);
-            FinSysTenantDepartment department = finSysTenantDepartmentService.getById(finSysTenantUser.getSysDeptId());
-            if (Objects.nonNull(department)) {
-                userVO.setSysDeptName(department.getName());
-            }
-            resultList.add(userVO);
         }
-
-        ReflectUtil.setFieldValue(pager, "datas", resultList);
-
         return ResponseValue.success(pager);
     }
 
@@ -212,13 +200,7 @@
         // 鏄惁鍒犻櫎 0鏄� 1鍚�
         tenantUser.setIsDelete(0);
         tenantUser.setSysUserId(NumberGenerator.getLongSequenceNumber());
-        // 鍔犲瘑鎵嬫満鍙�
-        String key = PlatformRSAUtils.AES_KEY;
-        String encPhone = "";
-        if (tenantUser.getUserPhone() != null) {
-            encPhone = AESUtils.encryptStrAES(tenantUser.getUserPhone(), key);
-        }
-        tenantUser.setUserPhone(encPhone);
+        setUserPhone(tenantUser, tenantUser.getUserPhone());
         String tenantId = tenantUser.getTenantId();
         FinSysTenant finSysTenant = finSysTenantService.selectById(Long.valueOf(tenantId));
         tenantUser.setTenantCode(finSysTenant.getCode());
@@ -230,9 +212,19 @@
             tenantUser.setTenantCode(sysInfo.getTenantCode());
             tenantUser.setTenantId(sysInfo.getTenantId());
             // 杩愮淮绠$悊
-            tenantUser.setSysDeptId(2l);
+            tenantUser.setSysDeptId(2L);
         }
 
+    }
+
+    private void setUserPhone(FinSysTenantUser tenantUser, String userPhone) {
+        // 鍔犲瘑鎵嬫満鍙�
+        String key = PlatformRSAUtils.AES_KEY;
+        String encPhone = "";
+        if (StringUtils.isNotEmpty(userPhone)) {
+            encPhone = AESUtils.encryptStrAES(userPhone, key);
+        }
+        tenantUser.setUserPhone(encPhone);
     }
 
     private S_user_core getsUserCore(FinSysTenantUser tenantUser) {
@@ -348,9 +340,7 @@
                 user.setSysUserId(NumberGenerator.getLongSequenceNumber());
                 user.setRemark("鎵归噺瀵煎叆");
                 // 鍔犲瘑鎵嬫満鍙�
-                String key = PlatformRSAUtils.AES_KEY;
-                String encPhone = AESUtils.encryptStrAES(data.getUserPhone(), key);
-                user.setUserPhone(encPhone);
+                setUserPhone(user, data.getUserPhone());
 
                 user.setIsDelete(1);
                 // 鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹�
@@ -435,12 +425,7 @@
         if (tenantUser == null) {
             return ResponseValue.error("鍙傛暟涓虹┖");
         }
-        String key = PlatformRSAUtils.AES_KEY;
-        String encPhone = "";
-        if (tenantUser.getUserPhone() != null) {
-            encPhone = AESUtils.encryptStrAES(tenantUser.getUserPhone(), key);
-        }
-        tenantUser.setUserPhone(encPhone);
+        setUserPhone(tenantUser, tenantUser.getUserPhone());
         // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER
         finSysTenantUserService.update(tenantUser);
         // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE
@@ -450,14 +435,18 @@
         // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ
         // 宸叉湁鐨勬潈闄�
         Long sysUserId = user.getSysUserId();
-        List<S_role> list = finSysTenantUserService.getByUserId(sysUserId);
+        List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysUserId);
         // 閫夋嫨鐨勬潈闄�
         List<Long> roleList = user.getRoleList();
         // 鍏堝垹闄ゅ啀娣诲姞
-        if (list != null && list.size() > 0) {
+        if (!CollectionUtils.isEmpty(list)) {
             finSysTenantUserService.execDelRoleUserList(sysUserId);
+            // 鍒犻櫎搴撶鍛樹俊鎭褰�
+            list.stream().filter(item -> "浠撳簱绠$悊鍛�".equals(item.getRole_name())).findFirst()
+                .ifPresent(item -> baseWarehouseManagerService.deleteMangerBySysUserId(sysUserId));
         }
-        if (roleList != null && roleList.size() > 0) {
+        if (!CollectionUtils.isEmpty(roleList)) {
+            // 鍥犱负涓嶇煡閬撹鐢ㄦ埛闇�瑕佺鐞嗛偅涓粨搴� 鏁呬笉鏂板浠撳簱绠$悊鍛樹俊鎭紝鍙坊鍔犺鑹�
             finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
         }
         this.getFinSysTenantUserCache().remove(sysUserId.toString());
@@ -508,7 +497,7 @@
         finSysTenantUser.setStatus(user.getStatus());
         finSysTenantUserService.update(finSysTenantUser);
         // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE
-        S_user_core userCore = buildUpdateUserCore(tenantUser);
+        S_user_core userCore = buildUpdateUserCore(finSysTenantUser);
         this.userService.update(userCore);
         return ResponseValue.success(1);
     }
@@ -558,13 +547,15 @@
         if (finSysTenantUser == null) {
             return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        String s = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY);
-
-        finSysTenantUser.setUserPhone(s);
+        String phone = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY);
+        finSysTenantUser.setUserPhone(phone);
         Long sysUserId = finSysTenantUser.getSysUserId();
-        List<S_role> list = finSysTenantUserService.getByUserId(sysUserId);
+        List<S_role> roleList = finSysTenantUserService.getRoleBySysUserId(sysUserId);
+        // 杩囨护浠撳簱绠$悊鍛樼殑鏄剧ず
+        roleList.removeIf(role -> role.getRole_name().equals("浠撳簱绠$悊鍛�"));
+
         HashMap<String, Object> map = new HashMap<>();
-        map.put("list", list);
+        map.put("list", roleList);
         map.put("data", finSysTenantUser);
         return ResponseValue.success(map);
     }
@@ -587,10 +578,11 @@
                 sysInfo.setUserPhone(AESUtils.decryptStrAES(userPhone, key));
             }
 
-            // 鏌ヨ 鐢ㄦ埛瑙掕壊 TODO 涓存椂瑙e喅 灏嗘潵鏀鹃厤缃枃浠朵腑
+            // 鏌ヨ 鐢ㄦ埛瑙掕壊
             // 宸叉湁鐨勬潈闄�
-            List<S_role> list = finSysTenantUserService.getByUserId(sysInfo.getSysUserId());
+            List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysInfo.getSysUserId());
             for (S_role s_role : list) {
+                // TODO 涓存椂瑙e喅 灏嗘潵鏀鹃厤缃枃浠朵腑
                 if (s_role.getRole_id() != null && s_role.getRole_id().equals(1690961420053L)) {
                     sysInfo.setKfStatus(1);
                 }
@@ -598,19 +590,15 @@
 
             // 鏌ヨ鐖剁被鐨刼rgcode 闇�瑕佸皢鑷繁鐨刼rg鍏堟煡鍑烘潵 鍐嶆牴鎹畃arentid 鏌ョ埗绫�
             String tenantId = sysInfo.getTenantId();
-            if (tenantId != null && !tenantId.equals("")) {
-                List<FinSysTenant> select = finSysTenantService.select(new FinSysTenant(Long.valueOf(tenantId)));
-                if (select != null && select.size() > 0) {
-                    FinSysTenant finSysTenant = select.get(0);
-                    if (finSysTenant != null && finSysTenant.getParentId() != null) {
-                        List<FinSysTenant> parents =
-                            finSysTenantService.select(new FinSysTenant(finSysTenant.getParentId()));
-                        if (parents != null && parents.size() > 0) {
-                            sysInfo.setParentCode(parents.get(0).getCode());
-                        }
+            if (StringUtils.isNotEmpty(tenantId)) {
+                FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(Long.valueOf(tenantId)));
+                if (finSysTenant != null && finSysTenant.getParentId() != null) {
+                    FinSysTenant parentTenant = finSysTenantService.get(new FinSysTenant(finSysTenant.getParentId()));
+                    if (ObjectUtils.isNotEmpty(parentTenant)) {
+                        sysInfo.setParentCode(parentTenant.getCode());
                     }
-
                 }
+
             }
         }
         return ResponseValue.success(sysInfo);
@@ -633,14 +621,18 @@
         }
         // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ
         // 宸叉湁鐨勬潈闄�
-        List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId());
+        List<S_role> list = finSysTenantUserService.getRoleBySysUserId(user.getSysUserId());
         // 閫夋嫨鐨勬潈闄�
         List<Long> roleList = user.getRoleList();
         // 鍏堝垹闄ゅ啀娣诲姞
-        if (list != null && list.size() > 0) {
-            finSysTenantUserService.execDelRoleUserList(user.getSysUserId());
+        if (!CollectionUtils.isEmpty(list)) {
+            Long sysUserId = user.getSysUserId();
+            finSysTenantUserService.execDelRoleUserList(sysUserId);
+            // 鍒犻櫎搴撶鍛樹俊鎭褰�
+            list.stream().filter(item -> "浠撳簱绠$悊鍛�".equals(item.getRole_name())).findFirst()
+                .ifPresent(item -> baseWarehouseManagerService.deleteMangerBySysUserId(sysUserId));
         }
-        if (roleList != null && roleList.size() > 0) {
+        if (!CollectionUtils.isEmpty(roleList)) {
             finSysTenantUserService.execInsertRoleUserList(roleList, user.getSysUserId());
         }
         return ResponseValue.success(1);
@@ -663,7 +655,7 @@
         }
         // 鑾峰彇杩愮淮绠$悊
         List<S_dept> depts = this.finSysTenantUserService.selectDept(roleName);
-        if (depts == null || depts.size() == 0) {
+        if (CollectionUtils.isEmpty(depts)) {
             return ResponseValue.error(roleName + "鐨勮鑹蹭笉瀛樺湪");
         }
         // 鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
@@ -724,21 +716,16 @@
             return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
         String avatar = userParam.getAvatar();
-        if (!picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) {
+        if (StringUtils.isNotEmpty(avatar) && !picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) {
             return ResponseValue.error("澶村儚鏍煎紡涓嶅厑璁�");
         }
         FinSysTenantUser updUser = new FinSysTenantUser();
         updUser.setId(sysInfo.getId());
-        updUser.setAvatar(userParam.getAvatar());
+        updUser.setAvatar(avatar);
         updUser.setEmail(userParam.getEmail());
         updUser.setUserName(userParam.getUserName());
         updUser.setSex(userParam.getSex());
-        String encPhone = "";
-        if (userParam.getUserPhone() != null) {
-            String key = PlatformRSAUtils.AES_KEY;
-            encPhone = AESUtils.encryptStrAES(userParam.getUserPhone(), key);
-        }
-        updUser.setUserPhone(encPhone);
+        setUserPhone(updUser, userParam.getUserPhone());
         // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER
         finSysTenantUserService.update(updUser);
         // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE
@@ -832,6 +819,8 @@
         // 閮ㄩ棬
         FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
         finSysTenantDepartment.setTenantId(agencyId);
+        finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue());
+        finSysTenantDepartment.setIsDelete(0);
         List<FinSysTenantDepartment> tenantDepartmentList =
             finSysTenantDepartmentService.select(finSysTenantDepartment);
         List<DepartmentVO> departmentVOList = Lists.newArrayList();
@@ -843,8 +832,8 @@
             departmentVO.setName(department.getName());
             departmentVO.setType("department");
 
-            String sql = "SELECT SYS_USER_ID,USER_NAME FROM " + "fin_sys_tenant_user "
-                + "WHERE SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)";
+            String sql = "SELECT SYS_USER_ID,USER_NAME FROM fin_sys_tenant_user "
+                + "WHERE STATUS =1 and SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)";
             Map<String, Object> param = new HashMap<>();
             param.put("deptId", id);
             List<Map<String, Object>> select = finSysTenantUserService.select(sql, param, new MapperUtil());

--
Gitblit v1.9.1