Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function importarVenda($loja, $id_loja, $dado) {
- $importado = 0;
- $produto = $loja->produtos()->where('id_loja', preg_replace('/\D/', '', $dado['CODIGO']))->first();
- $venda = $loja->vendas()->where('id_loja', trim($dado['NOTA']))->first();
- if($loja->vendaItens()->where('id_loja', $id_loja)->count() == 0) {
- $loja->vendaItens()->create([
- 'id_loja' => $id_loja,
- 'produto_id' => $produto ? $produto->id : null,
- 'venda_id' => $venda ? $venda->id : null,
- 'valor' => strval($dado['VENDA']),
- 'custo' => strval($dado['CUSTO']),
- 'quantidade' => abs(intval($dado['QUANTIDADE'])),
- 'data' => is_string($dado['DATA'])
- ? \Carbon\Carbon::createFromFormat('Ymd', substr($dado['DATA'], 0, 8))
- : null
- ]);
- $importado++;
- } else {
- $vendaItem = $loja->vendaItens()->where('alltech_id', $alltech_id)->first();
- $vendaItem->update([
- 'produto_id' => $produto ? $produto->id : null,
- 'venda_id' => $venda ? $venda->id : null,
- 'valor' => strval($dado['VENDA']),
- 'quantidade' => abs(intval($dado['QUANTIDADE'])),
- 'custo' => strval($dado['CUSTO']),
- 'data' => is_string($dado['DATA'])
- ? \Carbon\Carbon::createFromFormat('Ymd', substr($dado['DATA'], 0, 8))
- : null
- ]);
- }
- }
- public function getDados($filename, $empresa) {
- $xml = simplexml_load_string(utf8_encode(Storage::get($filename)), "SimpleXMLElement", LIBXML_NOCDATA);
- $json = json_encode($xml);
- $dados = json_decode($json,TRUE);
- return [
- 'dados' => $dados['ROWDATA']['ROW'],
- 'loja' => null
- ];
- }
- static function vendaItens($empresa, $filename) {
- $self = new ImportXml;
- $dados = $self->getDados($filename, $empresa);
- $dados = $dados['dados'];
- $importado = 0;
- foreach($dados as $dado) {
- if(isset($dado['@attributes'])) {
- $dado = $dado['@attributes'];
- }
- $loja = $empresa->lojas()->where('id_loja', $dado['ID_LOJA'])->first();
- if($loja) {
- if(isset($dado['@attributes'])) {
- $dado = $dado['@attributes'];
- }
- if(is_array($dado['VENDA']) or !$dado['VENDA']) {
- $dado['VENDA'] = 0.0;
- }
- if(is_array($dado['CUSTO']) or !$dado['CUSTO']) {
- $dado['CUSTO'] = 0.0;
- }
- $alltech_id = trim(strval($dado['ID_REG']));
- if(trim($dado['MOVTO']) == 'VE') {
- $self->importarVenda($loja, $id_loja, $dado);
- $importado++;
- } elseif(trim($dado['MOVTO']) == 'DV') {
- $self->importarDevolucao($loja, $id_loja, $dado);
- $importado++;
- }
- }
- }
- return $importado;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement