From c2ef1e65edb97ddbd00cc130e9f4dd9d47e0252d Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期三, 07 八月 2024 16:22:40 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs |  545 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 523 insertions(+), 22 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index 98940fd..4728444 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -174,12 +174,28 @@
                     entryid_PGD = arr[1];
                 }
 
+                //鎴彇鏉$爜绫诲瀷 鍓嶄袱浣�
+                string BillNoType1 = BillNo_PGD.Substring(0, Math.Min(2, BillNo_PGD.Length));
                 //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
                 string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
                 //鎴彇鏉$爜绫诲瀷2 鍓嶅洓浣�
                 string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
                 //鎴彇鍐呯爜
                 string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
+                switch (BillNoType1)
+                {
+                    case "20"://娴佽浆鍗�
+                        string sErr = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                            {
+                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                        }
+                        break;
+                }
+
                 switch (BillNoType2)
                 {
                     case "GXLZ"://宸ュ簭娴佽浆娲惧伐
@@ -316,6 +332,82 @@
         }
         #endregion
 
+        #region 宸ュ簭杩涚珯鎵厤浠剁爜
+        [Route("Cj_StationBill/txtHBarCode_Mater_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_Mater_KeyDown(string HBarCode, string HInterID)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒ゆ柇鏉″舰鐮佹槸鍚﹀湪鏉$爜妗f涓紝鍒ゆ柇鏉″舰鐮佹槸鍚﹀悎鐞� 
+                //鍏堝垽鏂� 涓存椂琛ㄤ腑鏄惁鏈夋暟鎹紝鏉″舰鐮佺殑鐗╂枡鏄惁鍦ㄦ竻鍗曚腑锛屽啓鍏� 鎵爜璁板綍琛�
+                //寰楀埌淇℃伅
+                ds = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindBarCode   " + HInterID.ToString() + " ,'" + HBarCode + "'", "h_p_MES_StationInBillSub_BindBarCode");
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈煡璇㈠埌鏉″舰鐮佷俊鎭紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 2)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "閿欒锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                DataSet Dsplay = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindDisplay   " + HInterID.ToString() + "  ", "h_p_MES_StationInBillSub_BindDisplay");
+
+                //鍐欏叆淇℃伅
+                if (Dsplay == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒锋柊澶辫触,鏃犳暟鎹樉绀猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (Dsplay.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ユ棤鏁版嵁!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "缁戝畾鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 鎸囧紩鍗℃壂鐮佽幏鍙栦俊鎭�
         [Route("MES_SampleRecordBill_PDA/SampleRecordBillHBarCode_KeyDown")]
         [HttpGet]
@@ -349,14 +441,206 @@
                     entryid_PGD = arr[1];
                 }
 
-            
+                //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
                 //鎴彇鏉$爜绫诲瀷2 鍓嶅洓浣�
                 string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
-              
+                //鎴彇鍐呯爜
+                string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
+
+                string sErr = "";
+
                 switch (BillNoType2)
                 {
                     case "GXLX"://娴佽浆鍗�
-                        string sErr = "";
+                        
+                        string sql = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                            { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                                if (HBillType == "7505")
+                                {
+                                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill__ProcList  '" + BillNo_PGD + "'  ", "h_p_Sc_ProcessExchangeBill__ProcList");
+                                }
+                                else {
+                                    ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                                }
+                            }
+                            else
+                            {
+                                if (oSystemParameter.ShowBill(ref sErr))
+                                {
+                                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                                    {
+                                        case "宸ュ簭":
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'宸ュ簭','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "鐗╂枡":
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'鐗╂枡','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "宸ヨ壓璺嚎":
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
+                                            break;
+                                    }
+
+                                }                                
+                            }
+                        }
+                        break;
+                    case "GXJZ":
+                        //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                        string HBillNo = HBarCode.Substring(4, HBarCode.Length - 4);
+                        ds = oCN.RunProcReturn("select * from Sc_StationInBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationInBillMain");
+                        Int64 HStationInInterID = 0;
+
+                        if (ds != null || ds.Tables[0].Rows.Count > 0)
+                        {
+                            HStationInInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
+                        }                        
+
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ュ簭','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'鐗╂枡','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ヨ壓璺嚎','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    case "MO00":
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ュ簭','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'鐗╂枡','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ヨ壓璺嚎','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    default:
+                        if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                        { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鏉$爜閿欒!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            break;
+                        }                        
+                }
+
+                switch (BillNoType)
+                //寰楀埌淇℃伅
+                {
+                    case "HCX"://鐢熶骇璧勬簮鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                        break;                   
+                }
+
+                if (ds != null)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖鏁版嵁锛屾潯鐮佸墠缂�閿欒銆�";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region PDA宸ュ簭妫�楠屽崟鎵爜鑾峰彇淇℃伅
+        [Route("MES_ProcessBill_PDA/HBarCode_KeyDown")]
+        [HttpGet]
+        public object HBarCode_KeyDown(string HBarCode, string HInterID, string UserID, string HBillType)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鎷嗗垎鏉″舰鐮�
+                string sBillBarCode = HBarCode.Trim();
+                string[] NewBarCode;
+                if (sBillBarCode.CompareTo("#") > 0)
+                {
+                    NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
+                    sBillBarCode = NewBarCode[0];
+                }
+                string sBillNo = sBillBarCode; //鏉″舰鐮�
+
+                string[] arr = sBillNo.Split('&'); //浠ョ鍙封��&鈥欏垎鍓叉潯褰㈢爜
+                string BillNo_PGD = arr[0]; //鍗曟嵁鍙�
+                string entryid_PGD = "";//瀛恑d
+                if (arr.Length > 1)
+                {
+                    entryid_PGD = arr[1];
+                }
+
+                //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
+                //鎴彇鏉$爜绫诲瀷2 鍓嶅洓浣�
+                string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
+                //鎴彇鍐呯爜
+                string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
+
+                string sErr = "";
+
+                switch (BillNoType2)
+                {
+                    case "GXLX"://娴佽浆鍗�
+
+                        string sql = "";
                         if (oSystemParameter.ShowBill(ref sErr))
                         {
                             if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
@@ -365,24 +649,117 @@
                             }
                             else
                             {
-                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                                if (oSystemParameter.ShowBill(ref sErr))
+                                {
+                                    switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                                    {
+                                        case "宸ュ簭":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ュ簭','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "鐗╂枡":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'鐗╂枡','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "宸ヨ壓璺嚎":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                    }
+
+                                }
                             }
                         }
                         break;
+                    case "GXCZ":
+                        ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HBillNo = '" + HBarCode + "'", "Sc_StationOutBillMain");
+                        Int64 HStationOutInterID = 0;
+
+                        if (ds != null || ds.Tables[0].Rows.Count > 0)
+                        {
+                            HStationOutInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
+                        }
+
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ュ簭','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'鐗╂枡','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ヨ壓璺嚎','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    case "MO00":
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ュ簭','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'鐗╂枡','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ヨ壓璺嚎','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                            }
+
+                        }
+                        break;
                     default:
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鏉$爜閿欒!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                        { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鏉$爜閿欒!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            break;
+                        }
                 }
