2026-04-11 c3c2b034ee9811c4872dde22bb2b4fe9409a9549
yys
1.工艺路线带入bom清单工序
已修改5个文件
51 ■■■■ 文件已修改
src/main/java/com/ruoyi/production/controller/ProductStructureController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductStructureService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductStructureServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductStructureController.java
@@ -37,4 +37,10 @@
    public R listBybomId( @PathVariable("bomId") Integer bomId){
        return R.ok(productStructureService.listBybomId(bomId));
    }
    @ApiOperation("BOM查看子集详情列表")
    @GetMapping("/listDetailBybomId/{bomId}")
    public R listDetailBybomId(@PathVariable("bomId") Integer bomId){
        return R.ok(productStructureService.listDetailBybomId(bomId));
    }
}
src/main/java/com/ruoyi/production/service/ProductStructureService.java
@@ -14,4 +14,6 @@
    List<ProductStructureDto> listBybomId(Integer bomId);
    List<ProductStructureDto> listDetailBybomId(Integer bomId);
}
src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
@@ -1,29 +1,29 @@
package com.ruoyi.production.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
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.production.dto.ProcessRouteDto;
import com.ruoyi.production.dto.ProductStructureDto;
import com.ruoyi.production.mapper.ProcessRouteItemMapper;
import com.ruoyi.production.mapper.ProcessRouteMapper;
import com.ruoyi.production.mapper.ProductOrderMapper;
import com.ruoyi.production.mapper.ProductProcessRouteMapper;
import com.ruoyi.production.pojo.ProcessRoute;
import com.ruoyi.production.pojo.ProcessRouteItem;
import com.ruoyi.production.pojo.ProductOrder;
import com.ruoyi.production.pojo.ProductProcessRoute;
import com.ruoyi.production.service.ProcessRouteService;
import com.ruoyi.production.service.ProductStructureService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
@Service
@AllArgsConstructor
@@ -39,6 +39,9 @@
    @Autowired
    private ProductOrderMapper productOrderMapper;
    @Autowired
    private ProductStructureService productStructureService;
    @Override
    public IPage<ProcessRouteDto> pageProcessRouteDto(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto) {
@@ -53,6 +56,20 @@
        String newProductCode = "GYLX" + dateStr + idStr;
        // 更新数据库中的productCode
        processRoute.setProcessRouteCode(newProductCode);
        // 查询bom清单
        List<ProductStructureDto> productStructureDtos = productStructureService.listDetailBybomId(processRoute.getBomId());
        if(CollectionUtils.isNotEmpty(productStructureDtos)){
            AtomicInteger i = new AtomicInteger(1);
            productStructureDtos.forEach(productStructureDto -> {
                ProcessRouteItem processRouteItem = new ProcessRouteItem();
                processRouteItem.setRouteId(processRoute.getId());
                processRouteItem.setProcessId(productStructureDto.getProcessId());
                processRouteItem.setDragSort(i.get());
                processRouteItem.setIsQuality(false);
                processRouteItemMapper.insert(processRouteItem);
                i.getAndIncrement();
            });
        }
        return processRouteMapper.updateById(processRoute);
    }
src/main/java/com/ruoyi/production/service/impl/ProductStructureServiceImpl.java
@@ -154,4 +154,18 @@
        return tree;
    }
    @Override
    public List<ProductStructureDto> listDetailBybomId(Integer bomId) {
        List<ProductStructureDto> list = productStructureMapper.listBybomId(bomId);
        Map<String, ProductStructureDto> distinctMap = new LinkedHashMap<>();
        for (ProductStructureDto dto : list) {
            if (dto.getParentId() == null || dto.getParentId() == 0) {
                continue;
            }
            String key = dto.getProcessId() == null ? "NULL_PROCESS_" + dto.getId() : String.valueOf(dto.getProcessId());
            distinctMap.putIfAbsent(key, dto);
        }
        return new ArrayList<>(distinctMap.values());
    }
}
src/main/resources/application-dev.yml
@@ -74,9 +74,9 @@
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://1.15.17.182:9999/product-inventory-management-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        url: jdbc:mysql://localhost:3306/product-inventory-management-zxsq?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        username: root
        password: xd@123456..
        password: 123456
      # 从库数据源
      slave:
        # 从数据源开关/默认关闭