Guest User

Untitled

a guest
Nov 22nd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.91 KB | None | 0 0
  1. function carregaProdutosNaNota(itens) {
  2.  
  3. var table_produtos_nota;
  4.  
  5. table_produtos_nota = $('#produtos-nota tbody');
  6. table_produtos_nota.html('');
  7. $('.appended').remove();
  8.  
  9. $.each(itens, function(index, val) {
  10.  
  11. quantidade = (typeof val['qtd'] === 'undefined') ? val['quantidade'] : val['qtd'];
  12. cod_produto = (typeof val['cod-produto'] === 'undefined') ? val['cod_produto'] : val['cod-produto'];
  13. descricao = (val['descricao'] === null) ? val['nome'] : val['descricao'];
  14. sit_trib = (typeof val['cod-sit-trib'] === 'undefined') ? val['cod_situacao_tributaria'] : val['cod-sit-trib'];
  15. valor_produto = (typeof val['valor-produto'] === 'undefined') ? val['valor_unitario'] : val['valor-produto'];
  16. valor_final = (typeof val['valor-final'] === 'undefined') ? val['valor_total'] : val['valor-final'];
  17. desconto = (typeof val['desconto'] === 'undefined') ? val['desconto_aplicado'] : val['desconto'];
  18.  
  19. table_produtos_nota.append(
  20. '<tr>' +
  21. '<td><input type="hidden" name="item[' + index + '][qtd]" value="' + quantidade + '">' + quantidade + '</td>' +
  22. '<td><input type="hidden" name="item[' + index + '][cod-produto]" value="' + cod_produto + '">' + cod_produto + '</td>' +
  23. '<td><input class="required" type="text" name="item[' + index + '][descricao]" value="' + descricao + '">' + '</td>' +
  24. '<td><input class="cst required" name="item[' + index + '][cst]" type="text" value="' + sit_trib + '">' +
  25. '<td><input class="cfop required" name="item[' + index + '][cfop]" type="text" value="' + '?' + '"></input></td>' +
  26. '<td><input type="hidden" name="item[' + index + '][valor-produto]" value="' + valor_produto + '">' + valor_produto + '</td>' +
  27. '<td><input type="hidden" name="item[' + index + '][valor-final]" value="' + valor_final + '"><input type="hidden" name="item[' + index + '][desconto]" value="' + desconto + '">' + valor_final + '</td>' +
  28. '</tr>'
  29. )
  30.  
  31. $('#form-nfce-cfe').append(
  32. '<input class="appended" type="hidden" name="item[' + index + '][qtd]" value="' + quantidade + '">' +
  33. '<input class="appended" type="hidden" name="item[' + index + '][cod-produto]" value="' + cod_produto + '">' +
  34. '<input class="appended" type="hidden" name="item[' + index + '][descricao]" value="' + descricao + '">' +
  35. '<input class="appended cst" name="item[' + index + '][cst]" type="hidden" value="' + sit_trib + '">' +
  36. '<input class="appended cfop-nfce" name="item[' + index + '][cfop]" type="hidden" value="' + '?' + '">' +
  37. '<input class="appended" type="hidden" name="item[' + index + '][valor-produto]" value="' + valor_produto + '">' +
  38. '<input class="appended" type="hidden" name="item[' + index + '][valor-final]" value="' + valor_final + '">'
  39. )
  40. });
  41. }
  42.  
  43. public function registraItensVenda($last_insert_id_vendas) {
  44.  
  45. foreach ($this->Itens as $key => $item) {
  46.  
  47. $result = DB::table('itens')->insert([
  48. 'quantidade' => $item['qtd'],
  49. 'cod_produto' => $item['cod-produto'],
  50. 'id_venda' => $last_insert_id_vendas,
  51. 'cfop' => isset($data['cfop']) ? $data['cfop'] : NULL,
  52. 'desconto_aplicado' => self::calculaDescontoProdutos($item),
  53. 'valor_produto' => verificaPropriedade($item, 'valor-produto', 'currency')
  54. ]);
  55.  
  56. Produtos::updateEstoque($item['cod-produto'], 'subtracao', $item['qtd']);
  57. }
  58. return $result;
  59. }
  60.  
  61. <?php
  62.  
  63. private $Request;
  64. private $RequestData;
  65. private $IdEmpresa;
  66. private $DadosEmpresa;
  67.  
  68. public function __construct(Request $request) {
  69. $this->Request = $request;
  70. $this->RequestData = $request->all();
  71. $this->IdEmpresa = User::getClientByAuth()->id_cliente;
  72. $this->DadosEmpresa = User::getDadosEmpresa($this->IdEmpresa);
  73. }
  74.  
  75. public function index($id = '') {
  76.  
  77. $user = Auth::user();
  78. $cliente = User::getClientByUser($user->id_cliente, $user->id_loja);
  79.  
  80. $data['entidade'] = 'vendedor';
  81. $data['start'] = '';
  82. $data['length'] = '';
  83.  
  84. $vendedores = Pessoas::getPessoas($data, false);
  85. $formas_pgto = Vendas::getFormasPgto();
  86. $estados = Localidade::getEstados();
  87. $origem = 'venda';
  88.  
  89. if(!empty($id) AND is_numeric($id)) {
  90. $origem = 'orcamento';
  91. $id_orcamento = $id;
  92. $orcamento = Orcamentos::getOrcamentos(['id-orcamento' => $id_orcamento]);
  93. $itens_orcamento = Orcamentos::getItensOrcamentos($id_orcamento);
  94.  
  95. $soma_itens = 0;
  96. $desc_max = 0;
  97.  
  98. foreach ($itens_orcamento as $key => $iten) {
  99. $itens_orcamento[$key]->valor_total = $iten->valor_un * $iten->qtd;
  100. $desc_max += $iten->desc_max;
  101. $soma_itens += $iten->qtd;
  102. }
  103.  
  104. $orcamento[0]->soma_itens = $soma_itens;
  105. $orcamento[0]->desc_max = $desc_max;
  106. $orcamento[0]->valor_final = $orcamento[0]->valor_total - $orcamento[0]->desconto;
  107. }
  108.  
  109. return view('vendas.frente-caixa', [
  110. 'vendedores' => $vendedores,
  111. 'formas_pgto' => $formas_pgto,
  112. 'estados' => $estados,
  113. 'padrao_nota' => $cliente[0]->nota_padrao,
  114. 'user' => $user,
  115. 'dados_empresa' => $this->DadosEmpresa,
  116. 'orcamento' => empty($orcamento) ? NULL : $orcamento[0],
  117. 'itens' => empty($itens_orcamento) ? NULL : $itens_orcamento,
  118. 'origem' => $origem,
  119. 'id_orcamento' => empty($id_orcamento) ? NULL : $id_orcamento
  120. ]);
  121. }
  122.  
  123. public function insertProductCaixa(Request $request) {
  124.  
  125. $this->validate($request, [
  126. 'cod-produto' => 'required'
  127. ]);
  128.  
  129. $data = $request->all();
  130. $produto = Produtos::getProdutos($data);
  131. echo json_encode($produto);
  132. }
  133.  
  134. public function buscaClientes(Request $request) {
  135.  
  136. $data = $request->all();
  137. $data['entidade'] = 'cliente';
  138.  
  139. $clientes = Pessoas::getPessoas($data);
  140. $total_clientes = Pessoas::getPessoas($data, false);
  141. $total_clientes = count($total_clientes);
  142.  
  143. $data['result'] = $clientes;
  144. $data['total-pessoas'] = $total_clientes;
  145.  
  146. $json = Vendas::_convertToJson($data);
  147. }
  148.  
  149. public function buscaProdutos(Request $request) {
  150.  
  151. $data = $request->all();
  152.  
  153. $produtos = Produtos::getProdutos($data, true);
  154. $total_produtos = count(Produtos::getProdutos($data));
  155.  
  156. $data['result'] = $produtos;
  157. $data['total-result'] = $total_produtos;
  158.  
  159. $json = Vendas::_convertProductsToJson($data);
  160. }
  161.  
  162. public function registraVenda(Request $request) {
  163.  
  164. $data = $request->all();
  165. $venda = new Vendas($data);
  166. $result = $venda->registraVenda();
  167. return json_encode($result);
  168. }
  169.  
  170. public function excluirVenda($id_venda) {
  171. $del_venda = Vendas::excluirVenda($id_venda);
  172. return redirect('/vendas/consulta-venda?success=' . $del_venda);
  173. }
  174.  
  175. public function consultaVenda(Request $request) {
  176.  
  177. $data = $request->all();
  178.  
  179. if($request->isMethod('get')) {
  180. $estados = Localidade::getEstados();
  181. return view('vendas.consulta-venda', ['estados' => $estados, 'dados_empresa' => $this->DadosEmpresa]);
  182. }
  183.  
  184. else {
  185.  
  186. $vendas = Vendas::getVendas($data, true);
  187. $total_vendas = count(Vendas::getVendas($data, false));
  188.  
  189. $data['total-result'] = $total_vendas;
  190. $data['result'] = $vendas;
  191.  
  192. $json_vendas = Vendas::_convertVendasToJson($data);
  193. }
  194. }
  195.  
  196. public function relatorioVendas() {
  197.  
  198. $relatorio_vendas = Vendas::relatorioVendas($this->RequestData);
  199. $relatorio_vendedores = Vendas::GetMelhoresVendedores($this->RequestData);
  200. $produtos_mais_vendidos = Vendas::produtosMaisVendidos($this->RequestData);
  201. $clientes_mais_compram = Vendas::clientesMaisCompram($this->RequestData);
  202.  
  203. return view('vendas.relatorios', ['relatorio_vendas' => $relatorio_vendas, 'relatorio_vendedores' => $relatorio_vendedores, 'top_produtos' => $produtos_mais_vendidos, 'best_clients' => $clientes_mais_compram]);
  204.  
  205. }
  206.  
  207. public function getVenda($id_venda, $target) {
  208. $venda = Vendas::getVenda($id_venda, $target);
  209. echo json_encode($venda);
  210. }
  211.  
  212. // impressao e geracao de pdf da venda
  213. public function impressao($action, $id = '') {
  214.  
  215. switch ($action) {
  216. case 'imprimir':
  217. $venda = Vendas::getVenda($id, 'view');
  218. $dados_empresa = Empresa::getEmpresa();
  219. $soma_itens = 0;
  220.  
  221. foreach ($venda['itens-venda'] as $key => $iten) {
  222. $soma_itens += $iten->quantidade;
  223. }
  224.  
  225. $venda[0]->soma_itens = $soma_itens;
  226. return view('vendas.print', [
  227. 'venda' => $venda,
  228. 'dados_empresa' => $dados_empresa[0]
  229. ]);
  230. break;
  231.  
  232. case 'pdf':
  233. $venda = Vendas::getVenda($id, 'view');
  234. $dados_empresa = Empresa::getEmpresa();
  235. $soma_itens = 0;
  236.  
  237. foreach ($venda['itens-venda'] as $key => $iten) {
  238. $soma_itens += $iten->quantidade;
  239. }
  240.  
  241. $venda[0]->soma_itens = $soma_itens;
  242.  
  243. $pdf = PDF::loadView('vendas.pdf', [
  244. 'venda' => $venda,
  245. 'dados_empresa' => $dados_empresa[0],
  246. ]);
  247. return $pdf->stream();
  248. break;
  249.  
  250. default:
  251. # code...
  252. break;
  253. }
  254. }
  255.  
  256. public function geraCupomNaoFiscal() {
  257.  
  258. $data = $this->RequestData;
  259. $dados_empresa = User::getDadosEmpresa($data['id_empresa']);
  260.  
  261. if(!empty($data[0]['id_pessoa'])) {
  262. $cliente = Pessoas::getPessoa($data[0]['id_pessoa']);
  263. } else {
  264. $cliente = '';
  265. }
  266.  
  267. return view('cupom.index', ['dados_empresa' => $dados_empresa, 'dados_cupom' => $data, 'cliente' => $cliente]);
  268. }
  269.  
  270. public function geraSat(Request $request) {
  271.  
  272. $data = $request->all();
  273.  
  274. if($request->isMethod('get')) {
  275. $cupom = new Sat($data);
  276. }
  277. }
  278.  
  279. public function fluxoCaixa() {
  280.  
  281. $data = $this->RequestData;
  282. $users = User::getUserByClient();
  283.  
  284. if ($this->Request->isMethod('post')) {
  285. $vendas = Vendas::fluxoVendas($data);
  286. }
  287. else {
  288. $vendas = Vendas::fluxoVendas();
  289. }
  290.  
  291. return view('vendas.fluxo-caixa', ['vendas' => $vendas, 'users' =>$users]);
  292. }
Add Comment
Please, Sign In to add comment