| checkImportProcessSpecItems(String, Integer, List) |   | 60% |   | 39% | 45 | 48 | 41 | 115 | 0 | 1 |
| buildSaveProcessSpecItemList(Long, List) |   | 60% |   | 41% | 27 | 30 | 29 | 78 | 0 | 1 |
| buildProcessSpecItems(ProcessSpecItemBuildParameterDto, Integer, List, Long) |   | 76% |   | 50% | 11 | 15 | 22 | 88 | 0 | 1 |
| checkIfTheAttributeTypeHasBeenModified(List, List) |  | 0% |  | 0% | 4 | 4 | 18 | 18 | 1 | 1 |
| checkIfFlowSequencesIsValid(List) |   | 65% |   | 60% | 8 | 11 | 11 | 31 | 0 | 1 |
| checkIfParameterSetIsValidAndSet(Long, ProcessSpecItem, StringBuilder) |   | 15% |   | 12% | 4 | 5 | 11 | 14 | 0 | 1 |
| checkIfReticleFamilyIsValidAndSet(Long, ProcessSpecItem, StringBuilder) |   | 15% |   | 12% | 4 | 5 | 11 | 14 | 0 | 1 |
| getOperationQueueTimeFilterProduct(ProcessSpecItemDto, Long) |   | 53% |   | 37% | 7 | 9 | 8 | 23 | 0 | 1 |
| checkIfAttributeCanBeModified(String, String, String, String) |  | 0% |  | 0% | 6 | 6 | 8 | 8 | 1 | 1 |
| setMultipathAndDefaultStepFlag(List) |   | 51% |   | 16% | 6 | 7 | 10 | 18 | 0 | 1 |
| checkIfRecipeIsValidAndSet(Long, ProcessSpecItem, StringBuilder) |   | 60% |   | 50% | 4 | 5 | 5 | 14 | 0 | 1 |
| checkFlipType(List, StringBuilder, boolean) |   | 53% |   | 50% | 6 | 9 | 8 | 20 | 0 | 1 |
| checkIfProcessSpecItemsCanDoFreeze(List, StringBuilder) |   | 52% |   | 50% | 3 | 5 | 3 | 9 | 0 | 1 |
| getReworkRouteFlow(Long, Integer) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| saveProcessSpecItems(ProcessSpecFormDto) |   | 90% |   | 50% | 3 | 4 | 3 | 33 | 0 | 1 |
| queryProcessSpecItems(ProcessSpecFormDto) |   | 88% |   | 83% | 1 | 4 | 2 | 25 | 0 | 1 |
| checkIfHasUnfrozenDataInProductAttribute(Long, Integer) |   | 61% |   | 25% | 2 | 3 | 4 | 11 | 0 | 1 |
| queryProcessSpecItemHistories(Page, String, Integer, Date, Date) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| buildProcessSpecItemSaveMap(List, List) |   | 91% |   | 87% | 1 | 5 | 1 | 14 | 0 | 1 |
| freezeProcessSpecItems(ProcessSpecFormDto) |  | 95% |   | 50% | 3 | 4 | 0 | 19 | 0 | 1 |
| restoreProcessSpecItems(ProcessSpecFormDto) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| validationActiveProcessSpecItems(ProcessSpecFormDto) |  | 94% |   | 55% | 8 | 10 | 2 | 17 | 0 | 1 |
| activateProcessSpecItems(ProcessSpecFormDto) |  | 98% |   | 50% | 5 | 6 | 0 | 29 | 0 | 1 |
| unfreezeProcessSpecItems(ProcessSpecFormDto) |  | 96% |   | 50% | 2 | 3 | 0 | 11 | 0 | 1 |
| isEditableProcessSpec(Long, Integer) |  | 89% |   | 50% | 2 | 3 | 0 | 2 | 0 | 1 |
| getProductVersions(Long) |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| getProcessSpecInfoForSave(ProcessSpecFormDto) |  | 100% |  | 100% | 0 | 2 | 0 | 10 | 0 | 1 |
| checkIfHasUnfrozenTimeLimit(List, String, Integer) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| activateProduct(TransactionLog, ProcessSpecInfo) |  | 100% |   | 50% | 1 | 2 | 0 | 6 | 0 | 1 |
| queryProcessSpecItem(ProcessSpecItemDto) |  | 100% |   | 50% | 1 | 2 | 0 | 5 | 0 | 1 |
| getProcessSpecInfo(ProcessSpecFormDto) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| updateStatusOfProcessSpec(TransactionLog, ProcessSpecInfo, List, Ecn, String) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| canActivateProducts(ProcessSpecInfo) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getFlipTypeKeyMap() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| ProcessSpecServiceImpl() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| canRestore(ProcessSpecFormDto) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |