#5649,list¶llel
// チケット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¶llel的更多相关文章
- Scalaz(58)- scalaz-stream: fs2-并行运算示范,fs2 parallel processing
从表面上来看,Stream代表一连串无穷数据元素.一连串的意思是元素有固定的排列顺序,所以对元素的运算也必须按照顺序来:完成了前面的运算再跟着进行下一个元素的运算.这样来看,Stream应该不是很好的 ...
- C#多线程之Parallel中 类似于for的continue,break的方法
好久没写东西了,终于找到点知识记录下... 利用ParallelLoopState对象来控制Parallel.For函数的执行,ParallelLoopState对象是由运行时在后台创建的: Para ...
- .NET 异步多线程,Thread,ThreadPool,Task,Parallel,异常处理,线程取消
今天记录一下异步多线程的进阶历史,以及简单的使用方法 主要还是以Task,Parallel为主,毕竟用的比较多的现在就是这些了,再往前去的,除非是老项目,不然真的应该是挺少了,大概有个概念,就当了解一 ...
- NET 异步多线程,THREAD,THREADPOOL,TASK,PARALLEL
.NET 异步多线程,THREAD,THREADPOOL,TASK,PARALLEL,异常处理,线程取消 今天记录一下异步多线程的进阶历史,以及简单的使用方法 主要还是以Task,Parallel为主 ...
- .NET异步多线程,Thread,ThreadPool,Task,Parallel,异常处理,线程取消
今天记录一下异步多线程的进阶历史,以及简单的使用方法 主要还是以Task,Parallel为主,毕竟用的比较多的现在就是这些了,再往前去的,除非是老项目,不然真的应该是挺少了,大概有个概念,就当了解一 ...
- Java 8函数编程轻松入门(五)并行化(parallel)
1.并发与并行的区别 并发: 一个时间段内有几个程序都处于已启动到运行完毕之间,且这几个程序都是在同一个处理机上运行.但在任一个时刻点只有一个程序在处理机上运行 并行: 在同一个时刻,多核处理多个任务 ...
- 异步方法的意义何在,Async和await以及Task的爱恨情仇,还有多线程那一家子。
前两天刚感受了下泛型接口的in和out,昨天就开始感受神奇的异步方法Async/await,当然顺路也看了眼多线程那几个.其实多线程异步相关的类单个用法和理解都不算困难,但是异步方法Async/awa ...
- Parallel线程使用
Parallel的静态For,ForEach和Invoke方法 在一些常见的编程情形中,使用任务也许会提升性能.为了简化编程,静态类System.Threading.Tasks.Paral ...
- 【读书笔记】.Net并行编程高级教程--Parallel
一直觉得自己对并发了解不够深入,特别是看了<代码整洁之道>觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准.而且在<失控>这本书中也多次提到并发,不管是计算机 ...
随机推荐
- knn 算法 k个相近邻居
# 一个最基本的例子 #样本数据的封装 feature = [[170,70,42],[166,56,39],[188,90,44],[165,88,40],[170,66,40],[176,80,4 ...
- [洛谷P4463] calc (生成函数)
首先注意到题目中 \(a\) 数组是有序的,那我们只用算有序的方案乘上 \(n!\) 即可. 而此时的答案显然 \[Ans=[x^n](1+x)(1+2x)\dots (1+Ax)=\prod_{i= ...
- 讲解一下类的继承super
class Test1(object): def __init__(self,ids): self.ids=ids class Par(Test1): def __init__(self,ids,us ...
- JS-内置对象和方法
1.Array数组对象unshift( ) 数组开头增加功能:给数组开头增加一个或多个 参数:一个或多个 返回值:数组的长度 原数组发生改变 shift( ) 数组开头删除一项功能 ...
- ASP.NET CSRF 解决【网摘】
http://stackoverflow.com/questions/29939566/preventing-cross-site-request-forgery-csrf-attacks-in-as ...
- AC自动机讲解超详细
begin:2019/5/2 感谢大家支持! AC自动机详细讲解 AC自动机真是个好东西!之前学KMP被Next指针搞晕了,所以咕了许久都不敢开AC自动机,近期学完之后,发现AC自动机并不是很难,特别 ...
- 包、logging模块、hashlib模块、openpyxl模块、深浅拷贝
包.logging模块.hashlib模块.openpyxl模块.深浅拷贝 一.包 1.模块与包 模块的三种来源: 1.内置的 2.第三方的 3.自定义的 模块的四种表现形式: 1.py文件 2.共享 ...
- win10安装 .net3.5失败解决方法
#开始 最近需要学习Sql Server 但是发现SQL Server2008r2 版本的安装程序基于.net 电脑没有安装.net3.5 #解决过程 可笑的是我在用离线安装包安装.net3.5的时候 ...
- 浅谈hover用法
在前端页面制作中,我们时常要用到移动显示.隐藏的动态效果,我们一般采用js来实现此效果.不过在大部分情况下,我们也可以使用hover来实现此动态效果. 在此,我谈一谈我对hover的用法,请看以下代码 ...
- cas的单点登录实现
1. 前提条件 环境:jdk1.8.shiro1.4.0及以上版本.项目以 spring+shiro构建 工具:buji-pac4j-3.1.0-jar-with-dependencies.jar以 ...