- corrette sottrazioni di variabile null
[CARELLI - STEUP]
- download descrizioni attivita in login
- salvataggio priorita e persona rif
This commit is contained in:
2024-05-14 12:02:08 +02:00
parent c6d88346d1
commit 3a99747e2a
9 changed files with 216 additions and 6 deletions

View File

@@ -7,6 +7,10 @@
<option name="HOST" value="localhost" />
<option name="PORT" value="8000" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8000" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,96 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240514115827 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(IntegryCustomer.Carelli))
createOrUpdateFunction("steup_getEntriesRilevazione", "CREATE FUNCTION [dbo].[steup_getEntriesRilevazione]()\n" +
" RETURNS TABLE AS return\n" +
"WITH steup_ispezioni AS (SELECT * FROM steup_getRilevazioni()),\n" +
"\n" +
" steup_activities AS (SELECT stb_activity.activity_id,\n" +
" stb_activity.activity_type_id,\n" +
" stb_activity.data_ins_act,\n" +
" ISNULL(stb_activity.effective_time, stb_activity.ora_ins_act) AS effective_time,\n" +
" stb_activity.cod_mart,\n" +
" mtb_aart.descrizione AS descr_art,\n" +
" stb_activity.activity_play_counter,\n" +
" stb_activity.note,\n" +
" stb_activity.cod_jfas,\n" +
" stb_activity.flag_tipologia,\n" +
" stb_activity.persona_rif,\n" +
" stb_activity.priorita,\n" +
" wtb_depo.cod_mdep,\n" +
" jtb_fasi.descrizione AS descr_fase,\n" +
" stb_activity.parent_activity_id,\n" +
" stb_activity.indice_gradimento,\n" +
" stb_activity.user_creator,\n" +
" jtb_fasi.max_allocazione,\n" +
" SUM(indice_gradimento)\n" +
" OVER ( PARTITION BY parent_activity_id,wtb_depo.cod_mdep,jtb_fasi.cod_jfas ) AS gradimento_reparto,\n" +
" steup_ispezioni.effective_time AS data_isp\n" +
" FROM winact.dbo.stb_activity\n" +
" INNER JOIN steup_ispezioni ON parent_activity_id = steup_ispezioni.activity_id\n" +
" LEFT OUTER JOIN winact.dbo.jtb_fasi ON stb_activity.cod_jfas = jtb_fasi.cod_jfas\n" +
" LEFT OUTER JOIN winact.dbo.mtb_aart ON stb_activity.cod_mart = mtb_aart.cod_mart\n" +
" LEFT OUTER JOIN winact.dbo.wtb_depo ON stb_activity.user_name = wtb_depo.user_name\n" +
" WHERE ISNULL(cod_jcom, '') <> 'MODEL'\n" +
" and stb_activity.cod_mart is null\n" +
" AND stb_activity.flag_tipologia = 'A')\n" +
" ,\n" +
"\n" +
"\n" +
"\n" +
"\n" +
" gradimento_reparto AS (SELECT DISTINCT parent_activity_id,\n" +
" cod_jfas,\n" +
" cod_mdep,\n" +
" data_isp,\n" +
" gradimento_reparto,\n" +
" LAG(gradimento_reparto, 1, 0)\n" +
" OVER (PARTITION BY cod_mdep,cod_jfas ORDER BY data_isp ) AS grad_1,\n" +
" LAG(gradimento_reparto, 2, 0)\n" +
" OVER (PARTITION BY cod_mdep,cod_jfas ORDER BY data_isp ) AS grad_2\n" +
"\n" +
" FROM (SELECT DISTINCT parent_activity_id, cod_mdep, cod_jfas, gradimento_reparto, data_isp\n" +
" FROM steup_activities) acti)\n" +
"\n" +
"\n" +
"SELECT steup_activities.*,\n" +
" CASE\n" +
" WHEN gradimento_reparto.grad_1 > max_allocazione AND gradimento_reparto.grad_2 > max_allocazione THEN 1\n" +
" ELSE 0 END AS recidiva,\n" +
" ((SELECT COUNT(*)\n" +
" FROM stb_activity art\n" +
" WHERE steup_activities.activity_id = art.parent_activity_id) + (SELECT COUNT(*)\n" +
" FROM mtb_colt\n" +
" INNER JOIN mtb_colr\n" +
" ON mtb_colt.gestione =\n" +
" mtb_colr.gestione AND\n" +
" mtb_colt.data_collo =\n" +
" mtb_colr.data_collo AND\n" +
" mtb_colt.ser_collo =\n" +
" mtb_colr.ser_collo AND\n" +
" mtb_colt.num_collo =\n" +
" mtb_colr.num_collo\n" +
" WHERE mtb_colt.activity_id = steup_activities.activity_id)) AS count_art\n" +
"FROM steup_activities\n" +
" left outer JOIN gradimento_reparto ON steup_activities.parent_activity_id = gradimento_reparto.parent_activity_id\n" +
" AND steup_activities.cod_mdep = gradimento_reparto.cod_mdep\n" +
" AND steup_activities.cod_jfas = gradimento_reparto.cod_jfas");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,24 @@
@requestMapping = auth
@authUrl = {{protocol}}{{url}}{{port}}/{{baseEndPoint}}/{{requestMapping}}
### Auth login
POST {{authUrl}}/login?profileDb={{profileDb}}
Content-Type: application/json
{
"username": "adminrossogargano",
"password": "integry",
"deviceId": "test"
}
> {%
client.global.set("JWTAccessToken", response.body.dto.accessToken)
%}
### Auth logout
PUT {{authUrl}}/logout?profileDb={{profileDb}}
Authorization: Bearer {{JWTAccessToken}}
Content-Type: application/json
{
"username": "adminrossogargano"
}

View File

@@ -0,0 +1,28 @@
package it.integry.ems.activity.dto;
import it.integry.ems_model.annotation.SqlField;
public class DescrizioneTipiAttivitaDTO {
@SqlField("activity_type_id")
private String activityTypeId;
@SqlField("activity_type_description")
private String activityTypeDescription;
public String getActivityTypeId() {
return activityTypeId;
}
public DescrizioneTipiAttivitaDTO setActivityTypeId(String activityTypeId) {
this.activityTypeId = activityTypeId;
return this;
}
public String getActivityTypeDescription() {
return activityTypeDescription;
}
public DescrizioneTipiAttivitaDTO setActivityTypeDescription(String activityTypeDescription) {
this.activityTypeDescription = activityTypeDescription;
return this;
}
}

View File

@@ -16,6 +16,8 @@ public class SteUPEntryDTO {
private String dataCreation;
private String codCmac;
private String personaRif;
private Integer priorita;
private List<HashMap<String, Object>> colli = new ArrayList<>();
@@ -101,4 +103,22 @@ public class SteUPEntryDTO {
this.colli = colli;
return this;
}
public String getPersonaRif() {
return personaRif;
}
public SteUPEntryDTO setPersonaRif(String personaRif) {
this.personaRif = personaRif;
return this;
}
public Integer getPriorita() {
return priorita;
}
public SteUPEntryDTO setPriorita(Integer priorita) {
this.priorita = priorita;
return this;
}
}

View File

