@@ -210,6 +210,8 @@ open class ProjectsService(
custLeadPhone =
if (request.isSubsidiaryContact == null || !request.isSubsidiaryContact) clientContact.phone else subsidiaryContact.phone
this.customerSubsidiary = customerSubsidiary
this.customerContact = if (customerSubsidiary == null) clientContact else null
this.subsidiaryContact = if (customerSubsidiary != null) subsidiaryContact else null
}
@@ -325,11 +327,11 @@ open class ProjectsService(
val project = projectRepository.findById(projectId)
return project.getOrNull()?.let {
val subsidiaryContact = it.customerSubsidiary?.id?.let { subsidiaryId ->
subsidiaryContactService.findAllBySubsidiaryId(subsidiaryId)
} ?: emptyList()
val customerContact = it.customer?.id?.let { customerId -> customerContactService.findAllByCustomerId(customerId) }
?: emptyList()
// val subsidiaryContact = it.customerSubsidiary?.id?.let { subsidiaryId ->
// subsidiaryContactService.findAllBySubsidiaryId(subsidiaryId)
// } ?: emptyList()
// val customerContact = it.customer?.id?.let { customerId -> customerContactService.findAllByCustomerId(customerId) }
// ?: emptyList()
val milestoneMap = it.milestones.filter { milestone -> milestone.taskGroup?.id != null }
.associateBy { milestone -> milestone.taskGroup!!.id!! }
@@ -345,6 +347,7 @@ open class ProjectsService(
projectActualEnd = it.actualEnd,
projectStatus = it.status,
isClpProject = it.isClpProject,
mainProjectId = it.mainProject?.id,
serviceTypeId = it.serviceType?.id,
fundingTypeId = it.fundingType?.id,
contractTypeId = it.contractType?.id,
@@ -353,7 +356,8 @@ open class ProjectsService(
buildingTypeIds = it.buildingTypes.mapNotNull { buildingType -> buildingType.id },
workNatureIds = it.workNatures.mapNotNull { workNature -> workNature.id },
clientId = it.customer?.id,
clientContactId = subsidiaryContact.find { contact -> contact.name == it.custLeadName }?.id ?: customerContact.find { contact -> contact.name == it.custLeadName }?.id,
clientContactId = it.subsidiaryContact?.id ?: it.customerContact?.id,
// subsidiaryContact.find { contact -> contact.name == it.custLeadName }?.id ?: customerContact.find { contact -> contact.name == it.custLeadName }?.id,
clientSubsidiaryId = it.customerSubsidiary?.id,
totalManhour = it.totalManhour,
manhourPercentageByGrade = gradeAllocationRepository.findByProject(it)