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.*; /** *

* 可靠性计划成品 服务实现类 *

* * @author ld * @since 2025-03-26 01:54:17 */ @Service @AllArgsConstructor public class ReliabilityPlanProductServiceImpl extends ServiceImpl implements ReliabilityPlanProductService { private ReliabilityPlanProductMapper reliabilityPlanProductMapper; private ReliabilityPlanProductItemMapper reliabilityPlanProductItemMapper; @Override public IPage selectProduct(Page page, ReliabilityPlanProductDto reliabilityPlanProductDto) { return reliabilityPlanProductMapper.selectPage(page, QueryWrappers.queryWrappers(reliabilityPlanProductDto)); } @Override public int addOrUpdateProduct(ReliabilityPlanProductDto reliabilityPlanProductDto) { int i; if (Objects.isNull(reliabilityPlanProductDto.getId())) { reliabilityPlanProductDto.setState(0); i = reliabilityPlanProductMapper.insert(reliabilityPlanProductDto); } else { // 审核状态 0.待提交1.待审核2.通过3.不通过 int state = reliabilityPlanProductDto.getState(); if (state != 0 && state != 1 && state != 2) { reliabilityPlanProductDto.setState(3); } i = reliabilityPlanProductMapper.updateById(reliabilityPlanProductDto); } if (i > 0) { Long id = reliabilityPlanProductDto.getId(); // 从数据库中查询新的数据 List> maps = reliabilityPlanProductItemMapper.itemList(id); List newItemList = new ArrayList<>(); for (Map 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 existingItemList = reliabilityPlanProductItemMapper.selectList( new LambdaQueryWrapper() .eq(ReliabilityPlanProductItem::getPlanId, id) .eq(ReliabilityPlanProductItem::getType, reliabilityPlanProductDto.getItemType()) ); if (!existingItemList.isEmpty()) { // 如果有数据,执行删除操作 reliabilityPlanProductItemMapper.delete(new LambdaUpdateWrapper() .eq(ReliabilityPlanProductItem::getPlanId, id) .eq(ReliabilityPlanProductItem::getType, reliabilityPlanProductDto.getItemType()) ); } reliabilityPlanProductItemMapper.insertBatchSomeColumn(newItemList); } return i; } @Override public int delProduct(Integer id) { return reliabilityPlanProductMapper.deleteById(id); } }