Skip to end of banner
Go to start of banner

UniSea CrewData_API DB view

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 3 Current »

Summary

The view is used to provide Crew data to UniSea via API calls

Keywords

Crew Data

Category

Database View

Description

The view is used to provide Crew data to UniSea via API calls

Selection

The view shows all the crew existing in the system.

SQL statement

Create View:

CREATE VIEW dbo.CrewData_API AS
SELECT P01.PIN,
       P01.FIRSTNAME,
       P01.LASTNAME,
       P01.SEX                    GENDER,
       C02.NAME                   RANK,
       P01.NATIONALITY,
       P01.BIRTHDATE,
       P01.PLACEOFBIRTH,
       P1P.PASSPORTNO             PASSPORTNO,
       P1P.PASSPORTEXPIRYDATE     PASSPORTEXPIRY,
       P1P.PASSPORTISSUEDATE,
       P1P.PASSPORTISSUECOUNTRY,
       P0T.TELENO                 EMAIL,
       MOBILE.TELENO              MOBILE,
       CASE 
            WHEN p03Cur.SEQUENCENO IS NOT NULL THEN 'Y'
            ELSE 'N'
       END                     AS ONBOARDSTATUS,
	   p03Cur.SEQUENCENO		ONB_ACTIVITY_SEQUENCENO
       --Status signed on the vessel or signed off - TBA
FROM   PW001P01 P01
       LEFT JOIN PW001P03 p03Cur
            ON  P01.PIN = p03Cur.PIN
            AND p03Cur.DATETO IS NULL
            AND ISNULL(p03Cur.PLANNED, 'N') <> 'Y'
            AND EXISTS(
                    SELECT 1
                    FROM   PW001C12 t1
                    WHERE  t1.CODE = p03Cur.CODE
                           AND t1.OPTIONS LIKE '%S%'
                )
       LEFT JOIN PW001C02 C02
            ON  C02.CODE = P01.RANK
       LEFT JOIN PW001P1P P1P
            ON  P01.PIN = P1P.PIN
            AND p1p.code = 'PP'
       LEFT JOIN PW001P0T P0T
            ON  (
                    (P01.PIN = P0T.PIN)
                    AND (P0T.TELETYPE = 6)
                    AND (NOT P0T.TELEPRIORITY IS NULL)
                    AND NOT EXISTS
                        (
                            SELECT SEQUENCENO
                            FROM   PW001P0T P0T2
                            WHERE  (P0T.PIN = P0T2.PIN)
                                   AND (P0T2.TELETYPE = 6)
                                   AND (
                                           (P0T2.TELEPRIORITY < P0T.TELEPRIORITY)
                                           OR (
                                                  (P0T2.TELEPRIORITY = P0T.TELEPRIORITY)
                                                  AND (P0T2.SEQUENCENO < P0T.SEQUENCENO)
                                              )
                                       )
                        )
                )
       LEFT JOIN PW001P0T MOBILE
            ON  (
                    (P01.PIN = MOBILE.PIN)
                    AND (MOBILE.TELETYPE = 3)
                    AND (NOT MOBILE.TELEPRIORITY IS NULL)
                    AND NOT EXISTS
                        (
                            SELECT SEQUENCENO
                            FROM   PW001P0T MOBILE2
                            WHERE  (MOBILE.PIN = MOBILE2.PIN)
                                   AND (MOBILE2.TELETYPE = 3)
                                   AND (
                                           (MOBILE2.TELEPRIORITY < MOBILE.TELEPRIORITY)
                                           OR (
                                                  (MOBILE2.TELEPRIORITY = MOBILE.TELEPRIORITY)
                                                  AND (MOBILE2.SEQUENCENO < MOBILE.SEQUENCENO)
                                              )
                                       )
                        )
                )

--WHERE P01.EMPLOYMENTENDDATE IS NULL OR P01.EMPLOYMENTENDDATE > GETDATE() --when enabled - only for active crew

GO

Drop View:

DROP VIEW dbo.CrewData_API
GO

  • No labels