feat(package): 新增刷新零件版本接口及相关逻辑调整

- 结构包控制器添加 refreshItems 接口,支持根据包ID刷新零件版本
- 结构包服务实现中新增 refreshItems 方法,更新零件信息(版本、名称、图号、图片、重量)
- 结构包控制器服务中简化 getInfo 方法,取消材料信息解码和赋值逻辑
- 结构包服务接口 getInfo 返回值取消材料解码,由调用方处理
- PackageVO 类中取消重复定义的 getMaterialList 方法,改用正式实现版本
This commit is contained in:
曹鹏飞 2026-05-30 14:39:35 +08:00
parent bed84fcc5f
commit b1724a2dd2
4 changed files with 31 additions and 20 deletions

View File

@ -88,6 +88,15 @@ public class StructuralPackageController extends BaseController {
return ApiResult.success(packageControllerService.getInfo(id)); return ApiResult.success(packageControllerService.getInfo(id));
} }
/**
* 刷新零件版本
* @param id 包ID
*/
@GetMapping("/refreshItems")
public ApiResult<List<PackageMaterialDTO>> refreshItems(@Valid @RequestParam @NotNull Long id){
return ApiResult.success(packageControllerService.refreshItems(id));
}
/** /**
* 获取老鼠图 * 获取老鼠图
* @param request 搜索参数 * @param request 搜索参数

View File

@ -173,17 +173,7 @@ public class StructuralPackageControllerService {
} }
public PackageVO getInfo(@Valid @NotNull Long id) { public PackageVO getInfo(@Valid @NotNull Long id) {
PackageVO vo = packageService.getInfo(id); return packageService.getInfo(id);
vo.setMaterialList(JSONUtil.toList(vo.getMaterials(), PackageMaterialDTO.class));
vo.getMaterialList().forEach(it -> {
WmsMaterial material = materialService.getCurrent(it.getNo());
it.setVersion(material.getVersion());
it.setName(material.getDescribe());
it.setDrawingNo(material.getDrawingNo());
it.setImage(material.getImage());
it.setWeight(material.getWeight());
});
return vo;
} }
public PageData<PackageMaterialDTO> getMaterials(@Valid PackageMaterialSearchQO request) { public PageData<PackageMaterialDTO> getMaterials(@Valid PackageMaterialSearchQO request) {
@ -663,4 +653,18 @@ public class StructuralPackageControllerService {
log.info("批量从MPM系统同步钢构包数据完成"); log.info("批量从MPM系统同步钢构包数据完成");
} }
public List<PackageMaterialDTO> refreshItems(Long id) {
WmsStructuralPackage structuralPackage = packageService.getById(id);
List<PackageMaterialDTO> items = JSONUtil.toList(structuralPackage.getMaterials(), PackageMaterialDTO.class);
items.forEach(it -> {
WmsMaterial material = materialService.getCurrent(it.getNo());
it.setVersion(material.getVersion());
it.setName(material.getDescribe());
it.setDrawingNo(material.getDrawingNo());
it.setImage(material.getImage());
it.setWeight(material.getWeight());
});
return items;
}
} }

View File

@ -124,12 +124,12 @@ public class PackageVO {
*/ */
private List<PackageMaterialDTO> materialList; private List<PackageMaterialDTO> materialList;
// public List<PackageMaterialDTO> getMaterialList() { public List<PackageMaterialDTO> getMaterialList() {
// if (StrUtil.isBlank(materials)) { if (StrUtil.isBlank(materials)) {
// return Collections.emptyList(); return Collections.emptyList();
// } }
// return JSONUtil.toList(materials, PackageMaterialDTO.class); return JSONUtil.toList(materials, PackageMaterialDTO.class);
// } }
/** /**
* 供应商名称 * 供应商名称

View File

@ -97,9 +97,7 @@ public class WmsStructuralPackageServiceImpl extends ServiceImpl<WmsStructuralPa
@Override @Override
public PackageVO getInfo(Long id) { public PackageVO getInfo(Long id) {
PackageVO vo = baseMapper.getInfo(id); return baseMapper.getInfo(id);
vo.setMaterialList(JSONUtil.toList(vo.getMaterials(), PackageMaterialDTO.class));
return vo;
} }
@Override @Override