获取用户在该项目中所有的责任领域接口开发

This commit is contained in:
wangzhijiang
2023-07-14 11:47:38 +08:00
parent b5b1dfef16
commit ebc1db0360
11 changed files with 241 additions and 8 deletions
@@ -7,6 +7,7 @@ import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.collect.vo.ParamsManifestVO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import com.jero.modules.system.entity.SysDictItem;
import java.util.List;
import java.util.Map;
@@ -99,4 +100,11 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
boolean setTemplateName(List<String> paramsTemplateIds);
boolean updateModel(String mid,String version, String cid);
/**
* 获取用户的责任领域数组
* @param params
* @return
*/
List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params);
}
@@ -3,6 +3,7 @@ package com.jero.modules.cert.collect.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -36,6 +37,7 @@ import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
import com.jero.modules.cert.template.service.IParamsTemplateEOService;
import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.project.entity.ProjectCertificationInventoryEO;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
@@ -56,14 +58,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -1135,4 +1130,45 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
return result.substring(0, result.lastIndexOf("%")); // 前端不需要返百分号
}
@Override
public List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params) {
List<SysDictItem> result = new ArrayList<>();
String userId = (String) params.get("userId");
String userName = (String) params.get("userName");
String projectLibraryId = (String) params.get("projectLibraryId");
String parentId = (String) params.get("parentId");
if(StringUtils.isNotEmpty(parentId)){
projectLibraryId = parentId;
}
List<SysDictItem> dutyTerritorySdiList = (List<SysDictItem>) params.get("dutyTerritorySdiList");
QueryWrapper<ParamsManifestEO> pmQueryWrap = new QueryWrapper<>();
pmQueryWrap.lambda().like(ParamsManifestEO::getProjectId,projectLibraryId);
List<ParamsManifestEO> pmEoList = this.list(pmQueryWrap);
if (CollectionUtils.isNotEmpty(pmEoList)) {
List<String> pmEoIdList = pmEoList.stream().map(ParamsManifestEO::getId).distinct().collect(Collectors.toList());
QueryWrapper<ParamsCollectManifestEO> pcmQueryWrap = new QueryWrapper<>();
pcmQueryWrap.lambda().in(ParamsCollectManifestEO::getParamsManifestId,pmEoIdList);
pcmQueryWrap.and(pcmQuery -> {
pcmQuery.lambda().eq(ParamsCollectManifestEO::getDre,userName).or().like(ParamsCollectManifestEO::getSdt,userName);
});
List<ParamsCollectManifestEO> pcmEoList = this.paramsCollectManifestEOService.list(pcmQueryWrap);
if(CollectionUtils.isNotEmpty(pcmEoList)){
List<String> dutyTerritoryIdList = pcmEoList.stream().map(ParamsCollectManifestEO::getDutyTerritory).distinct().collect(Collectors.toList());
result = dutyTerritorySdiList.stream().filter(dutyTerritory -> {
boolean flag = false;
for (String dutyTerritoryId : dutyTerritoryIdList) {
if (org.apache.commons.lang3.StringUtils.equals(dutyTerritoryId, dutyTerritory.getItemValue())) {
flag = true;
break;
}
}
return flag;
}).collect(Collectors.toList());
}
}
return result;
}
}
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import io.swagger.annotations.Api;
@@ -291,4 +292,12 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
public void exportProjectProgressStatisticsXls(HttpServletResponse response,HttpServletRequest request, @RequestParam Map<String,Object> params) {
this.projectLibraryBaseService.exportProjectProgressStatisticsXls(response,request, params);
}
@AutoLog(value = "获取用户在该项目中所有的责任领域")
@ApiOperation(value="获取用户在该项目中所有的责任领域", notes="获取用户在该项目中所有的责任领域")
@GetMapping(value = "/getUserAllDutyTerritoryList")
public Result<List<DictModel>> getUserAllDutyTerritoryList(@RequestParam Map<String,Object> params){
List<DictModel> resList = this.projectLibraryBaseService.getUserAllDutyTerritoryList(params);
return Result.OK(resList);
}
}
@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.project.entity.ProjectCertificationInventoryEO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
@@ -317,4 +319,11 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
* @param editEndTimeCertificationInventoryEOS
*/
void syncProcessInfoDetailEndTime(Date endTime, List<ProjectCertificationInventoryEO> editEndTimeCertificationInventoryEOS);
/**
* 获取用户的责任领域数组
* @param params
* @return
*/
List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params);
}
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.itextpdf.text.DocumentException;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.feishu.vo.FeishuMsgVo;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
@@ -308,4 +309,11 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
IPage<ProjectLawsInventoryEO> queryPage(ProjectLawsInventoryEO projectLawsInventoryEO, Integer pageNo, Integer pageSize, HttpServletRequest req);
Result<?> finalizationVerify(Map<String, Object> params);
/**
* 获取用户的责任领域数组
* @param params
* @return
*/
List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params);
}
@@ -3,6 +3,7 @@ package com.jero.modules.project.service;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.project.entity.ProjectLibraryBase;
import javax.servlet.http.HttpServletRequest;
@@ -167,4 +168,11 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
* @param params
*/
void exportProjectProgressStatisticsXls(HttpServletResponse response, HttpServletRequest request, Map<String, Object> params);
/**
* 获取用户在该项目中所有的责任领域数组
* @param params
* @return
*/
List<DictModel> getUserAllDutyTerritoryList(Map<String, Object> params);
}
@@ -2,7 +2,9 @@ package com.jero.modules.project.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.system.entity.SysDictItem;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.springframework.web.multipart.MultipartFile;
@@ -103,4 +105,11 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
List<Map<String, Object>> queryLawEngineerByProjectId(Map<String, Object> params);
List<Map<String, Object>> queryEngineeringInterfacePersonByProjectId(Map<String, Object> params);
/**
* 获取用户的责任领域数组
* @param params
* @return
*/
List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params);
}
@@ -18,6 +18,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import com.jero.common.util.oss.CosBootUtil;
@@ -6229,5 +6230,39 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
return result;
}
@Override
public List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params) {
List<SysDictItem> result = new ArrayList<>();
String userId = (String) params.get("userId");
String projectLibraryId = (String) params.get("projectLibraryId");
List<SysDictItem> dutyTerritorySdiList = (List<SysDictItem>) params.get("dutyTerritorySdiList");
QueryWrapper<ProjectCertificationInventoryEO> pciQueryWrap = new QueryWrapper<>();
pciQueryWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId,projectLibraryId);
pciQueryWrap.and(pciQuery -> {
pciQuery.lambda().like(ProjectCertificationInventoryEO::getDutyPerson,userId)
.or().like(ProjectCertificationInventoryEO::getSdt,userId);
});
List<ProjectCertificationInventoryEO> pciEoList = this.list(pciQueryWrap);
if(CollectionUtils.isNotEmpty(pciEoList)){
List<String> dutyTerritoryIdList = Arrays.asList(
pciEoList.stream().map(ProjectCertificationInventoryEO::getDutyTerritory).collect(Collectors.joining(",")).split(",")
).stream().distinct().collect(Collectors.toList());
result = dutyTerritorySdiList.stream().filter(dutyTerritory -> {
boolean flag = false;
for (String dutyTerritoryId : dutyTerritoryIdList) {
if (StringUtils.equals(dutyTerritoryId, dutyTerritory.getItemValue())) {
flag = true;
break;
}
}
return flag;
}).collect(Collectors.toList());
}
return result;
}
}
@@ -27,6 +27,7 @@ import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.constant.enums.MsgColorEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import com.jero.common.util.oss.CosBootUtil;
@@ -13682,4 +13683,39 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
return result;
}
@Override
public List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params) {
List<SysDictItem> result = new ArrayList<>();
String userId = (String) params.get("userId");
String projectLibraryId = (String) params.get("projectLibraryId");
List<SysDictItem> dutyTerritorySdiList = (List<SysDictItem>) params.get("dutyTerritorySdiList");
QueryWrapper<ProjectLawsInventoryEO> pliQueryWrap = new QueryWrapper<>();
pliQueryWrap.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId);
pliQueryWrap.and(pliQuery -> {
pliQuery.lambda().like(ProjectLawsInventoryEO::getRegulationOwnerId,userId)
.or().like(ProjectLawsInventoryEO::getDesignDutyId,userId)
.or().like(ProjectLawsInventoryEO::getVerifyDutyId,userId);
});
List<ProjectLawsInventoryEO> pliEoList = this.list(pliQueryWrap);
if(CollectionUtils.isNotEmpty(pliEoList)){
List<String> dutyTerritoryIdList = Arrays.asList(
pliEoList.stream().map(ProjectLawsInventoryEO::getDutyTerritory).collect(Collectors.joining(",")).split(",")
).stream().distinct().collect(Collectors.toList());
result = dutyTerritorySdiList.stream().filter(dutyTerritory -> {
boolean flag = false;
for (String dutyTerritoryId : dutyTerritoryIdList) {
if (StringUtils.equals(dutyTerritoryId, dutyTerritory.getItemValue())) {
flag = true;
break;
}
}
return flag;
}).collect(Collectors.toList());
}
return result;
}
}
@@ -2585,6 +2585,49 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
}
@Override
public List<DictModel> getUserAllDutyTerritoryList(Map<String, Object> params) {
List<DictModel> result = new ArrayList<>();
List<SysDictItem> sysDictItems = this.sysDictItemServiceImpl.selectItemsAll();
List<SysDictItem> dutyTerritorySdiList = sysDictItems.stream().filter(sysDictItem -> {
return (StringUtils.equals(sysDictItem.getDictCode(), DicCodeEnum.DUTY_TERRITORY.getCode()));
}).collect(Collectors.toList());
params.put("dutyTerritorySdiList",dutyTerritorySdiList);
List<SysDictItem> userAllDutyTerritorySdiList = new ArrayList<>();
List<SysDictItem> prpSdiList = this.projectRelatedPersonnelService.getUserDutyTerritoryList(params);
if(CollectionUtils.isNotEmpty(prpSdiList)){
userAllDutyTerritorySdiList.addAll(prpSdiList);
}
List<SysDictItem> pliSdiList = this.projectLawsInventoryEOService.getUserDutyTerritoryList(params);
if(CollectionUtils.isNotEmpty(pliSdiList)){
userAllDutyTerritorySdiList.addAll(pliSdiList);
}
List<SysDictItem> pciSdiList = this.projectCertificationInventoryEOService.getUserDutyTerritoryList(params);
if(CollectionUtils.isNotEmpty(pciSdiList)){
userAllDutyTerritorySdiList.addAll(pciSdiList);
}
String projectLibraryId = (String) params.get("projectLibraryId");
ProjectLibraryBase projectLibraryBase = this.selectById(projectLibraryId);
params.put("parentId",projectLibraryBase.getParentId());
List<SysDictItem> pmSdiList = this.paramsManifestEOService.getUserDutyTerritoryList(params);
if(CollectionUtils.isNotEmpty(pmSdiList)){
userAllDutyTerritorySdiList.addAll(pmSdiList);
}
userAllDutyTerritorySdiList = userAllDutyTerritorySdiList.stream().distinct().collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(userAllDutyTerritorySdiList)){
for (SysDictItem sysDictItem : userAllDutyTerritorySdiList) {
DictModel dictModel = new DictModel();
dictModel.setText(sysDictItem.getItemText());
dictModel.setTextEn(sysDictItem.getEnName());
dictModel.setValue(sysDictItem.getItemValue());
result.add(dictModel);
}
}
return result;
}
/**
* 导出法规符合性管理
* @param workbook
@@ -9,6 +9,7 @@ import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.TokenUtils;
@@ -1894,4 +1895,35 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
return resultList;
}
@Override
public List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params) {
List<SysDictItem> result = new ArrayList<>();
String userId = (String) params.get("userId");
String projectLibraryId = (String) params.get("projectLibraryId");
List<SysDictItem> dutyTerritorySdiList = (List<SysDictItem>) params.get("dutyTerritorySdiList");
QueryWrapper<ProjectRelatedPersonnel> prpQueryWrap = new QueryWrapper<>();
prpQueryWrap.lambda().eq(ProjectRelatedPersonnel::getProjectId,projectLibraryId);
prpQueryWrap.and(prpQuery -> {
prpQuery.lambda().like(ProjectRelatedPersonnel::getLawEngineer,userId)
.or().like(ProjectRelatedPersonnel::getEngineerLawSet,userId)
.or().like(ProjectRelatedPersonnel::getEngineeringInterfacePerson,userId)
.or().like(ProjectRelatedPersonnel::getEngineerAttSet,userId);
});
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = this.list(prpQueryWrap);
if(CollectionUtils.isNotEmpty(projectRelatedPersonnelList)){
List<String> dutyTerritoryIdList = projectRelatedPersonnelList.stream().map(ProjectRelatedPersonnel::getDutyTerritory).distinct().collect(Collectors.toList());
result = dutyTerritorySdiList.stream().filter(dutyTerritory -> {
boolean flag = false;
for (String dutyTerritoryId : dutyTerritoryIdList) {
if (StringUtils.equals(dutyTerritoryId, dutyTerritory.getItemValue())) {
flag = true;
break;
}
}
return flag;
}).collect(Collectors.toList());
}
return result;
}
}