待办--认证参数收集

This commit is contained in:
zhn
2023-10-26 18:10:00 +08:00
parent 246aa20c23
commit f9877bcd32
@@ -10,15 +10,21 @@ import com.jero.modules.cert.collect.enums.CollectManifestStateEnum;
import com.jero.modules.cert.collect.enums.ManifestStateEnum;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.service.impl.ProjectLibraryBaseServiceImpl;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.todoCenter.entity.ParamsManifestTodoCenterEO;
import com.jero.modules.todoCenter.enums.FlagEnum;
import com.jero.modules.todoCenter.service.IParamsManifestTodoCenterService;
import com.jero.modules.todoCenter.vo.ParamsManifestTodoCenterEOPage;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@@ -35,6 +41,10 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
@Autowired
private ParamsManifestEOMapper paramsManifestEOMapper;
@Autowired
private ProjectLibraryBaseServiceImpl projectLibraryBaseService;
@Autowired
private ISysUserService sysUserService;
@Override
public IPage queryPage(ParamsManifestTodoCenterEOPage pageVO) {
@@ -49,6 +59,14 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
pageVO.setUserName(loginUser.getUsername());
List<ParamsManifestTodoCenterEO> paramsManifestEOListAll = paramsManifestEOMapper.listForTodoCenter(pageVO);
List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
if(ObjectUtil.isNotEmpty(paramsManifestEOListAll)){
List<String> projectIdList = paramsManifestEOListAll.stream().map(ParamsManifestTodoCenterEO::getProjectId).distinct().collect(Collectors.toList());
if(ObjectUtil.isNotEmpty(projectIdList)){
projectLibraryBaseList = projectLibraryBaseService.queryList(projectIdList);
}
}
// 查询清单的所有参数项
List<String> manifestIdList = paramsManifestEOListAll.stream().map(ParamsManifestTodoCenterEO::getId).collect(Collectors.toList());
if (CollectionUtil.isEmpty(manifestIdList)) {
@@ -61,6 +79,15 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
List<String> manifestIdListHomo = paramsManifestEOMapper.listInfoHomo(loginUser.getId(), ManifestStateEnum.COLLECTING.getValue());// 获取当前登录人 拥有认证工程师角色的清单
for(ParamsManifestTodoCenterEO paramsManifestEO : paramsManifestEOListAll) {
List<ProjectLibraryBase> libraryBaseList = projectLibraryBaseList.stream().filter(e -> e.getId().equals(paramsManifestEO.getProjectId())).collect(Collectors.toList());
List<String> userNameList = new ArrayList<>();
if(ObjectUtil.isNotEmpty(libraryBaseList)){
String certificationEngineer = libraryBaseList.get(0).getCertificationEngineer();
if(StringUtils.isNotBlank(certificationEngineer)){
List<SysUser> sysUserList = sysUserService.querySysUserListByIdList(Arrays.asList(certificationEngineer.split(",")));
userNameList = sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList());
}
}
// 查询清单的所有参数项
List<ParamsCollectManifestEO> pcmList = pcmListAll.stream().filter(e->paramsManifestEO.getId().equals(e.getParamsManifestId())).collect(Collectors.toList());
int count1 = (int) pcmList.stream().filter(e-> CollectManifestStateEnum.SUBMIT.getValue().equals(e.getState())
@@ -68,27 +95,31 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
if (count1 == pcmList.size()) {
continue;
}
int count = 0;
if(CollectionUtil.isNotEmpty(manifestIdListHomo) && manifestIdListHomo.contains(paramsManifestEO.getId())) { // 认证工程师 可以看到三种数量
// 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回
count = (int) pcmList.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())
|| CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState())
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count();
if (count > 0) {
paramsManifestEO.setWaitCollectNum(count);
if(ObjectUtil.isNotEmpty(userNameList)){
// 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回
List<String> finalUserNameList = userNameList;
count = (int) pcmList.stream().filter(e -> finalUserNameList.contains(loginUser.getUsername()) && CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())
|| CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState())
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count();
if (count > 0) {
paramsManifestEO.setWaitCollectNum(count);
}
}
// 统计待分配数量 包括状态:待工程接口人处理,填写人退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState())
count = (int) pcmList.stream().filter(e->loginUser.getUsername().equals(e.getSdt())
&& (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState())
|| CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))).count();
if (count > 0) {
paramsManifestEO.setWaitSdtNum(count);
}
// 统计待填写数量 包括状态:待填写,认证工程师退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
count = (int) pcmList.stream().filter(e-> loginUser.getUsername().equals(e.getDre())
&&(CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count();
if (count > 0) {
paramsManifestEO.setWaitFillNum(count);
@@ -96,7 +127,8 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
paramsManifestEO.setFlag(FlagEnum.ZERO.getValue());
} else { // 工程接口只能看到工程接口人是自己的;填写人只能看到填写人是自己 的数量
// 统计待分配数量 包括状态:待工程接口人处理,填写人退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState())
count = (int) pcmList.stream().filter(e->loginUser.getUsername().equals(e.getSdt())
&& (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState())
|| CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))
&& loginUser.getUsername().equals(e.getSdt())).count();
if (count > 0) {
@@ -104,7 +136,8 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
}
// 统计待填写数量 包括状态:待填写,认证工程师退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
count = (int) pcmList.stream().filter(e->loginUser.getUsername().equals(e.getDre())
&& (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))
&& (loginUser.getUsername().equals(e.getDre()) || loginUser.getUsername().equals(e.getSdt()))).count();
if (count > 0) {