WinPallet.xaml.cs 3.9 KB
using FastReport;
using HHECS.Bll;
using HHECS.Model;
using HHECS.Model.BllModel;
using HHECS.Model.Entities;
using HHECS.View.Win;
using HHECS.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace HHECS.View.ContainerInfo
{

    /// <summary>
    /// Frm_Pallet.xaml 的交互逻辑
    /// </summary>
    public partial class WinPallet : MyWindow
    {
        public PageInfoVM PageInfo { get; set; } = new PageInfoVM();
        public WinPallet()
        {
            InitializeComponent();
            this.page.DataContext = PageInfo;
        }

        private void btn_print_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (dgv_1.SelectedItems == null || dgv_1.SelectedItems.Count == 0)
                {
                    MessageBox.Show("未选中数据");
                    return;
                }
                bool isDoublePrint = cb_IsDoublePrint.IsChecked == true;
                Report report = new Report();
                report.Load("Content/FastReport/" + AppSession.Report);
                List<Container> temps = new List<Container>();
                foreach (var item in dgv_1.SelectedItems)
                {
                    temps.Add((Container)item);
                }
                foreach (Container item in temps)
                {
                    report.SetParameterValue("Barcode", item.Code);
                    //report.Prepare();
                    //report.Show();
                    report.PrintSettings.Printer = AppSession.PrinterName;
                    report.PrintSettings.ShowDialog = false;
                    report.Print();
                    if (isDoublePrint)
                    {
                        report.Print();
                    }
                    //更新打印次数
                    if (isDoublePrint)
                    {
                        item.PrintCount += 2;
                    }
                    else
                    {
                        item.PrintCount += 1;
                    }
                    AppSession.Bll.UpdateCommonModel<Container>(item);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("打印出现异常:" + ex.ToString());
            }
        }

        private void btn_query_Click(object sender, RoutedEventArgs e)
        {
            Query();
        }

        private void Query()
        {
            string sql = "where 1=1 ";
            if (!String.IsNullOrEmpty(txt_code.Text))
            {
                sql += " and t.code = '" + txt_code.Text + "'";
            }
            if (cb_isInWarehouse.IsChecked==true)
            {
                sql += " and t.printCount > 0";
            }
            if (cb_isPrint.IsChecked==true)
            {
                sql += " and EXISTS(SELECT * from location where containerCode = t.code);";
            }
            BllResult<int> result = AppSession.Bll.GetCommonModelCount<Container>(sql);
            if (result.Success)
            {
                PageInfo.TotalCount = result.Data;
                dgv_1.ItemsSource = AppSession.Bll.GetCommonModeByPageCondition<Container>(PageInfo.PageIndex,PageInfo.PageSize,sql,null).Data;
            }
        }



        private void btn_Add_Click(object sender, RoutedEventArgs e)
        {
            //WinPalletAdd frm_PalletAdd = new WinPalletAdd();
            //frm_PalletAdd.ShowDialog();
        }

        private void page_PageChanged(object sender, Controls.PageChangedEventArgs e)
        {
            PageInfo.PageIndex = e.CurrentPageIndex;
            Query();
        }
    }
}