Skip to content

Commit fcbc3da

Browse files
authored
Merge pull request #90 from toarunmishra/3.3.0
3.3.0
2 parents 73ea731 + 3fd079a commit fcbc3da

14 files changed

Lines changed: 1122 additions & 23 deletions

File tree

pom.xml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<org.mapstruct.version>1.2.0.Final</org.mapstruct.version>
3232
<org.projectlombok.version>1.16.18</org.projectlombok.version>
3333
<environment>${ENV_VAR}</environment>
34+
<!-- <environment>test</environment>-->
3435
<target-properties>target/classes/application.properties</target-properties>
3536
<source-properties>target/classes/admin_${environment}.properties</source-properties>
3637

@@ -54,6 +55,10 @@
5455
<groupId>org.springframework.boot</groupId>
5556
<artifactId>spring-boot-devtools</artifactId>
5657
</dependency>
58+
<dependency>
59+
<groupId>com.fasterxml.jackson.dataformat</groupId>
60+
<artifactId>jackson-dataformat-xml</artifactId>
61+
</dependency>
5762
<dependency>
5863
<groupId>org.springframework.boot</groupId>
5964
<artifactId>spring-boot-starter</artifactId>
@@ -73,6 +78,11 @@
7378
<groupId>org.springframework.boot</groupId>
7479
<artifactId>spring-boot-starter-data-jpa</artifactId>
7580
</dependency>
81+
<dependency>
82+
<groupId>org.apache.commons</groupId>
83+
<artifactId>commons-compress</artifactId>
84+
<version>1.21</version>
85+
</dependency>
7686
<dependency>
7787
<groupId>org.springframework.boot</groupId>
7888
<artifactId>spring-boot-starter-web</artifactId>
@@ -181,12 +191,7 @@
181191
<groupId>org.apache.poi</groupId>
182192
<artifactId>poi-ooxml</artifactId>
183193
<version>5.2.3</version>
184-
<exclusions>
185-
<exclusion>
186-
<groupId>org.apache.commons</groupId>
187-
<artifactId>commons-compress</artifactId>
188-
</exclusion>
189-
</exclusions>
194+
190195
</dependency>
191196

192197
<!-- start newly added dependencies -->
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
package com.iemr.admin.controller.bulkRegistration;
2+
3+
import com.iemr.admin.repo.employeemaster.EmployeeMasterRepoo;
4+
import com.iemr.admin.service.bulkRegistration.BulkRegistrationService;
5+
import com.iemr.admin.service.bulkRegistration.BulkRegistrationServiceImpl;
6+
import com.iemr.admin.service.bulkRegistration.EmployeeXmlService;
7+
import com.iemr.admin.service.locationmaster.LocationMasterServiceInter;
8+
import io.swagger.v3.oas.annotations.Operation;
9+
import jakarta.servlet.http.HttpServletRequest;
10+
import org.slf4j.Logger;
11+
import org.slf4j.LoggerFactory;
12+
import org.springframework.beans.factory.annotation.Autowired;
13+
import org.springframework.core.io.ClassPathResource;
14+
import org.springframework.http.HttpHeaders;
15+
import org.springframework.http.MediaType;
16+
import org.springframework.http.ResponseEntity;
17+
import org.springframework.web.bind.annotation.*;
18+
19+
import java.lang.reflect.Method;
20+
import java.util.HashMap;
21+
import java.util.Map;
22+
23+
@RestController
24+
public class BulkRegistrationController {
25+
@Autowired
26+
private EmployeeXmlService employeeXmlService;
27+
@Autowired
28+
BulkRegistrationServiceImpl bulkRegistrationServiceimpl;
29+
private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
30+
31+
32+
@Autowired
33+
BulkRegistrationService bulkRegistrationService;
34+
35+
@Autowired
36+
private EmployeeMasterRepoo employeeMasterRepoo;
37+
private Map<String, Object> errorResponse = new HashMap<>();
38+
@Autowired
39+
private LocationMasterServiceInter locationMasterServiceInter;
40+
private Map<String, Object> response = new HashMap<>();
41+
42+
@CrossOrigin()
43+
@PostMapping(value = "/bulkRegistration", headers = "Authorization")
44+
public ResponseEntity<Map<String, Object>> registerBulkUser(@RequestBody String m_user, @RequestHeader String authorization) {
45+
bulkRegistrationServiceimpl.bulkRegistrationErrors.clear();
46+
logger.info("Bulk registration request received. Request payload is omitted from logs.");
47+
try {
48+
bulkRegistrationService.registerBulkUser(m_user, authorization);
49+
response.put("status", "Success");
50+
response.put("statusCode", 200);
51+
response.put("totalUser", bulkRegistrationServiceimpl.totalEmployeeListSize);
52+
response.put("registeredUser", bulkRegistrationServiceimpl.m_bulkUser.size());
53+
response.put("error", bulkRegistrationServiceimpl.errorLogs.toString());
54+
55+
bulkRegistrationServiceimpl.m_bulkUser.clear();
56+
bulkRegistrationServiceimpl.m_UserDemographics.clear();
57+
bulkRegistrationServiceimpl.errorLogs.clear();
58+
bulkRegistrationServiceimpl.totalEmployeeListSize=0;
59+
60+
} catch (Exception e) {
61+
response.put("message", e.getMessage());
62+
response.put("statusCode", 500);
63+
64+
}
65+
return ResponseEntity.ok(response);
66+
67+
}
68+
69+
@CrossOrigin()
70+
@GetMapping("/download-error-sheet")
71+
public ResponseEntity<byte[]> downloadErrorSheet() {
72+
try {
73+
byte[] fileContent = bulkRegistrationServiceimpl.insertErrorLog();
74+
75+
HttpHeaders headers = new HttpHeaders();
76+
headers.add("Content-Disposition", "attachment; filename=error_log.xlsx");
77+
78+
if(!bulkRegistrationServiceimpl.bulkRegistrationErrors.isEmpty()){
79+
bulkRegistrationServiceimpl.bulkRegistrationErrors.clear();
80+
}
81+
return ResponseEntity.ok()
82+
.headers(headers)
83+
.contentType(MediaType.APPLICATION_OCTET_STREAM)
84+
.body(fileContent);
85+
86+
} catch (Exception e) {
87+
return ResponseEntity.status(500).body(null);
88+
}
89+
}
90+
91+
92+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.iemr.admin.data.bulkuser;
2+
3+
import lombok.Data;
4+
5+
import java.util.List;
6+
7+
@Data
8+
public class BulkRegistrationError {
9+
String userName;
10+
Integer rowNumber;
11+
List<String> error;
12+
}
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
package com.iemr.admin.data.bulkuser;
2+
3+
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
4+
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
5+
import lombok.Data;
6+
7+
@Data
8+
@JacksonXmlRootElement(localName = "Employee")
9+
public class Employee {
10+
11+
@JacksonXmlProperty(localName = "Title")
12+
private String title="";
13+
14+
@JacksonXmlProperty(localName = "FirstName")
15+
private String firstName="";
16+
17+
@JacksonXmlProperty(localName = "MiddleName")
18+
private String middleName="";
19+
20+
@JacksonXmlProperty(localName = "LastName")
21+
private String lastName="";
22+
23+
@JacksonXmlProperty(localName = "Gender")
24+
private String gender="";
25+
26+
@JacksonXmlProperty(localName = "ContactNo")
27+
private String contactNo="";
28+
29+
@JacksonXmlProperty(localName = "Designation")
30+
private String designation="";
31+
32+
@JacksonXmlProperty(localName = "EmergencyContactNo")
33+
private String emergencyContactNo="";
34+
35+
@JacksonXmlProperty(localName = "DateOfBirth")
36+
private String dob="";
37+
38+
@JacksonXmlProperty(localName = "Age")
39+
private int age=0;
40+
41+
@JacksonXmlProperty(localName = "Email")
42+
private String email="";
43+
44+
@JacksonXmlProperty(localName = "MaritalStatus")
45+
private String maritalStatus="";
46+
47+
@JacksonXmlProperty(localName = "AadhaarNo")
48+
private String aadhaarNo="";
49+
50+
@JacksonXmlProperty(localName = "PAN")
51+
private String pan="";
52+
53+
@JacksonXmlProperty(localName = "Qualification")
54+
private String qualification="";
55+
56+
@JacksonXmlProperty(localName = "FatherName")
57+
private String fatherName="";
58+
59+
@JacksonXmlProperty(localName = "MotherName")
60+
private String motherName="";
61+
62+
@JacksonXmlProperty(localName = "Community")
63+
private String community="";
64+
65+
@JacksonXmlProperty(localName = "Religion")
66+
private String religion="";
67+
68+
@JacksonXmlProperty(localName = "CurrentAddressLine1")
69+
private String addressLine1="";
70+
71+
@JacksonXmlProperty(localName = "CurrentState")
72+
private String state="";
73+
74+
@JacksonXmlProperty(localName = "CurrentDistrict")
75+
private String district="";
76+
77+
@JacksonXmlProperty(localName = "CurrentPincode")
78+
private String pincode="";
79+
80+
@JacksonXmlProperty(localName = "PermanentAddressLine1")
81+
private String permanentAddressLine1="";
82+
83+
@JacksonXmlProperty(localName = "PermanentState")
84+
private String permanentState="";
85+
86+
@JacksonXmlProperty(localName = "PermanentDistrict")
87+
private String permanentDistrict="";
88+
89+
@JacksonXmlProperty(localName = "PermanentPincode")
90+
private String permanentPincode="";
91+
92+
@JacksonXmlProperty(localName = "DateOfJoining")
93+
private String dateOfJoining="";
94+
95+
@JacksonXmlProperty(localName = "UserName")
96+
private String UserName="";
97+
98+
@JacksonXmlProperty(localName = "Password")
99+
private String Password="";
100+
101+
102+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.iemr.admin.data.bulkuser;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
5+
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
6+
import lombok.Data;
7+
8+
import java.util.List;
9+
10+
@Data
11+
@JacksonXmlRootElement(localName = "Employees")
12+
public class EmployeeList {
13+
14+
@JsonProperty("Employee")
15+
@JacksonXmlElementWrapper(useWrapping = false) // To avoid extra nested array in XML
16+
private List<Employee> employees;
17+
}

src/main/java/com/iemr/admin/data/employeemaster/M_Religion.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@
3636

3737
@Entity
3838
@Table(name = "m_Religion")
39-
public class M_Religion
40-
{
39+
public class M_Religion {
4140

4241
@Id
4342
@GeneratedValue(strategy = GenerationType.IDENTITY)

src/main/java/com/iemr/admin/repo/employeemaster/EmployeeMasterRepoo.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,16 @@ public interface EmployeeMasterRepoo extends CrudRepository<M_User1, Integer>
4040
@Query("SELECT u FROM M_User1 u WHERE u.userID=:userID AND deleted=false")
4141
M_User1 editEmployee(@Param("userID") Integer userID);
4242

43+
@Query("SELECT u FROM M_User1 u WHERE u.aadhaarNo=:aadhaar AND deleted=false ")
44+
M_User1 findEmployeeAadhaarNo(@Param("aadhaar") String userName);
45+
4346
@Query("SELECT u FROM M_User1 u WHERE u.userName=:userName AND deleted=false ")
4447
M_User1 findEmployeeByName(@Param("userName") String userName);
4548

49+
50+
@Query("SELECT u FROM M_User1 u WHERE u.contactNo=:contactNo AND deleted=false ")
51+
M_User1 findEmployeeByContact(@Param("contactNo") String userName);
52+
4653
@Query("SELECT u FROM M_User1 u WHERE u.userName=:userName OR u.aadhaarNo=:aadhaarNo OR u.pAN=:getpAN OR u.employeeID=:employeeID OR u.healthProfessionalID=:healthProfessionalID AND deleted=false ")
4754
M_User1 checkingEmpDetails(@Param("userName") String userName, @Param("aadhaarNo") String aadhaarNo,
4855
@Param("getpAN") String getpAN,@Param("employeeID") String employeeID, @Param("healthProfessionalID") String healthProfessionalID);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.iemr.admin.service.bulkRegistration;
2+
3+
public interface BulkRegistrationService {
4+
void registerBulkUser(String user,String authorization);
5+
}

0 commit comments

Comments
 (0)