|
@@ -26,6 +26,7 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.Duration;
|
|
|
import java.time.LocalDate;
|
|
@@ -319,8 +320,8 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
|
|
|
}
|
|
|
|
|
|
if (taskIds.size() > 0) {
|
|
|
- //任务逾期关系信息
|
|
|
- List<TaskPlanOverdueStatusVO> overdueStatusVOS = jdbcTemplate.query("select * from c_task_plan_overdue_status where user_id = " + obj.getUserId(), new BeanPropertyRowMapper<>(TaskPlanOverdueStatusVO.class));
|
|
|
+ //任务逾期完成关系信息
|
|
|
+ //List<TaskPlanOverdueStatusVO> overdueStatusVOS = jdbcTemplate.query("select * from c_task_plan_overdue_status where user_id = " + obj.getUserId(), new BeanPropertyRowMapper<>(TaskPlanOverdueStatusVO.class));
|
|
|
|
|
|
//获取所有审批任务与计划任务关系
|
|
|
List<ExpenseTaskRecord> expenseTaskRecords = jdbcTemplate.query("select task_id,expense_info_id,is_transfer from c_expense_task_record where expense_info_type = 1 and expense_info_id in(" + StringUtils.join(taskIds, ",") + ")", new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
|
|
@@ -329,6 +330,7 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
|
|
|
//预算任务集合
|
|
|
List<ProjectCostBudget> taskObjs = projectCostBudgetServiceImpl.listByIds(taskIds);
|
|
|
List<TaskPlanInfoVO> resultList = new ArrayList<>();
|
|
|
+ LocalDate nowDateYQ = LocalDate.now();
|
|
|
for (ProjectCostBudget taskObj : taskObjs) {
|
|
|
TaskPlanInfoVO vos = new TaskPlanInfoVO();
|
|
|
vos.setId(taskObj.getId());
|
|
@@ -357,16 +359,6 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
|
|
|
vos.setStatusName("未上报");
|
|
|
}
|
|
|
|
|
|
- //只有在当前任务是未提交、已驳回状态下才判断是否逾期
|
|
|
- if (!Arrays.asList(1, 2).contains(vos.getStatus())) {
|
|
|
- //是否已逾期
|
|
|
- for (TaskPlanOverdueStatusVO overdueVO : overdueStatusVOS) {
|
|
|
- if (overdueVO.getPlanTaskId().equals(taskObj.getId())) {
|
|
|
- vos.setIsOverdue(1);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
vos.setTaskDesc(ObjectUtil.isNotEmpty(taskObj.getPlanTaskDesc()) ? taskObj.getPlanTaskDesc() : "");
|
|
|
if (ObjectUtil.isNotEmpty(taskObj.getPlanStartTime()) && ObjectUtil.isNotEmpty(taskObj.getPlanEndTime())) {
|
|
|
LocalDate planStartTime = taskObj.getPlanStartTime();
|
|
@@ -375,6 +367,22 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
|
|
|
String planStartTimeStr = planStartTime.format(formatter);
|
|
|
String planEndTimeStr = planEndTime.format(formatter);
|
|
|
vos.setStartAndEndDate(planStartTimeStr + "~" + planEndTimeStr);
|
|
|
+ /*if (vos.getStatus().equals(4)) { //TODO 业务说暂时不需要标记逾期完成的
|
|
|
+ //逾期完成
|
|
|
+ for (TaskPlanOverdueStatusVO overdueVO : overdueStatusVOS) {
|
|
|
+ if (overdueVO.getPlanTaskId().equals(taskObj.getId())) {
|
|
|
+ vos.setIsOverdue(1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {*/
|
|
|
+ //逾期未完成
|
|
|
+ if (taskObj.getPlanEndTime().isBefore(nowDateYQ) && obj.getStatus() != 4) {
|
|
|
+ if (ObjectUtil.isNotEmpty(taskObj.getPlanStartTime()) && ObjectUtil.isNotEmpty(taskObj.getPlanEndTime())) {
|
|
|
+ vos.setIsOverdue(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
vos.setReimbursementAmount(taskObj.getBudgetCountMoney());
|
|
@@ -516,12 +524,13 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
|
|
|
if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
|
|
|
throw new ServiceException("获取当前用户信息失败,请联系管理员");
|
|
|
}
|
|
|
- //获取当天,当前用户所有的计划任务信息
|
|
|
- List<ProjectCostBudget> projectCostBudgets = jdbcTemplate.query("SELECT * FROM c_project_cost_budget WHERE CURDATE() BETWEEN plan_start_time AND plan_end_time AND task_user = " + SecureUtil.getUserId(), new BeanPropertyRowMapper<>(ProjectCostBudget.class));
|
|
|
-
|
|
|
+ //当前用户所有的计划任务信息
|
|
|
+ List<ProjectCostBudget> projectCostBudgetsAllByTaskUser = jdbcTemplate.query("SELECT * FROM c_project_cost_budget WHERE task_user = " + SecureUtil.getUserId(), new BeanPropertyRowMapper<>(ProjectCostBudget.class));
|
|
|
+ //List<ProjectCostBudget> projectCostBudgets = jdbcTemplate.query("SELECT * FROM c_project_cost_budget WHERE CURDATE() BETWEEN plan_start_time AND plan_end_time AND task_user = " + SecureUtil.getUserId(), new BeanPropertyRowMapper<>(ProjectCostBudget.class));
|
|
|
List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
|
|
|
List<TaskPlanInfoVO> resultList = new ArrayList<>();
|
|
|
- for (ProjectCostBudget obj : projectCostBudgets) {
|
|
|
+ LocalDate nowDate = LocalDate.now();
|
|
|
+ for (ProjectCostBudget obj : projectCostBudgetsAllByTaskUser) {
|
|
|
TaskPlanInfoVO vo = new TaskPlanInfoVO();
|
|
|
vo.setId(obj.getId());
|
|
|
for (ControlProjectInfo projectInfo : controlProjectInfos) {
|
|
@@ -531,7 +540,6 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
|
|
|
}
|
|
|
}
|
|
|
vo.setStatusName(obj.getStatus().equals(4) ? "已完成" : "未完成");
|
|
|
- //vo.setStatus(obj.getStatus());
|
|
|
vo.setTaskDesc(ObjectUtil.isNotEmpty(obj.getPlanTaskDesc()) ? obj.getPlanTaskDesc() : "");
|
|
|
if (ObjectUtil.isNotEmpty(obj.getPlanStartTime()) && ObjectUtil.isNotEmpty(obj.getPlanEndTime())) {
|
|
|
LocalDate planStartTime = obj.getPlanStartTime();
|
|
@@ -540,8 +548,15 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
|
|
|
String planStartTimeStr = planStartTime.format(formatter);
|
|
|
String planEndTimeStr = planEndTime.format(formatter);
|
|
|
vo.setStartAndEndDate(planStartTimeStr + "~" + planEndTimeStr);
|
|
|
+ if ((obj.getPlanStartTime().isBefore(nowDate) && obj.getPlanEndTime().isAfter(nowDate))) {
|
|
|
+ resultList.add(vo);
|
|
|
+ } else if (obj.getPlanEndTime().isBefore(nowDate) && obj.getStatus() != 4) {
|
|
|
+ if (ObjectUtil.isNotEmpty(obj.getPlanStartTime()) && ObjectUtil.isNotEmpty(obj.getPlanEndTime())) {
|
|
|
+ vo.setIsOverdue(1); //逾期任务
|
|
|
+ }
|
|
|
+ resultList.add(vo);
|
|
|
+ }
|
|
|
}
|
|
|
- resultList.add(vo);
|
|
|
}
|
|
|
return resultList;
|
|
|
}
|