「承認申請を進捗管理」操作の表示の制御
このトピックでは、この機能をサポートするために開発された API を使用して「承認申請を進捗管理」操作の表示を管理する方法について説明します。
TrackRegulatorySubmissionValidator API は、改訂可能な承認申請に対する「承認申請を進捗管理」操作の表示を制御するために、AbstractRegSubmission2Processor API をサポートしています。単純な regsub が指定されている場合、API はエラーを返します。
ソリューションエレメント
次のテーブルで、ソリューションエレメントについて説明します。
エレメント
タイプ
説明
AbstractRegSubmission2Processor
API
「承認申請を進捗管理」操作の表示を管理するために使用します。
TrackRegulatorySubmissionValidator
API
AbstractRegSubmission2Processor API の処理に使用します。
デフォルトの動作
デフォルトでは、承認申請が「サブミット中」ステージにあり、その承認申請タイプに「進捗管理のレイアウト」属性パネルが定義されている場合、「承認申請を進捗管理」操作が表示されます。
@Override
public boolean performTrackRegSubActionValidation(RegulatorySubmission regSub2) throws WTException {
if (!SubmissionStage.SUBMITTED.equals(regSub2.getSubmissionStage())) {
return false;
}
TypeIdentifier type = TypeIdentifierHelper.getType(regSub2);
LayoutDefinitionReadView layout = TypeDefinitionServiceHelper.service.getLayoutDefinition(type,
ScreenDefinitionName.TRACKING_LAYOUT.toString(), null);
Collection<ScreenDefinitionReadView> layoutScreens = layout.getAllScreens();
// if the screen layout is empty (default is returned) and the layout is not the tracking one
if (layoutScreens.isEmpty()
|| !layoutScreens.iterator().next().getName().equals(ScreenDefinitionName.TRACKING_LAYOUT.toString())) {
// the layout has a default layout at the start so the layoutScreens will never be empty, that's why second
// condition needs to be checked
return false;
}
return true;
}
これは役に立ちましたか?