项目状态进度--接口对接版(未验证)
This commit is contained in:
+17
@@ -47,6 +47,23 @@ public class ProjectStatusBoardController {
|
||||
return Result.OK(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目状态进度
|
||||
*
|
||||
* @param projectLibraryBase
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "项目状态进度")
|
||||
@ApiOperation(value="项目状态进度", notes="项目状态进度")
|
||||
@GetMapping(value = "/scheduleInfoList")
|
||||
public Result<?> scheduleInfoList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) {
|
||||
iProjectStatusBoardService.scheduleInfoList(projectLibraryBase, req);
|
||||
if("result"==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK("result");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+13
@@ -13,5 +13,18 @@ import java.util.List;
|
||||
*/
|
||||
public interface IProjectStatusBoardService {
|
||||
|
||||
/**
|
||||
* 时间轴
|
||||
* @param projectLibraryBase
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
List<List<TimeNodeVO>> timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 项目状态进度
|
||||
* @param projectLibraryBase
|
||||
* @param req
|
||||
*/
|
||||
void scheduleInfoList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req);
|
||||
}
|
||||
|
||||
+243
-1
@@ -3,8 +3,15 @@ package com.jero.modules.project.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
|
||||
import com.jero.modules.project.entity.ConditionAssessmentEO;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.enums.CurrentProjectStatusEnum;
|
||||
import com.jero.modules.project.enums.InventoryAffirmStatusEnum;
|
||||
import com.jero.modules.project.enums.ReviewResultEnum;
|
||||
import com.jero.modules.project.enums.TaskAffirmStatusEnum;
|
||||
import com.jero.modules.project.service.IConditionAssessmentEOService;
|
||||
import com.jero.modules.project.service.IProjectStatusBoardService;
|
||||
import com.jero.modules.project.vo.TimeNodeVO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -13,7 +20,9 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -27,8 +36,20 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
||||
private ProjectTaskPlanningServiceImpl projectTaskPlanningService;
|
||||
@Autowired
|
||||
private ProjectLibraryBaseServiceImpl projectLibraryBaseService;
|
||||
@Autowired
|
||||
private IConditionAssessmentEOService conditionAssessmentEOService;
|
||||
@Autowired
|
||||
private ProjectLawsInventoryEOServiceImpl projectLawsInventoryEOService;
|
||||
@Autowired
|
||||
private ProjectTaskInventoryEOServiceImpl projectTaskInventoryEOService;
|
||||
|
||||
|
||||
/**
|
||||
* 时间轴
|
||||
* @param projectLibraryBase
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<List<TimeNodeVO>> timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) {
|
||||
|
||||
@@ -46,4 +67,225 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目状态进度
|
||||
* @param projectLibraryBase
|
||||
* @param req
|
||||
*/
|
||||
@Override
|
||||
public void scheduleInfoList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) {
|
||||
QueryWrapper<ProjectLibraryBase> queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryBase, req.getParameterMap());
|
||||
|
||||
//项目库信息
|
||||
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseService.list(queryWrapper);
|
||||
|
||||
if(projectLibraryBaseList.size() != 0){
|
||||
List<String> LibraryBaseIdList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getId).collect(Collectors.toList());
|
||||
|
||||
//所有项目的法规清单
|
||||
LambdaQueryWrapper<ProjectLawsInventoryEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(ProjectLawsInventoryEO::getProjectLibraryId,LibraryBaseIdList);
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOAll = projectLawsInventoryEOService.list(wrapper);
|
||||
|
||||
//所有项目的任务清单
|
||||
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>();
|
||||
if(projectLawsInventoryEOAll.size() != 0){
|
||||
//法规清单id
|
||||
List<String> projectLawsInventoryEOIdAll = projectLawsInventoryEOAll.stream().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ProjectTaskInventoryEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryEOIdAll);
|
||||
projectTaskInventoryEOList = projectTaskInventoryEOService.list(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
List<Map<String,Object>> result = new ArrayList<>();
|
||||
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
||||
|
||||
//(1)每个项目下的法规清单
|
||||
List<ProjectLawsInventoryEO> ProjectLawsInventoryEOS = projectLawsInventoryEOAll.stream().filter(e -> libraryBase.getId().equals(e.getProjectLibraryId())).collect(Collectors.toList());
|
||||
List<String> ProjectLawsInventoryIdList = ProjectLawsInventoryEOS.stream().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList());
|
||||
//(2)每个项目下的任务清单
|
||||
List<ProjectTaskInventoryEO> projectTaskInventoryEOS = new ArrayList<>();
|
||||
if(projectTaskInventoryEOList.size() != 0){
|
||||
projectTaskInventoryEOS = projectTaskInventoryEOList.stream().filter(e -> ProjectLawsInventoryIdList.contains(e.getProjectLawsInventoryId())).collect(Collectors.toList());
|
||||
}
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("projectName",libraryBase.getProjectName());//项目名称
|
||||
map.put("targetMarket",libraryBase.getTargetMarket());//目标市场
|
||||
|
||||
//1. 项目当前状态--projectState(蓝/红/黄/绿)-->studio视角下的数据
|
||||
if(ProjectLawsInventoryIdList.size() != 0){
|
||||
//studio视角下获取项目状态评估数据
|
||||
List<ConditionAssessmentEO> projectStatusAssessList = conditionAssessmentEOService.getProjectStatusAssessList(ProjectLawsInventoryIdList);
|
||||
if(projectStatusAssessList.size() != 0){
|
||||
int blue = 0;
|
||||
int red = 0;
|
||||
int yellow = 0;
|
||||
int green = 0;
|
||||
for (ConditionAssessmentEO conditionAssessmentEO : projectStatusAssessList) {
|
||||
//蓝/红/黄/绿
|
||||
String conditionAssessment = conditionAssessmentEO.getConditionAssessment();
|
||||
if(StringUtils.isNotBlank(conditionAssessment)){
|
||||
if(CurrentProjectStatusEnum.BLUE.getValue().equals(conditionAssessment)){
|
||||
blue++;
|
||||
}else if(CurrentProjectStatusEnum.RED.getValue().equals(conditionAssessment)){
|
||||
red++;
|
||||
}else if(CurrentProjectStatusEnum.YELLOW.getValue().equals(conditionAssessment)){
|
||||
yellow++;
|
||||
}else if(CurrentProjectStatusEnum.GREEN.getValue().equals(conditionAssessment)){
|
||||
green++;
|
||||
}
|
||||
}
|
||||
}
|
||||
String projectState = blue+"/"+red+"/"+yellow+"/"+green;
|
||||
map.put("projectState",projectState);
|
||||
}
|
||||
}
|
||||
|
||||
//2. 认证进度(不涉及/待开始/进行中/实验失败/实验通过)
|
||||
|
||||
|
||||
//3. 清单确认状态(未发起,待确认,接收,拒绝)
|
||||
int inventoryNotStarted=0;
|
||||
int inventoryListToConfirm=0;
|
||||
int inventoryAccepted=0;
|
||||
int inventoryRejected=0;
|
||||
//4. 任务确认状态(未发起,待确认,接收,拒绝)
|
||||
int taskNotStarted=0;
|
||||
int taskListToConfirm=0;
|
||||
int taskAccepted=0;
|
||||
int taskRejected=0;
|
||||
String inventory = "";
|
||||
String task = "";
|
||||
if(ProjectLawsInventoryEOS.size() != 0){
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : ProjectLawsInventoryEOS) {
|
||||
String inventoryAffirmStatus = projectLawsInventoryEO.getInventoryAffirmStatus();//清单确认状态
|
||||
String taskAffirmStatus = projectLawsInventoryEO.getTaskAffirmStatus();//任务确认状态
|
||||
if(StringUtils.isNotBlank(inventoryAffirmStatus)){
|
||||
if(InventoryAffirmStatusEnum.NOT_STARTED.getValue().equals(inventoryAffirmStatus)){
|
||||
inventoryNotStarted++;
|
||||
}else if(InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getValue().equals(inventoryAffirmStatus)){
|
||||
inventoryListToConfirm++;
|
||||
}else if(InventoryAffirmStatusEnum.ACCEPTED.getValue().equals(inventoryAffirmStatus)){
|
||||
inventoryAccepted++;
|
||||
}else if(InventoryAffirmStatusEnum.REJECTED.getValue().equals(inventoryAffirmStatus)){
|
||||
inventoryRejected++;
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(taskAffirmStatus)){
|
||||
if(TaskAffirmStatusEnum.NOT_STARTED.getValue().equals(taskAffirmStatus)){
|
||||
taskNotStarted++;
|
||||
}else if(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue().equals(taskAffirmStatus)){
|
||||
taskListToConfirm++;
|
||||
}else if(TaskAffirmStatusEnum.ACCEPTED.getValue().equals(taskAffirmStatus)){
|
||||
taskAccepted++;
|
||||
}else if(TaskAffirmStatusEnum.REJECTED.getValue().equals(taskAffirmStatus)){
|
||||
taskRejected++;
|
||||
}
|
||||
}
|
||||
}
|
||||
inventory = inventoryNotStarted+"/"+inventoryListToConfirm+"/"+inventoryAccepted+"/"+inventoryRejected+"/";
|
||||
task = taskNotStarted+"/"+taskListToConfirm+"/"+taskAccepted+"/"+taskRejected+"/";
|
||||
}
|
||||
map.put("inventory",inventory);//清单确认状态
|
||||
map.put("task",task);//清单确认状态
|
||||
|
||||
//5. 设计符合性确认,PreHomo确认,验证符合性确认
|
||||
String design = "";
|
||||
String pre = "";
|
||||
String verify = "";
|
||||
if(projectTaskInventoryEOS.size() != 0){
|
||||
int designToBeConfirmed = 0;//设计待确认
|
||||
int designConformity = 0;//设计符合
|
||||
int designInconformity = 0;//设计不符合
|
||||
int designToTrack = 0;//设计待追踪
|
||||
int designUninvolved = 0;//设计不涉及
|
||||
int designTerminationOfTask = 0;//设计任务终止
|
||||
|
||||
int preToBeConfirmed = 0;//pre待确认
|
||||
int preConformity = 0;//pre符合
|
||||
int preInconformity = 0;//pre不符合
|
||||
int preToTrack = 0;//pre待追踪
|
||||
int preUninvolved = 0;//pre不涉及
|
||||
int preTerminationOfTask = 0;//pre任务终止
|
||||
|
||||
int verifyToBeConfirmed = 0;//验证待确认
|
||||
int verifyConformity = 0;//验证符合
|
||||
int verifyInconformity = 0;//验证不符合
|
||||
int verifyToTrack = 0;//验证待追踪
|
||||
int verifyUninvolved = 0;//验证不涉及
|
||||
int verifyTerminationOfTask = 0;//验证任务终止
|
||||
|
||||
for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOS) {
|
||||
//设计符合性流程-任务状态
|
||||
String designFlowTaskStatus = projectTaskInventoryEO.getDesignFlowTaskStatus();
|
||||
//prehomo确认流程-任务状态
|
||||
String prehomoFlowTaskStatus = projectTaskInventoryEO.getPrehomoFlowTaskStatus();
|
||||
//verify_flow_task_status
|
||||
String verifyFlowTaskStatus = projectTaskInventoryEO.getVerifyFlowTaskStatus();
|
||||
|
||||
//5. 设计符合性确认(待确认/符合/不符合/待追踪/不涉及/任务终止)
|
||||
if(StringUtils.isNotBlank(designFlowTaskStatus)){
|
||||
if(ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(designFlowTaskStatus)){
|
||||
designToBeConfirmed++;
|
||||
}else if(ReviewResultEnum.CONFORMITY.getValue().equals(designFlowTaskStatus)){
|
||||
designConformity++;
|
||||
}else if(ReviewResultEnum.INCONFORMITY.getValue().equals(designFlowTaskStatus)){
|
||||
designInconformity++;
|
||||
}else if(ReviewResultEnum.TO_TRACK.getValue().equals(designFlowTaskStatus)){
|
||||
designToTrack++;
|
||||
}else if(ReviewResultEnum.UNINVOLVED.getValue().equals(designFlowTaskStatus)){
|
||||
designUninvolved++;
|
||||
}else if(ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(designFlowTaskStatus)){
|
||||
designTerminationOfTask++;
|
||||
}
|
||||
}
|
||||
//6. PreHomo确认(待确认/符合/不符合/待追踪/不涉及/任务终止)
|
||||
if(StringUtils.isNotBlank(prehomoFlowTaskStatus)){
|
||||
if(ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(prehomoFlowTaskStatus)){
|
||||
preToBeConfirmed++;
|
||||
}else if(ReviewResultEnum.CONFORMITY.getValue().equals(prehomoFlowTaskStatus)){
|
||||
preConformity++;
|
||||
}else if(ReviewResultEnum.INCONFORMITY.getValue().equals(prehomoFlowTaskStatus)){
|
||||
preInconformity++;
|
||||
}else if(ReviewResultEnum.TO_TRACK.getValue().equals(prehomoFlowTaskStatus)){
|
||||
preToTrack++;
|
||||
}else if(ReviewResultEnum.UNINVOLVED.getValue().equals(prehomoFlowTaskStatus)){
|
||||
preUninvolved++;
|
||||
}else if(ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(prehomoFlowTaskStatus)){
|
||||
preTerminationOfTask++;
|
||||
}
|
||||
}
|
||||
//7. 验证符合性确认(待完成/符合/不符合/未验证/不涉及)
|
||||
if(StringUtils.isNotBlank(verifyFlowTaskStatus)){
|
||||
if(ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(verifyFlowTaskStatus)){
|
||||
verifyToBeConfirmed++;
|
||||
}else if(ReviewResultEnum.CONFORMITY.getValue().equals(verifyFlowTaskStatus)){
|
||||
verifyConformity++;
|
||||
}else if(ReviewResultEnum.INCONFORMITY.getValue().equals(verifyFlowTaskStatus)){
|
||||
verifyInconformity++;
|
||||
}else if(ReviewResultEnum.TO_TRACK.getValue().equals(verifyFlowTaskStatus)){
|
||||
verifyToTrack++;
|
||||
}else if(ReviewResultEnum.UNINVOLVED.getValue().equals(verifyFlowTaskStatus)){
|
||||
verifyUninvolved++;
|
||||
}else if(ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(verifyFlowTaskStatus)){
|
||||
verifyTerminationOfTask++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
design = designToBeConfirmed+"/"+designConformity+"/"+designInconformity+"/"+designToTrack+"/"+designUninvolved+"/"+designTerminationOfTask;
|
||||
pre = preToBeConfirmed+"/"+preConformity+"/"+preInconformity+"/"+preToTrack+"/"+preUninvolved+"/"+preTerminationOfTask;
|
||||
verify = verifyToBeConfirmed+"/"+verifyConformity+"/"+verifyInconformity+"/"+verifyToTrack+"/"+verifyUninvolved+"/"+verifyTerminationOfTask;
|
||||
}
|
||||
map.put("design",design);//设计符合性确认
|
||||
map.put("design",pre);//PreHomo确认
|
||||
map.put("design",verify);//验证符合性确认
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user