Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static final Comparator<R020Operation> COMPARATOR_NEW = new Comparator<R020Operation>() {
- @Override
- public int compare(R020Operation a, R020Operation b) {
- int result = 0;
- if (a.getDebet() == null) a.setDebet(BigDecimal.ZERO);
- if (b.getDebet() == null) b.setDebet(BigDecimal.ZERO);
- if (a.getCredit() == null) a.setCredit(BigDecimal.ZERO);
- if (b.getCredit() == null) b.setCredit(BigDecimal.ZERO);
- boolean isDebetOperationA = a.getDebet().compareTo(BigDecimal.ZERO) > 0;
- boolean isDebetOperationB = b.getDebet().compareTo(BigDecimal.ZERO) > 0;
- if (a.getOperationDate() != null && b.getOperationDate() != null) {
- Date dateA = DateUtils.truncateTime(a.getOperationDate());
- Date dateB = DateUtils.truncateTime(b.getOperationDate());
- result = dateA.compareTo(dateB);
- }
- if (result == 0) result = ((Boolean) (!isDebetOperationA)).compareTo(!isDebetOperationB);
- if (result == 0) result = (isDebetOperationA ? a.getDebet() : a.getCredit()).compareTo(isDebetOperationB ? b.getDebet() : b.getCredit());
- if (result == 0){
- Integer documentNumberA;
- Integer documentNumberB;
- try {
- documentNumberA = Integer.parseInt(a.getDocumentNumber());
- } catch (NumberFormatException e) {
- documentNumberA = 0;
- }
- try {
- documentNumberB = Integer.parseInt(b.getDocumentNumber());
- } catch (NumberFormatException e) {
- documentNumberB = 0;
- }
- result = documentNumberA.compareTo(documentNumberB);
- }
- return result;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement