diff --git a/src/main/java/com/iemr/common/controller/abdmfacility/AbdmFacilityController.java b/src/main/java/com/iemr/common/controller/abdmfacility/AbdmFacilityController.java new file mode 100644 index 00000000..9ec79f65 --- /dev/null +++ b/src/main/java/com/iemr/common/controller/abdmfacility/AbdmFacilityController.java @@ -0,0 +1,50 @@ +package com.iemr.common.controller.abdmfacility; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.iemr.common.service.abdmfacility.AbdmFacilityService; +import com.iemr.common.utils.response.OutputResponse; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.parameters.RequestBody; + +@RequestMapping({ "/facility" }) +@RestController +public class AbdmFacilityController { + + private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); + + @Autowired + private AbdmFacilityService abdmFacilityService; + + @CrossOrigin + @Operation(summary = "Get Abdm facility mapped to worklocation") + @GetMapping(value = { "/getWorklocationMappedAbdmFacility/{workLocationId}" }) + public String getAbdmFacilityDetails(@PathVariable int workLocationId, @RequestHeader(value = "Authorization") String Authorization) { + + OutputResponse response = new OutputResponse(); + + try { + + String resp = abdmFacilityService.getMappedAbdmFacility(workLocationId); + + response.setResponse(resp); + + } catch (Exception e) { + + response.setError(5000, e.getMessage()); + logger.error(e.getMessage()); + } + logger.info("Get ABDM Registered facilities API response" + response.toString()); + return response.toString(); + } + +} diff --git a/src/main/java/com/iemr/common/data/users/ProviderServiceAddressMapping.java b/src/main/java/com/iemr/common/data/users/ProviderServiceAddressMapping.java index 4a94c33d..df4384b1 100644 --- a/src/main/java/com/iemr/common/data/users/ProviderServiceAddressMapping.java +++ b/src/main/java/com/iemr/common/data/users/ProviderServiceAddressMapping.java @@ -81,6 +81,14 @@ public class ProviderServiceAddressMapping @Expose @Column(name = "LocationName") private String locationName; + + @Expose + @Column(name = "AbdmFacilityID") + private String abdmFacilityID; + + @Expose + @Column(name = "AbdmFacilityName") + private String abdmFacilityName; // public ProviderServiceAddressMapping() // { @@ -149,4 +157,5 @@ public String getLocationName() { return locationName; } + } diff --git a/src/main/java/com/iemr/common/repository/abdmfacility/AbdmFacilityRepository.java b/src/main/java/com/iemr/common/repository/abdmfacility/AbdmFacilityRepository.java new file mode 100644 index 00000000..2b461399 --- /dev/null +++ b/src/main/java/com/iemr/common/repository/abdmfacility/AbdmFacilityRepository.java @@ -0,0 +1,17 @@ +package com.iemr.common.repository.abdmfacility; + +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + +import com.iemr.common.data.users.ProviderServiceAddressMapping; + +@Repository +public interface AbdmFacilityRepository extends CrudRepository { + + @Query("SELECT v from ProviderServiceAddressMapping v where v.pSAddMapID = :pssmID") + ProviderServiceAddressMapping getAbdmFacility(@Param("pssmID") int pssmID); + +} + \ No newline at end of file diff --git a/src/main/java/com/iemr/common/service/abdmfacility/AbdmFacilityService.java b/src/main/java/com/iemr/common/service/abdmfacility/AbdmFacilityService.java new file mode 100644 index 00000000..997e6735 --- /dev/null +++ b/src/main/java/com/iemr/common/service/abdmfacility/AbdmFacilityService.java @@ -0,0 +1,7 @@ +package com.iemr.common.service.abdmfacility; + +public interface AbdmFacilityService { + + public String getMappedAbdmFacility(int psmId); + +} diff --git a/src/main/java/com/iemr/common/service/abdmfacility/AbdmFacilityServiceImpl.java b/src/main/java/com/iemr/common/service/abdmfacility/AbdmFacilityServiceImpl.java new file mode 100644 index 00000000..e6da2522 --- /dev/null +++ b/src/main/java/com/iemr/common/service/abdmfacility/AbdmFacilityServiceImpl.java @@ -0,0 +1,22 @@ +package com.iemr.common.service.abdmfacility; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.iemr.common.data.users.ProviderServiceAddressMapping; +import com.iemr.common.repository.abdmfacility.AbdmFacilityRepository; + +@Service +public class AbdmFacilityServiceImpl implements AbdmFacilityService{ + + @Autowired + private AbdmFacilityRepository abdmFacilityRepo; + + @Override + public String getMappedAbdmFacility(int psmId) { + ProviderServiceAddressMapping res = abdmFacilityRepo.getAbdmFacility(psmId); + return res.toString(); + + } + +}