From 08a9d916e4178964044d827c5d0a5d9303bd6dfb Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期三, 31 七月 2024 14:05:09 +0800
Subject: [PATCH] 1

---
 WarM/条码打印/Gy_BarCodeBill_automaticallyByPLC_New.cs          |  103 +++++++
 DAL/采购管理/ClsCg_POOrderBill.cs                               |   91 ++++++
 WebAPI/Controllers/品质管理/质量报表/QC_QualityReportsController.cs |  116 ++++++++
 WebAPI/Controllers/条码管理/WEBSController.cs                   |   47 +++
 WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs         |  457 ++++++++++++++++++++++++++++++++
 WarM/条码打印/Gy_BarCodeBill_automaticallyByPLC_New.resx        |    3 
 WarM/条码打印/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs |   21 +
 7 files changed, 827 insertions(+), 11 deletions(-)

diff --git "a/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_POOrderBill.cs" "b/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_POOrderBill.cs"
index 6b112f5..d361402 100644
--- "a/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_POOrderBill.cs"
+++ "b/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_POOrderBill.cs"
@@ -309,8 +309,95 @@
                 throw (e);
             }
         }
-       
-        
+
+        //鍙戣捣瀹℃壒
+        public bool startCheckFlow(Int64 lngBillKey, Int64 HCheckFlowID_select, ref string sReturn)
+        {
+            try
+            {
+                string HBillNo = "";                //鍗曟嵁鍙�
+                string HCheckFlowID = "";           //瀹℃壒娴両D
+                string HCheckItemNowID = "";        //褰撳墠瀹℃牳椤圭洰ID
+                string HCheckItemNextID = "";       //寰呭鏍搁」鐩甀D
+
+                //鍒ゆ柇鏄惁宸茬粡鍙戣捣瀹℃壒
+                string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + this.BillType + "'";
+                DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
+                if (ds0 != null && ds0.Tables[0].Rows.Count > 0)
+                {
+                    sReturn = "鍗曟嵁宸插彂璧峰鎵癸紝涓嶅彲閲嶅瀹℃壒锛�";
+                    return false;
+                }
+
+                //鑾峰彇鍗曟嵁鏁版嵁
+                string sql = "select * from " + this.MvarItemKey + " where HInterID = " + lngBillKey;
+                DataSet ds = oCn.RunProcReturn(sql, this.MvarItemKey);
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍗曟嵁涓嶅瓨鍦紒";
+                    return false;
+                }
+                HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+
+                //鑾峰彇鍗曟嵁绫诲瀷瀵瑰簲鐨勯粯璁ゅ鎵规祦
+                string sql1 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
+                                "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
+                                "where a.HBillTypeID = '" + this.BillType + "' " +
+                                "and a.HInterID = " + HCheckFlowID_select + " " +
+                                "order by b.HFlowNo asc";
+                DataSet ds1 = oCn.RunProcReturn(sql1, "Xt_CheckFlowMain");
+                if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "榛樿瀹℃壒娴佷笉瀛樺湪锛�";
+                    return false;
+                }
+
+                HCheckFlowID = ds1.Tables[0].Rows[0]["HInterID"].ToString();
+                HCheckItemNowID = ds1.Tables[0].Rows[0]["HCheckItemID"].ToString();
+                if (ds1.Tables[0].Rows.Count >= 2)
+                {
+                    HCheckItemNextID = ds1.Tables[0].Rows[1]["HCheckItemID"].ToString();
+                }
+                else
+                {
+                    HCheckItemNextID = "0";
+                }
+
+                oCn.BeginTran();
+                //澧炲姞 鍗曟嵁瀹℃壒鐘舵�佽〃 鏁版嵁
+                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
+                {
+                    string sql2 = "insert into Xt_BillCheckFlowStatus" +
+                        "(HBillTypeID,HBillInterID,HBillNo,HCheckFlowID,HCheckItemID,HChecker,HCheckDate,HCheckNote) " +
+                        "values(" +
+                        "'" + this.BillType + "'," +
+                        "" + lngBillKey + "," +
+                        "'" + HBillNo + "'," +
+                        "" + ds1.Tables[0].Rows[i]["HInterID"].ToString() + "," +
+                        "" + ds1.Tables[0].Rows[i]["HCheckItemID"].ToString() + "," +
+                        "" + "''" + "," +
+                        "" + "''" + "," +
+                        "" + "''" + "" +
+                        ")";
+
+                    oCn.RunProc(sql2);
+                }
+
+                //鏇存柊涓昏〃 瀹℃壒娴� 鏁版嵁
+                string sql3 = "update " + this.MvarItemKey + " set HCheckFlowID = " + HCheckFlowID + ",HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
+                oCn.RunProc(sql3);
+
+
+                oCn.Commit();
+
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn += e.Message;
+                return false;
+            }
+        }
     }
 
 }
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
index cd8997c..53ff25e 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
@@ -13,6 +13,7 @@
 using System.Drawing.Printing;
 using System.IO;
 using System.Management;
