public Document repeatBookButton(Context handler) throws Exception { logger.info("BatchMail manual calls syncRepeatBook "); List noList = new ArrayList<>(); List nmList = new ArrayList<>(); List mailAllList = new ArrayList<>();
Document returnDoc = new Document();
Map returnMap = new HashMap();
//適格データMap
Map<String, String> dealReservation = new HashMap<>();
//予約実績
Params reservationParams = new Params();
//date format
Calendar jpCal = Calendar.getInstance(TimeZone.getTimeZone("Japan") , Locale.JAPAN);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
formatter.setCalendar(jpCal);
Date checkout = Util.getDateLocal();
String dateString = formatter.format(checkout);
Date start = formatter.parse(dateString);
//予約実績api
Document reservationsDocument = new Document();
reservationsDocument.put("batchRepeatBookStatus",1);
reservationsDocument.put("batchMailRepeatBookEndStart",start);
reservationParams.condition(reservationsDocument);
reservationParams.sort(new Document("from",1));
Plural<ModReservation> reservationPlural = Rider.list(handler, ModReservation.class, reservationParams);
Map<String, ModListing> listingOption = (Map<String, ModListing>) reservationPlural.options.get("listing");
复制代码
// StringBuffer globalKey = new StringBuffer(); //预约实际TBL的状态 != Cancel List globalList = new ArrayList(); reservationPlural.items.stream() .forEach(reservations -> { try { if (reservations.getType() != null &&!reservations.getType().toString().equals("3")){
List<ModReservation> mailList = new ArrayList<>();
//物件No
String bukkenNo = reservations.getListingNo();
//物件名
String bukkenNm = "";
if(listingOption.containsKey(reservations.getListing())) {
bukkenNm = listingOption.get(reservations.getListing()).getInfo().getName();
}
Params reservationAginParams = new Params();
Document reservationDocument = new Document();
reservationDocument.put("batchRepeatBookStatus",1);
reservationDocument.put("batchMailRepeatBookNo",reservations.getListingNo());
reservationDocument.put("batchMailRepeatBookStart",reservations.getFrom());
reservationDocument.put("batchMailRepeatBookEnd",reservations.getEnd());
reservationAginParams.condition(reservationDocument);
reservationAginParams.sort(new Document("from",1));
//予約実績api
Plural<ModReservation> reservationAgainPlural = Rider.list(handler, ModReservation.class, reservationAginParams);
int index = 0;
String idKey = "";
StringBuffer strBuffer = new StringBuffer();
for (int k =0; k < reservationAgainPlural.items.size(); k++){
ModReservation item = reservationAgainPlural.items.get(k);
if (item.getNo() != null && item.getNo().toString().equals(reservations.getNo().toString())){
index = reservationAgainPlural.items.indexOf(item);
for (int j = index; j < reservationAgainPlural.items.size(); j++) {
if (reservationAgainPlural.items.get(j).getType() != null && !reservationAgainPlural.items.get(j).getType().toString().equals("3") && reservationAgainPlural.items.get(j).getStatus() != null && reservationAgainPlural.items.get(j).getStatus().toString().equals("1")) {
strBuffer.append(reservationAgainPlural.items.get(j).getNo());
}
}
}
}
idKey = strBuffer.toString();
int strIndex = -1;
int strFlag = 0;
for (int l = 0; l < globalList.size(); l ++){
strIndex = globalList.get(l).toString().indexOf(idKey);
strFlag = 1;
}
复制代码
// int strIndex = globalKey.indexOf(idKey); for (int i = 0; i < reservationAgainPlural.items.size(); i++){ if (globalList.size() == 0){ if (!dealReservation.containsKey(idKey)){ dealReservation.put(idKey, ""); for (int k = index; k < reservationAgainPlural.items.size(); k++) { if (reservationAgainPlural.items.get(k).getType() != null && !reservationAgainPlural.items.get(k).getType().toString().equals("3") && reservationAgainPlural.items.get(k).getStatus() != null && reservationAgainPlural.items.get(k).getStatus().toString().equals("1")) { mailList.add(reservationAgainPlural.items.get(k)); } } } }else { if(strIndex == -1 && strFlag == 1) { if (!dealReservation.containsKey(idKey)){ dealReservation.put(idKey, ""); for (int k = index; k < reservationAgainPlural.items.size(); k++) { if (reservationAgainPlural.items.get(k).getType() != null && !reservationAgainPlural.items.get(k).getType().toString().equals("3") && reservationAgainPlural.items.get(k).getStatus() != null && reservationAgainPlural.items.get(k).getStatus().toString().equals("1")) { mailList.add(reservationAgainPlural.items.get(k)); } } } } } }
globalList.add(idKey);
if(mailList.size() > 1) {
noList.add(bukkenNo);
nmList.add(bukkenNm);
mailAllList.add(mailList);
}
}
} catch (Exception e) {
e.printStackTrace();
logger.error("reservation url invalid");
logger.error(e);
}
});
returnMap.put("bukkenNo",noList);
returnMap.put("bukkenNm",nmList);
returnMap.put("mailList",mailAllList);
returnMap.put("totalItems",mailAllList.size());
returnDoc.putAll(returnMap);
return returnDoc;
}复制代码