From 25c2291ded30737b07fb7c93e5e231cc64733d2a Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期二, 19 八月 2025 16:15:29 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/LMESController.cs | 1322 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 1,195 insertions(+), 127 deletions(-)

diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index dd8abdb..6ea0373 100644
--- a/WebAPI/Controllers/LMESController.cs
+++ b/WebAPI/Controllers/LMESController.cs
@@ -20,6 +20,11 @@
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        //鑷畾涔�34杩涘埗鏁扮粍
+        private static char[] lNCode = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
+
+
+
         /// <summary>
         /// 杩斿洖杩涚珯鎵弿鍒楄〃|宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛� 
         ///鍙傛暟锛歴tring sql銆�
@@ -192,7 +197,7 @@
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
 
 
-                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillList_Query where 1 = 1 " + sWhere + " order by 鍗曟嵁鍙� desc ", "h_v_Sc_ProcessExchangeBillList_Query");
+                ds = oCN.RunProcReturn("select top 3000 * from h_v_Sc_ProcessExchangeBillList_Query where 1 = 1 " + sWhere + " order by 鍗曟嵁鍙� desc ", "h_v_Sc_ProcessExchangeBillList_Query");
 
 
                 //娣诲姞鍒楀悕
@@ -285,6 +290,98 @@
                 else
                 {
                     ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_Query " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_Sc_ProcessExchangeBillList_Query");
+                }
+
+                //娣诲姞鍒楀悕
+                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 = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭娴佽浆鍗$淮鎶�-鏌ヨ-鍒嗛〉
+        /// <summary>
+        /// 杩斿洖宸ュ簭娴佽浆鍗$淮鎶ゅ垪琛ㄤ富琛�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("LEMS/Sc_ProcessExchangeBillList_QueryCheckRecord_byPage")]
+        [HttpGet]
+        public object Sc_ProcessExchangeBillList_QueryCheckRecord_byPage(string sWhere, string user, string Organization, int page, int size, string HBillSubType)
+        {
+            DataSet ds;
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (HBillSubType == "SUB")
+                {
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_SubQuery", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎸囧紩鍗℃棤鏌ヨ鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "娴佽浆鍗℃棤鏌ヨ鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                //鑾峰彇绯荤粺鍙傛暟
+                string Ret = "";
+                if (oSystemParameter.ShowBill(ref Ret))
+                {
+                    //鍒ゆ柇瀹㈡埛涓洪緳灞辨苯閰�
+                    if (oSystemParameter.omodel.WMS_CampanyName == "榫欏北姹介厤")
+                    {
+                        //鑾峰彇闇�瑕佹嫾鎺ョ殑瀛楃涓�
+                        string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "宸ュ簭娲惧伐鍗曞垪琛�");
+
+                        sWhere += sql_splice;
+                    }
+                }
+
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                sWhere = sWhere.Replace("'", "''");
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillCheckRecordListPage " + page + "," + size + "," + "''", "h_p_Sc_ProcessExchangeBillList_Query");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillCheckRecordListPage " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_ProcessExchangeBillList_Query");
                 }
 
                 //娣诲姞鍒楀悕
@@ -492,6 +589,7 @@
         public object MES_ProcessExchangeBillList_PG(string sWhere, string user, int OperationType)
         {
             DataSet ds;
+            string sql = "";
             try
             {
                 List<object> columnNameList = new List<object>();
@@ -505,6 +603,8 @@
                     return objJsonResult;
                 }
 
+                sql = "select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " order by hmainid desc ";
+
                 if (OperationType == 1)
                 {
                     //鑾峰彇绯荤粺鍙傛暟
@@ -517,6 +617,10 @@
                             sWhere += "  ";
 
                         }
+                        else if (oSystemParameter.omodel.WMS_CampanyName == "鍑礉濂堢壒")
+                        {
+                            sql = "select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere;
+                        }
                         else
                         {
                             sWhere += "  ";
@@ -524,7 +628,7 @@
                     }
 
                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-                    ds = oCN.RunProcReturn("select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeArrangementList_PG");
+                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeArrangementList_PG");
                 }
                 else
                 {
@@ -538,10 +642,14 @@
 
 
                         }
+                        else if (oSystemParameter.omodel.WMS_CampanyName == "鍑礉濂堢壒")
+                        {
+                            sql = "select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere;
+                        }
                     }
 
                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-                    ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere, "h_v_Sc_ProcessExchangeArrangementList_PG");
+                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeArrangementList_PG");
                 }
 
                 //娣诲姞鍒楀悕
@@ -957,7 +1065,36 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 杩斿洖宸ュ簭娴佽浆鍗$淮鎶ゅ垪琛ㄤ粠琛�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("LEMS/MES_Sc_ProcessExchangeBillQueryCheckRecordSub_Json")]
+        [HttpGet]
+        public object MES_Sc_ProcessExchangeBillQueryCheckRecordSub_Json(string sWhere, int selected)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                string sql = "exec h_p_ProcessExchangeBillCheckRecordList_GetSubBillList " +
+                    "@sWhere = N'" + sWhere + "'" + 
+                    ", @selected = N'" + selected + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_ProcessExchangeBillCheckRecordList_GetSubBillList");
+                return GetObjectJson(ds);
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -1218,14 +1355,14 @@
             {
                 List<object> columnNameList = new List<object>();
                 //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log_second("Gy_RoutingBill_Query", 1, false, user))
-                {
-                    res.code = "0";
-                    res.count = 0;
-                    res.Message = "鏃犳煡鐪嬫潈闄愶紒";
-                    res.data = null;
-                    return res;
-                }
+                //if (!DBUtility.ClsPub.Security_Log_second("Gy_RoutingBill_Query", 1, false, user))
+                //{
+                //    res.code = "0";
+                //    res.count = 0;
+                //    res.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    res.data = null;
+                //    return res;
+                //}
                 if (sWhere == null || sWhere.Equals(""))
                 {
                     ds = oCN.RunProcReturn("exec h_p_Gy_RoutingBillList " + page + "," + size + ",''", "h_p_Gy_RoutingBillList");
@@ -1601,6 +1738,16 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]);
+                //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]);
+                if (HBillStatus == "6")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
                 DataSet dss;
                 //鍒ゆ柇宸ヨ壓璺嚎鏄惁琚紩鐢�
                 dss = oCN.RunProcReturn("select COUNT(*) as number from Sc_ProcessExchangeBillMain where HRoutingBillID = " + lngBillKey, "Gy_RoutingBillMain");
