|
@@ -386,13 +386,15 @@ public class RegistrationBatchService {
|
|
386
|
}
|
386
|
}
|
|
387
|
|
387
|
|
|
388
|
List<RegistrationBatchStepResponse> steps = new ArrayList<>();
|
388
|
List<RegistrationBatchStepResponse> steps = new ArrayList<>();
|
|
|
|
389
|
+ // 终态 completed:整单已办结,当前步也应显示 done,而不是进行中(⏱)
|
|
|
|
390
|
+ boolean terminalCompleted = "completed".equals(currentCode);
|
|
389
|
for (int i = 0; i < flowSteps.size(); i++) {
|
391
|
for (int i = 0; i < flowSteps.size(); i++) {
|
|
390
|
FeWorkflowStep def = flowSteps.get(i);
|
392
|
FeWorkflowStep def = flowSteps.get(i);
|
|
391
|
String code = def.getStepCode();
|
393
|
String code = def.getStepCode();
|
|
392
|
RegistrationBatchStepResponse step = new RegistrationBatchStepResponse();
|
394
|
RegistrationBatchStepResponse step = new RegistrationBatchStepResponse();
|
|
393
|
step.setStepCode(code);
|
395
|
step.setStepCode(code);
|
|
394
|
step.setTitle(def.getStepName());
|
396
|
step.setTitle(def.getStepName());
|
|
395
|
- if (i < currentIndex) {
|
|
|
|
|
|
397
|
+ if (i < currentIndex || (terminalCompleted && i == currentIndex)) {
|
|
396
|
step.setStatus(STEP_STATUS_DONE);
|
398
|
step.setStatus(STEP_STATUS_DONE);
|
|
397
|
step.setTime(resolveStepTime(code, draft, order));
|
399
|
step.setTime(resolveStepTime(code, draft, order));
|
|
398
|
} else if (i == currentIndex) {
|
400
|
} else if (i == currentIndex) {
|
|
@@ -468,6 +470,9 @@ public class RegistrationBatchService {
|
|
468
|
} else if (order != null) {
|
470
|
} else if (order != null) {
|
|
469
|
time = order.getCreateTime();
|
471
|
time = order.getCreateTime();
|
|
470
|
}
|
472
|
}
|
|
|
|
473
|
+ } else if ("completed".equals(stepCode) && order != null) {
|
|
|
|
474
|
+ // 办结时间暂用订单最近更新时间
|
|
|
|
475
|
+ time = order.getUpdateTime() != null ? order.getUpdateTime() : order.getCreateTime();
|
|
471
|
}
|
476
|
}
|
|
472
|
return time != null ? STEP_TIME_FMT.format(time) : null;
|
477
|
return time != null ? STEP_TIME_FMT.format(time) : null;
|
|
473
|
}
|
478
|
}
|