# 查询装箱区点位信息实现计划 > **面向 AI 代理的工作者:** 必需子技能:使用 superpowers:subagent-driven-development(推荐)或 superpowers:executing-plans 逐任务实现此计划。步骤使用复选框(`- [ ]`)语法来跟踪进度。 **目标:** PDA 端仅传入点位编码,返回装箱区点位的点位编码、子卷号和载具号。 **架构:** 保持现有 `ManaQualityCheckReqVO` 作为请求对象,由 `PackagePdaService` 复用装箱区点位服务完成查询和不存在校验。Controller 使用 `PackagePointRespVO` 作为响应类型,并手动映射需求指定的三个字段。 **技术栈:** Java 17、Spring Boot、Jakarta Validation、MyBatis-Plus --- ### 任务 1:补齐 PDA 点位查询接口 **文件:** - 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/controller/pda/vo/ManaQualityCheckReqVO.java` - 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackagePdaService.java` - 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/service/packagepoint/PackagePdaServiceImpl.java` - 修改:`nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/controller/pda/PackagePdaController.java` - [x] **步骤 1:校验点位编码** 在 `ManaQualityCheckReqVO.pointCode` 上添加 `@NotEmpty(message = "点位编码不能为空")`。 - [x] **步骤 2:声明并实现查询服务** 在 `PackagePdaService` 声明: ```java PackagePointDO queryPointInfo(String pointCode); ``` 实现类通过 `PackagePointService.getPackagePointByCode(pointCode, false)` 查询;结果为空时抛出 `PACKAGE_POINT_NOT_EXISTS`。 - [x] **步骤 3:完成 Controller 响应映射** 将接口返回类型改为 `CommonResult`,并只设置: ```java response.setPointCode(packagePoint.getPointCode()); response.setContainerName(packagePoint.getContainerName()); response.setVehicleCode(packagePoint.getVehicleCode()); ``` - [x] **步骤 4:编译验证** 运行: ```powershell mvn -pl nl-module-lms/nl-module-lms-server -am -DskipTests compile ``` 预期:构建成功,无 Java 编译错误。