%
sql = "SELECT Employer_Id FROM mypayelive.employer_account_usage where usage_id >=395987 and Agency_Invoice_Empl_Mths = 0 and DateEntered < '2017-05-04' group by employer_id"
set rsEmpltoCheck = OpenRecordset(objConn, sql)
iCount = 0
do while not rsEmpltoCheck.eof
bCheckNeeded = false
strReason = ""
sql = "SELECT * FROM mypayelive.employer_account_usage where employer_id = " & rsEmpltoCheck("Employer_Id") & " and dateentered > '2017-01-01' ORDER BY Usage_ID"
set rsUsage = OpenRecordset(objConn, sql)
if not rsUsage.eof then
sql = "SELECT Invoice_Agency from mypayelive.employers where employer_id = " & rsEmpltoCheck("employer_id")
set rsEmployer = OpenRecordset(objConn, sql)
lastBal = rsUsage("Employee_Months_Bal")
rsUsage.movenext
bCorrected = false
do while not rsUsage.EOF
' has balance increased without a purchase ?
if rsUsage("Employee_Months_Bal") > lastBal and "" & rsUsage("Invoice_ID") = "" and "" & rsUsage("Credit_Type") <> "T" and "" & rsUsage("Credit_Type") <> "C" then
' yes
if cBool(rsEmployer("Invoice_Agency")) and lastBal = 0 then
sql = "UPDATE mypayelive.employer_account_usage SET Employee_Months_Bal = 0 where Usage_ID = " & rsUsage("Usage_ID")
ExecuteSQL objConn, sql
response.write rsEmpltoCheck("employer_id") & " usage balance set to 0 as Agency billed" & "
" & vbcrlf
bCorrected = true
else
bCheckNeeded = true
strReason = "A " & rsUsage("Usage_ID") & " " & rsUsage("Employee_Months_Bal") & " " & lastBal
exit do
end if
elseif rsUsage("Employee_Months_Bal") < lastBal - rsUsage("Employees_Paid") and rsUsage("Payroll_Type") <> "A" and rsUsage("CIS_Paylist_ID") < 0 then
' not, reduced by more than employee paid count
bCheckNeeded = true
strReason = "B " & rsUsage("Usage_ID") & " " & rsUsage("Employee_Months_Bal") & " " & lastBal - rsUsage("Employees_Paid")
exit do
elseif rsUsage("Employee_Months_Bal") < lastBal - (rsUsage("Employees_Paid") * 12) and rsUsage("Payroll_Type") = "A" then
' not, reduced by more than employee paid count
bCheckNeeded = true
strReason = "B " & rsUsage("Usage_ID") & " " & rsUsage("Employee_Months_Bal") & " " & lastBal - (rsUsage("Employees_Paid") * 12)
exit do
end if
if not bCorrected then
lastBal = rsUsage("Employee_Months_Bal")
end if
rsUsage.movenext
loop
if bCheckNeeded then
response.write rsEmpltoCheck("employer_id") & " " & strReason & "
" & vbcrlf
iCount = iCount + 1
end if
rsEmployer.close
end if
rsEmpltoCheck.movenext
loop
rsEmpltoCheck.close
response.write "Count " & iCount & "
" & vbcrlf
objConn.close
set objConn = nothing
%>