|
@@ -1410,6 +1410,7 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
* @param practicalFinishTime 实际完成时间
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void taskFinishedStats(Long PlanId, LocalDate practicalFinishTime) {
|
|
|
System.out.println("计划实际结束时间"+practicalFinishTime);
|
|
|
System.out.println("今天"+ LocalDateTime.now());
|
|
@@ -1437,6 +1438,43 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
Double money = userInfo.getOneMoney();
|
|
|
//为固定计划,则获取最后一条任务日志
|
|
|
DepartmentPlanLog planLog = logMapper.getNewestPlanLog(PlanId);
|
|
|
+
|
|
|
+ //为员工任务信息表插入实际工作时间
|
|
|
+ //获取计划日期中的工作日
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<EmployeeTaskInfo> infoList = new ArrayList<>();
|
|
|
+ for (LocalDate today : workDaysList) {
|
|
|
+ //保存预算到任务计划表
|
|
|
+ EmployeeTaskInfo employeeTaskInfo = new EmployeeTaskInfo();
|
|
|
+ employeeTaskInfo.setBudgetId(budget.getId());
|
|
|
+ employeeTaskInfo.setProjectId(budget.getProjectId());
|
|
|
+ employeeTaskInfo.setBudgetParentId(budget.getParentId());
|
|
|
+ employeeTaskInfo.setUnitType(budget.getUnitType());
|
|
|
+ employeeTaskInfo.setDeptId(budget.getDeptId());
|
|
|
+ employeeTaskInfo.setCostType(budget.getCostType());
|
|
|
+ employeeTaskInfo.setTaskDetail(budget.getTaskDetail());
|
|
|
+ employeeTaskInfo.setProjectProcess(budget.getProjectProcess());
|
|
|
+ employeeTaskInfo.setBudgetType(budget.getBudgetType());
|
|
|
+ employeeTaskInfo.setOneDay(today);
|
|
|
+ employeeTaskInfo.setWorkType(1);
|
|
|
+ employeeTaskInfo.setPostType(budget.getPostType());
|
|
|
+ employeeTaskInfo.setEmployeeSalary(new BigDecimal(money));
|
|
|
+ infoList.add(employeeTaskInfo);
|
|
|
+ }
|
|
|
+ employeeTaskInfoService.saveBatch(infoList);
|
|
|
+
|
|
|
+
|
|
|
Integer realWorkDays = 0;
|
|
|
//日志类型为暂停,和status=3则 直接用实际工作时间
|
|
|
if (planLog.getStatus() == 0){
|
|
@@ -1480,8 +1518,7 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
}else {
|
|
|
budget.setIsTwoMonth(0);
|
|
|
}
|
|
|
- //如果跨月,则计算开始月人工成本和结束月人工成本
|
|
|
- //
|
|
|
+
|
|
|
baseMapper.updateByBudgetId(budget);
|
|
|
}
|
|
|
}
|