瀏覽代碼

Return total hours consumed in assigned projects

tags/Baseline_30082024_BACKEND_UAT
Wayne 1 年之前
父節點
當前提交
f7100978e0
共有 2 個文件被更改,包括 9 次插入2 次删除
  1. +4
    -2
      src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt
  2. +5
    -0
      src/main/java/com/ffii/tsms/modules/timesheet/entity/TimesheetRepository.kt

+ 4
- 2
src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt 查看文件

@@ -11,6 +11,7 @@ import com.ffii.tsms.modules.project.entity.Milestone
import com.ffii.tsms.modules.project.entity.projections.InvoiceInfoSearchInfo
import com.ffii.tsms.modules.project.entity.projections.InvoiceSearchInfo
import com.ffii.tsms.modules.project.web.models.*
import com.ffii.tsms.modules.timesheet.entity.TimesheetRepository
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.time.LocalDate
@@ -39,7 +40,8 @@ open class ProjectsService(
private val milestoneRepository: MilestoneRepository,
private val gradeAllocationRepository: GradeAllocationRepository,
private val projectTaskRepository: ProjectTaskRepository,
private val milestonePaymentRepository: MilestonePaymentRepository, private val taskGroupRepository: TaskGroupRepository
private val milestonePaymentRepository: MilestonePaymentRepository, private val taskGroupRepository: TaskGroupRepository,
private val timesheetRepository: TimesheetRepository
) {
open fun allProjects(): List<ProjectSearchInfo> {
return projectRepository.findProjectSearchInfoByOrderByCreatedDesc()
@@ -80,7 +82,7 @@ open class ProjectsService(
) },
hoursAllocated = project.totalManhour ?: 0.0,
hoursAllocatedOther = 0.0,
hoursSpent = 0.0,
hoursSpent = timesheetRepository.totalNormalHoursConsumedByProject(project),
hoursSpentOther = 0.0
)
} }


+ 5
- 0
src/main/java/com/ffii/tsms/modules/timesheet/entity/TimesheetRepository.kt 查看文件

@@ -2,6 +2,8 @@ package com.ffii.tsms.modules.timesheet.entity;

import com.ffii.core.support.AbstractRepository
import com.ffii.tsms.modules.data.entity.Staff
import com.ffii.tsms.modules.project.entity.Project
import org.springframework.data.jpa.repository.Query
import java.time.LocalDate

interface TimesheetRepository : AbstractRepository<Timesheet, Long> {
@@ -9,4 +11,7 @@ interface TimesheetRepository : AbstractRepository<Timesheet, Long> {
fun findAllByStaff(staff: Staff): List<Timesheet>

fun deleteAllByStaffAndRecordDate(staff: Staff, recordDate: LocalDate)

@Query("SELECT IFNULL(SUM(normalConsumed), 0) FROM Timesheet t JOIN ProjectTask pt on t.projectTask = pt WHERE pt.project = ?1")
fun totalNormalHoursConsumedByProject(project: Project): Double
}

Loading…
取消
儲存