定制 laymont/container-repair-cedex 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

laymont/container-repair-cedex

Composer 安装命令:

composer require laymont/container-repair-cedex

包简介

Laravel package for ISO 9897 (CEDEX) container repair management with DDD architecture

README 文档

README

Laravel package for ISO 9897 (CEDEX) container repair management with DDD architecture.

Objetivo

Este paquete proporciona una capa de lógica de negocio que estandariza las reparaciones de contenedores marítimos bajo la norma ISO 9897 (CEDEX), funcionando de forma sinérgica con el paquete base shicontstand.

Características

  • DDD-Lite Architecture: Dominio CEDEX independiente de Laravel
  • Value Objects: Clases inmutables para códigos de la norma ISO 9897
  • Domain Services: Validación de combinaciones Daño-Reparación según la norma
  • Actions: Procesos multi-paso (ValidateRepairEstimate, FormatCedexMessage)
  • DTOs: Transferencia de datos tipada
  • Bridge Pattern: Integración con shicontstand sin modificar su código
  • PHP 8.3+ Strict Typing: Tipado estricto en todo el código
  • Laravel 11/12/13 Compatible: Compatible con múltiples versiones de Laravel

Fundamentos del Dominio: ISO 9897 (CEDEX)

El paquete se basa en los pilares del Container Equipment Data Exchange:

  • Anexo C (Localización): Sistema de coordenadas para identificar el punto exacto del daño
  • Anexo D (Tipos de Daño): Códigos de dos caracteres (ej. BR - Broken)
  • Anexo F (Tipos de Reparación): Acciones estandarizadas (ej. RP - Replace)
  • Anexo I (Componentes): Catálogo de partes físicas con validación cruzada

Instalación

composer require laymont/container-repair-cedex

Configuración

El paquete se registra automáticamente en Laravel. No requiere configuración adicional.

Uso

Value Objects

use Laymont\Cedex\Domain\ValueObjects\DamageCode;
use Laymont\Cedex\Domain\ValueObjects\ComponentCode;
use Laymont\Cedex\Domain\ValueObjects\LocationCode;

$damageCode = new DamageCode('BR'); // Broken
$componentCode = new ComponentCode('FP'); // Front Panel
$locationCode = new LocationCode('L'); // Left side

Domain Services

use Laymont\Cedex\Domain\Services\RepairValidator;

$validator = new RepairValidator();
$isValid = $validator->validateCombination($damageCode, $componentCode, $repairCode);

Actions

use Laymont\Cedex\Actions\ValidateRepairEstimate;

$action = new ValidateRepairEstimate();
$result = $action->execute($repairData);

Bridge con shicontstand

use Laymont\Cedex\Infrastructure\Bridge\ShicontstandBridge;

$bridge = new ShicontstandBridge();
$validRepairs = $bridge->getValidRepairsForContainer($containerType);

Arquitectura

Capa de Dominio (Pure PHP)

  • Value Objects: DamageCode, ComponentCode, LocationCode, RepairCode
  • Domain Services: RepairValidator, CedexFormatter
  • Exceptions: CedexValidationException, InvalidCodeException

Capa de Aplicación

  • Actions: ValidateRepairEstimate, FormatCedexMessage
  • DTOs: RepairEstimateDTO, CedexMessageDTO

Capa de Infraestructura (Laravel)

  • Service Providers: CedexServiceProvider
  • Repositories: DamageCodeRepository, ComponentCodeRepository
  • Bridge: ShicontstandBridge

Compatibilidad

  • PHP: ^8.3
  • Laravel: ^11.0|^12.0|^13.0

Testing

./vendor/bin/pest

Contribución

  1. Haz un fork del repositorio.
  2. Crea una rama: git checkout -b feature/nueva-funcionalidad.
  3. Realiza cambios y hace commit: git commit -m "Agregando...".
  4. Sube: git push origin feature/nueva-funcionalidad.
  5. Abre un Pull Request.

Donaciones

Si encuentras útil este paquete y deseas apoyar su desarrollo y mantenimiento, puedes considerar hacer una donación.

Zinli

Visa Prepagada Zinli

  • Número: 4850460061276928

Binance Pay

  • Binance Pay ID: 206414132

¡Gracias por tu apoyo!

Licencia

MIT.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固