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.*;
|
|
/**
|
* <p>
|
* 可靠性计划成品 服务实现类
|
* </p>
|
*
|
* @author ld
|
* @since 2025-03-26 01:54:17
|
*/
|
@Service
|
@AllArgsConstructor
|
public class ReliabilityPlanProductServiceImpl extends ServiceImpl<ReliabilityPlanProductMapper, ReliabilityPlanProduct> implements ReliabilityPlanProductService {
|
|
private ReliabilityPlanProductMapper reliabilityPlanProductMapper;
|
private ReliabilityPlanProductItemMapper reliabilityPlanProductItemMapper;
|
|
@Override
|
public IPage<ReliabilityPlanProduct> 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<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
|
public int delProduct(Integer id) {
|
return reliabilityPlanProductMapper.deleteById(id);
|
}
|
}
|