Bläddra i källkod

Add subsidiary to project and task group to milestone

tags/Baseline_30082024_BACKEND_UAT
Wayne 1 år sedan
förälder
incheckning
601025be72
9 ändrade filer med 40 tillägg och 11 borttagningar
  1. +0
    -3
      src/main/java/com/ffii/tsms/modules/data/service/StaffsService.kt
  2. +0
    -1
      src/main/java/com/ffii/tsms/modules/data/web/StaffsController.kt
  3. +4
    -0
      src/main/java/com/ffii/tsms/modules/project/entity/Milestone.kt
  4. +4
    -0
      src/main/java/com/ffii/tsms/modules/project/entity/Project.kt
  5. +6
    -0
      src/main/java/com/ffii/tsms/modules/project/entity/TaskGroupRepository.kt
  6. +7
    -2
      src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt
  7. +7
    -5
      src/main/java/com/ffii/tsms/modules/project/service/TasksService.kt
  8. +6
    -0
      src/main/resources/db/changelog/changes/20240424_01_wayne/01_project_customer_subsidiary.sql
  9. +6
    -0
      src/main/resources/db/changelog/changes/20240424_01_wayne/02_milestone_task_group.sql

+ 0
- 3
src/main/java/com/ffii/tsms/modules/data/service/StaffsService.kt Visa fil

@@ -4,12 +4,9 @@ import com.ffii.core.support.AbstractBaseEntityService
import com.ffii.core.support.JdbcDao
import com.ffii.tsms.modules.data.entity.*
import com.ffii.tsms.modules.data.entity.projections.StaffSearchInfo
//import com.ffii.tsms.modules.data.web.models.NewCustomerResponse
import com.ffii.tsms.modules.data.web.models.NewStaffRequest
import com.ffii.tsms.modules.data.web.models.NewStaffResponse
import com.ffii.tsms.modules.user.entity.User
import com.ffii.tsms.modules.user.entity.UserRepository
import org.springframework.beans.BeanUtils
import org.springframework.security.crypto.password.PasswordEncoder
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional


+ 0
- 1
src/main/java/com/ffii/tsms/modules/data/web/StaffsController.kt Visa fil

@@ -8,7 +8,6 @@ import com.ffii.tsms.modules.data.entity.Staff
import com.ffii.tsms.modules.data.entity.projections.StaffSearchInfo
import com.ffii.tsms.modules.data.service.StaffsService
import com.ffii.tsms.modules.data.web.models.NewStaffRequest
import com.ffii.tsms.modules.data.web.models.NewStaffResponse
import jakarta.servlet.http.HttpServletRequest
import jakarta.validation.Valid
import org.springframework.http.HttpStatus


+ 4
- 0
src/main/java/com/ffii/tsms/modules/project/entity/Milestone.kt Visa fil

@@ -31,6 +31,10 @@ open class Milestone : IdEntity<Long>() {
@JoinColumn(name = "projectId")
open var project: Project? = null

@ManyToOne
@JoinColumn(name = "taskGroupId")
open var taskGroup: TaskGroup? = null

final override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other == null) return false


+ 4
- 0
src/main/java/com/ffii/tsms/modules/project/entity/Project.kt Visa fil