@@ -1613,6 +1760,7 @@
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
+                var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                 //if (hdeleteman != "")
                 //{
                 //    objJsonResult.code = "0";
@@ -1621,11 +1769,64 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
+
+
+                //鍒犻櫎鍓嶆帶鍒�=========================================      
+                string sql1 = "exec h_p_Gy_RoutingBill_BeforeDelCtrl " + lngBillKey + ",'" + HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql1, "h_p_Gy_RoutingBill_BeforeDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); 
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //==================================================================================  
+
+
+
                 oCN.RunProc("delete from Gy_RoutingBillmain where HInterID=" + lngBillKey);
                 oCN.RunProc("delete from Gy_RoutingBillSub where HInterID=" + lngBillKey);
 
-                LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鍒犻櫎宸ヨ壓璺嚎鍗曟嵁:" + ds.Tables[0].Rows[0]["HBillNo"].ToString());
-                oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鍒犻櫎宸ヨ壓璺嚎鍗曟嵁锛�" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','LMES-宸ヨ壓璺嚎妯″潡','" + DBUtility.ClsPub.IPAddress + "','鍒犻櫎鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                //鍒犻櫎鍚庢帶鍒�==================================================================================      
+                string sql2 = "exec h_p_Gy_RoutingBill_AfterDelCtrl " + lngBillKey + ",'" + HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql2, "h_p_Gy_RoutingBill_AfterDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                 
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    oCN.RollBack();
+                    return objJsonResult;
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString();
+                    objJsonResult.data = null;
+                    oCN.RollBack();
+                    return objJsonResult;
+                }
+                //==============================================================================================
+
+
+              
+
+                LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鍒犻櫎宸ヨ壓璺嚎鍗曟嵁:" + HBillNo);
+                oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鍒犻櫎宸ヨ壓璺嚎鍗曟嵁锛�" + HBillNo + "','LMES-宸ヨ壓璺嚎妯″潡','" + DBUtility.ClsPub.IPAddress + "','鍒犻櫎鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
 
                 oCN.Commit();//鎻愪氦浜嬪姟
                 objJsonResult.code = "0";
@@ -1765,6 +1966,39 @@
             return GetObjectJson(ds);
         }
 
+        #endregion
+
+        #region  宸ヨ壓璺嚎鎵规敼灏忔椂浜ц兘
+        [Route("Gy_RoutingBill/BulkWorkQty")]
+        [HttpGet]
+        public object BulkWorkQty(string HMaterNumber1, string HMaterNumber2,string HProcID, string HWorkQty)
+        {
+            try
+            {
+                oCN.BeginTran();
+
+                string sql = $"update b set b.HWorkQty = {HWorkQty} from Gy_RoutingBillMain a left join Gy_RoutingBillSub b on a.HInterID = b.HInterID left join Gy_Material m on a.HMaterID = m.HItemID where m.HNumber between '{HMaterNumber1}' and '{HMaterNumber2}' and b.HProcID = {HProcID} and a.HCloseMan = ''";
+
+                //鎵ц鏇存柊涓婄彮宸ユ椂璇彞
+                oCN.RunProc(sql);
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵规敼鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
         #endregion
 
         #endregion
@@ -2574,7 +2808,7 @@
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
              
                 objJsonResult.data = ds.Tables[0];
                 objJsonResult.list = columnNameList;
@@ -2584,7 +2818,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -2615,7 +2849,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�";
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -2623,7 +2857,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-050]鑾峰彇淇℃伅鎴愬姛锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
@@ -2745,15 +2979,97 @@
             return CustomCorrect(ds);
         }
 
