/**
 * 执行 {{pascalCase logicNode.name}} 节点
 *
 * @protected
 * @memberof {{pascalCase uiLogic.codeName}}UILogicBase
 */
protected async execute_{{logicNode.codeName}}_node() {
{{#if (and (and logicNode.dstPSAppDataEntity logicNode.dstPSAppDEDataSet) logicNode.dstPSDEUILogicParam)}}
    {{#if logicNode.dstPSDEUILogicParam.filterParam}}
    try {
        const dstParam = this.getParam("{{logicNode.dstPSDEUILogicParam.codeName}}");
        const service = await App.getDataService("{{logicNode.dstPSAppDataEntity.codeName}}", this.context);
        const result = await service["{{logicNode.dstPSAppDEDataSet.codeName}}"](this.context, dstParam.getReal() ? dstParam.getReal() : {})
        if (result.success && result.data) {
            {{#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(`查询实体数据集失败`);
        }
        {{> @macro/logic-node/next-node.hbs}}
    } catch (error: any) {
        throw new Error(`执行 {{logicNode.name}} 节点 ${error && error.message ? error.message : '发生未知错误！'}`);
    }
    {{else}}
    throw new Error(`传入参数 {{logicNode.dstPSDEUILogicParam.codeName}} 类型不正确，必须为过滤器对象`);
    {{/if}}
{{else}}
    throw new Error(`操作参数缺失！`);
{{/if}}
}
