ソースを参照

Add non-assigned projects

tags/Baseline_30082024_BACKEND_UAT
Wayne 1年前
コミット
cd5df0b445
7個のファイルの変更45行の追加8行の削除
  1. +18
    -0
      src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt
  2. +6
    -4
      src/main/java/com/ffii/tsms/modules/project/web/ProjectsController.kt
  3. +11
    -0
      src/main/java/com/ffii/tsms/modules/project/web/models/ProjectWithTasks.kt
  4. +3
    -1
      src/main/java/com/ffii/tsms/modules/timesheet/service/LeaveService.kt
  5. +3
    -1
      src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt
  6. +2
    -1
      src/main/java/com/ffii/tsms/modules/timesheet/web/models/LeaveEntry.kt
  7. +2
    -1
      src/main/java/com/ffii/tsms/modules/timesheet/web/models/TimeEntry.kt

+ 18
- 0
src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt ファイルの表示

@@ -88,6 +88,24 @@ open class ProjectsService(
} ?: emptyList()
}

open fun allProjectWithTasks(): List<ProjectWithTasks> {
return projectRepository.findAll().map { project ->
ProjectWithTasks(
id = project.id!!,
code = project.code!!,
name = project.name!!,
tasks = projectTaskRepository.findAllByProject(project).mapNotNull { pt -> pt.task },
milestones = milestoneRepository.findAllByProject(project)
.filter { milestone -> milestone.taskGroup?.id != null }
.associateBy { milestone -> milestone.taskGroup!!.id!! }
.mapValues { (_, milestone) -> MilestoneInfo(
startDate = milestone.startDate?.format(DateTimeFormatter.ISO_LOCAL_DATE),
endDate = milestone.endDate?.format(DateTimeFormatter.ISO_LOCAL_DATE)
) }
)
}
}

open fun allProjectCategories(): List<ProjectCategory> {
return projectCategoryRepository.findAll()
}


+ 6
- 4
src/main/java/com/ffii/tsms/modules/project/web/ProjectsController.kt ファイルの表示

@@ -5,10 +5,7 @@ import com.ffii.tsms.modules.data.entity.*
import com.ffii.tsms.modules.project.entity.projections.ProjectSearchInfo
import com.ffii.tsms.modules.project.entity.ProjectCategory
import com.ffii.tsms.modules.project.service.ProjectsService
import com.ffii.tsms.modules.project.web.models.AssignedProject
import com.ffii.tsms.modules.project.web.models.EditProjectDetails
import com.ffii.tsms.modules.project.web.models.NewProjectRequest
import com.ffii.tsms.modules.project.web.models.NewProjectResponse
import com.ffii.tsms.modules.project.web.models.*
import jakarta.validation.Valid
import org.springframework.http.HttpStatus
import org.springframework.web.bind.annotation.*
@@ -32,6 +29,11 @@ class ProjectsController(private val projectsService: ProjectsService) {
return projectsService.allAssignedProjects()
}

@GetMapping("/allProjectWithTasks")
fun allProjectsWithTasks(): List<ProjectWithTasks> {
return projectsService.allProjectWithTasks()
}

@GetMapping("/categories")
fun projectCategories(): List<ProjectCategory> {
return projectsService.allProjectCategories()


+ 11
- 0
src/main/java/com/ffii/tsms/modules/project/web/models/ProjectWithTasks.kt ファイルの表示

@@ -0,0 +1,11 @@
package com.ffii.tsms.modules.project.web.models

import com.ffii.tsms.modules.project.entity.Task

data class ProjectWithTasks(
val id: Long,
val code: String,
val name: String,
val tasks: List<Task>,
val milestones: Map<Long, MilestoneInfo>
)

+ 3
- 1
src/main/java/com/ffii/tsms/modules/timesheet/service/LeaveService.kt ファイルの表示

@@ -41,6 +41,7 @@ open class LeaveService(
this.recordDate = entryDate
this.leaveType = leaveTypesMap[leaveEntry.leaveTypeId]
this.leaveHours = leaveEntry.inputHours
this.remark = leaveEntry.remark
}
}
}
@@ -57,7 +58,8 @@ open class LeaveService(
LeaveEntry(
id = leave.id!!,
inputHours = leave.leaveHours ?: 0.0,
leaveTypeId = leave.leaveType!!.id
leaveTypeId = leave.leaveType!!.id,
remark = leave.remark
)
} }
}


+ 3
- 1
src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt ファイルの表示

@@ -42,6 +42,7 @@ open class TimesheetsService(
this.recordDate = entryDate
this.normalConsumed = timeEntry.inputHours
this.projectTask = projectTask
this.remark = timeEntry.remark
}
}
}
@@ -66,7 +67,8 @@ open class TimesheetsService(
projectId = timesheet.projectTask?.project?.id,
taskId = timesheet.projectTask?.task?.id,
taskGroupId = timesheet.projectTask?.task?.taskGroup?.id,
inputHours = timesheet.normalConsumed ?: 0.0
inputHours = timesheet.normalConsumed ?: 0.0,
remark = timesheet.remark
)
} }
}


+ 2
- 1
src/main/java/com/ffii/tsms/modules/timesheet/web/models/LeaveEntry.kt ファイルの表示

@@ -3,5 +3,6 @@ package com.ffii.tsms.modules.timesheet.web.models
data class LeaveEntry(
val id: Long,
val leaveTypeId: Long?,
val inputHours: Double
val inputHours: Double,
val remark: String?
)

+ 2
- 1
src/main/java/com/ffii/tsms/modules/timesheet/web/models/TimeEntry.kt ファイルの表示

@@ -6,5 +6,6 @@ data class TimeEntry(
val projectId: Long?,
val taskGroupId: Long?,
val taskId: Long?,
val inputHours: Double
val inputHours: Double,
val remark: String?
)

読み込み中…
キャンセル
保存