liding
2025-04-30 fbde0b947b4641081b558302ea77d88c902c4cd1
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductServiceImpl.java
@@ -1,17 +1,22 @@
package com.ruoyi.inspect.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.inspect.dto.ReliabilityPlanProductDto;
import com.ruoyi.inspect.mapper.ReliabilityPlanProductItemMapper;
import com.ruoyi.inspect.pojo.ReliabilityPlanProduct;
import com.ruoyi.inspect.mapper.ReliabilityPlanProductMapper;
import com.ruoyi.inspect.pojo.ReliabilityPlanProductItem;
import com.ruoyi.inspect.service.ReliabilityPlanProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Objects;
import java.util.*;
/**
 * <p>
@@ -26,6 +31,7 @@
public class ReliabilityPlanProductServiceImpl extends ServiceImpl<ReliabilityPlanProductMapper, ReliabilityPlanProduct> implements ReliabilityPlanProductService {
    private ReliabilityPlanProductMapper reliabilityPlanProductMapper;
    private ReliabilityPlanProductItemMapper reliabilityPlanProductItemMapper;
    @Override
    public IPage<ReliabilityPlanProduct> selectProduct(Page page, ReliabilityPlanProductDto reliabilityPlanProductDto) {
@@ -34,17 +40,48 @@
    @Override
    public int addOrUpdateProduct(ReliabilityPlanProductDto reliabilityPlanProductDto) {
        int i;
        if (Objects.isNull(reliabilityPlanProductDto.getId())) {
            reliabilityPlanProductDto.setState(0);
            return reliabilityPlanProductMapper.insert(reliabilityPlanProductDto);
            i = reliabilityPlanProductMapper.insert(reliabilityPlanProductDto);
        } else {
           // 审核状态 0.待提交1.待审核2.通过3.不通过
            // 审核状态 0.待提交1.待审核2.通过3.不通过
            int state = reliabilityPlanProductDto.getState();
            if (state != 0 && state != 1 && state != 2) {
                reliabilityPlanProductDto.setState(3);
            }
            return reliabilityPlanProductMapper.updateById(reliabilityPlanProductDto);
            i = reliabilityPlanProductMapper.updateById(reliabilityPlanProductDto);
        }
        if (i > 0) {
            Long id = reliabilityPlanProductDto.getId(); // 从数据库中查询新的数据
            List<Map<String, Object>> maps = reliabilityPlanProductItemMapper.itemList(id);
            List<ReliabilityPlanProductItem> newItemList = new ArrayList<>();
            for (Map<String, Object> map : maps) {
                ReliabilityPlanProductItem item = new ReliabilityPlanProductItem();
                item.setInspectionItem((String) map.get("inspectionItem"));
                item.setStandard((String) map.get("standard"));
                item.setFrequency((String) map.get("frequency"));
                item.setPlanId(id);
                item.setType(reliabilityPlanProductDto.getItemType());
                newItemList.add(item);
            }
            // 查询数据库中已存在的数据
            List<ReliabilityPlanProductItem> existingItemList = reliabilityPlanProductItemMapper.selectList(
                    new LambdaQueryWrapper<ReliabilityPlanProductItem>()
                            .eq(ReliabilityPlanProductItem::getPlanId, id)
                            .eq(ReliabilityPlanProductItem::getType, reliabilityPlanProductDto.getItemType())
            );
            if (!existingItemList.isEmpty()) {
                // 如果有数据,执行删除操作
                reliabilityPlanProductItemMapper.delete(new LambdaUpdateWrapper<ReliabilityPlanProductItem>()
                                .eq(ReliabilityPlanProductItem::getPlanId, id)
                                .eq(ReliabilityPlanProductItem::getType, reliabilityPlanProductDto.getItemType())
                );
            }
            reliabilityPlanProductItemMapper.insertBatchSomeColumn(newItemList);
        }
        return i;
    }
    @Override