Эх сурвалжийг харах

2.0 修改版本-日志变更

pms 2 жил өмнө
parent
commit
4b847c02a1
68 өөрчлөгдсөн 431 нэмэгдсэн , 91 устгасан
  1. 10 2
      mainFactory/src/main/java/org/bfkj/api/CommonApi.java
  2. 49 29
      mainFactory/src/main/java/org/bfkj/application/DataProcess.java
  3. 89 0
      mainFactory/src/main/java/org/bfkj/utils/AlgorithmTools.java
  4. 58 8
      mainFactory/src/main/java/org/bfkj/utils/DataFormat.java
  5. 6 4
      mainFactory/src/main/java/org/bfkj/utils/ImportExcelUtils.java
  6. 33 22
      mainFactory/src/main/java/org/bfkj/utils/MyDbHelper.java
  7. 2 2
      mainFactory/src/main/resources/application.yml
  8. 129 5
      mainFactory/src/main/resources/static/config.js
  9. 1 1
      mainFactory/src/main/resources/static/index.html
  10. 0 0
      mainFactory/src/main/resources/static/static/css/app.4628f8d7.css
  11. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-00ca601f.fadbb86b.css
  12. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-01740904.8eda0487.css
  13. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-017af434.ac2b8daf.css
  14. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-1d27e940.72a24f8e.css
  15. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-2220f2ce.fadbb86b.css
  16. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-2c5075f5.fadbb86b.css
  17. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-3645cbb5.409d8a87.css
  18. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-37b16d4a.69407d23.css
  19. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-3a1d70dc.bf9274df.css
  20. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-3b7c86d1.f971f60b.css
  21. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-3dce7178.ac2b8daf.css
  22. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-5641bdaa.19212608.css
  23. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-5b6acc49.e73dc104.css
  24. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-630b03b1.a0ebb076.css
  25. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-6b7d854b.ac2b8daf.css
  26. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-7236b413.ffc6d0f5.css
  27. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-7337dfab.aff7e86c.css
  28. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-7f7c5d76.f6d9060d.css
  29. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-9baba730.fadbb86b.css
  30. 0 0
      mainFactory/src/main/resources/static/static/css/chunk-a4f67028.cfe22c71.css
  31. 0 1
      mainFactory/src/main/resources/static/static/css/chunk-a6d352ac.04a0cbbd.css
  32. 0 0
      mainFactory/src/main/resources/static/static/js/app.54e1bfd1.js
  33. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-00ca601f.ab1768b1.js
  34. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-01740904.b5dcb857.js
  35. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-017af434.8555ead8.js
  36. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-1d27e940.71834f58.js
  37. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-1fde9e50.1b3d5d33.js
  38. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-2220f2ce.8e3c01d5.js
  39. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-23e78f69.b6459a85.js
  40. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-2c5075f5.ef5832ac.js
  41. 0 1
      mainFactory/src/main/resources/static/static/js/chunk-2d0aef25.a03a6613.js
  42. 0 1
      mainFactory/src/main/resources/static/static/js/chunk-2d0af82b.fd27a898.js
  43. 0 1
      mainFactory/src/main/resources/static/static/js/chunk-2d0c45cd.106e6b47.js
  44. 0 1
      mainFactory/src/main/resources/static/static/js/chunk-2d0c4639.ad90241c.js
  45. 0 1
      mainFactory/src/main/resources/static/static/js/chunk-2d0c48c4.9ac6abb6.js
  46. 0 1
      mainFactory/src/main/resources/static/static/js/chunk-2d208336.ffe15ccf.js
  47. 0 1
      mainFactory/src/main/resources/static/static/js/chunk-3645cbb5.face31f8.js
  48. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-37b16d4a.7dd00c08.js
  49. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-3a1d70dc.5f067858.js
  50. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-3b7c86d1.e4d02799.js
  51. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-3dce7178.3e14af77.js
  52. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-5641bdaa.7b05fbf7.js
  53. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-5b6acc49.5128e6a0.js
  54. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-62b675ea.2ac73ef4.js
  55. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-630b03b1.60aa85bc.js
  56. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-6b6701cf.d61edae6.js
  57. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-6b7d854b.01147e32.js
  58. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-7236b413.2395adc2.js
  59. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-7337dfab.8e36cf6b.js
  60. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-78d31bc0.92a6031f.js
  61. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-7f7c5d76.4fbc2e6a.js
  62. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-9baba730.ce84da5c.js
  63. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-a4f67028.63893475.js
  64. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-a6d352ac.66db4be6.js
  65. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-b5bc0806.e59f5cb0.js
  66. 0 0
      mainFactory/src/main/resources/static/static/js/chunk-libs.a2c2ce44.js
  67. 0 0
      mainFactory/src/main/resources/static/static/js/runtime.17699563.js
  68. 54 10
      mainFactory/src/main/resources/static/staticConfig.js

+ 10 - 2
mainFactory/src/main/java/org/bfkj/api/CommonApi.java

