fs-danaus
2022-05-13 2e60c6034fdfbcfbc4d7a91f0a84926688a50009
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) {