Browse Source

update

master
CANCERYS\kw093 1 month ago
parent
commit
c79a131ad8
4 changed files with 132 additions and 10 deletions
  1. +1
    -1
      src/main/java/com/ffii/fpsms/modules/productProcess/entity/ProductProcessLine.kt
  2. +116
    -5
      src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt
  3. +11
    -4
      src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt
  4. +4
    -0
      src/main/java/com/ffii/fpsms/modules/productProcess/web/model/SaveProductProcessRequest.kt

+ 1
- 1
src/main/java/com/ffii/fpsms/modules/productProcess/entity/ProductProcessLine.kt View File

@@ -88,7 +88,7 @@ open class ProductProcessLine : BaseEntity<Long>() {
open var handler: User? = null
@JsonBackReference
@ManyToOne
@JoinColumn(name = "productprocessId", nullable = false)
@JoinColumn(name = "productprocessid", nullable = false)
open var productProcess: ProductProcess = ProductProcess()
data class ProductProcessLineDetail(
val id: Long?,


+ 116
- 5
src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt View File

@@ -594,8 +594,10 @@ open class ProductProcessService(
productProcessLineRepository.save(productProcessLine)
}
else
{

{ println("productProcessLine id${request.productProcessLineId}")
println("operator id${request?.operatorId}")
println("user ${user?.id}")
println("bomProcess ${bomProcess?.id}")
println("not match equipment id${equipmentId} and ${bomProcessEquipment?.id}")
}
if(user != null) {
@@ -661,12 +663,12 @@ open class ProductProcessService(
byproductUom = productProcessLine.byproductUom?:""
)
}
open fun updateProductProcessLineStatus(productProcessLineId: Long): MessageResponse {
open fun updateProductProcessLineStatus(productProcessLineId: Long, status: String): MessageResponse {
println("📋 Service: Updating ProductProcessLine Status: $productProcessLineId")
val productProcessLine = productProcessLineRepository.findById(productProcessLineId).orElse(null)
println("📋 Service: ProductProcessLine: $productProcessLine")
productProcessLine.status = "Completed"
productProcessLine.endTime = LocalDateTime.now()
productProcessLine.status = status
// productProcessLine.endTime = LocalDateTime.now()
productProcessLineRepository.save(productProcessLine)
println("📋 Service: ProductProcessLine Status Updated: ${productProcessLine.status}")
CompleteProductProcessStatusIfAllLinesCompleted(productProcessLine.productProcess?.id?:0)
@@ -686,6 +688,7 @@ open class ProductProcessService(
val productProcess = productProcessRepository.findById(productProcessId).orElse(null)
println("📋 Service: ProductProcess: $productProcess")
val productProcessLines = productProcessLineRepository.findByProductProcess_Id(productProcessId)

println("📋 Service: ProductProcessLines: $productProcessLines")
if(productProcessLines.all { it.status == "Completed" }) {
productProcess.status = ProductProcessStatus.COMPLETED
@@ -793,5 +796,113 @@ open fun updateProductProcessLineQty(request: UpdateProductProcessLineQtyRequest
}
}

open fun updateProductProcessLineStartTime(productProcessLineId: Long): MessageResponse {
val productProcessLine = productProcessLineRepository.findById(productProcessLineId).orElse(null)
productProcessLine.startTime = LocalDateTime.now()
productProcessLineRepository.save(productProcessLine)
return MessageResponse(
id = productProcessLineId,
code = "200",
name = "ProductProcessLine StartTime Updated",
type = "success",
message = "ProductProcessLine StartTime Updated",
errorPosition = null,
)
}

open fun updateProductProcessLineEndTime(productProcessLineId: Long): MessageResponse {
val productProcessLine = productProcessLineRepository.findById(productProcessLineId).orElse(null)
productProcessLine.endTime = LocalDateTime.now()
productProcessLineRepository.save(productProcessLine)
return MessageResponse(
id = productProcessLineId,
code = "200",
name = "ProductProcessLine EndTime Updated",
type = "success",
message = "ProductProcessLine EndTime Updated",
errorPosition = null,
)
}
open fun updateProductProcessStartTime(productProcessId: Long): MessageResponse {
val productProcess = productProcessRepository.findById(productProcessId).orElse(null)
productProcess.startTime = LocalDateTime.now()
productProcessRepository.save(productProcess)
return MessageResponse(
id = productProcessId,
code = "200",
name = "ProductProcessLine StartTime Updated",
type = "success",
message = "ProductProcessLine StartTime Updated",
errorPosition = null,
)
}
open fun updateProductProcessEndTime(productProcessId: Long): MessageResponse {
val productProcess = productProcessRepository.findById(productProcessId).orElse(null)
productProcess.endTime = LocalDateTime.now()
productProcessRepository.save(productProcess)
return MessageResponse(
id = productProcessId,
code = "200",
name = "ProductProcess EndTime Updated",
type = "success",
message = "ProductProcess EndTime Updated",
errorPosition = null,
)
}
open fun updateProductProcessStatus(productProcessId: Long, status: ProductProcessStatus): MessageResponse {
val productProcess = productProcessRepository.findById(productProcessId).orElse(null)
productProcess.status = status
productProcessRepository.save(productProcess)
return MessageResponse(
id = productProcessId,
code = "200",
name = "ProductProcess Status Updated",
type = "success",
message = "ProductProcess Status Updated",
errorPosition = null,
)
}
open fun StartProductProcessLine(productProcessLineId: Long): MessageResponse {
updateProductProcessLineStartTime(productProcessLineId)
//updateProductProcessLineStatus(productProcessLineId, "InProgress")
val productProcessLine = productProcessLineRepository.findById(productProcessLineId).orElse(null)
val allproductProcessLines=productProcessLineRepository.findByProductProcess_Id(productProcessLine.productProcess?.id?:0L)
if(allproductProcessLines.all { it.status == "Pending" }) {
updateProductProcessLineStatus(productProcessLineId, "InProgress")
updateProductProcessStartTime(productProcessLine.productProcess.id)
updateProductProcessStatus(productProcessLine.productProcess.id, ProductProcessStatus.IN_PROGRESS)
}
else{
updateProductProcessLineStatus(productProcessLineId, "InProgress")
println("📋 Service: ProductProcess Lines are not Pending")
println("📋 Service: ProductProcess Lines: ${allproductProcessLines.map { it.status }}")
println("📋 Service: ProductProcess Line: ${productProcessLine.status}")
}
return MessageResponse(
id = productProcessLine.id,
code = "200",
name = "ProductProcess StartTime Updated",
type = "success",
message = "ProductProcess StartTime Updated",
errorPosition = null,
)
}
open fun CompleteProductProcessLine(productProcessLineId: Long): MessageResponse {
updateProductProcessLineEndTime(productProcessLineId)
updateProductProcessLineStatus(productProcessLineId, "Completed")
val productProcessLine = productProcessLineRepository.findById(productProcessLineId).orElse(null)
val allproductProcessLines=productProcessLineRepository.findByProductProcess_Id(productProcessLine.productProcess?.id?:0L)
if(allproductProcessLines.all { it.status == "Completed" }) {
updateProductProcessEndTime(productProcessLine.id)
updateProductProcessStatus(productProcessLine.id, ProductProcessStatus.COMPLETED)
}
return MessageResponse(
id = productProcessLine.id,
code = "200",
name = "ProductProcess StartTime Updated",
type = "success",
message = "ProductProcess StartTime Updated",
errorPosition = null,
)
}
}

+ 11
- 4
src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt View File

@@ -171,9 +171,9 @@ class ProductProcessController(
fun demoupdatehandler(@RequestBody request: UpdateProductProcessLineHandlerIdRequest): MessageResponse {
return productProcessService.UpdateProductProcessLineHandlerId(request)
}
@PostMapping("/Demo/ProcessLine/update/status/{lineId}")
fun demoupdatestatus(@PathVariable lineId: Long): MessageResponse {
return productProcessService.updateProductProcessLineStatus(lineId)
@PostMapping("/Demo/ProcessLine/update/status")
fun demoupdatestatus(@RequestBody request: UpdateProductProcessLineStatusRequest): MessageResponse {
return productProcessService.updateProductProcessLineStatus(request.productProcessLineId, request.status)
}
@GetMapping("/Demo/ProcessLine/detail/{lineId}")
fun demoprocesslinedetail(@PathVariable lineId: Long): JobOrderProcessLineDetailResponse {
@@ -188,5 +188,12 @@ class ProductProcessController(
fun demoprocessall(): List<AllJoborderProductProcessInfoResponse> {
return productProcessService.getAllJoborderProductProcessInfo()
}
@PostMapping("/Demo/ProcessLine/start/{lineId}")
fun startProductProcessLine(@PathVariable lineId: Long): MessageResponse {
return productProcessService.StartProductProcessLine(lineId)
}
@PostMapping("/Demo/ProcessLine/complete/{lineId}")
fun completeProductProcessLine(@PathVariable lineId: Long): MessageResponse {
return productProcessService.CompleteProductProcessLine(lineId)
}
}

+ 4
- 0
src/main/java/com/ffii/fpsms/modules/productProcess/web/model/SaveProductProcessRequest.kt View File

@@ -160,4 +160,8 @@ data class ProductProcessInfoResponse(
val endTime: LocalDateTime?,
val status: String,

)
data class UpdateProductProcessLineStatusRequest(
val productProcessLineId: Long,
val status: String
)

Loading…
Cancel
Save