Ladies_Man

claim individaul info form

Mar 31st, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.54 KB | None | 0 0
  1. package ru.pochta.abon.ui.component;
  2.  
  3.  
  4. import com.vaadin.ui.TextField;
  5. import org.springframework.context.MessageSource;
  6. import ru.pochta.abon.container.Container;
  7. import ru.pochta.abon.library.dto.abonClient.dto.Box;
  8. import ru.pochta.abon.library.dto.abonClient.dto.Claim;
  9. import ru.pochta.abon.library.dto.abonClient.dto.Client;
  10. import ru.pochta.abon.library.dto.integration.postId.Email;
  11. import ru.pochta.abon.library.dto.integration.postId.PersonAddress;
  12. import ru.pochta.abon.library.dto.integration.postId.Phone;
  13. import ru.pochta.abon.library.dto.integration.postId.dto3search.ClientPostIdDTO3;
  14. import ru.pochta.abon.library.dto.integration.postId.enumeration.EmailTypeEnum;
  15. import ru.pochta.abon.library.dto.integration.postId.enumeration.PersonAddressTypeEnum;
  16. import ru.pochta.abon.library.dto.integration.postId.enumeration.PhoneTypeEnum;
  17. import ru.pochta.abon.library.service.abonClient.ServiceManager;
  18. import ru.pochta.abon.library.util.CustomStringUtils;
  19.  
  20. import java.util.Comparator;
  21. import java.util.List;
  22. import java.util.Optional;
  23. import java.util.stream.Collectors;
  24.  
  25. public class ClaimIndividualInfoForm extends ClaimInfoForm {
  26.  
  27.     //these fields are slightly modified in Claim legal info form
  28.     private TextField addressReg;
  29.     private TextField addressFact;
  30.     private TextField clientName;
  31.  
  32.     public ClaimIndividualInfoForm(Container container, ServiceManager serviceManager, MessageSource messageSource, Claim claim) {
  33.         super(container, serviceManager, messageSource, claim);
  34.     }
  35.  
  36.     @Override
  37.     void createForm() {
  38.  
  39.         TextField totalCost = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.totalCost", null, locale));
  40.         totalCost.setValue(CustomStringUtils.formatBigDecimal(claim.getTotalCost()));
  41.         leftCol.addComponent(totalCost);
  42.  
  43.         TextField numberOfBoxes = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.numberOfBoxes", null, locale));
  44.         List<Box> boxes = claim.getBoxes();
  45.         numberOfBoxes.setValue(((boxes == null) ? "" : Integer.toString(boxes.size())));
  46.         leftCol.addComponent(numberOfBoxes);
  47.  
  48.         TextField numbersOfBoxes = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.numbersOfBoxes", null, locale));
  49.         Comparator<Box> comparatorBox = Comparator.comparingInt(p -> Integer.valueOf(p.getNumber()));
  50.         numbersOfBoxes.setValue((boxes == null) ? "" : boxes.stream().sorted(comparatorBox).map(Box::getNumber).collect(Collectors.joining(", ")));
  51.         leftCol.addComponent(numbersOfBoxes);
  52.  
  53. //        TextField parentField = new TextField(this.messageSource.getMessage("claimsTab.ClaimInfoWindow.numberOfBoxes", null, locale));
  54. //        parentField.setEnabled(false);
  55. //        Claim parent = claim.getParent();
  56. //        parentField.setValue(parent != null ? Long.toString(parent.getEntityId()) : "");
  57. //        this.addComponent(parentField);
  58. //
  59. //        TextField childField = new TextField(this.messageSource.getMessage("claimsTab.ClaimInfoWindow.numberOfBoxes", null, locale));
  60. //        childField.setEnabled(false);
  61. //        Claim child = claim.getChild();
  62. //        childField.setValue(parent != null ? Long.toString(child.getEntityId()) : "");
  63. //        this.addComponent(childField);
  64.  
  65.  
  66.         Client client = claim.getClient();
  67.         ClientPostIdDTO3 clientPostId = serviceManager.getPostIdService().getAccountInfoByHid(client.getHidOps());
  68.  
  69.         TextField clientType = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.clientType", null, locale));
  70.         if (client != null) {
  71.             clientType.setValue((client.getClientType().getType() != null) ? client.getClientType().getType() : "");
  72.         }
  73.         leftCol.addComponent(clientType);
  74.  
  75.  
  76.  
  77.         if (clientPostId != null) {
  78.  
  79.             TextField status = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.status", null, locale));
  80.             status.setValue((claim.getClaimStatus() != null) ? claim.getClaimStatus().getStatus() : "");
  81.             leftCol.addComponent(status);
  82.  
  83.  
  84.  
  85.             clientName = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.client", null, locale));
  86.             if (client != null) {
  87.                 clientName.setValue((clientPostId.getFullName() != null) ? clientPostId.getFullName() : "");
  88.             }
  89.             rightCol.addComponent(clientName);
  90.  
  91.  
  92.             TextField phoneNumber = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.phoneNumber", null, locale));
  93.             List<Phone> phones = clientPostId.getPhones();
  94.             if (phones != null) {
  95.                 Optional<Phone> phoneMobile = phones.stream().filter(p -> p.getType().equals(PhoneTypeEnum.MOBILE)).findFirst();
  96.                 phoneNumber.setValue(phoneMobile.isPresent() ? phoneMobile.get().getRawSource() : "");
  97.             }
  98.             rightCol.addComponent(phoneNumber);
  99.  
  100.             TextField email = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.email", null, locale));
  101.             List<Email> mails = clientPostId.getMails();
  102.             if (mails != null) {
  103.                 Optional<Email> mail = mails.stream().filter(p -> p.getType().equals(EmailTypeEnum.OTHER)).findFirst();
  104.                 email.setValue(mail.isPresent() ? mail.get().getEmail() : "");
  105.             }
  106.             rightCol.addComponent(email);
  107.  
  108.  
  109.             addressReg = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.addressRegistration", null, locale));
  110.             addressFact = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.addressFact", null, locale));
  111.             List<PersonAddress> addresses = clientPostId.getAddresses();
  112.             if (addresses != null) {
  113.                 Optional<PersonAddress> constantAddr = addresses.stream().filter(addr -> addr.getType().equals(PersonAddressTypeEnum.CONSTANT_REGISTRATION)).findFirst();
  114.                 addressReg.setValue(constantAddr.isPresent() ? constantAddr.get().getRawSource() : "");
  115.  
  116.                 Optional<PersonAddress> homeAddr = addresses.stream().filter(addr -> addr.getType().equals(PersonAddressTypeEnum.HOME)).findFirst();
  117.                 addressFact.setValue(homeAddr.isPresent() ? homeAddr.get().getRawSource() : "");
  118.  
  119.             }
  120.             //to avoid misunderstanding with physical client data
  121.             //these 2 should be at the bottom of column cuz in legal form orgainsation data gonna be appended there
  122.             rightCol.addComponent(addressReg);
  123.             rightCol.addComponent(addressFact);
  124.  
  125.  
  126. //                TextField addressFact = new TextField(this.messageSource.getMessage("claimsTab.ClaimInfoWindow.addressFact", null, locale));
  127. //                addressFact.setEnabled(false);
  128. //                addressFact.setValue((client.getFactAddress() != null) ? client.getFactAddress().getAddressInOneString().toString() : "");
  129. //                claimInfoLayout.addComponent(addressFact);
  130.  
  131.             TextField recorded = new TextField(messageSource.getMessage("claimsTab.recordedTo1CButton", null, locale));
  132.             recorded.setValue(claim.getRecordedInto1C() ? "Да" : "Нет");
  133.             if (this.container.getAdminPostamtAndUFPS()) {
  134.                 leftCol.addComponent(recorded);
  135.             }
  136.         }
  137.  
  138.         this.addComponent(leftCol);
  139.         this.addComponent(rightCol);
  140.  
  141.     }
  142.  
  143.     public TextField getAddressReg() {
  144.         return addressReg;
  145.     }
  146.  
  147.     public TextField getAddressFact() {
  148.         return addressFact;
  149.     }
  150.  
  151.     public TextField getClientName() {
  152.         return clientName;
  153.     }
  154. }
Add Comment
Please, Sign In to add comment