2022-04-14 15:09:25 +02:00
USE [ eDosLocal ] ;
GO
SET ANSI_NULLS ON ;
GO
SET QUOTED_IDENTIFIER ON ;
GO
IF NOT EXISTS ( SELECT * FROM sys . columns WHERE OBJECT_ID = OBJECT_ID ( ' dbo.visit ' ) AND name = ' eDosBatteryWarning ' )
begin
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosBatteryWarning BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosDose07Warning BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosDose07Alarm BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosRate07Warning BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosRate07Alarm BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosDose10Warning BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosDose10Alarm BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosRate10Warning BIT null ;
ALTER TABLE [ dbo ] . [ Visit ] ADD eDosRate10Alarm BIT null ;
END
2022-04-26 08:43:13 +02:00
IF NOT EXISTS ( SELECT * FROM [ sys ] . [ columns ] WHERE [ object_id ] = OBJECT_ID ( ' dbo.visit ' ) AND [ name ] = ' isFault ' )
BEGIN
ALTER TABLE [ dbo ] . [ Visit ] ADD [ isFault ] BIT NULL ;
END ;
2022-04-14 15:09:25 +02:00
GO
2022-04-15 11:39:11 +02:00
IF OBJECT_ID ( ' dbo.PersonAlarms ' ) IS NULL BEGIN
CREATE TABLE [ dbo ] . [ PersonAlarms ] ( [ PersID ] INT NOT NULL ,
[ VisitTime ] DATETIME NOT NULL ,
[ ID_Station ] INT NOT NULL ,
[ ID_Visit ] INT NOT NULL ,
PRIMARY KEY NONCLUSTERED ( [ PersID ] , [ VisitTime ] ) ) ;
END ;
GO
2022-04-14 15:09:25 +02:00
ALTER PROCEDURE [ dbo ] . [ VisitExit ] @ EPDVisitID INT ,
@ HP07 FLOAT ,
@ HP10 FLOAT ,
@ HP07Peak FLOAT ,
@ HP10Peak FLOAT ,
@ HP07PeakTime DATETIME = NULL ,
@ HP10PeakTime DATETIME = NULL ,
@ HP07Total FLOAT ,
@ HP10Total FLOAT ,
@ K1 INT ,
@ K2 INT ,
@ K3 INT ,
@ K4 INT ,
@ K5 INT = NULL ,
@ K6 INT = NULL ,
@ SG INT ,
@ BC INT ,
@ FB INT ,
@ HG INT ,
@ QualityData INT ,
@ alarmStatus INT ,
@ otherAlarms INT ,
@ errorStatus INT ,
@ operatingStatus INT ,
@ ENTRY_EPD_CLOCK DECIMAL ( 10 , 0 ) NULL ,
@ EXIT_EPD_CLOCK DECIMAL ( 10 , 0 ) NULL ,
@ PersID INT = NULL ,
@ eDosBatteryWarning BIT = NULL ,
@ eDosDose07Warning BIT = NULL ,
@ eDosDose07Alarm BIT = NULL ,
@ eDosRate07Warning BIT = NULL ,
@ eDosRate07Alarm BIT = NULL ,
@ eDosDose10Warning BIT = NULL ,
@ eDosDose10Alarm BIT = NULL ,
@ eDosRate10Warning BIT = NULL ,
2022-04-26 08:43:13 +02:00
@ eDosRate10Alarm BIT = NULL ,
@ isAlarm BIT = NULL ,
@ isFault BIT = NULL
2022-04-15 11:39:11 +02:00
AS BEGIN
DECLARE
@ ID_Visit INT ,
@ ID_Station INT ,
@ ID_Station_Return INT ;
2022-04-14 15:09:25 +02:00
2022-04-15 11:39:11 +02:00
SET @ ID_Station = @ EPDVisitID % 100 ;
SET @ ID_Visit = @ EPDVisitID / 100 ;
2022-04-14 15:09:25 +02:00
2022-04-26 08:43:13 +02:00
IF @ isAlarm IS NULL
SET @ isAlarm = CASE WHEN ISNULL ( @ alarmStatus , 0 ) < > 0
OR ( ISNULL ( @ otherAlarms , 0 ) & 0 x7f ) < > 0 - - bit 7 = battery low
OR ISNULL ( @ eDosDose07Warning , 0 ) < > 0
OR ISNULL ( @ eDosRate07Warning , 0 ) < > 0
OR ISNULL ( @ eDosDose10Warning , 0 ) < > 0
OR ISNULL ( @ eDosRate10Warning , 0 ) < > 0
OR ISNULL ( @ eDosDose07Alarm , 0 ) < > 0
OR ISNULL ( @ eDosRate07Alarm , 0 ) < > 0
OR ISNULL ( @ eDosDose10Alarm , 0 ) < > 0
OR ISNULL ( @ eDosRate10Alarm , 0 ) < > 0 THEN 1 ELSE 0 END ;
2022-04-15 11:39:11 +02:00
DECLARE @ Now DATETIME = GETDATE ( ) ;
2022-04-14 15:09:25 +02:00
2022-04-15 11:39:11 +02:00
IF @ ID_Station_Return IS NULL
SELECT
@ ID_Station_Return = [ ID_Station ]
FROM [ dbo ] . [ StationSettings ]
WHERE [ PCNr ] = HOST_NAME ( ) ;
2022-04-14 15:09:25 +02:00
2022-04-15 11:39:11 +02:00
DECLARE @ isComplete BIT = 1 ;
2022-04-14 15:09:25 +02:00
2022-04-15 11:39:11 +02:00
IF NOT EXISTS ( SELECT
*
FROM [ dbo ] . [ Visit ]
WHERE [ ID_Visit ] = @ ID_Visit
AND [ ID_Station ] = @ ID_Station ) BEGIN
SET @ isComplete = 0 ;
2022-04-14 15:09:25 +02:00
2022-04-15 11:39:11 +02:00
INSERT [ dbo ] . [ Visit ] ( [ ID_Station ] , [ ID_Visit ] , [ Inst_CODE ] , [ isManualExit ] , [ isDeleted ] , [ ID_Station_Return ] , [ isComplete ] , [ ENTRY_EPD_CLOCK ] , [ PersID ] )
VALUES ( @ ID_Station , @ ID_Visit , 0 , 0 , 0 , @ ID_Station_Return , 0 , @ ENTRY_EPD_CLOCK , @ PersID ) ;
END ;
2022-04-14 15:09:25 +02:00
UPDATE
2022-04-15 11:39:11 +02:00
[ dbo ] . [ Visit ]
2022-04-14 15:09:25 +02:00
SET
2022-04-15 11:39:11 +02:00
[ Hp07Dose ] = @ HP07 ,
[ Hp10Dose ] = @ HP10 ,
[ isComplete ] = @ isComplete ,
[ ReturnTime ] = @ Now ,
[ Hp07Peak ] = @ HP07Peak ,
[ Hp10Peak ] = @ HP10Peak ,
[ Hp07Time ] = @ HP07PeakTime ,
[ Hp10Time ] = @ HP10PeakTime ,
[ Hp07Total ] = @ HP07Total ,
[ Hp10Total ] = @ HP10Total ,
[ K1 ] = @ K1 ,
[ K2 ] = @ K2 ,
[ K3 ] = @ K3 ,
[ K4 ] = @ K4 ,
[ K5 ] = @ K5 ,
[ K6 ] = @ K6 ,
[ SG ] = @ SG ,
[ BC ] = @ BC ,
[ FB ] = @ FB ,
[ HG ] = @ HG ,
[ QualityData ] = @ QualityData ,
[ alarmStatus ] = @ alarmStatus ,
[ otherAlarms ] = @ otherAlarms ,
[ errorStatus ] = @ errorStatus ,
[ operatingStatus ] = @ operatingStatus ,
- - [ D1 ] = @ D1 , [ D2 ] = @ D2 , [ D3 ] = @ D3 , [ D4 ] = @ D4 ,
[ isAlarm ] = @ isAlarm ,
[ isManualExit ] = 0 ,
[ ID_Station_Return ] = @ ID_Station_Return ,
[ ENTRY_EPD_CLOCK ] = @ ENTRY_EPD_CLOCK ,
[ EXIT_EPD_CLOCK ] = @ EXIT_EPD_CLOCK ,
[ PersID ] = CASE WHEN [ PersID ] IS NULL THEN @ PersID ELSE [ PersID ] END ,
[ eDosBatteryWarning ] = @ eDosBatteryWarning ,
[ eDosDose07Warning ] = @ eDosDose07Warning ,
[ eDosDose07Alarm ] = @ eDosDose07Alarm ,
[ eDosRate07Warning ] = @ eDosRate07Warning ,
[ eDosRate07Alarm ] = @ eDosRate07Alarm ,
[ eDosDose10Warning ] = @ eDosDose10Warning ,
[ eDosDose10Alarm ] = @ eDosDose10Alarm ,
[ eDosRate10Warning ] = @ eDosRate10Warning ,
2022-04-26 08:43:13 +02:00
[ eDosRate10Alarm ] = @ eDosRate10Alarm ,
[ isFault ] = @ isFault
2022-04-15 11:39:11 +02:00
WHERE [ ID_Visit ] = @ ID_Visit
AND [ ID_Station ] = @ ID_Station ;
-- local- >PersonInfoSnapshot
IF @ isAlarm = 1 BEGIN
IF @ PersID IS NULL
SELECT
@ PersID = [ PersID ]
FROM [ dbo ] . [ Visit ]
WHERE [ ID_Visit ] = @ ID_Visit
AND [ ID_Station ] = @ ID_Station ;
UPDATE
[ dbo ] . [ PersonInfoSnapshot ]
SET
[ VisitIDLocked ] = @ ID_Visit * 100 + @ ID_Station
WHERE [ PersID ] = @ PersID ;
IF NOT EXISTS ( SELECT
*
FROM [ dbo ] . [ PersonAlarms ]
WHERE [ PersID ] = @ PersID
AND [ VisitTime ] = @ Now )
INSERT [ dbo ] . [ PersonAlarms ] ( [ PersID ] , [ VisitTime ] , [ ID_Station ] , [ ID_Visit ] )
VALUES ( @ PersID , @ Now , @ ID_Station , @ ID_Visit ) ;
END ;
2022-04-14 15:09:25 +02:00
END ;
2022-04-26 08:43:13 +02:00
2022-04-14 15:09:25 +02:00
GO
ALTER PROCEDURE [ export ] . [ VisitsSelect ]
AS
SELECT
[ 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 ] ,
[ VisitStatus ] = CONVERT ( TINYINT , CASE WHEN [ EntryTime ] IS NOT NULL
AND [ ReturnTime ] IS NOT NULL THEN 3
WHEN [ EntryTime ] IS NOT NULL THEN 1
WHEN [ ReturnTime ] IS NOT NULL THEN 2 ELSE 0 END ) ,
[ syncedEntry ] ,
[ syncedExit ] ,
[ epdType ] ,
[ epdID ] ,
[ eDosBatteryWarning ] ,
[ eDosDose07Warning ] ,
[ eDosDose07Alarm ] ,
[ eDosRate07Warning ] ,
[ eDosRate07Alarm ] ,
[ eDosDose10Warning ] ,
[ eDosDose10Alarm ] ,
[ eDosRate10Warning ] ,
[ eDosRate10Alarm ]
FROM [ dbo ] . [ Visit ]
WHERE ( [ syncedEntry ] = 0 OR [ syncedExit ] = 0 ) ;
GO
IF NOT EXISTS ( SELECT * FROM sys . columns WHERE object_id = OBJECT_ID ( ' [dbo].[StationSettings] ' ) AND name = ' RestartComFirst ' )
begin
ALTER TABLE [ dbo ] . [ StationSettings ] ADD [ RestartComFirst ] BIT ;
ALTER TABLE [ dbo ] . [ StationSettings ] ADD [ OnlyMK2 ] BIT ;
END
GO
IF NOT EXISTS ( SELECT * FROM sys . columns WHERE object_id = OBJECT_ID ( ' [dbo].[StationSettings] ' ) AND name = ' AllowMultipleEPD ' )
ALTER TABLE [ dbo ] . [ StationSettings ] ADD AllowMultipleEPD BIT NULL ;
IF NOT EXISTS ( SELECT * FROM sys . columns WHERE object_id = OBJECT_ID ( ' [dbo].[StationSettings] ' ) AND name = ' EPDRetries ' )
2022-11-25 14:37:12 +01:00
ALTER TABLE [ dbo ] . [ StationSettings ] ADD EPDRetries INT NULL ;
IF EXISTS ( SELECT * FROM sys . columns WHERE object_id = OBJECT_ID ( ' [dbo].[StationSettings] ' ) AND name = ' EPDRetries ' AND [ system_type_id ] < > 56 )
ALTER TABLE [ dbo ] . [ StationSettings ] ALTER COLUMN [ EPDREtries ] int
2022-04-14 15:09:25 +02:00
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 ) ,
[ RestartComFirst ] = ISNULL ( [ RestartComFirst ] , 0 ) ,
[ OnlyMK2 ] = ISNULL ( [ OnlyMK2 ] , 0 ) ,
[ AllowMultipleEPD ] = ISNULL ( [ AllowMultipleEPD ] , 0 )
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 ,
@ RestartComFirst BIT = 0 ,
@ OnlyMK2 BIT = 0 ,
@ AllowMultipleEPD 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 ] , [ RestartComFirst ] , [ OnlyMK2 ] , [ AllowMultipleEPD ] )
VALUES ( HOST_NAME ( ) , @ ComPort , @ Inst_CODE1 , @ Inst_CODE2 , @ Inst_Name1 , @ Inst_Name2 , @ TestCSN , @ Reader , @ useTestButtons , @ useBeep , @ checkUser , @ EPDRetries , @ RestartCom , @ RestartComFirst , @ OnlyMK2 , @ AllowMultipleEPD ) ;
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 ,
[ RestartComFirst ] = @ RestartComFirst ,
[ OnlyMK2 ] = @ OnlyMK2 ,
[ AllowMultipleEPD ] = @ AllowMultipleEPD
WHERE [ PCNr ] = HOST_NAME ( ) ;
go
2022-04-27 16:12:21 +02:00
CREATE OR ALTER PROCEDURE [ dbo ] . [ VisitInfo ] @ EPDVisitID INT = 51905 ,
@ hasExited BIT = 0 OUT ,
2022-08-24 11:42:03 +02:00
@ isManualExit BIT = 0 OUT ,
@ name VARCHAR ( 100 ) = NULL OUT
2022-04-27 16:12:21 +02:00
AS
- - DECLARE @ EPDVisitID INT = 51905
BEGIN
SET NOCOUNT ON ;
DECLARE
@ ID_Visit INT ,
2022-08-24 11:42:03 +02:00
@ ID_Station INT ,
@ PersID INT ;
2022-04-27 16:12:21 +02:00
SET @ ID_Station = @ EPDVisitID % 100 ;
SET @ ID_Visit = @ EPDVisitID / 100 ;
SET @ hasExited = 0 ;
SET @ isManualExit = 0 ;
SELECT
@ hasExited = CONVERT ( BIT , CASE WHEN [ ReturnTime ] IS NOT NULL OR [ isManualExit ] = 1 THEN 1 ELSE 0 END ) ,
2022-08-24 11:42:03 +02:00
@ isManualExit = ISNULL ( [ isManualExit ] , 0 ) ,
@ PersID = @ PersID
2022-04-27 16:12:21 +02:00
FROM [ dbo ] . [ Visit ]
WHERE [ ID_Visit ] = @ ID_Visit
AND [ ID_Station ] = @ ID_Station ;
SET NOCOUNT OFF ;
SELECT [ hasExited ] = @ hasExited ;
2022-08-24 11:42:03 +02:00
SELECT
@ name = ISNULL ( [ name ] + ' ' + ISNULL ( [ callingname ] , [ firstname ] ) , ' ? ' )
FROM [ dbo ] . [ PersonAll ]
WHERE [ persid ] = @ PersID ;
2022-04-27 16:12:21 +02:00
RETURN CASE WHEN ISNULL ( @ hasExited , 0 ) = 1 THEN 1 ELSE 0 END + CASE WHEN ISNULL ( @ isManualExit , 0 ) = 1 THEN 2 ELSE 0 END ;
END ;
2022-08-24 11:42:03 +02:00
2022-04-27 16:12:21 +02:00
GO
GRANT EXECUTE ON [ dbo ] . [ VisitInfo ] TO [ eDosStation ] ;
2024-09-06 16:00:41 +02:00
GO
- - 2024 - 09 - 06
IF NOT EXISTS ( SELECT * FROM sys . columns WHERE object_id = OBJECT_ID ( ' [dbo].[Visit] ' ) AND name = ' InitError ' )
ALTER TABLE [ dbo ] . [ Visit ] ADD InitError INT
go
CREATE OR ALTER PROCEDURE [ dbo ] . [ VisitInitConfirm ]
@ ID_Station INT NULL ,
@ ID_Visit INT ,
@ InitError INT
as
UPDATE [ dbo ] . [ Visit ] SET InitError = @ InitError WHERE ID_Station = @ ID_Station AND ID_Visit = @ ID_Visit ;
go
GRANT EXECUTE ON [ dbo ] . [ VisitInitConfirm ] TO [ eDosStation ] ;
2024-09-09 11:24:35 +02:00
GO
2024-09-11 13:56:04 +02:00
ALTER TABLE DBO . PersonInfoSnapshot ADD Info XML ;
GO
IF OBJECT_ID ( ' [dbo].[LocalEPD] ' ) IS NULL BEGIN
CREATE TABLE [ dbo ] . [ LocalEPD ] ( [ ID_STATION ] INT NOT NULL , [ EPD_InternalID ] VARCHAR ( 8 ) NOT NULL , [ ID_EPD ] INT NOT NULL , [ LastUsed ] DATETIME null , PRIMARY KEY ( [ ID_STATION ] , [ EPD_InternalID ] ) )
end
GO
CREATE OR ALTER PROCEDURE [ dbo ] . [ VisitInit ] @ PersID INT ,
2024-09-09 11:24:35 +02:00
@ ID_Task INT ,
@ Inst_CODE INT ,
@ EPD_InternalID INT ,
@ isBG BIT ,
@ EPDVisitID INT = NULL OUTPUT ,
@ ID_Station INT NULL ,
@ ID_Visit INT ,
@ ENTRY_EPD_CLOCK DECIMAL ( 10 , 0 ) NULL ,
2024-09-11 13:56:04 +02:00
@ epdType TINYINT = NULL ,
@ InitError INT = 0
2024-09-09 11:24:35 +02:00
AS
- - Local ! !
2024-09-11 13:56:04 +02:00
DECLARE @ ID_EPD INT ;
DECLARE @ now DATETIME = GETDATE ( ) ;
2024-09-09 11:24:35 +02:00
IF @ ID_Station IS NULL
SELECT
@ ID_Station = [ ID_Station ]
FROM [ dbo ] . [ StationSettings ]
2024-09-11 13:56:04 +02:00
WHERE [ PCNr ] = HOST_NAME ( ) ;
2024-09-09 11:24:35 +02:00
SELECT
@ ID_EPD = [ ID_EPD ]
FROM [ dbo ] . [ EPD ]
2024-09-11 13:56:04 +02:00
WHERE [ EPD_InternalID ] = @ EPD_InternalID ;
2024-09-09 11:24:35 +02:00
IF @ ID_EPD IS NULL BEGIN
INSERT [ dbo ] . [ EPD ] ( [ EPD_InternalID ] , [ EPD_sn ] , [ EPDType ] )
2024-09-11 13:56:04 +02:00
VALUES ( @ EPD_InternalID , CONVERT ( VARCHAR ( 8 ) , @ EPD_InternalID ) , CASE WHEN @ epdType IS NOT NULL
THEN @ epdType
WHEN @ isBG = 0
THEN 2
ELSE 0
END ) ;
SET @ ID_EPD = SCOPE_IDENTITY ( ) ;
END ;
IF NOT EXISTS
(
SELECT
*
FROM [ dbo ] . [ LocalEPD ]
WHERE [ ID_Station ] = @ ID_Station
AND [ EPD_InternalID ] = @ EPD_InternalID
)
INSERT [ dbo ] . [ LocalEPD ] ( [ ID_EPD ] , [ ID_Station ] , [ EPD_InternalID ] , LastUsed )
VALUES ( @ ID_EPD , @ ID_Station , CONVERT ( VARCHAR ( 8 ) , @ EPD_InternalID ) , @ now ) ;
ELSE
UPDATE
[ dbo ] . [ LocalEPD ]
SET
[ LastUsed ] = @ now
WHERE [ ID_Station ] = @ ID_Station
AND [ EPD_InternalID ] = @ EPD_InternalID ;
2024-09-09 11:24:35 +02:00
2024-09-11 13:56:04 +02:00
INSERT [ dbo ] . [ Visit ] ( [ ID_Station ] , [ PersID ] , [ Inst_CODE ] , [ ID_Visit ] , [ ID_Task ] , [ EntryTime ] , [ ID_EPD ] , [ isBG ] , [ isComplete ] , [ isDeleted ] , [ isAlarmCleared ] , [ isAlarm ] , [ isManualExit ] , [ ENTRY_EPD_CLOCK ] , [ EXIT_EPD_CLOCK ] , [ epdType ] , [ epdID ] , [ InitError ] )
VALUES ( @ ID_Station , @ PersID , @ Inst_CODE , @ ID_Visit , @ ID_Task , @ now , @ ID_EPD , @ isBG , 0 , 0 , 0 , 0 , 0 , @ ENTRY_EPD_CLOCK , @ ENTRY_EPD_CLOCK , @ epdType , @ EPD_InternalID , @ InitError ) ;
2024-09-09 11:24:35 +02:00
2024-09-11 13:56:04 +02:00
SET @ EPDVisitID = @ ID_Visit * 100 + @ ID_Station ;
GO
USE [ eDosLocal ]
GO
/* * * * * * Object: StoredProcedure [dbo].[GetPersonInfo] Script Date: 9 / 11 / 2024 10:10:40 AM * * * * * */
SET ANSI_NULLS ON
2024-09-09 11:24:35 +02:00
GO
2024-09-11 13:56:04 +02:00
SET QUOTED_IDENTIFIER ON
GO
2025-02-19 14:30:45 +01:00
IF NOT EXISTS ( SELECT * FROM sys . columns WHERE OBJECT_ID = OBJECT_ID ( ' dbo.[PersonInfoSnapshot] ' ) AND name = ' eDosAgent ' )
2024-09-11 13:56:04 +02:00
BEGIN
2025-02-19 14:30:45 +01:00
ALTER TABLE [ dbo ] . [ PersonInfoSnapshot ] ADD [ eDosAgent ] BIT NULL ;
END ;
GO
CREATE OR ALTER PROCEDURE [ dbo ] . [ GetPersonInfo ] @ CSN CHAR ( 14 ) = NULL , @ PersID INT = NULL , @ AllowMultipleEPD BIT = 0 , @ CheckUser BIT = 1
AS BEGIN
- - DECLARE @ PersID INT = 12103 , @ CSN CHAR ( 14 ) = null , @ AllowMultipleEPD BIT = 0 , @ CheckUser bit = 1 ;
2024-09-11 13:56:04 +02:00
SET NOCOUNT ON ;
2025-02-19 14:30:45 +01:00
DECLARE @ lid_station INT , @ lid_visit INT ;
2024-09-11 13:56:04 +02:00
IF @ PersID IS NULL
2025-02-19 14:30:45 +01:00
SELECT @ PersID = [ PersID ]
2024-09-11 13:56:04 +02:00
FROM [ dbo ] . [ PersonInfoSnapshot ]
2025-02-19 14:30:45 +01:00
WHERE [ CSN ] = @ CSN COLLATE SQL_Latin1_General_CP850_BIN ;
2024-09-11 13:56:04 +02:00
SET NOCOUNT OFF ;
2025-02-19 14:30:45 +01:00
SELECT TOP ( 1 ) @ lid_station = [ ID_Station ] , @ lid_visit = [ ID_Visit ]
2024-09-11 13:56:04 +02:00
FROM [ dbo ] . [ Visit ]
2025-02-19 14:30:45 +01:00
WHERE [ PersID ] = @ PersID AND [ ReturnTime ] IS NULL AND [ EntryTime ] > DATEADD ( YEAR , - 1 , GETDATE ( ) ) AND ( [ InitError ] IS NULL OR [ InitError ] = 0 ) ;
SELECT [ a ] . [ PersID ] , [ a ] . [ Type ] , [ a ] . [ CSN ] , [ a ] . [ FirstName ] , [ a ] . [ LastName ] , [ a ] . [ NickName ] , [ AccessAllow ] = CONVERT ( BIT , CASE WHEN @ AllowMultipleEPD = 1 AND [ 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 @ AllowMultipleEPD = 1 AND [ a ] . [ hasEPD ] = 1 THEN ' EPD not returned '
WHEN ISNULL ( [ VisitIDLocked ] , 0 ) > 0 THEN ' Locked because of alarm ' ELSE [ a ] . [ ReasonNoAccess ] END , [ a ] . [ Dose_52W_microSv ] , [ a ] . [ hasEPD ] , [ activeStation ] = @ lid_station , [ activeVisit ] = @ lid_visit , [ a ] . [ isAgent ] , [ a ] . [ eDosAgent ]
FROM ( SELECT [ p ] . [ PersID ] , [ p ] . [ Type ] , [ p ] . [ CSN ] , [ p ] . [ FirstName ] , [ p ] . [ LastName ] , [ p ] . [ NickName ] , [ AccessAllow ] = CASE WHEN @ CheckUser = 0 THEN 1 ELSE [ p ] . [ AccessAllow ] END , [ 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 ) , [ isAgent ] = CONVERT ( BIT , CASE WHEN [ p ] . [ isAgent ] IS NULL THEN 0 ELSE [ p ] . [ isAgent ] END ) , [ eDosAgent ] = CONVERT ( BIT , ISNULL ( p . edosAgent , 0 ) )
FROM [ dbo ] . [ PersonInfoSnapshot ] [ p ]
WHERE [ p ] . [ PersID ] = @ PersID ) [ a ] ;
2024-09-11 13:56:04 +02:00
END ;
2025-02-10 07:05:37 +01:00
GO
CREATE OR ALTER PROCEDURE [ dbo ] . [ GetPersonOverview ] @ PersID INT = NULL
AS
SELECT [ p ] . [ PersID ] ,
[ p ] . [ Type ] ,
[ p ] . [ FirstName ] ,
[ p ] . [ LastName ] ,
[ p ] . [ NickName ] ,
[ AccessAllow ] = [ 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 ] ,
[ isAgent ] = CONVERT ( BIT ,
CASE
WHEN [ p ] . [ isAgent ] IS NULL THEN
0
ELSE
[ p ] . [ isAgent ]
END
) ,
2025-02-19 14:30:45 +01:00
[ info ] ,
[ eDosAgent ] = CONVERT ( BIT , ISNULL ( [ p ] . [ eDosAgent ] , 0 ) )
FROM [ dbo ] . [ PersonInfoSnapshot ] [ p ]
2025-02-10 07:05:37 +01:00
WHERE [ p ] . [ PersID ] = @ PersID ;
GO
GRANT EXECUTE ON [ GetPersonOverview ] TO [ edosstation ] ;
GO