diff --git a/src/main/java/com/iemr/hwc/controller/wo/UserBiomectrics.java b/src/main/java/com/iemr/hwc/controller/userBiomectrics/UserBiomectrics.java similarity index 84% rename from src/main/java/com/iemr/hwc/controller/wo/UserBiomectrics.java rename to src/main/java/com/iemr/hwc/controller/userBiomectrics/UserBiomectrics.java index 9bf904ef..f42979e3 100644 --- a/src/main/java/com/iemr/hwc/controller/wo/UserBiomectrics.java +++ b/src/main/java/com/iemr/hwc/controller/userBiomectrics/UserBiomectrics.java @@ -1,33 +1,28 @@ -package com.iemr.hwc.controller.wo; +package com.iemr.hwc.controller.userBiomectrics; import com.google.gson.Gson; import com.iemr.hwc.controller.common.master.CommonMasterController; import com.iemr.hwc.data.registrar.FingerPrintDTO; import com.iemr.hwc.data.registrar.UserBiometricsMapping; -import com.iemr.hwc.service.location.LocationServiceImpl; import com.iemr.hwc.service.registrar.RegistrarServiceImpl; import com.iemr.hwc.utils.response.OutputResponse; import io.swagger.annotations.ApiOperation; -import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.List; - @CrossOrigin @RestController -@RequestMapping(value = "wo/user_biometrics") +@RequestMapping(value = "/user_biometrics", headers = "Authorization") public class UserBiomectrics { - // private OutputResponse response; private Logger logger = LoggerFactory.getLogger(CommonMasterController.class); @Autowired private RegistrarServiceImpl registrarService; @CrossOrigin() @ApiOperation(value = "add fingerprint for a given username", consumes = "application/json", produces = "application/json") - @RequestMapping(value = "add/fingerprint/wo", method = { RequestMethod.POST }, produces = { + @RequestMapping(value = "add/fingerprint", method = { RequestMethod.POST }, produces = { "application/json" }) public String addFingerPrints(@RequestBody FingerPrintDTO comingRequest) { OutputResponse response = new OutputResponse(); @@ -37,9 +32,12 @@ public String addFingerPrints(@RequestBody FingerPrintDTO comingRequest) { if(resp !=null && resp.equals("ok")){ response.setResponse(resp); } - else if(resp !=null && resp.equals("ko")){ + else if(resp !=null && resp.equals("not_ok")){ response.setError(500, "Error adding fingerprints"); } + else if(resp !=null && resp.equals("fingerprint_already_added")){ + response.setError(210, "Fingerprints already added"); + } } else { response.setError(400, "Invalid request"); } @@ -51,7 +49,7 @@ else if(resp !=null && resp.equals("ko")){ } @ApiOperation(value = "Get fingerprint by username", consumes = "application/json", produces = "application/json") - @RequestMapping(value = "/get/fingerprint/{userID}/wo", method = RequestMethod.GET) + @RequestMapping(value = "/get/fingerprint/{userID}", method = RequestMethod.GET) public String getFingerprintsByUsername(@PathVariable("userID") Long userID) { logger.info("Get fingerprint by username ..." + userID); OutputResponse response = new OutputResponse(); @@ -68,6 +66,7 @@ public String getFingerprintsByUsername(@PathVariable("userID") Long userID) { userBiometricsMapping.setRightIndexFinger(user.getRightIndexFinger()); userBiometricsMapping.setLeftThumb(user.getLeftThumb()); userBiometricsMapping.setLeftIndexFinger(user.getLeftIndexFinger()); + userBiometricsMapping.setActive(user.getActive()); response.setResponse(gson.toJson(userBiometricsMapping)); } diff --git a/src/main/java/com/iemr/hwc/data/registrar/UserBiometricsMapping.java b/src/main/java/com/iemr/hwc/data/registrar/UserBiometricsMapping.java index 41a972a9..eb553667 100644 --- a/src/main/java/com/iemr/hwc/data/registrar/UserBiometricsMapping.java +++ b/src/main/java/com/iemr/hwc/data/registrar/UserBiometricsMapping.java @@ -111,4 +111,8 @@ public class UserBiometricsMapping { @Column(name = "left_index_finger") private String leftIndexFinger; + @Column(name = "active") + @Expose + private Boolean active; + } \ No newline at end of file diff --git a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java index 0d3a0671..65f263a9 100644 --- a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java @@ -845,24 +845,29 @@ public int searchAndSubmitBeneficiaryToNurse(String requestOBJ) throws Exception public String saveFingerprints(FingerPrintDTO comingRequest) { String response = ""; Users user = userRepo.getUserByUsername(comingRequest.getUserName()); - if(user !=null){ - UserBiometricsMapping userBiometricsMapping = new UserBiometricsMapping(); - userBiometricsMapping.setUserID(user.getUserID()); - userBiometricsMapping.setFirstName(user.getFirstName()); - userBiometricsMapping.setLastName(user.getLastName()); - userBiometricsMapping.setUserName(user.getUserName()); - userBiometricsMapping.setCreatedBy(user.getUserName()); - userBiometricsMapping.setRightThumb(comingRequest.getRightThumb()); - userBiometricsMapping.setRightIndexFinger(comingRequest.getRightIndexFinger()); - userBiometricsMapping.setLeftThumb(comingRequest.getLeftThumb()); - userBiometricsMapping.setLeftIndexFinger(comingRequest.getLeftIndexFinger()); - - UserBiometricsMapping resp = userBiometricsRepo.save(userBiometricsMapping); - if(resp !=null){ - response = "ok"; - } - else{ - response = "ko"; + if(user !=null) { + UserBiometricsMapping userBiomectric = userBiometricsRepo.getFingerprintsByUserID(user.getUserID()); + if (userBiomectric == null || (userBiomectric != null && userBiomectric.getActive() == false)) { // If the user don't have fingerprint yet, otherwise check if active equals false + UserBiometricsMapping userBiometricsMapping = new UserBiometricsMapping(); + userBiometricsMapping.setUserID(user.getUserID()); + userBiometricsMapping.setFirstName(user.getFirstName()); + userBiometricsMapping.setLastName(user.getLastName()); + userBiometricsMapping.setUserName(user.getUserName()); + userBiometricsMapping.setCreatedBy(user.getUserName()); + userBiometricsMapping.setRightThumb(comingRequest.getRightThumb()); + userBiometricsMapping.setRightIndexFinger(comingRequest.getRightIndexFinger()); + userBiometricsMapping.setLeftThumb(comingRequest.getLeftThumb()); + userBiometricsMapping.setLeftIndexFinger(comingRequest.getLeftIndexFinger()); + userBiometricsMapping.setActive(true); + + UserBiometricsMapping resp = userBiometricsRepo.save(userBiometricsMapping); + if (resp != null) { + response = "ok"; + } else { + response = "not_ok"; + } + } else { + response = "fingerprint_already_added"; } } else{