From ccc1b0d541d8f3bdd2bcb72dd0b5533e68b886d5 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期一, 09 六月 2025 09:53:37 +0800
Subject: [PATCH] 采购明细报表

---
 DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs |  367 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 328 insertions(+), 39 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs
index a111ee1..dd6eb1e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs
@@ -1,9 +1,14 @@
-锘縰sing Gs.DevApp.Entity;
+锘縰sing DevExpress.XtraGrid.Columns;
+using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
+using System.Collections.Generic;
 using System.Data;
+using System.Dynamic;
+using System.IO;
+using System.Text;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.Work
@@ -11,57 +16,187 @@
     public partial class Frm_Work01 : DevExpress.XtraEditors.XtraForm
     {
         string _webServiceName = "WorkCollect/";
-        string fGx = "";
-        string fBc = "";
+        string dianJianPath = "";//鐢垫鍙栧�艰矾寰�
         string goodTag = "鈭�";
         string badTag = "脳";
-        public Frm_Work01(string _fGx, string _fBc)
-        {
-            InitializeComponent();
-            this.fGx = _fGx;
-            this.fBc = _fBc;
-            this.Text = "宸ュ簭閲囬泦 - " + fGx + " - " + fBc;
-            txt_gx.Text = fGx;
-            txt_bc.Text = fBc;
-            txt_barCode.KeyDown += (s, e) =>
-            {
-                if (e.KeyCode == Keys.Enter) { getModel("", goodTag); };
-            };
-            btnGood.Click += (s, e) =>
-            {
-                getModel("", goodTag);
-            };
-            btnBad.Click += (s, e) =>
-            {
-                getModel("", badTag);
-            };
-        }
+        string fGxTouRu = "G001:鎶曞叆";
+        string fGxDianJian = "G002:鐢垫";
+        string fGxShouJian = "G003:姘存";
+        string fGxZhongJian = "G004:缁堟";
 
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="_checkVal">妫�娴嬪��</param>
-        /// <param name="_checkResult">妫�娴嬬粨鏋�</param>
-        private void getModel(string _checkVal, string _checkResult)
+        /// <param name="_fGx">宸ュ簭</param>
+        /// <param name="_fBc">鐝</param>
+        /// <param name="_strinOther">鐩墠涓虹數妫�璺緞</param>
+        public Frm_Work01(string _fGx, string _fBc, string _strinOther)
+        {
+            InitializeComponent();
+            txt_gx.Text = _fGx;
+            txt_bc.Text = _fBc;
+            txt_dianJianPath.Text = _strinOther;
+            dianJianPath= _strinOther;
+            this.Text = "宸ュ簭閲囬泦銆�" + _fGx + " - " + _fBc + "銆�";
+            addColumn();
+            txt_barCode.KeyDown += (s, e) =>
+            {
+                if (e.KeyCode == Keys.Enter) { addModel(goodTag); };
+            };
+            btnGood.Click += (s, e) =>
+            {
+                addModel(goodTag);
+            };
+            btnBad.Click += (s, e) =>
+            {
+                UcDictionarySelect frm = new UcDictionarySelect("宸ュ簭涓嶈壇鎻忚堪", " a.s_type='宸ュ簭涓嶈壇鎻忚堪' and pid<>'00000000-0000-0000-0000-000000000000'");
+                frm.UpdateParent += (ss, ee) =>
+                {
+                    System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
+                    var lst = ee.DynamicList;
+                    foreach (dynamic dym in lst)
+                    {
+                        if (stringBuilder.Length > 0)
+                            stringBuilder.Append("|");
+                        stringBuilder.Append(dym.dicTxt);
+                    }
+                    string _txt = stringBuilder.ToString();
+                    if (string.IsNullOrEmpty(_txt))
+                    {
+                        Toast vm = new Toast(-1, "~褰撲负涓嶈壇鏃讹紝璇烽�夋嫨涓嶈壇椤圭洰~");
+                        vm.Show();
+                    }
+                    else
+                        addModel(badTag, _txt);
+                };
+                frm.ShowDialog();
+            };
+        }
+
+        /// <summary>
+        /// 鏍规嵁宸ュ簭锛屾瀯閫犱笉鍚岀被鍨嬬殑瀹炰綋
+        /// </summary>
+        /// <param name="_barCode">鏉$爜</param>
+        /// <param name="_checkResult">缁撴灉</param>
+        /// <param name="_badDescription">涓嶈壇鎻忚堪</param>
+        /// <returns></returns>
+        private dynamic getObj(string _barCode, string _checkResult, string _badDescription = "")
+        {
+            dynamic _obj = new ExpandoObject();
+            _obj.barCode = _barCode;
+            _obj.checkResult = _checkResult;//妫�娴嬬粨鏋�
+            _obj.processNo = txt_gx.Text.Trim();//宸ュ簭
+            _obj.banCi = txt_bc.Text.Trim();//鐝
+            _obj.gongWei = txt_gw.Text.Trim();//宸ヤ綅
+            _obj.badDescription = _badDescription.Trim();//涓嶈壇鎻忚堪
+            if (txt_gx.Text.Trim() == fGxTouRu)
+            {
+                return _obj;
+            }
+            if (txt_gx.Text.Trim() == fGxDianJian)
+            {
+                string TM = "";
+                string JD = "";
+                string JY = "";
+                string JN = "";
+                string XL = "";
+                string GV = "";
+                string JDV = "";
+                string JYV = "";
+                string JNV = "";
+                string XLV = "";
+                string GVV = "";
+                string myStr = File.ReadAllText(dianJianPath, Encoding.Default);
+                if (myStr == "")
+                {
+                    return null;
+                }
+               
+                JArray dsTemp = JArray.Parse(myStr);
+                foreach (var ss in dsTemp)  //鏌ユ壘鏌愪釜瀛楁涓庡��
+                {
+                    TM = (((JObject)ss)["TiaoMa"] == null) ? "" : ((JObject)ss)["TiaoMa"].ToString();
+                    JD = (((JObject)ss)["JieDi"] == null) ? "" : ((JObject)ss)["JieDi"]["state"].ToString();
+                    JY = (((JObject)ss)["JueYuan"] == null) ? "" : ((JObject)ss)["JueYuan"]["state"].ToString();
+                    JN = (((JObject)ss)["JiaoNai"] == null) ? "" : ((JObject)ss)["JiaoNai"]["state"].ToString();
+                    XL = (((JObject)ss)["XieLou"] == null) ? "" : ((JObject)ss)["XieLou"]["state"].ToString();
+                    GV = (((JObject)ss)["GongLv"] == null) ? "" : ((JObject)ss)["GongLv"]["state"].ToString();
+                    JDV = (((JObject)ss)["JieDi"] == null) ? "" : ((JObject)ss)["JieDi"]["value"].ToString().Replace(" ", ",");
+                    JYV = (((JObject)ss)["JueYuan"] == null) ? "" : ((JObject)ss)["JueYuan"]["value"].ToString().Replace(" ", ", ");
+                    JNV = (((JObject)ss)["JiaoNai"] == null) ? "" : ((JObject)ss)["JiaoNai"]["value"].ToString().Replace(" ", ", ");
+                    XLV = (((JObject)ss)["XieLou"] == null) ? "" : ((JObject)ss)["XieLou"]["value"].ToString().Replace(" ", ", ");
+                    GVV = (((JObject)ss)["GongLv"] == null) ? "" : ((JObject)ss)["GongLv"]["value"].ToString().Replace(" ", ", ");
+                }
+                _obj.t001 = TM;
+                _obj.t002 = JD;
+                _obj.t003 = JY;
+                _obj.t004 = JN;
+                _obj.t005 = XL;
+                _obj.t006 = GV;
+                _obj.t007 = JDV;
+                _obj.t008 = JYV;
+                _obj.t009 = JNV;
+                _obj.t010 = XLV;
+                _obj.t011 = GVV;
+              //  File.WriteAllText(dianJianPath, "");
+                return _obj;
+            }
+
+            if (txt_gx.Text.Trim() == fGxShouJian)
+            {
+                string strCsl1 = "strCsl1";
+                string strSw1 = "strSw1";
+                string strCsl2 = "strCsl2";
+                string strSw2 = "strSw2";
+                string strCsl3 = "strCsl3";
+                string strSw3 = "strSw3";
+                string strCsl4 = "strCsl4";
+                string strSw4 = "strSw4";
+                string strCsl5 = "strCsl5";
+                string strSw5 = "strSw5";
+                string SJJG = "";
+                _obj.t002 = strCsl1;
+                _obj.t003 = strSw1;
+                _obj.t004 = strCsl2;
+                _obj.t005 = strSw2;
+                _obj.t006 = strCsl3;
+                _obj.t007 = strSw3;
+                _obj.t008 = strCsl4;
+                _obj.t009 = strSw4;
+                _obj.t010 = strCsl5;
+                _obj.t011 = strSw5;
+                // _obj.t012 = SJJG;杩欎釜寰呯‘瀹�
+                return _obj;
+            }
+
+            if (txt_gx.Text.Trim() == fGxZhongJian)
+            {
+                return _obj;
+            }
+            return null;
+        }
+
+        /// <summary>
+        /// 涓婃姤瀹炰綋
+        /// </summary>
+        /// <param name="_checkResult">缁撴灉锛氣垰</param>
+        /// <param name="_badDescription">涓嶈壇鎻忚堪</param>
+        private void addModel(string _checkResult, string _badDescription = "")
         {
             string _barCode = txt_barCode.Text.Trim();
-            string _inBz = ""; ; //澶囨敞
             if (string.IsNullOrEmpty(_barCode))
             {
                 Toast vm = new Toast(-1, "~璇峰厛鎵拷婧爜~");
                 vm.Show();
                 return;
             }
-            var _obj = new
+            dynamic _obj = getObj(_barCode, _checkResult, _badDescription);
+            if (_obj == null)
             {
-                barCode = _barCode,
-                inBz = _inBz,
-                checkVal = _checkVal,
-                checkResult = _checkResult,
-                processNo = txt_gx.Text.Trim(),//宸ュ簭
-                banCi = txt_bc.Text.Trim(),//鐝
-                gongWei = txt_gw.Text.Trim(),//宸ヤ綅
-            };
+                Toast vm = new Toast(-1, "~璇诲彇鏁版嵁澶辫触锛岃妫�鏌ヨ澶噡");
+                vm.Show();
+                return;
+            }
             try
             {
                 string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
@@ -69,12 +204,14 @@
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
+                    //琛ㄥご鍜屾眹鎬�
                     UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, false);
                     lbSum1.Text = dy.lbSum1;
                     lbSum2.Text = dy.lbSum2;
                     lbSum3.Text = dy.lbSum3;
                     lbSum4.Text = dy.lbSum4;
                     prog1.Position = dy.jd;
+                    //鑹搧鍒楄〃
                     txt_barCode.ReadOnly = false;
                     JObject _job = JObject.Parse(strJson);
                     JArray array = new JArray();
@@ -95,6 +232,7 @@
                     {
                         Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
                     }
+                    //涓嶈壇鍝佸垪琛�
                     JArray array2 = new JArray();
                     foreach (var a in _job["rtnData"]["list2"])
                     {
@@ -116,7 +254,6 @@
                     string _msg = _rtn.rtnMsg;
                     if (!string.IsNullOrEmpty(_msg))
                     {
-
                         Toast vm = new Toast((goodTag == "鈭�" ? 1 : -1), _msg);
                         vm.Show();
                     };
@@ -126,7 +263,6 @@
                     Toast vm = new Toast(-1, _rtn.rtnMsg);
                     vm.Show();
                 }
-
             }
             catch (Exception ex)
             {
@@ -134,5 +270,158 @@
                 vm.Show();
             }
         }