+using System.Net.NetworkInformation;
 
 namespace WarM
 {
@@ -1017,6 +1018,12 @@
         {
             try
             {
+                if (socket != null && socket.Connected)
+                {
+                    MessageBox.Show("宸插缓绔嬭繛鎺ワ紝涓嶅彲閲嶅寤虹珛杩炴帴锛�");
+                    return;
+                }
+
                 if (grdMain.Rows.Count == 0 || grdMain.Rows[0].Cells[HMaterIDCol].Value == null || grdMain.Rows[0].Cells[HMaterIDCol].Value.ToString() == "" || grdMain.Rows[0].Cells[HMaterIDCol].Value.ToString() == "0")
                 {
                     MessageBox.Show("璇烽�夋嫨婧愬崟锛�");
@@ -1060,6 +1067,8 @@
                 Thread thread = new Thread(ReceiveMess);
                 thread.Start();
                 MessageBox.Show("杩炴帴鎴愬姛锛�");
+
+                timer3.Enabled = true;
             }
             catch (Exception ex)
             {
@@ -1093,8 +1102,8 @@
             }
             catch (Exception ex)
             {
-                MessageBox.Show("鎺ュ彛寮傚父锛屽凡鍏抽棴杩炴帴锛�" + ex.Message);
-                socket.Close();
+                //MessageBox.Show("鎺ュ彛寮傚父锛屽凡鍏抽棴杩炴帴锛�" + ex.Message);
+                //socket.Close();
             }
         }
 
@@ -1236,6 +1245,7 @@
                 if (socket.Connected)
                 {
                     socket.Close();
+                    MessageBox.Show("杩炴帴鍏抽棴鎴愬姛锛�");
                 }
                 else
                 {
@@ -1246,6 +1256,10 @@
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
+            }
+            finally
+            {
+                timer3.Enabled = false;
             }
         }
         #endregion
@@ -2353,5 +2367,90 @@
 
             }
         }
