|
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.qmth.paper.library.business.bean.dto.excel.ScannerBindingDto;
|
|
|
import com.qmth.paper.library.business.bean.params.PaperScanTaskParam;
|
|
|
import com.qmth.paper.library.business.bean.result.PaperScanTaskResult;
|
|
|
import com.qmth.paper.library.business.entity.PaperLibrary;
|
|
@@ -16,6 +17,8 @@ import com.qmth.paper.library.common.contant.SystemConstant;
|
|
|
import com.qmth.paper.library.common.entity.SysUser;
|
|
|
import com.qmth.paper.library.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.paper.library.common.service.SysUserService;
|
|
|
+import com.qmth.paper.library.common.util.ExcelUtil;
|
|
|
+import com.qmth.paper.library.common.util.ServletUtil;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -23,6 +26,7 @@ import javax.annotation.Resource;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -131,6 +135,41 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
|
|
|
this.removeByIds(idList);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void exportScanner(SysUser requestUser) throws Exception {
|
|
|
+ Long schoolId = requestUser.getSchoolId();
|
|
|
+ // 已经开始扫描的任务id
|
|
|
+ List<Long> alreadyScannedTaskIdList = paperLibraryService.list(new QueryWrapper<PaperLibrary>().lambda()
|
|
|
+ .eq(PaperLibrary::getSchoolId, schoolId))
|
|
|
+ .stream()
|
|
|
+ .map(PaperLibrary::getPaperScanTaskId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ QueryWrapper<PaperScanTask> paperScanTaskQueryWrapper = new QueryWrapper<>();
|
|
|
+ paperScanTaskQueryWrapper.lambda().eq(PaperScanTask::getSchoolId, schoolId);
|
|
|
+ if (alreadyScannedTaskIdList.size() > 0) {
|
|
|
+ paperScanTaskQueryWrapper.lambda().notIn(PaperScanTask::getId, alreadyScannedTaskIdList);
|
|
|
+ }
|
|
|
+ List<PaperScanTask> paperScanTaskList = this.list(paperScanTaskQueryWrapper);
|
|
|
+ List<ScannerBindingDto> scannerBindingDtoList = paperScanTaskList.stream().flatMap(e -> {
|
|
|
+ String scanTaskName = e.getScanTaskName();
|
|
|
+ String scannerName = "";
|
|
|
+ Long scanUserId = e.getScanUserId();
|
|
|
+ if (SystemConstant.longNotNull(scanUserId)) {
|
|
|
+ SysUser scanner = sysUserService.getById(scanUserId);
|
|
|
+ if (Objects.isNull(scanner)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到扫描员");
|
|
|
+ }
|
|
|
+ scannerName = scanner.getRealName();
|
|
|
+ }
|
|
|
+ ScannerBindingDto scannerBindingDto = new ScannerBindingDto();
|
|
|
+ scannerBindingDto.setScannerName(scannerName);
|
|
|
+ scannerBindingDto.setScanTaskName(scanTaskName);
|
|
|
+ return Stream.of(scannerBindingDto);
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ ExcelUtil.excelExport("绑定扫描员导入模板", ScannerBindingDto.class, scannerBindingDtoList, ServletUtil.getResponse());
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<PaperScanTask> listByPaperArchivesId(Long paperArchivesId) {
|
|
|
QueryWrapper<PaperScanTask> queryWrapper = new QueryWrapper<>();
|