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/FinSysTenantUserServiceImpl.java |  166 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 98 insertions(+), 68 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java
index 037b2f0..b802998 100644
--- a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java
@@ -10,44 +10,46 @@
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import org.springframework.stereotype.Service;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.springframework.stereotype.Service;
 
 @Service
 public class FinSysTenantUserServiceImpl extends BaseServiceImpl {
 
-    private static final String SQL_GET_USER = "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 1 AND `STATUS` = 1 AND TENANT_ID = ?";
-    private static final String SQL_QH_PAGE_USER_PREFIX = "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 1 ";
-    private static final String SQL_QH_PAGE_USER_PREFIX_NEW = "select fstu.* from FIN_SYS_TENANT_USER fstu where IS_DELETE = 1 and status=1  ";
-    private static final String SQL_TENANT_USER = "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n" +
-            "left join (SELECT CODE, NAME AS TENANT_NAME, LV FROM FIN_SYS_TENANT) fst ON fstu.TENANT_CODE = fst.CODE\n" +
-            "where fstu.SYS_USER_ID = ?";
+    private static final String SQL_GET_USER = "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 0 AND `STATUS` = 1 AND TENANT_ID = ?";
+    private static final String SQL_QH_PAGE_USER_PREFIX = "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 0 ";
+    private static final String SQL_QH_PAGE_USER_PREFIX_NEW = "select fstu.* from FIN_SYS_TENANT_USER fstu where IS_DELETE = 0 and status=1  ";
+    private static final String SQL_TENANT_USER = "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n"
+        + "left join (SELECT CODE, NAME AS TENANT_NAME, LV FROM FIN_SYS_TENANT) fst ON fstu.TENANT_CODE = fst.CODE\n" + "where fstu.SYS_USER_ID = ?";
     private static final String SQL_TENANT_USER_BY_USER_ID = "select * from FIN_SYS_TENANT_USER where SYS_USER_ID = ? AND STATUS = 1";
-    private static final String SQL_INSERT_ROLE_USER="insert into s_role_user(user_id, role_id, org_id) values(?,?,0)";
+    private static final String SQL_INSERT_ROLE_USER = "insert into s_role_user(user_id, role_id, org_id) values(?,?,0)";
 
-    private static final String SQL_DELETE_ROLE_USER="DELETE FROM S_ROLE_USER WHERE USER_ID =?";
+    private static final String SQL_DELETE_ROLE_USER = "DELETE FROM S_ROLE_USER WHERE USER_ID =?";
 
-    private static final String SQL_SELECT_USER_CODE="SELECT * FROM FIN_SYS_TENANT_USER  where  1 = 1 ";
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍜岃鑹瞚d鍒犻櫎瑙掕壊
+     */
+    private static final String SQL_DELETE_ROLE_BY_USER_ID_AND_ROLE_ID = "DELETE FROM S_ROLE_USER WHERE USER_ID =? AND role_id =?";
 
-    private static final String SQL_SELECT_USER_ID="SELECT * FROM S_ROLE where 1=1 ";
+    private static final String SQL_SELECT_USER_CODE = "SELECT * FROM FIN_SYS_TENANT_USER  where  1 = 1 ";
+
+    private static final String SQL_SELECT_USER_ID = "SELECT * FROM S_ROLE where 1=1 ";
     private static final String SQL_DEPT_ROLES = "select * from s_dept where  status=0 and del_flag=0";
 
     private static final String SQL_FIN_SYS_ORG = "SELECT * from FIN_SYS_ORG where ID=?";
 
 
-    private static final String SQL_TENANT_KF_USER = "select fstu.*, sru.USER_ID from FIN_SYS_TENANT_USER fstu\n" +
-            "left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = '1690961420053') sru ON fstu.SYS_USER_ID = sru.USER_ID\n" +
-            "WHERE IS_DELETE = 1 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND TENANT_CODE = ?";
+    private static final String SQL_TENANT_KF_USER = "select fstu.*, sru.USER_ID from FIN_SYS_TENANT_USER fstu\n"
+        + "left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = '1690961420053') sru ON fstu.SYS_USER_ID = sru.USER_ID\n"
+        + "WHERE IS_DELETE = 0 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND TENANT_CODE = ?";
 
-    private static final String SQL_TEAM_KF_USER = "select fstu.*, sru.USER_ID,FST2.CODE as PARENT_Code from FIN_SYS_TENANT_USER fstu\n" +
-            " left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = 2) sru ON fstu.SYS_USER_ID = sru.USER_ID\n" +
-            " LEFT JOIN FIN_SYS_TENANT FST ON FST.CODE = fstu.TENANT_CODE \n" +
-            " LEFT JOIN FIN_SYS_TENANT FST2 ON FST2.ID = FST.PARENT_ID \n" +
-            "            WHERE IS_DELETE = 1 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND fstu.ID != ?";
+    private static final String SQL_TEAM_KF_USER = "select fstu.*, sru.USER_ID,FST2.CODE as PARENT_Code from FIN_SYS_TENANT_USER fstu\n"
+        + " left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = 2) sru ON fstu.SYS_USER_ID = sru.USER_ID\n"
+        + " LEFT JOIN FIN_SYS_TENANT FST ON FST.CODE = fstu.TENANT_CODE \n" + " LEFT JOIN FIN_SYS_TENANT FST2 ON FST2.ID = FST.PARENT_ID \n"
+        + "            WHERE IS_DELETE = 0 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND fstu.ID != ?";
 
     /**
      * @Description 鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛
@@ -57,19 +59,19 @@
     public GenericPager<FinSysTenantUser> queryAllPageUser(FinSysTenantUserSearchParam param) {
         Map<String, Object> parameter = new HashMap<>(5);
         StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX);
-        if(param.getTenantCode() > 0){
+        if (param.getTenantCode() > 0) {
             sql.append(" and fstu.TENANT_CODE =:tenantCode");
             parameter.put("tenantCode", param.getTenantCode());
         }
-        if(param.getSupplierId() !=null  ){
+        if (param.getSupplierId() != null) {
             sql.append(" and fstu.supplier_Id =:supplier_Id");
             parameter.put("supplier_Id", param.getSupplierId());
         }
-        if(StringUtils.isNotEmpty(param.getUserName())){
+        if (StringUtils.isNotEmpty(param.getUserName())) {
             sql.append(" and USER_NAME like :userName");
             parameter.put("userName", StringUtils.CHAR_PERCENT + param.getUserName() + StringUtils.CHAR_PERCENT);
         }
-        if(StringUtils.isNotEmpty(param.getUserCode())){
+        if (StringUtils.isNotEmpty(param.getUserCode())) {
             sql.append(" and USER_CODE like :USER_CODE");
             parameter.put("USER_CODE", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
         }
@@ -77,7 +79,7 @@
 //            sql.append(" and user_code like :user_code");
 //            parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
 //        }
-        if(param.getStatus()!=null){
+        if (param.getStatus() != null) {
             sql.append(" and status =:status");
             parameter.put("status", param.getStatus());
         }
@@ -87,8 +89,7 @@
 //            parameter.put("role_id", param.getRoleId());
 //        }
 
-
-        if(StringUtils.isNotEmpty(param.getUserPhone())){
+        if (StringUtils.isNotEmpty(param.getUserPhone())) {
             sql.append(" and USER_PHONE =:userPhone");
             try {
                 // 鍔犲瘑鎵嬫満鍙�
@@ -101,15 +102,15 @@
         }
 
         // 杩欓噷鏄�夋嫨浜哄憳鍔犵殑
-        if(param.getType()!=null){
-                // 1 鏄储鏀跨敤鎴�  2 渚涘簲鍟�  浠栦咯鐨勫尯鍒氨鏄� 渚涘簲鍟唅d鏄惁涓虹┖
-               if(param.getType()==1){
-                   sql.append(" and  fstu.supplier_Id is  null  ");
-               }
+        if (param.getType() != null) {
+            // 1 鏄储鏀跨敤鎴�  2 渚涘簲鍟�  浠栦咯鐨勫尯鍒氨鏄� 渚涘簲鍟唅d鏄惁涓虹┖
+            if (param.getType() == 1) {
+                sql.append(" and  fstu.supplier_Id is  null  ");
+            }
 
-               if(param.getType()==2){
-                      //杩欓噷鏄� 鏌ョ殑渚涘簲鍟�   渚涘簲鍟唅d 宸茬粡鍦ㄤ笂闈㈠姞杩囦簡
-               }
+            if (param.getType() == 2) {
+                //杩欓噷鏄� 鏌ョ殑渚涘簲鍟�   渚涘簲鍟唅d 宸茬粡鍦ㄤ笂闈㈠姞杩囦簡
+            }
         }
         // 缁戝畾CTI瀹㈡湇
         if (param.getCtiStatus() != null) {
@@ -124,7 +125,6 @@
     }
 
 
-
     /**
      * @Description 鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛
      * @Author wh
@@ -133,34 +133,33 @@
     public GenericPager<FinSysTenantUser> queryAllPageUserNew(FinSysTenantUserSearchParam param) {
         Map<String, Object> parameter = new HashMap<>(5);
         StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX_NEW);
-        if(param.getTenantCode() > 0){
+        if (param.getTenantCode() > 0) {
             sql.append(" and fstu.TENANT_CODE =:tenantCode");
             parameter.put("tenantCode", param.getTenantCode());
         }
-        if(param.getSupplierId() !=null  ){
+        if (param.getSupplierId() != null) {
             sql.append(" and fstu.supplier_Id =:supplier_Id");
             parameter.put("supplier_Id", param.getSupplierId());
         }
-        if(StringUtils.isNotEmpty(param.getUserName())){
+        if (StringUtils.isNotEmpty(param.getUserName())) {
             sql.append(" and USER_NAME like :userName");
             parameter.put("userName", StringUtils.CHAR_PERCENT + param.getUserName() + StringUtils.CHAR_PERCENT);
         }
-        if(StringUtils.isNotEmpty(param.getUserCode())){
+        if (StringUtils.isNotEmpty(param.getUserCode())) {
             sql.append(" and user_code like :user_code");
             parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
         }
-        if(param.getStatus()!=null){
+        if (param.getStatus() != null) {
             sql.append(" and status like :status");
             parameter.put("status", param.getStatus());
         }
 
-        if(param.getRoleId()!=null &&!param.getRoleId().equals("")){
+        if (param.getRoleId() != null && !param.getRoleId().equals("")) {
             sql.append(" and fstu.SYS_USER_ID  in  (select  user_id    from s_role_user where role_id = :role_id)");
             parameter.put("role_id", param.getRoleId());
         }
 
-
-        if(StringUtils.isNotEmpty(param.getUserPhone())){
+        if (StringUtils.isNotEmpty(param.getUserPhone())) {
             sql.append(" and USER_PHONE =:userPhone");
             try {
                 // 鍔犲瘑鎵嬫満鍙�
@@ -173,13 +172,13 @@
         }
 
         // 杩欓噷鏄�夋嫨浜哄憳鍔犵殑
-        if(param.getType()!=null){
+        if (param.getType() != null) {
             // 1 鏄储鏀跨敤鎴�  2 渚涘簲鍟�  浠栦咯鐨勫尯鍒氨鏄� 渚涘簲鍟唅d鏄惁涓虹┖
-            if(param.getType()==1){
+            if (param.getType() == 1) {
                 sql.append(" and  fstu.supplier_Id is  null  ");
             }
 
-            if(param.getType()==2){
+            if (param.getType() == 2) {
                 //杩欓噷鏄� 鏌ョ殑渚涘簲鍟�   渚涘簲鍟唅d 宸茬粡鍦ㄤ笂闈㈠姞杩囦簡
             }
         }
@@ -191,7 +190,7 @@
         FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
         finSysTenantUser.setId(Long.valueOf(id));
         List<FinSysTenantUser> finSysTenantUserList = this.select(finSysTenantUser);
-        if(!StringUtils.isEmptyList(finSysTenantUserList)){
+        if (!StringUtils.isEmptyList(finSysTenantUserList)) {
             return finSysTenantUserList.get(0);
         }
         return null;
@@ -208,13 +207,14 @@
 
     /**
      * 鎵归噺娣诲姞瑙掕壊瀵瑰簲鐨勭敤鎴枫��
+     *
      * @param roleIdList
      * @param userId
      */
-    public void execInsertRoleUserList(List<Long> roleIdList, Long userId){
+    public void execInsertRoleUserList(List<Long> roleIdList, Long userId) {
         List<Object[]> parameters = new ArrayList<>();
         Object[] one = null;
-        for(long roleId : roleIdList){
+        for (long roleId : roleIdList) {
             one = new Object[2];
             one[0] = userId;
             one[1] = roleId;
@@ -226,11 +226,11 @@
     /**
      * 鎵归噺娣诲姞瑙掕壊瀵瑰簲鐨勭敤鎴枫�傛敮鎸佸悓鏃跺涓敤鎴�
      */
-    public void execInsertRoleUserList(List<FinSysTenantUser> finSysTenantUsers){
+    public void execInsertRoleUserList(List<FinSysTenantUser> finSysTenantUsers) {
         List<Object[]> parameters = new ArrayList<>();
         for (FinSysTenantUser finSysTenantUser : finSysTenantUsers) {
             Object[] one = null;
-            for(long roleId : finSysTenantUser.getRoleList()){
+            for (long roleId : finSysTenantUser.getRoleList()) {
                 one = new Object[2];
                 one[0] = finSysTenantUser.getSysUserId();
                 one[1] = roleId;
@@ -243,42 +243,59 @@
 
     /**
      * 鎵归噺鍒犻櫎鐢ㄦ埛瑙掕壊
+     *
      * @param userId
      */
-    public void execDelRoleUserList(Long userId){
+    public void execDelRoleUserList(Long userId) {
         List<Object[]> parameters = new ArrayList<>();
         Object[] one = new Object[1];
-        one[0]=userId;
+        one[0] = userId;
         parameters.add(one);
         this.execBatchUpdate(SQL_DELETE_ROLE_USER, parameters);
+    }
+
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍜岃鑹瞚d鍒犻櫎鐢ㄦ埛瑙掕壊
+     *
+     * @param userId
+     */
+    public void execDeleteRoleByUserIdAndRoleId(Long userId, Long roleId) {
+        List<Object[]> parameters = new ArrayList<>();
+        Object[] one = new Object[2];
+        one[0] = userId;
+        one[1] = roleId;
+        parameters.add(one);
+        this.execBatchUpdate(SQL_DELETE_ROLE_BY_USER_ID_AND_ROLE_ID, parameters);
     }
 
 
     /**
      * 鏍规嵁userCode鏌ヨ閲嶅銆�
-     * @param userCode  鐢ㄦ埛鐧诲綍鏍囪瘑
+     *
+     * @param userCode 鐢ㄦ埛鐧诲綍鏍囪瘑
      * @return
      */
-    public Integer getByUserCode(String userCode){
+    public Integer getByUserCode(String userCode) {
         Map<String, Object> parameter = new HashMap<>();
         StringBuilder sql = new StringBuilder(SQL_SELECT_USER_CODE);
         sql.append("and  USER_CODE= :userCode");
         parameter.put("userCode", userCode);
         sql.append(" limit 1");
         List<FinSysTenantUser> select = this.select(sql.toString(), parameter, new FinSysTenantUser());
-        Integer flag=0;
-        if (select!=null && select.size() >0){
-            flag=select.size();
+        Integer flag = 0;
+        if (select != null && select.size() > 0) {
+            flag = select.size();
         }
         return flag;
     }
 
     /**
      * 鏍规嵁USERID鏌ヨ瑙掕壊
+     *
      * @param userId
      * @return
      */
-    public List<S_role> getByUserId(Long userId){
+    public List<S_role> getByUserId(Long userId) {
         Map<String, Object> parameter = new HashMap<>();
         StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID);
         sql.append("and ROLE_ID IN (SELECT DISTINCT(ROLE_ID) FROM S_ROLE_USER WHERE USER_ID= :userId )");
@@ -287,11 +304,23 @@
         return select;
     }
 
+    /**
+     * 鏌ヨ鎵�鏈夎鑹插垪琛�
+     *
+     * @return
+     */
+    public List<S_role> getRoleAll() {
+        Map<String, Object> parameter = new HashMap<>();
+        StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID);
+        List<S_role> select = this.select(sql.toString(), parameter, new S_role());
+        return select;
+    }
+
     public List<S_dept> selectDept(String deptName) {
-        StringBuilder sqlStr=new StringBuilder(SQL_DEPT_ROLES);
+        StringBuilder sqlStr = new StringBuilder(SQL_DEPT_ROLES);
         Map<String, Object> paramts = new HashMap<>();
         sqlStr.append(" and dept_name =:dept_name");
-        paramts.put("dept_name",deptName);
+        paramts.put("dept_name", deptName);
         List<S_dept> orgDeptList = this.select(sqlStr.toString(), paramts, new S_dept());
         return orgDeptList;
     }
@@ -328,6 +357,7 @@
 
     /**
      * 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
+     *
      * @param orgId
      * @return
      */
@@ -345,15 +375,15 @@
         }
     }
 
-    private static final String SQL_GET_ALL_USER = "select DISTINCT( fstu.sys_user_id), fstu.USER_NAME as USER_Name, fstu.id as Id from (\n" +
-            "SELECT DISTINCT(CREATE_BY), EVENT_MANAGE_ID FROM FIN_EVENT_MANAGE_RECORD) femr LEFT JOIN FIN_SYS_TENANT_USER fstu ON femr.CREATE_BY = fstu.ID\n" +
-            "LEFT JOIN FIN_EVENT_MANAGE fem ON fem.id = femr.EVENT_MANAGE_ID WHERE USER_NAME is not NULL ";
+    private static final String SQL_GET_ALL_USER = "select DISTINCT( fstu.sys_user_id), fstu.USER_NAME as USER_Name, fstu.id as Id from (\n"
+        + "SELECT DISTINCT(CREATE_BY), EVENT_MANAGE_ID FROM FIN_EVENT_MANAGE_RECORD) femr LEFT JOIN FIN_SYS_TENANT_USER fstu ON femr.CREATE_BY = fstu.ID\n"
+        + "LEFT JOIN FIN_EVENT_MANAGE fem ON fem.id = femr.EVENT_MANAGE_ID WHERE USER_NAME is not NULL ";
 
     /**
      * @Description 鏌ヨ鏁版嵁缁熻鐨勪俊鎭�
      * @Author wh
      * @Date 2023/9/5 11:53
-     * */
+     */
     public List<FinSysTenantUser> getStatics(FinSysTenantUserSearchParam finSysTenantUserSearchParam) {
         Map<String, Object> parameters = new HashMap<>(10);
         StringBuilder sql = new StringBuilder(SQL_GET_ALL_USER);
@@ -363,11 +393,11 @@
             sql.append(" and fstu.USER_NAME like :userName");
             parameters.put("userName", StringUtils.CHAR_PERCENT + finSysTenantUserSearchParam.getUserName() + StringUtils.CHAR_PERCENT);
         }
-        if(finSysTenantUserSearchParam.getStartTime() != null && finSysTenantUserSearchParam.getStartTime() > 0){
+        if (finSysTenantUserSearchParam.getStartTime() != null && finSysTenantUserSearchParam.getStartTime() > 0) {
             sql.append(" and fem.create_time >= :startTime");
             parameters.put("startTime", finSysTenantUserSearchParam.getStartTime());
         }
-        if(finSysTenantUserSearchParam.getEndTime() != null && finSysTenantUserSearchParam.getEndTime() > 0){
+        if (finSysTenantUserSearchParam.getEndTime() != null && finSysTenantUserSearchParam.getEndTime() > 0) {
             sql.append(" and fem.create_time <= :endTime");
             parameters.put("endTime", finSysTenantUserSearchParam.getEndTime());
         }

--
Gitblit v1.9.1