Skip to content

Commit 27241e1

Browse files
Cherry-pick the commits related to 3.5.0 form 3.6.0 (#106)
* Compile error resolved * fix: cherry pic the #101 pr * fix: cherry pic the #101 pr * Main branch changes missed * fix: cherry pic the #103 pr * fix: cherry pic the #104 pr * fix: cherry pic the #104 pr * fix: cherry pick the #104 pr * fix code rabbit comments --------- Co-authored-by: Ravi Shanigarapu <ravi.shanigarapu@wipro.com>
1 parent 41162a4 commit 27241e1

3 files changed

Lines changed: 53 additions & 16 deletions

File tree

src/main/java/com/iemr/admin/controller/employeemaster/EmployeeMasterController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1051,7 +1051,7 @@ public String getEmployeeByDesignation(@RequestBody String getDesignation) {
10511051

10521052
ArrayList<M_User1> employeeBydesiganation = employeeMasterInter.getEmployeeByDesiganationID(
10531053
employeeMaster.getDesignationID(), employeeMaster1.getServiceProviderID());
1054-
1054+
10551055
response.setResponse(employeeBydesiganation.toString());
10561056

10571057
} catch (Exception e) {

src/main/java/com/iemr/admin/controller/employeemaster/EmployeeSignatureController.java

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,33 @@
2121
*/
2222
package com.iemr.admin.controller.employeemaster;
2323

24+
import java.net.URLEncoder;
25+
import java.nio.charset.StandardCharsets;
2426
import java.util.Base64;
2527

2628
import org.slf4j.Logger;
2729
import org.slf4j.LoggerFactory;
2830
import org.springframework.beans.factory.annotation.Autowired;
2931
import org.springframework.context.annotation.PropertySource;
32+
import org.springframework.http.ContentDisposition;
3033
import org.springframework.http.HttpHeaders;
34+
import org.springframework.http.InvalidMediaTypeException;
3135
import org.springframework.http.MediaType;
3236
import org.springframework.http.ResponseEntity;
33-
37+
import org.springframework.web.bind.annotation.GetMapping;
3438
import org.springframework.web.bind.annotation.PathVariable;
39+
import org.springframework.web.bind.annotation.PostMapping;
3540
import org.springframework.web.bind.annotation.RequestBody;
3641
import org.springframework.web.bind.annotation.RequestMapping;
3742
import org.springframework.web.bind.annotation.RequestMethod;
3843
import org.springframework.web.bind.annotation.RestController;
3944

4045
import com.iemr.admin.data.employeemaster.EmployeeSignature;
4146
import com.iemr.admin.service.employeemaster.EmployeeSignatureServiceImpl;
42-
import com.iemr.admin.utils.mapper.InputMapper;
4347
import com.iemr.admin.utils.response.OutputResponse;
4448

4549
import io.swagger.v3.oas.annotations.Operation;
50+
import jakarta.servlet.http.HttpServletRequest;
4651

4752

4853
@PropertySource("classpath:application.properties")
@@ -54,12 +59,10 @@ public class EmployeeSignatureController {
5459
@Autowired
5560
EmployeeSignatureServiceImpl employeeSignatureServiceImpl;
5661

57-
private InputMapper inputMapper = new InputMapper();
58-
5962
private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
6063

6164
@Operation(summary = "Upload")
62-
@RequestMapping(value = "/upload", headers = "Authorization", method = { RequestMethod.POST }, produces = {
65+
@PostMapping(value = "/upload", headers = "Authorization", produces = {
6366
"application/json" })
6467
public String uploadFile(@RequestBody EmployeeSignature emp) {
6568
OutputResponse response = new OutputResponse();
@@ -83,22 +86,27 @@ public String uploadFile(@RequestBody EmployeeSignature emp) {
8386
}
8487

8588
@Operation(summary = "User id")
86-
@RequestMapping(value = "/{userID}", headers = "Authorization", method = { RequestMethod.GET })
89+
@GetMapping(value = "/{userID}", headers = "Authorization")
8790
public ResponseEntity<byte[]> fetchFile(@PathVariable("userID") Long userID) throws Exception {
88-
OutputResponse response = new OutputResponse();
8991
logger.debug("File download for userID" + userID);
9092

9193
try {
9294

9395
EmployeeSignature userSignID = employeeSignatureServiceImpl.fetchSignature(userID);
9496
HttpHeaders responseHeaders = new HttpHeaders();
95-
responseHeaders.set(HttpHeaders.CONTENT_DISPOSITION,
96-
"inline; filename=\"" + userSignID.getFileName() + "\"");
97-
responseHeaders.set("filename", userSignID.getFileName());
98-
99-
return ResponseEntity.ok().contentType(MediaType.parseMediaType(userSignID.getFileType()))
100-
.headers(responseHeaders).body(userSignID.getSignature());
101-
97+
ContentDisposition cd = ContentDisposition.attachment()
98+
.filename(userSignID.getFileName(), StandardCharsets.UTF_8).build();
99+
responseHeaders.setContentDisposition(cd);
100+
101+
MediaType mediaType;
102+
try {
103+
mediaType = MediaType.parseMediaType(userSignID.getFileType());
104+
} catch (InvalidMediaTypeException | NullPointerException e) {
105+
mediaType = MediaType.APPLICATION_OCTET_STREAM;
106+
}
107+
byte[] fileBytes = userSignID.getSignature(); // MUST be byte[]
108+
return ResponseEntity.ok().headers(responseHeaders).contentType(mediaType).contentLength(fileBytes.length)
109+
.body(fileBytes);
102110
} catch (Exception e) {
103111
logger.error("Unexpected error:", e);
104112
logger.error("File download for userID failed with exception " + e.getMessage(), e);
@@ -128,4 +136,19 @@ public String existFile(@PathVariable("userID") Long userID) throws Exception {
128136
logger.debug("response" + response);
129137
return response.toString();
130138
}
131-
}
139+
140+
@Operation(summary = "Active or DeActive user Signature")
141+
@PostMapping(value = "/activateOrdeActivateSignature", headers = "Authorization", produces = { "application/json" })
142+
public String ActivateUser(@RequestBody String activateUser, HttpServletRequest request) {
143+
OutputResponse response = new OutputResponse();
144+
try {
145+
EmployeeSignature empSignature = employeeSignatureServiceImpl.updateUserSignatureStatus(activateUser);
146+
boolean active = empSignature.getDeleted() == null ? false : !empSignature.getDeleted();
147+
response.setResponse("{\"userID\":" + empSignature.getUserID() + ",\"active\":" + active + "}");
148+
} catch (Exception e) {
149+
logger.error("Active or Deactivate User Signature failed with exception " + e.getMessage(), e);
150+
response.setError(e);
151+
}
152+
return response.toString();
153+
}
154+
}

src/main/java/com/iemr/admin/service/employeemaster/EmployeeSignatureServiceImpl.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import com.iemr.admin.data.employeemaster.EmployeeSignature;
2828
import com.iemr.admin.repo.employeemaster.EmployeeSignatureRepo;
29+
import org.json.JSONObject;
2930

3031
@Service
3132
public class EmployeeSignatureServiceImpl implements EmployeeSignatureService {
@@ -67,4 +68,17 @@ public Boolean existSignature(Long userID) {
6768
return employeeSignatureRepo.countByUserIDAndSignatureNotNull(userID)>0;
6869
}
6970

71+
@Override
72+
public EmployeeSignature updateUserSignatureStatus(String activateUser) {
73+
JSONObject obj = new JSONObject(activateUser);
74+
Long userID = obj.getLong("userID");
75+
// String role = obj.getString("role");
76+
boolean active = obj.getBoolean("active");
77+
EmployeeSignature signature = employeeSignatureRepo.findOneByUserID(userID);
78+
if (signature == null) {
79+
throw new IllegalArgumentException("No signature found for userID: " + userID);
80+
}
81+
signature.setDeleted(!active);
82+
return employeeSignatureRepo.save(signature);
83+
}
7084
}

0 commit comments

Comments
 (0)