responseController = new ResponseController(); $this->encController = new EncryptionController(); $this->functionsController = new FunctionsController(); $this->resourcesController = new ResourcesController(); } public function getDispatch($user, $line) { $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { DB::rollBack(); return $this->responseController->makeResponse(true, 'ERR_WAREHOUSE_GETBY000:'.$arrResponseCheckUser['msg'], [], 401); } try { $arrDispatch = DB::table('S002V01TDESP') ->where("DESP_NULI", "=", $line) ->get([ 'DESP_IDDE AS ID_DESPACHO', 'DESP_NODE AS NOMBRE_DESPACHO', 'DESP_NOMB AS NOMBRE', 'DESP_APPA AS APELLIDO_PATERNO', 'DESP_APMA AS APELLIDO_MATERNO', 'DESP_CALL AS CALLE', 'DESP_NUEX AS NUMERO_EXTERIOR', 'DESP_NUIN AS NUMERO_INTERIOR', 'DESP_COPO AS CODIGO_POSTAL', 'DESP_COLO AS COLONIA', 'DESP_MUNI AS MUNICIPIO', 'DESP_ENTI AS ENTIDAD_FEDERATIVA', 'DESP_PAIS AS PAIS', 'DESP_ESTA AS ESTADO', 'DESP_USRE AS USUARIO_REGISTRA', 'DESP_FERE AS FECHA_REGISTRA', 'DESP_USMO AS USUARIO_MODIFICA', 'DESP_FEMO AS FECHA_MODIFICA', ]); $arrDispatch = json_decode(json_encode($arrDispatch), true); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, "ERR_DISPATCH_GET000: No se pudo realizar la consulta a la base.", $th->getMessage(), 500); } $responseCheckLatestUpdate = $this->resourcesController->checkLatestUpdate($arrDispatch, $line); if ($responseCheckLatestUpdate['error']) { return $this->responseController->makeResponse(true, $responseCheckLatestUpdate['msg'], [], 500); } $arrDispatch = $responseCheckLatestUpdate['response']; return $this->responseController->makeResponse(false, "ÉXITO: Consulta exitosa", $arrDispatch); } public function getDispatchActive($user, $line) { $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { DB::rollBack(); return $this->responseController->makeResponse(true, $arrResponseCheckUser['msg'], [], 401); } try { $arrDispatch = DB::table('S002V01TDESP') ->where("DESP_NULI", "=", $line) ->where("DESP_ESTA", "=", 'Activo') ->get([ 'DESP_IDDE AS ID_DESPACHO', // Número de despacho 'DESP_NODE AS NOMBRE_DESPACHO', // Nombre del despacho 'DESP_NOMB AS NOMBRE', // Nombre del despacho 'DESP_APPA AS APELLIDO_PATERNO', // Apellido paterno del despacho 'DESP_APMA AS APELLIDO_MATERNO', // Apellido materno del despacho 'DESP_CALL AS CALLE', // Calle 'DESP_NUEX AS NUMERO_EXTERIOR', // Número exterior 'DESP_NUIN AS NUMERO_INTERIOR', // Número interior 'DESP_COPO AS CODIGO_POSTAL', // Código postal 'DESP_COLO AS COLONIA', // Colonia 'DESP_MUNI AS MUNICIPIO', // Municipio 'DESP_ENTI AS ENTIDAD_FEDERATIVA', // Entidad 'DESP_PAIS AS PAIS', // Pais 'DESP_USRE AS USUARIO_REGISTRA', // Usuario Registra 'DESP_FERE AS FECHA_REGISTRA', // Fecha Registra 'DESP_USMO AS USUARIO_MODIFICA', // Usuario Modifica 'DESP_FEMO AS FECHA_MODIFICA', // Fecha Modifica ]); $arrDispatch = json_decode(json_encode($arrDispatch), true); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, "No se pudo realizar la consulta a la base.", $th->getMessage(), 500); } $responseCheckLatestUpdate = $this->resourcesController->checkLatestUpdate($arrDispatch, $line); if ($responseCheckLatestUpdate['error']) { return $this->responseController->makeResponse(true, $responseCheckLatestUpdate['msg'], [], 500); } $arrDispatch = $responseCheckLatestUpdate['response']; return $this->responseController->makeResponse(false, "ÉXITO: Consulta Exitosa", $arrDispatch); } public function getDispatchById($idDispatch, $user, $line) { $arrResponseCheckUser = $this->resourcesController->checkUserEnc($user, $line); if ($arrResponseCheckUser['error']) { DB::rollBack(); return $this->responseController->makeResponse(true, 'ERR_WAREHOUSE_GETBY000:'.$arrResponseCheckUser['msg'], [], 401); } try { $arrDispatch = (array) DB::table('S002V01TDESP') ->where("DESP_IDDE", "=", $idDispatch) ->where("DESP_NULI", "=", $line) ->where("DESP_ESTA", "=", "Activo") ->first([ 'DESP_IDDE AS ID_DESPACHO', 'DESP_NODE AS NOMBRE_DESPACHO', 'DESP_NOMB AS NOMBRE', 'DESP_APPA AS APELLIDO_PATERNO', 'DESP_APMA AS APELLIDO_MATERNO', 'DESP_LADA AS LADA', 'DESP_TELE AS TELEFONO', 'DESP_CORR AS CORREO_ELECTRONICO', 'DESP_CALL AS CALLE', 'DESP_NUEX AS NUMERO_EXTERIOR', 'DESP_NUIN AS NUMERO_INTERIOR', 'DESP_COPO AS CODIGO_POSTAL', 'DESP_LOCA AS LOCALIDAD', 'DESP_COLO AS COLONIA', 'DESP_MUNI AS MUNICIPIO', 'DESP_ENTI AS ENTIDAD_FEDERATIVA', 'DESP_PAIS AS PAIS', 'DESP_COME AS COMENTARIOS', 'DESP_USRE AS USUARIO_REGISTRA', 'DESP_FERE AS FECHA_REGISTRA', 'DESP_USMO AS USUARIO_MODIFICA', 'DESP_FEMO AS FECHA_MODIFICA', ]); } catch (\Throwable $th) { return $this->responseController->makeResponse(true, "ERR_DISPATCH_GETBYID000: No se pudo realizar la consulta a la base.", $th->getMessage(), 500); } $responseCheckLatestUpdate = $this->resourcesController->checkLatestUpdate([$arrDispatch], $line); if ($responseCheckLatestUpdate['error']) { return $this->responseController->makeResponse(true, $responseCheckLatestUpdate['msg'], [], 500); } $arrDispatch = $responseCheckLatestUpdate['response']; return $this->responseController->makeResponse(false, "ÉXITO: Consulta exitosa", $arrDispatch[0]); } public function registerDispatch(Request $request) { $validator = Validator::make($request->all(), [ // 'ID_DESPACHO' => 'required|string', 'NOMBRE_DESPACHO' => 'required|string', 'NOMBRE_RESPONSABLE' => 'required|string', 'APELLIDO_PATERNO' => 'required|string', // 'APELLIDO_MATERNO' => 'required|string', 'LADA' => 'required|string', 'TELEFONO' => 'required|string', 'CORREO_ELECTRONICO' => 'required|string', 'CALLE' => 'required|string', 'NUMERO_EXTERIOR' => 'required|string', // 'NUMERO_INTERIOR' => 'required|string', 'CODIGO_POSTAL' => 'required|string', 'COLONIA' => 'required|string', 'LOCALIDAD' => 'required|string', 'MUNICIPIO' => 'required|string', 'ENTIDAD_FEDERATIVA' => 'required|string', 'PAIS' => 'required|string', // 'COMENTARIOS' => 'required|string', 'USUARIO' => 'required|string', 'LINE_NUMBER' => 'required|integer', ]); if ($validator->fails()) { return $this->responseController->makeResponse( true, "ERR_DISPATCH_REG000: Se encontraron uno o más errores.", $this->responseController->makeErrors($validator->errors()->messages()), 401 ); } DB::beginTransaction(); $requestData = $request->all(); try { $user = $this->encController->decrypt($requestData['USUARIO']); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_REG001: Ocurrió un error al obtener el contenido.", $th->getMessage(), 500); } $now = $this->functionsController->now(); $currentDate = $now->toDateTimeString(); try { $responseRequest = DB::table('S002V01TDESP')->insert([ 'DESP_NULI' => $requestData['LINE_NUMBER'], 'DESP_NODE' => $requestData['NOMBRE_DESPACHO'], 'DESP_NOMB' => $requestData['NOMBRE_RESPONSABLE'], 'DESP_APPA' => $requestData['APELLIDO_PATERNO'], 'DESP_APMA' => $requestData['APELLIDO_MATERNO'], 'DESP_LADA' => $requestData['LADA'], 'DESP_TELE' => $requestData['TELEFONO'], 'DESP_CORR' => $requestData['CORREO_ELECTRONICO'], 'DESP_CALL' => $requestData['CALLE'], 'DESP_NUEX' => $requestData['NUMERO_EXTERIOR'], 'DESP_NUIN' => $requestData['NUMERO_INTERIOR'], 'DESP_COPO' => $requestData['CODIGO_POSTAL'], 'DESP_COLO' => $requestData['COLONIA'], 'DESP_LOCA' => $requestData['LOCALIDAD'], 'DESP_MUNI' => $requestData['MUNICIPIO'], 'DESP_ENTI' => $requestData['ENTIDAD_FEDERATIVA'], 'DESP_PAIS' => $requestData['PAIS'], 'DESP_COME' => $requestData['COMENTARIOS'], 'DESP_USRE' => $user, 'DESP_FERE' => $currentDate, 'DESP_FEAR' => DB::raw('CURRENT_TIMESTAMP'), ]); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_REG002: Ocurrió un error al momento de insertar los datos en la base de datos.", $th->getMessage(), 500); } if ( !$responseRequest ) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_REG003: Ocurrió un error al insertar el despacho", [], 500); } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Registro Exitoso"); } public function updateDispatch(Request $request) { $validator = Validator::make($request->all(), [ 'ID_DESPACHO' => 'required|string', 'NOMBRE_DESPACHO' => 'required|string', 'NOMBRE_RESPONSABLE' => 'required|string', 'APELLIDO_PATERNO' => 'required|string', // 'APELLIDO_MATERNO' => 'required|string', 'LADA' => 'required|string', 'TELEFONO' => 'required|string', 'CORREO_ELECTRONICO' => 'required|string', 'CALLE' => 'required|string', 'NUMERO_EXTERIOR' => 'required|string', // 'NUMERO_INTERIOR' => 'required|string', 'CODIGO_POSTAL' => 'required|string', 'COLONIA' => 'required|string', 'LOCALIDAD' => 'required|string', 'MUNICIPIO' => 'required|string', 'ENTIDAD_FEDERATIVA' => 'required|string', 'PAIS' => 'required|string', // 'COMENTARIOS' => 'required|string', 'USUARIO' => 'required|string', 'LINE_NUMBER' => 'required|integer', ]); if ($validator->fails()) { return $this->responseController->makeResponse( true, "ERR_DISPATCH_UPD000: Se encontraron uno o más errores.", $this->responseController->makeErrors($validator->errors()->messages()), 401 ); } DB::beginTransaction(); $requestData = $request->all(); try { $user = $this->encController->decrypt($requestData['USUARIO']); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_UPD001: Ocurrió un error al obtener el contenido.", $th->getMessage(), 500); } $now = $this->functionsController->now(); $currentDate = $now->toDateTimeString(); try { $responseRequest = DB::table('S002V01TDESP') ->where('DESP_IDDE', '=', $requestData['ID_DESPACHO'],) ->where('DESP_NULI', '=', $requestData['LINE_NUMBER']) ->update([ 'DESP_NODE' => $requestData['NOMBRE_DESPACHO'], 'DESP_NOMB' => $requestData['NOMBRE_RESPONSABLE'], 'DESP_APPA' => $requestData['APELLIDO_PATERNO'], 'DESP_APMA' => $requestData['APELLIDO_MATERNO'], 'DESP_LADA' => $requestData['LADA'], 'DESP_TELE' => $requestData['TELEFONO'], 'DESP_CORR' => $requestData['CORREO_ELECTRONICO'], 'DESP_CALL' => $requestData['CALLE'], 'DESP_NUEX' => $requestData['NUMERO_EXTERIOR'], 'DESP_NUIN' => $requestData['NUMERO_INTERIOR'], 'DESP_COPO' => $requestData['CODIGO_POSTAL'], 'DESP_LOCA' => $requestData['LOCALIDAD'], 'DESP_COLO' => $requestData['COLONIA'], 'DESP_MUNI' => $requestData['MUNICIPIO'], 'DESP_ENTI' => $requestData['ENTIDAD_FEDERATIVA'], 'DESP_PAIS' => $requestData['PAIS'], 'DESP_COME' => $requestData['COMENTARIOS'], 'DESP_USMO' => $user, 'DESP_FEMO' => $currentDate, 'DESP_FEAR' => DB::raw('CURRENT_TIMESTAMP'), ]); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_UPD002: Ocurrió un error al momento de modificar los datos en la base de datos.", $th->getMessage(), 500); } if ( !$responseRequest ) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_UPD003: Ocurrió un error al modificar el despacho", [], 500); } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Modificación Exitoso"); } public function deleteDispatch(Request $request) { $validator = Validator::make($request->all(), [ 'ID_DESPACHO' => 'required|integer', 'USUARIO' => 'required|string', 'NUMERO_LINEA' => 'required|integer', ]); if ($validator->fails()) { return $this->responseController->makeResponse( true, "ERR_DISPATCH_DEL000: Se encontraron uno o más errores.", $this->responseController->makeErrors($validator->errors()->messages()), 401 ); } DB::beginTransaction(); $requestData = $request->all(); try { $user = $this->encController->decrypt($requestData['USUARIO']); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_DEL001: Ocurrió un error al obtener el contenido.", $th->getMessage(), 500); } $now = $this->functionsController->now(); $currentDate = $now->toDateTimeString(); try { $responseRequest = DB::table('S002V01TDESP') ->where('DESP_IDDE', '=', $requestData['ID_DESPACHO'],) ->where('DESP_NULI', '=', $requestData['NUMERO_LINEA']) ->update([ 'DESP_ESTA' => 'Eliminado', 'DESP_USMO' => $user, 'DESP_FEMO' => $currentDate, 'DESP_FEAR' => DB::raw('CURRENT_TIMESTAMP'), ]); } catch (\Throwable $th) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_DEL002: Ocurrió un error al momento de eliminar los datos en la base de datos.", $th->getMessage(), 500); } if ( !$responseRequest ) { DB::rollBack(); return $this->responseController->makeResponse(true, "ERR_DISPATCH_DEL003: Ocurrió un error al eliminar el despacho", [], 500); } DB::commit(); return $this->responseController->makeResponse(false, "ÉXITO: Eliminación Exitosa"); } }