@@ -160,7 +160,7 @@ public class CommonApi {
 
 
     @PostMapping("/upload")
-    public Object upload(@RequestParam(value = "file") MultipartFile excelFile,@RequestParam(value = "serviceId") String serviceID, @RequestHeader Map<String, String> tokenMap) throws Exception {
+    public Object upload(@RequestParam(value = "file") MultipartFile excelFile,@RequestParam(value = "serviceId") String serviceID, @RequestParam(value = "token") String token ) throws Exception {
         if (excelFile.isEmpty()) {
             return MapTools.processFail("文件夹为空,重新上传");
         } else {
@@ -173,7 +173,15 @@ public class CommonApi {
             Map<String, Object> sendData = new HashMap<>();
             sendData.put("serviceId", serviceID);
             sendData.put("dataContent", uploadFile.get("returnData"));
-            return  commonInterface(tokenMap, sendData, "1");
+            DataProcess dataProcessObj = ObjectMap.getordropInput(serviceID, true);//获取数据输出处理对象
+            if (null == dataProcessObj || !MapTools.isBlank(dataProcessObj.getErrorMessage())) {
+                HashMap<String, Object> errMap = new HashMap<>();
+                errMap.put("code", "-1");
+                errMap.put("message", "服务不可用:" + (null == dataProcessObj ? "" : dataProcessObj.getErrorMessage()));
+                return errMap;
+            }
+            dataProcessObj.processData(sendData);
+            return MapTools.processSuccess("上传成功");
         }
     }
 }

+ 49 - 29
mainFactory/src/main/java/org/bfkj/application/DataProcess.java

@@ -6,10 +6,9 @@ import org.bfkj.utils.LogUtils;
 import org.bfkj.utils.MapTools;
 import org.bfkj.utils.MyDbHelper;
 import org.bfkj.utils.ScriptEnginePro;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 
 import java.util.*;
-import java.util.concurrent.ThreadPoolExecutor;
+import java.util.stream.Collectors;
 
 public class DataProcess {//数据处理对象
     private String serviceId;//作为实例化服务对象的Key
@@ -28,7 +27,7 @@ public class DataProcess {//数据处理对象
     public DataProcess(String service_Id) {//初始化构造,实例化一个服务对象
         lastActive = System.currentTimeMillis();//默认最后活跃时间
         serviceId = service_Id;
-        try{
+        try {
             baseDbHelper = new MyDbHelper(AppConfig.getSystemParams(AppConfig.REMOTE_DB_CONNECT));//获取底座数据库对象
             if (Objects.nonNull(baseDbHelper.getErrorMessage())) {
                 errorMessage = "获取底座myDbHelper对象异常: ".concat(baseDbHelper.getErrorMessage());
@@ -36,7 +35,7 @@ public class DataProcess {//数据处理对象
             }
             //算法信息
             Map<String, Object> calculationMap = baseDbHelper.queryByParamsReturnList("SELECT CL.*,DI.*  FROM calculation_library CL  left JOIN datasourceinfo DI ON DI.dataSourceID = CL.datasource_id WHERE CL.service_id  =? and  CL.library_type is not null order by library_sort,library_id", service_Id);//直接数据库查询
-            calcList = Objects.isNull(calculationMap.get("returnData"))?null:(List<Map<String, Object>>) calculationMap.get("returnData");
+            calcList = Objects.isNull(calculationMap.get("returnData")) ? null : (List<Map<String, Object>>) calculationMap.get("returnData");
             if (!calculationMap.get("code").equals("0") || calcList == null || calcList.isEmpty()) {//查询数据库失败
                 errorMessage = "查询".concat(serviceId).concat("的算法失败:").concat(calculationMap.get("message").toString());
                 return;
@@ -51,10 +50,11 @@ public class DataProcess {//数据处理对象
             if (!Objects.isNull(serviceAuthList)) {//将ListMap合并为一个Map,方便使用 // map:{1,appid},{2,appidd}
                 serviceAuthMap = ((List<Map<String, Object>>) serviceAuthList).stream().map(map -> map.get("app_id").toString()).toList();
             }
-        }catch (Exception e) {
+        } catch (Exception e) {
             errorMessage = "数据处理对象初始化异常: ".concat(serviceId).concat(";异常信息:").concat(LogUtils.getException(e));
         }
     }
+
     //数据处理服务对象关闭时,关闭缓存的数据库对象以及脚本引擎对象
     public void close() {//销毁当前服务对象时,需要将缓存的算法引擎实例同步销毁
         for (ScriptEnginePro scriptEnginePro : ScriptEngineProMaps.values()) {//脚本引擎
@@ -67,6 +67,7 @@ public class DataProcess {//数据处理对象
         calcDbHelperMaps.clear();//清除缓存
         baseDbHelper.close();//底座数据库对象
     }
+
     //统一成功信息处理
     public Map<String, Object> processSuccess(Object returnData) {
         if (returnData instanceof Map) {
@@ -79,6 +80,7 @@ public class DataProcess {//数据处理对象
         returnMap.put("returnData", returnData);
         return returnMap;
     }
+
     //统一错误信息处理
     public Map<String, Object> processFail(String errorMessage, String libraryId) {
         Map<String, Object> returnMap = new HashMap<>();//用于当前方法统一返回参数,不存在深拷贝问题
@@ -89,6 +91,7 @@ public class DataProcess {//数据处理对象
         }
         return returnMap;
     }
+
     //数据处理对外接口
     public Map<String, Object> processData(Map<String, Object> inputData, String... user_id) { //{serviceid:1,datacontent:[{key:value},{key:value}],event:0,page:1,pagesize:10}
         if (!MapTools.isBlank(errorMessage)) {//如果当前服务存在问题,代表数据库对象不可用,此时应该重构当前对象,调用方控制
@@ -105,6 +108,9 @@ public class DataProcess {//数据处理对象
         }
         String dataObjectId = inputData.get("dataObjectId").toString();
         inputData = authCheck(inputData, user_id); /*权限检查,添加列权限以及行权限到inputData中*/
+        if ("-1".equals(inputData.get("code")) || (Objects.nonNull( inputData.get("message")) && inputData.get("message").toString().equals("服务未授任何数据权限"))) {
+            return inputData;
+        }
         List<Map<String, Object>> calcData = new ArrayList<>();//定义算法全量结果列表
         calcData.add(inputData);//默认入口参数为第0个算法的结果
         Map<String, Object> execResult = execCalultion(calcData, null, dataObjectId);//执行所有的算法库
@@ -112,16 +118,23 @@ public class DataProcess {//数据处理对象
         List<Map<String, Object>> preListData = (List<Map<String, Object>>) execResult.get("preData");//获取所有的前置检测结果
         calcData = (List<Map<String, Object>>) execResult.get("calcData");//所有的算法结果
         //依据算法编号规则确定最后一个算法结果,是前置还是算法
-        Map<String, Object> lastResult = library_id.endsWith("N")?preListData.get(preListData.size() - 1):calcData.get(calcData.size() - 1);//获取最后一个计算结果
+
+//         preListData = preListData.stream().filter(Objects::isNull).collect(Collectors.toList());
+
+
+        Map<String, Object> lastResult = library_id.endsWith("N") ? preListData.get(preListData.size() - 1) : calcData.get(calcData.size() - 1);//获取最后一个计算结果
         if (Objects.equals(lastResult.get("code"), "-1")) {//最后一个计算结果为-1则记录异常,否则全部记录正常
             Object message = lastResult.get("message");
-            LogUtils.log("processData:3", "-1", library_id, Objects.nonNull(message)?message.toString():null, serviceId, calcData, dataObjectId, preListData, inputData.get("event"));
+            LogUtils.log("processData:3", "-1", library_id, Objects.nonNull(message) ? message.toString() : null, serviceId, calcData, dataObjectId, preListData, inputData.get("event"));
             return processFail(library_id.concat("数据计算错误:").concat(lastResult.get("message").toString()), library_id);
         }
         //写入 成功日志
         LogUtils.log("DataProcess:9999", "0", library_id, "数据接收后处理成功", serviceId, calcData, dataObjectId, preListData, inputData.get("event"));  //此处无法把所有的记过集返回过去
-        return processSuccess(lastResult); /*可订阅任意算法结果,也可以订阅全量结果,由最后一个算法决定*/
+
+        calcData = calcData.stream().filter(Objects::nonNull).collect(Collectors.toList());
+        return processSuccess(calcData.get(calcData.size() - 1)); /*可订阅任意算法结果,也可以订阅全量结果,由最后一个算法决定*/
     }
+
     /*权限检查*/
     public Map<String, Object> authCheck(Map<String, Object> inputData, String... user_id) {
         Object appid = inputData.get("appid");//获取应用编号
@@ -160,7 +173,7 @@ public class DataProcess {//数据处理对象
                         rowAuth.get(rowAuth.size() - 1).put("connector", "  and ");
                         rowAuth.get(rowAuth.size() - 1).put("right", " ) ");
                     }   //(c1 = pek )
-                 }
+                }
             });
             if (rowAuth.size() > 0) {//存在行权限则进行括号包裹
                 rowAuth.get(0).put("left", "(".concat(rowAuth.get(0).get("left").toString()));
@@ -172,6 +185,7 @@ public class DataProcess {//数据处理对象
         }
         return inputData;
     }
+
     /*执行算法*/
     public Map<String, Object> execCalultion(List<Map<String, Object>> inData, String beginLibraryId, String dataObjectId) {
         Map<String, Object> returnData = new HashMap<>();//初始化最终返回结果
@@ -216,6 +230,7 @@ public class DataProcess {//数据处理对象
         returnData.put("calcData", calcData);
         return returnData;
     }
+
     //脚本引擎执行
     private Map<String, Object> execEngine(String library_id, Map<String, Object> currentCalMap, List<Map<String, Object>> calcAllData) {
         if (!ScriptEngineProMaps.containsKey(library_id)) {//不存在缓存则创建
@@ -239,15 +254,16 @@ public class DataProcess {//数据处理对象
             //if(key.indexOf("[") > 0){//订阅规则明确开启线程:String[3] 代表开启3个线程执行;Map[col1] 代表按COL1数据分组数开启多线程执行
             //开启多线程操作同一个脚本对象会存在数据污染情况,除非开启多线程时,每个线程对应一个独立脚本对象,或者脚本对象做了数据隔离,目前解析并没有出现性能瓶颈,暂时不考虑
             //}else{
-            if (currentCalMap.get("library_type").toString().equals("2")){
+            if (currentCalMap.get("library_type").toString().equals("2")) {
                 paramValue.put(parmaNames.get(key), currentData);
-            }else {
+            } else {
                 paramValue.put(key, currentData);
             }
             //}
         }
         return currentEngin.execScript(paramValue);
     }
+
     //数据库算法执行
     private Map<String, Object> execDB(String library_id, Map<String, Object> calculationLibrary, List<Map<String, Object>> calcData, String dataObjectId) {
         Object connectConfigObj = calculationLibrary.get("connectConfig");
@@ -269,35 +285,36 @@ public class DataProcess {//数据处理对象
             return processFail("获取业务数据库对象失败".concat(errMessage), library_id);
         }
         //未指定订阅则默认为上一个算法的结果:
-        String paramIndex = Objects.isNull(calculationLibrary.get("parmIndex")) ? (String.valueOf(calcData.size() - 1)).concat(".returnData") : calculationLibrary.get("parmIndex").toString();
+        String paramIndex = Objects.isNull(calculationLibrary.get("parmIndex"))?(String.valueOf(calcData.size() - 1)).concat(calcData.size() ==1?".dataContent":".returnData") : calculationLibrary.get("parmIndex").toString();
         Object tempDBPrams = dataSubscription(calcData, "List.".concat(paramIndex), calculationLibrary);//获取数据订阅结果
         //如果表名和SQL同时不为空且事件为7则,分解为先查询,后更新方式,可以有效使用预编译,性能会更高
         //事件7的select应该是固定为书名号方式,而不是动态组建方式,因为要跟insert或update对应,如果是动态条件则不使用事件7而是采用算法分离方式进行
-        if("7".equals(calculationLibrary.get("event")) && !Objects.isNull(calculationLibrary.get("tableName")) && !Objects.isNull(calculationLibrary.get("computing_expression"))){
-            Map<String,Object> tempCalcInfo = calculationLibrary;
+        if ("7".equals(calculationLibrary.get("event")) && !Objects.isNull(calculationLibrary.get("tableName")) && !Objects.isNull(calculationLibrary.get("computing_expression"))) {
+            Map<String, Object> tempCalcInfo = calculationLibrary;
             String tableName = tempCalcInfo.get("tableName").toString();//先记录表名
             String sqlStr = tempCalcInfo.get("computing_expression").toString();//记录SQL语句,方便获取查询条件,用于组建事件6的filter
-            tempCalcInfo.put("tableName","");//清空表名,方便执行SQL
+            tempCalcInfo.put("tableName", "");//清空表名,方便执行SQL
             tempDBPrams = myDbHelper.generalProcess(tempCalcInfo, tempDBPrams, dataObjectId, calcData.get(0));//先执行sql获取结果后
             //从myDbHelper获取sqlStrVarList.get(sqlStr)可以获取到查询条件,用于组建事件6的filter
             //获取tempDBPrams,循环returnData,添加filter,否则无法执行事件6
-            tempCalcInfo.put("tableName",tableName);//还原表名
-            tempCalcInfo.put("computing_expression","");//清除SQL
-            tempCalcInfo.put("event","6");//执行新增或更新
+            tempCalcInfo.put("tableName", tableName);//还原表名
+            tempCalcInfo.put("computing_expression", "");//清除SQL
+            tempCalcInfo.put("event", "6");//执行新增或更新
             return myDbHelper.generalProcess(tempCalcInfo, tempDBPrams, dataObjectId, calcData.get(0));//调用表名方式执行事件
         }
         return myDbHelper.generalProcess(calculationLibrary, tempDBPrams, dataObjectId, calcData.get(0));
     }
+
     /*数据订阅:注意因前置导致算法未执行时,全量结果集的序号会存在问题*/
     private Object dataSubscription(List<Map<String, Object>> calcAllData, String paramRule, Map<String, Object> calculationLibrary) { // List.1.returnData
         String[] itemRule = paramRule.split("\\.");//订阅规则按.进行分割
         String dataType = itemRule.length > 0 ? itemRule[0] : "List"; //首位是最终返回的数据类型
-        dataType = dataType.endsWith("]")?dataType.substring(0,dataType.indexOf("[")):dataType;//订阅时需要把[]去掉,在调用脚本引擎时进行分解
+        dataType = dataType.endsWith("]") ? dataType.substring(0, dataType.indexOf("[")) : dataType;//订阅时需要把[]去掉,在调用脚本引擎时进行分解
         String dataLocation = itemRule.length > 1 ? itemRule[1] : ""; //数据位置:代表从哪个算法结果中进行取值
         if (dataLocation.equals("T")) {//固定参数 //JSON.T.{"BSM":""}----String.T.代表"",List.T.代表[],Map.T.代表{},任意类型.T代表null
-            Object tempObj = itemRule.length > 2 ? MapTools.isBlank(itemRule[2])?("List".equals(dataType)?new ArrayList<>():("JSON,Map".contains(dataType)?new HashMap<>():null)):itemRule[2]:null;
-            if ("Boolean".equals(dataType)){
-                tempObj =  itemRule[2].equals("true");
+            Object tempObj = itemRule.length > 2 ? MapTools.isBlank(itemRule[2]) ? ("List".equals(dataType) ? new ArrayList<>() : ("JSON,Map".contains(dataType) ? new HashMap<>() : null)) : itemRule[2] : null;
+            if ("Boolean".equals(dataType)) {
+                tempObj = itemRule[2].equals("true");
             }
             return tempObj;
 
@@ -305,7 +322,7 @@ public class DataProcess {//数据处理对象
         //如果是L则从算法配置信息中获取,否则从全量计算结果中获取
         Object returnData = dataLocation.equals("L") ? calculationLibrary : MapTools.isNumber(dataLocation) ? calcAllData.get(Integer.parseInt(dataLocation)) : null; // String.L.connectConfig.username
         for (int index = 2; index < itemRule.length; index++) {
-            if(Objects.isNull(returnData)) return null;
+            if (Objects.isNull(returnData)) return null;
             if (returnData instanceof String) {//如果获取的是字符串则自动转MAP--XML字符串也自动转Map
                 returnData = MapTools.strToObj(returnData.toString());//  1.  简单字符串 , 2. map字符串 3. List字符串
             }
@@ -313,10 +330,10 @@ public class DataProcess {//数据处理对象
                 //
                 returnData = returnData instanceof List ? ((List<?>) returnData).get(Integer.parseInt(itemRule[index])) : returnData;
             } else {//不是数字代表从当前参数中取对应的键,如果当前参数是List应该返回List中首个对应的键值
-                if(returnData instanceof Map){//是MAP则直接获取对应Key的值
-                    returnData = ((Map<?, ?>) returnData).get(itemRule[index]);
-                }else{//简单的错误兼容,尤其是某些时候数据可能是单条可能是数组时
-                    if(returnData instanceof List && ((List<?>) returnData).size() > 0 && ((List<?>) returnData).get(0) instanceof Map){//如果是数组则且有下层
+                if (returnData instanceof Map) {//是MAP则直接获取对应Key的值
+                    returnData = itemRule[index].equals("returnData") && Objects.isNull(((Map<?, ?>) returnData).get("returnData")) ? ((Map<?, ?>) returnData).get("dataContent") : ((Map<?, ?>) returnData).get(itemRule[index]);
+                } else {//简单的错误兼容,尤其是某些时候数据可能是单条可能是数组时
+                    if (returnData instanceof List && ((List<?>) returnData).size() > 0 && ((List<?>) returnData).get(0) instanceof Map) {//如果是数组则且有下层
                         returnData = ((Map<?, ?>) ((List<?>) returnData).get(0)).get(itemRule[index]);
                     }
                 }
@@ -342,11 +359,12 @@ public class DataProcess {//数据处理对象
         }
         return returnData;
     }
+
     /*算法连续错误次数判定*/
     public void setServiceErrorCount(String library_id, String success) {
         if (!success.equals("0")) {//如果是异常
-            Integer errCount = Objects.isNull(serviceErrorCount.get(library_id))?1:serviceErrorCount.get(library_id)+1;//获取当前异常连续数
-            serviceErrorCount.put(library_id,errCount);//连续数加1
+            Integer errCount = Objects.isNull(serviceErrorCount.get(library_id)) ? 1 : serviceErrorCount.get(library_id) + 1;//获取当前异常连续数
+            serviceErrorCount.put(library_id, errCount);//连续数加1
             if (errCount > AppConfig.SERVICE_ERR_MAX) {//如果连续错误数超过设定值则停止当前服务
                 ServiceInputControl.stop(serviceId);
             }
@@ -354,8 +372,10 @@ public class DataProcess {//数据处理对象
             serviceErrorCount.put(library_id, 0);//如果是成功则重置连续错误数为0
         }
     }
+
     private long sequence = 0L;
     private long lastTimestamp = -1L;
+
     public String createLifeCycleCol(Long workerId, Integer serviceId) {
         long timestamp = System.currentTimeMillis();
         //如果当前时间小于上一次ID生成的时间戳,说明系统时钟回退过这个时候应当抛出异常

+ 89 - 0
mainFactory/src/main/java/org/bfkj/utils/AlgorithmTools.java

@@ -0,0 +1,89 @@
+package org.bfkj.utils;
+
+import org.dom4j.Attribute;
+import org.dom4j.Element;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 算法工具类
+ */
+public class AlgorithmTools {
+
+    /**
+     * xml转map
+     *
+     * @param element
+     * @return
+     */
+    private static Map<String, Object> xmlToMap(Element element) {
+        String currentName = element.getName(); //当前节点名称
+        String currentValue = MapTools.getText(element.getTextTrim());// 当前节点值
+        Map<String, Object> attrMap = new HashMap<>(); //初始化一个当前节点的属性结构
+        List<Attribute> attributes = element.attributes();  //属性处理
+        attributes.forEach(childAttribute -> {
+            attrMap.put(childAttribute.getName(), childAttribute.getValue());//逐个添加属性值到属性结构
+        });
+        List<Element> childNodes = element.elements(); //获取当前节点的所有子节点
+        if (childNodes.isEmpty() && !attrMap.isEmpty()) {  //无子节点且当前节点存在属性则
+            attrMap.put(currentName, currentValue); //当前节点值添加到属性中
+        }
+        childNodes.forEach(childElement -> {
+            String childName = childElement.getName(); //获取子节点名称
+            if (attrMap.containsKey(childName)) { //已经存在相同子节点名称的值代表需要形成数组
+                Object oldValue = attrMap.get(childName); //获取已经存在的值
+                List<Object> newList = new ArrayList<>();
+                if (oldValue instanceof List) { //如果旧值已经是数组则
+                    newList = (List<Object>) oldValue; //强制转换为数组
+                } else {
+                    newList.add(oldValue); //转换为数组,旧值添加到数组中
+                }
+                newList.add(xmlToMap(childElement).get(childName));//添加子节点的数据,递归获取子节点的数据
+                attrMap.put(childName, newList);//添加到返回结构中;
+            } else {
+                attrMap.put(childName, xmlToMap(childElement).get(childName));//递归获取子节点的数据;
+            }
+        });
+        return new HashMap<>() {
+            {
+                put(currentName, attrMap.isEmpty() ? currentValue : attrMap);//添加当前节点的属性以及值(包括了子节点)
+            }
+        };
+    }
+
+    /**
+     * xml 转map 通用化
+     *
+     * @param xml
+     * @return
+     */
+    public static String CheckXML(String xml) {
+        String xmlStr = xml.substring(xml.contains("<") ? xml.indexOf("<") : 0, xml.lastIndexOf(">") > 0 ? xml.lastIndexOf(">") + 1 : xml.length());
+        xmlStr = (xmlStr.contains("<?xml") ? "" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n").concat(xmlStr);
+        return xmlStr;
+    }
+
+
+    /**
+     * 字段转换
+     * @param sourceList 需要映射字段
+     * @param translateName
+     * @return
+     */
+    public static List<Map<String, Object>> conversionField(List<Map<String, Object>> sourceList, Map<String, String> translateName) {
+        List<Map<String, Object>> dataList = new ArrayList<>();
+        sourceList.forEach(sourceMap -> {
+            Map<String, Object> temMap = new HashMap<>();
+            for (String key : sourceMap.keySet()) {
+                if (translateName.containsKey(key)) {
+                    temMap.put(translateName.get(key), sourceMap.get(key));
+                }
+            }
+            dataList.add(temMap);
+        });
+        return dataList;
+    }
+}

+ 58 - 8
mainFactory/src/main/java/org/bfkj/utils/DataFormat.java

@@ -13,8 +13,8 @@ import java.util.stream.Collectors;
 
 /**
  * 数据格式转换
- *
- *
+ * <p>
+ * <p>
  * 1. 添加多线程
  * 2. 数据项结构项表
  */
@@ -192,15 +192,15 @@ public class DataFormat {
             for (String dataType : messageRules.keySet()) {//循环报文提取规则MAP:为了兼容一条字符串中既有BSM又有BPM的情况
                 List<String> messagList = new ArrayList<>();
                 for (String tempTypeStr : typeStrList) {
-                    if (tempTypeStr.indexOf("dataObjectId") > 0){
+                    if (tempTypeStr.indexOf("dataObjectId") > 0) {
                         String tempDataObjectId = tempTypeStr.substring(tempTypeStr.indexOf("dataObjectId"));
-                        dataObjectId =  tempDataObjectId.replaceAll("[^0-9]+","");
+                        dataObjectId = tempDataObjectId.replaceAll("[^0-9]+", "");
                     }
                     List<String> tempMessageList = MapTools.patternContent(tempTypeStr, messageRules.get(dataType)); //使用对应的提取正则表达式进行报文提取
                     if (tempMessageList.size() > 0) {
                         messagList.addAll(tempMessageList);
-                    }else {
-                        if (tempTypeStr.contains(dataType)){
+                    } else {
+                        if (tempTypeStr.contains(dataType)) {
                             HashMap<String, Object> errorMap = new HashMap<>();
                             errorMap.put("dataObjectId", dataObjectId);
                             errorMap.put("errMessage", "报文数据格式错误");
@@ -429,8 +429,6 @@ public class DataFormat {
      *
      * @return
      */
-
-
     public static Map<String, Object> specialHandler(HashMap<String, Object> inMap, String dataObjectId) {
         String outAirport = inMap.containsKey("flightNo") ? "sourceAirport" : (inMap.containsKey("inairport") ? "inairport" : null);
         if (MapTools.isNotBlank(outAirport)) {
@@ -508,6 +506,57 @@ public class DataFormat {
      * @return code message returnData
      */
     public static Map<String, Object> customMadexmlToMap(String xml, boolean isTwoDimensionalization, List<String> noDiKaList, Map<String, String> translateName) {
+        Map<String, Object> returnMap = xmlToMapFormat(xml); //  code ,message ,returenData
+        if (returnMap.get("code").equals("-1")) return returnMap;
+        if (isTwoDimensionalization) {
+            Map<String, Object> xmlMap = (Map<String, Object>) returnMap.get("returnData");
+            returnMap = twoDimensionalizationFormat(xmlMap, noDiKaList); //  code ,message ,returenData
+            if (returnMap.get("code").equals("-1")) return returnMap;
+        }
+        if (null != translateName && !translateName.isEmpty()) {
+            Object returnData = returnMap.get("returnData"); //  code ,message ,returenData
+            if (returnData instanceof Map) {
+                List<Map<String, Object>> inData = new ArrayList<>();
+                inData.add((Map) returnData);
+                returnMap = translateMapName(inData, translateName); // code message retrunData
+            } else if (returnData instanceof List) {
+                returnMap = translateMapName((List) returnData, translateName); // code message retrunData
+            }
+        }
+        Object rsData = returnMap.get("returnData");
+        if (rsData instanceof List<?>) {
+            for (Map<String, Object> tempMap : (List<Map<String, Object>>)rsData) {
+                tempMap.values().removeAll(Collections.singleton(null));
+                tempMap.values().removeAll(Collections.singleton(""));
+            }
+        }
+        if (rsData instanceof Map<?,?> temMap){
+            temMap.values().removeAll(Collections.singleton(null));
+            temMap.values().removeAll(Collections.singleton(""));
+        }
+        return returnMap;
+    }
+
+
+    public static Map<String, Object> customMadeListxmlToMap(List<String> xmlList, boolean isTwoDimensionalization, List<String> noDiKaList, Map<String, String> translateName) {
+        if (Objects.isNull(xmlList) || xmlList.size() == 0) {
+            return MapTools.processSuccess(null);
+        }
+        if (xmlList.size() == 1) {
+            return customMadeOnexmlToMap(xmlList.get(0), isTwoDimensionalization, noDiKaList, translateName);
+        }
+        List<Object> rsList = new ArrayList<>();
+        xmlList.forEach(xml -> {
+            Map<String, Object> customMadeOnexmlToMap = customMadeOnexmlToMap(xmlList.get(0), isTwoDimensionalization, noDiKaList, translateName);
+            if (Objects.equals("0", customMadeOnexmlToMap.get("code"))) {
+//                rsList.addAll(customMadeOnexmlToMap.get("returnData"))
+            }
+        });
+        return null;
+    }
+
+
+    public static Map<String, Object> customMadeOnexmlToMap(String xml, boolean isTwoDimensionalization, List<String> noDiKaList, Map<String, String> translateName) {
         Map<String, Object> returnMap = xmlToMapFormat(xml); //  code ,message ,returenData
         if (returnMap.get("code").equals("-1")) return returnMap;
         if (isTwoDimensionalization) {
@@ -532,6 +581,7 @@ public class DataFormat {
         return returnMap;
     }
 
+
     /**
      * map key值转换
      *

+ 6 - 4
mainFactory/src/main/java/org/bfkj/utils/ImportExcelUtils.java

@@ -6,13 +6,13 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.stereotype.Component;
 
 import java.io.*;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 @Component
 public class ImportExcelUtils {
+    SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
 
     // 将表格中的数据添加到List集合中
     public Map<String, Object> upload(String fileName, InputStream is) {
@@ -39,6 +39,8 @@ public class ImportExcelUtils {
                             Cell cell = row.getCell(col);
                             tempMap.put("C"+col, cell == null ? null : formatter.formatCellValue(cell));
                         }
+                        Date now2 = Calendar.getInstance().getTime();
+                        tempMap.put("createtime",format1.format(now2));
                         tempMapList.add(tempMap);
                     }
                 }

+ 33 - 22
mainFactory/src/main/java/org/bfkj/utils/MyDbHelper.java

@@ -53,7 +53,7 @@ public class MyDbHelper {//目前只差主键的条件优化
             return;
         }
         HikariConfig config = new HikariConfig();
-        config.setMaximumPoolSize(Math.min(Runtime.getRuntime().availableProcessors(), 16));//最大核心数:当前可用CPU数,最大16
+        config.setMaximumPoolSize(Math.min(Runtime.getRuntime().availableProcessors(), 8));//最大核心数:当前可用CPU数,最大16
         config.setKeepaliveTime(60000); //用于跟数据库保持心跳连接
         config.setMaxLifetime(60000 * 60 * 4); //4小时 接在池中的最大生存时间,超过该时间强制逐出
         config.addDataSourceProperty("cachePrepStmts", "true"); //是否自定义配置,为true时下面两个参数才生效
@@ -82,7 +82,7 @@ public class MyDbHelper {//目前只差主键的条件优化
                 ResultSet tablesRsesult = theConnect.getMetaData().getTables(theConnect.getCatalog(), theConnect.getCatalog(), null, new String[]{"TABLE"});
         ) {
             while (tablesRsesult.next()) {//缓存当前数据库的所有表名
-                tableList.add(tablesRsesult.getString("TABLE_NAME").toLowerCase());//获取表名
+                tableList.add(tablesRsesult.getString("TABLE_NAME"));//获取表名
             }
         } catch (Exception e) {
             errorMessage = LogUtils.getException(e);
@@ -132,11 +132,14 @@ public class MyDbHelper {//目前只差主键的条件优化
                 if (inParams instanceof Map<?, ?>) {
                     initParam.add((Map<String, Object>) inParams);
                 }
+            } else {
+                initParam.add(new HashMap<>());
             }
 
+
             for (Map<String, Object> signParam : initParam) {//循环入口参数,可以开启多线程执行
                 String execSQLStr = newSqlStr;
-                Map<String, Object> dbFilter = getdbFilter(event, isSQLBatch, signParam, rowAuth, allSQLColumn);//获取条件,1、返回where字符串;2、返回执行参数 where  值
+                Map<String, Object> dbFilter = getdbFilter(varList, event, isSQLBatch, signParam, rowAuth, allSQLColumn);//获取条件,1、返回where字符串;2、返回执行参数 where  值
                 List<Object> filterList = (List<Object>) dbFilter.get("dbFilter");//执行参数---
                 String whereStr = (String) dbFilter.get("whereStr");//where字符串--依据参数变化不可缓存
                 List<Object> dbValueList = new ArrayList<>();
@@ -191,6 +194,7 @@ public class MyDbHelper {//目前只差主键的条件优化
                     List signParamList = Objects.nonNull(execSQLMap.get(execSQLStr)) && Objects.nonNull(execSQLMap.get(execSQLStr).get("signParam")) ? (List) execSQLMap.get(execSQLStr).get("signParam") : new ArrayList<>();//获取对应SQL语句的执行参数,没有则默认为空数组
                     List dbParam = Objects.nonNull(execSQLMap.get(execSQLStr)) && Objects.nonNull(execSQLMap.get(execSQLStr).get("dbParam")) ? (List) execSQLMap.get(execSQLStr).get("dbParam") : new ArrayList<>();//获取对应SQL语句的执行参数,没有则默认为空数组
                     signParamList.add(signParam);
+                    sqlParmMap.put("signParam", signParamList);//上传的参数
                     if (!dbParam.contains(dbValueList)) {//参数一致时,去重执行
                         String batchSQL = Objects.nonNull(execSQLMap.get(execSQLStr)) && Objects.nonNull(execSQLMap.get(execSQLStr).get("batchSQL")) ? execSQLMap.get(execSQLStr).get("batchSQL").toString() : "";
                         if ("0".equals(event) && batchSQL.contains(whereStr) && dbParam.size() > 0) {
@@ -215,13 +219,16 @@ public class MyDbHelper {//目前只差主键的条件优化
             //循环执行execSQLMap
             List<Object> returnList = new ArrayList<>();
             for (String signSql : inertSQLMap.keySet()) {//循环当前MAP,查询必定是单条SQL,SQL语句方式:都是单条,表名方式:查询、新增是单条,更新、删除可能多条,事件6可能多条
-                returnList.add(execSign(sqlStr, signSql, inertSQLMap.get(signSql), inputData));//开启多线程执行,合并返回值
+                Map<String, Object> stringObjectMap = execSign(sqlStr, signSql, inertSQLMap.get(signSql), inputData);
+                stringObjectMap.put("fullData", inertSQLMap.get(signSql));
+                returnList.add(stringObjectMap);//开启多线程执行,合并返回值
             }
             for (String signSql : execSQLMap.keySet()) {//循环当前MAP,查询必定是单条SQL,SQL语句方式:都是单条,表名方式:查询、新增是单条,更新、删除可能多条,事件6可能多条
-                returnList.add(execSign(sqlStr, signSql, execSQLMap.get(signSql), inputData));//开启多线程执行,合并返回值
+                Map<String, Object> stringObjectMap = execSign(sqlStr, signSql, execSQLMap.get(signSql), inputData);
+                stringObjectMap.put("fullData", execSQLMap.get(signSql));
+                returnList.add(stringObjectMap);//开启多线程执行,合并返回值
             }
-            return processSuccess(returnList.size() == 1 ? returnList.get(0) : returnList, execSQLMap.toString(), inputData);
-
+            return returnList.size() == 1 ? (Map<String, Object>) returnList.get(0) : processSuccess(returnList, sqlStr, inParams);
         } catch (Exception e) {
             return processFail("generalProcess函数:执行出错", LogUtils.getException(e), inParams);
         }
@@ -242,7 +249,7 @@ public class MyDbHelper {//目前只差主键的条件优化
         String regx = "\\s+|\t|\r|\n";
         Pattern patt = Pattern.compile(regx);
         Matcher m = patt.matcher(newSqlStr);
-        newSqlStr =  m.replaceAll(" ");
+        newSqlStr = m.replaceAll(" ");
         newSqlStr = newSqlStr.trim().replaceAll("\\s?[,]\\s?", ",");//去多余空格,去逗号前后空格,全小写
         String lastChar = newSqlStr.substring(newSqlStr.length() - 1);
         if (lastChar.equals(";")) {//最后一个字符不是数字也不是字母,用于去除多余的分号
@@ -339,7 +346,7 @@ public class MyDbHelper {//目前只差主键的条件优化
                 tempSQLStr = tempSQLStr.replace(findOne > -1 ? " select " : "(select ", "88888888");//替换掉子查询的select,避免下一次又找到,同时注意替换长度要保持一致,否则影响后面的取值
                 beginIndex = beginIndex + 6;//在当前找到的from位置上加6,下一次查找就不会再找当前的from
             }
-            allColumnStr = sqlStr.substring(6, beginIndex); //从原SQL中提取完整的字段,tempSQLStr中子查询select被替换掉了
+            allColumnStr = beginIndex>6? sqlStr.substring(6, beginIndex):""; //从原SQL中提取完整的字段,tempSQLStr中子查询select被替换掉了
             return allColumnStr; //使用逗号分割为字段列表
         } else {//增删改只涉及单表,不存在伪列的情况
             String tableName = getTableBySql(sqlStr);//获取表名
@@ -361,7 +368,7 @@ public class MyDbHelper {//目前只差主键的条件优化
 
     //依据表名获取所有字段
     private Map<String, Object> getMetaDataByTable(String tableName, boolean isActive) {
-        tableName = MapTools.isBlank(tableName) ? "(null)" : tableName.toLowerCase();
+        tableName = MapTools.isBlank(tableName) ? "(null)" : tableName;
         if (!(tableColumn.containsKey(tableName)) && !"(null)".equals(tableName)) {//对应表的字段未缓存(且表名不为空)则重新获取
             if (isActive && !tableList.contains(tableName)) {//处理动态表:动态表且未包含在当前库
                 try {
@@ -454,7 +461,7 @@ public class MyDbHelper {//目前只差主键的条件优化
     }
 
     //组建SQL的where以及对应的执行参数,与SQL语句无关,所以兼容SQL语句方式和表名方式(event, isSQLBatch, signParam, rowAuth,allSQLColumn)
-    private Map<String, Object> getdbFilter(String event, boolean isSQLBatch, Map<String, Object> signParam, List<Map<String, Object>> rowAuth, String allSQLColumn) {
+    private Map<String, Object> getdbFilter(List<String> varList, String event, boolean isSQLBatch, Map<String, Object> signParam, List<Map<String, Object>> rowAuth, String allSQLColumn) {
         List<Object> dbFilter = new ArrayList<>();//初始化条件执行参数
         String whereStr = "";//初始化条件字符串
         if (!"1".equals(event) || !isSQLBatch) {//新增不存在条件,除非insert select才存在
@@ -464,7 +471,7 @@ public class MyDbHelper {//目前只差主键的条件优化
                 filterList.get(filterList.size() - 1).put("connector", "lastConnector");//去掉最后一个连接符,减少whereStr字符串的处理
                 for (Map<String, Object> filterMap : filterList) {//循环条件参数集合
                     Object column = filterMap.get("column");//获取列名
-                    if (Objects.nonNull(column) && (MapTools.isBlank(allSQLColumn) || allSQLColumn.contains(column.toString()))) {//列名不为空 且 (可用列未获取 或者 当前列存在于可用列)
+                    if (Objects.nonNull(column) && !varList.contains(column.toString()) && (MapTools.isBlank(allSQLColumn) || allSQLColumn.contains(column.toString()))) {//列名不为空 且 (可用列未获取 或者 当前列存在于可用列)
                         String connector = Objects.isNull(filterMap.get("connector")) ? "" : filterMap.get("connector").toString();//处理连接字符串
                         Object comparator = Objects.isNull(filterMap.get("comparator")) ? "" : filterMap.get("comparator").toString();//比较符
                         whereStr = whereStr.concat(filterMap.get("left").toString())
@@ -586,15 +593,19 @@ public class MyDbHelper {//目前只差主键的条件优化
             if (Objects.nonNull(sqlParmMap.get("batchSQL"))) {
                 signSql = sqlParmMap.get("batchSQL").toString();
                 signSql = standarSQLStr(signSql);
-                String wherestr = signSql.replace(sqlStr, "");
-                if (wherestr.trim().startsWith("and")) {
-                    wherestr = wherestr.trim().substring(0, 4).concat("(").concat(wherestr.trim().substring(4)).concat(")");
-                }
-                int groupByIndex = sqlStr.indexOf("group by");
-                if (groupByIndex > sqlStr.lastIndexOf("from")) {
-                    signSql = sqlStr.substring(0, groupByIndex).concat(" ").concat(wherestr).concat(" ").concat(sqlStr.substring(groupByIndex));
-                }else {
-                    signSql = sqlStr.concat(" ").concat(wherestr);
+                if (MapTools.isNotBlank(sqlStr)) {
+                    String wherestr = signSql.replace(sqlStr, "");
+                    if (!wherestr.equals(signSql)) {
+                        if (wherestr.trim().startsWith("and")) {
+                            wherestr = wherestr.trim().substring(0, 4).concat("(").concat(wherestr.trim().substring(4)).concat(")");
+                        }
+                        int groupByIndex = sqlStr.indexOf("group by");
+                        if (groupByIndex > sqlStr.lastIndexOf("from")) {
+                            signSql = sqlStr.substring(0, groupByIndex).concat(" ").concat(wherestr).concat(" ").concat(sqlStr.substring(groupByIndex));
+                        } else {
+                            signSql = sqlStr.concat(" ").concat(wherestr);
+                        }
+                    }
                 }
             }
 
@@ -610,7 +621,7 @@ public class MyDbHelper {//目前只差主键的条件优化
             for (Object signValue : dbValue) {
                 try {//执行查询
                     Map<String, Object> returnData = processSuccess(theJdbcTemplate.queryForList(signSql, ((List) signValue).toArray()), signSql, sqlParmMap.get("signParam"));
-                    String rowCountSQL = sqlParmMap.get("rowCountSql").toString();//提取行总数查询语句
+//                    String rowCountSQL = sqlParmMap.get("rowCountSql").toString();//提取行总数查询语句
 //                    if (!MapTools.isBlank(rowCountSQL)) {
 //                        returnData.put("rowcount", theJdbcTemplate.queryForObject(rowCountSQL, Integer.class, ((List)signValue).toArray()));
 //                    }

+ 2 - 2
mainFactory/src/main/resources/application.yml

@@ -1,5 +1,5 @@
 server:
-  port: ${PORT:8080}
+  port: ${PORT:8082}
   servlet:
     encoding:
       charset: UTF-8
@@ -20,7 +20,7 @@ mydb:
   title: ${MYDB_USER:root}
   cipher: ${MYDB_PASSWD:QtrmuqDw^bJu$}
   type: ${MYDB_DRIVER:com.mysql.cj.jdbc.Driver}
-  serviceURL: ${MY_SERVICE_URL:127.0.0.9:8888}
+  serviceURL: ${MY_SERVICE_URL:127.0.0.1:8080}
 
 service:
   pool:

+ 129 - 5
mainFactory/src/main/resources/static/config.js

@@ -2,14 +2,138 @@ window.SERVICE_ID = {
   sysMenuId: 1, //权限菜单
   sysAuthId: 2, //根据用户ID或用户组ID获取权限
   sysAllMenuId: 3, //获取全部权限
+  serTableDataId: 4, //服务设置-算法配置-获取数据源名称
+  sysUserAuthId: 5, //用户数据权限获取
   getUserTableId: 9, //根据账号组获取账号
+  getAirpotId: 14, //获取机场三字码
   getJqId: 10023, //获取机器维护列表
   getTableColumnId: 18122, //获取表头
   authTreeId: 18126, //获取表头
-  roleListId: 10024,//角色列表
-  userListId: 10026,//用户管理列表
-  userAuthorizationId: 10027,//用户授权
+  getAppId: 18133, //获取应用列表
+  roleListId: 10024, //角色列表
+  userListId: 10026, //用户管理列表
+  userAuthorizationId: 10027, //用户授权
   depTableId: 185, //机器维护-表头
   serTableId: 203, //服务设置-表头
-  serTableDataId: 4 //服务设置-算法配置-获取数据源名称
-};
+  bagTableId: 20030, //行李详情-表头
+  bagDetailId: 20027, //行李详情-表格
+  bagViewId: 20036, //航班视图-基础信息
+  changePwd: 20045, // 修改密码
+  
+  /***-----高级查询------***/
+  baggageTypeId: 86, //高级查询-特殊行李类型下拉选项查询-id
+  advancedQueryId: 30, //高级查询-数据查询-id
+  advancedQueryNew: 93, //高级查询-数据查询-id
+
+  /***-----进港管理------***/
+  arrivalAirId: 67, //进港管理-机场选择
+  arrivalTableId: 38, //进港管理-表格
+
+  /***-----离港管理------***/
+  departureAirMainId: 65, //离港管理-机场选择
+  departureTableMainId: 66, //离港管理-表格
+  departureWarningId: 18040, //离港管理-报警策略
+
+  /***-----中转进港------***/
+  departureAirId: 72, // 中转进港-机场选择
+  departureAviJoinId: 71, // 中转进港-进港承运航司
+  departureAviLeaveId: 74, // 中转进港-离港承运航司
+  departureTableId: 69, // 中转进港-表格
+
+  /***-----中转离港------***/
+  departureAirLtId: 72, // 中转离港-机场选择
+  departureAviJoinLtId: 71, // 中转离港-进港承运航司
+  departureAviLeaveLtId: 74, // 中转离港-离港承运航司
+  departureTableLtId: 68, // 中转离港-表格
+
+  /***-----航班视图------***/
+  flightAirline: 1141, // 航班-航段
+  flightInfo: 1142, // 航班-基础信息
+  flightContainer: 41, // 航班-容器
+  flightBaggage: 1144, // 航班-行李列表
+  abnormalBaggageInfo: 1145,
+
+  /***-----行李视图------***/
+  baggageBasicInfo: 255, // 行李-基础信息
+  baggageAirline: 18009, // 行李-航段
+  baggageTrack: 18010, // 行李-追踪节点
+  baggageDetails: 44, // 行李-详情列表
+  baggageMessage: 3066, // 行李-原始报文
+
+  /***-----容器视图------***/
+  containerHistory: 18026,
+  containerBaggage: 18027,
+
+  /***-----统计分析------***/
+  stOrderId: 18012,
+  stOrderChartId: 18013,
+  stCalId: 18014,
+  stFigntsId: 18015,
+  stSpeedId: 18016,
+  stBaggageId: 18017,
+  stMapId: 18018,
+  stCountryId: 18019,
+  stTerminalId: 18020,
+  stBrsId: 1803429,
+
+  // 数据统计
+  airlineOptions: 1806, // 航线下拉
+  twoCharacterOptions: 1803426, // 二字码下拉
+  termSeleid: 1156, //航站选择下拉
+  areaOptions: 1807, // 大区/基地分公司下拉
+  AirportId: 1808, // 航站下拉
+  TerminalId: 1809, // 航站楼下拉
+  byOther: 1810, // 大区/分公司以外航班统计(全部)
+  byArea: 1811, // 根据大区/分公司航班统计(全部)
+  withBaggageByOther: 1812, // 大区/分公司以外航班统计(有行李)
+  withBaggageByArea: 1814, // 根据大区/分公司航班统计(有行李)
+  baggageByOther: 1815, // 行李统计(全部)
+  baggageByArea: 1816, // 行李统计-分公司(全部)
+  notDelByOther: 1817, // 行李统计(不包含DEL)
+  notDelByArea: 1818, // 行李统计-分公司(不包含DEL)
+  baggagePassengerByOther: 1819, // 行李旅客统计
+  baggagePassengerByArea: 1820, // 行李旅客统计-分公司
+  specialBaggageByOther: 1821, // 特殊行李统计
+  specialBaggageByArea: 1822, // 特殊行李统计-分公司
+  abnormalBaggageByOther: 1823, // 异常行李统计
+  abnormalBaggageByArea: 1824, // 异常行李统计-分公司
+  complaintBaggageByOther: 1825, // 投诉行李统计
+  complaintBaggageByArea: 1826, // 投诉行李统计-分公司
+  compensationBaggageByOther: 1827, // 赔偿行李统计
+  compensationBaggageByArea: 1828, // 赔偿行李统计-分公司
+  compensationByOther: 1829, // 赔偿金额统计
+  compensationByArea: 1830, // 赔偿金额统计-分公司
+  baggageAverageByOther: 1831, // 平均行李统计
+  baggageAverageByArea: 1832, // 平均行李统计-分公司
+  specialBaggageClassificationByOther: 1193, // 特殊行李分类统计
+  specialBaggageClassificationByArea: 1194, // 特殊行李分类统计-分公司
+  flightClassificationByOther: 1195, // 航班分类统计
+  flightClassificationByArea: 1196, // 航班分类统计-分公司
+  compensationClassificationByOther: 1197, // 赔偿分类统计
+  compensationClassificationByArea: 1198, // 赔偿分类统计-分公司
+  passengerNormalClassificationByOther: 1199, // 旅客分类常客统计
+  passengerNormalClassificationByArea: 1200, // 旅客分类常客统计-分公司
+  passengerImportantClassificationByOther: 1201, // 旅客分类要客统计
+  passengerImportantClassificationByArea: 1202, // 旅客分类要客统计-分公司
+  abnormalBaggageClassificationByOther: 1205, // 异常行李分类统计
+  abnormalBaggageClassificationByArea: 1206, // 异常行李分类统计-分公司
+  compensationClassificationAll: 1834, // 赔偿金额分类统计-全部
+  compensationClassificationByAirline: 1835, // 赔偿金额分类统计-航线
+  compensationBaggageClassificationAll: 1836, // 赔偿行李分类统计-全部
+  compensationBaggageClassificationByAirline: 1837, // 赔偿行李分类统计-航线
+  abnormalBaggageClassificationAll: 1838, // 异常行李分类统计-全部
+  abnormalBaggageClassificationByAirline: 1839, // 异常行李分类统计-航线
+  nodeRange: 1801, // 节点查询范围
+  nodeAirline: 1802, // 节点航线下拉
+  nodeAirport: 1803, // 节点航站下拉
+  nodeAll: 1804, // 节点统计雷达图-全部
+  nodeIn: 1804, // 节点统计雷达图-进港
+  nodeOut: 1804, // 节点统计雷达图-离港
+  nodeExportAirline: 1805, // 节点统计导出-航线
+  nodeExportAirport: 1805, // 节点统计导出-航站
+  nodeAxisDesc: 90, // 节点统计指示器名称解释
+
+  /***-----速运行李------***/
+  expressTransportationUpload: 20034, // 速运行李数据上传
+  expressTransportation: 1803432, // 速运行李数据查询
+}

+ 1 - 1
mainFactory/src/main/resources/static/index.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta http-equiv=Content-Security-Policy content="script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline'"><meta http-equiv=X-XSS-Protection content="1;mode=block"><meta http-equiv=X-Content-Type-Options content=nosniff><link rel=icon href=favicon.ico><title>Vue3 Admin Ts</title><script src=staticConfig.js></script><script id=configJS src=config.js></script><link href=static/css/app.4628f8d7.css rel=preload as=style><link href=static/css/chunk-elementUI.0ae24586.css rel=preload as=style><link href=static/css/chunk-libs.bef63a38.css rel=preload as=style><link href=static/js/app.54e1bfd1.js rel=preload as=script><link href=static/js/chunk-elementUI.e94dd283.js rel=preload as=script><link href=static/js/chunk-libs.a2c2ce44.js rel=preload as=script><link href=static/css/chunk-elementUI.0ae24586.css rel=stylesheet><link href=static/css/chunk-libs.bef63a38.css rel=stylesheet><link href=static/css/app.4628f8d7.css rel=stylesheet></head><body><div id=app></div><script src=static/js/runtime.17699563.js></script><script src=static/js/chunk-elementUI.e94dd283.js></script><script src=static/js/chunk-libs.a2c2ce44.js></script><script src=static/js/app.54e1bfd1.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta http-equiv=Content-Security-Policy content="script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline'"><meta http-equiv=X-XSS-Protection content="1;mode=block"><meta http-equiv=X-Content-Type-Options content=nosniff><link rel=icon href=favicon.ico><title>Vue3 Admin Ts</title><script src=staticConfig.js></script><script id=configJS src=config.js></script><link href=static/css/app.494c078c.css rel=preload as=style><link href=static/css/chunk-elementUI.0ae24586.css rel=preload as=style><link href=static/css/chunk-libs.bef63a38.css rel=preload as=style><link href=static/js/app.a362bc3f.js rel=preload as=script><link href=static/js/chunk-elementUI.e94dd283.js rel=preload as=script><link href=static/js/chunk-libs.28228a50.js rel=preload as=script><link href=static/css/chunk-elementUI.0ae24586.css rel=stylesheet><link href=static/css/chunk-libs.bef63a38.css rel=stylesheet><link href=static/css/app.494c078c.css rel=stylesheet></head><body><div id=app></div><script src=static/js/runtime.f9f8cc74.js></script><script src=static/js/chunk-elementUI.e94dd283.js></script><script src=static/js/chunk-libs.28228a50.js></script><script src=static/js/app.a362bc3f.js></script></body></html>

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/app.4628f8d7.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-00ca601f.fadbb86b.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-01740904.8eda0487.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-017af434.ac2b8daf.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-1d27e940.72a24f8e.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-2220f2ce.fadbb86b.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-2c5075f5.fadbb86b.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-3645cbb5.409d8a87.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-37b16d4a.69407d23.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-3a1d70dc.bf9274df.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-3b7c86d1.f971f60b.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-3dce7178.ac2b8daf.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-5641bdaa.19212608.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-5b6acc49.e73dc104.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-630b03b1.a0ebb076.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-6b7d854b.ac2b8daf.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-7236b413.ffc6d0f5.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-7337dfab.aff7e86c.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-7f7c5d76.f6d9060d.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-9baba730.fadbb86b.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/css/chunk-a4f67028.cfe22c71.css


+ 0 - 1
mainFactory/src/main/resources/static/static/css/chunk-a6d352ac.04a0cbbd.css

@@ -1 +0,0 @@
-.filter-arrow[data-v-67fdfc79]{cursor:pointer;-webkit-transition:transform .3s;transition:transform .3s}.filter-arrow.arrow-expand[data-v-67fdfc79]{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.filter-arrow.arrow-active[data-v-67fdfc79]{color:#2d7cff;font-weight:700}.btn-filter[data-v-67fdfc79]{cursor:pointer;position:relative}.btn-filter[data-v-67fdfc79]:hover{color:#2d7cff}.btn-filter[data-v-67fdfc79]:after{content:"";display:block;width:calc(100% + 4px);position:absolute;bottom:-4px;left:-2px;border-bottom:1px solid #101116}.btn-filter.btn-filter-active[data-v-67fdfc79]:after,.btn-filter[data-v-67fdfc79]:hover:after{border-bottom:2px solid #2d7cff}.el-select-dropdown__item.hover[data-v-67fdfc79]{background:#d2d6df}

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/app.54e1bfd1.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-00ca601f.ab1768b1.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-01740904.b5dcb857.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-017af434.8555ead8.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-1d27e940.71834f58.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-1fde9e50.1b3d5d33.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-2220f2ce.8e3c01d5.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-23e78f69.b6459a85.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-2c5075f5.ef5832ac.js


+ 0 - 1
mainFactory/src/main/resources/static/static/js/chunk-2d0aef25.a03a6613.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0aef25"],{"0bda":function(e,n,a){"use strict";a.r(n);var t=function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("router-view")},u=[],r={name:"BaggageManagement"},c=r,l=a("2877"),o=Object(l["a"])(c,t,u,!1,null,null,null);n["default"]=o.exports}}]);

+ 0 - 1
mainFactory/src/main/resources/static/static/js/chunk-2d0af82b.fd27a898.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0af82b"],{"0f43":function(e,n,t){"use strict";t.r(n);var l=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("FlightView")},a=[],i=t("92ca"),u={name:"DepartureFlightView",components:{FlightView:i["default"]}},c=u,r=t("2877"),o=Object(r["a"])(c,l,a,!1,null,null,null);n["default"]=o.exports}}]);

+ 0 - 1
mainFactory/src/main/resources/static/static/js/chunk-2d0c45cd.106e6b47.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c45cd"],{"3b08":function(e,n,t){"use strict";t.r(n);var a=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("router-view")},c=[],u={name:"BaggageManagement"},r=u,l=t("2877"),o=Object(l["a"])(r,a,c,!1,null,null,null);n["default"]=o.exports}}]);

+ 0 - 1
mainFactory/src/main/resources/static/static/js/chunk-2d0c4639.ad90241c.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c4639"],{"3b2f":function(e,n,t){"use strict";t.r(n);var l=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("FlightView")},i=[],c=t("92ca"),a={name:"ArrivalFlightView",components:{FlightView:c["default"]}},u=a,r=t("2877"),o=Object(r["a"])(u,l,i,!1,null,null,null);n["default"]=o.exports}}]);

+ 0 - 1
mainFactory/src/main/resources/static/static/js/chunk-2d0c48c4.9ac6abb6.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c48c4"],{"3aff":function(e,n,t){"use strict";t.r(n);var a=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("FlightView")},c=[],l=t("92ca"),i={name:"TransferDepartureFlightView",components:{FlightView:l["default"]}},r=i,u=t("2877"),s=Object(u["a"])(r,a,c,!1,null,null,null);n["default"]=s.exports}}]);

+ 0 - 1
mainFactory/src/main/resources/static/static/js/chunk-2d208336.ffe15ccf.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d208336"],{a47d:function(e,n,t){"use strict";t.r(n);var l=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("FlightView")},a=[],i=t("92ca"),r={name:"TransferArrivalFlightView",components:{FlightView:i["default"]}},c=r,u=t("2877"),s=Object(u["a"])(c,l,a,!1,null,null,null);n["default"]=s.exports}}]);

+ 0 - 1
mainFactory/src/main/resources/static/static/js/chunk-3645cbb5.face31f8.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-3645cbb5"],{7542:function(t,e,s){"use strict";s("9f06")},"8cdb":function(t,e,s){"use strict";s.r(e);var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"error_404"},[t._m(0),s("el-button",{staticStyle:{"margin-top":"30px"},attrs:{size:"small",type:"primary"}},[s("a",{staticClass:"bullshit__return-home",attrs:{href:""}},[t._v("回到首页")])])],1)},n=[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"error_404_content"},[a("img",{attrs:{src:s("a32e"),alt:"",srcset:""}})])}],r={name:"Page404",computed:{message:function(){return"The webmaster said that you can not enter this page..."}}},c=r,i=(s("7542"),s("2877")),o=Object(i["a"])(c,a,n,!1,null,"10875152",null);e["default"]=o.exports},"9f06":function(t,e,s){},a32e:function(t,e,s){t.exports=s.p+"static/img/nopage.0e91ade0.png"}}]);

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-37b16d4a.7dd00c08.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-3a1d70dc.5f067858.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-3b7c86d1.e4d02799.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-3dce7178.3e14af77.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-5641bdaa.7b05fbf7.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-5b6acc49.5128e6a0.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-62b675ea.2ac73ef4.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-630b03b1.60aa85bc.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-6b6701cf.d61edae6.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-6b7d854b.01147e32.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-7236b413.2395adc2.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-7337dfab.8e36cf6b.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-78d31bc0.92a6031f.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-7f7c5d76.4fbc2e6a.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-9baba730.ce84da5c.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-a4f67028.63893475.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-a6d352ac.66db4be6.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-b5bc0806.e59f5cb0.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/chunk-libs.a2c2ce44.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
mainFactory/src/main/resources/static/static/js/runtime.17699563.js


+ 54 - 10
mainFactory/src/main/resources/static/staticConfig.js

@@ -1,13 +1,58 @@
 /* url配置 */
 window.PLATFROM_CONFIG = {
-  baseNewUrl: "http://localhost:8082", //登录前的http请求地址
-  baseUrl: "http://localhost:16300", // 4A-http请求地址
-  appKeyString: "9inu7zpllz1folzsljm498dcpi0lsog1", //appSecret
-  appId: "q7kdjmmaf0kerwpf", //appid
-  baseURLCA: "http://localhost:8082", // 登录后的http请求地址-测试
-  baggageMessageURL: "/openApi/query",
-  getBase64: 'http://localhost:8083/getBase64'
-};
+  baseNewUrl: '', //登录前的http请求地址
+  baseURLCA: '', // 登录后的http请求地址
+  appKeyString: '9inu7zpllz1folzsljm498dcpi0lsog1', //appSecret
+  appId: 'q7kdjmmaf0kerwpf', //appid
+  baggageMessageURL: '/openApi/query',
+  getBase64: 'http://10.211.67.163:8083/getBase64',
+}
+
+const baseNewUrl = window.location.hostname
+switch (baseNewUrl) {
+  case '10.211.66.23':
+    PLATFROM_CONFIG = {
+      ...PLATFROM_CONFIG,
+      baseNewUrl: 'http://10.211.66.23:8082',
+      baseURLCA: 'http://10.211.66.23:8082',
+      fileUrl: 'http://10.211.66.23:8082',
+      expressUrl: 'http://10.211.67.177:8043',
+      tempUrl: 'http://10.211.67.163:16300', // 1.0临时地址
+      tempToken: 'bb1bcfcb336b40e9b8602e808b053c3b', // 1.0临时token
+      tempUserId: '1656481036109',
+      tempAppToken: '2ecbda35d72c4ae89294464629f29f35',
+      hasStaticRoutes: true,
+    }
+    break
+  case '10.199.7.20':
+    PLATFROM_CONFIG = {
+      ...PLATFROM_CONFIG,
+      baseNewUrl: 'http://10.199.7.20:8083',
+      baseURLCA: 'http://10.199.7.20:8083',
+    }
+    break
+  case 'localhost':
+    PLATFROM_CONFIG = {
+      ...PLATFROM_CONFIG,
+      baseNewUrl: 'http://localhost:8082',
+      baseURLCA: 'http://localhost:8082',
+      fileUrl: 'http://localhost:8082',
+      expressUrl: 'http://localhost:8043',
+      tempUrl: 'http://localhost:16300', // 1.0临时地址
+      tempToken: 'bb1bcfcb336b40e9b8602e808b053c3b', // 1.0临时token
+      tempUserId: '1656481036109',
+      tempAppToken: '2ecbda35d72c4ae89294464629f29f35',
+      hasStaticRoutes: true,
+    }
+    break
+  default:
+    PLATFROM_CONFIG = {
+      ...PLATFROM_CONFIG,
+      baseNewUrl: 'http://10.211.66.23:8082',
+      baseURLCA: 'http://10.211.66.23:8082',
+    }
+    break
+}
 
 /* 轮询间隔 */
 window.LOOP_INTERVAL = {
@@ -18,5 +63,4 @@ window.LOOP_INTERVAL = {
   baggageTrack: 30 * 1000, // 行李跟踪节点信息
   baggageDetails: 30 * 1000, // 行李详情表格
   baggageMessage: 30 * 1000, // 行李原始报文
-};
-
+}

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно