认证-参数清单-关联删除历史版本

This commit is contained in:
liyawei
2022-07-08 16:00:37 +08:00
parent 4524f45031
commit b4c7a13bf4
10 changed files with 121 additions and 2 deletions
@@ -3,8 +3,11 @@ package com.jero.modules.cert.collect.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.vo.ParamsManifestVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 参数清单
* @Author: jero-boot
@@ -18,4 +21,6 @@ public interface ParamsManifestEOMapper extends BaseMapper<ParamsManifestEO> {
@Param("state") String state,
IPage page);
List<ParamsManifestVO> listInfoAll(@Param("idList") List<String> idList);
}
@@ -20,6 +20,7 @@
<resultMap id="ParamsManifestEOResultMapForCopy" type="com.jero.modules.cert.collect.vo.ParamsManifestVO">
<id column="id" property="id" />
<result column="title" property="title" />
<result column="version" property="version" />
<result column="project_id" property="projectId" />
<result column="project_name" property="projectName" />
<result column="state" property="state" />
@@ -72,6 +73,7 @@
select
pm.id as id,
pm.title as title,
pm.version as version,
pm.project_id as project_id,
pm.state as state,
concat(pni.project_name,'-',pyni.year_name) as project_name,
@@ -91,4 +93,23 @@
</if>
order by create_time desc
</select>
<select id="listInfoAll" resultMap="ParamsManifestEOResultMapForCopy">
select tmp_tb.* from(
select
pm.id as id,
pm.version as version,
pm.title as title,
concat(pni.project_name,'-',pyni.year_name) as project_name
from params_manifest pm
left join project_library_base as plb on plb.id = pm.project_id
left join project_name_info as pni on plb.project_name_id = pni.id
left join project_year_name_info as pyni on plb.year_name_id=pyni.id
) tmp_tb
where 1=1 and id in
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>
@@ -34,4 +34,12 @@ public interface IParamsCollectManifestHistoryEOService extends IService<ParamsC
*/
List<Map<String, Object>> getHeader(String paramsManifestId, String flag, String cut);
/**
* 批量删除
*
* @param ids
* @return
*/
boolean deleteByIds(List<String> ids);
}
@@ -1,7 +1,6 @@
package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsConfigDataEO;
import com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO;
import java.util.List;
@@ -29,4 +28,7 @@ public interface IParamsConfigDataHistoryEOService extends IService<ParamsConfig
* @return
*/
List<ParamsConfigDataHistoryEO> queryListByConfigIdList(List<String> configIdList);
int deleteByParamsCollectManifestIdList(List<String> paramsCollectManifestIdList);
}
@@ -17,4 +17,6 @@ public interface IParamsManifestHistoryEOService extends IService<ParamsManifest
void addForChangeExtension(String paramsManifestId);
List<ParamsManifestHistoryVO> getHistoryVersionList(String paramsManifestId);
void deleteAllHistoryVersion(List<String> paramsManifestIdList);
}
@@ -455,6 +455,19 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl<Param
return list;
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public boolean deleteByIds(List<String> ids) {
// 关联删除配置数据
paramsConfigDataHistoryEOService.deleteByParamsCollectManifestIdList(ids);
return removeByIds(ids);
}
/**
* 获取一个类和其父类的所有属性
*
@@ -7,6 +7,7 @@ import com.jero.modules.cert.collect.entity.ParamsConfigDataEO;
import com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO;
import com.jero.modules.cert.collect.mapper.ParamsConfigDataHistoryEOMapper;
import com.jero.modules.cert.collect.service.IParamsConfigDataHistoryEOService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -20,6 +21,9 @@ import java.util.List;
@Service
public class ParamsConfigDataHistoryEOServiceImpl extends ServiceImpl<ParamsConfigDataHistoryEOMapper, ParamsConfigDataHistoryEO> implements IParamsConfigDataHistoryEOService {
@Autowired
private ParamsConfigDataHistoryEOMapper paramsConfigDataHistoryEOMapper;
/**
* 通过id查询
*
@@ -50,4 +54,12 @@ public class ParamsConfigDataHistoryEOServiceImpl extends ServiceImpl<ParamsConf
}
return null;
}
@Override
public int deleteByParamsCollectManifestIdList(List<String> paramsCollectManifestIdList) {
LambdaQueryWrapper<ParamsConfigDataHistoryEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ParamsConfigDataEO::getParamsCollectManifestId, paramsCollectManifestIdList);
return paramsConfigDataHistoryEOMapper.delete(queryWrapper);
}
}
@@ -20,6 +20,7 @@ import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper;
import com.jero.modules.cert.collect.service.*;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.report.service.IParamsReportEOService;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
@@ -81,6 +82,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Autowired
private IParamsConfigDataEOService paramsConfigDataEOService;
@Autowired
private IParamsReportEOService paramsReportEOService;
@@ -212,6 +216,14 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
}
// 删除对应的历史版本数据
List<String> idList = new ArrayList<>();
idList.add(id);
paramsManifestHistoryEOService.deleteAllHistoryVersion(idList);
// 添加上报库的项目名称和清单标题
paramsReportEOService.setProjectNameAndTitle(idList);
return removeById(id);
}
@@ -251,6 +263,13 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
paramsCollectManifestEOService.deleteByIds(paramsCollectManifestIdList);
}
// 删除对应的历史版本数据
paramsManifestHistoryEOService.deleteAllHistoryVersion(ids);
// 添加上报库的项目名称和清单标题
paramsReportEOService.setProjectNameAndTitle(ids);
return removeByIds(ids);
}
@@ -1,9 +1,11 @@
package com.jero.modules.cert.collect.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.cert.collect.entity.*;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsConfigHistoryEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsManifestHistoryEOMapper;
import com.jero.modules.cert.collect.service.*;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
@@ -133,7 +135,7 @@ public class ParamsManifestHistoryEOServiceImpl extends ServiceImpl<ParamsManife
@Override
public List<ParamsManifestHistoryVO> getHistoryVersionList(String paramsManifestId) {
// 同一项目下标题时唯一的,历史版本和当前版本通过标题进行关联
// 历史版本和当前版本通过id进行关联
LambdaQueryWrapper<ParamsManifestHistoryEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsManifestHistoryEO::getSourceParamsManifestId, paramsManifestId)
.orderByAsc(ParamsManifestHistoryEO::getVersion);
@@ -149,4 +151,37 @@ public class ParamsManifestHistoryEOServiceImpl extends ServiceImpl<ParamsManife
return historyVersionList;
}
@Autowired
private ParamsConfigHistoryEOMapper paramsConfigHistoryEOMapper;
@Autowired
private ParamsManifestHistoryEOMapper paramsManifestHistoryEOMapper;
@Override
public void deleteAllHistoryVersion(List<String> paramsManifestIdList) {
LambdaQueryWrapper<ParamsManifestHistoryEO> manifestHistoryEOLambdaQueryWrapper = new LambdaQueryWrapper<>();
manifestHistoryEOLambdaQueryWrapper.in(ParamsManifestHistoryEO::getSourceParamsManifestId, paramsManifestIdList);
List<ParamsManifestHistoryEO> list = list(manifestHistoryEOLambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(list)) {
List<String> ids = list.stream().map(ParamsManifestHistoryEO::getId).collect(Collectors.toList());
// 关联删除配置
LambdaQueryWrapper<ParamsConfigHistoryEO> configEOQueryWrapper = new LambdaQueryWrapper<>();
configEOQueryWrapper.in(ParamsConfigHistoryEO::getParamsManifestId, ids);
paramsConfigHistoryEOMapper.delete(configEOQueryWrapper);
// 关联删除收集的参数项(包含配置数据)
LambdaQueryWrapper<ParamsCollectManifestHistoryEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ParamsCollectManifestHistoryEO::getParamsManifestId, ids);
List<ParamsCollectManifestHistoryEO> paramsCollectManifestHistoryEOList = paramsCollectManifestHistoryEOService.list(queryWrapper);
if (CollectionUtil.isNotEmpty(paramsCollectManifestHistoryEOList)) {
List<String> paramsCollectManifestIdList = paramsCollectManifestHistoryEOList.stream().map(ParamsCollectManifestHistoryEO::getId).collect(Collectors.toList());
paramsCollectManifestHistoryEOService.deleteByIds(paramsCollectManifestIdList);
}
// 删除清单对应的所有历史版本清单
paramsManifestHistoryEOMapper.delete(manifestHistoryEOLambdaQueryWrapper);
}
}
}
@@ -1,5 +1,6 @@
package com.jero.modules.cert.collect.vo;
import io.swagger.models.auth.In;
import lombok.Data;
/**
@@ -12,6 +13,7 @@ public class ParamsManifestVO {
private String id;
private String title;
private Integer version;
private String projectName;
private String projectId;
private String state;