Salvatore La Manna
4 anni fa
24 ha cambiato i file con 463 aggiunte e 78 eliminazioni
File binario non mostrato.
@ -0,0 +1,26 @@ |
|||||||
|
package it.mwg.sicilia.sue.api.v1.bean; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
@SuppressWarnings("serial") |
||||||
|
public class ApplicationType implements Serializable { |
||||||
|
|
||||||
|
private String code; |
||||||
|
private String description; |
||||||
|
|
||||||
|
public ApplicationType(String code, String description) { |
||||||
|
|
||||||
|
this.code = code; |
||||||
|
this.description = description; |
||||||
|
} |
||||||
|
|
||||||
|
public String getCode() { |
||||||
|
|
||||||
|
return code; |
||||||
|
} |
||||||
|
|
||||||
|
public String getDescription() { |
||||||
|
|
||||||
|
return description; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,186 @@ |
|||||||
|
package it.mwg.sicilia.sue.api.v1.command.impl; |
||||||
|
|
||||||
|
import it.mwg.sicilia.sue.api.v1.Parameters; |
||||||
|
import it.mwg.sicilia.sue.api.v1.Response; |
||||||
|
import it.mwg.sicilia.sue.api.v1.Status; |
||||||
|
import it.mwg.sicilia.sue.api.v1.command.Command; |
||||||
|
import it.mwg.sicilia.sue.api.v1.parameter.Parameter; |
||||||
|
import it.tref.liferay.portos.bo.model.Comune; |
||||||
|
import it.tref.liferay.portos.bo.model.DettPratica; |
||||||
|
import it.tref.liferay.portos.bo.model.Territorio; |
||||||
|
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.security.SecureRandom; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.Date; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Locale; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
|
||||||
|
import com.liferay.portal.kernel.exception.PortalException; |
||||||
|
import com.liferay.portal.kernel.exception.SystemException; |
||||||
|
import com.liferay.portal.kernel.servlet.ServletResponseUtil; |
||||||
|
import com.liferay.portal.kernel.util.MapUtil; |
||||||
|
import com.liferay.portal.kernel.util.StringPool; |
||||||
|
import com.liferay.portal.kernel.util.Validator; |
||||||
|
import com.liferay.portal.model.User; |
||||||
|
import com.liferay.portal.service.ServiceContext; |
||||||
|
import com.liferay.portal.service.UserLocalServiceUtil; |
||||||
|
|
||||||
|
public class AddApplication extends Command { |
||||||
|
|
||||||
|
@SuppressWarnings("serial") |
||||||
|
private static final List<Parameter> INPUT_PARAMETERS = new ArrayList<Parameter>() { |
||||||
|
{ |
||||||
|
add(new Parameter(Parameters.VAT_ID, Parameter.TYPES.STRING, "Codice fiscale del titolare digitale")); |
||||||
|
add(new Parameter(Parameters.FIRST_NAME, Parameter.TYPES.STRING, "Nome del titolare digitale", false)); |
||||||
|
add(new Parameter(Parameters.LAST_NAME, Parameter.TYPES.STRING, "Cognome del titolare digitale", false)); |
||||||
|
add(new Parameter(Parameters.TYPE, Parameter.TYPES.STRING, |
||||||
|
"Codice del tipo di istanza, come restituito da /" + getCommandName(Applications.class))); |
||||||
|
add(new Parameter(Parameters.SUE_ID, Parameter.TYPES.STRING, "Estremi pratica SUE/SUAP", false)); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
@SuppressWarnings("serial") |
||||||
|
private static final List<Parameter> OUTPUT_PARAMETERS = new ArrayList<Parameter>() { |
||||||
|
{ |
||||||
|
addAll(BASE_OUTPUT_PARAMETERS); |
||||||
|
add(new Parameter(Parameters.APPLICATION_ID, Parameter.TYPES.INTEGER, |
||||||
|
"Identificatore del procedimento creato, da utilizzare nelle successive operazioni")); |
||||||
|
add(new Parameter(Parameters.ADDITIONAL_INFO, Parameter.TYPES.STRING, |
||||||
|
"Eventuali informazioni aggiuntive sull'operazione o sugli errori incontrati")); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
public AddApplication(String description, String... methods) { |
||||||
|
super(description, methods); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { |
||||||
|
|
||||||
|
if (verifyAccessToken(request, response)) { |
||||||
|
List<String> additionalInfo = new ArrayList<>(); |
||||||
|
String screenName = MapUtil.getString(parameters, Parameters.VAT_ID); |
||||||
|
if (Validator.isNull(screenName)) { |
||||||
|
additionalInfo.add("Parametro " + Parameters.VAT_ID + " mancante"); |
||||||
|
ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); |
||||||
|
return; |
||||||
|
} |
||||||
|
String tipoProcedura = MapUtil.getString(parameters, Parameters.TYPE); |
||||||
|
if (Validator.isNull(tipoProcedura) |
||||||
|
|| !IntPraticaLocalServiceUtil.getTipiProcedure().containsKey(tipoProcedura)) { |
||||||
|
additionalInfo.add("Tipo pratica non specificato o non valido"); |
||||||
|
ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); |
||||||
|
return; |
||||||
|
} |
||||||
|
String lastName = MapUtil.getString(parameters, Parameters.LAST_NAME, screenName); |
||||||
|
String firstName = MapUtil.getString(parameters, Parameters.FIRST_NAME, lastName); |
||||||
|
Comune comune = null; |
||||||
|
Territorio territorio = null; |
||||||
|
try { |
||||||
|
comune = sportello.getComune(); |
||||||
|
territorio = TerritorioLocalServiceUtil.findByComuneId(comune.getComuneId(), 0, 1).get(0); |
||||||
|
} catch (PortalException | SystemException e) { |
||||||
|
additionalInfo.add("Errore del server durante il caricamento del comune"); |
||||||
|
ServletResponseUtil.write(response, Response.get(Status.INACTIVE_USER, additionalInfo)); |
||||||
|
return; |
||||||
|
} |
||||||
|
Date date = new Date(); |
||||||
|
long companyId = comune.getCompanyId(); |
||||||
|
User user = null; |
||||||
|
try { |
||||||
|
user = UserLocalServiceUtil.fetchUserByScreenName(companyId, screenName); |
||||||
|
if (Validator.isNull(user)) { |
||||||
|
long creatorUserId = UserLocalServiceUtil.getDefaultUserId(companyId); |
||||||
|
boolean autoPassword = true; |
||||||
|
String password = randomPassword(24); |
||||||
|
boolean autoScreenName = false; |
||||||
|
String emailAddress = screenName + "@no-email.regione.sicilia.it"; |
||||||
|
long facebookId = 0; |
||||||
|
String openId = StringPool.BLANK; |
||||||
|
Locale locale = Locale.ITALY; |
||||||
|
String middleName = StringPool.BLANK; |
||||||
|
int prefixId = 0; |
||||||
|
int suffixId = 0; |
||||||
|
boolean male = true; |
||||||
|
int birthdayMonth = 0; |
||||||
|
int birthdayDay = 1; |
||||||
|
int birthdayYear = 1970; |
||||||
|
String jobTitle = StringPool.BLANK; |
||||||
|
long[] groupIds = null; |
||||||
|
long[] organizationIds = null; |
||||||
|
long[] roleIds = null; |
||||||
|
long[] userGroupIds = null; |
||||||
|
boolean sendEmail = false; |
||||||
|
ServiceContext serviceContext = new ServiceContext(); |
||||||
|
user = UserLocalServiceUtil.addUser(creatorUserId, companyId, autoPassword, password, password, |
||||||
|
autoScreenName, screenName, emailAddress, facebookId, openId, locale, firstName, |
||||||
|
middleName, lastName, prefixId, suffixId, male, birthdayMonth, birthdayDay, birthdayYear, |
||||||
|
jobTitle, groupIds, organizationIds, roleIds, userGroupIds, sendEmail, serviceContext); |
||||||
|
user.setPasswordModified(true); |
||||||
|
user.setPasswordModifiedDate(date); |
||||||
|
user.setPasswordReset(false); |
||||||
|
UserLocalServiceUtil.updateUser(user); |
||||||
|
additionalInfo.add("L'utente " + screenName + " è stato creato"); |
||||||
|
} else { |
||||||
|
additionalInfo.add("L'utente " + screenName + " esiste"); |
||||||
|
} |
||||||
|
} catch (PortalException | SystemException e) { |
||||||
|
additionalInfo.add("Errore durante la creazione dell'utente " + screenName); |
||||||
|
ServletResponseUtil.write(response, Response.get(Status.SERVER_ERROR, additionalInfo)); |
||||||
|
return; |
||||||
|
} |
||||||
|
ServiceContext serviceContext = new ServiceContext(); |
||||||
|
serviceContext.setCompanyId(sportello.getCompanyId()); |
||||||
|
serviceContext.setScopeGroupId(sportello.getGroupId()); |
||||||
|
serviceContext.setUserId(user.getUserId()); |
||||||
|
serviceContext.setCreateDate(date); |
||||||
|
serviceContext.setModifiedDate(date); |
||||||
|
DettPratica dettPratica = null; |
||||||
|
try { |
||||||
|
dettPratica = DettPraticaLocalServiceUtil.addDettPratica(territorio.getTerritorioId(), tipoProcedura, |
||||||
|
serviceContext); |
||||||
|
String sueId = MapUtil.getString(parameters, Parameters.SUE_ID); |
||||||
|
if (Validator.isNotNull(sueId)) { |
||||||
|
dettPratica.setEstremiPratCom(sueId); |
||||||
|
DettPraticaLocalServiceUtil.updateDettPratica(dettPratica); |
||||||
|
} |
||||||
|
} catch (PortalException | SystemException e) { |
||||||
|
additionalInfo.add("Errore durante la creazione dell'istanza"); |
||||||
|
ServletResponseUtil.write(response, Response.get(Status.SERVER_ERROR, additionalInfo)); |
||||||
|
return; |
||||||
|
} |
||||||
|
Map<String, Serializable> result = new HashMap<>(); |
||||||
|
result.put(Parameters.APPLICATION_ID, dettPratica.getIntPraticaId()); |
||||||
|
ServletResponseUtil.write(response, Response.get(Status.OK, result, additionalInfo)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private String randomPassword(int length) { |
||||||
|
|
||||||
|
SecureRandom rnd = new SecureRandom(); |
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
for (int i = 0; i < length; i++) { |
||||||
|
sb.append((char) (32 + rnd.nextInt(95))); |
||||||
|
} |
||||||
|
return sb.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<Parameter> getInputParameters() { |
||||||
|
return INPUT_PARAMETERS; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<Parameter> getOutputParameters() { |
||||||
|
return OUTPUT_PARAMETERS; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
package it.mwg.sicilia.sue.api.v1.command.impl; |
||||||
|
|
||||||
|
import it.mwg.sicilia.sue.api.v1.Parameters; |
||||||
|
import it.mwg.sicilia.sue.api.v1.Response; |
||||||
|
import it.mwg.sicilia.sue.api.v1.Status; |
||||||
|
import it.mwg.sicilia.sue.api.v1.bean.Application; |
||||||
|
import it.mwg.sicilia.sue.api.v1.command.Command; |
||||||
|
import it.mwg.sicilia.sue.api.v1.parameter.Parameter; |
||||||
|
import it.tref.liferay.portos.bo.model.IntPratica; |
||||||
|
import it.tref.liferay.portos.bo.model.Territorio; |
||||||
|
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
|
||||||
|
import com.liferay.portal.kernel.dao.orm.QueryUtil; |
||||||
|
import com.liferay.portal.kernel.servlet.ServletResponseUtil; |
||||||
|
import com.liferay.portal.model.User; |
||||||
|
import com.liferay.portal.service.UserLocalServiceUtil; |
||||||
|
|
||||||
|
public class ListApplications extends Command { |
||||||
|
|
||||||
|
private static final List<Parameter> OUTPUT_PARAMETERS = new ArrayList<Parameter>(); |
||||||
|
static { |
||||||
|
OUTPUT_PARAMETERS.addAll(BASE_OUTPUT_PARAMETERS); |
||||||
|
Parameter p = new Parameter(Parameters.APPLICATIONS, Parameter.TYPES.ARRAY, "Elenco di istanze presentate"); |
||||||
|
p.addSubParameter(new Parameter(Parameters.APPLICATION_ID, Parameter.TYPES.INTEGER, |
||||||
|
"Identificatore dell'istanza")); |
||||||
|
p.addSubParameter(new Parameter(Parameters.TYPE, Parameter.TYPES.STRING, "Tipo dell'istanza")); |
||||||
|
p.addSubParameter(new Parameter(Parameters.VAT_ID, Parameter.TYPES.STRING, |
||||||
|
"Codice fiscale del titolare digitale")); |
||||||
|
OUTPUT_PARAMETERS.add(p); |
||||||
|
}; |
||||||
|
|
||||||
|
public ListApplications(String description, String... methods) { |
||||||
|
super(description, methods); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { |
||||||
|
|
||||||
|
if (verifyAccessToken(request, response)) { |
||||||
|
List<Application> applications = new ArrayList<>(); |
||||||
|
for (Territorio territorio : TerritorioLocalServiceUtil.findByComuneId(sportello.getComuneId(), |
||||||
|
QueryUtil.ALL_POS, QueryUtil.ALL_POS)) { |
||||||
|
for (IntPratica intPratica : IntPraticaLocalServiceUtil |
||||||
|
.findByTerritorioId(territorio.getTerritorioId())) { |
||||||
|
User user = UserLocalServiceUtil.getUser(intPratica.getUserId()); |
||||||
|
applications.add(new Application(intPratica.getIntPraticaId(), intPratica.getTipoProcedura(), user |
||||||
|
.getScreenName())); |
||||||
|
} |
||||||
|
} |
||||||
|
Map<String, Serializable> result = new HashMap<>(); |
||||||
|
result.put(Parameters.APPLICATIONS, (Serializable) applications); |
||||||
|
ServletResponseUtil.write(response, Response.get(Status.OK, result)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<Parameter> getInputParameters() { |
||||||
|
return EMPTY_PARAMETERS; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<Parameter> getOutputParameters() { |
||||||
|
return OUTPUT_PARAMETERS; |
||||||
|
} |
||||||
|
} |
Caricamento…
Reference in new issue