From 209d9c6f60d96fc29fad0bd2f9dad8fe8424f91f Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期五, 17 十一月 2023 18:10:47 +0800
Subject: [PATCH] 调拨管理

---
 consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 80 insertions(+), 3 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java
index 180efd4..6ad2ed7 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java
@@ -1,9 +1,19 @@
 package com.consum.base.service;
 
 import com.consum.base.core.utils.IdUtil;
+import com.consum.base.pojo.WarehouseManagerInfo;
+import com.consum.base.pojo.WarehouseManagerParam;
 import com.consum.model.po.BaseWarehouseManager;
+import com.consum.model.po.FinSysTenantUser;
+import com.iplatform.model.po.S_role;
+import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @Description 鐗╁搧鍒嗙被
@@ -13,13 +23,80 @@
 @Service
 public class BaseWarehouseManagerServiceImpl extends BaseServiceImpl {
 
+    @Autowired
+    private FinSysTenantUserServiceImpl finSysTenantUserService;
+
     /**
      * @Description 鏂板
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
-    public int add(BaseWarehouseManager baseWarehouseManager) {
-        baseWarehouseManager.setId(IdUtil.generateId());
-        return this.insert(baseWarehouseManager);
+    @Transactional(rollbackFor = Exception.class)
+    public void add(WarehouseManagerParam list) throws Exception {
+
+        Long warehouseId = list.getWarehouseId();
+
+        // 瑙掕壊id
+        Long roleId = null;
+        List<S_role> roleAll = finSysTenantUserService.getRoleAll();
+        if (!CollectionUtils.isEmpty(roleAll)) {
+            S_role sRole = roleAll.stream().filter(item -> item.getRole_name().equals("浠撳簱绠$悊鍛�")).findFirst().orElse(null);
+            if (sRole != null) {
+                roleId = sRole.getRole_id();
+            }
+        }
+
+        // 鍒犻櫎瑙掕壊
+        BaseWarehouseManager warehouseManager = new BaseWarehouseManager();
+        warehouseManager.setBaseWarehouseId(warehouseId);
+        List<BaseWarehouseManager> baseWarehouseManagerList = this.select(warehouseManager);
+        String deleteRoleSql = "DELETE FROM S_ROLE_USER WHERE USER_ID =:managerId AND role_id =:roleId";
+        for (BaseWarehouseManager item : baseWarehouseManagerList) {
+            Long managerId = item.getManagerId();
+            FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(String.valueOf(managerId));
+            if (finSysTenantUser == null) {
+                throw new Exception("鐢ㄦ埛涓嶅瓨鍦�");
+            }
+            Map<String, Object> params = new HashMap<>();
+            params.put("managerId", finSysTenantUser.getSysUserId());
+            params.put("roleId", roleId);
+            this.execute(deleteRoleSql, params);
+        }
+
+        //鍒犻櫎搴撶璁板綍
+        String sql = "delete from base_warehouse_manager where base_warehouse_id =:warehouseId";
+        Map<String, Object> params = new HashMap<>();
+        params.put("warehouseId", warehouseId);
+        this.execute(sql, params);
+        //閲嶆柊淇濆瓨
+        List<WarehouseManagerInfo> warehouseManagerInfoList = list.getWarehouseManagerInfoList();
+        if (!CollectionUtils.isEmpty(warehouseManagerInfoList)) {
+            for (WarehouseManagerInfo warehouseManagerInfo : warehouseManagerInfoList) {
+                Long managerId = warehouseManagerInfo.getManagerId();
+                String managerName = warehouseManagerInfo.getManagerName();
+                BaseWarehouseManager baseWarehouseManager = new BaseWarehouseManager();
+                baseWarehouseManager.setId(IdUtil.generateId());
+                baseWarehouseManager.setBaseWarehouseId(warehouseId);
+                baseWarehouseManager.setManagerId(managerId);
+                baseWarehouseManager.setManagerName(managerName);
+                this.insert(baseWarehouseManager);
+
+                FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(String.valueOf(managerId));
+                if (finSysTenantUser == null) {
+                    throw new Exception("鐢ㄦ埛涓嶅瓨鍦�");
+                }
+                Long sysUserId = finSysTenantUser.getSysUserId();
+                String saveUserRole = "insert into s_role_user(user_id, role_id, org_id) values(:managerId,:roleId,0)";
+                Map<String, Object> userRoleParam = new HashMap<>();
+                userRoleParam.put("managerId", sysUserId);
+                userRoleParam.put("roleId", roleId);
+                this.execute(saveUserRole, userRoleParam);
+//                this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
+
+            }
+        }
+
     }
+
+
 }

--
Gitblit v1.9.1