ソースを参照

update reports

tags/Baseline_30082024_BACKEND_UAT
MSI\derek 1年前
コミット
08b06cfb60
3個のファイルの変更15行の追加4行の削除
  1. +8
    -4
      src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt
  2. +6
    -0
      src/main/java/com/ffii/tsms/modules/report/web/ReportController.kt
  3. +1
    -0
      src/main/java/com/ffii/tsms/modules/report/web/model/ReportRequest.kt

+ 8
- 4
src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt ファイルの表示

@@ -1737,6 +1737,7 @@ open class ReportService(
+ " result.subCode, " ) + " result.subCode, " )
if (args.get("outstanding") as Boolean) { if (args.get("outstanding") as Boolean) {
sql.append(" result.projectFee - COALESCE(i.paidAmount, 0) as `Receivable Remained`, ") sql.append(" result.projectFee - COALESCE(i.paidAmount, 0) as `Receivable Remained`, ")
// sql.append(" result.projectFee - (result.totalBudget - COALESCE(i.issueAmount , 0) + COALESCE(i.issueAmount, 0) - COALESCE(i.paidAmount, 0)) as `Receivable Remained`, ")
} }
sql.append( sql.append(
" DATE_FORMAT(result.actualEnd, '%d/%m/%Y') as actualEnd " " DATE_FORMAT(result.actualEnd, '%d/%m/%Y') as actualEnd "
@@ -1769,14 +1770,17 @@ open class ReportService(
+ " left JOIN team t ON s.teamId = t.id " + " left JOIN team t ON s.teamId = t.id "
+ " left join customer c on c.id = p.customerId " + " left join customer c on c.id = p.customerId "
+ " LEFT JOIN subsidiary ss on p.customerSubsidiaryId = ss.id " + " LEFT JOIN subsidiary ss on p.customerSubsidiaryId = ss.id "
+ " where p.deleted = false "
+ " and p.status = 'Completed' "
+ " where p.deleted = false ")
if (args.containsKey("teamId")) {
sql.append("t.id = :teamId")
}
sql.append(
" and p.status = 'Completed' "
+ " and p.actualEnd BETWEEN :startDate and :endDate " + " and p.actualEnd BETWEEN :startDate and :endDate "
+ " group by pt.project_id " + " group by pt.project_id "
+ " ) as result " + " ) as result "
+ " left join invoice i on result.code = i.projectCode " + " left join invoice i on result.code = i.projectCode "
+ " order by result.actualEnd "
)
+ " order by result.actualEnd ")


return jdbcDao.queryForList(sql.toString(), args) return jdbcDao.queryForList(sql.toString(), args)
} }


+ 6
- 0
src/main/java/com/ffii/tsms/modules/report/web/ReportController.kt ファイルの表示

@@ -2,10 +2,12 @@ package com.ffii.tsms.modules.report.web


import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.kotlin.KotlinModule import com.fasterxml.jackson.module.kotlin.KotlinModule
import com.ffii.tsms.modules.common.SecurityUtils
import com.ffii.tsms.modules.data.entity.* import com.ffii.tsms.modules.data.entity.*
//import com.ffii.tsms.modules.data.entity.projections.FinancialStatusReportInfo //import com.ffii.tsms.modules.data.entity.projections.FinancialStatusReportInfo
import com.ffii.tsms.modules.data.entity.projections.StaffSearchInfo import com.ffii.tsms.modules.data.entity.projections.StaffSearchInfo
import com.ffii.tsms.modules.data.service.CustomerService import com.ffii.tsms.modules.data.service.CustomerService
import com.ffii.tsms.modules.data.service.StaffsService
import com.ffii.tsms.modules.data.service.TeamService import com.ffii.tsms.modules.data.service.TeamService
import com.ffii.tsms.modules.project.entity.* import com.ffii.tsms.modules.project.entity.*
import com.ffii.tsms.modules.project.entity.projections.ProjectResourceReport import com.ffii.tsms.modules.project.entity.projections.ProjectResourceReport
@@ -55,6 +57,7 @@ class ReportController(
private val customerRepository: CustomerRepository, private val customerRepository: CustomerRepository,
private val staffRepository: StaffRepository, private val staffRepository: StaffRepository,
private val leaveRepository: LeaveRepository, private val leaveRepository: LeaveRepository,
private val staffsService: StaffsService,
private val teamService: TeamService, private val teamService: TeamService,
private val customerService: CustomerService, private val customerService: CustomerService,
private val subsidiaryService: SubsidiaryService, private val subsidiaryService: SubsidiaryService,
@@ -190,6 +193,9 @@ class ReportController(
"endDate" to request.endDate, "endDate" to request.endDate,
"outstanding" to request.outstanding "outstanding" to request.outstanding
) )
if (request.teamId != null) {
args["teamId"] = request.teamId
}
val result = excelReportService.getProjectCompletionReport(args); val result = excelReportService.getProjectCompletionReport(args);
val reportResult: ByteArray = excelReportService.generateProjectCompletionReport(args, result) val reportResult: ByteArray = excelReportService.generateProjectCompletionReport(args, result)
// val mediaType: MediaType = MediaType.parseMediaType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") // val mediaType: MediaType = MediaType.parseMediaType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")


+ 1
- 0
src/main/java/com/ffii/tsms/modules/report/web/model/ReportRequest.kt ファイルの表示

@@ -51,6 +51,7 @@ data class ProjectResourceOverconsumptionReport (
val lowerLimit: Double val lowerLimit: Double
) )
data class ProjectCompletionReport ( data class ProjectCompletionReport (
val teamId: Long?,
val startDate: LocalDate, val startDate: LocalDate,
val endDate: LocalDate, val endDate: LocalDate,
val outstanding: Boolean val outstanding: Boolean

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