Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package it.integry.ems.retail.wms.generic.dto;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class ArtsInGiacenzaDTO {
|
||||
@@ -11,7 +12,9 @@ public class ArtsInGiacenzaDTO {
|
||||
private String posizione;
|
||||
private BigDecimal numCnf;
|
||||
private Integer numOrd;
|
||||
private Date dataOrd;
|
||||
private Integer count;
|
||||
private StatoArtInventarioDTO statoArtInventario;
|
||||
private List<MvwSitArtUdcDetInventarioDTO> MvwSitArtUdcDetInventarioDTO;
|
||||
|
||||
public String getCodMart() {
|
||||
@@ -85,4 +88,22 @@ public class ArtsInGiacenzaDTO {
|
||||
this.numOrd = numOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO getStatoArtInventario() {
|
||||
return statoArtInventario;
|
||||
}
|
||||
|
||||
public ArtsInGiacenzaDTO setStatoArtInventario(StatoArtInventarioDTO statoArtInventario) {
|
||||
this.statoArtInventario = statoArtInventario;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public ArtsInGiacenzaDTO setDataOrd(Date dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,6 +101,9 @@ public class MvwSitArtUdcDetInventarioDTO {
|
||||
@SqlField("num_ord")
|
||||
private Integer numOrd;
|
||||
|
||||
@SqlField("data_ord")
|
||||
private Date dataOrd;
|
||||
|
||||
public BigDecimal getQtaOrd() {
|
||||
return qtaOrd;
|
||||
}
|
||||
@@ -379,4 +382,13 @@ public class MvwSitArtUdcDetInventarioDTO {
|
||||
this.numOrd = numOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public MvwSitArtUdcDetInventarioDTO setDataOrd(Date dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
package it.integry.ems.retail.wms.generic.dto;
|
||||
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class StatoArtInventarioDTO {
|
||||
|
||||
@SqlField("cod_prod")
|
||||
private String codProd;
|
||||
@SqlField("num_ord")
|
||||
private Integer numOrd;
|
||||
@SqlField("data_ord")
|
||||
private Date dataOrd;
|
||||
@SqlField("unt_mis")
|
||||
private String untMis;
|
||||
@SqlField("qta_prod")
|
||||
private BigDecimal qtaProd;
|
||||
@SqlField("colli_prod")
|
||||
private BigDecimal colliProd;
|
||||
@SqlField("ped_prod")
|
||||
private BigDecimal pedProd;
|
||||
@SqlField("qta_in_arrivo")
|
||||
private BigDecimal qtaInArrivo;
|
||||
@SqlField("colli_arrivo")
|
||||
private BigDecimal colliArrivo;
|
||||
@SqlField("ped_arrivo")
|
||||
private BigDecimal pedArrivo;
|
||||
@SqlField("qta_linea")
|
||||
private BigDecimal qtaLinea;
|
||||
@SqlField("colli_linea")
|
||||
private BigDecimal colliLinea;
|
||||
@SqlField("ped_linea")
|
||||
private Integer pedLinea;
|
||||
@SqlField("qta_mag")
|
||||
private BigDecimal qtaMag;
|
||||
@SqlField("colli_mag")
|
||||
private BigDecimal colliMag;
|
||||
@SqlField("ped_mag")
|
||||
private Integer pedMag;
|
||||
|
||||
public String getCodProd() {
|
||||
return codProd;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setCodProd(String codProd) {
|
||||
this.codProd = codProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumOrd() {
|
||||
return numOrd;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setNumOrd(Integer numOrd) {
|
||||
this.numOrd = numOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntMis() {
|
||||
return untMis;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setUntMis(String untMis) {
|
||||
this.untMis = untMis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaProd() {
|
||||
return qtaProd;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setQtaProd(BigDecimal qtaProd) {
|
||||
this.qtaProd = qtaProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getColliProd() {
|
||||
return colliProd;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setColliProd(BigDecimal colliProd) {
|
||||
this.colliProd = colliProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPedProd() {
|
||||
return pedProd;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setPedProd(BigDecimal pedProd) {
|
||||
this.pedProd = pedProd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaInArrivo() {
|
||||
return qtaInArrivo;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setQtaInArrivo(BigDecimal qtaInArrivo) {
|
||||
this.qtaInArrivo = qtaInArrivo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getColliArrivo() {
|
||||
return colliArrivo;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setColliArrivo(BigDecimal colliArrivo) {
|
||||
this.colliArrivo = colliArrivo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPedArrivo() {
|
||||
return pedArrivo;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setPedArrivo(BigDecimal pedArrivo) {
|
||||
this.pedArrivo = pedArrivo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaLinea() {
|
||||
return qtaLinea;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setQtaLinea(BigDecimal qtaLinea) {
|
||||
this.qtaLinea = qtaLinea;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getColliLinea() {
|
||||
return colliLinea;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setColliLinea(BigDecimal colliLinea) {
|
||||
this.colliLinea = colliLinea;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getPedLinea() {
|
||||
return pedLinea;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setPedLinea(Integer pedLinea) {
|
||||
this.pedLinea = pedLinea;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaMag() {
|
||||
return qtaMag;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setQtaMag(BigDecimal qtaMag) {
|
||||
this.qtaMag = qtaMag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getColliMag() {
|
||||
return colliMag;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setColliMag(BigDecimal colliMag) {
|
||||
this.colliMag = colliMag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getPedMag() {
|
||||
return pedMag;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setPedMag(Integer pedMag) {
|
||||
this.pedMag = pedMag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public StatoArtInventarioDTO setDataOrd(Date dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,13 @@
|
||||
package it.integry.ems.retail.wms.generic.service;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.retail.wms.generic.dto.ArtsInGiacenzaDTO;
|
||||
import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO;
|
||||
import it.integry.ems.retail.wms.generic.dto.RetrieveArtsInGiacenzaByArtRequestDTO;
|
||||
import it.integry.ems.retail.wms.generic.dto.StatoArtInventarioDTO;
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
import it.integry.ems_model.exception.DataConverterNotFoundException;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityQuery;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
@@ -12,6 +15,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -46,6 +50,7 @@ public class WMSGiacenzaULService {
|
||||
" sit_art.cod_jfas,\n" +
|
||||
" sit_art.cod_jfas,\n" +
|
||||
(withTestataCollo ? "mtb_colt.num_ord,\n" : "") +
|
||||
(withTestataCollo ? "mtb_colt.data_ord,\n" : "") +
|
||||
" mtb_partita_mag.data_scad\n" +
|
||||
" FROM mvw_sitart_udc_det_inventario sit_art\n" +
|
||||
" LEFT OUTER JOIN mtb_partita_mag ON sit_art.cod_mart = mtb_partita_mag.cod_mart AND\n" +
|
||||
@@ -84,14 +89,122 @@ public class WMSGiacenzaULService {
|
||||
.map(MvwSitArtUdcDetInventarioDTO::getNumCnf)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
|
||||
String codMart = dtoList.get(0).getCodMart();
|
||||
String partitaMag = dtoList.get(0).getPartitaMag();
|
||||
String posizione = dtoList.get(0).getPosizione();
|
||||
String descrizioneEstesa = dtoList.get(0).getDescrizioneEstesa();
|
||||
Integer numOrd = dtoList.get(0).getNumOrd();
|
||||
Date dataOrd = dtoList.get(0).getDataOrd();
|
||||
|
||||
String query = "DECLARE @codjfas VARCHAR(5) = " + UtilityDB.valueToString(posizione) + ";\n" +
|
||||
"WITH mtb_colr_sum AS (SELECT mtb_colt.posizione,\n" +
|
||||
" mtb_colt.gestione,\n" +
|
||||
" mtb_colt.data_collo,\n" +
|
||||
" mtb_colt.ser_collo,\n" +
|
||||
" mtb_colt.num_collo,\n" +
|
||||
" mtb_colr.cod_mart,\n" +
|
||||
" mtb_colr.data_ord,\n" +
|
||||
" mtb_colr.num_ord,\n" +
|
||||
" SUM(mtb_colr.qta_col) AS qta_col,\n" +
|
||||
" SUM(mtb_colr.num_cnf) AS num_cnf\n" +
|
||||
" FROM mtb_colr\n" +
|
||||
" INNER JOIN mtb_colt ON mtb_colt.gestione = mtb_colr.gestione\n" +
|
||||
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
|
||||
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
|
||||
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
|
||||
" WHERE mtb_colr.gestione_rif IS NULL\n" +
|
||||
" AND mtb_colr.data_collo_rif IS NULL\n" +
|
||||
" AND mtb_colr.ser_collo_rif IS NULL\n" +
|
||||
" AND mtb_colr.num_collo_rif IS NULL\n" +
|
||||
" AND EXISTS(SELECT *\n" +
|
||||
" FROM mtb_colt\n" +
|
||||
" WHERE mtb_colr.gestione = mtb_colt.gestione\n" +
|
||||
" AND mtb_colr.data_collo = mtb_colt.data_collo\n" +
|
||||
" AND mtb_colr.ser_collo = mtb_colt.ser_collo\n" +
|
||||
" AND mtb_colr.num_collo = mtb_colt.num_collo\n" +
|
||||
" AND mtb_colt.segno = 1)\n" +
|
||||
" AND mtb_colt.num_ord = " + UtilityDB.valueToString(numOrd) + "\n" +
|
||||
" AND mtb_colt.gestione = " + UtilityDB.valueToString(dtoList.get(0).getGestione()) + "\n" +
|
||||
" AND mtb_colt.data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + "\n" +
|
||||
" AND mtb_colr.cod_mart = " + UtilityDB.valueToString(codMart) + "\n" +
|
||||
" GROUP BY mtb_colt.posizione,\n" +
|
||||
" mtb_colt.gestione,\n" +
|
||||
" mtb_colt.gestione,\n" +
|
||||
" mtb_colt.data_collo,\n" +
|
||||
" mtb_colt.ser_collo,\n" +
|
||||
" mtb_colt.num_collo,\n" +
|
||||
" mtb_colr.cod_mart,\n" +
|
||||
" mtb_colr.data_ord,\n" +
|
||||
" mtb_colr.num_ord)\n" +
|
||||
"\n" +
|
||||
"SELECT dtb_ordt.cod_prod,\n" +
|
||||
" dtb_ordt.num_ord,\n" +
|
||||
" dtb_ordt.data_ord,\n" +
|
||||
" mtb_aart.unt_mis,\n" +
|
||||
" ((dtb_ordt.qta_prod) * dtb_ordt.rap_conv_prod) qta_prod,\n" +
|
||||
" dtb_ordr.num_cnf AS colli_prod,\n" +
|
||||
" ROUND((dtb_ordr.num_cnf) / ISNULL(dtb_ordr.colli_pedana, mtb_aart.colli_pedana),\n" +
|
||||
" 0) AS ped_prod,\n" +
|
||||
" ((dtb_ordt.qta_prod) * dtb_ordt.rap_conv_prod) -\n" +
|
||||
" SUM(mtb_colr_sum.qta_col) AS qta_in_arrivo,\n" +
|
||||
" (dtb_ordr.num_cnf) -\n" +
|
||||
" SUM(mtb_colr_sum.num_cnf) AS colli_arrivo,\n" +
|
||||
" ROUND(((dtb_ordr.num_cnf) / ISNULL(dtb_ordr.colli_pedana, mtb_aart.colli_pedana)), 0) -\n" +
|
||||
" SUM(CASE WHEN mtb_colr_sum.posizione = @codjfas THEN 1 ELSE 0 END) AS ped_arrivo,\n" +
|
||||
" SUM(CASE\n" +
|
||||
" WHEN mtb_colr_sum.posizione = @codjfas THEN mtb_colr_sum.qta_col\n" +
|
||||
" ELSE 0 END) AS qta_linea,\n" +
|
||||
" SUM(CASE\n" +
|
||||
" WHEN mtb_colr_sum.posizione = @codjfas THEN mtb_colr_sum.num_cnf\n" +
|
||||
" ELSE 0 END) AS colli_linea,\n" +
|
||||
" SUM(CASE WHEN mtb_colr_sum.posizione = @codjfas THEN 1 ELSE 0 END) AS ped_linea,\n" +
|
||||
" SUM(CASE\n" +
|
||||
" WHEN mtb_colr_sum.posizione = @codjfas THEN 0\n" +
|
||||
" ELSE mtb_colr_sum.qta_col END) AS qta_mag,\n" +
|
||||
" SUM(CASE\n" +
|
||||
" WHEN mtb_colr_sum.posizione = @codjfas THEN 0\n" +
|
||||
" ELSE mtb_colr_sum.num_cnf END) AS colli_mag,\n" +
|
||||
" SUM(CASE WHEN mtb_colr_sum.posizione = @codjfas THEN 0 ELSE 1 END) AS ped_mag\n" +
|
||||
"FROM dtb_ordt\n" +
|
||||
" INNER JOIN dtb_ordr ON dtb_ordt.gestione_rif = dtb_ordr.gestione AND\n" +
|
||||
" dtb_ordt.data_ord_rif = dtb_ordr.data_ord AND\n" +
|
||||
" dtb_ordt.num_ord_rif = dtb_ordr.num_ord AND\n" +
|
||||
" dtb_ordt.riga_ord_rif = dtb_ordr.riga_ord\n" +
|
||||
" LEFT OUTER JOIN mtb_colr_sum ON dtb_ordt.gestione = mtb_colr_sum.gestione\n" +
|
||||
" AND dtb_ordt.data_ord = mtb_colr_sum.data_ord\n" +
|
||||
" AND dtb_ordt.num_ord = mtb_colr_sum.num_ord\n" +
|
||||
" AND dtb_ordt.cod_prod = mtb_colr_sum.cod_mart\n" +
|
||||
" INNER JOIN mtb_aart ON dtb_ordt.cod_prod = mtb_aart.cod_mart\n" +
|
||||
"WHERE dtb_ordt.num_ord = " + UtilityDB.valueToString(numOrd) + "\n" +
|
||||
" AND dtb_ordt.gestione = " + UtilityDB.valueToString(dtoList.get(0).getGestione()) + "\n" +
|
||||
" AND dtb_ordt.data_ord = " + UtilityDB.valueDateToString(dataOrd, CommonConstants.DATE_FORMAT_YMD) + "\n" +
|
||||
" AND dtb_ordt.cod_prod = " + UtilityDB.valueToString(codMart) + "\n" +
|
||||
"GROUP BY dtb_ordt.cod_prod,\n" +
|
||||
" dtb_ordt.num_ord,\n" +
|
||||
" dtb_ordt.data_ord,\n" +
|
||||
" mtb_aart.unt_mis,\n" +
|
||||
" dtb_ordt.qta_prod, mtb_aart.qta_cnf,\n" +
|
||||
" dtb_ordt.rap_conv_prod,\n" +
|
||||
" mtb_aart.colli_pedana, dtb_ordr.num_cnf, dtb_ordr.colli_pedana";
|
||||
|
||||
StatoArtInventarioDTO statoArtInventarioDTO;
|
||||
|
||||
try {
|
||||
statoArtInventarioDTO = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, query, StatoArtInventarioDTO.class);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
return new ArtsInGiacenzaDTO()
|
||||
.setCodMart(dtoList.get(0).getCodMart())
|
||||
.setPartitaMag(dtoList.get(0).getPartitaMag())
|
||||
.setPosizione(dtoList.get(0).getPosizione())
|
||||
.setDescrizione(dtoList.get(0).getDescrizioneEstesa())
|
||||
.setNumOrd(dtoList.get(0).getNumOrd())
|
||||
.setCodMart(codMart)
|
||||
.setPartitaMag(partitaMag)
|
||||
.setPosizione(posizione)
|
||||
.setDescrizione(descrizioneEstesa)
|
||||
.setNumOrd(numOrd)
|
||||
.setDataOrd(dataOrd)
|
||||
.setNumCnf(totalNumCnf)
|
||||
.setCount(dtoList.size())
|
||||
.setStatoArtInventario(statoArtInventarioDTO)
|
||||
.setMvwSitArtUdcDetInventarioDTO(dtoList);
|
||||
})
|
||||
.toList();
|
||||
|
||||
Reference in New Issue
Block a user