/**
 * 执行 {{pascalCase logicNode.name}} 节点
 *
 * @protected
 * @memberof {{pascalCase uiLogic.codeName}}UILogicBase
 */
protected async execute_{{logicNode.codeName}}_node() {
{{#if (and (and logicNode.dstPSAppDataEntity logicNode.dstPSAppDELogic) logicNode.dstPSDEUILogicParam)}}
    try {
        const dstParam = this.getParam("{{logicNode.dstPSDEUILogicParam.codeName}}");
        const service = await App.getDataService("{{logicNode.dstPSAppDataEntity.codeName}}", this.context);
        if (dstParam && service) {
            const { $event, actionContext } = this.additionalParam;
            const data = dstParam.getReal();
            const result = await service.executeDELogic(this.context, this.viewParams, Array.isArray(data) ? data : [data], $event, actionContext);
            if (result.ok) {
                {{#if logicNode.retPSDEUILogicParam}}
                const retParam = this.getParam("{{logicNode.retPSDEUILogicParam.codeName}}");
                if (retParam) {
                    retParam.bind(result.data);
                }
                {{/if}}
                this.bindLastReturnParam(result.data);
            } else {
                throw new Error(`调用实体处理逻辑异常`);
            }
        } else {
            throw new Error(`操作参数缺失！`);
        }
        {{> @macro/logic-node/next-node.hbs}}
    } catch (error: any) {
        throw new Error(`执行 {{logicNode.name}} 节点 ${error && error.message ? error.message : '发生未知错误!'}`);
    }
{{else}}
    throw new Error(`操作参数缺失！`);
{{/if}}
}
