2026-04-20 34af175eee2381839f68e93e9199531815946928
refactor(technology): 使用DTO和VO重构工艺路线模块

- 在TechnologyRoutingController中引入TechnologyRoutingDto并替换原有实体类参数
- 在TechnologyRoutingOperationController中引入TechnologyRoutingOperationDto并替换原有实体类参数
- 添加TechnologyRoutingDto和TechnologyRoutingOperationDto数据传输对象
- 添加TechnologyRoutingVo和TechnologyRoutingOperationVo值对象用于返回数据
- 修改服务层接口和实现类以支持新的DTO和VO类型
- 更新分页查询方法以返回VO对象而不是实体对象
- 为控制器和服务层注入使用Lombok注解优化依赖注入方式
- 实现详情查询方法以返回VO对象格式的数据
已修改8个文件
136 ■■■■■ 文件已修改
src/main/java/com/ruoyi/technology/bean/dto/TechnologyRoutingDto.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/bean/vo/TechnologyRoutingVo.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/controller/TechnologyRoutingController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/controller/TechnologyRoutingOperationController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/service/TechnologyRoutingOperationService.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/service/TechnologyRoutingService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/technology/bean/dto/TechnologyRoutingDto.java
@@ -1,4 +1,13 @@
package com.ruoyi.technology.bean.dto;
public class TechnologyRoutingDto {
import com.ruoyi.technology.pojo.TechnologyRouting;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "TechnologyRoutingDto对象", description = "工艺路线表")
public class TechnologyRoutingDto extends TechnologyRouting {
}
src/main/java/com/ruoyi/technology/bean/vo/TechnologyRoutingVo.java
@@ -1,4 +1,10 @@
package com.ruoyi.technology.bean.vo;
public class TechnologyRoutingVo {
import com.ruoyi.technology.pojo.TechnologyRouting;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "TechnologyRoutingVo对象", description = "工艺路线表")
public class TechnologyRoutingVo extends TechnologyRouting {
}
src/main/java/com/ruoyi/technology/controller/TechnologyRoutingController.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.technology.bean.dto.TechnologyRoutingDto;
import com.ruoyi.technology.pojo.TechnologyRouting;
import com.ruoyi.technology.service.TechnologyRoutingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
@@ -14,21 +15,21 @@
@RestController
@RequestMapping("/technologyRouting")
@Api(tags = "工艺路线")
@RequiredArgsConstructor
public class TechnologyRoutingController {
    @Autowired
    private TechnologyRoutingService technologyRoutingService;
    private final TechnologyRoutingService technologyRoutingService;
    @GetMapping("/page")
    @ApiOperation("工艺路线分页查询")
    public R page(Page<TechnologyRouting> page, TechnologyRouting technologyRouting) {
        return R.ok(technologyRoutingService.pageTechnologyRouting(page, technologyRouting));
    public R page(Page<TechnologyRoutingDto> page, TechnologyRoutingDto technologyRoutingDto) {
        return R.ok(technologyRoutingService.pageTechnologyRouting(page, technologyRoutingDto));
    }
    @GetMapping("/{id}")
    @ApiOperation("工艺路线详情")
    public R getInfo(@PathVariable("id") Long id) {
        return R.ok(technologyRoutingService.getById(id));
        return R.ok(technologyRoutingService.getTechnologyRoutingInfo(id));
    }
    @PostMapping
src/main/java/com/ruoyi/technology/controller/TechnologyRoutingOperationController.java
@@ -2,37 +2,38 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.technology.bean.dto.TechnologyRoutingOperationDto;
import com.ruoyi.technology.pojo.TechnologyRoutingOperation;
import com.ruoyi.technology.service.TechnologyRoutingOperationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/technologyRoutingOperation")
@Api(tags = "工艺路线工序")
@RequiredArgsConstructor
public class TechnologyRoutingOperationController {
    @Autowired
    private TechnologyRoutingOperationService technologyRoutingOperationService;
    private final TechnologyRoutingOperationService technologyRoutingOperationService;
    @GetMapping("/page")
    @ApiOperation("工艺路线工序分页查询")
    public R page(Page<TechnologyRoutingOperation> page, TechnologyRoutingOperation technologyRoutingOperation) {
        return R.ok(technologyRoutingOperationService.pageTechnologyRoutingOperation(page, technologyRoutingOperation));
    public R page(Page<TechnologyRoutingOperationDto> page, TechnologyRoutingOperationDto technologyRoutingOperationDto) {
        return R.ok(technologyRoutingOperationService.pageTechnologyRoutingOperation(page, technologyRoutingOperationDto));
    }
    @GetMapping("/list")
    @ApiOperation("工艺路线工序列表")
    public R list(TechnologyRoutingOperation technologyRoutingOperation) {
        return R.ok(technologyRoutingOperationService.listTechnologyRoutingOperation(technologyRoutingOperation));
    public R list(TechnologyRoutingOperationDto technologyRoutingOperationDto) {
        return R.ok(technologyRoutingOperationService.listTechnologyRoutingOperation(technologyRoutingOperationDto));
    }
    @GetMapping("/{id}")
    @ApiOperation("工艺路线工序详情")
    public R getInfo(@PathVariable("id") Long id) {
        return R.ok(technologyRoutingOperationService.getById(id));
        return R.ok(technologyRoutingOperationService.getTechnologyRoutingOperationInfo(id));
    }
    @PostMapping
src/main/java/com/ruoyi/technology/service/TechnologyRoutingOperationService.java
@@ -3,16 +3,20 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.technology.bean.dto.TechnologyRoutingOperationDto;
import com.ruoyi.technology.bean.vo.TechnologyRoutingOperationVo;
import com.ruoyi.technology.pojo.TechnologyRoutingOperation;
import java.util.List;
public interface TechnologyRoutingOperationService extends IService<TechnologyRoutingOperation> {
    IPage<TechnologyRoutingOperation> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperation> page,
                                                                     TechnologyRoutingOperation technologyRoutingOperation);
    IPage<TechnologyRoutingOperationVo> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperationDto> page,
                                                                       TechnologyRoutingOperationDto technologyRoutingOperationDto);
    List<TechnologyRoutingOperation> listTechnologyRoutingOperation(TechnologyRoutingOperation technologyRoutingOperation);
    List<TechnologyRoutingOperationVo> listTechnologyRoutingOperation(TechnologyRoutingOperationDto technologyRoutingOperationDto);
    TechnologyRoutingOperationVo getTechnologyRoutingOperationInfo(Long id);
    boolean saveTechnologyRoutingOperation(TechnologyRoutingOperation technologyRoutingOperation);
src/main/java/com/ruoyi/technology/service/TechnologyRoutingService.java
@@ -3,13 +3,17 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.technology.bean.dto.TechnologyRoutingDto;
import com.ruoyi.technology.bean.vo.TechnologyRoutingVo;
import com.ruoyi.technology.pojo.TechnologyRouting;
import java.util.List;
public interface TechnologyRoutingService extends IService<TechnologyRouting> {
    IPage<TechnologyRouting> pageTechnologyRouting(Page<TechnologyRouting> page, TechnologyRouting technologyRouting);
    IPage<TechnologyRoutingVo> pageTechnologyRouting(Page<TechnologyRoutingDto> page, TechnologyRoutingDto technologyRoutingDto);
    TechnologyRoutingVo getTechnologyRoutingInfo(Long id);
    Long saveTechnologyRouting(TechnologyRouting technologyRouting);
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationServiceImpl.java
@@ -1,15 +1,18 @@
package com.ruoyi.technology.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.technology.bean.dto.TechnologyRoutingOperationDto;
import com.ruoyi.technology.bean.vo.TechnologyRoutingOperationVo;
import com.ruoyi.technology.mapper.TechnologyRoutingMapper;
import com.ruoyi.technology.mapper.TechnologyRoutingOperationMapper;
import com.ruoyi.technology.pojo.TechnologyRoutingOperation;
import com.ruoyi.technology.service.TechnologyRoutingOperationService;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -17,23 +20,33 @@
@Service
@Transactional(rollbackFor = Exception.class)
@RequiredArgsConstructor
public class TechnologyRoutingOperationServiceImpl extends ServiceImpl<TechnologyRoutingOperationMapper, TechnologyRoutingOperation> implements TechnologyRoutingOperationService {
    @Autowired
    private TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
    private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
    @Autowired
    private TechnologyRoutingMapper technologyRoutingMapper;
    private final TechnologyRoutingMapper technologyRoutingMapper;
    @Override
    public IPage<TechnologyRoutingOperation> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperation> page,
                                                                            TechnologyRoutingOperation technologyRoutingOperation) {
        return this.page(page, buildQueryWrapper(technologyRoutingOperation));
    public IPage<TechnologyRoutingOperationVo> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperationDto> page,
                                                                              TechnologyRoutingOperationDto technologyRoutingOperationDto) {
        Page<TechnologyRoutingOperation> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
        return this.page(entityPage, buildQueryWrapper(technologyRoutingOperationDto))
                .convert(item -> BeanUtil.copyProperties(item, TechnologyRoutingOperationVo.class));
    }
    @Override
    public List<TechnologyRoutingOperation> listTechnologyRoutingOperation(TechnologyRoutingOperation technologyRoutingOperation) {
        return this.list(buildQueryWrapper(technologyRoutingOperation));
    public List<TechnologyRoutingOperationVo> listTechnologyRoutingOperation(TechnologyRoutingOperationDto technologyRoutingOperationDto) {
        return BeanUtil.copyToList(this.list(buildQueryWrapper(technologyRoutingOperationDto)), TechnologyRoutingOperationVo.class);
    }
    @Override
    public TechnologyRoutingOperationVo getTechnologyRoutingOperationInfo(Long id) {
        TechnologyRoutingOperation technologyRoutingOperation = this.getById(id);
        if (technologyRoutingOperation == null) {
            return null;
        }
        return BeanUtil.copyProperties(technologyRoutingOperation, TechnologyRoutingOperationVo.class);
    }
    @Override
@@ -61,7 +74,7 @@
        return removed;
    }
    private LambdaQueryWrapper<TechnologyRoutingOperation> buildQueryWrapper(TechnologyRoutingOperation technologyRoutingOperation) {
    private LambdaQueryWrapper<TechnologyRoutingOperation> buildQueryWrapper(TechnologyRoutingOperationDto technologyRoutingOperation) {
        LambdaQueryWrapper<TechnologyRoutingOperation> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(technologyRoutingOperation.getId() != null, TechnologyRoutingOperation::getId, technologyRoutingOperation.getId())
                .eq(technologyRoutingOperation.getTechnologyRoutingId() != null,
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
@@ -1,16 +1,19 @@
package com.ruoyi.technology.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.technology.bean.dto.TechnologyRoutingDto;
import com.ruoyi.technology.bean.vo.TechnologyRoutingVo;
import com.ruoyi.technology.mapper.TechnologyRoutingMapper;
import com.ruoyi.technology.mapper.TechnologyRoutingOperationMapper;
import com.ruoyi.technology.pojo.TechnologyRouting;
import com.ruoyi.technology.pojo.TechnologyRoutingOperation;
import com.ruoyi.technology.service.TechnologyRoutingService;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -20,24 +23,33 @@
@Service
@Transactional(rollbackFor = Exception.class)
@RequiredArgsConstructor
public class TechnologyRoutingServiceImpl extends ServiceImpl<TechnologyRoutingMapper, TechnologyRouting> implements TechnologyRoutingService {
    @Autowired
    private TechnologyRoutingMapper technologyRoutingMapper;
    private final TechnologyRoutingMapper technologyRoutingMapper;
    @Autowired
    private TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
    private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
    @Override
    public IPage<TechnologyRouting> pageTechnologyRouting(Page<TechnologyRouting> page, TechnologyRouting technologyRouting) {
    public IPage<TechnologyRoutingVo> pageTechnologyRouting(Page<TechnologyRoutingDto> page, TechnologyRoutingDto technologyRoutingDto) {
        LambdaQueryWrapper<TechnologyRouting> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(technologyRouting.getId() != null, TechnologyRouting::getId, technologyRouting.getId())
                .eq(technologyRouting.getProductModelId() != null, TechnologyRouting::getProductModelId, technologyRouting.getProductModelId())
                .eq(technologyRouting.getBomId() != null, TechnologyRouting::getBomId, technologyRouting.getBomId())
                .like(isNotBlank(technologyRouting.getProcessRouteCode()), TechnologyRouting::getProcessRouteCode, technologyRouting.getProcessRouteCode())
                .like(isNotBlank(technologyRouting.getDescription()), TechnologyRouting::getDescription, technologyRouting.getDescription())
        queryWrapper.eq(technologyRoutingDto.getId() != null, TechnologyRouting::getId, technologyRoutingDto.getId())
                .eq(technologyRoutingDto.getProductModelId() != null, TechnologyRouting::getProductModelId, technologyRoutingDto.getProductModelId())
                .eq(technologyRoutingDto.getBomId() != null, TechnologyRouting::getBomId, technologyRoutingDto.getBomId())
                .like(isNotBlank(technologyRoutingDto.getProcessRouteCode()), TechnologyRouting::getProcessRouteCode, technologyRoutingDto.getProcessRouteCode())
                .like(isNotBlank(technologyRoutingDto.getDescription()), TechnologyRouting::getDescription, technologyRoutingDto.getDescription())
                .orderByDesc(TechnologyRouting::getId);
        return this.page(page, queryWrapper);
        Page<TechnologyRouting> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
        return this.page(entityPage, queryWrapper).convert(item -> BeanUtil.copyProperties(item, TechnologyRoutingVo.class));
    }
    @Override
    public TechnologyRoutingVo getTechnologyRoutingInfo(Long id) {
        TechnologyRouting technologyRouting = this.getById(id);
        if (technologyRouting == null) {
            return null;
        }
        return BeanUtil.copyProperties(technologyRouting, TechnologyRoutingVo.class);
    }
    @Override