Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2024-04-09 10:38:17 +02:00
8 changed files with 184 additions and 9 deletions

View File

@@ -1312,11 +1312,11 @@ public class ActivityService {
public List<String> getCommessaFromUsername(String username) throws Exception {
String sql = "SELECT DISTINCT jc.cod_jcom\n" +
"FROM stb_user\n" +
" INNER JOIN stb_user ON wtb_clie.user_name = IsNull(stb_user.user_name_rif, stb_user.user_name)\n" +
" INNER JOIN wtb_clie ON wtb_clie.user_name = IsNull(stb_user.user_name_rif, stb_user.user_name)\n" +
" INNER JOIN gtb_anag ON wtb_clie.cod_anag = gtb_anag.cod_anag\n" +
" INNER JOIN wtb_clie wc ON wtb_clie.user_name = wc.user_name\n" +
" INNER JOIN jtb_comt jc ON wc.cod_anag = jc.cod_anag\n" +
"WHERE wtb_clie.user_name = " + UtilityDB.valueToString(username) + "\n" +
"WHERE stb_user.user_name = " + UtilityDB.valueToString(username) + "\n" +
" AND stato_commessa IN ('IN CORSO', 'TRATTATIVA') ";
return UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);

View File

@@ -8,7 +8,7 @@ import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.MailService;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.system.service.UserService;
import it.integry.ems.system.user.service.UserService;
import it.integry.ems.utility.UtilityEntity;
import it.integry.ems_model.entity.JtbGiustifica;
import it.integry.ems_model.entity.JtbRLavt;

View File

@@ -9,7 +9,7 @@ import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.system.service.SystemService;
import it.integry.ems.system.service.UserService;
import it.integry.ems.system.user.service.UserService;
import it.integry.ems.user.dto.UserDTO;
import it.integry.ems.utility.service.UtilityService;
import it.integry.ems_model.entity.JtbRLavr;

View File

@@ -1,11 +1,11 @@
package it.integry.ems.system.controller;
package it.integry.ems.system.user.controller;
import it.integry.common.var.CommonConstants;
import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.response.StatusResponse;
import it.integry.ems.status.ServiceChecker;
import it.integry.ems.system.dto.ChangePasswordDTO;
import it.integry.ems.system.service.UserService;
import it.integry.ems.system.user.service.UserService;
import it.integry.ems_model.entity.StbUser;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -14,7 +14,6 @@ import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.List;

View File

@@ -0,0 +1,27 @@
package it.integry.ems.system.user.controller;
import it.integry.common.var.CommonConstants;
import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.system.user.dto.UserRegistrationDTO;
import it.integry.ems.system.user.service.UserRegistrationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
@Scope(value = "request")
@RequestMapping("user-registration")
public class UserRegistrationController {
@Autowired private UserRegistrationService userRegistrationService;
@RequestMapping(value = "save", method = RequestMethod.POST)
public ServiceRestResponse save(HttpServletRequest request,
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
@RequestBody UserRegistrationDTO userRegistrationDto) throws Exception {
return ServiceRestResponse.createPositiveResponse(userRegistrationService.save(userRegistrationDto));
}
}

View File

@@ -0,0 +1,78 @@
package it.integry.ems.system.user.dto;
public class UserRegistrationDTO {
private String name;
private String surname;
private String username;
private String email;
private String password;
private String codAzienda;
private int keyGroup;
public String getName() {
return name;
}
public UserRegistrationDTO setName(String name) {
this.name = name;
return this;
}
public String getSurname() {
return surname;
}
public UserRegistrationDTO setSurname(String surname) {
this.surname = surname;
return this;
}
public String getUsername() {
return username;
}
public UserRegistrationDTO setUsername(String username) {
this.username = username;
return this;
}
public String getEmail() {
return email;
}
public UserRegistrationDTO setEmail(String email) {
this.email = email;
return this;
}
public String getPassword() {
return password;
}
public UserRegistrationDTO setPassword(String password) {
this.password = password;
return this;
}
public String getCodAzienda() {
return codAzienda;
}
public UserRegistrationDTO setCodAzienda(String codAzienda) {
this.codAzienda = codAzienda;
return this;
}
public String getFullName() {
return name + " " + surname;
}
public int getKeyGroup() {
return keyGroup;
}
public UserRegistrationDTO setKeyGroup(int keyGroup) {
this.keyGroup = keyGroup;
return this;
}
}

View File

@@ -0,0 +1,72 @@
package it.integry.ems.system.user.service;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.system.user.dto.UserRegistrationDTO;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.StbUser;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
@Service
@Scope("request")
public class UserRegistrationService {
@Autowired
private EntityProcessor entityProcessor;
@Autowired
private MultiDBTransactionManager multiDBTransactionManager;
public StbUser save(UserRegistrationDTO userRegistrationDTO) throws Exception {
if (validateUsername(userRegistrationDTO.getUsername())) {
throw new Exception("Username già registrato");
}
if (validateEmail(userRegistrationDTO.getEmail())) {
throw new Exception("Indirizzo email già registrato");
}
StbUser stbUser = new StbUser()
.setUserName(userRegistrationDTO.getUsername())
.setFullName(userRegistrationDTO.getFullName())
.setPassword(userRegistrationDTO.getPassword())
.seteMail(userRegistrationDTO.getEmail())
.setUserNameRif(userRegistrationDTO.getCodAzienda())
.setPasswordEndtime(EmsRestConstants.DATE_NULL)
.setKeyGroup(userRegistrationDTO.getKeyGroup())
.setFlagExtraUser("S")
.setCryptPassword(true);
stbUser.setOperation(OperationType.INSERT);
entityProcessor.processEntity(stbUser, multiDBTransactionManager);
return stbUser;
}
public boolean validateUsername(String username) throws Exception {
String sql = Query.format(
"SELECT CAST(COUNT(*) AS BIT)\n" +
"FROM stb_user\n" +
"WHERE user_name = %s",
username
);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
}
public boolean validateEmail(String email) throws Exception {
String sql = Query.format(
"SELECT CAST(COUNT(*) AS BIT)\n" +
"FROM stb_user\n" +
"WHERE e_mail = %s",
email
);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
}
}

View File

@@ -1,5 +1,4 @@
package it.integry.ems.system.service;
package it.integry.ems.system.user.service;
import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
import it.integry.ems.javabeans.RequestDataDTO;