-        /// <summary>
-        /// 鎵祦杞崱鍙锋柟娉曪紙浜х嚎鍖呰鍗曘�佷骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁娴佽浆鍗″彿淇濆瓨鍒皌emp琛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #region 浜х嚎鍖呰缁勬墭鍗�
+
+
+        #region 杞崲34杩涘埗
+        public string GetNewCodeByNum(Int64 lastNum, Int64 codeNum, Int64 codeLength)
+        {
+            List<string> codeList = new List<string>();
+            var maxNum = lastNum + codeNum;
+            var lNLength = lNCode.Length;
+            for (Int64 i = lastNum; i < maxNum; i++)
+            {
+                char[] bgCode = GetNewCodeArray(codeLength);
+                var sNum = i;//鏁存暟鍊嶅垵濮嬭祴鍊�
+                for (int a = bgCode.Length - 1; a >= 0; a--)
+                {
+                    var yNum = sNum % lNLength;//璁$畻浣欐暟
+                    bgCode[a] = lNCode[yNum];//閫氳繃浣欐暟瀹氫綅鏁扮粍浣嶇疆
+                    sNum = (int)(sNum / lNLength);//璁$畻鍓╀綑鏁存暟
+                    if (sNum == 0)//鏁存暟鍊嶄负0锛屽垯璺冲嚭寰幆
+                        break;
+                }
+                //Console.WriteLine($"鐢熸垚鐮亄i}锛歿new string(bgCode)}");//鎵撳嵃鐢熸垚鐨勫簭鍒楃爜锛堟祴璇曠敤锛屾寮忕幆澧冭鍒犻櫎鎴栬�呮敞閲婏級
+                codeList.Add(new string(bgCode));
+            }
+            return codeList[0];
+        }
+
+        //搴忓垪鐮佸垵濮嬪寲
+        private char[] GetNewCodeArray(Int64 codeLength)
+        {
+            char[] bgCode = new char[codeLength];
+            for (Int64 i = 0; i < codeLength; i++)
+            {
+                bgCode[i] = '0';
+            }
+            return bgCode;
+        }
+
+        #endregion
+
+        #region 澧ㄨタ鍝ョ櫧鏍囩敓鎴愭煡璇�
+
+        //澧ㄨタ鍝ョ櫧鏍囨煡璇�
+        [Route("MES/MES_BarcodeWhiteLabelReport")]
+        [HttpGet]
+        public object MES_BarcodeWhiteLabelReport(string sWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds = oCN.RunProcReturn("SELECT top 1000 * FROM  h_v_MES_BarcodeWhiteLabelReport where 1=1 " + sWhere, "h_v_MES_BarcodeWhiteLabelReport");
+
+            }
+            catch (Exception e)
+            {
+                ds = null;
+            }
+            return CustomCorrect(ds);
+            //return ds.Tables[0].Rows;
+        }
+
+        //澧ㄨタ鍝ョ櫧鏍囩敓鎴�
+        [Route("LEMS/SaveCirculationCard_Json_MXG")]
+        [HttpGet]
+        public object SaveCirculationCard_Json_MXG(string HBillNo, string HInterID, string HBillNo2, string HBarCode,string HNumber, string HName, string HModel)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    HBarCode = " ";
+                }
+                ds = oCN.RunProcReturn("exec Save_Sc_ProcessExchangeBillMainToTmp_MXG '" + HBillNo + "','" + HInterID + "','" + HBillNo2 + "','" + HBarCode + "','" + HNumber + "','" + HName + "','" + HModel + "'", "Save_Sc_ProcessExchangeBillMainToTmp_MXG");
+
+            }
+            catch (Exception e)
+            {
+                ds = null;
+            }
+            return CustomCorrect(ds);
+        }
+
+        #endregion
+
+        #region 鎵祦杞崱鍙锋柟娉曪紙浜х嚎鍖呰鍗曘�佷骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁娴佽浆鍗″彿淇濆瓨鍒皌emp琛�
         [Route("LEMS/SaveCirculationCard_Json")]
         [HttpGet]
-        public object SaveCirculationCard_Json(string HBillNo, string HInterID, string HBillNo2, string HBarCode,
-            string HNumber, string HName, string HModel)
+        public object SaveCirculationCard_Json(string HBillNo, string HInterID, string HBillNo2, string HBarCode, string HNumber, string HName, string HModel)
         {
             DataSet ds;
             try
@@ -2778,18 +3094,15 @@
                 ds = null;
             }
             return CustomCorrect(ds);
-            //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鎵瓙浠舵潯鐮佹柟娉曪紙浜х嚎鍖呰鍗曘�佷骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁瀛愪欢鏉$爜淇濆瓨鍒皌emp琛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 鎵瓙浠舵潯鐮佹柟娉曪紙浜х嚎鍖呰鍗曘�佷骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁瀛愪欢鏉$爜淇濆瓨鍒皌emp琛�
+
         [Route("LEMS/SaveSubBarcode_Json")]
         [HttpGet]
-        public object SaveSubBarcode_Json(string HBillNo, string SubBarcode, string HInterID, string HBillNo2,
-            string HBillType, string sMaker, string HBarCode, string HNumber, string HName, string HModel)
+        public object SaveSubBarcode_Json(string HBillNo, string SubBarcode, string HInterID, string HBillNo2, string HBillType, string sMaker, string HBarCode, string HNumber, string HName, string HModel ,string HOrgID)
         {
             DataSet ds1;
             DataSet ds;
@@ -2805,13 +3118,14 @@
                     ds1 = oCN.RunProcReturn("select * from KF_PonderationBillMain_Temp where HSourceBillNo = '" + SubBarcode + "' and HBillType = '" + HBillType + "'", "KF_PonderationBillMain_Temp");
                     if (ds1.Tables[0].Rows.Count > 0)
                     {
-                        return CustomError("璇ュ瓙浠舵潯鐮佸凡瀛樺湪");
+                        return CustomError("[0000-2-039]璇ュ瓙浠舵潯鐮佸凡瀛樺湪");
                     }
                     if (HBarCode == null || HBarCode.Equals(""))
                     {
                         HBarCode = " ";
                     }
-                    ds = oCN.RunProcReturn("exec h_p_Save_SubBarcodeToTmp '" + HBillNo + "','" + SubBarcode + "','" + HInterID + "','" + HBillNo2 + "','" + HBillType + "','" + sMaker + "','" + HBarCode + "','" + HNumber + "','" + HName + "','" + HModel + "'", "h_p_Save_SubBarcodeToTmp");
+                    ds = oCN.RunProcReturn("exec h_p_Save_SubBarcodeToTmp '" + HBillNo + "','" + SubBarcode + "','" + HInterID + "','" + HBillNo2 + "','" + HBillType + "','" + sMaker + "','" + HBarCode + "','" + HNumber + "','" + HName + "','" + HModel + "','"+ HOrgID + "'", "h_p_Save_SubBarcodeToTmp");
+                    LogService.Write("ID:" + HInterID + ",娴佽浆鍗″彿:" + HBillNo + ",鍗曟嵁鍙�:" + HBillNo2 + ",鏉$爜:" + SubBarcode + ",鎵樻潯鐮�:" + HBarCode);
                 }
 
             }
@@ -2820,14 +3134,41 @@
                 ds = null;
             }
             return CustomCorrect(ds);
