参数项收集清单-带入工程接口人

This commit is contained in:
zhn
2023-10-25 14:03:07 +08:00
parent 68a0071e97
commit a559831cdb
@@ -3633,6 +3633,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
@Override
public boolean bringSdtInto(ParamsCollectManifestVO paramsCollectManifestVO) {
if(StringUtils.isBlank(paramsCollectManifestVO.getIds())){
return false;
}
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
String projectId = paramsCollectManifestVO.getProjectId();
@@ -3643,18 +3646,27 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
paramsCollectManifestEO.setParamsManifestId(paramsManifestId);
List<ParamsCollectManifestEO> list = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
// 过滤出 状态为待发起收集且工程接口人处为空的参数项
list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())).collect(Collectors.toList());
//带入逻辑修改为只带入勾选的条目
list = list.stream().filter(e->paramsCollectManifestVO.getIds().contains(e.getId())).collect(Collectors.toList());
// 过滤出 状态为待发起收集或变更且工程接口人处为空的参数项
list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).collect(Collectors.toList());
// list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())).collect(Collectors.toList());
//以下为新需求 2023-10-25----------------
//变更状态下允许带入接口人
//带入逻辑修改为只带入勾选的条目
//原有B或空相关人A=A相关人BC=B相关人AC=
List<ParamsCollectManifestEO> updateCollectManifestEOList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(list)) {
list.forEach(collectManifestEO -> {
String sdt = collectManifestEO.getSdt();
// 根据负责领域处理工程接口人零个一个多个 领域中仅有一个人时添加该字段
ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectVersionId(), collectManifestEO.getDutyTerritory());
if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) {
String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson();
if (org.apache.commons.lang.StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时添加该字段
if (StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时添加该字段
SysUser sysUser = sysUserService.getById(sdtId);
if (ObjectUtil.isNotEmpty(sysUser)) {
ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO();
@@ -3664,6 +3676,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
updateCollectManifestEOList.add(updateCollectManifestEO);
}
}
List<SysUser> sysUserList = sysUserService.listByIds(Arrays.asList(sdtId.split(",")));
List<String> userNameList = sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList());
if (StringUtils.isNotBlank(sdt)
&& ObjectUtils.isNotEmpty(userNameList)
&& sdtId.contains(",")
&& !userNameList.contains(sdt)) {
ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO();
updateCollectManifestEO.setId(collectManifestEO.getId());
updateCollectManifestEO.setSdt("");
updateCollectManifestEOList.add(updateCollectManifestEO);
}
}
});
@@ -3671,6 +3697,46 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
return updateBatchById(updateCollectManifestEOList);
}
// @Override
// public boolean bringSdtInto(ParamsCollectManifestVO paramsCollectManifestVO) {
// String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
// String projectId = paramsCollectManifestVO.getProjectId();
//
// // 查询参数清单
// ParamsManifestEO paramsManifestEO = paramsManifestEOService.getById(paramsManifestId);
//
// // 查询所有收集参数项
// ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
// paramsCollectManifestEO.setParamsManifestId(paramsManifestId);
// List<ParamsCollectManifestEO> list = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
// // 过滤出 状态为待发起收集且工程接口人处为空的参数项
// list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())).collect(Collectors.toList());
//
// List<ParamsCollectManifestEO> updateCollectManifestEOList = new ArrayList<>();
// if (CollectionUtil.isNotEmpty(list)) {
// list.forEach(collectManifestEO -> {
//
// // 根据负责领域处理工程接口人零个一个多个 领域中仅有一个人时添加该字段
// ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectVersionId(), collectManifestEO.getDutyTerritory());
// if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) {
// String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson();
// if (org.apache.commons.lang.StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时添加该字段
// SysUser sysUser = sysUserService.getById(sdtId);
// if (ObjectUtil.isNotEmpty(sysUser)) {
// ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO();
// updateCollectManifestEO.setId(collectManifestEO.getId());
// updateCollectManifestEO.setSdt(sysUser.getUsername());
//
// updateCollectManifestEOList.add(updateCollectManifestEO);
// }
// }
// }
// });
//
// }
//
// return updateBatchById(updateCollectManifestEOList);
// }
@Override
public void exportAll(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request) {