法规清单和认证清单--导出

This commit is contained in:
zhn
2024-01-03 13:43:33 +08:00
parent 502b088f32
commit 41a121f66b
2 changed files with 120 additions and 1 deletions
@@ -5582,6 +5582,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
*/
@Override
public void exportData(HttpServletResponse response, HttpServletRequest request, ProjectCertificationInventoryEO projectCertificationInventoryEO) {
String flowStatusStr = "";
if (StringUtils.isNotEmpty(projectCertificationInventoryEO.getFlowStatus())) {
flowStatusStr = projectCertificationInventoryEO.getFlowStatus();
projectCertificationInventoryEO.setFlowStatus(null);
}
List<ProjectCertificationInventoryEO> dataList = new ArrayList<>();
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = QueryGenerator.initQueryWrapper(projectCertificationInventoryEO,request.getParameterMap());
queryWrapper.in("project_library_id",projectCertificationInventoryEO.getProjectLibraryId());
@@ -5601,8 +5606,62 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
String roleCode = projectLibraryRoleRelEO.getRoleCode();
// 创建查询权限
this.createQueryPermission(queryWrapper,roleCode);
// 根据一级责任领域统计节点查询该一级责任领域下所有子责任领域的法规清单数据
String dutyTerritoryStr = "";
if(StringUtils.isNotEmpty(projectCertificationInventoryEO.getFirstLevelDutyTerritory())){
List<SysDictItem> sysDictItems = this.sysDictItemServiceImpl.selectItemsAll();
List<SysDictItem> dutyTerritorys = new ArrayList<>();
Map<String, List<SysDictItem>> firstLevelDTMap = this.sysDictItemServiceImpl.getFirstLevelSysDictItemByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue(), sysDictItems);
String[] firstLevelDTArr = projectCertificationInventoryEO.getFirstLevelDutyTerritory().split(",");
for (String firstLevelDT : firstLevelDTArr){
if(CollectionUtils.isNotEmpty(firstLevelDTMap.get(firstLevelDT))){
dutyTerritorys.addAll(firstLevelDTMap.get(firstLevelDT));
}
}
if(CollectionUtils.isNotEmpty(dutyTerritorys)){
dutyTerritoryStr = dutyTerritorys.stream().map(SysDictItem::getItemValue).distinct().collect(Collectors.joining(","));
}
}
if (StringUtils.isNotEmpty(dutyTerritoryStr)) {
String finalDutyTerritoryStr = dutyTerritoryStr.replaceAll("\\*","");
queryWrapper.and(query -> {
query.lambda().like(ProjectCertificationInventoryEO::getDutyTerritory, finalDutyTerritoryStr);
if(StringUtils.contains(finalDutyTerritoryStr,",")){
String[] dutyTerritoryArr = finalDutyTerritoryStr.split(",");
for (String duty : dutyTerritoryArr) {
query.or(q -> {
q.like("duty_territory",duty);
});
}
}
});
}
int isProjectRole = Integer.parseInt(roleCode);
if (isProjectRole == Integer.parseInt(com.jero.modules.project.enums.ProjectRoleEnum.VIEWER.getValue())) {
//查当前用户Viewer对应责任领域
List<String> dutyTerritoryList = this.projectUserDutyTerritoryService.queryDutyTerritoryByUserId(currentUser.getId());
if (ObjectUtils.isNotEmpty(dutyTerritoryList)) {
queryWrapper.and(query -> {
for (String duty : dutyTerritoryList) {
query.or(q -> {
q.like("duty_territory", duty);
});
}
});
}
}
//导出的数据
dataList = this.list(queryWrapper);
//平台件数据处理
platformDispose(projectCertificationInventoryEO.getCut(),projectCertificationInventoryEO, dataList);
//流程状态搜索
if(StringUtils.isNotBlank(flowStatusStr)){
String finalFlowStatusStr = flowStatusStr;
dataList = dataList.stream().filter(e-> finalFlowStatusStr.contains(e.getFlowStatus())).collect(Collectors.toList());
}
//文件
List<OSSFile> fileInfos = getOssFiles(dataList);
//处理文件名称
@@ -3976,8 +3976,58 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
@Override
public void exportData(HttpServletResponse response, HttpServletRequest request, ProjectLawsInventoryEO projectLawsInventoryEO) {
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<ProjectLawsInventoryEO> dataList = new ArrayList<>();
String dutyTerritoryStr = "";
if (StringUtils.isNotEmpty(projectLawsInventoryEO.getDutyTerritory())) {
dutyTerritoryStr = projectLawsInventoryEO.getDutyTerritory();
projectLawsInventoryEO.setDutyTerritory(null);
}
String designFlowStatusStr = "";
if (StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignFlowStatus())) {
designFlowStatusStr = projectLawsInventoryEO.getDesignFlowStatus();
projectLawsInventoryEO.setDesignFlowStatus(null);
}
String verifyFlowStatusStr = "";
if (StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyFlowStatus())) {
verifyFlowStatusStr = projectLawsInventoryEO.getVerifyFlowStatus();
projectLawsInventoryEO.setVerifyFlowStatus(null);
}
// 根据一级责任领域统计节点查询该一级责任领域下所有子责任领域的法规清单数据
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getFirstLevelDutyTerritory())){
List<SysDictItem> sysDictItems = this.sysDictItemServiceImpl.selectItemsAll();
List<SysDictItem> dutyTerritorys = new ArrayList<>();
Map<String, List<SysDictItem>> firstLevelDTMap = this.sysDictItemServiceImpl.getFirstLevelSysDictItemByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue(), sysDictItems);
String[] firstLevelDTArr = projectLawsInventoryEO.getFirstLevelDutyTerritory().split(",");
for (String firstLevelDT : firstLevelDTArr){
if(CollectionUtils.isNotEmpty(firstLevelDTMap.get(firstLevelDT))){
dutyTerritorys.addAll(firstLevelDTMap.get(firstLevelDT));
}
}
if(CollectionUtils.isNotEmpty(dutyTerritorys)){
dutyTerritoryStr = dutyTerritorys.stream().map(SysDictItem::getItemValue).distinct().collect(Collectors.joining(","));
}
}
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = QueryGenerator.initQueryWrapper(projectLawsInventoryEO, request.getParameterMap());
if (StringUtils.isNotEmpty(dutyTerritoryStr)) {
String finalDutyTerritoryStr = dutyTerritoryStr.replaceAll("\\*","");
queryWrapper.and(query -> {
query.lambda().like(ProjectLawsInventoryEO::getDutyTerritory, finalDutyTerritoryStr);
if(StringUtils.contains(finalDutyTerritoryStr,",")){
String[] dutyTerritoryArr = finalDutyTerritoryStr.split(",");
for (String duty : dutyTerritoryArr) {
query.or(q -> {
q.like("duty_territory",duty);
});
}
}
});
}
List<ProjectLawsInventoryEO> dataList = new ArrayList<>();
queryWrapper.in("project_library_id", projectLawsInventoryEO.getProjectLibraryId());
if (StringUtils.isNotBlank(projectLawsInventoryEO.getIds())) {
queryWrapper.in("id", Arrays.asList(projectLawsInventoryEO.getIds().split(",")));
@@ -4003,6 +4053,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
//导出的数据
dataList = this.list(queryWrapper);
//关联平台件数据
platformDispose(projectLawsInventoryEO, dataList);
if(StringUtils.isNotBlank(designFlowStatusStr)){
String finalDesignFlowStatusStr = designFlowStatusStr;
dataList = dataList.stream().filter(e-> finalDesignFlowStatusStr.contains(e.getDesignFlowStatus())).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(verifyFlowStatusStr)){
String finalVerifyFlowStatusStr = verifyFlowStatusStr;
dataList = dataList.stream().filter(e-> finalVerifyFlowStatusStr.contains(e.getVerifyFlowStatus())).collect(Collectors.toList());
}
//文件
List<OSSFile> fileInfos = getOssFiles(dataList);