项目详情--时间轴接口数据格式

This commit is contained in:
zhn
2022-05-13 13:55:36 +08:00
parent 9cf67a6b04
commit a38556706e
5 changed files with 175 additions and 156 deletions
@@ -69,8 +69,8 @@ public class ProjectTaskPlanningController extends JeroController<ProjectTaskPla
@ApiOperation(value="法规,认证任务计划 (各阶段确认进度) 表-列表查询", notes="法规,认证任务计划 (各阶段确认进度) 表-列表查询")
@GetMapping(value = "/list")
public Result<ProjectTaskPlanning> queryList(@RequestParam(name="projectId",required=true) String projectId) {
ProjectTaskPlanning projectTaskPlanning = projectTaskPlanningService.queryList(projectId);
return Result.OK(projectTaskPlanning);
List<ProjectTaskPlanning> projectTaskPlanning = projectTaskPlanningService.queryList(projectId);
return Result.OK(projectTaskPlanning.get(0));
}
/**
@@ -140,11 +140,11 @@ public class ProjectTaskPlanningController extends JeroController<ProjectTaskPla
@GetMapping(value = "/queryByProjectId")
public Result<?> queryByProjectId(@RequestParam(name="projectId",required=true) String projectId,
@RequestParam(name="cut",required=true) String cut) {
List<TimeNodeVO> projectTaskPlanning = projectTaskPlanningService.queryByProjectId(projectId,cut);
if(projectTaskPlanning==null) {
List<List<TimeNodeVO>> result = projectTaskPlanningService.queryByProjectId(projectId,cut);
if(result.size() == 0) {
return Result.error("未找到对应数据");
}
return Result.OK(projectTaskPlanning);
return Result.OK(result.get(0));
}
/**
@@ -2,6 +2,7 @@ package com.jero.modules.project.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.project.entity.ProjectTaskPlanning;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -13,7 +14,8 @@ import java.util.List;
* @Version: V1.0
*/
public interface ProjectTaskPlanningMapper extends BaseMapper<ProjectTaskPlanning> {
@Select("SELECT * FROM project_task_planning where project_id=#{projectId}")
ProjectTaskPlanning getByProjectId(String projectId);
// @Select("SELECT * FROM project_task_planning where project_id=#{projectId}")
List<ProjectTaskPlanning> getByProjectId(@Param("projectId") String projectId);
}
@@ -12,4 +12,16 @@
<result column="attestation_end_time" property="attestationEndTime" />
<result column="verify_deadline" property="verifyDeadline" />
</resultMap>
</mapper>
<select id="getByProjectId" resultMap="ProjectTaskPlanningResultMap">
SELECT * FROM project_task_planning
where 1 = 1
<if test="projectId != null" >
and project_id in
<foreach collection="projectId.split(',')" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>
@@ -52,12 +52,12 @@ public interface IProjectTaskPlanningService extends IService<ProjectTaskPlannin
* @param projectId
* @return
*/
List<TimeNodeVO> queryByProjectId(String projectId,String cut);
List<List<TimeNodeVO>> queryByProjectId(String projectId,String cut);
/**
* 列表查询
*
* @return
*/
ProjectTaskPlanning queryList(String projectId);
List<ProjectTaskPlanning> queryList(String projectId);
}
@@ -90,8 +90,9 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
* @return
*/
@Override
public List<TimeNodeVO> queryByProjectId(String projectId,String cut) {
ProjectTaskPlanning projectTaskPlanning = projectTaskPlanningMapper.getByProjectId(projectId);
public List<List<TimeNodeVO>> queryByProjectId(String projectId,String cut) {
List<ProjectTaskPlanning> projectTaskPlanningList = projectTaskPlanningMapper.getByProjectId(projectId);
List<List<TimeNodeVO>> result = new ArrayList<>();
List<TimeNodeVO> timeNodeVOS = new ArrayList<>();
TimeNodeVO listConfirmationVO=null;
@@ -104,156 +105,160 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
cal1.set(Calendar.SECOND, 0);
cal1.set(Calendar.MILLISECOND, 0);
Date trueNow = cal1.getTime();
for (ProjectTaskPlanning projectTaskPlanning : projectTaskPlanningList) {
if(StringUtils.isNotBlank(projectTaskPlanning.getListConfirmation().toString())) {
listConfirmationVO = new TimeNodeVO();
if(StringUtils.isNotBlank(projectTaskPlanning.getListConfirmation().toString())) {
listConfirmationVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
listConfirmationVO.setName(ProjectTaskPlanningNameEnum.LIST_CONFIRMATION.getName());
}else{
listConfirmationVO.setName(ProjectTaskPlanningNameEnum.LIST_CONFIRMATION.getValue());
}
if(CutEnum.CN.getValue().equals(cut)){
listConfirmationVO.setName(ProjectTaskPlanningNameEnum.LIST_CONFIRMATION.getName());
}else{
listConfirmationVO.setName(ProjectTaskPlanningNameEnum.LIST_CONFIRMATION.getValue());
listConfirmationVO.setTime(projectTaskPlanning.getListConfirmation());
if(projectTaskPlanning.getListConfirmation().after(trueNow)){
listConfirmationVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getListConfirmation().before(trueNow)){
listConfirmationVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
listConfirmationVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(listConfirmationVO);
}
listConfirmationVO.setTime(projectTaskPlanning.getListConfirmation());
if(projectTaskPlanning.getListConfirmation().after(trueNow)){
listConfirmationVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getListConfirmation().before(trueNow)){
listConfirmationVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
listConfirmationVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
if(!StringUtils.isEmpty(projectTaskPlanning.getLegalTaskConfirmation().toString())) {
TimeNodeVO legalTaskConfirmationVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
legalTaskConfirmationVO.setName(ProjectTaskPlanningNameEnum.LEGAL_TASK_CONFIRMATION.getName());
}else{
legalTaskConfirmationVO.setName(ProjectTaskPlanningNameEnum.LEGAL_TASK_CONFIRMATION.getValue());
}
legalTaskConfirmationVO.setTime(projectTaskPlanning.getLegalTaskConfirmation());
if(projectTaskPlanning.getLegalTaskConfirmation().after(trueNow)){
legalTaskConfirmationVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getLegalTaskConfirmation().before(trueNow)){
legalTaskConfirmationVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else {
legalTaskConfirmationVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(legalTaskConfirmationVO);
}
timeNodeVOS.add(listConfirmationVO);
if(StringUtils.isNotBlank(projectTaskPlanning.getDesignDeadline().toString())) {
TimeNodeVO designDeadlineVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
designDeadlineVO.setName(ProjectTaskPlanningNameEnum.DESIGN_DEADLINE.getName());
}else{
designDeadlineVO.setName(ProjectTaskPlanningNameEnum.DESIGN_DEADLINE.getValue());
}
designDeadlineVO.setTime(projectTaskPlanning.getDesignDeadline());
if(projectTaskPlanning.getDesignDeadline().after(trueNow)){
designDeadlineVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getDesignDeadline().before(trueNow)){
designDeadlineVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
designDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(designDeadlineVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getPrehomoDeadline().toString())) {
TimeNodeVO prehomoDeadlineVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
prehomoDeadlineVO.setName(ProjectTaskPlanningNameEnum.PREHOMO_DEADLINE.getName());
}else{
prehomoDeadlineVO.setName(ProjectTaskPlanningNameEnum.PREHOMO_DEADLINE.getValue());
}
prehomoDeadlineVO.setTime(projectTaskPlanning.getPrehomoDeadline());
if(projectTaskPlanning.getPrehomoDeadline().after(trueNow)){
prehomoDeadlineVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getPrehomoDeadline().before(trueNow)){
prehomoDeadlineVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
prehomoDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(prehomoDeadlineVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getAttestationStartTime().toString())) {
TimeNodeVO attestationStartTimeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
attestationStartTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_START_TIME.getName());
}else{
attestationStartTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_START_TIME.getValue());
}
attestationStartTimeVO.setTime(projectTaskPlanning.getAttestationStartTime());
if(projectTaskPlanning.getAttestationStartTime().after(trueNow)){
attestationStartTimeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getAttestationStartTime().before(trueNow)){
attestationStartTimeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
attestationStartTimeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(attestationStartTimeVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getAttestationEndTime().toString())) {
TimeNodeVO attestationEndTimeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
attestationEndTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getName());
}else{
attestationEndTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getValue());
}
attestationEndTimeVO.setTime(projectTaskPlanning.getAttestationEndTime());
if(projectTaskPlanning.getAttestationEndTime().after(trueNow)){
attestationEndTimeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getAttestationEndTime().before(trueNow)){
attestationEndTimeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
attestationEndTimeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(attestationEndTimeVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getVerifyDeadline().toString())) {
TimeNodeVO verifyDeadlineVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
verifyDeadlineVO.setName(ProjectTaskPlanningNameEnum.VERIFY_DEADLINE.getName());
}else{
verifyDeadlineVO.setName(ProjectTaskPlanningNameEnum.VERIFY_DEADLINE.getValue());
}
verifyDeadlineVO.setTime(projectTaskPlanning.getVerifyDeadline());
if(projectTaskPlanning.getVerifyDeadline().after(trueNow)){
verifyDeadlineVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getVerifyDeadline().before(trueNow)){
verifyDeadlineVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
verifyDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(verifyDeadlineVO);
}
// 排序
Collections.sort(timeNodeVOS, listConfirmationVO);
//设置在已过时,和未发生之间的数据的状态为进行中
for(int i=0;i<timeNodeVOS.size();i++){
if(timeNodeVOS.get(i).getStatus().equals(PlanStatusEnum.OUT_OF_DATE.getValue())
&& timeNodeVOS.get(i+1).getStatus().equals(PlanStatusEnum.LESS_THAN_TIME.getValue())){
timeNodeVOS.get(i+1).setStatus(PlanStatusEnum.ON_GOING.getValue());
}
}
result.add(timeNodeVOS);
}
if(!StringUtils.isEmpty(projectTaskPlanning.getLegalTaskConfirmation().toString())) {
TimeNodeVO legalTaskConfirmationVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
legalTaskConfirmationVO.setName(ProjectTaskPlanningNameEnum.LEGAL_TASK_CONFIRMATION.getName());
}else{
legalTaskConfirmationVO.setName(ProjectTaskPlanningNameEnum.LEGAL_TASK_CONFIRMATION.getValue());
}
legalTaskConfirmationVO.setTime(projectTaskPlanning.getLegalTaskConfirmation());
if(projectTaskPlanning.getLegalTaskConfirmation().after(trueNow)){
legalTaskConfirmationVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getLegalTaskConfirmation().before(trueNow)){
legalTaskConfirmationVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else {
legalTaskConfirmationVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(legalTaskConfirmationVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getDesignDeadline().toString())) {
TimeNodeVO designDeadlineVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
designDeadlineVO.setName(ProjectTaskPlanningNameEnum.DESIGN_DEADLINE.getName());
}else{
designDeadlineVO.setName(ProjectTaskPlanningNameEnum.DESIGN_DEADLINE.getValue());
}
designDeadlineVO.setTime(projectTaskPlanning.getDesignDeadline());
if(projectTaskPlanning.getDesignDeadline().after(trueNow)){
designDeadlineVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getDesignDeadline().before(trueNow)){
designDeadlineVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
designDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(designDeadlineVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getPrehomoDeadline().toString())) {
TimeNodeVO prehomoDeadlineVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
prehomoDeadlineVO.setName(ProjectTaskPlanningNameEnum.PREHOMO_DEADLINE.getName());
}else{
prehomoDeadlineVO.setName(ProjectTaskPlanningNameEnum.PREHOMO_DEADLINE.getValue());
}
prehomoDeadlineVO.setTime(projectTaskPlanning.getPrehomoDeadline());
if(projectTaskPlanning.getPrehomoDeadline().after(trueNow)){
prehomoDeadlineVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getPrehomoDeadline().before(trueNow)){
prehomoDeadlineVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
prehomoDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(prehomoDeadlineVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getAttestationStartTime().toString())) {
TimeNodeVO attestationStartTimeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
attestationStartTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_START_TIME.getName());
}else{
attestationStartTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_START_TIME.getValue());
}
attestationStartTimeVO.setTime(projectTaskPlanning.getAttestationStartTime());
if(projectTaskPlanning.getAttestationStartTime().after(trueNow)){
attestationStartTimeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getAttestationStartTime().before(trueNow)){
attestationStartTimeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
attestationStartTimeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(attestationStartTimeVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getAttestationEndTime().toString())) {
TimeNodeVO attestationEndTimeVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
attestationEndTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getName());
}else{
attestationEndTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getValue());
}
attestationEndTimeVO.setTime(projectTaskPlanning.getAttestationEndTime());
if(projectTaskPlanning.getAttestationEndTime().after(trueNow)){
attestationEndTimeVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getAttestationEndTime().before(trueNow)){
attestationEndTimeVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
attestationEndTimeVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(attestationEndTimeVO);
}
if(StringUtils.isNotBlank(projectTaskPlanning.getVerifyDeadline().toString())) {
TimeNodeVO verifyDeadlineVO = new TimeNodeVO();
if(CutEnum.CN.getValue().equals(cut)){
verifyDeadlineVO.setName(ProjectTaskPlanningNameEnum.VERIFY_DEADLINE.getName());
}else{
verifyDeadlineVO.setName(ProjectTaskPlanningNameEnum.VERIFY_DEADLINE.getValue());
}
verifyDeadlineVO.setTime(projectTaskPlanning.getVerifyDeadline());
if(projectTaskPlanning.getVerifyDeadline().after(trueNow)){
verifyDeadlineVO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue());
}else if(projectTaskPlanning.getVerifyDeadline().before(trueNow)){
verifyDeadlineVO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue());
}else{
verifyDeadlineVO.setStatus(PlanStatusEnum.ON_GOING.getValue());
}
timeNodeVOS.add(verifyDeadlineVO);
}
// 排序
Collections.sort(timeNodeVOS, listConfirmationVO);
//设置在已过时,和未发生之间的数据的状态为进行中
for(int i=0;i<timeNodeVOS.size();i++){
if(timeNodeVOS.get(i).getStatus().equals(PlanStatusEnum.OUT_OF_DATE.getValue())
&& timeNodeVOS.get(i+1).getStatus().equals(PlanStatusEnum.LESS_THAN_TIME.getValue())){
timeNodeVOS.get(i+1).setStatus(PlanStatusEnum.ON_GOING.getValue());
}
}
return timeNodeVOS;
return result;
}
/**
@@ -262,8 +267,8 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl<ProjectTaskPlann
* @return
*/
@Override
public ProjectTaskPlanning queryList(String projectId) {
ProjectTaskPlanning projectTaskPlanning = projectTaskPlanningMapper.getByProjectId(projectId);
public List<ProjectTaskPlanning> queryList(String projectId) {
List<ProjectTaskPlanning> projectTaskPlanning = projectTaskPlanningMapper.getByProjectId(projectId);
return projectTaskPlanning;
}