diff --git a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java index 7d5f1de0..95b38c9f 100644 --- a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java +++ b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java @@ -1,26 +1,26 @@ /* -* AMRIT – Accessible Medical Records via Integrated Technology -* Integrated EHR (Electronic Health Records) Solution -* -* Copyright (C) "Piramal Swasthya Management and Research Institute" -* -* This file is part of AMRIT. -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see https://www.gnu.org/licenses/. -*/ + * AMRIT – Accessible Medical Records via Integrated Technology + * Integrated EHR (Electronic Health Records) Solution + * + * Copyright (C) "Piramal Swasthya Management and Research Institute" + * + * This file is part of AMRIT. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see https://www.gnu.org/licenses/. + */ /** - * + * */ package com.iemr.common.service.beneficiary; @@ -29,10 +29,10 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch; import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsService; -import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsServiceImpl; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -68,289 +68,296 @@ @Service public class RegisterBenificiaryServiceImpl implements RegisterBenificiaryService { - @Autowired - CommonIdentityMapper identityMapper; - @Autowired - IdentityBeneficiaryService identityBeneficiaryService; - - @Autowired - IdentityBenEditMapper identityBenEditMapper; - - @Autowired - private WelcomeBenificarySmsService welcomeBenificarySmsService; - - @Autowired - Validator validator; - - - - - - - - @Autowired - OutboundHistoryRepository outboundHistoryRepository; - - /** - * IemrUserRegisterRepository declare - */ - // private BeneficiaryRepository benificiaryRepository; - - /** - * Inject IemrUserRegisterRepository - */ - - private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); - - @Override - public Beneficiary save(Beneficiary benificiaryDetails) { - - logger.info("benificiaryDetails: " + benificiaryDetails); - - return new Beneficiary(); // savedBenificiaryDetails; - } - - @Async - private void updateBeneficiaryID(String beneficiaryID, Long beneficiaryRegID) { - try { - // benificiaryRepository.addBeneficiaryID(beneficiaryID, beneficiaryRegID); - } catch (Exception e) { - logger.error("updateBeneficiaryID failed with error " + e.getMessage(), e); - } - } - - @Async - @Override - public Integer updateBenificiary(BeneficiaryModel benificiaryDetails, String auth) throws IEMRException { - Integer updatedRows = 0; - IdentityEditDTO identityEditDTO = identityBenEditMapper.BenToIdentityEditMapper(benificiaryDetails); - setDemographicDetails(identityEditDTO,benificiaryDetails); - - - - if (benificiaryDetails.getBeneficiaryIdentities() != null - && benificiaryDetails.getBeneficiaryIdentities().size() > 0) { - identityEditDTO.setIdentities(Identity.createIdentity(benificiaryDetails.getBeneficiaryIdentities(), - benificiaryDetails.getCreatedBy())); - } - identityEditDTO.setDob(benificiaryDetails.getDOB()); - updatedRows = identityBeneficiaryService.editIdentityEditDTO(identityEditDTO, auth, - benificiaryDetails.getIs1097()); - logger.info("updateBen"); - //updateDeathOfBenificiary(benificiaryDetails); - return updatedRows; - } - - - private void setDemographicDetails(IdentityEditDTO identityEditDTO, BeneficiaryModel benificiaryDetails) { - if(null != benificiaryDetails.getI_bendemographics()) { - identityEditDTO.setCommunity(benificiaryDetails.getI_bendemographics().getCommunityName()); - identityEditDTO.setCommunityName(benificiaryDetails.getI_bendemographics().getCommunityName()); - if(null != benificiaryDetails.getReligion()) - identityEditDTO.setReligion(benificiaryDetails.getReligion()); - else if(null != benificiaryDetails.getI_bendemographics().getReligion()) - identityEditDTO.setReligion(benificiaryDetails.getI_bendemographics().getReligion()); - else - identityEditDTO.setReligion(benificiaryDetails.getI_bendemographics().getReligionName()); - - if (null != benificiaryDetails.getOccupation()) { - identityEditDTO.setOccupationName(benificiaryDetails.getOccupation()); - } else if (null != benificiaryDetails.getI_bendemographics() && - null != benificiaryDetails.getI_bendemographics().getOccupation()) { - identityEditDTO.setOccupationName(benificiaryDetails.getI_bendemographics().getOccupation()); - } else { - identityEditDTO.setOccupationName(benificiaryDetails.getOccupationName()); - } - - if (null != benificiaryDetails.getEducation()) { - identityEditDTO.setEducation(benificiaryDetails.getEducation()); - } else if (null != benificiaryDetails.getI_bendemographics() && - null != benificiaryDetails.getI_bendemographics().getEducationName()) { - identityEditDTO.setEducation(benificiaryDetails.getI_bendemographics().getEducationName()); - } - if(null != benificiaryDetails.getIncomeStatus()) - identityEditDTO.setIncomeStatus(benificiaryDetails.getIncomeStatus()); - else - identityEditDTO.setIncomeStatus(benificiaryDetails.getI_bendemographics().getIncomeStatus()); - } - if(benificiaryDetails!=null){ - //updateDeathOfBenificiary(benificiaryDetails); - } - - } - - private int updateDemographics(BeneficiaryDemographicsModel i_BenDemographics) { - int updatedRows = 0; - System.out.println(i_BenDemographics); - - return updatedRows; - } - - @Override - public String save(BeneficiaryModel beneficiaryModel, HttpServletRequest servletRequest) throws Exception { - - logger.info("benificiaryDetails: " + beneficiaryModel); - - CommonIdentityDTO identityDTO = identityMapper.beneficiaryModelCommonIdentityDTO(beneficiaryModel); - - setSaveDemographicDetails(identityDTO,beneficiaryModel); + @Autowired + CommonIdentityMapper identityMapper; + @Autowired + IdentityBeneficiaryService identityBeneficiaryService; + + @Autowired + IdentityBenEditMapper identityBenEditMapper; + + @Autowired + private WelcomeBenificarySmsService welcomeBenificarySmsService; + + @Autowired + Validator validator; + + @Autowired + OutboundHistoryRepository outboundHistoryRepository; + + /** + * IemrUserRegisterRepository declare + */ + // private BeneficiaryRepository benificiaryRepository; + + /** + * Inject IemrUserRegisterRepository + */ + + private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); + + @Override + public Beneficiary save(Beneficiary benificiaryDetails) { + + logger.info("benificiaryDetails: " + benificiaryDetails); + + return new Beneficiary(); // savedBenificiaryDetails; + } + + @Async + private void updateBeneficiaryID(String beneficiaryID, Long beneficiaryRegID) { + try { + // benificiaryRepository.addBeneficiaryID(beneficiaryID, beneficiaryRegID); + } catch (Exception e) { + logger.error("updateBeneficiaryID failed with error " + e.getMessage(), e); + } + } + + @Async + @Override + public Integer updateBenificiary(BeneficiaryModel benificiaryDetails, String auth) throws IEMRException { + Integer updatedRows = 0; + IdentityEditDTO identityEditDTO = identityBenEditMapper.BenToIdentityEditMapper(benificiaryDetails); + setDemographicDetails(identityEditDTO, benificiaryDetails); + + + if (benificiaryDetails.getBeneficiaryIdentities() != null + && benificiaryDetails.getBeneficiaryIdentities().size() > 0) { + identityEditDTO.setIdentities(Identity.createIdentity(benificiaryDetails.getBeneficiaryIdentities(), + benificiaryDetails.getCreatedBy())); + } + identityEditDTO.setDob(benificiaryDetails.getDOB()); + updatedRows = identityBeneficiaryService.editIdentityEditDTO(identityEditDTO, auth, + benificiaryDetails.getIs1097()); + logger.info("updateBen"); + return updatedRows; + } + + + private void setDemographicDetails(IdentityEditDTO identityEditDTO, BeneficiaryModel benificiaryDetails) { + if (null != benificiaryDetails.getI_bendemographics()) { + identityEditDTO.setCommunity(benificiaryDetails.getI_bendemographics().getCommunityName()); + identityEditDTO.setCommunityName(benificiaryDetails.getI_bendemographics().getCommunityName()); + if (null != benificiaryDetails.getReligion()) + identityEditDTO.setReligion(benificiaryDetails.getReligion()); + else if (null != benificiaryDetails.getI_bendemographics().getReligion()) + identityEditDTO.setReligion(benificiaryDetails.getI_bendemographics().getReligion()); + else + identityEditDTO.setReligion(benificiaryDetails.getI_bendemographics().getReligionName()); + + if (null != benificiaryDetails.getOccupation()) { + identityEditDTO.setOccupationName(benificiaryDetails.getOccupation()); + } else if (null != benificiaryDetails.getI_bendemographics() && + null != benificiaryDetails.getI_bendemographics().getOccupation()) { + identityEditDTO.setOccupationName(benificiaryDetails.getI_bendemographics().getOccupation()); + } else { + identityEditDTO.setOccupationName(benificiaryDetails.getOccupationName()); + } + + if (null != benificiaryDetails.getEducation()) { + identityEditDTO.setEducation(benificiaryDetails.getEducation()); + } else if (null != benificiaryDetails.getI_bendemographics() && + null != benificiaryDetails.getI_bendemographics().getEducationName()) { + identityEditDTO.setEducation(benificiaryDetails.getI_bendemographics().getEducationName()); + } + if (null != benificiaryDetails.getIncomeStatus()) + identityEditDTO.setIncomeStatus(benificiaryDetails.getIncomeStatus()); + else + identityEditDTO.setIncomeStatus(benificiaryDetails.getI_bendemographics().getIncomeStatus()); + } + + + } + + private int updateDemographics(BeneficiaryDemographicsModel i_BenDemographics) { + int updatedRows = 0; + System.out.println(i_BenDemographics); + + return updatedRows; + } + + @Override + public String save(BeneficiaryModel beneficiaryModel, HttpServletRequest servletRequest) throws Exception { + + logger.info("benificiaryDetails: " + beneficiaryModel); + + CommonIdentityDTO identityDTO = identityMapper.beneficiaryModelCommonIdentityDTO(beneficiaryModel); + + setSaveDemographicDetails(identityDTO, beneficiaryModel); // identityDTO.setOtherFields(beneficiaryModel.getOtherFields()); - identityDTO.setIsConsent(beneficiaryModel.getIsConsent()); - - identityDTO.setFaceEmbedding(beneficiaryModel.getFaceEmbedding()); - identityDTO.setEmergencyRegistration(beneficiaryModel.isEmergencyRegistration()); - identityDTO - .setBenFamilyDTOs(identityMapper.benPhoneMapListToBenFamilyDTOList(beneficiaryModel.getBenPhoneMaps())); - String request = new Gson().toJson(identityDTO); - - - if (beneficiaryModel.getIs1097() == null) - beneficiaryModel.setIs1097(false); - - String identityResponse = identityBeneficiaryService.getIdentityResponse(request, - servletRequest.getHeader("authorization"), beneficiaryModel.getIs1097()); - JSONObject responseObj = new JSONObject(identityResponse); - BeneficiaryModel beneficiary = new BeneficiaryModel(); - if (responseObj.has("response")) { - OutputResponse response = InputMapper.getInstance() - .fromJson(responseObj.getJSONObject("response").toString(), OutputResponse.class); - if (response.isSuccess()) { - BeneficiariesDTO createdBen = InputMapper.getInstance().fromJson(response.getData(), - BeneficiariesDTO.class); - beneficiaryModel.setBeneficiaryRegID(Long.parseLong(createdBen.getBenRegId().toString())); - beneficiaryModel.setBeneficiaryID(createdBen.getBenId().toString()); - beneficiary = beneficiaryModel; - } else { - return response.toString(); - } - if(beneficiary!=null){ - if(beneficiary.getBenPhoneMaps().get(0).getPhoneNo()!=null){ - welcomeBenificarySmsService.sendWelcomeSMStoBenificiary(beneficiary.getBenPhoneMaps().get(0).getPhoneNo(),beneficiary.getFirstName()+" "+beneficiary.getLastName(),beneficiary.getBeneficiaryID()); - } - } - - } - return OutputMapper.gson().toJson(beneficiary); - } - - - - private void setSaveDemographicDetails(CommonIdentityDTO identityDTO, BeneficiaryModel beneficiaryModel) { - if(null != beneficiaryModel.getI_bendemographics()) { - identityDTO.setCommunity(beneficiaryModel.getI_bendemographics().getCommunityName()); - if(null != beneficiaryModel.getReligion()) - identityDTO.setReligion(beneficiaryModel.getReligion()); - else if(null != beneficiaryModel.getI_bendemographics().getReligion()) - identityDTO.setReligion(beneficiaryModel.getI_bendemographics().getReligion()); - else - identityDTO.setReligion(beneficiaryModel.getI_bendemographics().getReligionName()); - - if (null != beneficiaryModel.getOccupation()) { - identityDTO.setOccupationName(beneficiaryModel.getOccupation()); - } else if (null != beneficiaryModel.getI_bendemographics() && - null != beneficiaryModel.getI_bendemographics().getOccupation()) { - identityDTO.setOccupationName(beneficiaryModel.getI_bendemographics().getOccupation()); - } else { - identityDTO.setOccupationName(beneficiaryModel.getOccupationName()); - } - - if (null != beneficiaryModel.getEducation()) { - identityDTO.setEducation(beneficiaryModel.getEducation()); - } else if (null != beneficiaryModel.getI_bendemographics() && - null != beneficiaryModel.getI_bendemographics().getEducationName()) { - identityDTO.setEducation(beneficiaryModel.getI_bendemographics().getEducationName()); - } - - - - if(null != beneficiaryModel.getIncomeStatus()) - identityDTO.setIncomeStatus(beneficiaryModel.getIncomeStatus()); - else - identityDTO.setIncomeStatus(beneficiaryModel.getI_bendemographics().getIncomeStatus()); - } - if(beneficiaryModel!=null){ - // updateDeathOfBenificiary(beneficiaryModel); - } - - } - - @Override - public Integer updateCommunityorEducation(BeneficiaryModel benificiaryDetails, String auth) throws IEMRException { - IdentityEditDTO identityEditDTO = new IdentityEditDTO(); - identityEditDTO.setBeneficiaryRegId(new BigInteger(benificiaryDetails.getBeneficiaryRegID() + "")); - if (benificiaryDetails.getI_bendemographics() != null) { - identityEditDTO.setCommunityId(benificiaryDetails.getI_bendemographics().getCommunityID()); - identityEditDTO.setEducationId(benificiaryDetails.getI_bendemographics().getEducationID()); - } - - Integer updatedRows = 0; - updatedRows = identityBeneficiaryService.editIdentityEditDTOCommunityorEducation(identityEditDTO, auth, - benificiaryDetails.getIs1097()); - // updateBeneficiaryPreferredLanguage(identityEditDTO, auth); - return updatedRows; - } - - private void updateMCTSRecord(BeneficiaryModel beneficiaryModel) { - List mctsOutboundCallDetails = new ArrayList(); - - try { - - mctsOutboundCallDetails = outboundHistoryRepository.checkBenExist(beneficiaryModel.getBeneficiaryRegID()); - - MctsOutboundCallDetail callDetail = mctsOutboundCallDetails.get(0); - - if (callDetail != null && callDetail.getIsMother() != null) { - - String firstName = beneficiaryModel.getFirstName(); - String lastName = beneficiaryModel.getLastName(); - String name = ""; - if (lastName != null && !lastName.equalsIgnoreCase("")) { - name = firstName + " " + lastName; - } else { - name = firstName; - } - - Integer age = beneficiaryModel.getAge(); - - String districtName = outboundHistoryRepository - .getDistrictName(beneficiaryModel.getI_bendemographics().getDistrictID()); - String talukaName = outboundHistoryRepository - .getBlockName(beneficiaryModel.getI_bendemographics().getBlockID()); - String villageName = outboundHistoryRepository - .getVillageName(beneficiaryModel.getI_bendemographics().getDistrictBranchID()); - - String gender = null; - if (beneficiaryModel.getGenderID() == 1) { - gender = "Male"; - } else if (beneficiaryModel.getGenderID() == 2) { - gender = "Female"; - } else { - gender = "Transgender"; - } - - Timestamp lastModDate = Timestamp.valueOf(LocalDateTime.now()); - if (callDetail.getIsMother() == true) { - int updateRow = outboundHistoryRepository.updateMotherData(name, age, districtName, talukaName, - villageName, lastModDate, beneficiaryModel.getBeneficiaryRegID()); - } else { - int updateRow = outboundHistoryRepository.updateChildData(name, gender, districtName, talukaName, - villageName, lastModDate, beneficiaryModel.getBeneficiaryRegID()); - - } - } - } catch (Exception e) { - - } - - } - - @Override - public String generateBeneficiaryIDs(String request, HttpServletRequest servletRequest) throws Exception { - - logger.info("request: " + request.toString()); - List listBen = identityBeneficiaryService.generateBeneficiaryIDs(request, - servletRequest.getHeader("authorization")); - - return listBen.toString(); - } + identityDTO.setIsConsent(beneficiaryModel.getIsConsent()); + + identityDTO.setFaceEmbedding(beneficiaryModel.getFaceEmbedding()); + identityDTO.setEmergencyRegistration(beneficiaryModel.isEmergencyRegistration()); + identityDTO + .setBenFamilyDTOs(identityMapper.benPhoneMapListToBenFamilyDTOList(beneficiaryModel.getBenPhoneMaps())); + String request = new Gson().toJson(identityDTO); + + + if (beneficiaryModel.getIs1097() == null) + beneficiaryModel.setIs1097(false); + + String identityResponse = identityBeneficiaryService.getIdentityResponse(request, + servletRequest.getHeader("authorization"), beneficiaryModel.getIs1097()); + JSONObject responseObj = new JSONObject(identityResponse); + BeneficiaryModel beneficiary = new BeneficiaryModel(); + if (responseObj.has("response")) { + OutputResponse response = InputMapper.getInstance() + .fromJson(responseObj.getJSONObject("response").toString(), OutputResponse.class); + if (response.isSuccess()) { + BeneficiariesDTO createdBen = InputMapper.getInstance().fromJson(response.getData(), + BeneficiariesDTO.class); + beneficiaryModel.setBeneficiaryRegID(Long.parseLong(createdBen.getBenRegId().toString())); + beneficiaryModel.setBeneficiaryID(createdBen.getBenId().toString()); + beneficiary = beneficiaryModel; + } else { + return response.toString(); + } + if (beneficiary != null && beneficiary.getBenPhoneMaps() != null && !beneficiary.getBenPhoneMaps().isEmpty()) { + String phoneNo = beneficiary.getBenPhoneMaps().get(0).getPhoneNo(); + + if (phoneNo != null && !phoneNo.trim().isEmpty()) { + String beneficiaryName = (beneficiary.getFirstName() != null ? beneficiary.getFirstName() : "") + " " + + (beneficiaryModel.getLastName() != null ? beneficiaryModel.getLastName() : ""); + + try { + logger.info("[SMS] Attempting to send welcome SMS to: " + phoneNo); + String smsResult = welcomeBenificarySmsService.sendWelcomeSMStoBenificiary( + phoneNo, + beneficiaryName.trim(), + beneficiary.getBeneficiaryID() + + ); + logger.info("[SMS]: "+ smsResult); + + } catch (Exception smsError) { + // SMS failed but beneficiary is already created - don't fail the request + logger.warn("[SMS] Failed to send SMS: " + smsError.getMessage() + + " - But beneficiary already created successfully"); + } + } + } + + } + return OutputMapper.gson().toJson(beneficiary); + } + + + private void setSaveDemographicDetails(CommonIdentityDTO identityDTO, BeneficiaryModel beneficiaryModel) { + if (null != beneficiaryModel.getI_bendemographics()) { + identityDTO.setCommunity(beneficiaryModel.getI_bendemographics().getCommunityName()); + if (null != beneficiaryModel.getReligion()) + identityDTO.setReligion(beneficiaryModel.getReligion()); + else if (null != beneficiaryModel.getI_bendemographics().getReligion()) + identityDTO.setReligion(beneficiaryModel.getI_bendemographics().getReligion()); + else + identityDTO.setReligion(beneficiaryModel.getI_bendemographics().getReligionName()); + + if (null != beneficiaryModel.getOccupation()) { + identityDTO.setOccupationName(beneficiaryModel.getOccupation()); + } else if (null != beneficiaryModel.getI_bendemographics() && + null != beneficiaryModel.getI_bendemographics().getOccupation()) { + identityDTO.setOccupationName(beneficiaryModel.getI_bendemographics().getOccupation()); + } else { + identityDTO.setOccupationName(beneficiaryModel.getOccupationName()); + } + + if (null != beneficiaryModel.getEducation()) { + identityDTO.setEducation(beneficiaryModel.getEducation()); + } else if (null != beneficiaryModel.getI_bendemographics() && + null != beneficiaryModel.getI_bendemographics().getEducationName()) { + identityDTO.setEducation(beneficiaryModel.getI_bendemographics().getEducationName()); + } + + + if (null != beneficiaryModel.getIncomeStatus()) + identityDTO.setIncomeStatus(beneficiaryModel.getIncomeStatus()); + else + identityDTO.setIncomeStatus(beneficiaryModel.getI_bendemographics().getIncomeStatus()); + } + if (beneficiaryModel != null) { + // updateDeathOfBenificiary(beneficiaryModel); + } + + } + + @Override + public Integer updateCommunityorEducation(BeneficiaryModel benificiaryDetails, String auth) throws IEMRException { + IdentityEditDTO identityEditDTO = new IdentityEditDTO(); + identityEditDTO.setBeneficiaryRegId(new BigInteger(benificiaryDetails.getBeneficiaryRegID() + "")); + if (benificiaryDetails.getI_bendemographics() != null) { + identityEditDTO.setCommunityId(benificiaryDetails.getI_bendemographics().getCommunityID()); + identityEditDTO.setEducationId(benificiaryDetails.getI_bendemographics().getEducationID()); + } + + Integer updatedRows = 0; + updatedRows = identityBeneficiaryService.editIdentityEditDTOCommunityorEducation(identityEditDTO, auth, + benificiaryDetails.getIs1097()); + // updateBeneficiaryPreferredLanguage(identityEditDTO, auth); + return updatedRows; + } + + private void updateMCTSRecord(BeneficiaryModel beneficiaryModel) { + List mctsOutboundCallDetails = new ArrayList(); + + try { + + mctsOutboundCallDetails = outboundHistoryRepository.checkBenExist(beneficiaryModel.getBeneficiaryRegID()); + + MctsOutboundCallDetail callDetail = mctsOutboundCallDetails.get(0); + + if (callDetail != null && callDetail.getIsMother() != null) { + + String firstName = beneficiaryModel.getFirstName(); + String lastName = beneficiaryModel.getLastName(); + String name = ""; + if (lastName != null && !lastName.equalsIgnoreCase("")) { + name = firstName + " " + lastName; + } else { + name = firstName; + } + + Integer age = beneficiaryModel.getAge(); + + String districtName = outboundHistoryRepository + .getDistrictName(beneficiaryModel.getI_bendemographics().getDistrictID()); + String talukaName = outboundHistoryRepository + .getBlockName(beneficiaryModel.getI_bendemographics().getBlockID()); + String villageName = outboundHistoryRepository + .getVillageName(beneficiaryModel.getI_bendemographics().getDistrictBranchID()); + + String gender = null; + if (beneficiaryModel.getGenderID() == 1) { + gender = "Male"; + } else if (beneficiaryModel.getGenderID() == 2) { + gender = "Female"; + } else { + gender = "Transgender"; + } + + Timestamp lastModDate = Timestamp.valueOf(LocalDateTime.now()); + if (callDetail.getIsMother() == true) { + int updateRow = outboundHistoryRepository.updateMotherData(name, age, districtName, talukaName, + villageName, lastModDate, beneficiaryModel.getBeneficiaryRegID()); + } else { + int updateRow = outboundHistoryRepository.updateChildData(name, gender, districtName, talukaName, + villageName, lastModDate, beneficiaryModel.getBeneficiaryRegID()); + + } + } + } catch (Exception e) { + + } + + } + + @Override + public String generateBeneficiaryIDs(String request, HttpServletRequest servletRequest) throws Exception { + + logger.info("request: " + request.toString()); + List listBen = identityBeneficiaryService.generateBeneficiaryIDs(request, + servletRequest.getHeader("authorization")); + + return listBen.toString(); + } } diff --git a/src/main/java/com/iemr/common/service/welcomeSms/WelcomeBenificarySmsServiceImpl.java b/src/main/java/com/iemr/common/service/welcomeSms/WelcomeBenificarySmsServiceImpl.java index 67b642ab..fdffd22f 100644 --- a/src/main/java/com/iemr/common/service/welcomeSms/WelcomeBenificarySmsServiceImpl.java +++ b/src/main/java/com/iemr/common/service/welcomeSms/WelcomeBenificarySmsServiceImpl.java @@ -12,6 +12,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @@ -46,58 +47,57 @@ public class WelcomeBenificarySmsServiceImpl implements WelcomeBenificarySmsServ private String smsTemplateName = "welcome_sms"; - private String smsTemplate; + private String smsTemplate =null; @Override + @Async public String sendWelcomeSMStoBenificiary(String contactNo, String beneficiaryName, String beneficiaryId) { - final RestTemplate restTemplate = new RestTemplate(); - - Optional smsTemplateData = smsTemplateRepository.findBySmsTemplateName(smsTemplateName); - if (smsTemplateData.isPresent()) { - smsTemplate = smsTemplateRepository.findBySmsTemplateID(smsTemplateData.get().getSmsTemplateID()).getSmsTemplate(); - - } - - logger.info("sms template" + smsTemplate); - - - String sendSMSAPI = SMS_GATEWAY_URL; try { + String sendSMSAPI = SMS_GATEWAY_URL; - String message = smsTemplate.replace("$$BENE_NAME$$", beneficiaryName).replace("$$BEN_ID$$", beneficiaryId); - // Build payload - Map payload = new HashMap<>(); - payload.put("customerId", smsUserName); - payload.put("destinationAddress", contactNo); - payload.put("message", message); - payload.put("sourceAddress", smsSourceAddress); - payload.put("messageType", "SERVICE_IMPLICIT"); - payload.put("dltTemplateId", smsTemplateData.get().getDltTemplateId()); - payload.put("entityId", smsEntityId); - // Set headers - HttpHeaders headers = new HttpHeaders(); - String auth = smsUserName + ":" + smsPassword; - headers.add("Authorization", - "Basic " + Base64.getEncoder().encodeToString(auth.getBytes())); - - headers.setContentType(MediaType.APPLICATION_JSON); - logger.info("payload: " + payload); - HttpEntity> request = new HttpEntity<>(payload, headers); - - // Call API - ResponseEntity response = restTemplate.postForEntity(sendSMSAPI, request, String.class); - logger.info("sms-response:" + response.getBody()); - if (response.getStatusCode().value() == 200) { - return "OTP sent successfully on register mobile number"; - } else { - return "Fail"; + final RestTemplate restTemplate = new RestTemplate(); + Optional smsTemplateData = smsTemplateRepository.findBySmsTemplateName(smsTemplateName); + if (smsTemplateData.isPresent()) { + smsTemplate = smsTemplateRepository.findBySmsTemplateID(smsTemplateData.get().getSmsTemplateID()).getSmsTemplate(); + } + if(smsTemplate!=null){ + String message = smsTemplate.replace("$$BENE_NAME$$", beneficiaryName).replace("$$BEN_ID$$", beneficiaryId); + // Build payload + Map payload = new HashMap<>(); + payload.put("customerId", smsUserName); + payload.put("destinationAddress", contactNo); + payload.put("message", message); + payload.put("sourceAddress", smsSourceAddress); + payload.put("messageType", "SERVICE_IMPLICIT"); + payload.put("dltTemplateId", smsTemplateData.get().getDltTemplateId()); + payload.put("entityId", smsEntityId); + // Set headers + HttpHeaders headers = new HttpHeaders(); + String auth = smsUserName + ":" + smsPassword; + headers.add("Authorization", + "Basic " + Base64.getEncoder().encodeToString(auth.getBytes())); + + headers.setContentType(MediaType.APPLICATION_JSON); + logger.info("payload: " + payload); + HttpEntity> request = new HttpEntity<>(payload, headers); + + // Call API + ResponseEntity response = restTemplate.postForEntity(sendSMSAPI, request, String.class); + logger.info("sms-response:" + response.getBody()); + if (response.getStatusCode().value() == 200) { + return "OTP sent successfully on register mobile number"; + } else { + return "Fail"; + + } } + } catch (Exception e) { return "Error sending SMS: " + e.getMessage().toString(); } - + return null; } }