|
|
@@ -5714,7 +5714,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
archiveId=saveVolumeDto1.getId();
|
|
|
}
|
|
|
updateIds.add(archiveId);
|
|
|
- String update = "UPDATE u_archive_file SET archive_id = ?, volume_id = ?, is_volume = 1 WHERE id IN (?)";
|
|
|
+ String update = "UPDATE u_archive_file SET archive_id = ?, old_archive_id = ?, is_volume = 1 WHERE id IN (?)";
|
|
|
jdbcTemplate.update(update, archiveId, dto.getArchiveId(), saveVolumeDto1.getFileIds());
|
|
|
archivesAuto.setVolumeIds(archivesAuto.getVolumeIds()+archiveId+",");
|
|
|
}
|
|
|
@@ -5724,6 +5724,47 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
this.updateArchivePage(updateIds);
|
|
|
return "操作成功";
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean removeVolume(Long archiveId, Long volumeId) {
|
|
|
+ ArchivesAuto auto = this.getById(archiveId);
|
|
|
+ if(auto.getIsVolume()==1&&StringUtils.isNotEmpty(auto.getVolumeIds())){
|
|
|
+ String volumeIds = auto.getVolumeIds();
|
|
|
+ String[] archivesAutoIds = volumeIds.split(",");
|
|
|
+ if(archivesAutoIds.length<=1){
|
|
|
+ throw new ServiceException("不能删除所有的分卷");
|
|
|
+ }
|
|
|
+ if(auto.getVolumeIds().contains(volumeId+"")){
|
|
|
+ if(auto.getVolumeIds().endsWith(volumeId+"")){
|
|
|
+ auto.setVolumeIds(auto.getVolumeIds().replace(volumeId+"",""));
|
|
|
+ }else {
|
|
|
+ auto.setVolumeIds(auto.getVolumeIds().replace(volumeId+",",""));
|
|
|
+ }
|
|
|
+ String update = "UPDATE u_archive_file SET archive_id = ?, old_archive_id = '', is_volume = 0 WHERE archive_id = ?";
|
|
|
+ jdbcTemplate.update(update, archiveId, volumeId);
|
|
|
+ }
|
|
|
+ baseMapper.updateById(auto);
|
|
|
+ this.deleteLogic(Arrays.asList(volumeId));
|
|
|
+ this.updateArchivePage(Arrays.asList(archiveId));
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean backVolume(Long fileId){
|
|
|
+ ArchiveFile archiveFile = archiveFileClient.getArchiveFileById(fileId);
|
|
|
+ List<ArchiveFile> files = archiveFileClient.getArchiveFileByArchivesId(archiveFile.getArchiveId()+"",null);
|
|
|
+ if(files.size()<=1){
|
|
|
+ throw new ServiceException("回退失败");
|
|
|
+ }
|
|
|
+ if(archiveFile.getOldArchiveId()!=null){
|
|
|
+ archiveFile.setArchiveId(archiveFile.getOldArchiveId());
|
|
|
+ archiveFile.setIsVolume(0);
|
|
|
+ archiveFileClient.updateById2(archiveFile);
|
|
|
+ this.updateArchivePage(Arrays.asList(archiveFile.getArchiveId(),archiveFile.getOldArchiveId()));
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|