-            //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鏌ヨ鏉$爜妗f琛ㄩ噷鐨勯暛闆曟潯鐮佺殑鍚堣鏁伴噺鏂规硶锛堜骇绾垮寘瑁呭崟锛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        [Route("LEMS/SaveSubBarcode_Json_MXG")]
+        [HttpGet]
+        public object SaveSubBarcode_Json_MXG(string HBillNo, string SubBarcode, string HInterID, string HBillNo2, string HBillType, string sMaker, string HBarCode, string HNumber, string HName, string HModel,string HOrgID)
+        {
+            DataSet ds1;
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds1 = oCN.RunProcReturn("select * from KF_PonderationBillMain_Temp where HSourceBillNo = '" + SubBarcode + "' and HBillType = '" + HBillType + "'", "KF_PonderationBillMain_Temp");
+                if (ds1.Tables[0].Rows.Count > 0)
+                {
+                    return CustomError("璇ュ瓙浠舵潯鐮佸凡瀛樺湪");
+                }
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    HBarCode = " ";
+                }
+                ds = oCN.RunProcReturn("exec h_p_Save_SubBarcodeToTmp '" + HBillNo + "','" + SubBarcode + "','" + HInterID + "','" + HBillNo2 + "','" + HBillType + "','" + sMaker + "','" + HBarCode + "','" + HNumber + "','" + HName + "','" + HModel + "','"+ HOrgID + "'", "h_p_Save_SubBarcodeToTmp");
+
+            }
+            catch (Exception e)
+            {
+                ds = null;
+            }
+            return CustomCorrect(ds);
+        }
+
+
+        #endregion
+
+        #region 鏌ヨ鏉$爜妗f琛ㄩ噷鐨勯暛闆曟潯鐮佺殑鍚堣鏁伴噺鏂规硶锛堜骇绾垮寘瑁呭崟锛�
+
         [Route("LEMS/Select_Gy_BarCodeBill_HQty")]
         [HttpGet]
         public object Select_Gy_BarCodeBill_HQty(string HBarCode)
@@ -2854,11 +3195,10 @@
             //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鏇存柊鏉$爜妗f琛ㄩ噷鐨勯暛闆曟潯鐮佺殑鍚堣鏁伴噺鏂规硶锛堜骇绾垮寘瑁呭崟锛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 鏇存柊鏉$爜妗f琛ㄩ噷鐨勯暛闆曟潯鐮佺殑鍚堣鏁伴噺鏂规硶锛堜骇绾垮寘瑁呭崟锛�
+
         [Route("LEMS/Update_Gy_BarCodeBill_HQty")]
         [HttpGet]
         public object Update_Gy_BarCodeBill_HQty(string HBarCode, string HQty)
@@ -2873,7 +3213,7 @@
                 }
                 else
                 {
-                    ds = oCN.RunProcReturn("exec h_p_Update_Gy_BarCodeBill_HQty " + HBarCode + "," + HQty + "", "Gy_BarCodeBill");
+                    ds = oCN.RunProcReturn("exec h_p_Update_Gy_BarCodeBill_HQty " + HBarCode + "," + HQty + "", "h_p_Update_Gy_BarCodeBill_HQty");
                 }
 
             }
@@ -2881,15 +3221,13 @@
             {
                 ds = null;
             }
-            return CustomCorrect(ds);
-            //return ds.Tables[0].Rows;
+            return CustomCorrect(ds);;
         }
 
-        /// <summary>
-        /// 鏇存柊鎵爜璁板綍鍒楄〃鏂规硶锛堜骇绾垮寘瑁呭崟銆佷骇绾跨粍瑁呰拷婧崟锛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 鏇存柊鎵爜璁板綍鍒楄〃鏂规硶锛堜骇绾垮寘瑁呭崟銆佷骇绾跨粍瑁呰拷婧崟锛�
+
         [Route("LEMS/Update_HBillNo_SubBarcodeList_Json")]
         [HttpGet]
         public object Update_HBillNo_SubBarcodeList_Json(string HBillNo)
@@ -2916,48 +3254,101 @@
             //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鎻愪氦-涓昏〃鏂规硶锛堜骇绾垮寘瑁呭崟锛�--鏍规嵁娴佷紶鍗″彿浠巘emp琛ㄤ繚瀛樺埌涓昏〃
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+
+        #endregion
+
+        #region 鎻愪氦-涓昏〃鏂规硶锛堜骇绾垮寘瑁呭崟锛�--鏍规嵁娴佷紶鍗″彿浠巘emp琛ㄤ繚瀛樺埌涓昏〃
+
         [Route("LEMS/SaveToSc_PackUnionBillMain")]
         [HttpGet]