+
+
+
+        #region 鏂嚎閲嶈繛
+        private int maxRepeatConnectTimes = 5;
+        private int currentRepeatConnectTimes = 0;
+
+        #region 瀹氭椂鍣ㄦ娴嬭繛鎺ョ姸鎬併�佹柇绾块噸杩�
+        private void timer3_Tick(object sender, EventArgs e)
+        {
+            if (currentRepeatConnectTimes < maxRepeatConnectTimes)
+            {
+                //鍒ゆ柇瀹㈡埛绔槸鍚﹀彲浠ヨ闂湇鍔″櫒锛岃嫢涓嶅彲浠ヨ闂紝鍏抽棴socket杩炴帴
+                if (!getTargetInternetStatus())
+                {
+                    if (socket != null && socket.Connected)
+                    {
+                        socket.Close();
+                    }
+
+                    currentRepeatConnectTimes += 1;
+                }
+                else if (getTargetInternetStatus() && !socket.Connected)
+                {
+                    //鑻ュ鎴风鍙互璁块棶鏈嶅姟鍣紝socket閲嶆柊杩炴帴鏈嶅姟鍣�
+                    try
+                    {
+                        socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+                        IPAddress iPAddress = IPAddress.Parse(textBox_IPParams.Text);
+                        IPEndPoint point = new IPEndPoint(iPAddress, Convert.ToInt32(textBox_PortParams.Text));
+                        socket.Connect(point);
+
+                        Thread thread = new Thread(ReceiveMess);
+                        thread.Start();
+
+                        currentRepeatConnectTimes = 0;
+                    }
+                    catch (Exception ex)
+                    {
+                        currentRepeatConnectTimes += 1;
+                    }
+                }
+            }
+            else
+            {
+                timer3.Enabled = false;
+                currentRepeatConnectTimes = 0;
+                MessageBox.Show("杩炴帴宸叉柇寮�锛岃閲嶆柊杩炴帴锛�!");
+            }
+        }
+        #endregion
+
+        #region 鑾峰彇鐩爣璁惧缃戠粶杩炴帴鐘舵��
+        private bool getTargetInternetStatus()
+        {
+            try
+            {
+                string targetIp = textBox_IPParams.Text; // 鏇挎崲涓虹洰鏍囩數鑴戠殑IP鍦板潃
+                Ping pingSender = new Ping();
+                PingOptions options = new PingOptions();
+                // 浣跨敤64瀛楄妭鐨勬暟鎹寘锛屸�屼綘鍙互鏍规嵁闇�瑕佽皟鏁磋繖涓��
+                string data = "Hello from Ping!";
+                byte[] buffer = Encoding.ASCII.GetBytes(data);
+                int timeout = 1200; // 瓒呮椂鏃堕棿锛屸�屽崟浣嶄负姣
+                PingReply reply = pingSender.Send(targetIp, timeout, buffer, options);
+
+                if (reply.Status == IPStatus.Success)
+                {
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+            catch (Exception ex)
+            {
+                return false;
+            }
+
+        }
+        #endregion
+        #endregion
+
+        
     }
 }
\ No newline at end of file
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs"
index cc005aa..6cf2200 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs"
@@ -147,6 +147,7 @@
             this.printDialog1 = new System.Windows.Forms.PrintDialog();
             this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog();
             this.timer2 = new System.Windows.Forms.Timer(this.components);
+            this.timer3 = new System.Windows.Forms.Timer(this.components);
             this.Tool.SuspendLayout();
             this.P1.SuspendLayout();
             this.tabControl_MainInfo.SuspendLayout();
@@ -887,7 +888,7 @@
             this.tabPage_ParamsInfo.Location = new System.Drawing.Point(4, 28);
             this.tabPage_ParamsInfo.Name = "tabPage_ParamsInfo";
             this.tabPage_ParamsInfo.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage_ParamsInfo.Size = new System.Drawing.Size(1387, 314);
+            this.tabPage_ParamsInfo.Size = new System.Drawing.Size(1786, 314);
             this.tabPage_ParamsInfo.TabIndex = 1;
             this.tabPage_ParamsInfo.Text = "閰嶇疆淇℃伅";
             // 
@@ -1343,7 +1344,7 @@
             this.tabPage3.Location = new System.Drawing.Point(4, 5);
             this.tabPage3.Margin = new System.Windows.Forms.Padding(4);
             this.tabPage3.Name = "tabPage3";
-            this.tabPage3.Size = new System.Drawing.Size(1398, 288);
+            this.tabPage3.Size = new System.Drawing.Size(1796, 288);
             this.tabPage3.TabIndex = 2;
             this.tabPage3.Text = "妗f鍒楄〃";
             this.tabPage3.UseVisualStyleBackColor = true;
@@ -1363,7 +1364,7 @@
             this.grdList.ReadOnly = true;
             this.grdList.RowHeadersWidth = 30;
             this.grdList.RowTemplate.Height = 23;
-            this.grdList.Size = new System.Drawing.Size(1398, 288);
+            this.grdList.Size = new System.Drawing.Size(1796, 288);
             this.grdList.TabIndex = 46;
             // 
             // tabPage2
@@ -1373,7 +1374,7 @@
             this.tabPage2.Margin = new System.Windows.Forms.Padding(4);
             this.tabPage2.Name = "tabPage2";
             this.tabPage2.Padding = new System.Windows.Forms.Padding(4);
-            this.tabPage2.Size = new System.Drawing.Size(1398, 288);
+            this.tabPage2.Size = new System.Drawing.Size(1796, 288);
             this.tabPage2.TabIndex = 1;
             this.tabPage2.Text = "鏉$爜淇℃伅";
             this.tabPage2.UseVisualStyleBackColor = true;
@@ -1393,7 +1394,7 @@
             this.grdSub.ReadOnly = true;
             this.grdSub.RowHeadersWidth = 30;
             this.grdSub.RowTemplate.Height = 23;
-            this.grdSub.Size = new System.Drawing.Size(1390, 280);
+            this.grdSub.Size = new System.Drawing.Size(1788, 280);
             this.grdSub.TabIndex = 45;
             // 
             // tabPage1
@@ -1449,7 +1450,7 @@
             this.tabPage4.Location = new System.Drawing.Point(4, 5);
             this.tabPage4.Name = "tabPage4";
             this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage4.Size = new System.Drawing.Size(1398, 288);
+            this.tabPage4.Size = new System.Drawing.Size(1796, 288);
             this.tabPage4.TabIndex = 3;
             this.tabPage4.Text = "宸ュ崟鏉$爜";
             this.tabPage4.UseVisualStyleBackColor = true;
@@ -1469,7 +1470,7 @@
             this.grdBillBarCodeList.ReadOnly = true;
             this.grdBillBarCodeList.RowHeadersWidth = 30;
             this.grdBillBarCodeList.RowTemplate.Height = 23;
-            this.grdBillBarCodeList.Size = new System.Drawing.Size(1392, 282);
+            this.grdBillBarCodeList.Size = new System.Drawing.Size(1790, 282);
             this.grdBillBarCodeList.TabIndex = 47;
             // 
             // pageSetupDialog1
@@ -1496,6 +1497,11 @@
             // 
             this.timer2.Enabled = true;
             this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
+            // 
+            // timer3
+            // 
+            this.timer3.Interval = 5000;
+            this.timer3.Tick += new System.EventHandler(this.timer3_Tick);
             // 
             // Gy_BarCodeBill_automaticallyByPLC_New
             // 
@@ -1669,5 +1675,6 @@
         private System.Windows.Forms.PrintDialog printDialog1;
         private System.Windows.Forms.PrintPreviewDialog printPreviewDialog1;
         private System.Windows.Forms.Timer timer2;
+        private System.Windows.Forms.Timer timer3;
     }
 }
\ No newline at end of file
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx"
index e5abdc0..081423d 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx"
@@ -760,6 +760,9 @@
   <metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>1058, 17</value>
   </metadata>
+  <metadata name="timer3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>1177, 17</value>
+  </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>64</value>
   </metadata>
diff --git a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
index 55612c9..d2606ac 100644
--- a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
@@ -2398,6 +2398,463 @@
         }
 
         #endregion
