package com.ruoyi.inspect.service.impl;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.common.utils.QueryWrappers;
|
import com.ruoyi.framework.exception.ErrorException;
|
import com.ruoyi.inspect.dto.UnqualifiedHandlerDto;
|
import com.ruoyi.inspect.mapper.InsOrderMapper;
|
import com.ruoyi.inspect.mapper.InsUnqualifiedHandlerMapper;
|
import com.ruoyi.inspect.pojo.InsOrder;
|
import com.ruoyi.inspect.pojo.InsUnqualifiedHandler;
|
import com.ruoyi.inspect.pojo.InsUnqualifiedHandlerFile;
|
import com.ruoyi.inspect.service.InsUnqualifiedHandlerFileService;
|
import com.ruoyi.inspect.service.InsUnqualifiedHandlerService;
|
import com.ruoyi.inspect.vo.UnqualifiedHandlerVO;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* @author 27233
|
* @description 针对表【ins_unqualified_handler(不合格处理表)】的数据库操作Service实现
|
* @createDate 2024-07-31 13:38:14
|
*/
|
@Service
|
public class InsUnqualifiedHandlerServiceImpl extends ServiceImpl<InsUnqualifiedHandlerMapper, InsUnqualifiedHandler>
|
implements InsUnqualifiedHandlerService {
|
@Resource
|
private InsUnqualifiedHandlerFileService insUnqualifiedHandlerFileService;
|
@Resource
|
private InsOrderMapper insOrderMapper;
|
|
|
@Override
|
public IPage<UnqualifiedHandlerVO> pageList(Page page, UnqualifiedHandlerDto unqualifiedHandlerDto) {
|
return baseMapper.selectPageList(page, QueryWrappers.queryWrappers(unqualifiedHandlerDto));
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public boolean addUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto) {
|
if (unqualifiedHandlerDto.getInventoryQuantityId() == null) {
|
throw new ErrorException("缺少原材料id");
|
}
|
long count = this.count(Wrappers.<InsUnqualifiedHandler>lambdaQuery()
|
.eq(InsUnqualifiedHandler::getInsOrderId, unqualifiedHandlerDto.getInsOrderId()));
|
if (count > 0) {
|
throw new ErrorException("当前检验单已提交过不合格");
|
}
|
// 原材料编号切割
|
InsOrder order = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery()
|
.eq(InsOrder::getId, unqualifiedHandlerDto.getInsOrderId())
|
.select(InsOrder::getEntrustCode));
|
unqualifiedHandlerDto.setNo(order.getEntrustCode());
|
|
this.save(unqualifiedHandlerDto);
|
if (CollectionUtils.isNotEmpty(unqualifiedHandlerDto.getUnqualifiedHandlerFiles())) {
|
for (InsUnqualifiedHandlerFile unqualifiedHandlerFile : unqualifiedHandlerDto.getUnqualifiedHandlerFiles()) {
|
unqualifiedHandlerFile.setUnqualifiedId(unqualifiedHandlerDto.getId());
|
}
|
insUnqualifiedHandlerFileService.updateBatchById(unqualifiedHandlerDto.getUnqualifiedHandlerFiles());
|
}
|
|
return true;
|
}
|
|
/**
|
* 编辑不合格处理
|
* @param unqualifiedHandlerDto
|
* @return
|
*/
|
@Override
|
public boolean updateUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto) {
|
// 删除附件, 重新添加
|
insUnqualifiedHandlerFileService.remove(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
|
.eq(InsUnqualifiedHandlerFile::getUnqualifiedId, unqualifiedHandlerDto.getId()));
|
if (CollectionUtils.isNotEmpty(unqualifiedHandlerDto.getUnqualifiedHandlerFiles())) {
|
for (InsUnqualifiedHandlerFile unqualifiedHandlerFile : unqualifiedHandlerDto.getUnqualifiedHandlerFiles()) {
|
unqualifiedHandlerFile.setUnqualifiedId(unqualifiedHandlerDto.getId());
|
}
|
insUnqualifiedHandlerFileService.updateBatchById(unqualifiedHandlerDto.getUnqualifiedHandlerFiles());
|
}
|
|
return this.updateById(unqualifiedHandlerDto);
|
}
|
|
/**
|
* 查看不合格处理界面
|
* @param id
|
* @return
|
*/
|
@Override
|
public UnqualifiedHandlerDto getUnqualifiedHandler(Integer id) {
|
InsUnqualifiedHandler insUnqualifiedHandler = this.getById(id);
|
UnqualifiedHandlerDto unqualifiedHandlerDto = new UnqualifiedHandlerDto();
|
BeanUtil.copyProperties(insUnqualifiedHandler, unqualifiedHandlerDto);
|
// 查看附件
|
List<InsUnqualifiedHandlerFile> list = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
|
.eq(InsUnqualifiedHandlerFile::getUnqualifiedId, unqualifiedHandlerDto.getId()));
|
unqualifiedHandlerDto.setUnqualifiedHandlerFiles(list);
|
return unqualifiedHandlerDto;
|
}
|
|
/**
|
* 删除不合格
|
* @param id
|
* @return
|
*/
|
@Override
|
public boolean deleteUnqualifiedHandler(Integer id) {
|
insUnqualifiedHandlerFileService.remove(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
|
.eq(InsUnqualifiedHandlerFile::getUnqualifiedId, id));
|
this.removeById(id);
|
return true;
|
}
|
}
|