From 9b7bc5872818f11125dda5b07da1762ec31db9e7 Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期日, 17 八月 2025 06:32:43 +0800
Subject: [PATCH] 销售无源单

---
 DevApp/Gs.DevApp/DevFrm/Sales/Frm_SalesReturnNotice.cs |  267 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 203 insertions(+), 64 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/Sales/Frm_SalesReturnNotice.cs b/DevApp/Gs.DevApp/DevFrm/Sales/Frm_SalesReturnNotice.cs
index bee37e3..2ecf0bc 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sales/Frm_SalesReturnNotice.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sales/Frm_SalesReturnNotice.cs
@@ -1,5 +1,6 @@
 using DevExpress.XtraEditors;
 using Gs.DevApp.DevFrm.Rpt;
+using Gs.DevApp.DevFrm.Sales;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Gs.DevApp.UserControl;
@@ -17,7 +18,9 @@
     {
         string _webServiceName = "SalesReturnManager/";
         List<FilterEntity> _filterList = new List<FilterEntity>();
-        string _ucCk = "";//鍙戞枡浠撳簱
+        string _ucCk = "";//浠撳簱
+        string _ucKh = "";//瀹㈡埛
+        string _ucBm = "";//閮ㄩ棬
         public Frm_SalesReturnNotice()
         {
             InitializeComponent();
@@ -47,35 +50,6 @@
             }, lbGuid);
             getPageList(1);
             pageBar1.PagerEvent += PageBar1_PagerEvent;
-            // 璁剧疆閿�鍞崟
-            txt_salesOrderId.getSuppler("", "");
-            this.txt_salesOrderId.EditChanged += (s, e) =>
-            {
-                //鏈夋病鏈夐攢鍞鍗�
-                string _sqGuid = txt_salesOrderId.GetId();
-                if (string.IsNullOrEmpty(_sqGuid))
-                    return;
-                txt_custName.Text = txt_salesOrderId.GetSalesCusName();
-                txt_xsOrgName.Text = txt_salesOrderId.GetSalesOrgName();
-                string _xsOrgFid = txt_salesOrderId.GetSalesOrgFid();
-                txt_fstockid.getSuppler(_xsOrgFid, _ucCk);
-                System.Text.StringBuilder sbWhere = new System.Text.StringBuilder();
-                var _obj = new PageQueryModel(1, 999999, "item_no", "asc", "", sbWhere.ToString(), _sqGuid);
-                var json = JsonConvert.SerializeObject(_obj);
-                try
-                {
-                    var strReturn = UtilityHelper.HttpPost("",
-                        "SalesManager/SelectFormFhMx", json);
-                    var rtn = UtilityHelper.ReturnToTablePage(strReturn);
-                    var dt = rtn.rtnData.list;
-                    this.repositoryItemSearchLookUpEdit1.DataSource = dt;
-                    repositoryItemSearchLookUpEdit1.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
-                }
-                catch (Exception ex)
-                {
-                    MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
-                }
-            };
             //鎵撳嵃浜嬩欢
             this.ucBtnPrint1.btnPrintClick += (s, e) =>
             {
@@ -160,8 +134,125 @@
             {
                 Gs.DevApp.ToolBox.UtilityHelper.PrintAuto(txt_psnQty_1, txt_iCount_1, radOut, txt_yuliang_1);
             };
+            //閿�鍞粍缁�
+            txt_salesOrg.EditChanged += (s, e) =>
+            {
+                var orgId = txt_salesOrg.GetId();
+                if (string.IsNullOrEmpty(orgId))
+                    return;
+                txt_fstockid.getSuppler(orgId, _ucCk);
+                txt_inventoryOrg.SetIdOrCode(orgId);
+                txt_salesDept.getSuppler(orgId,_ucBm);
+                txt_returnCustomer.getSuppler(orgId,_ucKh);
+            };
+            //閿�鍞儴闂�
+            txt_salesDept.EditChanged += (s, e) =>
+            {
+                var dptId = txt_salesDept.GetId();
+                if (string.IsNullOrEmpty(dptId))
+                    return;
+                txt_saleDeptName.Text=(txt_salesDept.GetName());
+            };
+            //閫夋嫨闇�瑕佺殑鏄庣粏
+            btnSelect.Click += (s, e) =>
+            {
+                if (string.IsNullOrEmpty(this.txt_salesOrg.GetId()))
+                {
+                    Gs.DevApp.ToolBox.MsgHelper.ShowError("璇峰厛閫夋嫨閿�鍞粍缁囷紒");
+                    return;
+                }
+                if (string.IsNullOrEmpty(this.txt_returnCustomer.GetId()))
+                {
+                    Gs.DevApp.ToolBox.MsgHelper.ShowError("璇峰厛閫夋嫨瀹㈡埛锛�");
+                    return;
+                }
+                if (txt_fHasLinkRad.SelectedIndex == 0)
+                {
+                    var frm = new Frm_SalesReturnNoticeSelect(this.txt_returnCustomer.GetId(), this.txt_salesOrg.GetId());
+                    //璧嬪�肩粰鏄庣粏琛�
+                    frm.UpdateParent += (ss, ee) =>
+                    {
+                        try
+                        {
+                            var lst = new List<string>();
+                            lst = ee.StringList;
+                            var _obj = lst;
+                            var strReturn = UtilityHelper.HttpPost("",
+                                _webServiceName + "SelectFormTo",
+                                JsonConvert.SerializeObject(_obj));
+                            var dt = UtilityHelper.ReturnToList(strReturn);
+                            DataTable _newTable = dt.rtnData;
+                            DataTable _oldTable = (DataTable)gcMx1.DataSource;
+                            DataRow[] sourceRows = _newTable.Select();
+                            for (int i = 0; i < sourceRows.Length; i++)
+                            {
+                                _oldTable.ImportRow(sourceRows[i]);
+                            }
+                            gcMx1.BindingContext = new BindingContext();
+                            gcMx1.DataSource = _oldTable;
+                            gcMx1.ForceInitialize();
+                            gvMx1.BestFitColumns();
+                            Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1);
+                        }
+                        catch (Exception ex)
+                        {
+                            MessageBox.Show(ex.Message);
+                        }
+                    };
+                    frm.ShowDialog();
+                    return;
+                }
+                if (txt_fHasLinkRad.SelectedIndex == 1)
+                {
+                    var frm2 = new Frm_SalesReturnNoticeSelectLink(this.txt_salesOrg.GetId());
+                    frm2.UpdateParent += (ss, ee) =>
+                    {
+                        try
+                        {
+                            var lst = ee.DynamicList;
+                            DataTable _Table = (DataTable)gcMx1.DataSource;
+                            foreach (dynamic dym in lst)
+                            {
+                                DataRow _row = _Table.NewRow();
+                                _row["guid"] = dym.guid;
+                                _row["deliveDetailGuid"] = dym.deliveDetailGuid;//閫佽揣鏄庣粏guid
+                                _row["itemId"] = dym.itemId;
+                                _row["itemNo"] = dym.itemNo; //鐗╂枡缂栧彿,
+                                _row["itemName"] = dym.itemName;  //鐗╂枡鍚嶇О,
+                                _row["itemModel"] = dym.itemModel;//瑙勬牸鍨嬪彿,
+                                _row["xxDw"] = dym.xxDw;
+                                _row["salesQuantity"] = dym.salesQuantity;
+                                _row["isFreeChk"]=dym.isFreeChk;
+                                _row["fhQuantity"] = dym.fhQuantity;
+                                gvMx1.UpdateCurrentRow();
+                                _Table.Rows.Add(_row);
+                            }
+                            gcMx1.BindingContext = new BindingContext();
+                            gcMx1.DataSource = _Table;
+                            gcMx1.ForceInitialize();
+                            gvMx1.CloseEditor();
+                            gvMx1.PostEditor();
+                            gvMx1.UpdateCurrentRow();
+                            gvMx1.BestFitColumns();
+                        }
+                        catch (Exception ex)
+                        {
+                            MessageBox.Show(ex.Message);
+                        }
+                    };
+                    frm2.ShowDialog();
+                    return;
+                }
+            };
+            //婧愬崟浜嬩欢
+            txt_fHasLinkRad.SelectedIndex = 0;
+            setSrm();
+            txt_fHasLinkRad.SelectedIndexChanged += (s, e) =>
+            {
+                setSrm();
+            };
         }
