档案目录保存
Showing
4 changed files
with
131 additions
and
23 deletions
| ... | @@ -3,6 +3,8 @@ package com.pashanhoo.archive.controller; | ... | @@ -3,6 +3,8 @@ package com.pashanhoo.archive.controller; |
| 3 | import com.baomidou.mybatisplus.core.metadata.IPage; | 3 | import com.baomidou.mybatisplus.core.metadata.IPage; |
| 4 | import com.pashanhoo.archive.entity.vo.*; | 4 | import com.pashanhoo.archive.entity.vo.*; |
| 5 | import com.pashanhoo.archive.service.DgArchivesService; | 5 | import com.pashanhoo.archive.service.DgArchivesService; |
| 6 | import com.pashanhoo.catalog.entity.vo.DgArchivesCatalogWithFileVO; | ||
| 7 | import com.pashanhoo.catalog.entity.vo.UpdateDgArchivesCatalogRequest; | ||
| 6 | import com.pashanhoo.common.Result; | 8 | import com.pashanhoo.common.Result; |
| 7 | import org.springframework.web.bind.annotation.RestController; | 9 | import org.springframework.web.bind.annotation.RestController; |
| 8 | import org.springframework.web.bind.annotation.*; | 10 | import org.springframework.web.bind.annotation.*; |
| ... | @@ -30,8 +32,8 @@ public class DgArchivesController { | ... | @@ -30,8 +32,8 @@ public class DgArchivesController { |
| 30 | 32 | ||
| 31 | @PostMapping("insertDgArchives") | 33 | @PostMapping("insertDgArchives") |
| 32 | @ApiOperation("新增案卷基本信息") | 34 | @ApiOperation("新增案卷基本信息") |
| 33 | public Result insertDgArchives(@RequestBody AddDgArchivesRequest request){ | 35 | public Result insertDgArchives(@RequestBody AddDgArchivesRequest request) { |
| 34 | if(dgarchivesService.insertDgArchives(request)){ | 36 | if (dgarchivesService.insertDgArchives(request)) { |
| 35 | return Result.ok(); | 37 | return Result.ok(); |
| 36 | } | 38 | } |
| 37 | return Result.error("新增失败"); | 39 | return Result.error("新增失败"); |
| ... | @@ -40,7 +42,7 @@ public class DgArchivesController { | ... | @@ -40,7 +42,7 @@ public class DgArchivesController { |
| 40 | @DeleteMapping("deleteDgArchivesByIds") | 42 | @DeleteMapping("deleteDgArchivesByIds") |
| 41 | @ApiOperation(value = "批量删除案卷基本信息") | 43 | @ApiOperation(value = "批量删除案卷基本信息") |
| 42 | public Result deleteDgArchivesByIds(@ApiParam("案卷基本信息ID列表") @RequestParam(value = "idList") List<String> idList) { | 44 | public Result deleteDgArchivesByIds(@ApiParam("案卷基本信息ID列表") @RequestParam(value = "idList") List<String> idList) { |
| 43 | if(dgarchivesService.removeByIds(idList)) { | 45 | if (dgarchivesService.removeByIds(idList)) { |
| 44 | return Result.ok("删除成功"); | 46 | return Result.ok("删除成功"); |
| 45 | } | 47 | } |
| 46 | return Result.error("删除失败"); | 48 | return Result.error("删除失败"); |
| ... | @@ -48,8 +50,8 @@ public class DgArchivesController { | ... | @@ -48,8 +50,8 @@ public class DgArchivesController { |
| 48 | 50 | ||
| 49 | @PutMapping("updateDgArchives") | 51 | @PutMapping("updateDgArchives") |
| 50 | @ApiOperation("修改案卷基本信息,业务信息,不动产信息") | 52 | @ApiOperation("修改案卷基本信息,业务信息,不动产信息") |
| 51 | public Result updateDgArchives(@RequestBody UpdateArchiveAndOtherInfoRequest request){ | 53 | public Result updateDgArchives(@RequestBody UpdateArchiveAndOtherInfoRequest request) { |
| 52 | if(dgarchivesService.updateDgArchivesReplenish(request)) { | 54 | if (dgarchivesService.updateDgArchivesReplenish(request)) { |
| 53 | return Result.ok("修改成功"); | 55 | return Result.ok("修改成功"); |
| 54 | } | 56 | } |
| 55 | return Result.error("修改失败"); | 57 | return Result.error("修改失败"); |
| ... | @@ -57,7 +59,7 @@ public class DgArchivesController { | ... | @@ -57,7 +59,7 @@ public class DgArchivesController { |
| 57 | 59 | ||
| 58 | @GetMapping("getDgArchivesDetailById") | 60 | @GetMapping("getDgArchivesDetailById") |
| 59 | @ApiOperation(value = "案卷基本信息") | 61 | @ApiOperation(value = "案卷基本信息") |
| 60 | public Result getDgArchivesDetailById(@ApiParam("案卷标识码") @RequestParam String bsmArchive){ | 62 | public Result getDgArchivesDetailById(@ApiParam("案卷标识码") @RequestParam String bsmArchive) { |
| 61 | return Result.ok(dgarchivesService.getDgArchivesDetailById(bsmArchive)); | 63 | return Result.ok(dgarchivesService.getDgArchivesDetailById(bsmArchive)); |
| 62 | } | 64 | } |
| 63 | 65 | ||
| ... | @@ -77,6 +79,7 @@ public class DgArchivesController { | ... | @@ -77,6 +79,7 @@ public class DgArchivesController { |
| 77 | 79 | ||
| 78 | /** | 80 | /** |
| 79 | * 通过案卷标识码加载左菜单目录 | 81 | * 通过案卷标识码加载左菜单目录 |
| 82 | * | ||
| 80 | * @param bsmArchives 案卷标识码 | 83 | * @param bsmArchives 案卷标识码 |
| 81 | * @return | 84 | * @return |
| 82 | */ | 85 | */ |
| ... | @@ -85,4 +88,22 @@ public class DgArchivesController { | ... | @@ -85,4 +88,22 @@ public class DgArchivesController { |
| 85 | public Result getArchiveLiftMenu(@ApiParam("案卷标识码") @RequestParam String bsmArchives) { | 88 | public Result getArchiveLiftMenu(@ApiParam("案卷标识码") @RequestParam String bsmArchives) { |
| 86 | return Result.ok(dgarchivesService.getArchiveLiftMenu(bsmArchives)); | 89 | return Result.ok(dgarchivesService.getArchiveLiftMenu(bsmArchives)); |
| 87 | } | 90 | } |
| 91 | |||
| 92 | /** | ||
| 93 | * 1.比对新增的记录数据库是否存在,如果不存在则新增 | ||
| 94 | * 2.比对数据库的数据是否存在前端传递的集合中,不存在则删除,并且删除对应的电子附件数据 | ||
| 95 | * 3.如果目录记录标识码与数据库一致,直接更新当前的记录 | ||
| 96 | * | ||
| 97 | * @param requests | ||
| 98 | * @return | ||
| 99 | */ | ||
| 100 | @PostMapping("saveCatalogs") | ||
| 101 | @ApiOperation(value = "目录保存") | ||
| 102 | public Result saveCatalogs(@RequestBody List<UpdateDgArchivesCatalogRequest> requests) { | ||
| 103 | |||
| 104 | if (dgarchivesService.updateCatalog(requests)) { | ||
| 105 | return Result.ok("修改成功"); | ||
| 106 | } | ||
| 107 | return Result.error("修改失败"); | ||
| 108 | } | ||
| 88 | } | 109 | } | ... | ... |
| ... | @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService; | ... | @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService; |
| 5 | import com.pashanhoo.archive.entity.DgArchivesDO; | 5 | import com.pashanhoo.archive.entity.DgArchivesDO; |
| 6 | import com.pashanhoo.archive.entity.vo.*; | 6 | import com.pashanhoo.archive.entity.vo.*; |
| 7 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 7 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| 8 | import com.pashanhoo.catalog.entity.vo.DgArchivesCatalogWithFileVO; | ||
| 9 | import com.pashanhoo.catalog.entity.vo.UpdateDgArchivesCatalogRequest; | ||
| 8 | 10 | ||
| 9 | import java.util.List; | 11 | import java.util.List; |
| 10 | 12 | ||
| ... | @@ -17,8 +19,9 @@ import java.util.List; | ... | @@ -17,8 +19,9 @@ import java.util.List; |
| 17 | * @since 2021-11-05 | 19 | * @since 2021-11-05 |
| 18 | */ | 20 | */ |
| 19 | public interface DgArchivesService extends IService<DgArchivesDO> { | 21 | public interface DgArchivesService extends IService<DgArchivesDO> { |
| 20 | /** | 22 | /** |
| 21 | * 新增记录 | 23 | * 新增记录 |
| 24 | * | ||
| 22 | * @param request | 25 | * @param request |
| 23 | * @return | 26 | * @return |
| 24 | */ | 27 | */ |
| ... | @@ -26,6 +29,7 @@ public interface DgArchivesService extends IService<DgArchivesDO> { | ... | @@ -26,6 +29,7 @@ public interface DgArchivesService extends IService<DgArchivesDO> { |
| 26 | 29 | ||
| 27 | /** | 30 | /** |
| 28 | * 查询案卷基本信息 | 31 | * 查询案卷基本信息 |
| 32 | * | ||
| 29 | * @param bsmArchive | 33 | * @param bsmArchive |
| 30 | * @return | 34 | * @return |
| 31 | */ | 35 | */ |
| ... | @@ -41,13 +45,15 @@ public interface DgArchivesService extends IService<DgArchivesDO> { | ... | @@ -41,13 +45,15 @@ public interface DgArchivesService extends IService<DgArchivesDO> { |
| 41 | 45 | ||
| 42 | /** | 46 | /** |
| 43 | * 根据条件进行列表查询 | 47 | * 根据条件进行列表查询 |
| 48 | * | ||
| 44 | * @param request | 49 | * @param request |
| 45 | * @return | 50 | * @return |
| 46 | */ | 51 | */ |
| 47 | Page searchDgArchivesList(DgArchivesSearchRequest request); | 52 | Page searchDgArchivesList(DgArchivesSearchRequest request); |
| 48 | 53 | ||
| 49 | /** | 54 | /** |
| 50 | * 根据档案标识码加载左侧菜单 | 55 | * 根据档案标识码加载左侧菜单 |
| 56 | * | ||
| 51 | * @param bsmArchives 档案标识码 | 57 | * @param bsmArchives 档案标识码 |
| 52 | * @return | 58 | * @return |
| 53 | */ | 59 | */ |
| ... | @@ -55,6 +61,7 @@ public interface DgArchivesService extends IService<DgArchivesDO> { | ... | @@ -55,6 +61,7 @@ public interface DgArchivesService extends IService<DgArchivesDO> { |
| 55 | 61 | ||
| 56 | /** | 62 | /** |
| 57 | * 档案查找 | 63 | * 档案查找 |
| 64 | * | ||
| 58 | * @param request | 65 | * @param request |
| 59 | * @return | 66 | * @return |
| 60 | */ | 67 | */ |
| ... | @@ -62,8 +69,19 @@ public interface DgArchivesService extends IService<DgArchivesDO> { | ... | @@ -62,8 +69,19 @@ public interface DgArchivesService extends IService<DgArchivesDO> { |
| 62 | 69 | ||
| 63 | /** | 70 | /** |
| 64 | * 档案封皮查找 | 71 | * 档案封皮查找 |
| 72 | * | ||
| 65 | * @param bsmArchive | 73 | * @param bsmArchive |
| 66 | * @return | 74 | * @return |
| 67 | */ | 75 | */ |
| 68 | ArchiveDetailAndCoverVO searchArchivesCover(String bsmArchive); | 76 | ArchiveDetailAndCoverVO searchArchivesCover(String bsmArchive); |
| 77 | |||
| 78 | /** | ||
| 79 | * 1.比对新增的记录数据库是否存在,如果不存在则新增 | ||
| 80 | * 2.比对数据库的数据是否存在前端传递的集合中,不存在则删除,并且删除对应的电子附件数据 | ||
| 81 | * 3.如果目录记录标识码与数据库一致,直接更新当前的记录 | ||
| 82 | * | ||
| 83 | * @param requests | ||
| 84 | * @return | ||
| 85 | */ | ||
| 86 | boolean updateCatalog(List<UpdateDgArchivesCatalogRequest> requests); | ||
| 69 | } | 87 | } | ... | ... |
| ... | @@ -18,6 +18,12 @@ import com.pashanhoo.business.entity.DgBusinessDO; | ... | @@ -18,6 +18,12 @@ import com.pashanhoo.business.entity.DgBusinessDO; |
| 18 | import com.pashanhoo.business.entity.vo.DgBusinessDetailVO; | 18 | import com.pashanhoo.business.entity.vo.DgBusinessDetailVO; |
| 19 | import com.pashanhoo.business.entity.vo.UpdateDgBusinessRequest; | 19 | import com.pashanhoo.business.entity.vo.UpdateDgBusinessRequest; |
| 20 | import com.pashanhoo.business.service.DgBusinessService; | 20 | import com.pashanhoo.business.service.DgBusinessService; |
| 21 | import com.pashanhoo.catalog.entity.DgArchivesCatalogConverter; | ||
| 22 | import com.pashanhoo.catalog.entity.DgArchivesCatalogDO; | ||
| 23 | import com.pashanhoo.catalog.entity.vo.UpdateDgArchivesCatalogRequest; | ||
| 24 | import com.pashanhoo.catalog.service.DgArchivesCatalogService; | ||
| 25 | import com.pashanhoo.file.entity.DgFileDO; | ||
| 26 | import com.pashanhoo.file.service.DgFileService; | ||
| 21 | import org.springframework.beans.factory.annotation.Autowired; | 27 | import org.springframework.beans.factory.annotation.Autowired; |
| 22 | import org.springframework.stereotype.Service; | 28 | import org.springframework.stereotype.Service; |
| 23 | 29 | ||
| ... | @@ -26,6 +32,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ... | @@ -26,6 +32,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| 26 | import org.springframework.transaction.annotation.Transactional; | 32 | import org.springframework.transaction.annotation.Transactional; |
| 27 | 33 | ||
| 28 | import java.util.List; | 34 | import java.util.List; |
| 35 | import java.util.stream.Collectors; | ||
| 29 | 36 | ||
| 30 | /** | 37 | /** |
| 31 | * <p> | 38 | * <p> |
| ... | @@ -59,8 +66,18 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -59,8 +66,18 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 59 | @Autowired | 66 | @Autowired |
| 60 | private DgBusinessConverter dgBusinessConverter; | 67 | private DgBusinessConverter dgBusinessConverter; |
| 61 | 68 | ||
| 69 | @Autowired | ||
| 70 | private DgArchivesCatalogService catalogService; | ||
| 71 | |||
| 72 | @Autowired | ||
| 73 | private DgArchivesCatalogConverter catalogConverter; | ||
| 74 | |||
| 75 | @Autowired | ||
| 76 | private DgFileService dgFileService; | ||
| 77 | |||
| 62 | /** | 78 | /** |
| 63 | * 新增记录 | 79 | * 新增记录 |
| 80 | * | ||
| 64 | * @param request | 81 | * @param request |
| 65 | * @return | 82 | * @return |
| 66 | */ | 83 | */ |
| ... | @@ -72,6 +89,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -72,6 +89,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 72 | 89 | ||
| 73 | /** | 90 | /** |
| 74 | * 查询案卷基本信息 | 91 | * 查询案卷基本信息 |
| 92 | * | ||
| 75 | * @param bsmArchive | 93 | * @param bsmArchive |
| 76 | * @return | 94 | * @return |
| 77 | */ | 95 | */ |
| ... | @@ -124,6 +142,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -124,6 +142,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 124 | 142 | ||
| 125 | /** | 143 | /** |
| 126 | * 根据条件进行列表查询 | 144 | * 根据条件进行列表查询 |
| 145 | * | ||
| 127 | * @param request | 146 | * @param request |
| 128 | * @return | 147 | * @return |
| 129 | */ | 148 | */ |
| ... | @@ -132,7 +151,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -132,7 +151,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 132 | Page<DgArchivesDO> pageParam = new Page<DgArchivesDO>(request.getCurrentPage(), request.getPageSize()); | 151 | Page<DgArchivesDO> pageParam = new Page<DgArchivesDO>(request.getCurrentPage(), request.getPageSize()); |
| 133 | QueryWrapper<DgArchivesDO> wrapper = new QueryWrapper<>(); | 152 | QueryWrapper<DgArchivesDO> wrapper = new QueryWrapper<>(); |
| 134 | //设置默认排序 | 153 | //设置默认排序 |
| 135 | wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField()); | 154 | wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField()); |
| 136 | 155 | ||
| 137 | //增加条件 | 156 | //增加条件 |
| 138 | // lt:less than 小于 | 157 | // lt:less than 小于 |
| ... | @@ -141,19 +160,19 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -141,19 +160,19 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 141 | // ne:not equal to 不等于 | 160 | // ne:not equal to 不等于 |
| 142 | // ge:greater than or equal to 大于等于 | 161 | // ge:greater than or equal to 大于等于 |
| 143 | // gt:greater than 大于 | 162 | // gt:greater than 大于 |
| 144 | wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField()); | 163 | wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField()); |
| 145 | wrapper.eq(request.getAjbt()!=null,"AJBT",request.getAjbt()); | 164 | wrapper.eq(request.getAjbt() != null, "AJBT", request.getAjbt()); |
| 146 | wrapper.eq(request.getFlh()!=null,"FLH",request.getFlh()); | 165 | wrapper.eq(request.getFlh() != null, "FLH", request.getFlh()); |
| 147 | wrapper.eq(request.getMlh()!=null,"MLH",request.getMlh()); | 166 | wrapper.eq(request.getMlh() != null, "MLH", request.getMlh()); |
| 148 | wrapper.eq(request.getAjh()!=null,"AJH",request.getAjh()); | 167 | wrapper.eq(request.getAjh() != null, "AJH", request.getAjh()); |
| 149 | wrapper.eq(request.getNd()!=null,"ND",request.getNd()); | 168 | wrapper.eq(request.getNd() != null, "ND", request.getNd()); |
| 150 | wrapper.eq(request.getDazt()!=null,"DAZT",request.getDazt()); | 169 | wrapper.eq(request.getDazt() != null, "DAZT", request.getDazt()); |
| 151 | wrapper.eq(request.getMj()!=null,"MJ",request.getMj()); | 170 | wrapper.eq(request.getMj() != null, "MJ", request.getMj()); |
| 152 | wrapper.ge(request.getQsrq()!=null,"QSRQ",request.getQsrq()); | 171 | wrapper.ge(request.getQsrq() != null, "QSRQ", request.getQsrq()); |
| 153 | wrapper.le(request.getZzrq()!=null,"ZZRQ",request.getZzrq()); | 172 | wrapper.le(request.getZzrq() != null, "ZZRQ", request.getZzrq()); |
| 154 | wrapper.eq(request.getHh()!=null,"HH",request.getHh()); | 173 | wrapper.eq(request.getHh() != null, "HH", request.getHh()); |
| 155 | wrapper.eq(request.getCfwz()!=null,"CFWZ",request.getCfwz()); | 174 | wrapper.eq(request.getCfwz() != null, "CFWZ", request.getCfwz()); |
| 156 | wrapper.eq(request.getZtc()!=null,"ZTC",request.getZtc()); | 175 | wrapper.eq(request.getZtc() != null, "ZTC", request.getZtc()); |
| 157 | Page page = this.page(pageParam, wrapper); | 176 | Page page = this.page(pageParam, wrapper); |
| 158 | //将查询出来的DO List转为 ListVO List并重新设置到page对象中,并返回page对象 | 177 | //将查询出来的DO List转为 ListVO List并重新设置到page对象中,并返回page对象 |
| 159 | return page.setRecords(dgarchivesConverter.doList2ListVOList(page.getRecords())); | 178 | return page.setRecords(dgarchivesConverter.doList2ListVOList(page.getRecords())); |
| ... | @@ -174,7 +193,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -174,7 +193,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 174 | 如果状态为:4,5,6,7,8显示为档案号 | 193 | 如果状态为:4,5,6,7,8显示为档案号 |
| 175 | */ | 194 | */ |
| 176 | List<DgBdcdyDO> dgBdcdyDOS = null; | 195 | List<DgBdcdyDO> dgBdcdyDOS = null; |
| 177 | if (status.equals(1)||status.equals(2)||status.equals(3)){ | 196 | if (status.equals(1) || status.equals(2) || status.equals(3)) { |
| 178 | QueryWrapper<DgBdcdyDO> bdcdyWrapper = new QueryWrapper<>(); | 197 | QueryWrapper<DgBdcdyDO> bdcdyWrapper = new QueryWrapper<>(); |
| 179 | bdcdyWrapper.lambda().eq(DgBdcdyDO::getBsmArchives, bsmArchives); | 198 | bdcdyWrapper.lambda().eq(DgBdcdyDO::getBsmArchives, bsmArchives); |
| 180 | dgBdcdyDOS = dgBdcdyMapper.selectList(bdcdyWrapper); | 199 | dgBdcdyDOS = dgBdcdyMapper.selectList(bdcdyWrapper); |
| ... | @@ -185,6 +204,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -185,6 +204,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 185 | 204 | ||
| 186 | /** | 205 | /** |
| 187 | * 档案查找 | 206 | * 档案查找 |
| 207 | * | ||
| 188 | * @param request | 208 | * @param request |
| 189 | * @return | 209 | * @return |
| 190 | */ | 210 | */ |
| ... | @@ -197,6 +217,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -197,6 +217,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 197 | 217 | ||
| 198 | /** | 218 | /** |
| 199 | * 档案封皮查找 | 219 | * 档案封皮查找 |
| 220 | * | ||
| 200 | * @param bsmArchive | 221 | * @param bsmArchive |
| 201 | * @return | 222 | * @return |
| 202 | */ | 223 | */ |
| ... | @@ -206,6 +227,52 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi | ... | @@ -206,6 +227,52 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi |
| 206 | return getCover(bsmArchive); | 227 | return getCover(bsmArchive); |
| 207 | } | 228 | } |
| 208 | 229 | ||
| 230 | /** | ||
| 231 | * 1.比对新增的记录数据库是否存在,如果不存在则新增 | ||
| 232 | * 2.比对数据库的数据是否存在前端传递的集合中,不存在则删除,并且删除对应的电子附件数据 | ||
| 233 | * 3.如果目录记录标识码与数据库一致,直接更新当前的记录 | ||
| 234 | * | ||
| 235 | * @param requests | ||
| 236 | * @return | ||
| 237 | */ | ||
| 238 | @Override | ||
| 239 | @Transactional(rollbackFor = Exception.class) | ||
| 240 | public boolean updateCatalog(List<UpdateDgArchivesCatalogRequest> requests) { | ||
| 241 | |||
| 242 | List<UpdateDgArchivesCatalogRequest> updateCatalogs = requests.stream().filter(item -> !item.getBsmCatalog().isEmpty()).collect(Collectors.toList()); | ||
| 243 | List<UpdateDgArchivesCatalogRequest> addCatalogs = requests.stream().filter(item -> item.getBsmCatalog().isEmpty()).collect(Collectors.toList()); | ||
| 244 | |||
| 245 | //存量数据更新. | ||
| 246 | String bsmArchive = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmArchives).findFirst().orElse(null); | ||
| 247 | QueryWrapper<DgArchivesCatalogDO> catalogWrapper = new QueryWrapper<>(); | ||
| 248 | catalogWrapper.lambda().eq(DgArchivesCatalogDO::getBsmArchives, bsmArchive); | ||
| 249 | List<DgArchivesCatalogDO> catalogsAlreadyExist = catalogService.list(catalogWrapper); | ||
| 250 | //入参的存量数据小于数据库内数据,删除数据库内多余数据 | ||
| 251 | if (updateCatalogs.size() < catalogsAlreadyExist.size()) { | ||
| 252 | List<String> updateBsmCatalogs = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmCatalog).collect(Collectors.toList()); | ||
| 253 | List<String> alreadyExistBsmCatalogs = catalogsAlreadyExist.stream().map(DgArchivesCatalogDO::getBsmCatalog).collect(Collectors.toList()); | ||
| 254 | //过滤数据 | ||
| 255 | List<String> deleteBsmCatalogs = alreadyExistBsmCatalogs.stream().filter(item -> !updateBsmCatalogs.contains(item)).collect(Collectors.toList()); | ||
| 256 | //删除附件表数据 | ||
| 257 | QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>(); | ||
| 258 | fileWrapper.lambda().in(DgFileDO::getBsmCatalog, deleteBsmCatalogs); | ||
| 259 | dgFileService.remove(fileWrapper); | ||
| 260 | //删除目录表多余数据 | ||
| 261 | catalogWrapper.lambda().in(DgArchivesCatalogDO::getBsmCatalog,deleteBsmCatalogs); | ||
| 262 | catalogService.remove(catalogWrapper); | ||
| 263 | } | ||
| 264 | List<DgArchivesCatalogDO> updateCatalogDOs = catalogConverter.updateList2DO(updateCatalogs); | ||
| 265 | boolean flag = catalogService.updateBatchById(updateCatalogDOs); | ||
| 266 | |||
| 267 | if (addCatalogs.size() != 0) { | ||
| 268 | //新增数据 | ||
| 269 | List<DgArchivesCatalogDO> addCatalogDOs = catalogConverter.updateList2DO(addCatalogs); | ||
| 270 | return catalogService.saveBatch(addCatalogDOs); | ||
| 271 | } | ||
| 272 | return flag; | ||
| 273 | |||
| 274 | } | ||
| 275 | |||
| 209 | private ArchiveDetailAndCoverVO getCover(String bsmArchive) { | 276 | private ArchiveDetailAndCoverVO getCover(String bsmArchive) { |
| 210 | DgArchivesDO archivesDO = this.getById(bsmArchive); | 277 | DgArchivesDO archivesDO = this.getById(bsmArchive); |
| 211 | DgArchivesDetailVO dgArchivesDetailVO = dgarchivesConverter.do2DetailVO(archivesDO); | 278 | DgArchivesDetailVO dgArchivesDetailVO = dgarchivesConverter.do2DetailVO(archivesDO); | ... | ... |
| ... | @@ -25,4 +25,6 @@ public interface DgArchivesCatalogConverter{ | ... | @@ -25,4 +25,6 @@ public interface DgArchivesCatalogConverter{ |
| 25 | List<DgArchivesCatalogListVO> doList2ListVOList(List<DgArchivesCatalogDO> dgarchivescatalogDOList); | 25 | List<DgArchivesCatalogListVO> doList2ListVOList(List<DgArchivesCatalogDO> dgarchivescatalogDOList); |
| 26 | 26 | ||
| 27 | List<DgArchivesCatalogDO> addcataListDO(List<AddDgArchivesCatalogRequest> request); | 27 | List<DgArchivesCatalogDO> addcataListDO(List<AddDgArchivesCatalogRequest> request); |
| 28 | |||
| 29 | List<DgArchivesCatalogDO> updateList2DO(List<UpdateDgArchivesCatalogRequest> request); | ||
| 28 | } | 30 | } | ... | ... |
-
Please register or sign in to post a comment