Skip to main content

qs-dispatch

For billing integration, set your Config in qs-dispatch to Config.Billing = 'bcs_companymanager'

Client side​

qs-dispatch/client/custom/billing/bcs_companymanager.lua
if Config.Billing ~= "bcs_companymanager" then
return
end

function CreateBill(amount, text)
local from = {
label = 'Police',
job = 'police',
identifier = 'police',
}
TriggerServerEvent('bill:createBill', GetPlayerServerId(PlayerId()), tonumber(amount), text, from)
end

Server side​

qs-dispatch/server/custom/billing/bcs_companymanager.lua
if Config.Billing ~= "bcs_companymanager" then
return
end

function getBills(a, cb, data)
MySQL.Async.fetchAll(
"SELECT * FROM billings WHERE identifier = @identifier AND company = @company",
{ ["@identifier"] = data.identifier, ['@company'] = GetJobName(a) },
function(result)
if result then
local bills = {}
for key, value in pairs(result) do
local day, month, year = value.deadline:match("(%d+)/(%d+)/(%d+)")
table.insert(
bills,
{
["author_name"] = value["biller"] or 'Not defined', -- value["row_name of author name in your SQL"]
["timestamp"] = year..'-'..month..'-'..day, -- value["row_name of timestamp in your SQL"]
["status"] = value["status"] or 'unpayed', -- value["row_name of status in your SQL"]
["item"] = value["description"] or 'Not defined', -- value["row_name of item/text in your SQL"]
}
)
end
DebugPrint(bills)
cb(bills)
else
cb(false)
end
end
)
end

RegisterServerCallback("qs-dispatch:server:getBills", getBills)