use of org.mifos.dto.screen.PersonnelDetailsDto in project head by mifos.
the class PersonnelServiceFacadeWebTier method getPersonnelInformationDto.
@Override
public PersonnelInformationDto getPersonnelInformationDto(final Long userId, final String globalNumber) {
PersonnelBO personnel = null;
if (userId != null) {
personnel = personnelDao.findPersonnelById(userId.shortValue());
} else {
personnel = personnelDao.findByGlobalPersonnelNum(globalNumber);
}
if (personnel == null) {
throw new MifosRuntimeException("personnel not found for id" + userId);
}
String displayName = personnel.getDisplayName();
PersonnelStatusEntity personnelStatus = personnel.getStatus();
String statusName = ApplicationContextProvider.getBean(MessageLookup.class).lookup(personnelStatus.getLookUpValue());
ListElement status = new ListElement(new Integer(personnelStatus.getId()), statusName);
boolean locked = personnel.isLocked();
PersonnelDetailsEntity personnelDetailsEntity = personnel.getPersonnelDetails();
Address address = personnelDetailsEntity.getAddress();
AddressDto addressDto = new AddressDto(address.getLine1(), address.getLine2(), address.getLine3(), address.getCity(), address.getState(), address.getCountry(), address.getZip(), address.getPhoneNumber());
Name name = personnelDetailsEntity.getName();
PersonnelDetailsDto personnelDetails = new PersonnelDetailsDto(personnelDetailsEntity.getGovernmentIdNumber(), new DateTime(personnelDetailsEntity.getDob()).toDateMidnight().toDateTime(), personnelDetailsEntity.getMaritalStatus(), personnelDetailsEntity.getGender(), new DateTime(personnelDetailsEntity.getDateOfJoiningMFI()).toDateMidnight().toDateTime(), new DateTime(personnelDetailsEntity.getDateOfJoiningBranch()).toDateMidnight().toDateTime(), new DateTime(personnelDetailsEntity.getDateOfLeavingBranch()).toDateMidnight().toDateTime(), addressDto, name.getFirstName(), name.getMiddleName(), name.getSecondLastName(), name.getLastName(), new DateTime(personnelDetailsEntity.getPersonnel().getPasswordExpirationDate()).toDateMidnight().toDateTime());
String emailId = personnel.getEmailId();
Short preferredLocale = personnel.getPreferredLocale();
String languageName = Localization.getInstance().getDisplayName(preferredLocale);
if (preferredLocale != null) {
languageName = Localization.getInstance().getDisplayName(preferredLocale);
}
PersonnelLevelEntity level = personnel.getLevel();
OfficeBO office = personnel.getOffice();
Integer title = personnel.getTitle();
Set<PersonnelRoleEntity> personnelRoleEntities = personnel.getPersonnelRoles();
Set<ListElement> personnelRoles = new LinkedHashSet<ListElement>();
for (PersonnelRoleEntity entity : personnelRoleEntities) {
ListElement element = new ListElement(entity.getRole().getId().intValue(), entity.getRole().getName());
personnelRoles.add(element);
}
Short personnelId = personnel.getPersonnelId();
String userName = personnel.getUserName();
Set<PersonnelCustomFieldEntity> personnelCustomFields = personnel.getCustomFields();
Set<CustomFieldDto> customFields = new LinkedHashSet<CustomFieldDto>();
for (PersonnelCustomFieldEntity fieldDef : personnelCustomFields) {
customFields.add(new CustomFieldDto(fieldDef.getFieldId(), fieldDef.getFieldValue()));
}
Set<PersonnelNotesEntity> personnelNotesEntity = personnel.getPersonnelNotes();
Set<PersonnelNoteDto> personnelNotes = new LinkedHashSet<PersonnelNoteDto>();
for (PersonnelNotesEntity entity : personnelNotesEntity) {
personnelNotes.add(new PersonnelNoteDto(new DateTime(entity.getCommentDate()), entity.getComment(), entity.getPersonnelName()));
}
return new PersonnelInformationDto(personnel.getPersonnelId().intValue(), personnel.getGlobalPersonnelNum(), displayName, status, locked, personnelDetails, emailId, languageName, preferredLocale.intValue(), level.getId(), office.getOfficeId().intValue(), office.getOfficeName(), title, personnelRoles, personnelId, userName, customFields, personnelNotes, personnel.getPasswordExpirationDate());
}
use of org.mifos.dto.screen.PersonnelDetailsDto in project head by mifos.
the class SystemUserController method createPopulatedUserFormBean.
public UserFormBean createPopulatedUserFormBean(final Long userId, final UserFormBean formBean) {
PersonnelInformationDto personnelInformation = this.personnelServiceFacade.getPersonnelInformationDto(userId, "");
UserFormBean populatedBean = createUserFormBean(personnelInformation.getOfficeId().longValue(), formBean);
populatedBean.setUserId(userId);
populatedBean.setStatusId(personnelInformation.getStatus().getId());
populatedBean.setDisplayName(personnelInformation.getDisplayName());
PersonnelDetailsDto details = personnelInformation.getPersonnelDetails();
populatedBean.setFirstName(details.getFirstName());
populatedBean.setMiddleName(details.getMiddleName());
populatedBean.setSecondLastName(details.getSecondLastName());
populatedBean.setLastName(details.getLastName());
populatedBean.setGovernmentId(details.getGovernmentIdNumber());
populatedBean.setEmail(personnelInformation.getEmailId());
populatedBean.setDateOfBirthDay(details.getDob().getDayOfMonth());
populatedBean.setDateOfBirthMonth(details.getDob().getMonthOfYear());
populatedBean.setDateOfBirthYear(details.getDob().getYearOfEra());
if (details.getDateOfJoiningMFI() != null) {
populatedBean.setDateOfBirthDay(details.getPasswordExpirationDate().getDayOfMonth());
populatedBean.setDateOfBirthMonth(details.getPasswordExpirationDate().getMonthOfYear());
populatedBean.setDateOfBirthYear(details.getPasswordExpirationDate().getYearOfEra());
}
if (details.getDateOfJoiningMFI() != null) {
populatedBean.setMfiJoiningDateDay(details.getDateOfJoiningMFI().getDayOfMonth());
populatedBean.setMfiJoiningDateMonth(details.getDateOfJoiningMFI().getMonthOfYear());
populatedBean.setMfiJoiningDateYear(details.getDateOfJoiningMFI().getYearOfEra());
}
populatedBean.setSelectedGender(details.getGender().toString());
if (details.getMaritalStatus() != null) {
populatedBean.setSelectedMaritalStatus(details.getMaritalStatus().toString());
}
if (personnelInformation.getPreferredLanguageId() != null) {
populatedBean.setSelectedPreferredLanguage(personnelInformation.getPreferredLanguageId().toString());
}
AddressDto address = details.getAddress();
AddressBean bean = populatedBean.getAddress();
bean.setAddress1(address.getLine1());
bean.setAddress2(address.getLine2());
bean.setAddress3(address.getLine3());
bean.setCityDistrict(address.getCity());
bean.setState(address.getState());
bean.setCountry(address.getCountry());
bean.setPostalCode(address.getZip());
bean.setTelephoneNumber(address.getPhoneNumber());
populatedBean.setAddress(bean);
if (personnelInformation.getTitle() != null) {
populatedBean.setSelectedUserTitle(personnelInformation.getTitle().toString());
}
populatedBean.setSelectedUserHierarchy(personnelInformation.getLevelId().toString());
Set<ListElement> roles = personnelInformation.getPersonnelRoles();
String[] selectedRoles = new String[roles.size()];
int roleIndex = 0;
for (ListElement listElement : roles) {
selectedRoles[roleIndex] = listElement.getId().toString();
roleIndex++;
}
populatedBean.setSelectedRoles(selectedRoles);
populatedBean.setUsername(personnelInformation.getUserName());
List<CustomFieldDto> currentBeanFields = new ArrayList<CustomFieldDto>();
List<CustomFieldDto> defaultBeanFields = populatedBean.getCustomFields();
for (CustomFieldDto customFieldDto : defaultBeanFields) {
CustomFieldDto matchingField = findMatchingAndSetFieldValue(customFieldDto, personnelInformation.getCustomFields());
if (matchingField != null) {
currentBeanFields.add(matchingField);
}
}
populatedBean.setRecentNotes(personnelInformation.getRecentPersonnelNotes());
populatedBean.setCustomFields(currentBeanFields);
populatedBean.prepareForPreview();
populatedBean.prepateForReEdit();
return populatedBean;
}
Aggregations