Ejemplo de módulo SQL list donde aplicar el uso de clases para establecer una línea de tiempo
Daniel Lutz
empezó un tema
más de 3 años hace
Os dejo un ejemplo de módulo SQL list donde aplicar el uso de clases propias de flexygo para establecer una línea de tiempo.
En este caso estaremos visualizando las acciones pasadas de los empleados para una cuenta específica. Para más información puedes visualizar la formación de módulos sql list: https://www.youtube.com/watch?v=pOiZSjfTWuM
Este sería el resultado:
SQL:
SELECT TOP 3 ACTION.action_id, ACTION.descrip, isnull(lastact.startdate,ACTION.scheduledstart) as scheduledstart, isnull(lastact.enddate,ACTION.scheduledend) as scheduledend, ACTION.state_id, ACTION.type_id, ACTION.employee_id
,a.type_id as account_type_id
,t.descrip as descriptype
, e.firstname, e.lastname
,e.firstname + ' ' + ISNULL (e.lastname,'') as employeename
,e.image as employeeimage
,a.name as accountname
,c.name as contactname
,isnull(c.email, a.email) as contactemail, isnull(c.phone,a.phone) as contactphone, a.address
,CONVERT(varchar(5),ACTION.scheduledstart,108) as schstarttime
,CONVERT(varchar(5),ACTION.scheduledend,108) as schendtime
,CASE
WHEN DATEDIFF(SECOND, isnull(lastact.enddate,ACTION.scheduledend), GETDATE()) < 60 THEN ' Just Posted'
WHEN DATEDIFF(MINUTE, isnull(lastact.enddate,ACTION.scheduledend), GETDATE()) < 60 THEN CAST(DATEDIFF(MINUTE, isnull(lastact.enddate,ACTION.scheduledend), GETDATE()) AS VARCHAR(10)) + ' Minutes ago'
WHEN DATEDIFF(MINUTE, isnull(lastact.enddate,ACTION.scheduledend), GETDATE()) < 24 * 60 THEN CAST(FLOOR(DATEDIFF(MINUTE, isnull(lastact.enddate,ACTION.scheduledend), GETDATE())/60) AS VARCHAR(10)) + ' Hours ago'
ELSE CAST(FLOOR(DATEDIFF(HOUR, isnull(lastact.enddate,ACTION.scheduledend), GETDATE())/24) AS VARCHAR(10)) + ' Days ago'
END AS postedon
,lastact.startdate, lastact.enddate, lastact.starttime, lastact.endtime
FROM ACTION
INNER JOIN ACTION_TYPE t on t.type_id=ACTION.type_id
LEFT JOIN ACCOUNT a on a.account_id=ACTION.account_id
LEFT JOIN CONTACT c on c.contact_id = ACTION.contact_id
LEFT JOIN EMPLOYEE e on e.employee_id=ACTION.employee_id
OUTER APPLY (Select top 1 startdate,CONVERT(varchar(5),startdate,108) as starttime, enddate ,CONVERT(varchar(5),enddate,108) as endtime from ACTION_TRACKING t where t.action_id= ACTION.action_id order by startdate desc) As lastact
WHERE ACTION.state_id > 2
ORDER BY ACTION.scheduledend DESC
Daniel Lutz
Os dejo un ejemplo de módulo SQL list donde aplicar el uso de clases propias de flexygo para establecer una línea de tiempo.
En este caso estaremos visualizando las acciones pasadas de los empleados para una cuenta específica. Para más información puedes visualizar la formación de módulos sql list: https://www.youtube.com/watch?v=pOiZSjfTWuM
Este sería el resultado:
SQL:
TEMPLATE
HEADER:
HTML:
FOOTER:
EMPTY: