|  |  | 
 |  |  |         Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class)); | 
 |  |  | //        List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit); | 
 |  |  |         for (LocDetl locDetl : groupLocDetl.getRecords()) { | 
 |  |  |             AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam(); | 
 |  |  |             Mat mat = matService.selectOne(new EntityWrapper<Mat>() | 
 |  |  |                     .eq("matnr", locDetl.getMatnr())); | 
 |  |  |             if (Cools.isEmpty(mat) | 
 |  |  |                     || Cools.isEmpty(mat.getStoreMax()) | 
 |  |  |                     || Cools.isEmpty(mat.getStoreMaxDate()) | 
 |  |  |                     || Cools.isEmpty(mat.getStoreMin())) { | 
 |  |  |                 continue; | 
 |  |  |             } else if (Cools.isEmpty(locDetl.getBatch())) { | 
 |  |  |                 continue; | 
 |  |  |             } else if (locDetl.getBatch().length() != 8) { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam(); | 
 |  |  |             abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); | 
 |  |  |             abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); | 
 |  |  |             abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); | 
 |  |  |             abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); | 
 |  |  |             abnormalLocDetlParam.setMaktx(mat.getMaktx()); | 
 |  |  |             abnormalLocDetlParam.setMatnr(mat.getMatnr()); | 
 |  |  |             abnormalLocDetlParam.setSpecs(mat.getSpecs()); | 
 |  |  |             abnormalLocDetlParam.setBatch(locDetl.getBatch()); | 
 |  |  |             try { | 
 |  |  |                 SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); | 
 |  |  |                 Date maxDate = simple.parse(locDetl.getBatch()); | 
 |  |  |                 long time = maxDate.getTime(); | 
 |  |  |                 Date now = new Date(); | 
 |  |  |                 long time1 = now.getTime(); | 
 |  |  |                 abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24))); | 
 |  |  |             } catch (ParseException e) { | 
 |  |  |                 e.printStackTrace(); | 
 |  |  |             } | 
 |  |  |             if (locDetl.getAnfme() > mat.getStoreMax()) { | 
 |  |  |                 result.add(abnormalLocDetlParam); | 
 |  |  |                 continue; | 
 |  |  |             } else if (locDetl.getAnfme() < mat.getStoreMin()) { | 
 |  |  |                 result.add(abnormalLocDetlParam); | 
 |  |  |             if (Cools.isEmpty(mat)) { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             try { | 
 |  |  |                 SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); | 
 |  |  |                 Date maxDate = simple.parse(locDetl.getBatch()); | 
 |  |  |                 Calendar calendar = new GregorianCalendar(); | 
 |  |  |                 calendar.setTime(maxDate); | 
 |  |  |                 // 把日期往后增加一天,整数  往后推,负数往前移动 | 
 |  |  |                 calendar.add(Calendar.DATE, mat.getStoreMaxDate()); | 
 |  |  |                 // 这个时间就是日期往后推一天的结果 | 
 |  |  |                 maxDate = calendar.getTime(); | 
 |  |  |                 Date now = new Date(); | 
 |  |  |                 if (now.compareTo(maxDate) > 0) { | 
 |  |  |  | 
 |  |  |             if (!Cools.isEmpty(mat.getStoreMax()) | 
 |  |  |                     || !Cools.isEmpty(mat.getStoreMin())) { | 
 |  |  |                 abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); | 
 |  |  |                 abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); | 
 |  |  |                 abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); | 
 |  |  |                 abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); | 
 |  |  |                 abnormalLocDetlParam.setMaktx(mat.getMaktx()); | 
 |  |  |                 abnormalLocDetlParam.setMatnr(mat.getMatnr()); | 
 |  |  |                 abnormalLocDetlParam.setSpecs(mat.getSpecs()); | 
 |  |  |                 abnormalLocDetlParam.setBatch(locDetl.getBatch()); | 
 |  |  |  | 
 |  |  | //                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); | 
 |  |  | //                Date maxDate = simple.parse(locDetl.getBatch()); | 
 |  |  | //                long time = maxDate.getTime(); | 
 |  |  | //                Date now = new Date(); | 
 |  |  | //                long time1 = now.getTime(); | 
 |  |  | //                abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24))); | 
 |  |  |  | 
 |  |  |                 if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) { | 
 |  |  |                     result.add(abnormalLocDetlParam); | 
 |  |  |                     continue; | 
 |  |  |                 } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) { | 
 |  |  |                     result.add(abnormalLocDetlParam); | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |             } catch (Exception e) { | 
 |  |  |                 continue; | 
 |  |  |             } else if (!Cools.isEmpty(mat.getStoreMaxDate())) { | 
 |  |  |                 if (Cools.isEmpty(locDetl.getBatch())) { | 
 |  |  |                     continue; | 
 |  |  |                 } else if (locDetl.getBatch().length() != 8) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 try { | 
 |  |  |                     SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); | 
 |  |  |                     Date maxDate = simple.parse(locDetl.getBatch()); | 
 |  |  |                     Calendar calendar = new GregorianCalendar(); | 
 |  |  |                     calendar.setTime(maxDate); | 
 |  |  |                     // 把日期往后增加一天,整数  往后推,负数往前移动 | 
 |  |  |                     calendar.add(Calendar.DATE, mat.getStoreMaxDate()); | 
 |  |  |                     // 这个时间就是日期往后推一天的结果 | 
 |  |  |                     maxDate = calendar.getTime(); | 
 |  |  |                     Date now = new Date(); | 
 |  |  |                     abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); | 
 |  |  |                     abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); | 
 |  |  |                     abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); | 
 |  |  |                     abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); | 
 |  |  |                     abnormalLocDetlParam.setMaktx(mat.getMaktx()); | 
 |  |  |                     abnormalLocDetlParam.setMatnr(mat.getMatnr()); | 
 |  |  |                     abnormalLocDetlParam.setSpecs(mat.getSpecs()); | 
 |  |  |                     abnormalLocDetlParam.setBatch(locDetl.getBatch()); | 
 |  |  |                     if (now.compareTo(maxDate) > 0) { | 
 |  |  |                         result.add(abnormalLocDetlParam); | 
 |  |  |                     } | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  |