Asp.Netゼロは、ユニバーサル印刷を実現します

Asp.Netゼロはすぐに業務システムを構築するために使用することができ、非常に良好なWebフレームワークです。フレームワークは、ビジネス・システムで必要とされる最も一般的な機能を満たすために、しかし、レポートを印刷しなければならないシステムが達成されていません。ここでは、その上のテンプレートデザイン、テンプレート印刷、バッチ印刷、プリントコマンド、バーコード/ 2次元コード印刷とを実現することができ、どのようにゼロに印刷機能を統合することを教えてくれます。

まず、我々は次のように、ビジネス、ビジネスデザインを印刷するための柔軟なシステムを設計します。

コア層で印刷最初の新しいフォルダを、新しいPrintTemplateでプリント

    パブリック クラス PrintTemplate:エンティティ< 整数 > 、ISoftDelete、IMustHaveTenant 
    { 
        公共 のint TenantId { 取得しますセット; } 

        パブリック ブール IsDeleted { 得ますセット; } 

        ///  <要約> 
        /// 模块
         ///  </要約> 
        [StringLengthの(50 )]
         パブリック 文字列 AppServiceName { 得ますセット; } 

        ///  <要約> 
        /// 模板名称
         ///  </要約>
        [StringLengthに(50 )]
         パブリック 文字列 TEMPLATENAME { 得ますセット; } 

        ///  <要約> 
        /// 默认模板
         ///  </要約> 
        パブリック ブール Defaule { 得ますセット; } 

        ///  <要約> 
        /// 模板内容
         ///  </要約> 
        パブリック 文字列 TemplateContent { 得ますセット; } 

        ///  <要約> 
        /// 备注
         ///  </要約> 
        [StringLengthの(100 )]
         パブリック 文字列備考{ 得ますセット; } 
    }

PrintTemplateを作成した後、簡単なIPrintTemplateManagerフィールドサービス・インターフェースの呼び出しを追加します。

    パブリック インターフェースIPrintTemplateManager:IDomainService 
    { 
        タスク <リスト< ストリング >> GetTemplates(文字列serviceNameを)。

        タスク < 文字列 >印刷(文字列 serviceNameは、文字列の名前)。
    }

 印刷印刷テンプレートを使用すると、直接テンプレートとコンテンツの単一のリストを取得することができ、テンプレートの内容を、取得した後に選択されていますが、事業開発の可能性があり、印刷テンプレートの多くなるので、より効率的に取得するためにステップバイステップでます。

 GetTemplatesのみテンプレート名にテキストを持っていない、現在の印刷モジュールのリストを取得することです。

 データベース移行後IPrintManagerAppService界面層を追加するApplication.Shared

    パブリック インターフェースIPrintManagerAppService:IApplicationService 
    { 
        タスクCreateOrUpdatePrint(CreateOrEditPrintInput入力)。

        タスクDeletePrint(EntityDto < INT > 入力)。

        タスク <PagedResultDto <CreateOrEditPrintInput >> GetPrints(GetPrintInput入力)。
        
    }

 印刷テンプレートは、レポート内のすべての現在のモジュールの印刷テンプレートページの一覧を取得する必要があり、ABPアプリケーションサービス分類であるサービスモジュール、に基づいています。

     result.PrintTemplatesの=は待つ _printTemplateManager.GetTemplates(" SomeoneAppServiceを")。

印刷テンプレートと印刷の内容を取得するテンプレートを選択した後:

        公共の 非同期タスク< 文字列 >印刷(文字列TEMPLATENAME)
        { 
            リターンを 待つ _printTemplateManager.Print(" PurchaseManagerAppService " 、TEMPLATENAMEを)。
        }

インタフェースは、統一された管理テンプレートのための新しい印刷管理モジュールのリリース後、モジュールは、角度で開発者によって維持されるべきです。

次のテンプレートのデザイン、テンプレートは、他のスタイルのニーズに応じて設計することができます。

 概要:印刷事業は、ここで達成し、最終的に印刷を開始するために、角の印刷コントロールに統合する必要がありますされています。

 印刷制御の実装:https://www.cnblogs.com/william-xu/p/11098562.html

おすすめ

転載: www.cnblogs.com/william-xu/p/11125623.html
おすすめ