lu
2025-03-25 ebab62b668bd769f97f4afd5caee472f7e514a27
DevApp/Gs.DevApp/UserControl/SelectCgMx.cs
@@ -1,100 +1,113 @@
using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.Utils.DirectXPaint;
using DevExpress.XtraEditors;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gs.DevApp.UserControl
{
    public partial class SelectCgMx : DevExpress.XtraEditors.XtraForm
    public partial class SelectCgMx : XtraForm
    {
        private readonly List<FilterEntity> _filterList =
            new List<FilterEntity>();
        private readonly string _webServiceName = "MesInvItemArnManager/";
        private string suppId = "";
        private string receiveOrgId = "";
        /// <summary>
        /// 回调事件
        ///
        /// </summary>
        /// <param name="_suppId">供应商</param>
        /// <param name="_receiveOrgId">收料组织</param>
        /// <param name="_isWw">是否委外</param>
        public SelectCgMx(string _suppId, string _receiveOrgId)
        {
            InitializeComponent();
            radioGroup1.SelectedIndex = 0;
            this.suppId = _suppId;
            this.receiveOrgId = _receiveOrgId;
            pageBar1.PagerEvent += PageBar1_PagerEvent;
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", (value) =>
            {
            });
            getPageList(1);
            btnIn.Click += (s, e) =>
            {
                var list = new List<string>();
                int[] rows = this.gridView1.GetSelectedRows();//先获取选择行的行号
                DataTable dt = this.gcMain.DataSource as DataTable;//得到GridControl的数据源
                foreach (int idx in rows)
                {
                  string _guid= dt.Rows[idx]["guid"].ToString();
                    list.Add(_guid);
                }
                UpdateParent?.Invoke(this,
                    new UpdateParentEventArgs { StringList = list });
                Close();
            };
            radioGroup1.SelectedIndexChanged += (s, e) =>
            {
                getPageList(1);
            };
        }
        /// <summary>
        ///     选择后的回调事件
        /// </summary>
        public event EventHandler<UpdateParentEventArgs> UpdateParent;
        string _webServiceName = "MesRohInDataManager/";
        List<FilterEntity> _filterList = new List<FilterEntity>();
        public SelectCgMx()
        {
            InitializeComponent();
            pageBar1.PagerEvent += PageBar1_PagerEvent;
            getPageList(1, UtilityHelper.GetPageSize());
            gridView1.IndicatorWidth = 50;
            gridView1.CustomDrawRowIndicator += (s, e) =>
            {
                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                {
                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
                }
            };
            btnIn.Click += (s, e) =>
            {
                List<string> list = new List<string>();
                for (int i = 0; i < gridView1.DataRowCount; i++)
                {
                    var checkBox = gridView1.GetRowCellDisplayText(i, "gvChk");
                    if (checkBox == "Checked")
                    {
                        string _guid = gridView1.GetRowCellValue(i, "guid").ToString();
                        list.Add(_guid);
                    }
                }
                UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringList = list });
                this.Close();
            };
        }
        /// <summary>
        /// 分页事件
        ///     分页事件
        /// </summary>
        /// <param name="curPage"></param>
        /// <param name="pageSize"></param>
        private void PageBar1_PagerEvent(int curPage, int pageSize)
        {
            getPageList(curPage, pageSize);
            getPageList(curPage);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="curPage">第几页</param>
        /// <param name="pageSize">每页几条</param>
        private void getPageList(int curPage, int pageSize)
        private void getPageList(int curPage)
        {
            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
            foreach (FilterEntity itm in _filterList)
            var _obj = new
            {
                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
            }
            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "BILL_NO", "asc", "", _sbSqlWhere.ToString());
            string json = JsonConvert.SerializeObject(pgq);
                currentPage = curPage,
                everyPageSize = this.pageBar1.RowsCount,
                sortName = "",
                keyWhere = "",
                inBusType = (radioGroup1.SelectedIndex+1),//1是采购,2是委外
                inSupId = this.suppId,
                inReceiveOrgId = this.receiveOrgId,
            };
            var json = JsonConvert.SerializeObject(_obj);
            try
            {
                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                DataTable dt = dd.rtnData.list;
                var strReturn = UtilityHelper.HttpPost("",
                    _webServiceName + "SelectForm", json);
                var dd = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = dd.rtnData.list;
                gcMain.BindingContext = new BindingContext();
                gcMain.DataSource = dt;
                gcMain.ForceInitialize();
                int dddd = dd.rtnData.pages;//总页
                gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
                var dddd = dd.rtnData.pages; //总页
                pageBar1.TotalPages = dddd;
                pageBar1.RecordCount = dd.rtnData.total;//记录总数
                pageBar1.CurrentPage = curPage;//当前页
                pageBar1.RowsCount = pageSize;//每页显示
                pageBar1.setTxt();
                pageBar1.RecordCount = dd.rtnData.total; //记录总数
                pageBar1.CurrentPage = curPage; //当前页
            }
            catch (Exception ex)
            {
                ToolBox.MsgHelper.Warning("提示:" + ex.Message);
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
    }
}