<!--- #10569 Daily dashboard: VBP Alerts (VBP_Analysis_MorV_NEW conflicting answers) — Dash_emp_count + Email_Daily_QA --->
<cfparam name="Request.vbpAlertsSkipEmail" default="false">
<cfparam name="Request.vbpAlertsExpireOld" default="false">
<cfparam name="Request.vbpAlertsExpireEmpIdOnly" default="0">
<cfparam name="Request.vbpAlertsRestrictEmpId" default="0">
<cfset vbpAlertsHeader = "vbp_alerts">

<cfif NOT structKeyExists(Request, "vbpAlertsAgencyId") OR NOT len(trim(Request.vbpAlertsAgencyId))>
	<cfif IsDefined("Agencylist") AND structKeyExists(Agencylist, "Agency_ID")>
		<cfset Request.vbpAlertsAgencyId = Agencylist.Agency_ID>
	</cfif>
</cfif>

<cfif NOT IsDefined("currentDate")>
	<cfset currentDate = CreateODBCDate(Now())>
</cfif>
<cfif NOT IsDefined("currentTimestamp")>
	<cfset currentTimestamp = Now()>
</cfif>

<cfif Request.vbpAlertsExpireOld>
	<cfquery name="expireVbpAlertsEmail" datasource="#Application.DataSrc#">
		UPDATE #Request.prefix_db_agency#.Email_Daily_QA
		SET status = 1
		WHERE status = 0 AND Header IN ('vbp_alerts', 'vbp alerts')
	</cfquery>
	<cfquery name="expireVbpAlertsDash" datasource="#Application.DataSrc#">
		UPDATE #Request.prefix_db_agency#.Dash_emp_count
		SET status = 1
		WHERE status = 0 AND Header IN ('vbp_alerts', 'vbp alerts')
			<cfif IsNumeric(Request.vbpAlertsExpireEmpIdOnly) AND Request.vbpAlertsExpireEmpIdOnly GT 0>
				AND Emp_ID = <cfqueryparam value="#Request.vbpAlertsExpireEmpIdOnly#" cfsqltype="CF_SQL_INTEGER">
			</cfif>
	</cfquery>
</cfif>

<cfif NOT structKeyExists(Request, "vbpAlertsEmpId")>
	<cfset Request.vbpAlertsEmpId = 0>
</cfif>
<cfinclude template="vbp_alerts_data_inc.cfm">

<cfset vbpAlertCounts = StructNew()>
<cfloop query="getVbpAlerts">
	<cfset empIDToUse = AssignedEmpID>
	<cfif NOT IsNumeric(empIDToUse) OR empIDToUse EQ 0>
		<cfset empIDToUse = 2>
	</cfif>
	<cfif NOT StructKeyExists(vbpAlertCounts, empIDToUse)>
		<cfset vbpAlertCounts[empIDToUse] = 0>
	</cfif>
	<cfset vbpAlertCounts[empIDToUse] = vbpAlertCounts[empIDToUse] + 1>

	<cfif NOT Request.vbpAlertsSkipEmail>
		<cfset empFirstVal = Len(Trim(Emp_First)) ? Trim(Emp_First) : "">
		<cfset empLastVal = Len(Trim(Emp_Last)) ? Trim(Emp_Last) : "">
		<cfquery name="insertVbpAlertEmail" datasource="#Application.DataSrc#">
			INSERT INTO #Request.prefix_db_agency#.Email_Daily_QA
			(Daily_QA_Date, Assmt_ID, Emp_ID, Patient_ID, Pt_Last, Pt_First, Emp_First, Emp_Last, Header, Description, Created_Date, status)
			VALUES (
				<cfqueryparam value="#currentDate#" cfsqltype="CF_SQL_DATE">,
				<cfqueryparam value="#Assmt_ID#" cfsqltype="CF_SQL_INTEGER">,
				<cfqueryparam value="#empIDToUse#" cfsqltype="CF_SQL_INTEGER">,
				<cfqueryparam value="#Patient_ID#" cfsqltype="CF_SQL_INTEGER">,
				<cfqueryparam value="#Pt_Last#" cfsqltype="CF_SQL_VARCHAR">,
				<cfqueryparam value="#Pt_First#" cfsqltype="CF_SQL_VARCHAR">,
				<cfqueryparam value="#empFirstVal#" cfsqltype="CF_SQL_VARCHAR" null="#NOT Len(empFirstVal)#">,
				<cfqueryparam value="#empLastVal#" cfsqltype="CF_SQL_VARCHAR" null="#NOT Len(empLastVal)#">,
				<cfqueryparam value="#vbpAlertsHeader#" cfsqltype="CF_SQL_VARCHAR">,
				<cfqueryparam value="#VBP_Alert#" cfsqltype="CF_SQL_LONGVARCHAR">,
				<cfqueryparam value="#currentTimestamp#" cfsqltype="CF_SQL_TIMESTAMP">,
				<cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER">
			)
		</cfquery>
	</cfif>
</cfloop>

<cfif IsNumeric(Request.vbpAlertsRestrictEmpId) AND Request.vbpAlertsRestrictEmpId GT 0>
	<cfset restrictEmpId = Request.vbpAlertsRestrictEmpId>
	<cfset vbpAlertCount = StructKeyExists(vbpAlertCounts, restrictEmpId) ? vbpAlertCounts[restrictEmpId] : 0>
	<cfif vbpAlertCount GT 0>
		<cfquery name="insertVbpAlertsDashCount" datasource="#Application.DataSrc#">
			INSERT INTO #Request.prefix_db_agency#.Dash_emp_count
			(Daily_QA_Date, Emp_ID, Emp_Count, Header, Created_Date, status)
			VALUES (
				<cfqueryparam value="#currentDate#" cfsqltype="CF_SQL_DATE">,
				<cfqueryparam value="#restrictEmpId#" cfsqltype="CF_SQL_INTEGER">,
				<cfqueryparam value="#vbpAlertCount#" cfsqltype="CF_SQL_INTEGER">,
				<cfqueryparam value="#vbpAlertsHeader#" cfsqltype="CF_SQL_VARCHAR">,
				<cfqueryparam value="#currentTimestamp#" cfsqltype="CF_SQL_TIMESTAMP">,
				<cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER">
			)
		</cfquery>
	</cfif>
<cfelse>
	<cfloop collection="#vbpAlertCounts#" item="empID">
		<cfif vbpAlertCounts[empID] GT 0>
			<cfquery name="insertVbpAlertsDashCount" datasource="#Application.DataSrc#">
				INSERT INTO #Request.prefix_db_agency#.Dash_emp_count
				(Daily_QA_Date, Emp_ID, Emp_Count, Header, Created_Date, status)
				VALUES (
					<cfqueryparam value="#currentDate#" cfsqltype="CF_SQL_DATE">,
					<cfqueryparam value="#empID#" cfsqltype="CF_SQL_INTEGER">,
					<cfqueryparam value="#vbpAlertCounts[empID]#" cfsqltype="CF_SQL_INTEGER">,
					<cfqueryparam value="#vbpAlertsHeader#" cfsqltype="CF_SQL_VARCHAR">,
					<cfqueryparam value="#currentTimestamp#" cfsqltype="CF_SQL_TIMESTAMP">,
					<cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER">
				)
			</cfquery>
		</cfif>
	</cfloop>
</cfif>
