// チケット5649 START
                // 画面項目.アカウント種別が0、1以外の場合のみ
                if(!CommonConstants.ACCOUNT_TYPE_SYSTEM_NEXT.equals(form.getAccountType())
                        && !CommonConstants.ACCOUNT_TYPE_SYSTEM_G5.equals(form.getAccountType())) {
                    // ソートキー:予約日時 (昇順)
                    // お客様番号 (昇順)
                    // 地区 (昇順)
                    beanList = beanList.parallelStream().sorted((added1, added2) -> {
                        if (StringUtils.compare(added1.getResvTm(),added2.getResvTm()) == CommonConstants.INT_0) {
                            if(StringUtils.compare(added1.getCustomerNum(),added2.getCustomerNum()) == CommonConstants.INT_0) {
                                // 第三ソートキー:地区
                                return StringUtils.compare(added1.getChiku(), added2.getChiku());
                            }
                            else{
                                // 第二ソートキー:お客様番号
                                return StringUtils.compare(added1.getCustomerNum(), added2.getCustomerNum());
                            }
                        }
                        else {
                            // 第一ソートキー:予約日時
                            return StringUtils.compare(added1.getResvTm(), added2.getResvTm());
                        }
                    }).collect(Collectors.toList());
                }

                // 上位1,000件は検索データとして出力する
                if(beanList.size() > CommonConstants.INT_1000) {
                    beanList = beanList.subList(CommonConstants.INT_0, CommonConstants.INT_1000);
                }

                // チケット3750 START
                // GVデータ認証フラグ(初期値:0)
                String gvDataAuthFlg = CommonConstants.STR_0;
                // 次期警備データ認証フラグ(初期値:0)
                String g6DataAuthFlg = CommonConstants.STR_0;
                // (GV検索結果件数 + 次期検索結果件数)≧1,000件上記以外の場合
                if(beanList.size() < CommonConstants.INT_1000) {
                 // セッションの共通情報-ログインに格納されている範囲が"100"以外の場合
                    if (!CommonConstants.ID_HANI_100.equals(inDto.getSessionIdHani())) {
                        // 画面項目.アカウント種別が0:次期以外 かつ、GVDBの検索結果が0件の場合
                        if(!form.getAccountType().equals(CommonConstants.ACCOUNT_TYPE_SYSTEM_NEXT)
                                && outDtoGv.getBeanList().size() == CommonConstants.INT_0) {
                            inDto.setSessionIdHani(CommonConstants.ID_HANI_100);
                            // GVDBに対して、画面入力条件で該当件数取得を行う
                            SZWI3700OutDto outDtoAllGv = this.service.selectBySZWI3700Gv(inDto);
                            // 取得した該当件数が0以外の場合
                            if (outDtoAllGv.getBeanList().size() > CommonConstants.INT_0) {
                                // GVデータ認証フラグに「1」を設定する
                                gvDataAuthFlg = CommonConstants.STR_1;
                            }
                        }
                        // 画面項目.アカウント種別が1:GV以外 かつ、次期警備DBの検索結果が0件の場合
                        if(!form.getAccountType().equals(CommonConstants.ACCOUNT_TYPE_SYSTEM_G5)
                                && outDto.getBeanList().size() == CommonConstants.INT_0) {
                            inDto.setSessionIdHani(CommonConstants.ID_HANI_100);
                            SZWI3700OutDto outDtoAll = this.service.searchListInfo(inDto);
                            // 取得した該当件数が0以外の場合
                            if (outDtoAll.getBeanList().size() > CommonConstants.INT_0) {
                                // 次期警備データ認証フラグに「1」を設定する
                                g6DataAuthFlg = CommonConstants.STR_1;
                            }
                        }
                    }
                }
                // チケット3750 END

                // 画面項目.アカウント種別が1:GⅤの場合
                if(form.getAccountType().equals(CommonConstants.ACCOUNT_TYPE_SYSTEM_G5)) {
                     // GV検索結果が1,000件の場合
                    if (beanList.size() == CommonConstants.INT_1000) {
                        // 【メッセージID】
                        //MZWI355E
                        //【メッセージパラメータ】
                        //'1000'
                        // 検索上限数({0}件)以上検索しました。検索条件を追加して下さい。
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI355E, MsgConstants.MAX_COUNT_1000));
                    // GVデータ認証フラグが1の場合
                    } else if (CommonConstants.STR_1.equals(gvDataAuthFlg)) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI305E));
                    // GV検索結果が0件の場合
                    } else if(beanList.size() == CommonConstants.INT_0) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI289E));
                        form.setBeanList(new ArrayList<SZWI3700Bean>());
                        form.setSearchSize(CommonConstants.STR_0);
                    }
                // 画面項目.アカウント種別が0:次期の場合
                } else if (form.getAccountType().equals(CommonConstants.ACCOUNT_TYPE_SYSTEM_NEXT)) {
                    // 次期警備検索結果が1,000件の場合
                    if (beanList.size() == CommonConstants.INT_1000) {
                        // 【メッセージID】
                        //MZWI355E
                        //【メッセージパラメータ】
                        //'1000'
                        // 検索上限数({0}件)以上検索しました。検索条件を追加して下さい。
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI355E, MsgConstants.MAX_COUNT_1000));
                    // 次期警備データ認証フラグが1の場合
                    } else if (CommonConstants.STR_1.equals(g6DataAuthFlg)) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI305E));
                    // 次期警備検索結果が0件の場合
                    } else if(beanList.size() == CommonConstants.INT_0) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI289E));
                        form.setBeanList(new ArrayList<SZWI3700Bean>());
                        form.setSearchSize(CommonConstants.STR_0);
                    }
                } else {
                    // 上記以外の場合
                    // (GV検索結果件数 + 次期検索結果件数)≧1,000件の場合
                    if (beanList.size() >= CommonConstants.INT_1000) {
                        // 【メッセージID】
                        //MZWI355E
                        //【メッセージパラメータ】
                        //'1000'
                        // 検索上限数({0}件)以上検索しました。検索条件を追加して下さい。
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI355E, MsgConstants.MAX_COUNT_1000));
                    // GVデータ認証フラグが1、且つ 次期警備データ認証フラグが1の場合
                    } else if (CommonConstants.STR_1.equals(g6DataAuthFlg)
                            && CommonConstants.STR_1.equals(gvDataAuthFlg)) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI305E));
                    // 次期警備データ認証フラグが1の場合 
                    } else if (CommonConstants.STR_1.equals(g6DataAuthFlg)) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI349E, MsgConstants.ACCOUNT_TYPE_SYSTEM_NEXT));
                    // GVデータ認証フラグが1の場合
                    } else if (CommonConstants.STR_1.equals(gvDataAuthFlg)) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI349E, MsgConstants.ACCOUNT_TYPE_SYSTEM_G5));
                    // (GV、次期警備合わせて)検索結果が0件の場合
                    } else if(beanList.size() == CommonConstants.INT_0) {
                        form.setErrorMsg(this.helper.getMessage(MsgConstants.MZWI289E));
                        form.setBeanList(new ArrayList<SZWI3700Bean>());
                        form.setSearchSize(CommonConstants.STR_0);
                    }
                }
                // チケット5649 END

#5649,list&parallel的更多相关文章

  1. Scalaz(58)- scalaz-stream: fs2-并行运算示范,fs2 parallel processing

    从表面上来看,Stream代表一连串无穷数据元素.一连串的意思是元素有固定的排列顺序,所以对元素的运算也必须按照顺序来:完成了前面的运算再跟着进行下一个元素的运算.这样来看,Stream应该不是很好的 ...

  2. C#多线程之Parallel中 类似于for的continue,break的方法

    好久没写东西了,终于找到点知识记录下... 利用ParallelLoopState对象来控制Parallel.For函数的执行,ParallelLoopState对象是由运行时在后台创建的: Para ...

  3. .NET 异步多线程,Thread,ThreadPool,Task,Parallel,异常处理,线程取消

    今天记录一下异步多线程的进阶历史,以及简单的使用方法 主要还是以Task,Parallel为主,毕竟用的比较多的现在就是这些了,再往前去的,除非是老项目,不然真的应该是挺少了,大概有个概念,就当了解一 ...

  4. NET 异步多线程,THREAD,THREADPOOL,TASK,PARALLEL

    .NET 异步多线程,THREAD,THREADPOOL,TASK,PARALLEL,异常处理,线程取消 今天记录一下异步多线程的进阶历史,以及简单的使用方法 主要还是以Task,Parallel为主 ...

  5. .NET异步多线程,Thread,ThreadPool,Task,Parallel,异常处理,线程取消

    今天记录一下异步多线程的进阶历史,以及简单的使用方法 主要还是以Task,Parallel为主,毕竟用的比较多的现在就是这些了,再往前去的,除非是老项目,不然真的应该是挺少了,大概有个概念,就当了解一 ...

  6. Java 8函数编程轻松入门(五)并行化(parallel)

    1.并发与并行的区别 并发: 一个时间段内有几个程序都处于已启动到运行完毕之间,且这几个程序都是在同一个处理机上运行.但在任一个时刻点只有一个程序在处理机上运行 并行: 在同一个时刻,多核处理多个任务 ...

  7. 异步方法的意义何在,Async和await以及Task的爱恨情仇,还有多线程那一家子。

    前两天刚感受了下泛型接口的in和out,昨天就开始感受神奇的异步方法Async/await,当然顺路也看了眼多线程那几个.其实多线程异步相关的类单个用法和理解都不算困难,但是异步方法Async/awa ...

  8. Parallel线程使用

    Parallel的静态For,ForEach和Invoke方法       在一些常见的编程情形中,使用任务也许会提升性能.为了简化编程,静态类System.Threading.Tasks.Paral ...

  9. 【读书笔记】.Net并行编程高级教程--Parallel

    一直觉得自己对并发了解不够深入,特别是看了<代码整洁之道>觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准.而且在<失控>这本书中也多次提到并发,不管是计算机 ...

随机推荐

  1. 将项目打成war包并用tomcat部署的方法,步骤及注意点

    部署的遇到第一个问题,就是tomcat和jdk的环境问题: 首先 理解为啥要关注这二者的环境呢?他们还是有关系的–tomcat 作为比较流行的java Web服务器也是用java来实现的一个比较大的软 ...

  2. 如何创建Maven项目和Spring IOC例子

    把如何创建Maven项目和创建Spring IOC的例子分享给大家,希望能对大家有帮助! 我的博客地址:https://www.cnblogs.com/themysteryofhackers/p/12 ...

  3. 解决docker: error pulling image configuration: Get https://registry-1.docker.io/v2/library/mysql/: TLS handshake timeout.

    出现这个问题,一般的原因是无法连接到 docker hub,通过: systemctl stop docker echo "DOCKER_OPTS=\"\$DOCKER_OPTS ...

  4. SQL常用语句和函数

    从一个表中选取数据插入到另一个表中: select column_name(s) into new_table_name from old_table_name --new_table_name表不必 ...

  5. opencv:图像卷积

    卷积基本概念 C++代码实现卷积 #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; u ...

  6. ANSYS中 *VWRITE命令使用

    目录 1. *VWRITE命令 2. Fortran字段描述符 1. *VWRITE命令 ANSYS输出结果到文件,采用*VWRITE命令,具体命令如下: *VWRITE,Par1,Par2,.... ...

  7. 【PAT甲级】1069 The Black Hole of Numbers (20 分)

    题意: 输入一个四位的正整数N,输出每位数字降序排序后的四位数字减去升序排序后的四位数字等于的四位数字,如果数字全部相同或者结果为6174(黑洞循环数字)则停止. trick: 这道题一反常态的输入的 ...

  8. app内嵌 h5页面 再滑动的时候 触发击穿底下的一些touchstart事件

    我们的目的是再滑动的时候 不要触发到touchstart事件. // 再滑动的时候无法点开视频 var is_scroll_start,is_scroll_end; $(window).on({ 't ...

  9. EF 查询表达式 join

    数据源: 1.无into,相当于 inner join var query = from p in context.P join s in context.S on p.PID equals s.PI ...

  10. 主机与虚拟机连接,主机能ping通虚拟机虚拟机ping不通主机问题

    事件描述: 从物理主机ping虚拟机时,能正常返回信息.反之,从虚机ping物理主机时返回信息:Destination Host unreachable.   解决方法: 首先,是因为默认创建的虚拟机 ...