Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function getQtdDevolvidaPendente($idfilial, $iditembase) {
- $stmt = $this->_connection->prepare("WITH movimento
- AS (SELECT sim.quantidade,
- sh.idsituacaoautorizacaodevolucao,
- sh.datamovimento,
- Max(sh.datamovimento)
- OVER (
- partition BY s.idsolicitacao) AS ultimomovimento
- FROM gdc.solicitacaoitem si
- JOIN gdc.solicitacaoitemmotivo sim
- ON sim.idfilial = si.idfilial
- AND sim.idsolicitacaoitem = si.idsolicitacaoitem
- JOIN gdc.solicitacao s
- ON s.idfilial = si.idfilial
- AND s.idsolicitacao = si.idsolicitacao
- JOIN gdc.solicitacaohistorico sh
- ON sh.idfilial = s.idfilial
- AND sh.idsolicitacao = s.idsolicitacao
- WHERE si.idfilial = :idfilial
- AND si.iditembase = :iditembase)
- SELECT Sum(m.quantidade) AS quantidade
- FROM movimento m
- WHERE m.datamovimento = ultimomovimento
- AND m.idsituacaoautorizacaodevolucao IN (" . Solicitacao::SITUACAO_AUTORIZADA_FORNECEDOR . "," . Solicitacao::SITUACAO_AGUARDANDO_AUTORIZACAO_FORNECEDOR . "," . Solicitacao::SITUACAO_AUTORIZADA_AUTOMATICAMENTE_CD ."," .Solicitacao::SITUACAO_AGUARDANDO_GERACAO_NOTA_DEVOLUCAO. ") ");
- $stmt->bind([
- 'iditembase' => $iditembase,
- 'idfilial' => $idfilial,
- ], [
- 'iditembase' => 'integer',
- 'idfilial' => 'integer',
- ]);
- $stmt->execute();
- $retorno = $stmt->fetch("assoc");
- return $retorno['quantidade'];
- }
- public function getQtdDevolvida($idfilial, $iditembase) {
- $stmt = $this->_connection->prepare("SELECT Sum(COALESCE(ibd.quantidade, 0)) AS quantidade
- FROM rst.itemnotadevolucao ind
- JOIN rst.itembase ibd
- ON ibd.idfilial = ind.idfilial
- AND ibd.iditembase = ind.iditembasedevolucao
- WHERE ind.idfilial = :idfilial
- AND ind.iditembasereferente = :iditembase ");
- $stmt->bind([
- 'iditembase' => $iditembase,
- 'idfilial' => $idfilial,
- ], [
- 'iditembase' => 'integer',
- 'idfilial' => 'integer',
- ]);
- $stmt->execute();
- $retorno = $stmt->fetch("assoc");
- return $retorno['quantidade'];
- }
- public function totalDevolucoes($idfilial, $iditembase) {
- return (int) $this->getQtdDevolvida($idfilial, $iditembase) + $this->getQtdDevolvidaPendente($idfilial, $iditembase);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement