Commit c4e9a581 by 裴大威

Merge branch 'fix-1021416' into 'master'

fix-1021416: 需求进度单中最后一个进度的完成状态显示不对

See merge request rays/pcloud-book!513
parents 7b3c362d 75e1b3f4
......@@ -883,12 +883,12 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
personalStageProgressDTO.setSex(groupUserDTO.getSex());
personalStageProgressDTO.setRequireNumber(personalStageUser.getRequireNumber());
personalStageProgressDTO.setScore(personalStageUser.getScore());
List<PersonalStageProgressMessage> personalStageProgressMessages = personalStageProgressMessageDao.getPersonalProgress(startTime);
List<PersonalStageProgressMessage> personalStageProgressMessages = personalStageProgressMessageDao.selectAllProgressMessage();
Integer totalProgress = personalStageProgressMessageDao.countProgressMessage();
personalStageProgressDTO.setTotalProgress(totalProgress == null ? 0 : totalProgress);
if (!ListUtils.isEmpty(personalStageProgressMessages)){
setProgressTime(personalStageProgressMessages,startTime);
personalStageProgressDTO.setPersonalStageProgressMessageList(personalStageProgressMessages);
List<PersonalStageProgressMessage> newList = this.setProgressTime(personalStageProgressMessages,startTime);
personalStageProgressDTO.setPersonalStageProgressMessageList(newList);
}
return personalStageProgressDTO;
}
......@@ -922,11 +922,19 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
}
return null;
}
private void setProgressTime(List<PersonalStageProgressMessage> personalStageProgressMessages, Date startTime) {
personalStageProgressMessages.stream().forEach(e ->{
e.setProgressTime(DateUtils.addMinute(startTime,e.getMinutes()));
//如果时间在此时之后,则未完成,否则已完成
e.setState(e.getProgressTime().after(new Date()) ? 0 : 1);
});
private List<PersonalStageProgressMessage> setProgressTime(List<PersonalStageProgressMessage> personalStageProgressMessages, Date startTime) {
List<PersonalStageProgressMessage> newList = new ArrayList<>();
Date now = new Date();
for (PersonalStageProgressMessage message : personalStageProgressMessages){
message.setProgressTime(DateUtils.addMinute(startTime,message.getMinutes()));
if (message.getProgressTime().after(now)){
break;
}
message.setState(1);
newList.add(message);
}
//将最后一个进度设置为进行中
newList.get(newList.size()-1).setState(0);
return newList;
}
}
......@@ -16,6 +16,8 @@ public interface PersonalStageProgressMessageDao extends BaseDao<PersonalStagePr
List<PersonalStageProgressMessage> getPersonalProgress(Date startTime);
List<PersonalStageProgressMessage> selectAllProgressMessage();
List<PersonalStageProgressMessage> getProgressMessageList();
void deleteAll();
......
......@@ -23,6 +23,10 @@ public class PersonalStageProgressMessageDaoImpl extends BaseDaoImpl<PersonalSta
return getSessionTemplate().selectList(getStatement("getPersonalProgress"),startTime);
}
public List<PersonalStageProgressMessage> selectAllProgressMessage(){
return getSessionTemplate().selectList(getStatement("selectAllProgressMessage"));
}
@Override
public List<PersonalStageProgressMessage> getProgressMessageList() {
return getSessionTemplate().selectList(getStatement("getProgressMessageList"));
......
......@@ -99,6 +99,16 @@
order by id asc
</select>
<select id="selectAllProgressMessage" resultType="com.pcloud.book.personalstage.entity.PersonalStageProgressMessage">
select
id,
content,
minutes
from
personal_stage_progress_message
order by id asc
</select>
<select id="countProgressMessage" resultType="int">
select count(id) from personal_stage_progress_message
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment