package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; import org.jeecg.modules.eam.dto.EamProcessCheckAddRequest; import org.jeecg.modules.eam.entity.EamProcessCheck; import org.jeecg.modules.eam.entity.EamProcessCheckDetail; import org.jeecg.modules.eam.mapper.EamProcessCheckDetailMapper; import org.jeecg.modules.eam.mapper.EamProcessCheckMapper; import org.jeecg.modules.eam.service.IEamProcessCheckDetailService; import org.jeecg.modules.eam.service.IEamProcessCheckService; import org.jeecg.modules.mes.utils.CommonUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; import java.util.List; import java.util.Collection; import java.util.Objects; /** * @Description: 工艺点检 * @Author: jeecg-boot * @Date: 2025-09-04 * @Version: V1.0 */ @Service public class EamProcessCheckServiceImpl extends ServiceImpl implements IEamProcessCheckService { @Autowired private EamProcessCheckMapper eamProcessCheckMapper; @Autowired private IEamProcessCheckDetailService eamProcessCheckDetailService; @Autowired private EamProcessCheckDetailMapper eamProcessCheckDetailMapper; @Override @Transactional(rollbackFor = Exception.class) public void delMain(String id) { eamProcessCheckDetailMapper.deleteByMainId(id); eamProcessCheckMapper.deleteById(id); } @Override @Transactional(rollbackFor = Exception.class) public void delBatchMain(Collection idList) { for(Serializable id:idList) { eamProcessCheckDetailMapper.deleteByMainId(id.toString()); eamProcessCheckMapper.deleteById(id); } } @Override public void add(EamProcessCheckAddRequest eamProcessCheck) { EamProcessCheck processCheck = new EamProcessCheck() .setEquipmentId(eamProcessCheck.getEquipmentId()) .setWorkOrderId(eamProcessCheck.getWorkOrderId()) .setOperateTime(new Date()) .setOperator(Objects.requireNonNull(CommonUtils.getCurrentUser()).getUsername()); save(processCheck); List details = CollectionUtil.newArrayList(); eamProcessCheck.getCheckDetailList().forEach(detail -> { EamProcessCheckDetail processCheckDetail = new EamProcessCheckDetail() .setCheckId(processCheck.getId()) .setParameterId(detail.getParameterId()) .setParameterPeriod(detail.getParameterPeriod()) .setCheckResult(detail.getCheckResult()) .setExceptionDescription(detail.getExceptionDescription()); details.add(processCheckDetail); }); eamProcessCheckDetailService.saveBatch(details); } }