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