﻿<?xml version="1.0" encoding="utf-8" ?>

<QUERIES>

  <GET_QUEUE_DATA>
    SELECT TOP %RECCOUNT% D.SM_D_ID,FUNCTION_ID,d.SCREEN_NAME,d.auto_id,convert(varchar(10),dp.LAST_UPDATE-1,%DF%) ,D.MODULE_ID,convert(varchar(10),GETDATE(),%DF%)
    FROM SM_DATA D WITH(NOLOCK)
    LEFT JOIN SM_DATA_PROCESS DP WITH(NOLOCK) ON DP.SM_D_ID = D.SM_D_ID and FUNCTION_ID = %1% AND MODULE_ID = %2%
    WHERE FUNCTION_ID = %1% AND MODULE_ID = %2% AND (cast(LAST_RUN as date) %OPERATOR% cast(GETDATE() as date) OR LAST_RUN IS NULL)
    AND (D.IS_DEL=0 OR D.IS_DEL IS NULL)  AND QUEUE_ID='%QUEUE_ID%' %ID%
    GROUP BY D.SM_D_ID,FUNCTION_ID,d.SCREEN_NAME,d.auto_id,convert(varchar(10),dp.LAST_UPDATE-1,101) ,D.MODULE_ID
  </GET_QUEUE_DATA>

  <UPDATE_QUEUE_LAST_RUN_PRIORITY>
    UPDATE SM_DATA_PROCESS
    SET LAST_RUN_N = LAST_RUN , LAST_RUN = LAST_RUN - 1
    WHERE QUEUE_ID = '%QUEUE_ID%' AND FUNCTION_ID ='%FUNCTION_ID%'
    --AND FUNCTION_ID NOT IN (%FUNCTIONS%)
  </UPDATE_QUEUE_LAST_RUN_PRIORITY>

  <GENERAL_GET_SM>
    SELECT TOP %RECCOUNT% D.SM_D_ID,FUNCTION_ID,d.SCREEN_NAME,d.auto_id,convert(varchar(10),dp.LAST_UPDATE-1,%DF%) ,D.MODULE_ID,convert(varchar(10),GETDATE(),%DF%)
    FROM SM_DATA D WITH(NOLOCK)
    LEFT JOIN SM_DATA_PROCESS DP WITH(NOLOCK) ON DP.SM_D_ID = D.SM_D_ID and FUNCTION_ID = %1% AND MODULE_ID = %2%
    LEFT JOIN FAMILY_MEMBER FM WITH(NOLOCK) ON FM.AUTO_ID = D.AUTO_ID
    LEFT JOIN FAMILY_DETAILS FD WITH(NOLOCK) ON FD.F_ID = FM.F_ID
    LEFT JOIN PM_GRP_MBR GRP WITH(NOLOCK) ON GRP.AUTO_ID = D.AUTO_ID
    WHERE FUNCTION_ID = %1% AND MODULE_ID = %2% AND (cast(LAST_RUN as date) %OPERATOR% cast(GETDATE() as date) OR LAST_RUN IS NULL)  AND (D.IS_DEL=0 OR D.IS_DEL IS NULL) %COUNTRY% %TYPE% %CAT% %GRP% %ID%
    GROUP BY D.SM_D_ID,FUNCTION_ID,d.SCREEN_NAME,d.auto_id,convert(varchar(10),dp.LAST_UPDATE-1,101) ,D.MODULE_ID
    order by newid()
  </GENERAL_GET_SM>
  


<NEWS_QUEUE_GET_SM>
    SELECT TOP %RECCOUNT%  AUTO_ID,LAST_UP ,DATETO,WORDS
    FROM(
    SELECT DISTINCT d.AUTO_ID,convert(varchar(10),D.LAST_UP-1,%DF%) AS LAST_UP ,convert(varchar(10),GETDATE(),%DF%) AS DATETO,
    (SELECT ID_NO,KEYWORDS,(CASE WHEN GRP_ID IS NULL OR GRP_ID ='' THEN 'nabd' ELSE GRP_NAME  END) GRP_NAME FROM FT_NEWS_LK WITH(NOLOCK)
    WHERE  (KEYWORDS IS NOT NULL AND KEYWORDS!='')
    AND (IS_DELETED IS NULL OR IS_DELETED= 0)
    AND AUTO_ID = D.AUTO_ID AND ( (CONVERT(DATE,LAST_RUN_DT,%DF%) %OPERATOR% CONVERT(DATE,GETDATE(),%DF%) )    OR LAST_RUN_DT IS NULL) FOR XML PATH('WORDS') ,
    ROOT('Root')) WORDS
    FROM FT_NEWS_LK D WITH(NOLOCK)
    WHERE ( (CAST(LAST_RUN_DT AS DATE) %OPERATOR% CAST(GETDATE() AS DATE) )    OR LAST_RUN_DT IS NULL)
    AND KEYWORDS IS NOT NULL AND KEYWORDS!=''    
    AND (D.IS_DELETED IS NULL OR D.IS_DELETED= 0) AND QUEUE_ID='%QUEUE_ID%' %ID%
    GROUP BY D.AUTO_ID,D.LAST_UP
    )A
    order by newid()
  </NEWS_QUEUE_GET_SM>

</QUERIES>