builder()->select(["id", "nombre", "code", "created_at"])->where("deleted_at", null); return $q; } /** * Actualiza la tarifa de acabado `lg_tarifas_acabado` si ya existe una asociada o inserta si ya no existe. * * @param integer $servicio_cliente_id * @param integer $tarifa_acabado_id * @return boolean */ public function upsertTarifaAcabado(int $servicio_cliente_id, int $tarifa_acabado_id): bool { $servicioClienteTareaModel = model(ServicioClienteTareaModel::class); $q = $servicioClienteTareaModel ->where("servicio_cliente_id", $servicio_cliente_id); if ($q->countAllResults() > 0) { $this->detachTarifas($servicio_cliente_id); } $r = $this->attachTarifaAcabado($servicio_cliente_id, $tarifa_acabado_id); return $r; } /** * Actualiza la tarifa de manipulado `lg_tarifas_manipulado` si ya existe una asociada o inserta si ya no existe. * * @param integer $servicio_cliente_id * @param integer $tarifa_manipulado_id * @return boolean */ public function upsertTarifaManipulado(int $servicio_cliente_id, int $tarifa_manipulado_id): bool { $servicioClienteTareaModel = model(ServicioClienteTareaModel::class); $q = $servicioClienteTareaModel ->where("servicio_cliente_id", $servicio_cliente_id); if ($q->countAllResults() > 0) { $this->detachTarifas($servicio_cliente_id); } $r = $this->attachTarifaManipulado($servicio_cliente_id, $tarifa_manipulado_id); return $r; } /** * Asocia tarifa de acabado a servicio cliente * * @param integer $servicio_cliente_id * @param integer $tarifa_acabado_id * @return integer */ public function attachTarifaAcabado(int $servicio_cliente_id, int $tarifa_acabado_id): int { $servicioClienteTareaModel = model(ServicioClienteTareaModel::class); $id = $servicioClienteTareaModel->insert([ "servicio_cliente_id" => $servicio_cliente_id, "tarifa_acabado_id" => $tarifa_acabado_id ]); return $id; } /** * Asocia tarifa de manipulado a servicio cliente * * @param integer $servicio_cliente_id * @param integer $tarifa_manipulado_id * @return integer */ public function attachTarifaManipulado(int $servicio_cliente_id, int $tarifa_manipulado_id): int { $servicioClienteTareaModel = model(ServicioClienteTareaModel::class); $id = $servicioClienteTareaModel->insert([ "servicio_cliente_id" => $servicio_cliente_id, "tarifa_manipulado_id" => $tarifa_manipulado_id ]); return $id; } /** * Elimina todas las tarifas asociadas a un servicio cliente * * @param integer $servicio_cliente_id * @return bool */ public function detachTarifas(int $servicio_cliente_id): bool { $servicioClienteTareaModel = model(ServicioClienteTareaModel::class); $s = $servicioClienteTareaModel->where("servicio_cliente_id", $servicio_cliente_id)->delete(); return $s; } }