Merge branch 'feat/confirmar_presupuesto_admin' into 'main'

ya se puede confirmar

See merge request jjimenez/safekat!276
This commit is contained in:
2024-06-16 16:04:33 +00:00
10 changed files with 94 additions and 69 deletions

View File

@ -295,6 +295,12 @@ class Cosidotapablanda extends \App\Controllers\BaseResourceController
endif;
else :
if ($this->request->isAJAX()) {
if($presupuestoEntity->estado_id==1 && $presupuestoEntity->confirmar==1){
$this->model->confirmarPresupuesto($id);
PresupuestoService::crearPedido($id);
}
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [

View File

@ -788,7 +788,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
if ($confirmar) {
$model_presupuesto->confirmarPresupuesto($id);
$this->crearPedido($id);
PresupuestoService::crearPedido($id);
}
return $this->respond([
@ -891,44 +891,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
* Funciones auxiliares
*
**********************/
public function crearPedido($presupuesto_id)
{
$model_pedido = model('App\Models\Pedidos\PedidoModel');
$model_pedido_linea = model('App\Models\Pedidos\PedidoLineaModel');
$model_cliente = model('App\Models\Clientes\ClienteModel');
$model_presupuesto = new PresupuestoModel();
$datos_presupuesto = $model_presupuesto->find($presupuesto_id);
$id_linea = 0;
$data_pedido = [
'total_precio' => $datos_presupuesto->total_aceptado,
'total_tirada' => $datos_presupuesto->tirada,
'estado' => $model_cliente->creditoDisponible($datos_presupuesto->cliente_id) ? "produccion" : "validacion",
'user_created_id' => auth()->user()->id,
'user_updated_id' => auth()->user()->id,
];
$pedido_id = $model_pedido->insert($data_pedido);
if($pedido_id){
$data_pedido_linea = [
"pedido_id" => $pedido_id,
"presupuesto_id" => $presupuesto_id,
"ubicacion_id" => 1, // safetak por defecto
"user_created_id" => auth()->user()->id,
"user_updated_id" => auth()->user()->id,
];
$id_linea = $model_pedido_linea->insert($data_pedido_linea);
}
if($id_linea != 0 && $pedido_id != 0){
return true;
}
return false;
}
protected function borrarRelacionesPresupuesto($id)
{
// Se borran las lineas de presupuesto

View File

@ -12,6 +12,7 @@ return [
'Close' => 'Close',
'Dashboard' => 'Dashboard',
'Delete' => 'Delete',
'Acept' => 'Acept',
'Clone' => 'Clone',
'Print' => 'Print',
'Error' => 'Error',

View File

@ -14,8 +14,7 @@ return [
'Clone' => 'Duplicar',
'Dashboard' => 'Panel de control',
'Delete' => 'Borrar',
'Clone' => 'Duplicar',
'Print' => 'Imprimir',
'Acept' => 'Aceptar',
'Error' => 'Error',
'Groups' => 'Grupos',
'Home' => 'Inicio',

View File

@ -207,6 +207,7 @@ return [
'resumen' => 'Resumen del presupuesto',
'confirmar' => 'Confirmar presupuesto',
'confirmado' => 'Presupuesto confirmado',
// Preview
'preview' => 'Previsualización de configuraciones',

View File

@ -1788,6 +1788,48 @@ class PresupuestoService extends BaseService
}
public static function crearPedido($presupuesto_id)
{
$model_pedido = model('App\Models\Pedidos\PedidoModel');
$model_pedido_linea = model('App\Models\Pedidos\PedidoLineaModel');
$model_cliente = model('App\Models\Clientes\ClienteModel');
$model_presupuesto = model('App\Models\Presupuestos\PresupuestoModel');
$datos_presupuesto = $model_presupuesto->find($presupuesto_id);
$id_linea = 0;
$data_pedido = [
'total_precio' => $datos_presupuesto->total_aceptado,
'total_tirada' => $datos_presupuesto->tirada,
'estado' => $model_cliente->creditoDisponible($datos_presupuesto->cliente_id) ? "produccion" : "validacion",
'user_created_id' => auth()->user()->id,
'user_updated_id' => auth()->user()->id,
];
$pedido_id = $model_pedido->insert($data_pedido);
if($pedido_id){
$data_pedido_linea = [
"pedido_id" => $pedido_id,
"presupuesto_id" => $presupuesto_id,
"ubicacion_id" => 1, // safetak por defecto
"user_created_id" => auth()->user()->id,
"user_updated_id" => auth()->user()->id,
];
$id_linea = $model_pedido_linea->insert($data_pedido_linea);
}
if($id_linea != 0 && $pedido_id != 0){
return true;
}
return false;
}
/********************************+
* FUNCIONES AUXILIARES *
*******************************/
// Funcion que comprueba si existe una maquina
private static function checkMaquina($maquina_id){

View File

@ -35,12 +35,16 @@
<div class="col-md-12 col-lg-3 px-4">
<div class="mb-3">
<label for="estadoId" class="form-label">
<label for="estado_id" class="form-label">
<?= lang('Presupuestos.presupuestoEstado') ?>
</label>
<select disabled id="estadoId" name="estado_id" maxLength="11" style="background-color: #E8E8E8;" class="form-control" value="<?= old(1, $presupuestoEntity->estado_id) ?>">
<option value=1><?=lang('Presupuestos.presupuestoEstadoBorrador') ?></option>
<option value=2><?=lang('Presupuestos.presupuestoEstadoAceptado') ?></option>
<select disabled id="estado_id" name="estado_id" maxLength="11" style="background-color: #E8E8E8;" class="form-control" value="<?= old(1, $presupuestoEntity->estado_id) ?>">
<option value=1 <?= $presupuestoEntity->estado_id==1? ' selected':''?>>
<?=lang('Presupuestos.presupuestoEstadoBorrador') ?>
</option>
<option value=2 <?= $presupuestoEntity->estado_id==2? ' selected':''?>>
<?=lang('Presupuestos.presupuestoEstadoAceptado') ?>
</option>
</select>
</div><!--//.mb-3 -->
</div><!--//.col -->

View File

@ -70,8 +70,8 @@
</div>
<div class="d-grid float-end mb-4">
<div class="form-check form-switch mb-2">
<input class="form-check-input" type="checkbox" id="confirmar_presupuesto" name="solapas" value="1" <?= $presupuestoEntity->confirmarPresupuesto == true ? 'checked' : ''; ?>>
<label class="form-check-label" for="papelFormatoPersonalizado"><?= lang('Presupuestos.confirmar') ?></label>
<input class="form-check-input" <?= $presupuestoEntity->estado_id == 2 ? 'onclick="return false;"' : ''; ?> type="checkbox" id="confirmar_presupuesto" name="confirmar_presupuesto" value="1" <?= $presupuestoEntity->estado_id == 2 ? 'checked' : ''; ?>>
<label class="form-check-label" for="confirmar_presupuesto"><?= $presupuestoEntity->estado_id == 2 ? lang('Presupuestos.confirmado') : lang('Presupuestos.confirmar'); ?></label>
</div>
</div>
</div>

View File

@ -226,33 +226,37 @@ function addSeparatorsNF(nStr, inD, outD, sep)
}
function getValuesResumenForm(){
var formResumen = ""
formResumen += '&total_coste_papel=' + $('#totalCostePapel').attr('val')
formResumen += '&total_margen_papel=' + $('#margenPapel').attr('val')
formResumen += '&total_margenPercent_papel=' + $('#porcentajeMargenPapel').text().replace('%', '')
var formResumen = "";
formResumen += '&total_coste_papel=' + $('#totalCostePapel').attr('val');
formResumen += '&total_margen_papel=' + $('#margenPapel').attr('val');
formResumen += '&total_margenPercent_papel=' + $('#porcentajeMargenPapel').text().replace('%', '');
formResumen += '&total_coste_impresion=' + $('#totalCosteImpresion').attr('val')
formResumen += '&total_margen_impresion=' + $('#margenImpresion').attr('val')
formResumen += '&total_margenPercent_impresion=' + $('#porcentajeMargenImpresion').text().replace('%', '')
formResumen += '&total_coste_impresion=' + $('#totalCosteImpresion').attr('val');
formResumen += '&total_margen_impresion=' + $('#margenImpresion').attr('val');
formResumen += '&total_margenPercent_impresion=' + $('#porcentajeMargenImpresion').text().replace('%', '');
formResumen += '&total_coste_servicios=' + $('#totalServicios').attr('val')
formResumen += '&total_margen_servicios=' + $('#margenServicios').attr('val')
formResumen += '&total_margenPercent_servicios=' + $('#porcentajeMargenServicios').text().replace('%', '')
formResumen += '&total_coste_servicios=' + $('#totalServicios').attr('val');
formResumen += '&total_margen_servicios=' + $('#margenServicios').attr('val');
formResumen += '&total_margenPercent_servicios=' + $('#porcentajeMargenServicios').text().replace('%', '');
formResumen += '&total_coste_envios=' + $('#totalEnvios').attr('val')
formResumen += '&total_margen_envios=' + $('#margenEnvios').attr('val')
formResumen += '&total_coste_envios=' + $('#totalEnvios').attr('val');
formResumen += '&total_margen_envios=' + $('#margenEnvios').attr('val');
formResumen += '&total_costes=' + $('#totalCostes').attr('val')
formResumen += '&total_margenes=' + $('#totalMargenes').attr('val')
formResumen += '&total_costes=' + $('#totalCostes').attr('val');
formResumen += '&total_margenes=' + $('#totalMargenes').attr('val');
formResumen += '&total_antes_descuento=' + $('#totalAntesDescuento').attr('val')
formResumen += '&total_descuento=' + $('#descuentoTotal').attr('val')
formResumen += '&total_descuentoPercent=' + $('#total_descuentoPercent').val()
formResumen += '&total_presupuesto=' + $('#totalDespuesDecuento').attr('val')
formResumen += '&total_precio_unidad=' + $('#precioUnidadPresupuesto').attr('val')
formResumen += '&total_antes_descuento=' + $('#totalAntesDescuento').attr('val');
formResumen += '&total_descuento=' + $('#descuentoTotal').attr('val');
formResumen += '&total_descuentoPercent=' + $('#total_descuentoPercent').val();
formResumen += '&total_presupuesto=' + $('#totalDespuesDecuento').attr('val');
formResumen += '&total_precio_unidad=' + $('#precioUnidadPresupuesto').attr('val');
formResumen += '&total_factor=' + $('#total_factor').text()
formResumen += '&total_factor_ponderado=' + $('#total_factor_ponderado').text()
formResumen += '&total_factor=' + $('#total_factor').text();
formResumen += '&total_factor_ponderado=' + $('#total_factor_ponderado').text();
if($('#confirmar_presupuesto').prop('checked')){
formResumen += '&confirmar=1';
}
return formResumen
}

View File

@ -43,7 +43,7 @@
<div class="pt-4">
<input type="submit"
class="btn btn-primary float-start me-sm-3 me-1"
name="save"
name="save"
id="saveForm"
value="<?= lang("Basic.global.Save") ?>"
/>
@ -266,6 +266,8 @@ $('#bc-save').on( "click", function() {
<?php if (str_contains($formAction, 'edit')): ?>
<?= $this->section("additionalInlineJs") ?>
var submitButtonClicked; // Variable para almacenar el botón que fue clickeado
// funcion que genera un JSON con la tabla de tiradas alternativas
function generate_json_tiradas() {
const data = tableTiradas.rows().data().toArray();
@ -273,6 +275,7 @@ $('#bc-save').on( "click", function() {
}
$('#presupuestoForm').on("submit", function(event) {
event.preventDefault();
save_servicios();
save_datos_envios();
@ -296,6 +299,9 @@ $('#bc-save').on( "click", function() {
else{
showBreadCrumbSaveButton(false)
popSuccessAlert(data.mensaje)
if($('#confirmar_presupuesto').prop('checked')) {
$('#estado_id').val(2)
}
}
}