| validateAndImport(List, int, Map, Long, RecipeExcelDataForm) |  | 0% |  | 0% | 31 | 31 | 88 | 88 | 1 | 1 |
| doInsertRecipe(ActionMapping, RecipeImportForm, HttpServletRequest, HttpServletResponse) |  | 0% |  | 0% | 21 | 21 | 67 | 67 | 1 | 1 |
| processEqtInfo(RecipeExcelDataForm, Recipe, String, Long, Long, String) |  | 0% |  | 0% | 19 | 19 | 75 | 75 | 1 | 1 |
| processRecipeVersion(RecipeExcelDataForm, Recipe, String, Long, Long, Ecn) |  | 0% |  | 0% | 9 | 9 | 59 | 59 | 1 | 1 |
| processRecipe(RecipeExcelDataForm, Recipe, String, Long, Long) |  | 0% |  | 0% | 6 | 6 | 30 | 30 | 1 | 1 |
| changeRecipeStatusView(Recipe, String, Long) |  | 0% |  | 0% | 2 | 2 | 21 | 21 | 1 | 1 |
| getImpData(FormFile) |  | 0% |  | 0% | 5 | 5 | 20 | 20 | 1 | 1 |
| validateByReferenceFile(String, String, Long) |  | 0% |  | 0% | 8 | 8 | 21 | 21 | 1 | 1 |
| recipeBatchAction(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) |  | 0% |  | 0% | 8 | 8 | 19 | 19 | 1 | 1 |
| doImportExcel(ActionMapping, RecipeImportForm, HttpServletRequest) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| checkSubRecipeVersionInfo(String, long) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| checkInputRecipeIdCanBeCreated(long, String) |  | 0% |  | 0% | 2 | 2 | 13 | 13 | 1 | 1 |
| createSubRecipeWithActiveVersion(Recipe, String) |  | 0% | | n/a | 1 | 1 | 13 | 13 | 1 | 1 |
| validateRecipeDataForm(RecipeExcelDataForm) |  | 0% |  | 0% | 8 | 8 | 15 | 15 | 1 | 1 |
| buildAddRecipeRrnsForParallelMode(long, Recipe, String) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| createActiveSubRecipeVersion(Recipe, String) |  | 0% |  | 0% | 2 | 2 | 13 | 13 | 1 | 1 |
| createSubRecipeWithIsExisted(Recipe, String) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| getRecipeChambers(long) |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 1 | 1 |
| generateDisplayByPage(List, int) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| buildChamberTypesForRecipeVersion(char[]) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| buildCreatedSingleChamberId(Set, long, String) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| buildNoRepeatChamberTypes(Collection) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| createSubRecipeWithIsExistedByChamberId(Recipe, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getAvailableSubRecipeChamberIds(Collection) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| timestampToLongString(Date) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| downloadTemplate(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isExistedInRelation(long, Long) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| addMessage(RecipeExcelDataForm, String, String, String) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| parseFlagToCheckBox(String) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| generateDisplayByPage(List, RecipeImportForm) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| init(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| RecipeBatchAction() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |