Updated EPAS Certifications support
This commit is contained in:
parent
9f3f0afe32
commit
bbfba14014
|
@ -0,0 +1,77 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.client;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.core.ParameterizedTypeReference;
|
||||||
|
import org.springframework.http.HttpMethod;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import it.cnr.isti.epasmed.config.ApplicationProperties;
|
||||||
|
import it.cnr.isti.epasmed.epas.model.EPASCertifications;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class EPASCertificationsClient {
|
||||||
|
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Qualifier("RestTemplateForSecondUser")
|
||||||
|
RestTemplate rt;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ApplicationProperties appProps;
|
||||||
|
|
||||||
|
public EPASCertifications getCertificationsByPersonId(String id, String year, String month) {
|
||||||
|
log.info("Retrieving EPASCertifications for person id: {}", id);
|
||||||
|
Map<String, String> uriVariables = new HashMap<>();
|
||||||
|
uriVariables.put("id", id);
|
||||||
|
uriVariables.put("year", year);
|
||||||
|
uriVariables.put("month", month);
|
||||||
|
|
||||||
|
EPASCertifications epasCertifications = rt.getForObject(
|
||||||
|
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/certifications/getMonthValidationStatusByPerson?id={id}&year={year}&month={month}",
|
||||||
|
EPASCertifications.class,uriVariables);
|
||||||
|
log.info("Retrieved EPASCertifications: {}", epasCertifications);
|
||||||
|
return epasCertifications;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EPASCertifications getCertificationsByPersonFiscalCode(String fc, String year, String month) {
|
||||||
|
log.info("Retrieving EPASCertifications for person fiscalCode: {}", fc);
|
||||||
|
Map<String, String> uriVariables = new HashMap<>();
|
||||||
|
uriVariables.put("fc", fc);
|
||||||
|
uriVariables.put("year", year);
|
||||||
|
uriVariables.put("month", month);
|
||||||
|
|
||||||
|
EPASCertifications epasCertifications = rt.getForObject(
|
||||||
|
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/certifications/getMonthValidationStatusByPerson?fiscalCode={fc}&year={year}&month={month}",
|
||||||
|
EPASCertifications.class,uriVariables);
|
||||||
|
log.info("Retrieved EPASCertifications: {}", epasCertifications);
|
||||||
|
return epasCertifications;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<EPASCertifications> getCertificationsByOfficeCodeId(String id, String year, String month) {
|
||||||
|
log.info("Retrieving EPASCertifications for office codeId: {}", id);
|
||||||
|
|
||||||
|
Map<String, String> uriVariables = new HashMap<>();
|
||||||
|
uriVariables.put("sedeId", id);
|
||||||
|
uriVariables.put("year", year);
|
||||||
|
uriVariables.put("month", month);
|
||||||
|
|
||||||
|
ResponseEntity<List<EPASCertifications>> responseEntity = rt.exchange(
|
||||||
|
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/certifications/getMonthSituationByOffice?sedeId={sedeId}&year={year}&month={month}", HttpMethod.GET, null,
|
||||||
|
new ParameterizedTypeReference<List<EPASCertifications>>() {
|
||||||
|
}, uriVariables);
|
||||||
|
List<EPASCertifications> listEPASTimeCards = responseEntity.getBody();
|
||||||
|
log.info("Retrieved EPASCertifications: {}", listEPASTimeCards);
|
||||||
|
return listEPASTimeCards;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.client;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import it.cnr.isti.epasmed.config.ApplicationProperties;
|
||||||
|
import it.cnr.isti.epasmed.epas.model.EPASValidates;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class EPASValidatesClient {
|
||||||
|
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Qualifier("RestTemplateForSecondUser")
|
||||||
|
RestTemplate rt;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ApplicationProperties appProps;
|
||||||
|
|
||||||
|
public String isValidatesByPersonEmail(String email, String year, String month) {
|
||||||
|
log.info("Retrieving EPASValidates status for person email: {}", email);
|
||||||
|
Map<String, String> uriVariables = new HashMap<>();
|
||||||
|
uriVariables.put("email", email);
|
||||||
|
uriVariables.put("year", year);
|
||||||
|
uriVariables.put("month", month);
|
||||||
|
|
||||||
|
String epasValidates = rt.getForObject(
|
||||||
|
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/certifications/getMonthValidationStatusByPerson?email={email}&year={year}&month={month}",
|
||||||
|
String.class,uriVariables);
|
||||||
|
log.info("Retrieved EPASValidated status: {}", epasValidates);
|
||||||
|
return epasValidates;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public EPASValidates getValidatesByOfficeCodeId(String id, String year, String month) {
|
||||||
|
log.info("Retrieving EPASValidates for office codeId: {}", id);
|
||||||
|
|
||||||
|
Map<String, String> uriVariables = new HashMap<>();
|
||||||
|
uriVariables.put("sedeId", id);
|
||||||
|
uriVariables.put("year", year);
|
||||||
|
uriVariables.put("month", month);
|
||||||
|
|
||||||
|
EPASValidates epasValidates = rt.getForObject(
|
||||||
|
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/certifications/getMonthValidationStatusByOffice?sedeId={sedeId}&year={year}&month={month}",
|
||||||
|
EPASValidates.class,uriVariables);
|
||||||
|
log.info("Retrieved EPASValidates: {}", epasValidates);
|
||||||
|
return epasValidates;
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,7 +16,7 @@ import it.cnr.isti.epasmed.config.ApplicationProperties;
|
||||||
import it.cnr.isti.epasmed.epas.model.EPASWorkingTimeTypes;
|
import it.cnr.isti.epasmed.epas.model.EPASWorkingTimeTypes;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class EPASWorkinTipeTypesCient {
|
public class EPASWorkingTimeTypesClient {
|
||||||
|
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
@ -29,19 +29,19 @@ public class EPASWorkinTipeTypesCient {
|
||||||
|
|
||||||
public EPASWorkingTimeTypes getById(String id) {
|
public EPASWorkingTimeTypes getById(String id) {
|
||||||
EPASWorkingTimeTypes epasWorkingTimeTypes = rt.getForObject(
|
EPASWorkingTimeTypes epasWorkingTimeTypes = rt.getForObject(
|
||||||
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/workingtimetypes/show?id={id}",
|
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/workingtimetypes/show/{id}",
|
||||||
EPASWorkingTimeTypes.class, id);
|
EPASWorkingTimeTypes.class, id);
|
||||||
log.info("Retrieved Working Time Types : {}", epasWorkingTimeTypes);
|
log.info("Retrieved Working Time Type : {}", epasWorkingTimeTypes);
|
||||||
return epasWorkingTimeTypes;
|
return epasWorkingTimeTypes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<EPASWorkingTimeTypes> getList(String officeId) {
|
public List<EPASWorkingTimeTypes> getListByOfficeCodeId(String officeCodeId) {
|
||||||
ResponseEntity<List<EPASWorkingTimeTypes>> responseEntity = rt.exchange(
|
ResponseEntity<List<EPASWorkingTimeTypes>> responseEntity = rt.exchange(
|
||||||
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/workingtimetypes/list?id={officeId}", HttpMethod.GET,
|
appProps.getDatasourceEpasRest().getRestUrl() + "/v2/workingtimetypes/list?codeId={officeCodeId}", HttpMethod.GET,
|
||||||
null, new ParameterizedTypeReference<List<EPASWorkingTimeTypes>>() {
|
null, new ParameterizedTypeReference<List<EPASWorkingTimeTypes>>() {
|
||||||
}, officeId);
|
}, officeCodeId);
|
||||||
List<EPASWorkingTimeTypes> listEPASWorkingTimeTypes = responseEntity.getBody();
|
List<EPASWorkingTimeTypes> listEPASWorkingTimeTypes = responseEntity.getBody();
|
||||||
log.info("Retrieved Retrieved Working Time Types: {}", listEPASWorkingTimeTypes);
|
log.info("Retrieved Working Time Types: {}", listEPASWorkingTimeTypes);
|
||||||
return listEPASWorkingTimeTypes;
|
return listEPASWorkingTimeTypes;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class EPASCertifications implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private EPASAbsences[] absences;
|
||||||
|
private EPASCompetences[] competences;
|
||||||
|
private String fullName;
|
||||||
|
private EPASTickets[] mealTickets;
|
||||||
|
private String month;
|
||||||
|
private String number;
|
||||||
|
private String[] trainingHours;
|
||||||
|
private String year;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class EPASCompetences implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String code;
|
||||||
|
private String quantity;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class EPASTickets implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String code;
|
||||||
|
private String quantity;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class EPASValidates implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
Boolean allCertificationsValidated;
|
||||||
|
EPASPersons[] notValidatedPersons;
|
||||||
|
EPASPersons[] validatedPersons;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import it.cnr.isti.epasmed.epas.client.EPASCertificationsClient;
|
||||||
|
import it.cnr.isti.epasmed.epas.model.EPASCertifications;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class EPASCertificationsService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EPASCertificationsClient epasCertificationsClient;
|
||||||
|
|
||||||
|
public EPASCertifications getCertificationsByPersonId(String id, String year, String month) {
|
||||||
|
return epasCertificationsClient.getCertificationsByPersonId(id, year, month);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EPASCertifications getCertificationsByPersonFiscalCode(String fc, String year, String month) {
|
||||||
|
return epasCertificationsClient.getCertificationsByPersonFiscalCode(fc, year, month);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<EPASCertifications> getCertificationsByOfficeCodeId(String id, String year, String month) {
|
||||||
|
return epasCertificationsClient.getCertificationsByOfficeCodeId(id, year, month);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package it.cnr.isti.epasmed.epas.service;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import it.cnr.isti.epasmed.epas.client.EPASValidatesClient;
|
||||||
|
import it.cnr.isti.epasmed.epas.model.EPASValidates;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class EPASValidatesService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EPASValidatesClient epasValidatesClient;
|
||||||
|
|
||||||
|
public String isValidatesByPersonEmail(String email, String year, String month) {
|
||||||
|
return epasValidatesClient.isValidatesByPersonEmail(email, year, month);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EPASValidates getValidatesByOfficeCodeId(String id, String year, String month) {
|
||||||
|
return epasValidatesClient.getValidatesByOfficeCodeId(id, year, month);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -5,7 +5,7 @@ import java.util.List;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import it.cnr.isti.epasmed.epas.client.EPASWorkinTipeTypesCient;
|
import it.cnr.isti.epasmed.epas.client.EPASWorkingTimeTypesClient;
|
||||||
import it.cnr.isti.epasmed.epas.model.EPASWorkingTimeTypes;
|
import it.cnr.isti.epasmed.epas.model.EPASWorkingTimeTypes;
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,14 +13,14 @@ import it.cnr.isti.epasmed.epas.model.EPASWorkingTimeTypes;
|
||||||
public class EPASWorkingTimeTypesService {
|
public class EPASWorkingTimeTypesService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
EPASWorkinTipeTypesCient epasWorkingTimeTypesClient;
|
EPASWorkingTimeTypesClient epasWorkingTimeTypesClient;
|
||||||
|
|
||||||
public EPASWorkingTimeTypes getById(String id) {
|
public EPASWorkingTimeTypes getById(String id) {
|
||||||
return epasWorkingTimeTypesClient.getById(id);
|
return epasWorkingTimeTypesClient.getById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<EPASWorkingTimeTypes> getList(String officeId) {
|
public List<EPASWorkingTimeTypes> getListByOfficeCodeId(String officeCodeId) {
|
||||||
return epasWorkingTimeTypesClient.getList(officeId);
|
return epasWorkingTimeTypesClient.getListByOfficeCodeId(officeCodeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ import it.cnr.isti.epasmed.epas.dto.EPASPersonsDTO;
|
||||||
import it.cnr.isti.epasmed.epas.mapper.EPASPersonsMapper;
|
import it.cnr.isti.epasmed.epas.mapper.EPASPersonsMapper;
|
||||||
import it.cnr.isti.epasmed.epas.model.EPASPersons;
|
import it.cnr.isti.epasmed.epas.model.EPASPersons;
|
||||||
import it.cnr.isti.epasmed.epas.service.EPASPersonsService;
|
import it.cnr.isti.epasmed.epas.service.EPASPersonsService;
|
||||||
|
import it.cnr.isti.epasmed.epas.service.EPASTimeCardsService;
|
||||||
import it.cnr.isti.epasmed.service.TabsSIService;
|
import it.cnr.isti.epasmed.service.TabsSIService;
|
||||||
import it.cnr.isti.epasmed.sistemainformativo.model.SIAnagrafico;
|
import it.cnr.isti.epasmed.sistemainformativo.model.SIAnagrafico;
|
||||||
import it.cnr.isti.epasmed.sistemainformativo.model.SIEmail;
|
import it.cnr.isti.epasmed.sistemainformativo.model.SIEmail;
|
||||||
|
@ -46,9 +47,12 @@ public class SyncService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
EPASPersonsService epasPersonsService;
|
EPASPersonsService epasPersonsService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
EPASPersonsMapper epasPersonsMapper;
|
EPASPersonsMapper epasPersonsMapper;
|
||||||
|
@Autowired
|
||||||
|
EPASTimeCardsService epasTimeCardsService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private boolean banagrafico;
|
private boolean banagrafico;
|
||||||
private boolean bemail;
|
private boolean bemail;
|
||||||
|
@ -76,7 +80,7 @@ public class SyncService {
|
||||||
List<TabsSI> tabsSI = tabsSIService.getAllTabsSI();
|
List<TabsSI> tabsSI = tabsSIService.getAllTabsSI();
|
||||||
siMasterLogService.startFluxReads();
|
siMasterLogService.startFluxReads();
|
||||||
readData(tabsSI);
|
readData(tabsSI);
|
||||||
siMasterLogService.closeFluxReads(tabellelette());
|
siMasterLogService.closeFluxReads(readTabs());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,13 +95,13 @@ public class SyncService {
|
||||||
List<TabsSI> tabsSI = tabsSIService.getAllTabsSI();
|
List<TabsSI> tabsSI = tabsSIService.getAllTabsSI();
|
||||||
Long idFlux=siMasterLogService.startFluxWrites();
|
Long idFlux=siMasterLogService.startFluxWrites();
|
||||||
writeData(idFlux,tabsSI);
|
writeData(idFlux,tabsSI);
|
||||||
siMasterLogService.closeFluxWrites(idFlux,tabellelette());
|
siMasterLogService.closeFluxWrites(idFlux,writeTabs());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readData(List<TabsSI> tabsSI) {
|
private void readData(List<TabsSI> tabsSI) {
|
||||||
TabsSI posizioniTab = null;
|
//TabsSI posizioniTab = null;
|
||||||
TabsSI prorogheTab = null;
|
//TabsSI prorogheTab = null;
|
||||||
for (TabsSI tab : tabsSI) {
|
for (TabsSI tab : tabsSI) {
|
||||||
log.info("TabSI: {}", tab);
|
log.info("TabSI: {}", tab);
|
||||||
if (tab.getOperazioni() != null && !tab.getOperazioni().isEmpty()
|
if (tab.getOperazioni() != null && !tab.getOperazioni().isEmpty()
|
||||||
|
@ -121,21 +125,21 @@ public class SyncService {
|
||||||
case "gruppo_pers":
|
case "gruppo_pers":
|
||||||
syncGruppoPers(tab);
|
syncGruppoPers(tab);
|
||||||
break;
|
break;
|
||||||
case "posizioni":
|
//case "posizioni":
|
||||||
posizioniTab = tab;
|
// posizioniTab = tab;
|
||||||
break;
|
// break;
|
||||||
case "proroghe":
|
//case "proroghe":
|
||||||
prorogheTab = tab;
|
// prorogheTab = tab;
|
||||||
break;
|
// break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (posizioniTab != null || prorogheTab != null) {
|
//if (posizioniTab != null || prorogheTab != null) {
|
||||||
syncPosizioniAndProroghe(posizioniTab, prorogheTab);
|
// syncPosizioniAndProroghe(posizioniTab, prorogheTab);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void syncAnagrafico(TabsSI tab) {
|
private void syncAnagrafico(TabsSI tab) {
|
||||||
|
@ -297,47 +301,51 @@ public class SyncService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void syncPosizioniAndProroghe(TabsSI posizioniTab, TabsSI prorogheTab) {
|
//private void syncPosizioniAndProroghe(TabsSI posizioniTab, TabsSI prorogheTab) {
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
}
|
private String readTabs() {
|
||||||
|
String readTabs = "";
|
||||||
private String tabellelette() {
|
|
||||||
String tabelle_lette = "";
|
|
||||||
if (banagrafico) {
|
if (banagrafico) {
|
||||||
tabelle_lette = "anagrafico";
|
if (readTabs == null || readTabs.isEmpty()) {
|
||||||
|
readTabs = "anagrafico";
|
||||||
|
} else {
|
||||||
|
readTabs = readTabs + ",anagrafico";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (bemail) {
|
if (bemail) {
|
||||||
if (tabelle_lette == null || tabelle_lette.isEmpty()) {
|
if (readTabs == null || readTabs.isEmpty()) {
|
||||||
tabelle_lette = "mail";
|
readTabs = "mail";
|
||||||
} else {
|
} else {
|
||||||
tabelle_lette = tabelle_lette + ",mail";
|
readTabs = readTabs + ",mail";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (btelefoni) {
|
if (btelefoni) {
|
||||||
if (tabelle_lette == null || tabelle_lette.isEmpty()) {
|
if (readTabs == null || readTabs.isEmpty()) {
|
||||||
tabelle_lette = "telefoni";
|
readTabs = "telefoni";
|
||||||
} else {
|
} else {
|
||||||
tabelle_lette = tabelle_lette + ",telefoni";
|
readTabs = readTabs + ",telefoni";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bgruppi) {
|
if (bgruppi) {
|
||||||
if (tabelle_lette == null || tabelle_lette.isEmpty()) {
|
if (readTabs == null || readTabs.isEmpty()) {
|
||||||
tabelle_lette = "gruppi";
|
readTabs = "gruppi";
|
||||||
} else {
|
} else {
|
||||||
tabelle_lette = tabelle_lette + ",gruppi";
|
readTabs = readTabs + ",gruppi";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bgruppo_pers) {
|
if (bgruppo_pers) {
|
||||||
if (tabelle_lette == null || tabelle_lette.isEmpty()) {
|
if (readTabs == null || readTabs.isEmpty()) {
|
||||||
tabelle_lette = "gruppo_pers";
|
readTabs = "gruppo_pers";
|
||||||
} else {
|
} else {
|
||||||
tabelle_lette = tabelle_lette + ",gruppo_pers";
|
readTabs = readTabs + ",gruppo_pers";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bposizioni) {
|
/*if (bposizioni) {
|
||||||
if (tabelle_lette == null || tabelle_lette.isEmpty()) {
|
if (tabelle_lette == null || tabelle_lette.isEmpty()) {
|
||||||
tabelle_lette = "posizioni";
|
tabelle_lette = "posizioni";
|
||||||
} else {
|
} else {
|
||||||
|
@ -351,10 +359,59 @@ public class SyncService {
|
||||||
} else {
|
} else {
|
||||||
tabelle_lette = tabelle_lette + ",proroghe";
|
tabelle_lette = tabelle_lette + ",proroghe";
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return tabelle_lette;
|
return readTabs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String writeTabs() {
|
||||||
|
|
||||||
|
String writeTabs = "";
|
||||||
|
if (borario) {
|
||||||
|
if (writeTabs == null || writeTabs.isEmpty()) {
|
||||||
|
writeTabs = "epas_orario";
|
||||||
|
} else {
|
||||||
|
writeTabs = writeTabs + ",epas_orario";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bcartellini) {
|
||||||
|
if (writeTabs == null || writeTabs.isEmpty()) {
|
||||||
|
writeTabs = "epas_cartellini";
|
||||||
|
} else {
|
||||||
|
writeTabs = writeTabs + ",epas_cartellini";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bcartellini_rendicontazioni) {
|
||||||
|
if (writeTabs == null || writeTabs.isEmpty()) {
|
||||||
|
writeTabs = "epas_cartellini_rendicontazioni";
|
||||||
|
} else {
|
||||||
|
writeTabs = writeTabs + "epas_cartellini_rendicontazioni";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bpers_orario) {
|
||||||
|
if (writeTabs == null || writeTabs.isEmpty()) {
|
||||||
|
writeTabs = "epas_pers_orario";
|
||||||
|
} else {
|
||||||
|
writeTabs = writeTabs + "epas_pers_orario";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (blavoro_fuori_sede) {
|
||||||
|
if (writeTabs == null || writeTabs.isEmpty()) {
|
||||||
|
writeTabs = "epas_lavoro_fuori_sede";
|
||||||
|
} else {
|
||||||
|
writeTabs = writeTabs + "epas_lavoro_fuori_sede";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (baspettative) {
|
||||||
|
if (writeTabs == null || writeTabs.isEmpty()) {
|
||||||
|
writeTabs = "epas_aspettative";
|
||||||
|
} else {
|
||||||
|
writeTabs = writeTabs + "epas_aspettative";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return writeTabs;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeData(Long idFlux, List<TabsSI> tabsSI) {
|
private void writeData(Long idFlux, List<TabsSI> tabsSI) {
|
||||||
|
@ -362,7 +419,7 @@ public class SyncService {
|
||||||
TabsSI cartelliniTab = null;
|
TabsSI cartelliniTab = null;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
for (TabsSI tab : tabsSI) {
|
for (TabsSI tab : tabsSI) {
|
||||||
log.info("TabSI: {}", tab);
|
log.info("TabSI: {}", tab);
|
||||||
if (tab.getOperazioni() != null && !tab.getOperazioni().isEmpty()
|
if (tab.getOperazioni() != null && !tab.getOperazioni().isEmpty()
|
||||||
|
@ -371,18 +428,14 @@ public class SyncService {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
switch (tab.getNome()) {
|
switch (tab.getNome()) {
|
||||||
case "orario":
|
case "orario":
|
||||||
syncOrario(idFlux,tab);
|
syncOrario(idFlux,tab);
|
||||||
break;
|
break;
|
||||||
case "pers_orario":
|
case "pers_orario":
|
||||||
syncOrario(idFlux,tab);
|
syncPersOrario(idFlux,tab);
|
||||||
break;
|
break;
|
||||||
case "cartellini":
|
case "cartellini":
|
||||||
syncCartellini(idFlux,tab);
|
|
||||||
break;
|
break;
|
||||||
case "cartellini_rendicontazioni":
|
case "cartellini_rendicontazioni":
|
||||||
syncCartelliniRendicontazioni(idFlux,tab);
|
syncCartelliniRendicontazioni(idFlux,tab);
|
||||||
|
@ -397,9 +450,10 @@ public class SyncService {
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,13 +8,11 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import io.github.jhipster.web.util.ResponseUtil;
|
import io.github.jhipster.web.util.ResponseUtil;
|
||||||
import it.cnr.isti.epasmed.epas.model.EPASPersons;
|
|
||||||
import it.cnr.isti.epasmed.epas.model.EPASTimeCards;
|
import it.cnr.isti.epasmed.epas.model.EPASTimeCards;
|
||||||
import it.cnr.isti.epasmed.epas.service.EPASTimeCardsService;
|
import it.cnr.isti.epasmed.epas.service.EPASTimeCardsService;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
package it.cnr.isti.epasmed.web.rest.epas;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import io.github.jhipster.web.util.ResponseUtil;
|
||||||
|
import it.cnr.isti.epasmed.epas.model.EPASValidates;
|
||||||
|
import it.cnr.isti.epasmed.epas.service.EPASValidatesService;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/epas")
|
||||||
|
public class EPASValidatesResource {
|
||||||
|
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
@Value("${jhipster.clientApp.name}")
|
||||||
|
private String applicationName;
|
||||||
|
|
||||||
|
private final EPASValidatesService epasValidatesService;
|
||||||
|
|
||||||
|
public EPASValidatesResource(EPASValidatesService epasValidatesService) {
|
||||||
|
this.epasValidatesService = epasValidatesService;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@code GET /validates/is} : return true if is validates the certification.
|
||||||
|
*
|
||||||
|
* @param email the email of the person.
|
||||||
|
* @param year the year.
|
||||||
|
* @param month the month.
|
||||||
|
* @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body
|
||||||
|
* the Boolean value, or with status {@code 404 (Not Found)}.
|
||||||
|
*/
|
||||||
|
@GetMapping("/validates/is")
|
||||||
|
public ResponseEntity<String> isValidatesByPersonEmail(@RequestParam("email") String email,
|
||||||
|
@RequestParam("year") String year, @RequestParam("month") String month) {
|
||||||
|
log.info("REST request to ePAS if is Validates by Person Email: email={}, year={}, month={}", email,year,month);
|
||||||
|
String validates = epasValidatesService.isValidatesByPersonEmail(email, year, month);
|
||||||
|
log.info("Retrieved Validates: {}", validates);
|
||||||
|
return ResponseUtil.wrapOrNotFound(Optional.of(validates));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@code GET /validates} : get the list of certification validates.
|
||||||
|
*
|
||||||
|
* @param officeCodeId the id of the office.
|
||||||
|
* @param year the year.
|
||||||
|
* @param month the month.
|
||||||
|
* @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body
|
||||||
|
* the EPAS Validates, or with status {@code 404 (Not Found)}.
|
||||||
|
*/
|
||||||
|
@GetMapping("/validates")
|
||||||
|
public ResponseEntity<EPASValidates> getEPASValidatesByOfficeCodeId(@RequestParam("officeCodeId") String officeCodeId,
|
||||||
|
@RequestParam("year") String year, @RequestParam("month") String month) {
|
||||||
|
log.info("REST request to get ePAS TimeCard list: officeCodeId={}, year={}, month={}", officeCodeId,year,month);
|
||||||
|
EPASValidates epasValidates = epasValidatesService.getValidatesByOfficeCodeId(officeCodeId, year, month);
|
||||||
|
return ResponseUtil.wrapOrNotFound(Optional.of(epasValidates));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -52,14 +52,14 @@ public class EPASWorkingTimeTypesResource {
|
||||||
/**
|
/**
|
||||||
* {@code GET /workingtimetypes} : get the workingtimetypes list.
|
* {@code GET /workingtimetypes} : get the workingtimetypes list.
|
||||||
*
|
*
|
||||||
* @param officeId the office id.
|
* @param officeCodeId the office codeId.
|
||||||
* @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body
|
* @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body
|
||||||
* the list of EPASWorkingTimeTypes, or with status {@code 404 (Not Found)}.
|
* the list of EPASWorkingTimeTypes, or with status {@code 404 (Not Found)}.
|
||||||
*/
|
*/
|
||||||
@GetMapping("/workingtimetypes")
|
@GetMapping("/workingtimetypes")
|
||||||
public ResponseEntity<List<EPASWorkingTimeTypes>> getEPASWorkingTimeTypes(@RequestParam("officeId") String id) {
|
public ResponseEntity<List<EPASWorkingTimeTypes>> getEPASWorkingTimeTypes(@RequestParam("officeCodeId") String officeCodeId) {
|
||||||
log.info("REST request to get ePAS WorkingTimeTypes list for Office: {}", id);
|
log.info("REST request to get ePAS WorkingTimeTypes list for Office: {}", officeCodeId);
|
||||||
List<EPASWorkingTimeTypes> epasWorkingTimeTypesList = epasWorkingTimeTypesService.getList(id);
|
List<EPASWorkingTimeTypes> epasWorkingTimeTypesList = epasWorkingTimeTypesService.getListByOfficeCodeId(officeCodeId);
|
||||||
return ResponseUtil.wrapOrNotFound(Optional.of(epasWorkingTimeTypesList));
|
return ResponseUtil.wrapOrNotFound(Optional.of(epasWorkingTimeTypesList));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ import it.cnr.isti.epasmed.EpasmedApp;
|
||||||
import it.cnr.isti.epasmed.security.AuthoritiesConstants;
|
import it.cnr.isti.epasmed.security.AuthoritiesConstants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Integration tests for the {@link EPASPersonsResource} REST controller.
|
* Integration tests for the {@link EPASTimeCardsResource} REST controller.
|
||||||
*/
|
*/
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
@WithMockUser(authorities = AuthoritiesConstants.ADMIN)
|
@WithMockUser(authorities = AuthoritiesConstants.ADMIN)
|
||||||
|
@ -29,9 +29,9 @@ public class EPASTimeCardsResourceIT {
|
||||||
|
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
private static final String OFFICE_DEFAULT_ID = "1";
|
//private static final String OFFICE_DEFAULT_ID = "1";
|
||||||
private static final String OFFICE_DEFAULT_NAME = "ISTI - Pisa";
|
//private static final String OFFICE_DEFAULT_NAME = "ISTI - Pisa";
|
||||||
private static final String OFFICE_DEFAULT_CODE = "074000";
|
//private static final String OFFICE_DEFAULT_CODE = "074000";
|
||||||
private static final String OFFICE_DEFAULT_CODEID = "225200";
|
private static final String OFFICE_DEFAULT_CODEID = "225200";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
package it.cnr.isti.epasmed.web.rest.epas;
|
||||||
|
|
||||||
|
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||||
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.core.env.Environment;
|
||||||
|
import org.springframework.security.test.context.support.WithMockUser;
|
||||||
|
import org.springframework.test.context.junit.jupiter.EnabledIf;
|
||||||
|
import org.springframework.test.web.servlet.MockMvc;
|
||||||
|
import org.springframework.test.web.servlet.MvcResult;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
|
import it.cnr.isti.epasmed.EpasmedApp;
|
||||||
|
import it.cnr.isti.epasmed.epas.model.EPASValidates;
|
||||||
|
import it.cnr.isti.epasmed.security.AuthoritiesConstants;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration tests for the {@link EPASValidatesResource} REST
|
||||||
|
* controller.
|
||||||
|
*/
|
||||||
|
@AutoConfigureMockMvc
|
||||||
|
@WithMockUser(authorities = AuthoritiesConstants.ADMIN)
|
||||||
|
@SpringBootTest(classes = EpasmedApp.class)
|
||||||
|
@EnabledIf("true")
|
||||||
|
public class EPASValidatesResourceIT {
|
||||||
|
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
//private static final String OFFICE_DEFAULT_ID = "1";
|
||||||
|
// private static final String OFFICE_DEFAULT_NAME = "ISTI - Pisa";
|
||||||
|
// private static final String OFFICE_DEFAULT_CODE = "074000";
|
||||||
|
private static final String OFFICE_DEFAULT_CODEID = "225200";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MockMvc restEPASValidatesMockMvc;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private Environment environment;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void initTest() {
|
||||||
|
for (String profileName : environment.getActiveProfiles()) {
|
||||||
|
log.info("Currently active profile - " + profileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isValidatesByPersonEmail() throws Exception {
|
||||||
|
MvcResult result = restEPASValidatesMockMvc.perform(get("/api/epas/validates/is?email=giancarlo.panichi@cnr.it&"
|
||||||
|
+ "year=2021&month=11")).andExpect(status().isOk()).andReturn();
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
String validated = mapper.readValue(result.getResponse().getContentAsString(),
|
||||||
|
new TypeReference<String>() {
|
||||||
|
});
|
||||||
|
log.info("EPASValidates is: {}", validated);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getEPASValidatesByOfficeCodeId() throws Exception {
|
||||||
|
MvcResult result = restEPASValidatesMockMvc.perform(get("/api/epas/validates?officeCodeId="+OFFICE_DEFAULT_CODEID+"&"
|
||||||
|
+ "year=2021&month=10")).andExpect(status().isOk()).andReturn();
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
EPASValidates validates = mapper.readValue(result.getResponse().getContentAsString(),
|
||||||
|
new TypeReference<EPASValidates>() {
|
||||||
|
});
|
||||||
|
log.info("EPASValidates: {}", validates);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -33,15 +33,15 @@ import it.cnr.isti.epasmed.security.AuthoritiesConstants;
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
@WithMockUser(authorities = AuthoritiesConstants.ADMIN)
|
@WithMockUser(authorities = AuthoritiesConstants.ADMIN)
|
||||||
@SpringBootTest(classes = EpasmedApp.class)
|
@SpringBootTest(classes = EpasmedApp.class)
|
||||||
@EnabledIf("false")
|
@EnabledIf("true")
|
||||||
public class EPASWorkingTimeTypesResourceIT {
|
public class EPASWorkingTimeTypesResourceIT {
|
||||||
|
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
private static final String OFFICE_DEFAULT_ID = "1";
|
//private static final String OFFICE_DEFAULT_ID = "1";
|
||||||
// private static final String OFFICE_DEFAULT_NAME = "ISTI - Pisa";
|
// private static final String OFFICE_DEFAULT_NAME = "ISTI - Pisa";
|
||||||
// private static final String OFFICE_DEFAULT_CODE = "074000";
|
// private static final String OFFICE_DEFAULT_CODE = "074000";
|
||||||
// private static final String OFFICE_DEFAULT_CODEID = "225200";
|
private static final String OFFICE_DEFAULT_CODEID = "225200";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MockMvc restEPASWorkingTimeTypesMockMvc;
|
private MockMvc restEPASWorkingTimeTypesMockMvc;
|
||||||
|
@ -73,7 +73,7 @@ public class EPASWorkingTimeTypesResourceIT {
|
||||||
@Test
|
@Test
|
||||||
public void getWorkingTimeTypesList() throws Exception {
|
public void getWorkingTimeTypesList() throws Exception {
|
||||||
MvcResult result = restEPASWorkingTimeTypesMockMvc
|
MvcResult result = restEPASWorkingTimeTypesMockMvc
|
||||||
.perform(get("/api/epas/workingtimetypes?officeId=" + OFFICE_DEFAULT_ID)).andExpect(status().isOk())
|
.perform(get("/api/epas/workingtimetypes?officeCodeId=" + OFFICE_DEFAULT_CODEID)).andExpect(status().isOk())
|
||||||
.andReturn();
|
.andReturn();
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
Loading…
Reference in New Issue