@@ -3,6 +3,7 @@ package it.integry.ems.activity.service;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import it.integry.common.var.CommonConstants;
import it.integry.ems.activity.dto.DescrizioneTipiAttivitaDTO;
import it.integry.ems.activity.dto.ModellinoDTO;
import it.integry.ems.activity.dto.SteUPEntryDTO;
import it.integry.ems.activity.dto.SteUpScoreDTO;
@@ -47,6 +48,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static it.integry.ems.order.dto.UserGroupENUM.RILEVATORE;
import static it.integry.ems.order.dto.UserGroupENUM.TECNICO;
@@ -166,8 +168,10 @@ public class SteUPService {
}
toReturn.put("repo", repo);
sql = "SELECT LTRIM(RTRIM(stb_activity_type.activity_type_id)) AS activity_type_id " +
sql = "SELECT LTRIM(RTRIM(stb_activity_type.activity_type_id)) AS activity_type_id, activity_type_description " +
"FROM stb_activity_type INNER JOIN srl_activity_type_user ON stb_activity_type.activity_type_id = srl_activity_type_user.activity_type_id " +
"LEFT OUTER JOIN stb_activity_typer ON stb_activity_type.activity_type_id = stb_activity_typer.activity_type_id\n " +
" and stb_activity_type.flag_tipologia = stb_activity_typer.flag_tipologia " +
" INNER JOIN srl_user ON srl_activity_type_user.user_name = srl_user.user_name1 " +
" INNER JOIN wtb_users ON srl_user.user_name2 = wtb_users.user_name " +
"WHERE stb_activity_type.flag_tipologia = 'A' AND " +
@@ -175,10 +179,13 @@ public class SteUPService {
" stb_activity_type.cod_jfas = 'STEUP' AND " +
" wtb_users.user_name = " + UtilityDB.valueToString(userName) +
"ORDER BY 1";
List<Object> reas = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
if (reas == null || reas.size() == 0) {
List<DescrizioneTipiAttivitaDTO> listaReasConDescrizione = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(),sql,DescrizioneTipiAttivitaDTO.class);
if (listaReasConDescrizione == null || listaReasConDescrizione.isEmpty()) {
throw new Exception("La lista delle motivazioni è vuota");
}
toReturn.put("descrAttivita",listaReasConDescrizione);
List<String> reas = listaReasConDescrizione.stream().map(DescrizioneTipiAttivitaDTO::getActivityTypeId).distinct().collect(Collectors.toList());
toReturn.put("reas", reas);
@@ -534,6 +541,8 @@ public class SteUPService {
if (!UtilityString.isNullOrEmpty(codCmac)) {
activityItem.setCodCmac(codCmac);
}
activityItem.setPersonaRif(entry.getPersonaRif());
activityItem.setPriorita(entry.getPriorita());
activityItem.setEffectiveDate(dataCreation);
activityItem.setEffectiveTime(dataCreation);

View File

@@ -0,0 +1,6 @@
@requestMapping = steup
@url = {{protocol}}{{url}}{{port}}/{{baseEndPoint}}/{{requestMapping}}
### Service status
GET {{url}}/status?profileDb={{profileDb}}
Authorization: Bearer {{JWTAccessToken}}

View File

@@ -903,9 +903,9 @@ public class WMSGenericService {
orderClone.getCodJcom().equalsIgnoreCase(x.getCodJcom()))
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
if (!UtilityBigDecimal.greaterThan(qtaColPerCommessa, orderClone.getQtaOrd().subtract(orderDto.getQtaArrivo()))) {
orderClone.setQtaOrd(orderClone.getQtaOrd().subtract(orderDto.getQtaArrivo()));
BigDecimal qtaInArrivo = UtilityBigDecimal.isNull(orderDto.getQtaArrivo(), BigDecimal.ZERO);
if (!UtilityBigDecimal.greaterThan(qtaColPerCommessa, orderClone.getQtaOrd().subtract(qtaInArrivo))) {
orderClone.setQtaOrd(orderClone.getQtaOrd().subtract(qtaInArrivo));
}
pickingListToReturn.add(new PickingObjectDTO()

23
http_client/env/http-client.env.json vendored Normal file
View File

@@ -0,0 +1,23 @@
{
"local": {
"protocol": "http://",
"url": "localhost",
"port": ":8080",
"baseEndPoint": "ems-api",
"profileDb": "ROSSOGARGANO"
},
"prod": {
"protocol": "https://",
"url": "services.studioml.it",
"port": "",
"baseEndPoint": "ems-api",
"profileDb": "ROSSOGARGANO"
},
"dev": {
"protocol": "https://",
"url": "devservices.studioml.it",
"port": "",
"baseEndPoint": "ems-api",
"profileDb": "ROSSOGARGANO"
}
}