From 2e60c6034fdfbcfbc4d7a91f0a84926688a50009 Mon Sep 17 00:00:00 2001
From: fs-danaus <danaus314@qq.com>
Date: 星期五, 13 五月 2022 09:29:29 +0800
Subject: [PATCH] 优化主键处理避免更新删除时条件不带主键

---
 src/com/yc/api/controller/ApiController.java |   44 ++++++++++----------------------------------
 1 files changed, 10 insertions(+), 34 deletions(-)

diff --git a/src/com/yc/api/controller/ApiController.java b/src/com/yc/api/controller/ApiController.java
index 1c7b14a..dd00ec1 100644
--- a/src/com/yc/api/controller/ApiController.java
+++ b/src/com/yc/api/controller/ApiController.java
@@ -1145,53 +1145,29 @@
 
     private void getFirstField(TreeGridDTO dto) {
         //1鍏堣琛ㄥ叧閿姛鑳斤紝濡傛灉娌℃湁鐩稿叧鐨勫啀璇昏〃缁撴瀯
-
-        String keyfields = null;
+        List<String> keys = null;
         try {
             SpObserver.setDBtoInstance("_" + dto.dbid);
             String taleName=dto.table;
             if(dto.winType==18||dto.winType==19){
                 taleName=dto.table.split("\\|")[0];
             }
-            keyfields = gridService.getTableKeyFields(taleName);
-        } finally {
-            SpObserver.setDBtoInstance();
-        }
-        if (keyfields == null || "".equalsIgnoreCase(keyfields)) {
-            //2鍙彇涓昏〃,涓讳粠琛ㄦ儏鍐�
-            List<String> keys = null;
-            try {
-                SpObserver.setDBtoInstance("_" + dto.dbid);
-                try {
-                    keys = gridService.getPrimaryKey(dto.table);
-                } catch (SQLException e) {
-                    // TODO Auto-generated catch block
-                    e.printStackTrace();
-                }
-            } finally {
-                SpObserver.setDBtoInstance();
-            }
-            if (keys != null) {
+            keys = gridService.getPrimaryKey(taleName);
+            if(keys!=null) {
                 for (String str : keys) {
-                    if (dto.field == "")
+                    if ("".equals(dto.field))
                         dto.field += str;
                     else
                         dto.field += ";" + str;
                 }
-                keys = null;
             }
-        } else {
-            String[] arry = keyfields.split(";");
-            for (int i = 0; i < arry.length; i++) {
-                if ("".equals(dto.field))
-                    dto.field += arry[i].toLowerCase();
-                else
-                    dto.field += ";" + arry[i].toLowerCase();
-
-            }
-            arry = null;
+            dto.primeKey = dto.field;
+        }catch (SQLException e){
+                throw new ApplicationException(e.getMessage());
+        }finally {
+            SpObserver.setDBtoInstance();
         }
-        dto.primeKey = dto.field;
+
     }
 
     public void getTableName(int formid, String winType, TreeGridDTO dto) {

--
Gitblit v1.8.0