From 0f9fbc954424a0d9f62944e3981f8515c995cfdd Mon Sep 17 00:00:00 2001
From: "HUOJIN\\92525" <925258474@qq.com>
Date: Tue, 15 Apr 2025 10:01:05 +0800
Subject: [PATCH] no message
---
 nc_wms_java/pom.xml                           |  15 ++-
 .../JimuDragExternalServiceImpl.java          | 117 ++++++++++++++++++
 .../JimuReportTokenServiceImpl.java           |  44 ++++++-
 nc_wms_java/sa-base/pom.xml                   |   5 -
 4 files changed, 163 insertions(+), 18 deletions(-)
 create mode 100644 nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuDragExternalServiceImpl.java
diff --git a/nc_wms_java/pom.xml b/nc_wms_java/pom.xml
index 6bb888c..48d5de8 100644
--- a/nc_wms_java/pom.xml
+++ b/nc_wms_java/pom.xml
@@ -22,7 +22,7 @@
         3.3.1
         2.0.8
         6.4.3
-        3.5.5
+        3.5.7
         3.9.1
         4.4.0
         2.0.52
@@ -60,7 +60,6 @@
         1.18.1
         3.1.0
         1.9.4
-        1.9.4.1
         1.9.4
     
 
@@ -348,16 +347,16 @@
                 ${jimureport-spring.version}
             
 
-            
-                org.jeecgframework.jimureport
-                jimureport-nosql-starter
-                ${jimureport-nosql.version}
-            
-
             
                 org.jeecgframework.jimureport
                 jimubi-spring-boot3-starter
                 ${jimubi-spring.version}
+                
+                    
+                        com.github.jsqlparser
+                        jsqlparser
+                    
+                
             
 
         
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuDragExternalServiceImpl.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuDragExternalServiceImpl.java
new file mode 100644
index 0000000..2ec3f8a
--- /dev/null
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuDragExternalServiceImpl.java
@@ -0,0 +1,117 @@
+package net.lab1024.sa.admin.module.business.wms.jimuReport;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.modules.drag.service.IOnlDragExternalService;
+import org.jeecg.modules.drag.vo.DragDictModel;
+import org.jeecg.modules.drag.vo.DragLogDTO;
+import org.jeecg.modules.jmreport.common.util.OkConvertUtils;
+import org.jeecg.modules.jmreport.common.vo.JmDictModel;
+import org.jeecg.modules.jmreport.desreport.service.IJimuReportDictService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 字典处理
+ * @Author: lsq
+ * @Date:2023-01-09
+ * @Version:V1.0
+ */
+@Slf4j
+@Component
+public class JimuDragExternalServiceImpl implements IOnlDragExternalService {
+
+
+    @Autowired
+    @Lazy
+    private IJimuReportDictService reportDictService;
+
+    /**
+     * 根据多个字典code查询多个字典项
+     *
+     * @param codeList
+     * @return key = dictCode ; value=对应的字典项
+     */
+    @Override
+    public Map> getManyDictItems(List codeList, List tableDictList) {
+        Map> manyDragDictItems = new HashMap<>();
+        if (!CollectionUtils.isEmpty(codeList)) {
+            Map> dictItemsMap = reportDictService.getManyDictItems(codeList);
+            dictItemsMap.forEach((k, v) -> {
+                List dictItems = new ArrayList<>();
+                v.forEach(dictItem -> {
+                    DragDictModel dictModel = new DragDictModel();
+                    BeanUtils.copyProperties(dictItem, dictModel);
+                    dictItems.add(dictModel);
+                });
+                manyDragDictItems.put(k, dictItems);
+            });
+        }
+        if (!CollectionUtils.isEmpty(tableDictList)) {
+            tableDictList.forEach(item -> {
+                List dictItems = new ArrayList<>();
+                JSONObject object = JSONObject.parseObject(item.toString());
+                String dictField = object.getString("dictField");
+                String dictTable = object.getString("dictTable");
+                String dictText = object.getString("dictText");
+                String fieldName = object.getString("fieldName");
+                List dictItemsList = reportDictService.queryTableDictItemsByCode(dictTable, dictText, dictField);
+                dictItemsList.forEach(dictItem -> {
+                    DragDictModel dictModel = new DragDictModel();
+                    BeanUtils.copyProperties(dictItem, dictModel);
+                    dictItems.add(dictModel);
+                });
+                manyDragDictItems.put(fieldName, dictItems);
+            });
+        }
+        return manyDragDictItems;
+    }
+
+    /**
+     * @param dictCode
+     * @return
+     */
+    @Override
+    public List getDictItems(String dictCode) {
+        List dictItems = new ArrayList<>();
+        if (OkConvertUtils.isNotEmpty(dictCode)) {
+            List dictItemsList = reportDictService.queryDictItemsByCode(dictCode);
+            dictItemsList.forEach(dictItem -> {
+                DragDictModel dictModel = new DragDictModel();
+                BeanUtils.copyProperties(dictItem, dictModel);
+                dictItems.add(dictModel);
+            });
+        }
+        return dictItems;
+    }
+
+    /**
+     * 添加日志
+     *
+     * @param dragLogDTO
+     */
+    @Override
+    public void addLog(DragLogDTO dragLogDTO) {
+
+    }
+
+    /**
+     * 保存日志
+     *
+     * @param logMsg
+     * @param logType
+     * @param operateType
+     */
+    @Override
+    public void addLog(String logMsg, int logType, int operateType) {
+
+    }
+}
\ No newline at end of file
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuReportTokenServiceImpl.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuReportTokenServiceImpl.java
index f986575..7666fb5 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuReportTokenServiceImpl.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/jimuReport/JimuReportTokenServiceImpl.java
@@ -1,18 +1,27 @@
 package net.lab1024.sa.admin.module.business.wms.jimuReport;
 
 import jakarta.servlet.http.HttpServletRequest;
