package com.gs.xky.service.Impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gs.xky.entity.MesQaItemsDetect01; import com.gs.xky.entity.MesQaItemsDetectDetail12; import com.gs.xky.entity.MesQaItemsDetectDetail5; import com.gs.xky.mapper.MesQaItemsDetect01Mapper; import com.gs.xky.service.MesQaItemsDetect01Service; import com.gs.xky.service.MesQaItemsDetectDetail12Service; import com.gs.xky.service.MesQaItemsDetectDetail5Service; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; /** * @author 28567 * @description 针对表【MES_QA_ITEMS_DETECT_01(来料入库检验表头)】的数据库操作Service实现 * @createDate 2025-02-17 12:53:02 */ @Service @Transactional(rollbackFor = Exception.class) @RequiredArgsConstructor public class MesQaItemsDetect01ServiceImpl extends ServiceImpl implements MesQaItemsDetect01Service { private final MesQaItemsDetectDetail5Service detectDetail5Service; private final MesQaItemsDetectDetail12Service detectDetail12Service; @Override public boolean removeQa(String lotNo) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(MesQaItemsDetect01::getLotNo, lotNo); //MesQaItemsDetect01 one = getOne(wrapper, false); List list = list(wrapper); if (CollUtil.isEmpty(list)) { return false; } List collect = list.stream().filter(s -> !StrUtil.isNotEmpty(s.getFcheckResu())).map(MesQaItemsDetect01::getReleaseNo).collect(Collectors.toList()); LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.in(MesQaItemsDetect01::getReleaseNo, collect); if (remove(wrapper)) { LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.in(MesQaItemsDetectDetail5::getReleaseNo, collect); detectDetail5Service.remove(wrapper1); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.in(MesQaItemsDetectDetail12::getReleaseNo, collect); detectDetail12Service.remove(wrapper2); } return true; } }