68 lines
3.0 KiB
PHP
68 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\ProdutoTributacaoLocal;
|
|
use App\Models\Produto;
|
|
use App\Models\Localizacao;
|
|
use App\Models\Empresa;
|
|
|
|
class ProdutoTributacaoLocalController extends Controller
|
|
{
|
|
public function index(Request $request, $id){
|
|
$item = Produto::findOrFail($id);
|
|
$locais = Localizacao::where('empresa_id', $request->empresa_id)
|
|
->where('status', 1)->get();
|
|
|
|
$empresa = Empresa::findOrFail(request()->empresa_id);
|
|
|
|
$listaCTSCSOSN = Produto::listaCSTCSOSN();
|
|
|
|
return view('produtos.tributacao_por_local', compact('item', 'locais', 'listaCTSCSOSN'));
|
|
}
|
|
|
|
public function update(Request $request, $id){
|
|
$item = Produto::findOrFail($id);
|
|
try{
|
|
for($i=0; $i<sizeof($request->local_id); $i++){
|
|
$produtoTributacaoLocal = ProdutoTributacaoLocal::where('produto_id', $item->id)
|
|
->where('local_id', $request->local_id[$i])->first();
|
|
$data = [
|
|
'produto_id' => $item->id,
|
|
'local_id' => $request->local_id[$i],
|
|
'ncm' => $request->ncm[$i] ? $request->ncm[$i] : null,
|
|
'perc_icms' => $request->perc_icms[$i] ? $request->perc_icms[$i] : null,
|
|
'perc_pis' => $request->perc_pis[$i] ? $request->perc_pis[$i] : null,
|
|
'perc_cofins' => $request->perc_cofins[$i] ? $request->perc_cofins[$i] : null,
|
|
'perc_ipi' => $request->perc_ipi[$i] ? $request->perc_ipi[$i] : null,
|
|
'cest' => $request->cest[$i] ? $request->cest[$i] : null,
|
|
'origem' => $request->origem[$i] ? $request->origem[$i] : null,
|
|
'cst_csosn' => $request->cst_csosn[$i] ? $request->cst_csosn[$i] : null,
|
|
'cst_pis' => $request->cst_pis[$i] ? $request->cst_pis[$i] : null,
|
|
'cst_cofins' => $request->cst_cofins[$i] ? $request->cst_cofins[$i] : null,
|
|
'cst_ipi' => $request->cst_ipi[$i] ? $request->cst_ipi[$i] : null,
|
|
'valor_unitario' => $request->valor_unitario[$i] ? __convert_value_bd($request->valor_unitario[$i]) : null,
|
|
'cfop_estadual' => $request->cfop_estadual[$i] ? $request->cfop_estadual[$i] : null,
|
|
'cfop_outro_estado' => $request->cfop_estadual[$i] ? $request->cfop_outro_estado[$i] : null
|
|
];
|
|
|
|
if($i == 0){
|
|
$item->update($data);
|
|
}
|
|
if($produtoTributacaoLocal == null){
|
|
ProdutoTributacaoLocal::create($data);
|
|
}else{
|
|
$produtoTributacaoLocal->update($data);
|
|
}
|
|
}
|
|
session()->flash("flash_success", 'Dados atualizados!');
|
|
|
|
}catch(\Exception $e){
|
|
session()->flash("flash_error", $e->getMessage());
|
|
}
|
|
return redirect()->route('produtos.index');
|
|
|
|
}
|
|
}
|