国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JAVA前端bootstrap-table表格,全量查數(shù)據(jù)后也能字段點擊排序sort

這篇具有很好參考價值的文章主要介紹了JAVA前端bootstrap-table表格,全量查數(shù)據(jù)后也能字段點擊排序sort。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

工程后期改造,加了一層首頁展示,該層無需分頁所以想在代碼層次實現(xiàn)排序,而不是數(shù)據(jù)庫sql

1、后端代碼展示如下

private List<QcCheckStatVO> getQcCheckStatList(Map<String, Object> para, String orderByColumn, String isAsc, int pageNum, int pageSize, boolean isAdmin) throws Exception {
   initializeSearch(para);

   List<QcCheckStatVO> list;
   // 展示的數(shù)據(jù)集合
   List<QcCheckStatVO> homeDataList = new ArrayList<>(16);
        if (isAdmin) {
            list = baseMapper.selectPageViewList(para);
            // list 以instanceId 分組
            // 將在sql中聚合函數(shù)操作放到j(luò)ava中計算
            Map<String, List<QcCheckStatVO>> collect = list.stream().collect(Collectors.groupingBy(o -> o.getInstanceId()));
            for (String s : collect.keySet()) {
                extracted(homeDataList, collect, s);
            }
            // 組裝排序字段
            if (StrUtil.isAllNotBlank(orderByColumn, isAsc)) {
                Comparator<QcCheckStatVO> qcCheckStatVOComparator = Comparator.comparing(QcCheckStatVO::getCreateTime).reversed().thenComparing(QcCheckStatVO::getReqFieldErrorCount);
                Map<Key, Comparator<QcCheckStatVO>> map = new HashMap<>(16);
                map.put(new Key("expectCount", SqlKeyword.ASC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getErrorCount));
                map.put(new Key("expectCount", SqlKeyword.DESC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getErrorCount).reversed());

                map.put(new Key("actualCount", SqlKeyword.ASC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getActualCount));
                map.put(new Key("actualCount", SqlKeyword.DESC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getActualCount).reversed());

                map.put(new Key("errorCount", SqlKeyword.ASC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getErrorCount));
                map.put(new Key("errorCount", SqlKeyword.DESC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getErrorCount).reversed());

                map.put(new Key("integrity", SqlKeyword.ASC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getReqFieldErrorCount));
                map.put(new Key("integrity", SqlKeyword.DESC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getReqFieldErrorCount).reversed());

                map.put(new Key("foreignRate", SqlKeyword.ASC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getForeignErrorCount));
                map.put(new Key("foreignRate", SqlKeyword.DESC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getForeignErrorCount).reversed());
                for (Key key : map.keySet()) {
                    if (key.getField().equalsIgnoreCase(orderByColumn) && key.getDirection().equalsIgnoreCase(isAsc)) {
                        qcCheckStatVOComparator = map.get(key);
                    }
                }
                final List<QcCheckStatVO> sortedList = homeDataList.stream().sorted(qcCheckStatVOComparator).collect(Collectors.toList());
                homeDataList = sortedList;
            }
        } else {
            // 首頁不分頁,第二層才分頁,所以將排序條件加上去
            // 組裝排序字段
            String orderBy = "";
            if (StrUtil.isAllNotBlank(orderByColumn, isAsc)) {
                orderBy = " " + EnumExtUtil.getEnumOnValue(QcCheckStatConstants.SortFieldEnum.class, orderByColumn, "key").getValue() + " " + isAsc;
                para.put("sortKey", orderByColumn);
                if (StrUtil.equalsIgnoreCase(SqlKeyword.ASC.getSqlSegment(), isAsc)) {
                    para.put("sortType", SqlKeyword.ASC.getSqlSegment());
                } else {
                    para.put("sortType", SqlKeyword.DESC.getSqlSegment());
                }
            } else {
                if (isAdmin) {
                    orderBy = " REQ_FIELD_ERROR_COUNT asc";
                } else {
                    orderBy = " t1.CREATE_TIME desc ,t1.REQ_FIELD_ERROR_COUNT asc";
                }
            }
            try {
                PageHelper.startPage(pageNum, pageSize, orderBy);
                list = baseMapper.selectPageViewList(para);
                homeDataList = list;
            } finally {
                PageHelper.clearPage();
            }
        }

        if (CollUtil.isEmpty(list)) {
            return new ArrayList<>();
        }

        for (QcCheckStatVO vo : homeDataList) {
            // 前置機名
            if (ProjectConstant.ProjectName.RONGDA_DEQC.equals(projectConfig.getName())) {
                vo.setInstanceName(ConfigUtil.get("deqc.check.instance.name", "未知"));
            } else if (ProjectConstant.ProjectName.RONGDA_DESYS.equals(projectConfig.getName())) {
                final Instance instance = instanceCoreMapper.selectById(vo.getInstanceId());
                if (ObjectUtil.isNotNull(instance)) {
                    vo.setInstanceName(instance.getInstanceName());
                }
            }
            // 判斷實傳是否為0 有的話,則顯示‘異?!?            boolean actualCountErrorFlag = false;
            if (ObjectUtil.isNull(vo.getActualCount()) || vo.getActualCount().equals("0")) {
                actualCountErrorFlag = true;
            }
            vo.setActualCountErrorFlag(actualCountErrorFlag);
            // 完整性
            vo.setIntegrity(StrUtil.format("{}/{}", vo.getReqFieldErrorCount(), vo.getReqFieldCount()));
            // 飽和度
            // 飽和度率
            vo.setSaturation(StrUtil.format("{}/{}", vo.getReqFieldCount(), vo.getReqFieldErrorCount()));
            vo.setSaturationRate(countRate(vo.getReqFieldErrorCount().toString(), vo.getReqFieldCount().toString()));

            // 及時性
            // 及時性率
            if (vo.getActualCount() > 0 && !vo.getActualCountErrorFlag()) {
                vo.setTimeliness("正常");
            } else {
                vo.setTimeliness("異常");
            }

            // 錯誤率
            final String errorRate = countRate(vo.getErrorCount().toString(), vo.getCheckCount().toString());
            vo.setErrorRate(errorRate);

            // 外鍵錯誤率
            final String foreignRate = countRate(vo.getForeignErrorCount().toString(), vo.getCheckCount().toString());
            vo.setForeignRate(foreignRate);
        }


        return homeDataList;
    }

?文章來源地址http://www.zghlxwxcb.cn/news/detail-584822.html

到了這里,關(guān)于JAVA前端bootstrap-table表格,全量查數(shù)據(jù)后也能字段點擊排序sort的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue3 antd項目實戰(zhàn)——table表格的自定義篩選【純前端filters過濾、自定義篩選table表格數(shù)據(jù)】

    vue3 antd項目實戰(zhàn)——table表格的自定義篩選【純前端filters過濾、自定義篩選table表格數(shù)據(jù)】

    文章內(nèi)容 文章鏈接 vue3 antd table 表格的基礎(chǔ)搭建 https://blog.csdn.net/XSL_HR/article/details/128072745 ant design vue 組件庫的引入與使用 https://blog.csdn.net/XSL_HR/article/details/127396384 在 后臺管理系統(tǒng) 中,我們需要 對大量的數(shù)據(jù)進(jìn)行展示、處理和操作 ,table表格也因此無處不在。而 ant design

    2024年01月25日
    瀏覽(28)
  • 【前端】layui table表格勾選事件,以及常見模塊

    【前端】layui table表格勾選事件,以及常見模塊

    歡迎來到《小5講堂》,大家好,我是全棧小5。 這是《前端》系列文章,每篇文章將以博主理解的角度展開講解, 溫馨提示:博主能力有限,理解水平有限,若有不對之處望指正! 在 layui 的 table 表格中,想要監(jiān)聽勾選事件可以通過監(jiān)聽 checkbox 類型的列實現(xiàn)。 可以使用 ch

    2024年04月22日
    瀏覽(25)
  • el-table實現(xiàn)純前端導(dǎo)出(適用于el-table任意表格)

    el-table實現(xiàn)純前端導(dǎo)出(適用于el-table任意表格)

    2023.9.1今天我學(xué)習(xí)了如何使用el-table實現(xiàn)前端的導(dǎo)出功能,該方法的好處有無論你的el-table長什么樣子,導(dǎo)出之后就是什么樣子。 1.安裝三個插件 npm install file-save npm install xlsx npm install xlsx-style 2.創(chuàng)建Export2Excel.js 3.按需引入 4.vue.config.js引入 效果: 擴展: 當(dāng)我們會出現(xiàn)這樣的表

    2024年02月10日
    瀏覽(35)
  • 【前端】vue3+ts+vite,el-table表格渲染記錄重復(fù)情況

    給自己一個目標(biāo),然后堅持一段時間,總會有收獲和感悟! 在使用vue的過程中,總會遇到一些有疑問的地方,總結(jié)就能夠加深印象,下次再出現(xiàn)的時候也有個參考的地方。 Element UI 的 el-table 組件是一個強大的表格組件,提供了許多常見的屬性來配置和定制表格的外觀和行為

    2024年02月04日
    瀏覽(32)
  • vue純前端導(dǎo)入excel,獲取excel的表格數(shù)據(jù)渲染el-table

    vue純前端導(dǎo)入excel,獲取excel的表格數(shù)據(jù)渲染el-table

    最近有個需求,最開始列表數(shù)據(jù)是通過新增按鈕一條條添加的,但是部分?jǐn)?shù)據(jù)量可能上百條,客戶自己手選會很慢,所以產(chǎn)品經(jīng)理給了個需求要求可以通過上傳excle文件進(jìn)行導(dǎo)入。 經(jīng)過網(wǎng)上查詢及涉及自己項目,實現(xiàn)了此功能。 第一步:安裝插件,我安的是0.16.0;原因是默認(rèn)

    2024年02月16日
    瀏覽(31)
  • 如何使用Vue實現(xiàn)Excel表格數(shù)據(jù)的導(dǎo)入,在前端實現(xiàn)Excel表格文件的上傳和解析,并使用Table組件將解析出來的數(shù)據(jù)展示在前端頁面上

    隨著互聯(lián)網(wǎng)的發(fā)展和社會的進(jìn)步,各個行業(yè)的數(shù)據(jù)量越來越大,對于數(shù)據(jù)的處理變得越來越重要。其中,Excel表格是一種重要的數(shù)據(jù)處理工具。在前后端項目中,實現(xiàn)Excel表格的導(dǎo)入和導(dǎo)出功能也愈加常見。這篇文章將介紹如何使用Vue實現(xiàn)Excel表格數(shù)據(jù)的導(dǎo)入。 在開始介紹實現(xiàn)

    2024年02月11日
    瀏覽(35)
  • 前端vue+elementui導(dǎo)出復(fù)雜(單元格合并,多級表頭)表格el-table轉(zhuǎn)為excel導(dǎo)出

    前端vue+elementui導(dǎo)出復(fù)雜(單元格合并,多級表頭)表格el-table轉(zhuǎn)為excel導(dǎo)出

    需求 :前端對el-table表格導(dǎo)出 插件 : npm install xlsx -S npm install file-saver --save 原理 :直接導(dǎo)出el-table的表格里面的數(shù)據(jù),這樣就會存在缺點,只會導(dǎo)出當(dāng)前頁面的數(shù)據(jù),如果需要導(dǎo)出全部數(shù)據(jù),可以自己重新渲染一個全部數(shù)據(jù)不可見的el-table表格,來導(dǎo)出就可以了 擴展 :經(jīng)過

    2024年02月04日
    瀏覽(31)
  • 【前端vue+elemenui】el-table根據(jù)表格數(shù)據(jù)設(shè)置整行樣式或單元格樣式

    【前端vue+elemenui】el-table根據(jù)表格數(shù)據(jù)設(shè)置整行樣式或單元格樣式

    首先需要了解倆個函數(shù),row-class-name、cell-class-name 這里以cell-class-name單元格樣式為例 row-class-name 行的 className 的回調(diào)方法,也可以使用字符串為所有行設(shè)置一個固定的 className。 Function({row, rowIndex})/String cell-class-name 單元格的 className 的回調(diào)方法,也可以使用字符串為所有單元

    2024年01月24日
    瀏覽(28)
  • Vue+Element-UI 實現(xiàn)前端分頁功能,利用el-table和el-pagination組件實現(xiàn)表格前端分頁

    Vue+Element-UI 實現(xiàn)前端分頁功能,利用el-table和el-pagination組件實現(xiàn)表格前端分頁

    Vue+Element-UI 實現(xiàn)前端分頁功能,利用el-table和el-pagination組件實現(xiàn)表格前端分頁: ????????當(dāng)table的數(shù)據(jù)量比較大的時候,一個屏幕展示不出全部的數(shù)據(jù),這個時候就需要分頁顯示。而多數(shù)情況下都是做的后端分頁,就是將分頁參數(shù)和查詢條件一并傳到后端,后端將當(dāng)前頁要

    2024年01月20日
    瀏覽(32)
  • 【JaveWeb教程】(8)Web前端基礎(chǔ):Vue組件庫Element之Table表格組件和Pagination分頁組件 詳細(xì)示例介紹

    【JaveWeb教程】(8)Web前端基礎(chǔ):Vue組件庫Element之Table表格組件和Pagination分頁組件 詳細(xì)示例介紹

    接下來我們來學(xué)習(xí)一下ElementUI的常用組件,對于組件的學(xué)習(xí)比較簡單,我們只需要參考官方提供的代碼,然后復(fù)制粘貼即可。本節(jié)主要學(xué)習(xí)Tbale表格組件和Pagination分頁組件 Table 表格:用于展示多條結(jié)構(gòu)類似的數(shù)據(jù),可對數(shù)據(jù)進(jìn)行排序、篩選、對比或其他自定義操作。 接下來

    2024年02月02日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包