-
+      
         private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
         {
             _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1);
@@ -308,9 +399,10 @@
                 UtilityHelper.ChangeEnableByControl(this.layoutMx1.Controls, true, gvList);
             }
             //2025/07/12鍔犱笂淇敼鐘舵�佷笅涓嶈兘淇敼
-          
+            setSrm();
+            txt_salesOrg.IsReadly = true;
+            txt_inventoryOrg.IsReadly = true;
             txt_fHasLinkRad.ReadOnly = true;
-            txt_salesOrderId.IsReadly = true;
         }
         /// <summary>
         /// 鏂板浜嬩欢
@@ -327,7 +419,10 @@
             UtilityHelper.CleanValueByControl(this.layoutMx1.Controls, true, gridViews);
             Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
             Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx2, gvMx2);
-
+            //澧炲姞鏃讹紝榛樿缁勭粐
+            string deftOrg = UtilityHelper.GetFirstOrg(txt_salesOrg);
+            string deftXqOrg = UtilityHelper.GetFirstOrg(txt_inventoryOrg);
+            setSrm();
         }
         /// <summary>
         /// 淇濆瓨浜嬩欢
@@ -337,36 +432,75 @@
         private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e)
         {
             toolBarMenu1.isSetBtn = false;
-            string djlx = txt_billType.Text.ToString();
-            string FNote = txt_returnReason.Text.ToString();
-            string _sqGuid = txt_salesOrderId.GetId();
-            string ckId = txt_fstockid.GetId();
-            if (string.IsNullOrEmpty(_sqGuid))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨閿�鍞鍗曪紒");
-                txt_salesOrderId.Focus();
-                return;
-            }
+            string _djlx = txt_billType.Text.ToString();
+            string _FNote = txt_returnReason.Text.ToString();
+            string _ckId = txt_fstockid.GetId();
+            int _FIsLink = txt_fHasLinkRad.SelectedIndex;
+            //涓嬮潰鏄棤婧愬崟鐢ㄥ埌鐨�
+            string _salesOrg = txt_salesOrg.GetId();
+            string _inventoryOrg = txt_inventoryOrg.GetId();
+            string _returnCustomer = txt_returnCustomer.GetId().ToString();
+            string _salesDept = txt_salesDept.GetId();
             if (txt_billType.SelectedIndex < 0)
             {
                 Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨鍗曟嵁绫诲瀷锛�");
                 txt_billType.Focus();
                 return;
             }
