| | |
| | | private WorkOrderStageVO buildStage(String stageName, List<String> statusNames, List<GdWorkOrderFlowEntity> actualFlows, String flowStatus, String currentStageCode) { |
| | | List<WorkOrderStatusDetailVO> statuses = new ArrayList<>(); |
| | | |
| | | // 检查该阶段是否在当前阶段之后 |
| | | // 注意:即使流程回退,之前到达过的阶段仍然需要显示其记录 |
| | | // 而是让所有阶段都能显示其已到达的状态,只对未到达的状态进行处理 |
| | | // boolean isStageAfterCurrent = false; |
| | | // try { |
| | | // int stageCode = Integer.parseInt(flowStatus); |
| | | // int currentCode = Integer.parseInt(currentStageCode); |
| | | // isStageAfterCurrent = stageCode > currentCode; |
| | | // } catch (NumberFormatException e) { |
| | | // // 如果转换失败,默认不视为在当前阶段之后 |
| | | // } |
| | | |
| | | // 临时列表,用于收集所有状态详情 |
| | | List<WorkOrderStatusDetailVO> tempStatuses = new ArrayList<>(); |
| | | |
| | |
| | | } |
| | | }); |
| | | |
| | | // 为每个排序后的流程记录创建状态详情 |
| | | // 无论阶段是否在当前阶段之后,只要有匹配的流程记录,就标记为已到达 |
| | | for (GdWorkOrderFlowEntity matchingFlow : matchingFlows) { |
| | | tempStatuses.add(new WorkOrderStatusDetailVO( |