+import org.springframework.http.HttpHeaders;
 import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
 import org.springframework.stereotype.Component;
+
+/**
+ * 自定义积木报表鉴权(如果不进行自定义,则所有请求不做权限控制)
+ * 1.自定义获取登录token
+ * 2.自定义获取登录用户
+ */
 @Component
 public class JimuReportTokenServiceImpl implements JmReportTokenServiceI {
+
     /**
      * 通过请求获取Token
-     *
      * @param request
      * @return
      */
     @Override
     public String getToken(HttpServletRequest request) {
+        //System.out.println("---------call---------getToken-----------------------");
+        //return TokenUtils.getTokenByRequest(request);
         return "123456";
     }
 
@@ -23,17 +32,27 @@ public class JimuReportTokenServiceImpl implements JmReportTokenServiceI {
      */
     @Override
     public String getTenantId() {
+//        String headerTenantId = null;
+//        HttpServletRequest request = JimuSpringContextUtils.getHttpServletRequest();
+//        if (request != null) {
+//            headerTenantId = request.getHeader(JmConst.HEADER_TENANT_ID);
+//            if(OkConvertUtils.isEmpty(headerTenantId)){
+//                headerTenantId = request.getParameter(JmConst.TENANT_ID);
+//            }
+//        }
+//        return headerTenantId;
         return "1";
     }
 
+
     /**
      * 通过Token获取登录人用户名
-     *
      * @param token
      * @return
      */
     @Override
     public String getUsername(String token) {
+        // return JwtUtil.getUsername(token);
         return "admin";
     }
 
@@ -45,9 +64,11 @@ public class JimuReportTokenServiceImpl implements JmReportTokenServiceI {
      */
     @Override
     public String[] getRoles(String token) {
-        return new String[]{"admin", "lowdeveloper", "dbadeveloper"};
+        //积木内置三个角色 "admin","lowdeveloper","dbadeveloper"
+        return new String[]{"admin","lowdeveloper","dbadeveloper"};
     }
 
+
     /**
      * 自定义用户拥有的权限指令
      *
@@ -60,17 +81,30 @@ public class JimuReportTokenServiceImpl implements JmReportTokenServiceI {
         //onl:drag:clear:recovery          清空回收站
         //drag:analysis:sql                SQL解析
         //drag:design:getTotalData         仪表盘对Online表单展示数据
-        return new String[]{"drag:datasource:testConnection", "onl:drag:clear:recovery", "drag:analysis:sql", "drag:design:getTotalData"};
+        return new String[]{"drag:datasource:testConnection","onl:drag:clear:recovery","drag:analysis:sql","drag:design:getTotalData"};
     }
 
     /**
      * Token校验
-     *
      * @param token
      * @return
      */
     @Override
     public Boolean verifyToken(String token) {
+        //System.out.println("---------verify-----Token---------------");
+        //return TokenUtils.verifyToken(token, sysBaseAPI, redisUtil);
         return true;
     }
+
+    /**
+     *  自定义请求头
+     * @return
+     */
+    @Override
+    public HttpHeaders customApiHeader() {
+        HttpHeaders header = new HttpHeaders();
+        header.add("custom-header1", "Please set a custom value 1");
+        header.add("token", "token value 2");
+        return header;
+    }
 }
diff --git a/nc_wms_java/sa-base/pom.xml b/nc_wms_java/sa-base/pom.xml
index 952b172..5b2fa8d 100644
--- a/nc_wms_java/sa-base/pom.xml
+++ b/nc_wms_java/sa-base/pom.xml
@@ -294,11 +294,6 @@
             jimureport-spring-boot3-starter-fastjson2
         
 
-        
-            org.jeecgframework.jimureport
-            jimureport-nosql-starter
-        
-
         
             org.jeecgframework.jimureport
             jimubi-spring-boot3-starter