|
@@ -1426,7 +1426,7 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
int taskType = dictInfo.getDictValue().intValue();
|
|
|
//计划为临时计划,则不计算金额直接闭环
|
|
|
if (taskType == 2){
|
|
|
- //为临时任务设置任务实际实际,方便统计
|
|
|
+ //为临时任务设置任务实际天数,方便统计
|
|
|
budget.setPracticalTaskDays(new BigDecimal(1 + budget.getPracticalFinishTime().until(budget.getRealPlanStartTime(), ChronoUnit.DAYS)));
|
|
|
this.updateById(budget);
|
|
|
}else {
|
|
@@ -1438,19 +1438,24 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
Double money = userInfo.getOneMoney();
|
|
|
//为固定计划,则获取最后一条任务日志
|
|
|
DepartmentPlanLog planLog = logMapper.getNewestPlanLog(PlanId);
|
|
|
-
|
|
|
//为员工任务信息表插入实际工作时间
|
|
|
- //获取计划日期中的工作日
|
|
|
+ String workDate = planLog.getWorkDate();
|
|
|
+ StringBuilder str = new StringBuilder();
|
|
|
List<LocalDate> workDaysList = new ArrayList<>();
|
|
|
- if (planLog.getSort() == 1){
|
|
|
- workDaysList.addAll(dateInfoMapper.getWorkDaysList(budget.getRealPlanStartTime(), budget.getPracticalFinishTime()));
|
|
|
- }else if (planLog.getSort() == 2){
|
|
|
- workDaysList.addAll(dateInfoMapper.getWorkDaysList(budget.getRealPlanStartTime(), planLog.getPauseTime()));
|
|
|
- }else {
|
|
|
- //获取所有的计划日志,计算真实工作时间
|
|
|
- List<DepartmentPlanLog> logList = logMapper.getAllLog(PlanId);
|
|
|
- for (DepartmentPlanLog log : logList) {
|
|
|
-
|
|
|
+ //如果最后一条任务操作是暂停,则直接使用工作日集合
|
|
|
+ if (StringUtils.isNotBlank(workDate)){
|
|
|
+ String[] days = workDate.split(",");
|
|
|
+ if (days != null && days.length > 0){
|
|
|
+ for (String day : days) {
|
|
|
+ workDaysList.add(LocalDate.parse(day));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果最后一条任务操作是开启,则+最后开启时间与提交日期之间的工作日
|
|
|
+ if (planLog.getStatus() == 1){
|
|
|
+ List<LocalDate> list = dateInfoMapper.getWorkDaysList(planLog.getOpenPlanStartTime(), practicalFinishTime);
|
|
|
+ if (list != null && list.size() > 0){
|
|
|
+ workDaysList.addAll(list);
|
|
|
}
|
|
|
}
|
|
|
List<EmployeeTaskInfo> infoList = new ArrayList<>();
|
|
@@ -1523,6 +1528,22 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 任务转移审批通过时,计算上一个任务人工作量,并清空workDate
|
|
|
+ * @param PlanId
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void taskChangeStats(Long PlanId,Long taskUser) {
|
|
|
+ ProjectCostBudget budget = this.getById(PlanId);
|
|
|
+ //如果为临时任务,则直接跳过
|
|
|
+ DictInfo dictInfo = baseMapper.getTaskType(budget.getPlanTaskType());
|
|
|
+ int taskType = dictInfo.getDictValue().intValue();
|
|
|
+ //计划为固定计划时,则插入工作量,清空workDate
|
|
|
+ if (taskType == 1){
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据年份获取所有项目的维护支出
|
|
|
* @return
|