From 2d532196ab4d2cb7bfda91b00c6076239a945ecc Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期一, 13 十月 2025 17:22:29 +0800
Subject: [PATCH] 采购打印

---
 DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 100 insertions(+), 6 deletions(-)

diff --git a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
index db18eef..233d36f 100644
--- a/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcBtnPrint.cs
@@ -2,9 +2,11 @@
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Data;
 using System.Drawing;
+using System.IO;
 using System.Windows.Forms;
 
 
@@ -15,6 +17,7 @@
         public UcBtnPrint()
         {
             InitializeComponent();
+            //棰勮鎵撳嵃
             this.btnPrint.Click += (s, e) =>
             {
                 if (btnPrintClick != null)
@@ -28,7 +31,7 @@
                     MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
                     return;
                 }
-                #region 濡傛灉鏄鎴风殑
+                #region 濡傛灉鏄鎴风殑鍚庣洊鐮�
                 if (rptParameter.Contains("rpt_hgm"))
                 {
                     var _obj = new
@@ -65,16 +68,84 @@
                     { }
                 }
                 #endregion
-
                 _print();
-
             };
+            //鎵归噺鎿嶄綔
             this.btnAll.Click += (s, e) =>
             {
                 if (btnAllClick != null)
                     btnAllClick(this, e);
                 else
                     return;
+            };
+            //鐩存帴鎵撳嵃
+            this.btnZhiJie.Click += (s, e) =>
+            {
+                if (btnZhiJieClick != null)
+                    btnZhiJieClick(this, e);
+                else
+                    return;
+                if (rptParameter == "return false")
+                    return;
+                if (string.IsNullOrEmpty(rptParameter))
+                {
+                    MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
+                    return;
+                }
+                var _obj = new
+                {
+                    rptParameter = rptParameter,
+                    guid = guidKey,
+                    isDesign = 0
+                };
+                try
+                {
+                    var strJson = UtilityHelper.HttpPost("", "Report/GetRptData",
+                        JsonConvert.SerializeObject(_obj));
+                    var _job = JObject.Parse(strJson);
+                    var rtnCode = _job["rtnCode"].ToString();
+                    if (int.Parse(rtnCode) > 0)
+                    {
+                        //妯℃澘
+                        var report = new FastReport.Report();
+                        var buffer = (byte[])_job["rtnData"]["reportTemplateData"];
+                        using (var Stream = new MemoryStream(buffer))
+                        {
+                            report.Load(Stream);
+                        }
+                        //涓昏〃
+                        var array = new JArray();
+                        foreach (var a in _job["rtnData"]["zb"]) array.Add(a);
+                        var _zb = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                        _zb.TableName = "zb";
+                        //鏄庣粏琛�1
+                        var array1 = new JArray();
+                        foreach (var a in _job["rtnData"]["mx1"]) array1.Add(a);
+                        var _mx1 = JsonConvert.DeserializeObject<DataTable>(array1.ToString());
+                        _mx1.TableName = "mx1";
+                        //鏄庣粏琛�2
+                        var array2 = new JArray();
+                        foreach (var a in _job["rtnData"]["mx2"]) array2.Add(a);
+                        var _mx2 = JsonConvert.DeserializeObject<DataTable>(array2.ToString());
+                        _mx2.TableName = "mx2";
+                        //鍔犲埌鏁版嵁闆嗕腑
+                        var ds = new DataSet();
+                        ds.Tables.Add(_zb);
+                        ds.Tables.Add(_mx1);
+                        ds.Tables.Add(_mx2);
+                        report.RegisterData(ds);
+                        report.Print();
+                       // report.ShowPrepared();
+                    }
+                    else
+                    {
+                        MsgHelper.ShowError("鎻愮ず锛�" + _job["rtnMsg"]);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
+                }
             };
         }
         /// <summary>
@@ -104,6 +175,12 @@
         /// </summary>
         public event EventHandler btnAllClick;
 
+        /// <summary>
+        /// 鐩存帴鎵撳嵃
+        /// </summary>
+        public event EventHandler btnZhiJieClick;
+
+
         private bool _ckRptService()
         {
             try
@@ -128,6 +205,11 @@
             return false;
         }
 
+
+        /// <summary>
+        /// 璁剧疆鎵归噺鎸夐挳鍙鎬�
+        /// </summary>
+        /// <param name="blPiLiang"></param>
         public void SetPlButton(bool blPiLiang)
         {
             if (blPiLiang == true)
@@ -137,9 +219,22 @@
         }
 
         /// <summary>
-        /// 
+        /// 璁剧疆纭畾鎸夐挳鍙鎬�
         /// </summary>
-        private void _print() {
+        /// <param name="blPiLiang"></param>
+        public void SetPrintButton(bool blPiLiang)
+        {
+            if (blPiLiang == true)
+                this.lay1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+            else
+                this.lay1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+        }
+
+        /// <summary>
+        /// 棰勮鎵撳嵃
+        /// </summary>
+        private void _print()
+        {
             var _bl = false;
             _bl = _ckRptService();
             if (_bl)
@@ -153,7 +248,6 @@
                 }
                 catch (Exception)
                 {
-
                 }
                 return;
             }

--
Gitblit v1.9.3