コード例 #1
0
 // 本次查询的海关编码比上一次查询的海关编码长
 @SuppressWarnings({"static-access", "rawtypes", "unused"})
 private List<DataReportSumModel> filterInnerLastHscode(
     String[] fields, String[] values, String country, Map map) {
   // 获取上一次用户查询条件
   String oldCountry = ConditionModel.getLastTimeCountry();
   String[] oldFields = ConditionModel.getLastTimeFields().split(";");
   String[] oldValues = ConditionModel.getLastTimeValues().split(";");
   String newhscode = ReportHelpUtil.newInstanceReportUtil().getHscode(fields, values);
   // 上一次查询的字段和值都包含在本次 所有可以进行多余字段的过滤
   if (ReportHelpUtil.newInstanceReportUtil().isAllTrue(oldFields, oldValues, fields, values)) {
     List<DataReportSumModel> hhlist = new LinkedList<>();
     // 先根据hscode过滤一遍
     for (DataReportSumModel data : getListFromCache()) {
       if (data.getHscode().startsWith(newhscode)) {
         hhlist.add(data);
       }
     }
     // 直接对多余字段进行过滤
     return ReportHelpUtil.getFilterList(oldFields, oldValues, fields, values, hhlist);
   }
   // 只要有一个不包含在本次查询中 直接重新检索数据
   else {
     // 初始化数据 并且放到缓存中
     return initListAndSaveCache(
         fields, values, country, map, "对不起,因为上一次查询的条件以及值没有包含在本次查询中,所以只能重新检索数据");
   }
 }
コード例 #2
0
 // 两次海关编码一致
 @SuppressWarnings({"unused", "static-access", "unchecked"})
 private List<DataReportSumModel> filterSameHscode(
     String[] fields, String[] values, String country, @SuppressWarnings("rawtypes") Map map) {
   // 获取上一次用户查询条件
   String oldCountry = ConditionModel.getLastTimeCountry();
   String[] oldFields = ConditionModel.getLastTimeFields().split(";");
   String[] oldValues = ConditionModel.getLastTimeValues().split(";");
   // 上一次查询的字段和值都包含在本次 所有可以进行多余字段的过滤
   if (ReportHelpUtil.newInstanceReportUtil().isAllTrue(oldFields, oldValues, fields, values)) {
     return ReportHelpUtil.getFilterList(oldFields, oldValues, fields, values, getListFromCache());
   }
   // 如果有一个不包含在本次查询 需要重新检索数据
   else {
     // 初始化数据 并且放到缓存中
     return initListAndSaveCache(
         fields, values, country, map, "对不起,因为上一次查询的条件以及值没有包含在本次查询中,所以只能重新检索数据");
   }
 }