72b7cb07 by 荆蔚杰

档案目录保存

1 parent 8875d2fa
......@@ -3,6 +3,8 @@ package com.pashanhoo.archive.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pashanhoo.archive.entity.vo.*;
import com.pashanhoo.archive.service.DgArchivesService;
import com.pashanhoo.catalog.entity.vo.DgArchivesCatalogWithFileVO;
import com.pashanhoo.catalog.entity.vo.UpdateDgArchivesCatalogRequest;
import com.pashanhoo.common.Result;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
......@@ -30,8 +32,8 @@ public class DgArchivesController {
@PostMapping("insertDgArchives")
@ApiOperation("新增案卷基本信息")
public Result insertDgArchives(@RequestBody AddDgArchivesRequest request){
if(dgarchivesService.insertDgArchives(request)){
public Result insertDgArchives(@RequestBody AddDgArchivesRequest request) {
if (dgarchivesService.insertDgArchives(request)) {
return Result.ok();
}
return Result.error("新增失败");
......@@ -40,7 +42,7 @@ public class DgArchivesController {
@DeleteMapping("deleteDgArchivesByIds")
@ApiOperation(value = "批量删除案卷基本信息")
public Result deleteDgArchivesByIds(@ApiParam("案卷基本信息ID列表") @RequestParam(value = "idList") List<String> idList) {
if(dgarchivesService.removeByIds(idList)) {
if (dgarchivesService.removeByIds(idList)) {
return Result.ok("删除成功");
}
return Result.error("删除失败");
......@@ -48,8 +50,8 @@ public class DgArchivesController {
@PutMapping("updateDgArchives")
@ApiOperation("修改案卷基本信息,业务信息,不动产信息")
public Result updateDgArchives(@RequestBody UpdateArchiveAndOtherInfoRequest request){
if(dgarchivesService.updateDgArchivesReplenish(request)) {
public Result updateDgArchives(@RequestBody UpdateArchiveAndOtherInfoRequest request) {
if (dgarchivesService.updateDgArchivesReplenish(request)) {
return Result.ok("修改成功");
}
return Result.error("修改失败");
......@@ -57,7 +59,7 @@ public class DgArchivesController {
@GetMapping("getDgArchivesDetailById")
@ApiOperation(value = "案卷基本信息")
public Result getDgArchivesDetailById(@ApiParam("案卷标识码") @RequestParam String bsmArchive){
public Result getDgArchivesDetailById(@ApiParam("案卷标识码") @RequestParam String bsmArchive) {
return Result.ok(dgarchivesService.getDgArchivesDetailById(bsmArchive));
}
......@@ -77,6 +79,7 @@ public class DgArchivesController {
/**
* 通过案卷标识码加载左菜单目录
*
* @param bsmArchives 案卷标识码
* @return
*/
......@@ -85,4 +88,22 @@ public class DgArchivesController {
public Result getArchiveLiftMenu(@ApiParam("案卷标识码") @RequestParam String bsmArchives) {
return Result.ok(dgarchivesService.getArchiveLiftMenu(bsmArchives));
}
/**
* 1.比对新增的记录数据库是否存在,如果不存在则新增
* 2.比对数据库的数据是否存在前端传递的集合中,不存在则删除,并且删除对应的电子附件数据
* 3.如果目录记录标识码与数据库一致,直接更新当前的记录
*
* @param requests
* @return
*/
@PostMapping("saveCatalogs")
@ApiOperation(value = "目录保存")
public Result saveCatalogs(@RequestBody List<UpdateDgArchivesCatalogRequest> requests) {
if (dgarchivesService.updateCatalog(requests)) {
return Result.ok("修改成功");
}
return Result.error("修改失败");
}
}
......
......@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.pashanhoo.archive.entity.DgArchivesDO;
import com.pashanhoo.archive.entity.vo.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pashanhoo.catalog.entity.vo.DgArchivesCatalogWithFileVO;
import com.pashanhoo.catalog.entity.vo.UpdateDgArchivesCatalogRequest;
import java.util.List;
......@@ -17,8 +19,9 @@ import java.util.List;
* @since 2021-11-05
*/
public interface DgArchivesService extends IService<DgArchivesDO> {
/**
/**
* 新增记录
*
* @param request
* @return
*/
......@@ -26,6 +29,7 @@ public interface DgArchivesService extends IService<DgArchivesDO> {
/**
* 查询案卷基本信息
*
* @param bsmArchive
* @return
*/
......@@ -41,13 +45,15 @@ public interface DgArchivesService extends IService<DgArchivesDO> {
/**
* 根据条件进行列表查询
*
* @param request
* @return
*/
*/
Page searchDgArchivesList(DgArchivesSearchRequest request);
/**
* 根据档案标识码加载左侧菜单
*
* @param bsmArchives 档案标识码
* @return
*/
......@@ -55,6 +61,7 @@ public interface DgArchivesService extends IService<DgArchivesDO> {
/**
* 档案查找
*
* @param request
* @return
*/
......@@ -62,8 +69,19 @@ public interface DgArchivesService extends IService<DgArchivesDO> {
/**
* 档案封皮查找
*
* @param bsmArchive
* @return
*/
ArchiveDetailAndCoverVO searchArchivesCover(String bsmArchive);
/**
* 1.比对新增的记录数据库是否存在,如果不存在则新增
* 2.比对数据库的数据是否存在前端传递的集合中,不存在则删除,并且删除对应的电子附件数据
* 3.如果目录记录标识码与数据库一致,直接更新当前的记录
*
* @param requests
* @return
*/
boolean updateCatalog(List<UpdateDgArchivesCatalogRequest> requests);
}
......
......@@ -18,6 +18,12 @@ import com.pashanhoo.business.entity.DgBusinessDO;
import com.pashanhoo.business.entity.vo.DgBusinessDetailVO;
import com.pashanhoo.business.entity.vo.UpdateDgBusinessRequest;
import com.pashanhoo.business.service.DgBusinessService;
import com.pashanhoo.catalog.entity.DgArchivesCatalogConverter;
import com.pashanhoo.catalog.entity.DgArchivesCatalogDO;
import com.pashanhoo.catalog.entity.vo.UpdateDgArchivesCatalogRequest;
import com.pashanhoo.catalog.service.DgArchivesCatalogService;
import com.pashanhoo.file.entity.DgFileDO;
import com.pashanhoo.file.service.DgFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -26,6 +32,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
......@@ -59,8 +66,18 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
@Autowired
private DgBusinessConverter dgBusinessConverter;
@Autowired
private DgArchivesCatalogService catalogService;
@Autowired
private DgArchivesCatalogConverter catalogConverter;
@Autowired
private DgFileService dgFileService;
/**
* 新增记录
*
* @param request
* @return
*/
......@@ -72,6 +89,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
/**
* 查询案卷基本信息
*
* @param bsmArchive
* @return
*/
......@@ -124,6 +142,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
/**
* 根据条件进行列表查询
*
* @param request
* @return
*/
......@@ -132,7 +151,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
Page<DgArchivesDO> pageParam = new Page<DgArchivesDO>(request.getCurrentPage(), request.getPageSize());
QueryWrapper<DgArchivesDO> wrapper = new QueryWrapper<>();
//设置默认排序
wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField());
wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField());
//增加条件
// lt:less than 小于
......@@ -141,19 +160,19 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
// ne:not equal to 不等于
// ge:greater than or equal to 大于等于
// gt:greater than 大于
wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField());
wrapper.eq(request.getAjbt()!=null,"AJBT",request.getAjbt());
wrapper.eq(request.getFlh()!=null,"FLH",request.getFlh());
wrapper.eq(request.getMlh()!=null,"MLH",request.getMlh());
wrapper.eq(request.getAjh()!=null,"AJH",request.getAjh());
wrapper.eq(request.getNd()!=null,"ND",request.getNd());
wrapper.eq(request.getDazt()!=null,"DAZT",request.getDazt());
wrapper.eq(request.getMj()!=null,"MJ",request.getMj());
wrapper.ge(request.getQsrq()!=null,"QSRQ",request.getQsrq());
wrapper.le(request.getZzrq()!=null,"ZZRQ",request.getZzrq());
wrapper.eq(request.getHh()!=null,"HH",request.getHh());
wrapper.eq(request.getCfwz()!=null,"CFWZ",request.getCfwz());
wrapper.eq(request.getZtc()!=null,"ZTC",request.getZtc());
wrapper = "desc".equals(request.getSortOrder()) ? wrapper.orderByDesc(request.getSortField()) : wrapper.orderByAsc(request.getSortField());
wrapper.eq(request.getAjbt() != null, "AJBT", request.getAjbt());
wrapper.eq(request.getFlh() != null, "FLH", request.getFlh());
wrapper.eq(request.getMlh() != null, "MLH", request.getMlh());
wrapper.eq(request.getAjh() != null, "AJH", request.getAjh());
wrapper.eq(request.getNd() != null, "ND", request.getNd());
wrapper.eq(request.getDazt() != null, "DAZT", request.getDazt());
wrapper.eq(request.getMj() != null, "MJ", request.getMj());
wrapper.ge(request.getQsrq() != null, "QSRQ", request.getQsrq());
wrapper.le(request.getZzrq() != null, "ZZRQ", request.getZzrq());
wrapper.eq(request.getHh() != null, "HH", request.getHh());
wrapper.eq(request.getCfwz() != null, "CFWZ", request.getCfwz());
wrapper.eq(request.getZtc() != null, "ZTC", request.getZtc());
Page page = this.page(pageParam, wrapper);
//将查询出来的DO List转为 ListVO List并重新设置到page对象中,并返回page对象
return page.setRecords(dgarchivesConverter.doList2ListVOList(page.getRecords()));
......@@ -174,7 +193,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
如果状态为:4,5,6,7,8显示为档案号
*/
List<DgBdcdyDO> dgBdcdyDOS = null;
if (status.equals(1)||status.equals(2)||status.equals(3)){
if (status.equals(1) || status.equals(2) || status.equals(3)) {
QueryWrapper<DgBdcdyDO> bdcdyWrapper = new QueryWrapper<>();
bdcdyWrapper.lambda().eq(DgBdcdyDO::getBsmArchives, bsmArchives);
dgBdcdyDOS = dgBdcdyMapper.selectList(bdcdyWrapper);
......@@ -185,6 +204,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
/**
* 档案查找
*
* @param request
* @return
*/
......@@ -197,6 +217,7 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
/**
* 档案封皮查找
*
* @param bsmArchive
* @return
*/
......@@ -206,6 +227,52 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
return getCover(bsmArchive);
}
/**
* 1.比对新增的记录数据库是否存在,如果不存在则新增
* 2.比对数据库的数据是否存在前端传递的集合中,不存在则删除,并且删除对应的电子附件数据
* 3.如果目录记录标识码与数据库一致,直接更新当前的记录
*
* @param requests
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateCatalog(List<UpdateDgArchivesCatalogRequest> requests) {
List<UpdateDgArchivesCatalogRequest> updateCatalogs = requests.stream().filter(item -> !item.getBsmCatalog().isEmpty()).collect(Collectors.toList());
List<UpdateDgArchivesCatalogRequest> addCatalogs = requests.stream().filter(item -> item.getBsmCatalog().isEmpty()).collect(Collectors.toList());
//存量数据更新.
String bsmArchive = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmArchives).findFirst().orElse(null);
QueryWrapper<DgArchivesCatalogDO> catalogWrapper = new QueryWrapper<>();
catalogWrapper.lambda().eq(DgArchivesCatalogDO::getBsmArchives, bsmArchive);
List<DgArchivesCatalogDO> catalogsAlreadyExist = catalogService.list(catalogWrapper);
//入参的存量数据小于数据库内数据,删除数据库内多余数据
if (updateCatalogs.size() < catalogsAlreadyExist.size()) {
List<String> updateBsmCatalogs = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmCatalog).collect(Collectors.toList());
List<String> alreadyExistBsmCatalogs = catalogsAlreadyExist.stream().map(DgArchivesCatalogDO::getBsmCatalog).collect(Collectors.toList());
//过滤数据
List<String> deleteBsmCatalogs = alreadyExistBsmCatalogs.stream().filter(item -> !updateBsmCatalogs.contains(item)).collect(Collectors.toList());
//删除附件表数据
QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>();
fileWrapper.lambda().in(DgFileDO::getBsmCatalog, deleteBsmCatalogs);
dgFileService.remove(fileWrapper);
//删除目录表多余数据
catalogWrapper.lambda().in(DgArchivesCatalogDO::getBsmCatalog,deleteBsmCatalogs);
catalogService.remove(catalogWrapper);
}
List<DgArchivesCatalogDO> updateCatalogDOs = catalogConverter.updateList2DO(updateCatalogs);
boolean flag = catalogService.updateBatchById(updateCatalogDOs);
if (addCatalogs.size() != 0) {
//新增数据
List<DgArchivesCatalogDO> addCatalogDOs = catalogConverter.updateList2DO(addCatalogs);
return catalogService.saveBatch(addCatalogDOs);
}
return flag;
}
private ArchiveDetailAndCoverVO getCover(String bsmArchive) {
DgArchivesDO archivesDO = this.getById(bsmArchive);
DgArchivesDetailVO dgArchivesDetailVO = dgarchivesConverter.do2DetailVO(archivesDO);
......
......@@ -25,4 +25,6 @@ public interface DgArchivesCatalogConverter{
List<DgArchivesCatalogListVO> doList2ListVOList(List<DgArchivesCatalogDO> dgarchivescatalogDOList);
List<DgArchivesCatalogDO> addcataListDO(List<AddDgArchivesCatalogRequest> request);
List<DgArchivesCatalogDO> updateList2DO(List<UpdateDgArchivesCatalogRequest> request);
}
......