362 lines
No EOL
10 KiB
Transact-SQL
362 lines
No EOL
10 KiB
Transact-SQL
USE [eDosLocal];
|
|
GO
|
|
|
|
/****** Object: StoredProcedure [dbo].[GetPersonInfo] Script Date: 8/03/2022 15:53:18 ******/
|
|
SET ANSI_NULLS ON;
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON;
|
|
GO
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT *
|
|
FROM [INFORMATION_SCHEMA].[COLUMNS]
|
|
WHERE [TABLE_NAME] = 'StationSettings'
|
|
AND [COLUMN_NAME] = 'EPDRetries'
|
|
)
|
|
ALTER TABLE [dbo].[StationSettings] ADD [EPDRetries] INT;
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT *
|
|
FROM [INFORMATION_SCHEMA].[COLUMNS]
|
|
WHERE [TABLE_NAME] = 'StationSettings'
|
|
AND [COLUMN_NAME] = 'RestartCom'
|
|
)
|
|
ALTER TABLE [dbo].[StationSettings] ADD [RestartCom] BIT;
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[StationSettingsSelect]
|
|
AS
|
|
SELECT [ID_Station],
|
|
[PCNr],
|
|
[ComPort],
|
|
[Inst_CODE1],
|
|
[Inst_CODE2],
|
|
[Inst_Name1],
|
|
[Inst_Name2],
|
|
[TestCSN],
|
|
[Reader],
|
|
[useTestButtons] = ISNULL ([useTestButtons], 0),
|
|
[useBeep] = ISNULL ([useBeep], 22),
|
|
[checkUser] = ISNULL ([checkUser], 0),
|
|
[EPDTimeout],
|
|
[EPDRetries],
|
|
[RestartCom]
|
|
FROM [dbo].[StationSettings]
|
|
WHERE [PCNr] = HOST_NAME ();
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[StationSettingsUpdate]
|
|
@ComPort INT = NULL,
|
|
@Inst_CODE1 INT = NULL,
|
|
@Inst_CODE2 INT = NULL,
|
|
@Inst_Name1 VARCHAR(50) = NULL,
|
|
@Inst_Name2 VARCHAR(50) = NULL,
|
|
@TestCSN VARCHAR(50) = NULL,
|
|
@Reader VARCHAR(70) = NULL,
|
|
@useTestButtons BIT = 0,
|
|
@useBeep TINYINT = 22,
|
|
@checkUser BIT = 0,
|
|
@EPDTimeout INT = 10000,
|
|
@EPDRetries INT = 1,
|
|
@RestartCom BIT = 0
|
|
AS
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT *
|
|
FROM [dbo].[StationSettings]
|
|
WHERE [PCNr] = HOST_NAME ()
|
|
)
|
|
INSERT [dbo].[StationSettings]
|
|
(
|
|
[PCNr],
|
|
[ComPort],
|
|
[Inst_CODE1],
|
|
[Inst_CODE2],
|
|
[Inst_Name1],
|
|
[Inst_Name2],
|
|
[TestCSN],
|
|
[Reader],
|
|
[useTestButtons],
|
|
[useBeep],
|
|
[checkUser],
|
|
[EPDRetries],
|
|
[RestartCom]
|
|
)
|
|
VALUES
|
|
(HOST_NAME (), @ComPort, @Inst_CODE1, @Inst_CODE2, @Inst_Name1, @Inst_Name2, @TestCSN, @Reader, @useTestButtons,
|
|
@useBeep, @checkUser, @EPDRetries, @RestartCom);
|
|
ELSE
|
|
UPDATE [dbo].[StationSettings]
|
|
SET [ComPort] = @ComPort,
|
|
[Inst_CODE1] = @Inst_CODE1,
|
|
[Inst_CODE2] = @Inst_CODE2,
|
|
[Inst_Name1] = @Inst_Name1,
|
|
[Inst_Name2] = @Inst_Name2,
|
|
[TestCSN] = @TestCSN,
|
|
[Reader] = @Reader,
|
|
[useTestButtons] = @useTestButtons,
|
|
[useBeep] = @useBeep,
|
|
[checkUser] = @checkUser,
|
|
[EPDTimeout] = @EPDTimeout,
|
|
[EPDRetries] = @EPDRetries,
|
|
[RestartCom] = @RestartCom
|
|
WHERE [PCNr] = HOST_NAME ();
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[StationSettingsSelect]
|
|
AS
|
|
SELECT [ID_Station],
|
|
[PCNr],
|
|
[ComPort],
|
|
[Inst_CODE1],
|
|
[Inst_CODE2],
|
|
[Inst_Name1],
|
|
[Inst_Name2],
|
|
[TestCSN],
|
|
[Reader],
|
|
[useTestButtons] = ISNULL ([useTestButtons], 0),
|
|
[useBeep] = ISNULL ([useBeep], 22),
|
|
[checkUser] = ISNULL ([checkUser], 0),
|
|
[EPDTimeout] = ISNULL ([EPDTimeout], 10000),
|
|
[EPDRetries] = ISNULL ([EPDRetries], 1),
|
|
[RestartCom] = ISNULL ([RestartCom], 0)
|
|
FROM [dbo].[StationSettings]
|
|
WHERE [PCNr] = HOST_NAME ();
|
|
|
|
go
|
|
|
|
ALTER PROCEDURE [dbo].[GetPersonInfo] @CSN CHAR(14) =NULL, @PersID INT = NULL AS
|
|
--DECLARE @PersID INT = null, @CSN CHAR(14) = 'TP10';
|
|
DECLARE
|
|
@lid_station INT,
|
|
@lid_visit INT;
|
|
|
|
if @PersID IS NULL SELECT @PersID=persid FROM [dbo].[PersonInfoSnapshot] where [CSN] = @CSN COLLATE SQL_Latin1_General_CP850_BIN;
|
|
|
|
SELECT TOP(1)
|
|
@lid_station = id_station,
|
|
@lid_visit = id_visit
|
|
FROM dbo.Visit
|
|
WHERE PersID = @PersID
|
|
AND ReturnTime IS NULL
|
|
AND [EntryTime] > DATEADD(year, -1, GETDATE());
|
|
|
|
SELECT
|
|
[a].[PersID],
|
|
[a].[Type],
|
|
[a].[CSN],
|
|
[a].[FirstName],
|
|
[a].[LastName],
|
|
[a].[NickName],
|
|
[AccessAllow] = CASE WHEN a.[hasEPD] = 1 THEN 0 ELSE a.[AccessAllow] END,
|
|
[a].[Language],
|
|
[a].[MarginHP10_M],
|
|
[a].[MarginHP10_Y],
|
|
[a].[Margin],
|
|
[a].[VisitIDLocked],
|
|
[a].[ID_CommentToPerson],
|
|
[a].[Comment],
|
|
[a].[Deleted],
|
|
[ReasonNoAccess] = CASE WHEN a.[hasEPD] = 1 THEN 'EPD not returned' ELSE a.[ReasonNoAccess] END,
|
|
[a].[Dose_52W_microSv],
|
|
[a].[hasEPD],
|
|
activeStation = @lid_station,
|
|
activeVisit = @lid_visit
|
|
FROM(SELECT
|
|
[p].[PersID],
|
|
[p].[Type],
|
|
[p].[CSN],
|
|
[p].[FirstName],
|
|
[p].[LastName],
|
|
[p].[NickName],
|
|
[p].[AccessAllow],
|
|
[p].[Language],
|
|
[p].[MarginHP10_M],
|
|
[p].[MarginHP10_Y],
|
|
[p].[Margin],
|
|
[p].[VisitIDLocked],
|
|
[p].[ID_CommentToPerson],
|
|
[p].[Comment],
|
|
[p].[Deleted],
|
|
[p].[ReasonNoAccess],
|
|
[p].[Dose_52W_microSv],
|
|
hasEPD = CONVERT(BIT, CASE WHEN @lid_visit IS NOT NULL THEN 1 ELSE 0 END)
|
|
FROM [dbo].[PersonInfoSnapshot] [p]
|
|
WHERE [p].[PersID] = @PersID) a
|
|
go
|
|
|
|
---- Luc 2022-03-25
|
|
IF OBJECT_ID('[syncLoc].[compareVisit]') IS NULL
|
|
begin
|
|
CREATE TABLE [syncLoc].[compareVisit](
|
|
[ID_Station] [INT] NOT NULL,
|
|
[ID_Visit] [INT] NOT NULL,
|
|
[Inst_CODE] [INT] NOT NULL,
|
|
[PersID] [INT] NULL,
|
|
[ID_Task] [INT] NULL,
|
|
[EntryTime] [DATETIME] NULL,
|
|
[ReturnTime] [DATETIME] NULL,
|
|
[Hp10Dose] [FLOAT] NULL,
|
|
[Hp07Dose] [FLOAT] NULL,
|
|
[Hp10Total] [FLOAT] NULL,
|
|
[Hp07Total] [FLOAT] NULL,
|
|
[Hp10Peak] [FLOAT] NULL,
|
|
[Hp07Peak] [FLOAT] NULL,
|
|
[Hp10Time] [DATETIME] NULL,
|
|
[Hp07Time] [DATETIME] NULL,
|
|
[ID_EPD] [INT] NULL,
|
|
[QualityData] [INT] NULL,
|
|
[K1] [INT] NULL,
|
|
[K2] [INT] NULL,
|
|
[K3] [INT] NULL,
|
|
[K4] [INT] NULL,
|
|
[K5] [INT] NULL,
|
|
[K6] [INT] NULL,
|
|
[SG] [INT] NULL,
|
|
[BC] [INT] NULL,
|
|
[FB] [INT] NULL,
|
|
[HG] [INT] NULL,
|
|
[alarmStatus] [INT] NULL,
|
|
[otherAlarms] [INT] NULL,
|
|
[errorStatus] [INT] NULL,
|
|
[operatingStatus] [INT] NULL,
|
|
[isBG] [BIT] NULL,
|
|
[isComplete] [BIT] NOT NULL,
|
|
[isDeleted] [BIT] NOT NULL,
|
|
[isAlarm] [BIT] NOT NULL,
|
|
[isAlarmCleared] [BIT] NOT NULL,
|
|
[isManualExit] [BIT] NOT NULL,
|
|
[ID_Station_Return] [INT] NULL,
|
|
[ENTRY_EPD_CLOCK] [NUMERIC](10, 0) NULL,
|
|
[EXIT_EPD_CLOCK] [NUMERIC](10, 0) NULL,
|
|
[TIME_LOST] [INT] NULL,
|
|
[epdID] [INT] NULL,
|
|
CONSTRAINT [PK_compareVisit] PRIMARY KEY CLUSTERED
|
|
(
|
|
[ID_Station] ASC,
|
|
[ID_Visit] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON ) ON [PRIMARY]
|
|
) ON [PRIMARY];
|
|
|
|
GRANT ALTER,INSERT,UPDATE,DELETE,select ON [syncLoc].[compareVisit] TO edosStation
|
|
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
CREATE OR ALTER PROCEDURE [syncLoc].[UpdateRemoteReturns] @ID_LocalStation INT=null AS
|
|
-- Luc 2022-03-25
|
|
--DECLARE @ID_LocalStation INT = 9;
|
|
DECLARE @pcnr VARCHAR(20)
|
|
|
|
select @pcnr=@@servername;
|
|
IF @pcnr='EDOS-SCH' SET @pcnr='EDOS-WSCH'
|
|
ELSE IF @pcnr='DESKTOP-CCDL4A3' SET @pcnr='EDOS-LNK'
|
|
ELSE IF @pcnr='EDOS-ZZZ'SET @pcnr='EDOS-LSCH'
|
|
|
|
IF @ID_LocalStation IS NULL SELECT @ID_LocalStation =id_station From stationsettings WHERE pcnr= @pcnr
|
|
select @ID_LocalStation,pcnr FROM stationsettings WHERE id_station=@ID_LocalStation;
|
|
|
|
TRUNCATE TABLE [syncLoc].[compareVisit];
|
|
|
|
INSERT [syncLoc].[compareVisit]([ID_Station], [ID_Visit], [Inst_CODE], [PersID], [ID_Task], [EntryTime], [ReturnTime], [Hp10Dose], [Hp07Dose], [Hp10Total], [Hp07Total], [Hp10Peak], [Hp07Peak], [Hp10Time], [Hp07Time], [ID_EPD], [QualityData], [K1], [K2], [K3], [K4], [K5], [K6], [SG], [BC], [FB], [HG], [alarmStatus], [otherAlarms], [errorStatus], [operatingStatus], [isBG], [isComplete], [isDeleted], [isAlarm], [isAlarmCleared], [isManualExit], [ID_Station_Return], [ENTRY_EPD_CLOCK], [EXIT_EPD_CLOCK], [TIME_LOST], [epdID])
|
|
SELECT
|
|
[v].[ID_Station],
|
|
[v].[ID_Visit],
|
|
[v].[Inst_CODE],
|
|
[v].[PersID],
|
|
[v].[ID_Task],
|
|
[v].[EntryTime],
|
|
[v].[ReturnTime],
|
|
[v].[Hp10Dose],
|
|
[v].[Hp07Dose],
|
|
[v].[Hp10Total],
|
|
[v].[Hp07Total],
|
|
[v].[Hp10Peak],
|
|
[v].[Hp07Peak],
|
|
[v].[Hp10Time],
|
|
[v].[Hp07Time],
|
|
[v].[ID_EPD],
|
|
[v].[QualityData],
|
|
[v].[K1],
|
|
[v].[K2],
|
|
[v].[K3],
|
|
[v].[K4],
|
|
[v].[K5],
|
|
[v].[K6],
|
|
[v].[SG],
|
|
[v].[BC],
|
|
[v].[FB],
|
|
[v].[HG],
|
|
[v].[alarmStatus],
|
|
[v].[otherAlarms],
|
|
[v].[errorStatus],
|
|
[v].[operatingStatus],
|
|
[v].[isBG],
|
|
[v].[isComplete],
|
|
[v].[isDeleted],
|
|
[v].[isAlarm],
|
|
[v].[isAlarmCleared],
|
|
[v].[isManualExit],
|
|
[v].[ID_Station_Return],
|
|
[v].[ENTRY_EPD_CLOCK],
|
|
[v].[EXIT_EPD_CLOCK],
|
|
[v].[TIME_LOST],
|
|
[v].[epdID]
|
|
FROM [EDOS].[edos].[dbo].[visit] [v]
|
|
INNER JOIN(SELECT
|
|
[ID_Visit]
|
|
FROM [dbo].[Visit]
|
|
WHERE [ID_Station] = @ID_LocalStation
|
|
AND [ReturnTime] IS NULL) [i] ON [i].[ID_Visit] = [v].[ID_Visit]
|
|
WHERE [id_station] = @ID_LocalStation
|
|
AND [v].[returntime] IS NOT NULL;
|
|
|
|
UPDATE
|
|
[dbo].[Visit]
|
|
SET
|
|
[ReturnTime] = [c].[ReturnTime],
|
|
[Hp10Dose] = [c].[Hp10Dose],
|
|
[Hp07Dose] = [c].[Hp07Dose],
|
|
[Hp10Total] = [c].[Hp10Total],
|
|
[Hp07Total] = [c].[Hp07Total],
|
|
[Hp10Peak] = [c].[Hp10Peak],
|
|
[Hp07Peak] = [c].[Hp07Peak],
|
|
[Hp10Time] = [c].[Hp10Time],
|
|
[Hp07Time] = [c].[Hp07Time],
|
|
[QualityData] = [c].[QualityData],
|
|
[K1] = [c].[K1],
|
|
[K2] = [c].[K2],
|
|
[K3] = [c].[K3],
|
|
[K4] = [c].[K4],
|
|
[K5] = [c].[K5],
|
|
[K6] = [c].[K6],
|
|
[SG] = [c].[SG],
|
|
[BC] = [c].[BC],
|
|
[FB] = [c].[FB],
|
|
[HG] = [c].[HG],
|
|
[alarmStatus] = [c].[alarmStatus],
|
|
[otherAlarms] = [c].[otherAlarms],
|
|
[errorStatus] = [c].[errorStatus],
|
|
[operatingStatus] = [c].[operatingStatus],
|
|
[isComplete] = [c].[isComplete],
|
|
[isDeleted] = [c].[isDeleted],
|
|
[isAlarm] = [c].[isAlarm],
|
|
[isAlarmCleared] = [c].[isAlarmCleared],
|
|
[isManualExit] = ISNULL([c].[isManualExit], [v].[isManualExit]),
|
|
[ID_Station_Return] = ISNULL([c].[ID_Station_Return], [v].[ID_Station_Return]),
|
|
[EXIT_EPD_CLOCK] = [c].[EXIT_EPD_CLOCK]
|
|
FROM [dbo].[Visit] [v]
|
|
INNER JOIN [syncLoc].[compareVisit] [c] ON [c].[ID_Station] = [v].[ID_Station]
|
|
AND [c].[ID_Visit] = [v].[ID_Visit]
|
|
WHERE [v].[ReturnTime] IS NULL
|
|
AND [v].[isComplete] = 0;
|
|
|
|
GO
|
|
|
|
GRANT EXECUTE ON [syncLoc].[UpdateRemoteReturns] TO [eDosStation]
|
|
go |