@@ -54,6 +54,10 @@ open class Project : BaseEntity<Long>() {
@Column(name = "custLeadEmail")
open var custLeadEmail: String? = null

@ManyToOne
@JoinColumn(name = "customerSubsidiaryId")
open var customerSubsidiary: Subsidiary? = null

@Column(name = "remark", length = 1500)
open var remark: String? = null



+ 6
- 0
src/main/java/com/ffii/tsms/modules/project/entity/TaskGroupRepository.kt Visa fil

@@ -0,0 +1,6 @@
package com.ffii.tsms.modules.project.entity;

import com.ffii.core.support.AbstractRepository

interface TaskGroupRepository : AbstractRepository<TaskGroup, Long> {
}

+ 7
- 2
src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt Visa fil

@@ -19,6 +19,7 @@ open class ProjectsService(
private val customerService: CustomerService,
private val tasksService: TasksService,
private val customerContactService: CustomerContactService,
private val subsidiaryService: SubsidiaryService,
private val projectCategoryRepository: ProjectCategoryRepository,
private val staffRepository: StaffRepository,
private val staffAllocationRepository: StaffAllocationRepository,
@@ -66,8 +67,10 @@ open class ProjectsService(
val teamLead = staffRepository.findById(request.projectLeadId).orElseThrow()
val customer = customerService.findCustomer(request.clientId)
val clientContact = customerContactService.findByContactId(request.clientContactId)
val customerSubsidiary = request.clientSubsidiaryId?.let { subsidiaryService.findSubsidiary(it) }

val allTasksMap = tasksService.allTasks().associateBy { it.id }
val taskGroupMap = tasksService.allTaskGroups().associateBy { it.id }

val project =
Project().apply {
@@ -90,6 +93,7 @@ open class ProjectsService(
custLeadName = clientContact.name
custLeadEmail = clientContact.email
custLeadPhone = clientContact.phone
this.customerSubsidiary = customerSubsidiary
}


@@ -100,8 +104,9 @@ open class ProjectsService(
Milestone().apply {
val newMilestone = this
this.project = project
this.startDate = LocalDate.parse(requestMilestone.startDate)
this.endDate = LocalDate.parse(requestMilestone.endDate)
this.taskGroup = taskGroupMap[taskStageId]
this.startDate = requestMilestone.startDate?.let { LocalDate.parse(it) }
this.endDate = requestMilestone.endDate?.let { LocalDate.parse(it) }
this.milestonePayments = requestMilestone.payments.map {
MilestonePayment().apply {
this.description = it.description


+ 7
- 5
src/main/java/com/ffii/tsms/modules/project/service/TasksService.kt Visa fil

@@ -1,15 +1,13 @@
package com.ffii.tsms.modules.project.service

import com.ffii.tsms.modules.project.entity.Task
import com.ffii.tsms.modules.project.entity.TaskRepository
import com.ffii.tsms.modules.project.entity.TaskTemplate
import com.ffii.tsms.modules.project.entity.TaskTemplateRepository
import com.ffii.tsms.modules.project.entity.*
import org.springframework.stereotype.Service

@Service
class TasksService(
private val taskTemplateRepository: TaskTemplateRepository,
private val taskRepository: TaskRepository
private val taskRepository: TaskRepository,
private val taskGroupRepository: TaskGroupRepository
) {
fun allTasks(): List<Task> {
return taskRepository.findAll()
@@ -28,4 +26,8 @@ class TasksService(
}
)
}

fun allTaskGroups(): List<TaskGroup> {
return taskGroupRepository.findAll()
}
}

+ 6
- 0
src/main/resources/db/changelog/changes/20240424_01_wayne/01_project_customer_subsidiary.sql Visa fil

@@ -0,0 +1,6 @@
-- liquibase formatted sql
-- changeset wayne:project_customer_subsidiary

ALTER TABLE project ADD customerSubsidiaryId INT NULL;

ALTER TABLE project ADD CONSTRAINT FK_PROJECT_ON_CUSTOMERSUBSIDIARYID FOREIGN KEY (customerSubsidiaryId) REFERENCES subsidiary (id);

+ 6
- 0
src/main/resources/db/changelog/changes/20240424_01_wayne/02_milestone_task_group.sql Visa fil

@@ -0,0 +1,6 @@
-- liquibase formatted sql
-- changeset wayne:milestone_task_group

ALTER TABLE milestone ADD taskGroupId INT NULL;

ALTER TABLE milestone ADD CONSTRAINT FK_MILESTONE_ON_TASKGROUPID FOREIGN KEY (taskGroupId) REFERENCES task_group (id);

Laddar…
Avbryt
Spara