-        public object SaveToSc_PackUnionBillMain(string HBillNo, string HRemark)
+        public object SaveToSc_PackUnionBillMain(string HBillNo, string HRemark, string HProjectNum, string zxQty, string BBM, string LDM, string HMaterNumber,string HOrgID)
         {
             DataSet ds;
+            DataSet dsHSNum;
             try
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                string HBarCode_White = "";
+                if (LDM != "鍏朵粬" && BBM != "鍏朵粬")
+                {
+                    ds = oCN.RunProcReturn($"exec h_p_MES_HBarCode_White_SMR {zxQty},'{BBM}','{HMaterNumber}','{HBillNo}'", "h_p_MES_HBarCode_White_SMR");
+                    HBarCode_White = ds.Tables[0].Rows[0]["HBarCode_White"].ToString();
+                }
+
+                //椤圭洰鍙疯幏鍙栨祦姘村彿
+                dsHSNum = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HProjectNum + "'", "h_p_WMS_GetMaxNo");
+                oCN.RunProc("exec h_p_WMS_SetMaxNo '" + HProjectNum + "'");
+                int HSNum = ClsPub.isInt(dsHSNum.Tables[0].Rows[0][0]) + 1;
+                //璋冪敤杩涘埗杞崲鏂规硶鎶婃祦姘村彿杞崲鎴愭祦姘村彿2
+                string HSNum2 = GetNewCodeByNum(HSNum, 1, 2);
+                if (HBillNo == null || HBillNo.Equals(""))
+                {
+                    return CustomError("[0000-1-057]娴佽浆鍗″彿涓嶈兘涓虹┖锛�");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain '" + HBillNo + "','" + HRemark + "'," + HSNum + ",'" + HSNum2 + "','" + HBarCode_White + "','"+ HOrgID + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain");
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-051]寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            return CustomCorrect(ds);
+        }
+
+
+        [Route("LEMS/SaveToSc_PackUnionBillMain_MXG")]
+        [HttpGet]
+        public object SaveToSc_PackUnionBillMain(string HBillNo, string HRemark, string HProjectNum, string zxQty, string BBM, string LDM, string HMaterNumber, string HBarCode_White,string HOrgID)
+        {
+            DataSet ds;
+            DataSet dsHSNum;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (HBarCode_White!="")
+                {
+                    if (LDM != "鍏朵粬" && BBM != "鍏朵粬")
+                    {
+                        ds = oCN.RunProcReturn($"exec h_p_MES_HBarCode_White_SMR_MXG {zxQty},'{BBM}','{HMaterNumber}','{HBillNo}'", "h_p_MES_HBarCode_White_SMR_MXG");
+                        HBarCode_White = ds.Tables[0].Rows[0]["HBarCode_White"].ToString();
+                    }
+                }                             
+                //椤圭洰鍙疯幏鍙栨祦姘村彿
+                dsHSNum = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HProjectNum + "'", "h_p_WMS_GetMaxNo");
+                oCN.RunProc("exec h_p_WMS_SetMaxNo '" + HProjectNum + "'");
+                int HSNum = ClsPub.isInt(dsHSNum.Tables[0].Rows[0][0]) + 1;
+                //璋冪敤杩涘埗杞崲鏂规硶鎶婃祦姘村彿杞崲鎴愭祦姘村彿2
+                string HSNum2 = GetNewCodeByNum(HSNum, 1, 2);
                 if (HBillNo == null || HBillNo.Equals(""))
                 {
                     return CustomError("娴佽浆鍗″彿涓嶈兘涓虹┖锛�");
                 }
                 else
                 {
-                    if (HRemark == null || HRemark.Equals(""))
-                    {
-                        ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain '" + HBillNo + "',''", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain");
-                    }
-                    else
-                    {
-                        ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain '" + HBillNo + "','" + HRemark + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain");
-                    }
+                    ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain_MXG '" + HBillNo + "','" + HRemark + "'," + HSNum + ",'" + HSNum2 + "','" + HBarCode_White + "','"+ HOrgID + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain_MXG");
                 }
             }
             catch (Exception e)
             {
-                ds = null;
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
             }
             return CustomCorrect(ds);
-            //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鎻愪氦-瀛愯〃鏂规硶锛堜骇绾垮寘瑁呭崟锛�--鏍规嵁瀛愪欢鏉$爜浠巘emp琛ㄤ繚瀛樺埌瀛愯〃
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 鎻愪氦-瀛愯〃鏂规硶锛堜骇绾垮寘瑁呭崟锛�--鏍规嵁瀛愪欢鏉$爜浠巘emp琛ㄤ繚瀛樺埌瀛愯〃
+
         [Route("LEMS/SaveToSc_PackUnionBillSub")]
         [HttpGet]
         public object SaveToSc_PackUnionBillSub(string HitemID, string HRemark)
@@ -2981,14 +3372,47 @@
                 ds = null;
             }
             return CustomCorrect(ds);
-            //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鏇存柊temp琛ㄧ殑鏍囪瀛楁鏂规硶锛堜骇绾垮寘瑁呭崟锛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        //鏇存柊娌℃湁鍙嶅啓鐨勬暟鎹�
+        [Route("LEMS/SaveToSc_PackUnionBillSub_Back")]
+        [HttpGet]
+        public object SaveToSc_PackUnionBillSub_Back(string HInterID, string HRemark)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    return CustomError("[0000-2-058]鏇存柊澶辫触HitemID涓虹┖锛�");
+                }
+                else
+                {
+                    oCN.RunProc("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillSub_Back '" + HInterID + "','" + HRemark + "'");
+                }
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-2-059]鏇存柊鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-2-058]" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+
+        #endregion
+
+        #region 鏇存柊temp琛ㄧ殑鏍囪瀛楁鏂规硶锛堜骇绾垮寘瑁呭崟锛�
+
         [Route("LEMS/Update_Flag_HRelationInterID")]
         [HttpGet]
         public object Update_Flag_HRelationInterID(string HitemID)
@@ -3015,11 +3439,10 @@
             //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鎻愪氦-涓昏〃鏂规硶锛堜骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁娴佷紶鍗″彿浠巘emp琛ㄤ繚瀛樺埌涓昏〃
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region  鎻愪氦-涓昏〃鏂规硶锛堜骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁娴佷紶鍗″彿浠巘emp琛ㄤ繚瀛樺埌涓昏〃
+
         [Route("LEMS/SaveToSc_AssemblyBillMain")]
         [HttpGet]
         public object SaveToSc_AssemblyBillMain(string HBillNo)
@@ -3046,11 +3469,10 @@
             //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鎻愪氦-瀛愯〃鏂规硶锛堜骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁瀛愪欢鏉$爜浠巘emp琛ㄤ繚瀛樺埌瀛愯〃
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 鎻愪氦-瀛愯〃鏂规硶锛堜骇绾跨粍瑁呰拷婧崟锛�--鏍规嵁瀛愪欢鏉$爜浠巘emp琛ㄤ繚瀛樺埌瀛愯〃
+
         [Route("LEMS/SaveToSc_AssemblyBillSub")]
         [HttpGet]
         public object SaveToSc_AssemblyBillSub(string HitemID)
@@ -3077,14 +3499,13 @@
             //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 鐢熸垚鍞竴鏉$爜鏂规硶锛堜骇绾垮寘瑁呭崟锛�--淇濆瓨鏃剁敓鎴愬敮涓�鏉$爜
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 鐢熸垚鍞竴鏉$爜鏂规硶锛堜骇绾垮寘瑁呭崟锛�--淇濆瓨鏃剁敓鎴愬敮涓�鏉$爜
+
         [Route("LEMS/SaveBarCode_json")]
         [HttpGet]
