#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
一直觉得自己对并发了解不够深入,特别是看了<代码整洁之道>觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准.而且在<失控>这本书中也多次提到并发,不管是计算机 ...
随机推荐
- 题解【洛谷P5436】【XR-2】缘分
题目背景 世间万物都置身于缘分编织的大网中.缘分未到,虽历经千劫,却不能相遇.缘分到了,在草原上都能等到一艘船.--<一禅小和尚> 题目描述 一禅希望知道他和师父之间的缘分大小.可是如何才 ...
- go基础_切片
切片创建方式 1.通过数组创建 2.通过内置函数make创建 切片允许的操作 1.追加元素 2.通过内置函数make创建 package main import "fmt" fun ...
- 【npm】安装、搭建独立项目环境
目录 安装npm包的几种方式 搭建独立的项目环境 npm常用命令 package.json文件详述 "任何一门计算机语言都包含了丰富的第三方库,npm就是JavaScript这门语言的第三方 ...
- 在线直播: .NET与物联网主流技术探秘 初识IoT!
DNT精英论坛暨.NET北京俱乐部是由资深.NET专家和社区活跃分子发起的技术论坛,以“分享.成长.合作.共赢”为原则,致力于打造一个领先的技术分享平台和成长交流生态.本次活动由aelf赞助支持,刘洪 ...
- Flask 学习之flask入门
一.Flask的简单介绍 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请 ...
- CCF 试题编号: 201909-4 试题名称: 推荐系统
这题是stl的综合应用,map要想快,直接上unordered_map,这样查询接近O(1),是不是很嗨皮. 思路其实还是很简单的,type+id做个Hash,由于set.insert的第一个返回值是 ...
- Spring IoC(一)bean实例化和依赖注入
1.IoC容器概述 IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入. 所谓 IOC ,就 ...
- JavaScript 对象属性与方法
对象的创建: 1 字面量创建 var obj = {a:1,b:2}; 2 构造函数创建 var obj = new Object(); obj.a = 1; obj.b = 2; 3 Object. ...
- Cygwin不能编译及解决办法
最近不知道什么原因,以前使用cygwin编译Android动态库,现在不能使用了,报下面的错误. Android NDK: Host 'awk' tool is outdated. Please de ...
- Shiro入门学习之自定义Realm实现认证(四)
一.概述 Shirom默认使用自带的IniRealm,IniRealm从ini配置文件中读取用户的信息,而大部分情况下需要从系统数据库中读取用户信息,所以需要实现自定义Realm,Realm接口如下: ...