-            if (string.IsNullOrEmpty(ckId))
+            if (_FIsLink < 0)
+            {
+                Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨婧愬崟绫诲瀷锛�");
+                txt_fHasLinkRad.Focus();
+                return;
+            }
+            if (string.IsNullOrEmpty(_salesOrg))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨閿�鍞粍缁囷紒");
+                txt_salesOrg.Focus();
+                return;
+            }
+            if (string.IsNullOrEmpty(_returnCustomer))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨瀹㈡埛锛�");
+                txt_returnCustomer.Focus();
+                return;
+            }
+            if (string.IsNullOrEmpty(_ckId))
             {
                 Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨浠撳簱锛�");
                 txt_fstockid.Focus();
                 return;
             }
+            //杩欐棤婧愮被鍨嬬殑妫�楠宐eg
+             if (_FIsLink == 1)
+            {
+              
+                if (string.IsNullOrEmpty(_inventoryOrg))
+                {
+                    Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨瀛樼粍缁囷紒");
+                    txt_inventoryOrg.Focus();
+                    return;
+                }
+              
+                if (string.IsNullOrEmpty(_salesDept))
+                {
+                    Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨閮ㄩ棬锛�");
+                    txt_salesDept.Focus();
+                    return;
+                }
+            }
             var _obj = new
             {
                 guid = UtilityHelper.ToGuid(lbGuid.Text.Trim()), //涓诲缓
-                djlx = djlx,//鍗曟嵁绫诲瀷
-                salesId = _sqGuid,//閿�鍞崟鍙�
-                inRemark = FNote.Trim(),//澶囨敞
-                ckId = ckId,
+                djlx = _djlx,//鍗曟嵁绫诲瀷
+                inRemark = _FNote.Trim(),//澶囨敞
+                ckId = _ckId,
                 FIsLink = txt_fHasLinkRad.SelectedIndex,
+                //涓嬮潰鏄棤婧愮殑
+                salesOrg = _salesOrg,
+                inventoryOrg = _inventoryOrg,
+                returnCustomer = _returnCustomer,
+                salesDept = _salesDept,
                 list = new List<dynamic>(),
             };
             gvMx1.CloseEditor();
@@ -409,6 +543,7 @@
                         Bz = (row["note"].ToString()),
                         Thlx = (row["returnType"].ToString()),
                         Thrq = (row["returnDate"].ToString()),
+                        ItemId = (row["ItemId"].ToString()),
                     });
                 }
             }
@@ -652,21 +787,7 @@
                 MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
             }
         }
-        private void repositoryItemSearchLookUpEdit1_EditValueChanged(object sender, EventArgs e)
-        {
-            SearchLookUpEdit LookupEdit = sender as SearchLookUpEdit;
-            DataRowView SelectedDataRow = (DataRowView)LookupEdit.GetSelectedDataRow();
-            gvMx1.SetFocusedRowCellValue("itemNo", SelectedDataRow["itemNo"].ToString());
-            gvMx1.SetFocusedRowCellValue("itemName", SelectedDataRow["itemName"].ToString());
-            gvMx1.SetFocusedRowCellValue("itemModel", SelectedDataRow["itemModel"].ToString());
-            gvMx1.SetFocusedRowCellValue("itemId", SelectedDataRow["itemId"].ToString());
-            //gvMx1.SetFocusedRowCellValue("itemUnit", SelectedDataRow["dwName"].ToString());
-            gvMx1.SetFocusedRowCellValue("salesQuantity", SelectedDataRow["fhSl"].ToString());
-            gvMx1.SetFocusedRowCellValue("deliveDetailGuid", SelectedDataRow["ckmxGuid"].ToString());
-            gvMx1.CloseEditor();
-            gvMx1.PostEditor();
-            gvMx1.UpdateCurrentRow();
-        }
+       
         /// <summary>
         /// 绉诲嚭鏄庣粏
         /// </summary>
@@ -742,5 +863,23 @@
                 txt_iCount_1.Text = "";
             }
         }
+
+
+        private void setSrm()
+        {
+            int ddd = txt_fHasLinkRad.SelectedIndex;
+            if (ddd == 0)
+            {
+                layItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+                layItem4.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+            }
+            else
+            {
+                layItem3.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+                layItem4.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+
+               
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3