|
|
|
@@ -178,10 +178,14 @@ class DoWorkbenchController( |
|
|
|
*/ |
|
|
|
@PostMapping("/batch-release/async-v2") |
|
|
|
fun startWorkbenchBatchReleaseAsyncV2( |
|
|
|
@RequestBody ids: List<Long>, |
|
|
|
@RequestBody request: WorkbenchBatchReleaseRequest, |
|
|
|
@RequestParam(defaultValue = "1") userId: Long |
|
|
|
): MessageResponse { |
|
|
|
return doWorkbenchReleaseService.startBatchReleaseAsyncV2(ids, userId) |
|
|
|
return doWorkbenchReleaseService.startBatchReleaseAsyncV2( |
|
|
|
request.ids, |
|
|
|
userId, |
|
|
|
request.mergeExtraIntoLaneTicket, |
|
|
|
) |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -200,10 +204,14 @@ class DoWorkbenchController( |
|
|
|
/** Synchronous batch release V2 (same semantics as async-v2; for tools / tests). */ |
|
|
|
@PostMapping("/batch-release/sync-v2") |
|
|
|
fun workbenchBatchReleaseSyncV2( |
|
|
|
@RequestBody ids: List<Long>, |
|
|
|
@RequestBody request: WorkbenchBatchReleaseRequest, |
|
|
|
@RequestParam(defaultValue = "1") userId: Long |
|
|
|
): MessageResponse { |
|
|
|
return doWorkbenchReleaseService.releaseBatchV2(ids, userId) |
|
|
|
return doWorkbenchReleaseService.releaseBatchV2( |
|
|
|
request.ids, |
|
|
|
userId, |
|
|
|
request.mergeExtraIntoLaneTicket, |
|
|
|
) |
|
|
|
} |
|
|
|
|
|
|
|
@GetMapping("/batch-release/progress/{jobId}") |
|
|
|
@@ -211,6 +219,22 @@ class DoWorkbenchController( |
|
|
|
return doWorkbenchReleaseService.getBatchReleaseProgress(jobId) |
|
|
|
} |
|
|
|
|
|
|
|
/** Case 3: unassigned plain batch/single + isExtra tickets on the same lane (for merge UI). */ |
|
|
|
@GetMapping("/merge-ticket-candidates") |
|
|
|
fun getWorkbenchMergeTicketCandidates( |
|
|
|
@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) requiredDate: LocalDate, |
|
|
|
@RequestParam(required = false) shopSearch: String?, |
|
|
|
): WorkbenchMergeTicketCandidatesResponse = |
|
|
|
doWorkbenchReleaseService.getMergeTicketCandidates(requiredDate, shopSearch) |
|
|
|
|
|
|
|
/** Case 3: merge selected batch/single + isExtra into a new [TI-M] ticket. */ |
|
|
|
@PostMapping("/merge-tickets") |
|
|
|
fun mergeWorkbenchTickets(@RequestBody request: WorkbenchMergeTicketsRequest): MessageResponse = |
|
|
|
doWorkbenchReleaseService.mergeTicketsCase3( |
|
|
|
request.batchOrSingleDopoId, |
|
|
|
request.isExtraDopoId, |
|
|
|
) |
|
|
|
|
|
|
|
@GetMapping("/ticket-release-table/{startDate}&{endDate}") |
|
|
|
fun getWorkbenchTicketReleaseTable( |
|
|
|
@PathVariable startDate: LocalDate, |
|
|
|
|