Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um problema para realizar um select com o valor das comissões de vendas de cada usuário.
Os vendedores são os próprios users, contendo na venda o campo user_id, eu preciso pegar cada usuário e calcular sua comissão em cima da quantidade de venda que ele realizou.
Tabela User
id, name, username, password
Tabela Sale (Vendas)
id, amount (valor total), payment, user_id
Se a venda for payment '1' ele calcula comissão de 2%, se for diferente, é comissão de 3%.
Logo após, preciso somar esses dois valores e exibir em uma tabela com o nome e valor da comissão.
1. João R$548,00
2. Maria R$348,00
Eu utilizo o CakePHP 2.x para esse desenvolvimento, as tabelas já estão relacionadas, view e controller já estão feitos.
Eu preciso fazer mais ou menos isso, mas junto com um sum ou case e um order by, pois são vários vendedores para o cáculo da comissão, ou seja, preciso realizar esse case e colocar uma uma variável/virtual fiel, para ficar $comiss['Sale']['comissao'] (por exemplo)
$comiss = $this->Sale->virtualFields['comissao'] = '?';
$comiss = $this->Sale->find('all', array('conditions' => array(
'Sale.status' => 1,
array('Sale.created >= ' => date("Y-m").'-01'.' 00:00:00',
'Sale.created <= ' => date("Y-m").'-31'.' 23:59:59'
),
),
'group' => 'Sale.user_id',
array('fields' => array('user_id', 'comissao', 'created', 'User.name'))
));
Não testei aqui mas mais ou menos isso deve te atender.