Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.pochta.abon.ui.component;
- import com.vaadin.ui.TextField;
- import org.springframework.context.MessageSource;
- import ru.pochta.abon.container.Container;
- import ru.pochta.abon.library.dto.abonClient.dto.Box;
- import ru.pochta.abon.library.dto.abonClient.dto.Claim;
- import ru.pochta.abon.library.dto.abonClient.dto.Client;
- import ru.pochta.abon.library.dto.integration.postId.Email;
- import ru.pochta.abon.library.dto.integration.postId.PersonAddress;
- import ru.pochta.abon.library.dto.integration.postId.Phone;
- import ru.pochta.abon.library.dto.integration.postId.dto3search.ClientPostIdDTO3;
- import ru.pochta.abon.library.dto.integration.postId.enumeration.EmailTypeEnum;
- import ru.pochta.abon.library.dto.integration.postId.enumeration.PersonAddressTypeEnum;
- import ru.pochta.abon.library.dto.integration.postId.enumeration.PhoneTypeEnum;
- import ru.pochta.abon.library.service.abonClient.ServiceManager;
- import ru.pochta.abon.library.util.CustomStringUtils;
- import java.util.Comparator;
- import java.util.List;
- import java.util.Optional;
- import java.util.stream.Collectors;
- public class ClaimIndividualInfoForm extends ClaimInfoForm {
- //these fields are slightly modified in Claim legal info form
- private TextField addressReg;
- private TextField addressFact;
- private TextField clientName;
- public ClaimIndividualInfoForm(Container container, ServiceManager serviceManager, MessageSource messageSource, Claim claim) {
- super(container, serviceManager, messageSource, claim);
- }
- @Override
- void createForm() {
- TextField totalCost = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.totalCost", null, locale));
- totalCost.setValue(CustomStringUtils.formatBigDecimal(claim.getTotalCost()));
- leftCol.addComponent(totalCost);
- TextField numberOfBoxes = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.numberOfBoxes", null, locale));
- List<Box> boxes = claim.getBoxes();
- numberOfBoxes.setValue(((boxes == null) ? "" : Integer.toString(boxes.size())));
- leftCol.addComponent(numberOfBoxes);
- TextField numbersOfBoxes = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.numbersOfBoxes", null, locale));
- Comparator<Box> comparatorBox = Comparator.comparingInt(p -> Integer.valueOf(p.getNumber()));
- numbersOfBoxes.setValue((boxes == null) ? "" : boxes.stream().sorted(comparatorBox).map(Box::getNumber).collect(Collectors.joining(", ")));
- leftCol.addComponent(numbersOfBoxes);
- // TextField parentField = new TextField(this.messageSource.getMessage("claimsTab.ClaimInfoWindow.numberOfBoxes", null, locale));
- // parentField.setEnabled(false);
- // Claim parent = claim.getParent();
- // parentField.setValue(parent != null ? Long.toString(parent.getEntityId()) : "");
- // this.addComponent(parentField);
- //
- // TextField childField = new TextField(this.messageSource.getMessage("claimsTab.ClaimInfoWindow.numberOfBoxes", null, locale));
- // childField.setEnabled(false);
- // Claim child = claim.getChild();
- // childField.setValue(parent != null ? Long.toString(child.getEntityId()) : "");
- // this.addComponent(childField);
- Client client = claim.getClient();
- ClientPostIdDTO3 clientPostId = serviceManager.getPostIdService().getAccountInfoByHid(client.getHidOps());
- TextField clientType = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.clientType", null, locale));
- if (client != null) {
- clientType.setValue((client.getClientType().getType() != null) ? client.getClientType().getType() : "");
- }
- leftCol.addComponent(clientType);
- if (clientPostId != null) {
- TextField status = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.status", null, locale));
- status.setValue((claim.getClaimStatus() != null) ? claim.getClaimStatus().getStatus() : "");
- leftCol.addComponent(status);
- clientName = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.client", null, locale));
- if (client != null) {
- clientName.setValue((clientPostId.getFullName() != null) ? clientPostId.getFullName() : "");
- }
- rightCol.addComponent(clientName);
- TextField phoneNumber = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.phoneNumber", null, locale));
- List<Phone> phones = clientPostId.getPhones();
- if (phones != null) {
- Optional<Phone> phoneMobile = phones.stream().filter(p -> p.getType().equals(PhoneTypeEnum.MOBILE)).findFirst();
- phoneNumber.setValue(phoneMobile.isPresent() ? phoneMobile.get().getRawSource() : "");
- }
- rightCol.addComponent(phoneNumber);
- TextField email = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.email", null, locale));
- List<Email> mails = clientPostId.getMails();
- if (mails != null) {
- Optional<Email> mail = mails.stream().filter(p -> p.getType().equals(EmailTypeEnum.OTHER)).findFirst();
- email.setValue(mail.isPresent() ? mail.get().getEmail() : "");
- }
- rightCol.addComponent(email);
- addressReg = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.addressRegistration", null, locale));
- addressFact = new TextField(messageSource.getMessage("claimsTab.ClaimInfoWindow.addressFact", null, locale));
- List<PersonAddress> addresses = clientPostId.getAddresses();
- if (addresses != null) {
- Optional<PersonAddress> constantAddr = addresses.stream().filter(addr -> addr.getType().equals(PersonAddressTypeEnum.CONSTANT_REGISTRATION)).findFirst();
- addressReg.setValue(constantAddr.isPresent() ? constantAddr.get().getRawSource() : "");
- Optional<PersonAddress> homeAddr = addresses.stream().filter(addr -> addr.getType().equals(PersonAddressTypeEnum.HOME)).findFirst();
- addressFact.setValue(homeAddr.isPresent() ? homeAddr.get().getRawSource() : "");
- }
- //to avoid misunderstanding with physical client data
- //these 2 should be at the bottom of column cuz in legal form orgainsation data gonna be appended there
- rightCol.addComponent(addressReg);
- rightCol.addComponent(addressFact);
- // TextField addressFact = new TextField(this.messageSource.getMessage("claimsTab.ClaimInfoWindow.addressFact", null, locale));
- // addressFact.setEnabled(false);
- // addressFact.setValue((client.getFactAddress() != null) ? client.getFactAddress().getAddressInOneString().toString() : "");
- // claimInfoLayout.addComponent(addressFact);
- TextField recorded = new TextField(messageSource.getMessage("claimsTab.recordedTo1CButton", null, locale));
- recorded.setValue(claim.getRecordedInto1C() ? "Да" : "Нет");
- if (this.container.getAdminPostamtAndUFPS()) {
- leftCol.addComponent(recorded);
- }
- }
- this.addComponent(leftCol);
- this.addComponent(rightCol);
- }
- public TextField getAddressReg() {
- return addressReg;
- }
- public TextField getAddressFact() {
- return addressFact;
- }
- public TextField getClientName() {
- return clientName;
- }
- }
Add Comment
Please, Sign In to add comment