Torna al Thread
ALTER PROCEDURE [dbo].[Insert_Import_C59]
(
--Dichiaro i parametri che verranno passati alla stored
@CodiceAlbergo As Int,
@CodiceScheda As Int,
@DataArrivo As smalldatetime=Null,
@DataPartenza As smalldatetime=Null,
@CodiceNazione As Int,
@CodiceProvinciaMov Int,
@Partito Int,
@CodiceGruppo As Int,
@NumeroSchedina As varchar(5)=Null,
@Ncamdisponibili As Int,
@Ncamoccupate As Int,
@nscheda as varchar(5)
)
AS
--Dichiaro le variabili da passare alla insert della tabella movimenti
DECLARE @_CodiceNazione As int
DECLARE @_DescNazione As varchar(100)
DECLARE @_CodiceProvinciaMov As Int
DECLARE @_DescProvinciaMov As varchar(100)
DECLARE @_CodiceComuneMov As Int
DECLARE @_DescComuneMov as varchar(100)
DECLARE @_CodiceGruppo As int
DECLARE @_DescGruppo As Varchar(100)
--Gestisco le nazioni straniere
If @CodiceNazione<>0
BEGIN
SELECT @_codicenazione=codice,@_descnazione=descrizione from tab_regioni_nazioni where codice_istat=@CodiceNazione
END
Else
--Gestisco le Province
BEGIN
SELECT @_CodiceProvinciaMov=codice,@_DescProvinciaMov=descrizione from tab_provincie where codice_interno=@CodiceprovinciaMov
SELECT @_codicenazione=tab_regioni_nazioni.codice,@_descnazione=tab_regioni_nazioni.descrizione from tab_regioni_nazioni Join tab_provincie On tab_regioni_nazioni.codice=tab_provincie.codice_regione
where tab_provincie.codice_interno=@CodiceprovinciaMov
END
--Gestisco i comuni
BEGIN
SELECT @_CodiceComuneMov=com.codice,@_DescComuneMov=com.descrizione from tab_comuni as com
JOIN
tab_provincie as prov
ON com.descrizione=prov.descrizione
where prov.codice_interno=@CodiceprovinciaMov
END
--Gestisco i gruppi
BEGIN
Select @_CodiceGruppo=Convert(int,@CodiceGruppo),@_DescGruppo=descrizione from tab_gruppi where codice_interno=@codicegruppo
END
DECLARE @RESULT AS INT
BEGIN
SELECT @RESULT = CASE WHEN CONVERT(INT, CODICE_SCHEDA_IMPORTAZIONE)>0 THEN 1 ELSE 0 END FROM TAB_ALLOGGIATI WHERE CODICE_ALBERGO=@CODiceALBERGO AND CODICE_SCHEDA_IMPORTAZIONE=@NSCHEDA
END
if isnull(@result,'0')=0
BEGIN
Insert Into tab_alloggiati
(Codice_Albergo,
Codice_Scheda,
Appartenenza,
Tipo_Alloggiato_codice,
Data_Arrivo,
Data_Partenza,
Cognome,
Nome,
Sesso,
luogo_nascita_codice,
provincia_nascita_codice,
stato_nascita_codice,
cittadinanza_codice,
comune_residenza_codice,
comune_residenza_descrizione,
Provincia_Residenza_Codice,
Provincia_Residenza_Descrizione,
Stato_Residenza_Codice,
Stato_Residenza_Descrizione,
Partito,
C59,
Gruppo_Codice,
Gruppo_Descrizione,
Codice_Scheda_Importazione)
Values
(@CodiceAlbergo,
@CodiceScheda,
0,1,
@DataArrivo,
@DataPartenza,
'GENERICO',
'OSPITE',
0,
0,
0,
0,
0,
@_codiceComuneMov,
@_DescComuneMov,
@_CodiceProvinciaMov,
@_DescProvinciaMov,
@_codicenazione,
@_descnazione,
@partito,
1,
@_codicegruppo,
@_descgruppo,
@numeroschedina)
END
else
BEGIN
Update tab_alloggiati
Set
Data_Arrivo=@DataArrivo,
Data_Partenza=@DataPartenza,
Provincia_Residenza_Codice=@_CodiceProvinciaMov,
Provincia_Residenza_Descrizione=@_DescProvinciaMov,
Stato_Residenza_Codice=@_codicenazione,
Stato_Residenza_Descrizione=@_descnazione,
Partito=@partito,
C59=1,
Gruppo_Codice=@_codicegruppo,
Gruppo_Descrizione=@_descgruppo
Where codice_albergo=@codicealbergo and codice_scheda_importazione=@nscheda
END