-        public object SaveBarCode_json(string sHMaterID, string sHUnitID, string sHBarcodeNo, string sHMaterName)
+        public object SaveBarCode_json(string sHMaterID, string sHUnitID, string sHBarcodeNo, string sHMaterName,string HOrgID)
         {
             DataSet ds;
             string sTMNumber = "";
@@ -3139,7 +3560,7 @@
                 string HEndDate = sDate;
                 string HWorkLineName = "";
                 string HBarCodeDate = sDate;
-                string HSTOCKORGID = "0";
+                string HSTOCKORGID = HOrgID;
                 string HOWNERID = "0";
                 string HSeOrderBillNo = "";
                 string HMaterName = sHMaterName;
@@ -3154,7 +3575,7 @@
                     + " HSourceBillType,HEndQty,HBarcodeQtys,HBarcodeNo,HDeptID,"
                     + " HWhID,HSPID,HRemark,HCusID,HCusType,"
                     + " HEndDate,HWorkLineName,HBarCodeDate,HSTOCKORGID,HOWNERID,"
-                    + "HSeOrderBillNo,HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo "
+                    + "HSeOrderBillNo,HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo"
                     + ") values ('" + HBarCode + "','" + HBarCodeType + "','" + sHMaterID + "','" + sHUnitID + "','" + HQty + "','"
                         + HBatchNo + "','" + HSupID + "','" + HGroupID + "','" + HMaker + "',getdate(),'"
                         + HPrintQty + "','" + HinitQty + "','" + HSourceInterID + "','" + HSourceEntryID + "','" + HSourceBillNo + "','"
@@ -3163,7 +3584,7 @@
                         + HEndDate + "','" + HWorkLineName + "','" + HBarCodeDate + "','" + HSTOCKORGID + "'," + HOWNERID + ",'"
                         + HSeOrderBillNo + "','" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "','" + HAuxPropID + "','" + HMTONo + "')"
                 );
-                ds = oCn.RunProcReturn("select HBarCode from Gy_BarCodeBill where HSourceBillNo = '" + sHBarcodeNo + "'  order by HMakeDate desc", "Gy_BarCodeBill");
+                ds = oCn.RunProcReturn("select top 10 HBarCode from Gy_BarCodeBill where HSourceBillNo = '" + sHBarcodeNo + "'  order by HMakeDate desc", "Gy_BarCodeBill");
             }
             catch (Exception e)
             {
@@ -3172,11 +3593,11 @@
             return CustomCorrect(ds);
         }
 
-        /// <summary>
-        /// 杩斿洖浜х嚎鍖呰鍗曞垪琛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+
+        #region 浜х嚎鍖呰鍗曞垪琛ㄦ煡璇�
+
         [Route("LEMS/MES_ProductionLinePackagingList_Json")]
         [HttpGet]
         public object MES_ProductionLinePackagingList_Json(string sWhere)
@@ -3187,13 +3608,13 @@
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select * from h_v_ProductionLinePackagingList order by 鍞竴鏉$爜 desc", "h_v_ProductionLinePackagingList");
+                    ds = oCN.RunProcReturn("select top 1000 * from h_v_ProductionLinePackagingList order by 鎵爜鏃ユ湡 desc, 鍞竴鏉$爜 desc", "h_v_ProductionLinePackagingList");
                 }
                 else
                 {
-                    string sql1 = "select * from h_v_ProductionLinePackagingList where 1 = 1 ";
+                    string sql1 = "select top 1000 * from h_v_ProductionLinePackagingList where 1 = 1 ";
                     string sql = sql1 + sWhere;
-                    string sql2 = " order by 鍞竴鏉$爜 desc";
+                    string sql2 = " order by 鎵爜鏃ユ湡 desc, 鍞竴鏉$爜 desc";
                     sql = sql + sql2;
                     ds = oCN.RunProcReturn(sql, "h_v_ProductionLinePackagingList");
                 }
@@ -3206,11 +3627,40 @@
             return GetObjectJson(ds);
         }
 
-        /// <summary>
-        /// 鎵壒娆℃潯鐮佹柟娉曪紙浜х嚎缁勮杩芥函鍗曪級--鏍规嵁鎵规鏉$爜鍒版潯鐮佹。妗堣〃涓幏鍙栨暟鎹繚瀛樺埌temp琛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 鍒犻櫎瀵瑰簲鐨勫寘瑁呭崟
+
+        [Route("LEMS/DelMES_ProductionLinePackagingList")]
+        [HttpGet]
+        public object DelMES_ProductionLinePackagingList(string HInterID)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                oCN.RunProc("Delete from Sc_PackUnionBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete from Sc_PackUnionBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID = " + HInterID);
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-008]鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-007]鍒犻櫎澶辫触锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 鎵壒娆℃潯鐮佹柟娉曪紙浜х嚎缁勮杩芥函鍗曪級--鏍规嵁鎵规鏉$爜鍒版潯鐮佹。妗堣〃涓幏鍙栨暟鎹繚瀛樺埌temp琛�
+
         [Route("LEMS/Save_Gy_BarCodeBillToTmp_Json")]
         [HttpGet]
         public object Save_Gy_BarCodeBillToTmp_Json(string HInterID, string HBillNo2, string HBarCode)
@@ -3241,14 +3691,12 @@
                 ds = null;
             }
             return CustomCorrect(ds);
-            //return ds.Tables[0].Rows;
         }
 
-        /// <summary>
-        /// 杩斿洖浜х嚎缁勮杩芥函鍗曞垪琛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 浜х嚎缁勮杩芥函鍗曞垪琛ㄦ煡璇�
+
         [Route("LEMS/MES_AssemblyTraceabilityList_Json")]
         [HttpGet]
         public object MES_AssemblyTraceabilityList_Json(string sWhere)
@@ -3278,11 +3726,10 @@
             return GetObjectJson(ds);
         }
 
-        /// <summary>
-        /// 杩斿洖浜х嚎缁勮杩芥函鍗曞垪琛�--杩囨护鏉′欢涓洪暛闆曟潯鐮佺殑涓撶敤鏂规硶
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+        #region 杩斿洖浜х嚎缁勮杩芥函鍗曞垪琛�--杩囨护鏉′欢涓洪暛闆曟潯鐮佺殑涓撶敤鏂规硶
+
         [Route("LEMS/MES_AssemblyTraceabilityList_E_Json")]
         [HttpGet]
         public object MES_AssemblyTraceabilityList_E_Json(string HICMOBillNo)
@@ -3307,6 +3754,341 @@
             }
             return GetObjectJson(ds);
         }
+
+        #endregion
+
+
+        #region 鏍规嵁ID鍒犻櫎缂撳瓨琛ㄤ腑鎵爜璁板綍-浜х嚎鍖呰鍗�
+
+        [Route("LEMS/DelProductionLinePackagingTable")]
+        [HttpGet]
+        public object DelProductionLinePackagingTable(long sHInterID, string HSourceBillNo)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                oCn.RunProc("Delete TOP(1) from KF_PonderationBillMain_Temp where HInterID = " + sHInterID + " and HSourceBillNo = '" + HSourceBillNo + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-008]鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-007]鍒犻櫎澶辫触锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 鏉$爜鏄惁鏄笉鑹殑鐘舵��
+        [Route("LEMS/HbadStaus")]
+        [HttpGet]
+        public object HbadStaus(string SubBarcode)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds = oCN.RunProcReturn(@"select  HBillNo,HReasult from tiaom  where HBillNo='" + SubBarcode + @"'
+union 
+select HBarCode HBillNo,HStatus HReasult from Gy_BarCodeBill
+where HBarCode='" + SubBarcode + "'", "Gy_BarCodeBill");
+                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "ok!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (ds.Tables[0].Rows[0]["HReasult"].ToString() == "涓嶈壇")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-037]褰撳墠鏉$爜鐨勭姸鎬佷负:" + ds.Tables[0].Rows[0]["HReasult"].ToString() + "锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = null;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]寮傚父锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 鍒ゆ柇鏉$爜涔嬪墠鐨勫伐搴忔槸鍚﹀嚭绔�
+
+        [Route("LEMS/SNBarcodeProcCtrl")]
+        [HttpGet]
+        public object SNBarcodeProcCtrl(string SubBarcode, string HProcExchBillNo, string HMixedBox, string HBillNo)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();               
+
+                ds = oCN.RunProcReturn(@"exec h_p_Sc_SNBarcodeProcCtrl '" + SubBarcode + "'", "h_p_Sc_SNBarcodeProcCtrl");
+                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "2")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn(@"exec h_p_Sc_SNBarcodeMixedBox '" + SubBarcode + "','" + HProcExchBillNo + "','" + HMixedBox + "','" + HBillNo + "'", "h_p_Sc_SNBarcodeMixedBox");
+
+                    if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "2")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString();
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = null;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]寮傚父锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region  09椤圭洰鍒ゆ柇閰嶄欢鏉$爜 妯″叿绌村彿鏄惁鍖归厤
+
+        [Route("LEMS/h_p_CJ_SNBarCodeBillMouldBathSelect")]
+        [HttpGet]
+        public object h_p_CJ_SNBarCodeBillMouldBathSelect(string SubBarcode, string HProcExchBillNo, string HBillType)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                ds = oCN.RunProcReturn(@"exec h_p_CJ_SNBarCodeBillMouldBathSelect '" + SubBarcode + "','" + HProcExchBillNo + "','" + HBillType + "'", "h_p_Sc_SNBarcodeMixedBox");
+
+                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "2")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString();
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = null;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]寮傚父锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+        
+        #region  鍒ゆ柇鎬荤殑鍖呰鏁伴噺鏄惁瓒呰繃娴佽浆鍗℃暟閲�
+
+        [Route("LEMS/h_p_Sc_ProductionLinePackaging_Checkqty")]
+        [HttpGet]
+        public object h_p_Sc_ProductionLinePackaging_Checkqty(long HInterID)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds = oCN.RunProcReturn("exec h_p_Sc_ProductionLinePackaging_Checkqty " + HInterID, "h_p_Sc_ProductionLinePackaging_Checkqty");
+                if (ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";//杩斿洖鍓╀綑鏁伴噺
+                    objJsonResult.data = Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-051]" + Convert.ToString(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]寮傚父锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+
+        #endregion     
+
+        #region 缂撳瓨琛ㄥ寘瑁呭崟鍒楄〃
+
+        [Route("LEMS/PackUnionCacheList")]
+        [HttpGet]
+        public object PackUnionCacheList(string sWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select top 1000 * from h_v_PackUnionBillCacheList order by 鎵爜鏃堕棿 desc", "h_v_PackUnionBillCacheList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_PackUnionBillCacheList where 1 = 1 ";
+                    string sql = sql1 + sWhere;
+                    string sql2 = " order by 鎵爜鏃堕棿 desc";
+                    sql += sql2;
+                    ds = oCN.RunProcReturn(sql, "h_v_PackUnionBillCacheList");
+                }
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳暟鎹紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 宸ュ簭娴佽浆鍗$殑鏈亾宸ュ簭
+
+        [Route("LEMS/TxtHBarCode_KeyDown_Last")]
+        [HttpGet]
+        public object TxtHBarCode_KeyDown_Last(string sBillBarCode)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sBillBarCode == null || sBillBarCode.Equals(""))
+                {
+                    return CustomError("鏈緭鍏ユ潯褰㈢爜锛�");
+                }
+                else
+                {
+                    //鎷嗗垎鏉″舰鐮�
+                    string[] NewBarCode;
+                    if (sBillBarCode.CompareTo("#") > 0)
+                    {
+                        NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
+                        sBillBarCode = NewBarCode[0];
+                    }
+                    string sBillNo = sBillBarCode;
+                    ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + sBillNo + "' and 鏈亾宸ュ簭='鏄�' ", "h_v_Sc_ProcessExchangeBillList");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        return CustomError("涓嶅瓨鍦ㄦ娴佽浆鍗″彿锛�");
+                    }
+                }
+
+            }
+            catch (Exception e)
+            {
+                ds = null;
+            }
+            return CustomCorrect(ds);
+        }
+
+
+        #endregion
+
+        #endregion
 
         /// <summary>
         /// 杩斿洖澧欏挃宸ヨ祫缁熻鎶ヨ〃