+
+        /// <summary>
+        /// 澧炲姞鐢垫鍙栨暟鐨勫垪
+        /// </summary>
+        public void addColumn()
+        {
+            List<dynamic> _lst = new List<dynamic>();
+            if (txt_gx.Text.Trim() == fGxDianJian)
+            {
+                _lst.Add(new
+                {
+                    ziduan = "t002",
+                    wenben = "鎺ュ湴",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t004",
+                    wenben = "浜よ��",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t005",
+                    wenben = "娉勬紡",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t006",
+                    wenben = "鍔熺巼",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t007",
+                    wenben = "鎺ュ湴缁撴灉",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t009",
+                    wenben = "浜よ�愮粨鏋�",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t010",
+                    wenben = "娉勬紡缁撴灉",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+
+                _lst.Add(new
+                {
+                    ziduan = "t011",
+                    wenben = "鍔熺巼缁撴灉",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+            }
+            if (txt_gx.Text.Trim() == fGxShouJian)
+            {
+                _lst.Add(new
+                {
+                    ziduan = "t002",
+                    wenben = "鍑烘按閲�1",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t003",
+                    wenben = "姘存俯1",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t004",
+                    wenben = "鍑烘按閲�2",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t005",
+                    wenben = "姘存俯2",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t006",
+                    wenben = "鍑烘按閲�3",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t007",
+                    wenben = "姘存俯3",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t008",
+                    wenben = "鍑烘按閲�4",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t009",
+                    wenben = "姘存俯4",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+
+                _lst.Add(new
+                {
+                    ziduan = "t010",
+                    wenben = "鍑烘按閲�5",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+                _lst.Add(new
+                {
+                    ziduan = "t011",
+                    wenben = "姘存俯5",
+                    kejian = true,
+                    visibleIndex = 1,
+                });
+            }
+            foreach (var item in _lst)
+            {
+                GridColumn newColumn = new GridColumn();
+                newColumn.FieldName = item.ziduan; // 璁剧疆涓庢暟鎹簮瀵瑰簲鐨勫瓧娈靛悕
+                newColumn.Caption = item.wenben; // 璁剧疆鍒楃殑鏍囬
+                                                 //newColumn.Visible = item.visibleIndex; // 璁剧疆鍒楁槸鍚﹀彲瑙�
+                newColumn.VisibleIndex = item.visibleIndex; // 璁剧疆鍒楃殑鏄剧ず椤哄簭
+                gvMx1.Columns.Add(newColumn);
+            }
+        }
+
+       
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3