144 lines
5.6 KiB
PHP
144 lines
5.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\ConfigGeral;
|
|
use App\Models\Nfce;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\ConfiguracaoCardapio;
|
|
use Illuminate\Support\Facades\File;
|
|
|
|
class ConfigGeralController extends Controller
|
|
{
|
|
public function create()
|
|
{
|
|
$item = ConfigGeral::where('empresa_id', request()->empresa_id)->first();
|
|
$config = ConfiguracaoCardapio::where('empresa_id', request()->empresa_id)->first();
|
|
if($item != null){
|
|
$item->notificacoes = json_decode($item->notificacoes);
|
|
$item->tipos_pagamento_pdv = $item != null && $item->tipos_pagamento_pdv ? json_decode($item->tipos_pagamento_pdv) : [];
|
|
$item->acessos_pdv_off = $item != null && $item->acessos_pdv_off ? json_decode($item->acessos_pdv_off) : [];
|
|
|
|
$item->home_componentes = $item != null && $item->home_componentes ? json_decode($item->home_componentes) : [];
|
|
}
|
|
|
|
$path = public_path('assets/images/small');
|
|
$smallImages = File::files($path);
|
|
|
|
$tiposPagamento = Nfce::tiposPagamento();
|
|
// dd($tiposPagamento);
|
|
if($item != null){
|
|
|
|
$temp = [];
|
|
if(sizeof($item->tipos_pagamento_pdv) > 0){
|
|
foreach($tiposPagamento as $key => $t){
|
|
if(in_array($t, $item->tipos_pagamento_pdv)){
|
|
$temp[$key] = $t;
|
|
}
|
|
}
|
|
$tiposPagamento = $temp;
|
|
}
|
|
}
|
|
|
|
return view('config_geral.index', compact('item', 'config', 'smallImages', 'tiposPagamento'));
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$item = ConfigGeral::where('empresa_id', request()->empresa_id)->first();
|
|
$config = ConfiguracaoCardapio::where('empresa_id', request()->empresa_id)->first();
|
|
|
|
try {
|
|
|
|
if($config){
|
|
$config->api_token = $request->api_token;
|
|
$config->save();
|
|
}else{
|
|
ConfiguracaoCardapio::create([
|
|
'empresa_id' => $request->empresa_id,
|
|
'nome_restaurante' => '',
|
|
'logo' => '',
|
|
'fav_icon' => '',
|
|
'telefone' => '',
|
|
'rua' => '',
|
|
'numero' => '',
|
|
'bairro' => '',
|
|
'cidade_id' => 1,
|
|
'api_token' => $request->api_token ?? '',
|
|
]);
|
|
}
|
|
if(!isset($request->notificacoes)){
|
|
$request->merge([
|
|
'notificacoes' => '[]'
|
|
]);
|
|
}else{
|
|
$request->merge([
|
|
'notificacoes' => json_encode($request->notificacoes)
|
|
]);
|
|
}
|
|
|
|
if(!isset($request->tipos_pagamento_pdv)){
|
|
$request->merge([
|
|
'tipos_pagamento_pdv' => '[]'
|
|
]);
|
|
}else{
|
|
$request->merge([
|
|
'tipos_pagamento_pdv' => json_encode($request->tipos_pagamento_pdv)
|
|
]);
|
|
}
|
|
|
|
if(!isset($request->acessos_pdv_off)){
|
|
$request->merge([
|
|
'acessos_pdv_off' => '[]'
|
|
]);
|
|
}else{
|
|
$request->merge([
|
|
'acessos_pdv_off' => json_encode($request->acessos_pdv_off)
|
|
]);
|
|
}
|
|
|
|
if(!isset($request->home_componentes)){
|
|
$request->merge([
|
|
'home_componentes' => '[]'
|
|
]);
|
|
}else{
|
|
$request->merge([
|
|
'home_componentes' => json_encode($request->home_componentes)
|
|
]);
|
|
}
|
|
|
|
// dd($request->all());
|
|
|
|
$request->merge([
|
|
'margem_combo' => $request->margem_combo ? __convert_value_bd($request->margem_combo) : 50,
|
|
'percentual_lucro_produto' => $request->percentual_lucro_produto ?? 0,
|
|
'ultimo_codigo_produto' => $request->ultimo_codigo_produto ?? 0,
|
|
'ultimo_codigo_cliente' => $request->ultimo_codigo_cliente ?? 0,
|
|
'margem_lateral_impressao' => $request->margem_lateral_impressao ?? 0,
|
|
'itens_por_pagina' => $request->itens_por_pagina ?? 30,
|
|
'tipo_pagamento_padrao' => $request->tipo_pagamento_padrao ?? 30,
|
|
'ultimo_codigo_fornecedor' => $request->ultimo_codigo_fornecedor ?? 0,
|
|
'mensagem_padrao_impressao_venda' => $request->mensagem_padrao_impressao_venda ?? '',
|
|
'mensagem_wpp_link' => $request->mensagem_wpp_link ?? '',
|
|
'mensagem_padrao_impressao_os' => $request->mensagem_padrao_impressao_os ?? '',
|
|
'cliente_padrao_pdv_off' => isset($request->cliente_padrao_pdv_off) ? $request->cliente_padrao_pdv_off : null,
|
|
|
|
'enviar_danfe_wpp_link' => $request->enviar_danfe_wpp_link ? 1 : 0,
|
|
'enviar_xml_wpp_link' => $request->enviar_xml_wpp_link ? 1 : 0,
|
|
'enviar_pedido_a4_wpp_link' => $request->enviar_pedido_a4_wpp_link ? 1 : 0,
|
|
]);
|
|
|
|
if ($item == null) {
|
|
ConfigGeral::create($request->all());
|
|
session()->flash("flash_success", "Dados cadastrados com sucesso!");
|
|
} else {
|
|
$item->fill($request->all())->save();
|
|
session()->flash("flash_success", "Dados alterados com sucesso!");
|
|
}
|
|
} catch (\Exception $e) {
|
|
session()->flash("flash_error", "Algo deu errado: " . $e->getMessage());
|
|
}
|
|
return redirect()->back();
|
|
}
|
|
}
|