@@ -3504,7 +4286,7 @@
                 }
 
                 //鍒锋柊榛樿宸ヨ壓璺嚎
-                oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID+",'" + user + "'");
+                oCN.RunProc("exec h_p_Gy_RoutingBillSetDefault " + HInterID+",'" + user + "'");
 
                 oCN.Commit();//鎻愪氦浜嬪姟
 
@@ -3608,9 +4390,59 @@
                             return objJsonResult;
                         }
                     }
+                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+
+                    //瀹℃牳鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Gy_RoutingBill_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Gy_RoutingBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
 
                     //瀹℃牳宸ヨ壓璺嚎
                     oCN.RunProc(" Update Gy_RoutingBillMain set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 Where HInterID=" + HInterID.ToString());
+
+
+                    //瀹℃牳鍚庢帶鍒�=========================================      
+                    string sql2 = "exec h_p_Gy_RoutingBill_AfterCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Gy_RoutingBill_AfterCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
 
                     //鑾峰彇绯荤粺鍙傛暟
                     string Ret = "";
@@ -3670,7 +4502,7 @@
                         }
                     }
                     //鍙嶅鏍稿崟鎹�
-                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ds.Tables[0].Rows[0]["HBillNo"].ToString(), "h_p_Gy_RoutingBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                         //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
@@ -3779,6 +4611,16 @@
                             return objJsonResult;
                         }
                     }
+                    string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]);
+                    //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]);
+                    if (HBillStatus == "6")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑,涓嶈兘鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                     //鍏抽棴鍗曟嵁
                     if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                     {
@@ -3787,6 +4629,17 @@
                         objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
+                    }
+                    //鑾峰彇绯荤粺鍙傛暟璁剧疆澶辨晥鏃堕棿
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛
+                        if (oSystemParameter.omodel.WMS_CampanyName == "娣诲悍绉戞妧") //绯荤粺鍙傛暟                      
+                        {
+                            //鍒锋柊澶辨晥鏃堕棿
+                            oCN.RunProc("update Gy_RoutingBillMain set HEndDate = CONVERT(date, DATEADD(day, -1, GETDATE())) where HInterID = " + HInterID);
+                        }
                     }
                 }
                 else
@@ -3801,10 +4654,20 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.Message = "鍗曟嵁鏈墜鍔ㄥ叧闂�!闇�瑕佸厛鍏抽棴";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
+                    }
+                    string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]);
+                    //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]);
+                    if (HBillStatus == "6")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑,涓嶈兘鍙嶅叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
                     }
                     //鍙嶅叧闂崟鎹�
                     if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
@@ -3814,6 +4677,17 @@
                         objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
+                    }
+                    //鑾峰彇绯荤粺鍙傛暟璁剧疆澶辨晥鏃堕棿
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛
+                        if (oSystemParameter.omodel.WMS_CampanyName == "娣诲悍绉戞妧") //绯荤粺鍙傛暟                      
+                        {
+                            //鍒锋柊澶辨晥鏃堕棿
+                            oCN.RunProc("update Gy_RoutingBillMain set HEndDate = '9999-12-31',HBeginDate = CONVERT(date, GETDATE()) where HInterID = " + HInterID);
+                        }
                     }
                 }
 
@@ -3837,6 +4711,169 @@
         }
         #endregion
 
+        #region 宸ヨ壓璺嚎鍗曞叧闂�/鍙嶅叧闂姛鑳�(璁剧疆寮�濮嬫椂闂寸粨鏉熸椂闂�)
+        [Route("Gy_RoutingBill/CloseSetDate")]
+        [HttpGet]
+        public object CloseGy_RoutingBill(string HInterID, int Type, string user, string HBillSubType,DateTime HBeginDate,DateTime HEndDate)
+        {
+            try
+            {
+                if (HBillSubType == "SUB")
+                {
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Close", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀛愬伐鑹鸿矾绾挎棤鏉冮檺鍏抽棴!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Close", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "宸ヨ壓璺嚎鏃犳潈闄愬叧闂�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Gy_RoutingBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]);
+                    //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]);
+                    if (HBillStatus == "6")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑,涓嶈兘鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鑾峰彇绯荤粺鍙傛暟璁剧疆澶辨晥鏃堕棿
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛
+                        if (oSystemParameter.omodel.WMS_CampanyName == "娣诲悍绉戞妧") //绯荤粺鍙傛暟                      
+                        {
+                            //鍒锋柊澶辨晥鏃堕棿
+                            oCN.RunProc("update Gy_RoutingBillMain set HEndDate = CONVERT(date, DATEADD(day, -1, GETDATE())) where HInterID = " + HInterID);
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈墜鍔ㄥ叧闂�!闇�瑕佸厛鍏抽棴";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]);
+                    //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]);
+                    if (HBillStatus == "6")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑,涓嶈兘鍙嶅叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鑾峰彇绯荤粺鍙傛暟璁剧疆澶辨晥鏃堕棿
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛
+                        if (oSystemParameter.omodel.WMS_CampanyName == "娣诲悍绉戞妧") //绯荤粺鍙傛暟                      
+                        {
+                            //鍒锋柊澶辨晥鏃堕棿
+                            oCN.RunProc($"update Gy_RoutingBillMain set HEndDate = '{HEndDate}',HBeginDate = '{HBeginDate}' where HInterID = " + HInterID);
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                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>
@@ -3871,6 +4908,37 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏇存柊app
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("LMES/AppUpdate")]
+        [HttpGet]
+        public object AppUpdate(string Type)
+        {
+            try
+            {
+                DataSet ds;
+                ds = oCN.RunProcReturn("exec h_p_Gy_APPUpdateInformation " + Type , "h_p_Gy_APPUpdateInformation");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
                 objJsonResult.Message = "Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;

--
Gitblit v1.9.1