modifiche per doc finance
This commit is contained in:
@@ -4,19 +4,17 @@ import com.annimon.stream.Stream;
|
|||||||
import it.integry.common.var.CommonConstants;
|
import it.integry.common.var.CommonConstants;
|
||||||
import it.integry.ems.Import.dto.AnomalieDTO;
|
import it.integry.ems.Import.dto.AnomalieDTO;
|
||||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||||
import it.integry.ems.product.export.services.ProdottiLaranciaService;
|
|
||||||
import it.integry.ems.service.EntityProcessor;
|
import it.integry.ems.service.EntityProcessor;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems.utility.UtilityDirs;
|
import it.integry.ems.utility.UtilityDirs;
|
||||||
|
import it.integry.ems.utility.UtilityEntity;
|
||||||
import it.integry.ems.utility.UtilityFile;
|
import it.integry.ems.utility.UtilityFile;
|
||||||
import it.integry.ems_model.base.EntityBase;
|
import it.integry.ems_model.base.EntityBase;
|
||||||
import it.integry.ems_model.entity.CtbPart;
|
import it.integry.ems_model.entity.CtbPart;
|
||||||
import it.integry.ems_model.entity.CtbScad;
|
import it.integry.ems_model.entity.CtbScad;
|
||||||
import it.integry.ems_model.service.SetupGest;
|
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.*;
|
import it.integry.ems_model.utility.*;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.codehaus.stax2.ri.typed.StringBase64Decoder;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -24,6 +22,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -36,10 +35,6 @@ public class ScadenzeImportService {
|
|||||||
private EntityProcessor entityProcessor;
|
private EntityProcessor entityProcessor;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MultiDBTransactionManager multiDBTransactionManager;
|
private MultiDBTransactionManager multiDBTransactionManager;
|
||||||
@Autowired
|
|
||||||
private SetupGest setupGest;
|
|
||||||
@Autowired
|
|
||||||
private ProdottiLaranciaService prodottiLaranciaService;
|
|
||||||
|
|
||||||
public List<EntityBase> importDocFinance(String type, String format, ImportRequestDTO requestDTO, List<AnomalieDTO> listAnomalie) throws Exception {
|
public List<EntityBase> importDocFinance(String type, String format, ImportRequestDTO requestDTO, List<AnomalieDTO> listAnomalie) throws Exception {
|
||||||
List<EntityBase> entityList;
|
List<EntityBase> entityList;
|
||||||
@@ -52,6 +47,15 @@ public class ScadenzeImportService {
|
|||||||
List<String> datiFile = new ArrayList<>();
|
List<String> datiFile = new ArrayList<>();
|
||||||
List<String> lines = UtilityString.splitStringToMultipleLine(requestDTO.getRawContent());
|
List<String> lines = UtilityString.splitStringToMultipleLine(requestDTO.getRawContent());
|
||||||
if (!lines.isEmpty()) {
|
if (!lines.isEmpty()) {
|
||||||
|
//Cancellazione scadenze con intercode
|
||||||
|
String sql =
|
||||||
|
"DELETE FROM ctb_scad WHERE intercode is not null";
|
||||||
|
|
||||||
|
PreparedStatement stmt = conn.prepareStatement(sql);
|
||||||
|
stmt.executeUpdate();
|
||||||
|
conn.commit();
|
||||||
|
stmt.close();
|
||||||
|
|
||||||
for (String line : lines) {
|
for (String line : lines) {
|
||||||
String codPaga = line.substring(0, 2).trim();
|
String codPaga = line.substring(0, 2).trim();
|
||||||
|
|
||||||
@@ -73,8 +77,7 @@ public class ScadenzeImportService {
|
|||||||
String diacod = line.substring(92, 108).trim();
|
String diacod = line.substring(92, 108).trim();
|
||||||
Integer numDoc = UtilityString.isIntNumber(line.substring(185, 197).trim()) ? UtilityInteger.stringToInteger(line.substring(185, 197).trim()) : null;
|
Integer numDoc = UtilityString.isIntNumber(line.substring(185, 197).trim()) ? UtilityInteger.stringToInteger(line.substring(185, 197).trim()) : null;
|
||||||
String intercode = line.substring(197, 223);
|
String intercode = line.substring(197, 223);
|
||||||
|
sql = Query.format(
|
||||||
String sql = Query.format(
|
|
||||||
"SELECT CAST(COUNT(*) AS BIT) AS exist FROM gtb_paga WHERE cod_paga = %s",
|
"SELECT CAST(COUNT(*) AS BIT) AS exist FROM gtb_paga WHERE cod_paga = %s",
|
||||||
codPaga
|
codPaga
|
||||||
);
|
);
|
||||||
@@ -99,18 +102,18 @@ public class ScadenzeImportService {
|
|||||||
)
|
)
|
||||||
.findFirstOrElse(null);
|
.findFirstOrElse(null);
|
||||||
|
|
||||||
if(ctbPart != null) {
|
if (ctbPart != null) {
|
||||||
ctbParts.remove(ctbPart);
|
ctbParts.remove(ctbPart);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctbPart == null && ( numFromIntercode != null || !UtilityString.isNullOrEmpty(intercodeSubstring))) {
|
if (ctbPart == null && (numFromIntercode != null || !UtilityString.isNullOrEmpty(intercodeSubstring))) {
|
||||||
sql = Query.format(
|
sql = Query.format(
|
||||||
"SELECT *\n" +
|
"SELECT *\n" +
|
||||||
"FROM ctb_part\n" +
|
"FROM ctb_part\n" +
|
||||||
"WHERE cod_anag = %s\n" +
|
"WHERE cod_anag = %s\n" +
|
||||||
" AND anno_part = %s\n" +
|
" AND anno_part = %s\n" +
|
||||||
" AND ( num_doc = %s OR num_doc_forn = %s) \n" +
|
" AND ( num_doc = %s OR num_doc_forn = %s) \n" +
|
||||||
" AND ((tipo_partita = %s\n"+
|
" AND ((tipo_partita = %s\n" +
|
||||||
" AND dare_part - avere_part <> 0) OR (tipo_partita <> %s AND dare_part - avere_part = %s))"
|
" AND dare_part - avere_part <> 0) OR (tipo_partita <> %s AND dare_part - avere_part = %s))"
|
||||||
, codAnag, anno, numFromIntercode, intercodeSubstring,
|
, codAnag, anno, numFromIntercode, intercodeSubstring,
|
||||||
tipoPartita, tipoPartita, segno + importo
|
tipoPartita, tipoPartita, segno + importo
|
||||||
@@ -159,25 +162,70 @@ public class ScadenzeImportService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ctbPart == null) {
|
if (ctbPart == null) {
|
||||||
datiFile.add(codAnag + ";" + diacod + ";" + intercode + ";" + segno + importo);
|
sql =
|
||||||
listAnomalie.add(
|
Query.format(
|
||||||
AnomalieDTO.warning(
|
"SELECT CAST(COUNT(*) AS BIT) AS as_acconto\n" +
|
||||||
String.format(
|
"FROM ctb_movr\n" +
|
||||||
"Scadenza non trovata.\nCodAnag: %s (%s)\nIntercode scadenza: %s\nImporto: %s",
|
" INNER JOIN ctb_movr_intercode\n" +
|
||||||
codAnag, diacod, intercode.trim(), segno + importo
|
" ON ctb_movr.num_cmov = ctb_movr_intercode.num_cmov AND ctb_movr.id_riga = ctb_movr_intercode.id_riga\n" +
|
||||||
)
|
"WHERE ctb_movr.cod_anag = %s\n" +
|
||||||
)
|
" AND ctb_movr_intercode.intercode = %s",
|
||||||
);
|
codAnag, intercode.substring(0, 8));
|
||||||
|
|
||||||
|
boolean isAcconto = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||||
|
|
||||||
|
if ( !isAcconto ) {
|
||||||
|
datiFile.add(codAnag + ";" + diacod + ";" + intercode + ";" + segno + importo);
|
||||||
|
listAnomalie.add(
|
||||||
|
AnomalieDTO.warning(
|
||||||
|
String.format(
|
||||||
|
"Scadenza non trovata.\nCodAnag: %s (%s)\nIntercode scadenza: %s\nImporto: %s",
|
||||||
|
codAnag, diacod, intercode.trim(), segno + importo
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
CtbScad ctbScad = new CtbScad();
|
sql = Query.format(
|
||||||
ctbScad.setDataScad(dataScad)
|
"SELECT ctb_scad.*\n" +
|
||||||
|
"FROM ctb_parr\n" +
|
||||||
|
" INNER JOIN crl_movt_rif_cmov ON ctb_parr.num_cmov = crl_movt_rif_cmov.num_cmov\n" +
|
||||||
|
" INNER JOIN dbo.ctb_scad\n" +
|
||||||
|
" ON ctb_parr.tipo_anag = ctb_scad.tipo_anag AND ctb_parr.cod_anag = ctb_scad.cod_anag AND\n" +
|
||||||
|
" ctb_parr.anno_part = ctb_scad.anno_part AND ctb_parr.ser_doc = ctb_scad.ser_doc AND\n" +
|
||||||
|
" ctb_parr.num_doc = ctb_scad.num_doc\n" +
|
||||||
|
"WHERE ctb_parr.tipo_anag = %s\n" +
|
||||||
|
" AND ctb_parr.cod_anag = %s\n" +
|
||||||
|
" AND ctb_parr.anno_part = %s\n" +
|
||||||
|
" AND ctb_parr.ser_doc = %s\n" +
|
||||||
|
" AND ctb_parr.num_doc = %s\n" +
|
||||||
|
" AND ctb_scad.data_pag is null \n" +
|
||||||
|
" AND (ctb_scad.imp_dare = %s OR ctb_scad.imp_avere = %s)",
|
||||||
|
ctbPart.getTipoAnag(),
|
||||||
|
ctbPart.getCodAnag(),
|
||||||
|
ctbPart.getAnnoPart(),
|
||||||
|
ctbPart.getSerDoc(),
|
||||||
|
ctbPart.getNumDoc(),
|
||||||
|
impDare,
|
||||||
|
impAvere);
|
||||||
|
|
||||||
|
CtbScad ctbScad = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, CtbScad.class);
|
||||||
|
|
||||||
|
if (ctbScad != null) {
|
||||||
|
ctbScad.setDataScad(dataScad)
|
||||||
|
.setIntercode(intercode)
|
||||||
|
.setOperation(OperationType.UPDATE);
|
||||||
|
} else {
|
||||||
|
ctbScad = new CtbScad();
|
||||||
|
ctbScad.setDataScad(dataScad)
|
||||||
.setImpAvere(impAvere)
|
.setImpAvere(impAvere)
|
||||||
.setImpDare(impDare)
|
.setImpDare(impDare)
|
||||||
.setCodPaga(codPaga)
|
.setCodPaga(codPaga)
|
||||||
.setIntercode(intercode)
|
.setIntercode(intercode)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
|
}
|
||||||
|
|
||||||
ctbPart.getCtbScad().add(ctbScad);
|
ctbPart.getCtbScad().add(ctbScad);
|
||||||
ctbPart.setOperation(OperationType.NO_OP);
|
ctbPart.setOperation(OperationType.NO_OP);
|
||||||
@@ -195,6 +243,8 @@ public class ScadenzeImportService {
|
|||||||
|
|
||||||
entityList = entityProcessor.processEntityList(ctbParts, false);
|
entityList = entityProcessor.processEntityList(ctbParts, false);
|
||||||
|
|
||||||
|
UtilityEntity.throwEntitiesException(entityList);
|
||||||
|
|
||||||
return entityList;
|
return entityList;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ public class ScadenzeExporterService {
|
|||||||
" ORDER BY ctb_parr.data_cmov, ctb_parr.num_cmov) ctb_parr\n" +
|
" ORDER BY ctb_parr.data_cmov, ctb_parr.num_cmov) ctb_parr\n" +
|
||||||
" OUTER APPLY (SELECT CASE WHEN (ctb_part.tipo_anag = 'F' AND gtb_tipi_paga.flag_banca_acq = 'A' ) OR (ctb_part.tipo_anag = 'C' AND gtb_tipi_paga.flag_banca_ven = 'A' ) THEN 1 ELSE 0 END as banca_azi ) c\n " +
|
" OUTER APPLY (SELECT CASE WHEN (ctb_part.tipo_anag = 'F' AND gtb_tipi_paga.flag_banca_acq = 'A' ) OR (ctb_part.tipo_anag = 'C' AND gtb_tipi_paga.flag_banca_ven = 'A' ) THEN 1 ELSE 0 END as banca_azi ) c\n " +
|
||||||
"WHERE ctb_scad.data_pag IS NULL\n" +
|
"WHERE ctb_scad.data_pag IS NULL\n" +
|
||||||
|
" AND gtb_anag.part_iva not in (SELECT part_iva FROM azienda)\n" +
|
||||||
"UNION ALL\n" +
|
"UNION ALL\n" +
|
||||||
"SELECT 'RD' AS 'tipo_pagamento',\n" +
|
"SELECT 'RD' AS 'tipo_pagamento',\n" +
|
||||||
" REPLACE(\n" +
|
" REPLACE(\n" +
|
||||||
@@ -142,9 +143,9 @@ public class ScadenzeExporterService {
|
|||||||
" '' AS 'sezione',\n" +
|
" '' AS 'sezione',\n" +
|
||||||
" '' AS 'cambio_della_gestione',\n" +
|
" '' AS 'cambio_della_gestione',\n" +
|
||||||
" ISNULL(ctb_movr_intercode.num_doc_orig, '') AS 'numero_doc_origine',\n" +
|
" ISNULL(ctb_movr_intercode.num_doc_orig, '') AS 'numero_doc_origine',\n" +
|
||||||
" IIF(ctb_movr_intercode.intercode IS NOT NULL, ctb_movr_intercode.intercode + FORMAT(\n" +
|
" IIF(ctb_movr_intercode.intercode IS NOT NULL, IIF(len(ctb_movr_intercode.intercode ) < 11,Space(11-Len(ctb_movr_intercode.intercode)),'') + ctb_movr_intercode.intercode + FORMAT(\n" +
|
||||||
" DENSE_RANK() OVER (PARTITION BY ctb_movr.cod_anag, ctb_movt.num_doc, ctb_movr_intercode.intercode ORDER BY ctb_movt.data_cmov), '000'),\n" +
|
" DENSE_RANK() OVER (PARTITION BY ctb_movr.cod_anag, ctb_movt.num_doc, ctb_movr_intercode.intercode ORDER BY ctb_movt.data_cmov), '000'),\n" +
|
||||||
" RIGHT(ctb_movr.num_cmov, LEN(ctb_movr.num_cmov) - 2) + FORMAT(ctb_movr.id_riga, '000') +\n" +
|
" ctb_movr.num_cmov + FORMAT(ctb_movr.id_riga, '000') +\n" +
|
||||||
" '001') AS chiave_coge,\n" +
|
" '001') AS chiave_coge,\n" +
|
||||||
" 'ROSSOGARGA' AS 'azienda',\n" +
|
" 'ROSSOGARGA' AS 'azienda',\n" +
|
||||||
" '' AS 'numero_cc',\n" +
|
" '' AS 'numero_cc',\n" +
|
||||||
@@ -162,7 +163,8 @@ public class ScadenzeExporterService {
|
|||||||
" INNER JOIN ctb_caus ON ctb_movt.cod_ccau = ctb_caus.cod_ccau AND ctb_caus.flag_ap_ch = 'N'\n" +
|
" INNER JOIN ctb_caus ON ctb_movt.cod_ccau = ctb_caus.cod_ccau AND ctb_caus.flag_ap_ch = 'N'\n" +
|
||||||
" LEFT OUTER JOIN ctb_movr_intercode ON ctb_movr.num_cmov = ctb_movr_intercode.num_cmov AND\n" +
|
" LEFT OUTER JOIN ctb_movr_intercode ON ctb_movr.num_cmov = ctb_movr_intercode.num_cmov AND\n" +
|
||||||
" ctb_movr.id_riga = ctb_movr_intercode.id_riga\n" +
|
" ctb_movr.id_riga = ctb_movr_intercode.id_riga\n" +
|
||||||
"WHERE anno_part IS NULL";
|
"WHERE anno_part IS NULL \n" +
|
||||||
|
" AND gtb_anag.part_iva not in (SELECT part_iva FROM azienda)\n";
|
||||||
List<ScadenzeDocFinanceDTO> scadenzeDocFinance = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ScadenzeDocFinanceDTO.class);
|
List<ScadenzeDocFinanceDTO> scadenzeDocFinance = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ScadenzeDocFinanceDTO.class);
|
||||||
|
|
||||||
TxtMapper<ScadenzeDocFinanceDTO> txtMapper = new TxtMapper<ScadenzeDocFinanceDTO>()
|
TxtMapper<ScadenzeDocFinanceDTO> txtMapper = new TxtMapper<ScadenzeDocFinanceDTO>()
|
||||||
|
|||||||
@@ -99,13 +99,13 @@ public class RossoGarganoSyncService {
|
|||||||
|
|
||||||
BigDecimal dataFine = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
BigDecimal dataFine = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||||
|
|
||||||
saveCtbMovt(rgExchange.getConnection(), "(PNOTA.PN_DATA_COMPETENZA = 20210701 AND PN_CAUSALE_MOVIMENTO = '998')", dataIniz, dataFine);
|
saveCtbMovt(rgExchange.getConnection(), "(PNOTA.PN_DATA_COMPETENZA = 20210701 AND PN_CAUSALE_MOVIMENTO = '998')", dataIniz, dataFine, false);
|
||||||
logger.info("Importazione apertura conti: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
logger.info("Importazione apertura conti: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||||
|
|
||||||
saveCtbMovt(rgExchange.getConnection(), "(PNOTA.PN_SEZIONALE_IVA <> '' AND PN_CAUSALE_MOVIMENTO <> '998')", dataIniz, dataFine);
|
saveCtbMovt(rgExchange.getConnection(), "(PNOTA.PN_SEZIONALE_IVA <> '' AND PN_CAUSALE_MOVIMENTO <> '998')", dataIniz, dataFine, false);
|
||||||
logger.info("Importazione fatture attive e passive: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
logger.info("Importazione fatture attive e passive: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||||
|
|
||||||
saveCtbMovt(rgExchange.getConnection(), "(PN_CAUSALE_MOVIMENTO <> '998')", dataIniz, dataFine);
|
saveCtbMovt(rgExchange.getConnection(), "(PN_CAUSALE_MOVIMENTO <> '998')", dataIniz, dataFine, true);
|
||||||
logger.info("Importazione altri movimenti contabili: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
logger.info("Importazione altri movimenti contabili: Timing " + ((new Date().getTime() - startDate.getTime()) / 1000) + " secs");
|
||||||
} catch (Exception e ){
|
} catch (Exception e ){
|
||||||
if (!UtilityDebug.isDebugExecution()) {
|
if (!UtilityDebug.isDebugExecution()) {
|
||||||
@@ -149,7 +149,7 @@ public class RossoGarganoSyncService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveCtbMovt(Connection sourceData, String whereCond, BigDecimal dataIniz, BigDecimal dataFine) throws Exception {
|
private void saveCtbMovt(Connection sourceData, String whereCond, BigDecimal dataIniz, BigDecimal dataFine, boolean chkPartita) throws Exception {
|
||||||
String sql =
|
String sql =
|
||||||
Query.format(
|
Query.format(
|
||||||
"SELECT DISTINCT PNOTA.PN_DATA_COMPETENZA\n" +
|
"SELECT DISTINCT PNOTA.PN_DATA_COMPETENZA\n" +
|
||||||
@@ -159,11 +159,20 @@ public class RossoGarganoSyncService {
|
|||||||
" LEFT OUTER JOIN " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.rg_crl_movt rg_crl_movt ON \n " +
|
" LEFT OUTER JOIN " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.rg_crl_movt rg_crl_movt ON \n " +
|
||||||
" rg_crl_movt.PN_DATA_COMPETENZA = PNOTA.PN_DATA_COMPETENZA AND\n " +
|
" rg_crl_movt.PN_DATA_COMPETENZA = PNOTA.PN_DATA_COMPETENZA AND\n " +
|
||||||
" rg_crl_movt.PN_NRO_REG = PNOTA.PN_NRO_REG \n " +
|
" rg_crl_movt.PN_NRO_REG = PNOTA.PN_NRO_REG \n " +
|
||||||
|
(chkPartita?
|
||||||
|
" OUTER APPLY (SELECT MAX(IIF(ctb_movr.anno_part IS NULL, 0, 1)) AS has_partita\n" +
|
||||||
|
" FROM rossogargano.dbo.ctb_movr\n" +
|
||||||
|
" WHERE ctb_movr.num_cmov = rg_crl_movt.num_cmov) m\n" +
|
||||||
|
" CROSS APPLY (SELECT MAX(CASE WHEN LEN(pnota2.pn_partita) > 2 THEN 1 ELSE 0 END) AS has_part\n" +
|
||||||
|
" FROM pnota pnota2\n" +
|
||||||
|
" WHERE pnota.pn_data_competenza = pnota2.pn_data_competenza\n" +
|
||||||
|
" AND pnota.pn_nro_reg = pnota2.pn_nro_reg) t \n":"") +
|
||||||
" WHERE PNOTA.PN_DATA_COMPETENZA between %s AND %s AND \n " +
|
" WHERE PNOTA.PN_DATA_COMPETENZA between %s AND %s AND \n " +
|
||||||
" PN_INDPROV <> 'S' AND \n " +
|
" PN_INDPROV <> 'S' AND \n " +
|
||||||
" (rg_crl_movt.data_ins is null OR pnota.PN_DATA_MODIFICA >= CAST(FORMAT(DATEPART(YEAR, rg_crl_movt.data_ins), '0000') +\n" +
|
" (rg_crl_movt.data_ins is null OR pnota.PN_DATA_MODIFICA >= CAST(FORMAT(DATEPART(YEAR, rg_crl_movt.data_ins), '0000') +\n" +
|
||||||
" FORMAT(DATEPART(MONTH, rg_crl_movt.data_ins), '00') +\n" +
|
" FORMAT(DATEPART(MONTH, rg_crl_movt.data_ins), '00') +\n" +
|
||||||
" FORMAT(DATEPART(DAY, rg_crl_movt.data_ins), '00') AS NUMERIC) ) \n "
|
" FORMAT(DATEPART(DAY, rg_crl_movt.data_ins), '00') AS NUMERIC) " +
|
||||||
|
(chkPartita?"OR t.has_part <> ISNULL(m.has_partita, 0)":"") + ") \n "
|
||||||
+ (UtilityString.isNullOrEmpty(whereCond) ? "" : " AND " + whereCond) +
|
+ (UtilityString.isNullOrEmpty(whereCond) ? "" : " AND " + whereCond) +
|
||||||
"ORDER BY PNOTA.PN_DATA_COMPETENZA, PNOTA.PN_NRO_REG",
|
"ORDER BY PNOTA.PN_DATA_COMPETENZA, PNOTA.PN_NRO_REG",
|
||||||
dataIniz, dataFine);
|
dataIniz, dataFine);
|
||||||
|
|||||||
Reference in New Issue
Block a user