-               
-              
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
-                return objJsonResult;
+
+                switch (BillNoType)
+                //寰楀埌淇℃伅
+                {
+                    case "HCX"://鐢熶骇璧勬簮鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                        break;
+                }
+
+                if (ds != null)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖鏁版嵁锛屾潯鐮佸墠缂�閿欒銆�";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
             }
             catch (Exception e)
             {
@@ -737,7 +1114,22 @@
                     return objJsonResult;
                 }
 
-                string sql = "select * from  h_v_QC_FirstPieceCheckBillMainList where 1=1  " + sWhere + " order by 鏃ユ湡 ";
+                ds = oCN.RunProcReturn("select ManagerFlag from gy_czygl where czymc='" + user.Trim() + "'", "gy_czygl");
+                string sErr = "";
+                oSystemParameter.ShowBill(ref sErr);
+                if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴") 
+                {
+                }
+                else
+                {
+                    if (!(bool)ds.Tables[0].Rows[0]["ManagerFlag"])  //鏄惁绠$悊鍛�
+                    {
+                        //涓嶆槸绠$悊鍛�
+                        sWhere += " and 鍒跺崟浜� = '" + user + "'";
+                    }
+                }
+
+                string sql = "select * from  h_v_QC_FirstPieceCheckBillMainList where 1=1  " + sWhere ;
 
                 ds = oCN.RunProcReturn(sql, "h_v_QC_FirstPieceCheckBillMainList");
 
@@ -785,6 +1177,7 @@
                 string msg2 = "[" + sArray[0].ToString() + "]";
                 string user = sArray[1].ToString();//鐢ㄦ埛鍚�
                 string OperationType = sArray[2].ToString();//绫诲瀷
+                string msg_entry = sArray[3].ToString(); //鏄庣粏琛屼俊鎭�
 
                 //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
                 if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Edit", 1, false, user))
@@ -795,6 +1188,8 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                DAL.ClsQC_FirstPieceCheckBill BillNew = new DAL.ClsQC_FirstPieceCheckBill();
 
                 List<Model.ClsQC_FirstPieceCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillMain>>(msg2);
                 string BillType = "7505";
@@ -807,6 +1202,7 @@
                 double HPeriod = DateTime.Now.Month;
                 long HSourceID = list[0].HSourceID;//鐢熶骇璧勬簮
                 long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D
+                long HICMOEntryID = list[0].HICMOEntryID;//浠诲姟鍗曞瓙ID
                 string HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗�
                 string HProcExchBillNo = list[0].HProcExchBillNo;//鎸囧紩鍗�
                 long HMaterID = list[0].HMaterID;//浜у搧ID
@@ -814,9 +1210,78 @@
                 long HProcID = list[0].HProcID;//宸ュ簭ID
                 long HPRDORGID = list[0].HPRDORGID;//缁勭粐ID
                 bool HLastResult = list[0].HLastResult;//璇曟牱缁撹
+                long HQCSchemeID = list[0].HQCSchemeID;//妫�楠屾柟妗�
+                long HProcExchInterID = list[0].HProcExchInterID;//娴佽浆鍗D
+                long HProcExchEntryID = list[0].HProcExchEntryID;//娴佽浆鍗″瓙ID
+                string HBatchNo = list[0].HBatchNo;//娴佽浆鍗℃壒娆″彿
+                long HMainSourceInterID = list[0].HMainSourceInterID;//婧愬崟ID
+                long HMainSourceEntryID = list[0].HMainSourceEntryID;//婧愬崟瀛怚D
+                string HMainSourceBillNo = list[0].HMainSourceBillNo;//婧愬崟鍗曞彿
+                string HMainSourceBillType = list[0].HMainSourceBillType;//婧愬崟绫诲瀷
+               
+                //琛ㄤ綋鏁版嵁
+                List<Model.ClsQC_FirstPieceCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillSub>>(msg_entry);
+                for (int i = 0; i < subList.ToArray().Length; i++)
+                {
+                    if (subList.ToArray().Length >= 0)
+                    {
+                        Model.ClsQC_FirstPieceCheckBillSub oSub = new Model.ClsQC_FirstPieceCheckBillSub();
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = ClsPub.isStrNull(subList[i].HRemark);
+                        oSub.HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
+                        oSub.HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
+                        oSub.HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType);
+                        oSub.HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
+                        oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
+                        oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
+                        oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
+                        oSub.HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
+                        oSub.HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        //oSub.HProcCheckTime = HDate;
+                        //oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(mainList[0].HBillNo);
+                        //oSub.HProcCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
+                        oSub.HSampleSchemeID = DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
+                        oSub.HSampleQty = DBUtility.ClsPub.isLong(subList[i].HSampleQty);
+                        oSub.HSampleDamageQty = DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
+                        oSub.HAcceptQty = DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
+                        oSub.HRejectQty = DBUtility.ClsPub.isLong(subList[i].HRejectQty);
+                        oSub.HSampleUnRightQty = DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
+                        oSub.HStatus = DBUtility.ClsPub.isStrNull(subList[i].HStatus);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(subList[i].HUnitID);
+                        oSub.HInspectVal = DBUtility.ClsPub.isStrNull(subList[i].HInspectVal);
+                        oSub.HTargetVal = DBUtility.ClsPub.isStrNull(subList[i].HTargetVal);
+                        oSub.HUpLimit = DBUtility.ClsPub.isStrNull(subList[i].HUpLimit);
+                        oSub.HDownLimit = DBUtility.ClsPub.isStrNull(subList[i].HDownLimit);
+                        oSub.HUpOffSet = DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
+                        oSub.HDownOffSet = DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
+                        oSub.HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
+                        oSub.HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
+                        oSub.HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
+                        oSub.HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult == "True" ? 1 : 0);
+
+                        oSub.HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);//妫�楠岃褰�
+                        oSub.HMax = DBUtility.ClsPub.isStrNull(subList[i].HMax);
+                        oSub.HMin = DBUtility.ClsPub.isStrNull(subList[i].HMin);
+                        oSub.HAvg = DBUtility.ClsPub.isStrNull(subList[i].HAvg);
+
+
+
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
 
                 //鍗曟嵁瀹屾暣鎬у垽鏂�
-                if (HProcExchBillNo == "")
+                if (HProcExchBillNo == "" && HMainSourceBillNo.Substring(0, Math.Min(2, HMainSourceBillNo.Length)) != "MO" )
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -844,11 +1309,47 @@
                     }
                     oCN.RunProc("Insert Into QC_FirstPieceCheckBillMain " +
                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
-                    ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOBillNo,HProcExchBillNo" +
-                    ",HPRDORGID,HLastResult)" +
+                    ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HProcExchBillNo" +
+                    ",HPRDORGID,HLastResult,HProcID,HQCSchemeID,HBatchNo," +
+                    "HProcExchInterID,HProcExchEntryID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType)" +
                     " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" +
-                    "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" +  
-                    "," + HPRDORGID + ",'" + HLastResult + "') ");
+                    "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" +  
+                    "," + HPRDORGID + ",'" + HLastResult + "','" + HProcID + "','" + HQCSchemeID + "','" + HBatchNo + "'," +
+                    "" + HProcExchInterID + "," + HProcExchEntryID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'" + ") ");
+
+                    //鎻掑叆瀛愯〃
+                    foreach (Model.ClsQC_FirstPieceCheckBillSub oSub in BillNew.DetailColl)
+                    {
+                        string sql = "Insert into QC_FirstPieceCheckBillSub " +
+                          " (HInterID,HBillNo_bak,HEntryID" +
+                          ",HRemark,HSourceInterID" +
+                          ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                          ",HQCCheckItemID,HQCStd,HResult" +
+                          ",HStatus,HUnitID,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult," +
+                          "HQCNote,HMax,HMin,HAvg" +
+                          ") values("
+                          + HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HMainSourceInterID.ToString() +
+                          "," + HMainSourceEntryID.ToString() + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                          "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HResult + "'" +
+                          ",'" + oSub.HStatus + "'," + oSub.HUnitID + "," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" +
+                          ",'" + oSub.HQCNote + "','" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" +
+                          ")";
+
+                        oCN.RunProc("Insert into QC_FirstPieceCheckBillSub " +
+                          " (HInterID,HBillNo_bak,HEntryID" +
+                          ",HRemark,HSourceInterID" +
+                          ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                          ",HQCCheckItemID,HQCStd,HResult" +
+                          ",HStatus,HUnitID,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult," +
+                          "HQCNote,HMax,HMin,HAvg" +
+                          ") values("
+                          + HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HMainSourceInterID.ToString() +
+                          "," + HMainSourceEntryID.ToString() + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                          "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HResult + "'" +
+                          ",'" + oSub.HStatus + "'," + oSub.HUnitID + "," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" +
+                          ",'" + oSub.HQCNote + "','" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" +
+                          ") ");
+                    }
                 }
                 else
                 {

--
Gitblit v1.9.1