+
+        #region 閲囪喘璁㈠崟 鍙戣捣瀹℃壒
+        [Route("Cg_POOrderBill/StartCheckFlow_POOrderBill")]
+        [HttpGet]
+        public object StartCheckFlow_POOrderBill(int HInterID, int HCheckFlowID_select, string CurUserName)
+        {
+            string ModRightNameCheck = "Cg_POOrderBill_Check";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                ////瀹℃牳鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill();                              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //鍙戣捣瀹℃壒
+                if (oBill.startCheckFlow(lngBillKey, HCheckFlowID_select, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙戣捣瀹℃壒鎴愬姛";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍙戣捣瀹℃壒澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘璁㈠崟 澶氱骇 瀹℃牳/鍙嶅鏍�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Cg_POOrderBill/AuditXs_POOrderBill_Flow")]
+        [HttpGet]
+        public object AuditXs_POOrderBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID)
+        {
+            //string ModRightNameCheck = "Cg_POOrderBill_Check";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                ////瀹℃牳鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill();                              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        //鍒ゆ柇鏄惁宸茬粡鍙戣捣瀹℃壒
+                        string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "'";
+                        DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
+                        if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍗曟嵁鏈彂璧峰鎵癸紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //鍒ゆ柇鍗曟嵁褰撳墠鐘舵��
+                        if (oBill.omodel.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍗曟嵁宸插畬鎴愬鏍�!涓嶈兘缁х画瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        //鍒ゆ柇鏄惁瀛樺湪瀹℃牳杩囩殑椤圭洰
+                        string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "' and ISNULL(HChecker,'') <> ''";
+                        DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
+                        if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍗曟嵁涓嶅瓨鍦ㄥ凡缁忓鏍哥殑椤圭洰锛侊紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                oCN.BeginTran();
+                //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
+                {
+                    #region 瀹℃牳鍓嶇殑鐩稿叧鍒ゆ柇
+                    //瀹℃牳鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Cg_POOrderBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Cg_POOrderBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+                    #endregion
+
+                    //鑾峰彇褰撳墠瀹℃牳椤圭洰
+                    string sql0 = "select * from " + oBill.MvarItemKey + " where HInterID = " + lngBillKey;
+                    DataSet ds0 = oCN.RunProcReturn(sql0, oBill.MvarItemKey);
+                    string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //瀹℃壒娴佸唴鐮�
+                    string HCheckItemNowID = ds0.Tables[0].Rows[0]["HCheckItemNowID"].ToString();       //褰撳墠瀹℃壒椤圭洰鍐呯爜
+                    string HCheckItemNextID = ds0.Tables[0].Rows[0]["HCheckItemNextID"].ToString();     //寰呭鎵归」鐩唴鐮�
+
+                    //鍒ゆ柇鐢ㄦ埛鏄惁鏈夋潈闄� 瀹℃壒 褰撳墠瀹℃壒娴佺殑瀹℃壒椤圭洰
+                    //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
+                    string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
+                    DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight");
+                    if (ds01.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鐢ㄦ埛鏃犲綋鍓嶅鏍搁」鐩殑瀹℃牳鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    //鏇存柊 鍗曟嵁瀹℃壒鐘舵�佽〃 涓搴斿鏍搁」鐩殑瀹℃牳鐘舵��
+                    string sql02 = "update Xt_BillCheckFlowStatus set HChecker='" + CurUserName + "',HCheckDate=getdate() where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
+                    oCN.RunProc(sql02);
+
+                    //鍒ゆ柇褰撳墠瀹℃牳椤圭洰鏄惁鏄渶鍚庝竴涓」鐩紝濡傛灉鏄紝瀹℃牳鍚庡弽鍐欏崟鎹殑鍗曟嵁鐘舵�併�傚鏋滀笉鏄紝鑾峰彇涓嬩竴涓鏍搁」鐩苟鏇存柊鍒伴攢鍞鍗曚富琛�
+                    if (HCheckItemNextID != "0")                //鍒氬垰瀹℃牳鐨勫鏍搁」鐩笉鏄渶鍚庝竴涓鏍搁」鐩�
+                    {
+                        string sql03 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
+                                "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
+                                "where a.HBillTypeID = '" + oBill.BillType + "' " +
+                                "and a.HInterID = " + HCheckFlowID + " " +
+                                "order by b.HFlowNo asc";
+                        DataSet ds03 = oCN.RunProcReturn(sql03, "Xt_CheckFlowMain");
+
+                        //鑾峰彇鏂扮殑褰撳墠瀹℃牳椤圭洰鍜屽緟瀹℃牳椤圭洰
+                        for (int i = 0; i < ds03.Tables[0].Rows.Count; i++)
+                        {
+                            if (ds03.Tables[0].Rows[i]["HCheckItemID"].ToString() == HCheckItemNextID)
+                            {
+                                HCheckItemNowID = HCheckItemNextID;
+                            }
+                            else if (HCheckItemNowID == HCheckItemNextID)
+                            {
+                                HCheckItemNextID = ds03.Tables[0].Rows[i]["HCheckItemID"].ToString();
+                                break;
+                            }
+                        }
+                        //鏂扮殑褰撳墠瀹℃牳椤圭洰涓烘渶鍚庝竴涓鏍搁」鐩紝寰呭鏍搁」鐩笉瀛樺湪锛岃涓洪粯璁ゅ��"0"
+                        if (HCheckItemNowID == HCheckItemNextID)
+                        {
+                            HCheckItemNextID = "0";
+                        }
+
+                        //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁
+                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
+                        oCN.RunProc(sql04);
+
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                    }
+                    else                                                                //鍒氬垰瀹℃牳鐨勫鏍搁」鐩槸鏈�鍚庝竴涓鏍搁」鐩�
+                    {
+                        //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁
+                        HCheckItemNowID = "0";
+                        HCheckItemNextID = "0";
+
+                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
+                        oCN.RunProc(sql04);
+
+                        //鏇存柊鍗曟嵁鐨勫崟鎹姸鎬�
+                        if (oBill.CheckBill(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳鎴愬姛";
+                            objJsonResult.data = null;
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+
+                            oCN.RollBack();
+                            return objJsonResult;
+                        }
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
+                {
+                    #region 鍙嶅鏍稿墠鐨勭浉鍏冲垽鏂�
+                    //鍙嶅鏍稿墠鎺у埗=========================================
+                    DataSet ds = oCN.RunProcReturn("Exec h_p_Cg_POOrderBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Cg_POOrderBill_BeforeUnCheckCtrl");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+                    #endregion
+
+                    //鑾峰彇闇�瑕佸弽瀹℃牳鐨勫鏍搁」鐩�
+                    string sql0 = "select c.* from Xt_CheckFlowMain as a " +
+                                  "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
+                                  "inner join Xt_BillCheckFlowStatus as c on a.HBillTypeID = c.HBillTypeID and b.HCheckItemID = c.HCheckItemID " +
+                                  "where c.HBillTypeID = '" + oBill.BillType + "' and c.HBillInterID = " + lngBillKey + " " +
+                                  "order by b.HFlowNo asc";
+                    DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
+                    if (ds0 == null || ds0.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鏈彂璧峰鎵癸紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //瀹℃壒娴佸唴鐮�
+                    string HCheckItemNowID = "0";       //褰撳墠瀹℃壒椤圭洰鍐呯爜
+                    string HCheckItemNextID = "0";     //寰呭鎵归」鐩唴鐮�
+                    if (oBill.omodel.HBillStatus <= 1)
+                    {
+                        for (int i = 0; i < ds0.Tables[0].Rows.Count; i++)
+                        {
+                            if (ds0.Tables[0].Rows[i]["HChecker"].ToString() != "")
+                            {
+                                HCheckItemNowID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
+                                HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
+                            }
+                            else
+                            {
+                                HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
+                                break;
+                            }
+                        }
+                        if (HCheckItemNowID == HCheckItemNextID)
+                        {
+                            HCheckItemNextID = "0";
+                        }
+                    }
+                    else
+                    {
+                        HCheckItemNowID = ds0.Tables[0].Rows[ds0.Tables[0].Rows.Count - 1]["HCheckItemID"].ToString();
+                        HCheckItemNextID = "0";
+                    }
+
+                    //鍒ゆ柇鐢ㄦ埛鏄惁鏈夋潈闄� 瀹℃壒 褰撳墠瀹℃壒娴佺殑瀹℃壒椤圭洰
+                    //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
+                    string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
+                    DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight");
+                    if (ds01.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鐢ㄦ埛鏃犲綋鍓嶅鏍搁」鐩殑瀹℃牳鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+
+                    //鏇存柊 鍗曟嵁瀹℃壒鐘舵�佽〃 涓搴斿鏍搁」鐩殑瀹℃牳鐘舵��
+                    string sql02 = "update Xt_BillCheckFlowStatus set HChecker='',HCheckDate='' where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
+                    oCN.RunProc(sql02);
+
+                    //鍒ゆ柇鍙嶅鏍哥殑鍗曟嵁鏄惁宸茬粡瀹℃牳瀹屾垚锛岃嫢瀹℃牳瀹屾垚锛屽弽瀹℃牳闇�瑕佸彉鏇村崟鎹姸鎬併��
+                    if (oBill.omodel.HBillStatus <= 1)
+                    {
+                        //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁
+                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
+                        oCN.RunProc(sql04);
+
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                    }
+                    else
+                    {
+                        //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁
+                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
+                        oCN.RunProc(sql04);
+
+                        //鍙嶅鏍告彁浜bandonCheck
+                        if (oBill.AbandonCheck(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                            objJsonResult.data = null;
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+
+                            oCN.RollBack();
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+
+                oCN.RollBack();
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs" "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs"
index 11a42a3..a860d62 100644
--- "a/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs"
+++ "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs"
@@ -770,6 +770,122 @@
         }
         #endregion
 
+        #region 璐ㄩ噺妯″潡 鎬ц兘鎶ュ簾鍙拌处
+        /// <summary>
+        /// 杩斿洖鐩撮�氱巼鎶ヨ〃鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("QC_CustomerAppealReport/QC_PerformanceScrapLedger")]
+        [HttpGet]
+        public object QC_PerformanceScrapLedger(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (sWhere == null || sWhere == "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潯浠讹紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
+
+
+                string HBeginDate = dic["HBeginDate"].ToString();
+                string HEndDate = dic["HEndDate"].ToString();
+                string HBatchNo = dic["HBatchNo"].ToString();
+                int HMaterID = int.Parse(dic["HMaterID"].ToString());
+
+                ds = oCN.RunProcReturn("exec h_p_QC_PerformanceScrapLedger '" + HBeginDate + "','" + HEndDate + "','" + HMaterID + "','" + HBatchNo+"'", "h_p_QC_PerformanceScrapLedger");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璐ㄩ噺妯″潡 閫佹祴鐧昏鏁版嵁鍙拌处
+        /// <summary>
+        /// 杩斿洖鐩撮�氱巼鎶ヨ〃鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("QC_CustomerAppealReport/QC_RegistrationForTestingReport")]
+        [HttpGet]
+        public object QC_RegistrationForTestingReport(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (sWhere == null || sWhere == "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潯浠讹紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
+
+
+                string HBeginDate = dic["HBeginDate"].ToString();
+                string HEndDate = dic["HEndDate"].ToString();
+                string HBatchNo = dic["HBatchNo"].ToString();
+                int HMaterID = int.Parse(dic["HMaterID"].ToString());
+
+                ds = oCN.RunProcReturn("exec h_p_QC_RegistrationForTestingReport '" + HBeginDate + "','" + HEndDate + "','" + HMaterID + "','" + HBatchNo + "'", "h_p_QC_RegistrationForTestingReport");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 璐ㄩ噺妯″潡   鍒剁▼缁╂晥瓒嬪娍鍥�(涓�娆″悎鏍肩巼)  鏌ヨ
 
         [Route("QC_CustomerAppealReport/getQC_ProcessPerformanceFirstPass")]
diff --git "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
index 943febe..a95ecb2 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
@@ -8596,6 +8596,53 @@
 
         #endregion
 
+        #region 鎵爜楠岃瘉鍗� 杩斿洖琛ユ壂娓呭崟鍒楄〃
+        [Route("WEBSController/Gy_BarCodeConfirmBill_getSuppRushList")]
+        [HttpGet]
+        public object Gy_BarCodeConfirmBill_getSuppRushList(long HInterID, string HBillNo, string HBillType, long HOrgID)
+        {
+            try
+            {
+                string sql = "exec h_p_Gy_BarCodeConfirmBill_getSuppRushList " + HInterID + ",'" + HBillNo + "','" + HBillType + "'," + HOrgID;
+                ds = oCn.RunProcReturn(sql, "h_p_Gy_BarCodeConfirmBill_getSuppRushList");
+                if (ds == null || ds.Tables.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鑾峰彇鍒楄〃淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
         #region 鎵爜楠岃瘉鍗� 鍒犻櫎鎵爜璁板綍
 
         /// <summary>

--
Gitblit v1.9.1