Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Description

...

Missing date or overlapping dates of Vessel Location for the current payroll period

...

Summary

...

Table of Contents
minLevel1
maxLevel1
typeflat
separatorpipe
Page Properties

Summary

The notification informs the Captains/ Payroll Managers

...

of the missing date or overlapping dates of Vessel Location for the current payroll period.

Keywords

Vessel Location

...

File / Script Link

...

Compatibility APM Version

...

N/A

...

Compatibility SQL Version

...

Description

The notification informs the Captains/ Payroll Managers of the missing/ overlapping vessel locations within the current payroll period.

Setup

  1. Go to Setup > Notification Service

  2. Add New, give the task a name, define time and date settings. For more details on the settings, please check Notification Service#ScheduleTask

    Image RemovedImage Added

  3. Under the Notification E-mails tab, define the Sender email and name. Recipients will be picked up dynamically from the database. An example of a selection that can be used is shown below, please check with Adonis Support or Project Consultants if you can use the same selection.

    Image RemovedImage Added

  4. Insert Email Subject and Body. Note that you can insert screenshots, links and signatures to the mail body.

Cp panel macro
data%7B%22components%22%3A%5B%22title%22%5D%2C%22titleAlignment%22%3A%22left%22%2C%22contentAlignment%22%3A%22left%22%2C%22title%22%3A%22Example%20mail%20body%22%2C%22titleColor%22%3A%22%23ffffff%22%2C%22titleContainerColor%22%3A%22%23172b4d%22%2C%22background%22%3A%22%23ffffff%22%2C%22borderColor%22%3A%22%23FF8B00%22%2C%22borderRadius%22%3A4%2C%22borderType%22%3A%22solid%22%2C%22icon%22%3A%22%22%7D

Hi,

Good day. Please see the list of [#VesselName]'s vessel location where dates are missing or has an overlapping dates for the [#CurrentPeriod] payroll period.

Start Date End Date Vessel Location
[#DETAILS]

Kind Regards,
Company Name

...

Sample Output

...

SQL

...

Statement

Code Block
languagesql
;WITH cteSrc AS(
         SELECT VESLOC.CODE
               ,CONVERT(VARCHAR ,VESLOC.STARTDATE ,110) AS STARTDATE
               ,CONVERT(VARCHAR ,VESLOC.ENDDATE ,110) AS ENDDATE
               ,C44.[NAME]    AS VESLOCNAME
               ,VES.[NAME]    AS VESSELNAME
               ,VES.NUMORGID  AS VESSELNUMORGID
               ,PAY.COMPANYID
               ,CMP.[NAME]    AS COMPANYNAME
               ,PAY.PREPARATIONDATE
               ,PAY.COMPLETIONDATE
               ,VESPAY.PERIODE
         FROM   PWVESCOSTPLACE VESLOC
                JOIN PW001C44 C44
                     ON  C44.CODE = VESLOC.CODE
                JOIN PWORGVES VESPAY
                     ON  VESPAY.NUMORGID = VESLOC.NUMORGID
                LEFT JOIN PWORG VES
                     ON  VES.NUMORGID = VESLOC.NUMORGID
                JOIN PWCMPPAY PAY
                     ON  PAY.COMPANYID = VES.NUMORGIDABOVE
                         AND PAY.[PERIOD] = VESPAY.PERIODE
                         AND (
                                 (
                                     VESLOC.STARTDATE BETWEEN PAY.PREPARATIONDATE AND PAY.COMPLETIONDATE
                                     AND VESLOC.ENDDATE>PAY.COMPLETIONDATE
                                 )
                                 OR (
                                        VESLOC.ENDDATE BETWEEN PAY.PREPARATIONDATE AND PAY.COMPLETIONDATE
                                        AND VESLOC.STARTDATE<PAY.PREPARATIONDATE
                                    )
                                 OR (
                                        VESLOC.STARTDATE<=PAY.PREPARATIONDATE
                                        AND VESLOC.ENDDATE>=PAY.COMPLETIONDATE
                                    )
                             )
                LEFT JOIN PWORG CMP
                     ON  CMP.NUMORGID = PAY.COMPANYID
         UNION ALL
         --start missing dates
         SELECT VESLOC.CODE
               ,CASE 
                     WHEN VESLOC.STARTDATE IS NULL THEN 'Missing Date'
                     ELSE CONVERT(VARCHAR ,VESLOC.STARTDATE ,110)
                END           AS STARTDATE
               ,CASE 
                     WHEN VESLOC.ENDDATE IS NULL THEN 'Missing Date'
                     ELSE CONVERT(VARCHAR ,VESLOC.ENDDATE ,110)
                END           AS ENDDATE
               ,C44.[NAME]    AS VESLOCNAME
               ,VES.[NAME]    AS VESSELNAME
               ,VES.NUMORGID  AS VESSELNUMORGID
               ,PAY.COMPANYID
               ,CMP.[NAME]    AS COMPANYNAME
               ,PAY.PREPARATIONDATE
               ,PAY.COMPLETIONDATE
               ,VESPAY.PERIODE
         FROM   PWVESCOSTPLACE VESLOC
                JOIN PW001C44 C44
                     ON  C44.CODE = VESLOC.CODE
                         AND (VESLOC.STARTDATE IS NULL OR VESLOC.ENDDATE IS NULL)
                JOIN PWORGVES VESPAY
                     ON  VESPAY.NUMORGID = VESLOC.NUMORGID
                LEFT JOIN PWORG VES
                     ON  VES.NUMORGID = VESLOC.NUMORGID
                JOIN PWCMPPAY PAY
                     ON  PAY.COMPANYID = VES.NUMORGIDABOVE
                         AND PAY.[PERIOD] = VESPAY.PERIODE
                LEFT JOIN PWORG CMP
                     ON  CMP.NUMORGID = PAY.COMPANYID
     )

SELECT (
           (
               SELECT STARTDATE+CHAR(9)+' '+ENDDATE+' '+CHAR(9)+VESLOCNAME+' '+CHAR(10)
               FROM   cteSrc z
               WHERE  z.VESSELNUMORGID = ves.NUMORGID
               ORDER BY
                      STARTDATE
                      FOR XML PATH('')
                     ,TYPE
           ).value('.' ,'varchar(max)')
       )           AS #DETAILS
      ,(
           SELECT DISTINCT     PERIODE
           FROM   cteSrc       z
           WHERE  z.VESSELNUMORGID = ves.NUMORGID
       )           AS #CurrentPeriod
      ,ves.[NAME]  AS #VesselName
      ,tel.teleno  AS #Email

...

FROM   PWORG ves

...


      

...

 JOIN PWORGTEL TEL
            ON  TEL.NUMORGID = ves.NUMORGID
                AND TEL.TELETYPE = '6'
WHERE  ves.ORGTYPE = 3
       AND ISNULL(ves.PASSIVE ,'')<>'T'

...