From 8b1159f7744c752e9499ffd82de393d255b4b2e0 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期二, 19 八月 2025 16:09:10 +0800
Subject: [PATCH] 优化产线包装组托单方法,进出站报错提示,基础老包装车间方法到这个api

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

diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index 2177b34..0364bfb 100644
--- a/WebAPI/Controllers/LMESController.cs
+++ b/WebAPI/Controllers/LMESController.cs
@@ -1,6 +1,7 @@
 锘縰sing Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Pub_Class;
+using SyntacticSugar.constant;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -19,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銆�
@@ -191,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 hmainid 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");
 
 
                 //娣诲姞鍒楀悕
@@ -204,6 +210,190 @@
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
+                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_Query_byPage")]
+        [HttpGet]
+        public object Sc_ProcessExchangeBillList_Query_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_ProcessExchangeBillList_Query " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_Sc_ProcessExchangeBillList_Query");
+                }
+                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");
+                }
+
+                //娣诲姞鍒楀悕
+                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];
@@ -510,7 +700,16 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
+                    ds = oCN.RunProcReturn(@"select * from Sc_ICMOBillStatus_Tmp where HSourceInterID='"+ HInterID + "'   and  HSourceEntryID='"+ HEntryID + "'", "Sc_ICMOBillStatus_Tmp");
+                    if (ds.Tables[0].Rows.Count != 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "璇ュ伐搴忓凡娲惧崟,涓嶅厑璁搁噸澶嶆帓鍗曪紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                   
                     oCN.BeginTran();
 
                     oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSourceID + " where HInterID=" + HInterID + " and HEntryID=" + HEntryID);
@@ -855,7 +1054,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;
             }
@@ -1105,6 +1333,60 @@
 
         #region 宸ヨ壓璺嚎
 
+        #region 宸ヨ壓璺嚎鍒嗛〉鍒楄〃
+        [Route("Gy_RoutingBill/page")]
+        [HttpGet]
+        public object Gy_RoutingBillPage(string sWhere, string user, int page, int size)
+        {
+            DataSet ds;
+            json res = new json();
+            try
+            {
+                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 (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Gy_RoutingBillList " + page + "," + size + ",''", "h_p_Gy_RoutingBillList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Gy_RoutingBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Gy_RoutingBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                res.code = CodeConstant.SUCCEED;
+                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                res.Message = "Sucess锛�";
+                res.list = columnNameList;
+                res.data = ds.Tables[0];
+                return res;
+            }
+            catch (Exception e)
+            {
+                res.code = CodeConstant.FAIL;
+                res.count = CountConstant.FAIL;
+                res.Message = "Exception锛�" + e.ToString();
+                res.data = null;
+                return res;
+            }
+        }
+        #endregion
+
         #region 宸ヨ壓璺嚎鍒楄〃
         /// <summary>
         /// 杩斿洖宸ヨ壓璺嚎鍒楄〃
@@ -1118,6 +1400,7 @@
             DataSet ds;
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (HBillSubType == "SUB")
                 {
                     //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
@@ -1169,13 +1452,25 @@
                 {
                     string sql1 = "select * from h_v_Gy_RoutingBillList where 1 = 1 ";
                     //瀹㈡埛鑷畾涔�
-                    if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�" || oSystemParameter.omodel.WMS_CampanyName == "鍑礉濂堢壒")
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�" || oSystemParameter.omodel.WMS_CampanyName == "鍑礉濂堢壒" )
                     {
                          sql1 = "select top 1000 * from h_v_Gy_RoutingBillList where 1 = 1 ";
                     }
                     string sql = sql1 + sWhere + " order by hmainid desc,cast(宸ュ簭鍙� as int)";
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList");
+                }   //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
                 }
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+              
             }
             catch (Exception e)
             {
@@ -1203,6 +1498,7 @@
             DataSet ds;
             try
             {
+                //List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                 {
@@ -1243,6 +1539,18 @@
                     string sql = sql1 + sWhere + " order by hmainid desc,cast(宸ュ簭鍙� as int)";
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_His");
                 }
+                //foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                //{
+                //    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                //    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                //    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                //}
+                //objJsonResult.code = "1";
+                //objJsonResult.count = 1;
+                //objJsonResult.Message = "Sucess锛�";
+                //objJsonResult.data = ds.Tables[0];//浠g爜灏嗙涓�涓狣ataTable锛堢储寮曚负0锛夎祴鍊肩粰objJsonResult鐨刣ata灞炴��
+                //objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴��
+             
             }
             catch (Exception e)
             {
@@ -1274,7 +1582,7 @@
                 if (oSystemParameter.ShowBill(ref Ret))
                 {
                     //鍒ゆ柇瀹㈡埛涓洪緳灞辨苯閰�
-                    if (oSystemParameter.omodel.WMS_CampanyName == "榫欏北姹介厤")
+                    if (oSystemParameter.omodel.WMS_CampanyName == "榫欏北姹介厤" || oSystemParameter.omodel.WMS_CampanyName == "娣诲悍绉戞妧")
                     {
                         //鍒ゆ柇鏄惁鏈夋煡璇㈠伐浠锋潈闄�
                         if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_CheckProcPrice", 1, false, UserName))
@@ -1419,6 +1727,29 @@
                     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");
+                //鍒ゆ柇鏄惁鍙紪杈�
+                if (dss.Tables[0].Rows[0]["number"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚寮曠敤锛屼笉鍏佽鍒犻櫎锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                 //if (hdeleteman != "")
                 //{
                 //    objJsonResult.code = "0";
@@ -1427,11 +1758,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";
@@ -1573,6 +1957,39 @@
 
         #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
 
         /// <summary>
@@ -1587,7 +2004,8 @@
             DataSet ds;
             try
             {
-                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                List<object> columnNameList = new List<object>()
+;                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQuery", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -1612,6 +2030,22 @@
                 }
 
                 ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1 " + sWhere + " order by 鍒跺崟鏃ユ湡 desc,鍗曟嵁鍙� desc", "h_v_IF_ICMOBillList");
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                //objJsonResult.code = "1";
+                //objJsonResult.count = 1;
+                //objJsonResult.Message = "Sucess锛�";
+                //objJsonResult.data = ds.Tables[0];
+                //objJsonResult.list = a;
+                //return objJsonResult;
             }
             catch (Exception e)
             {
@@ -1623,6 +2057,124 @@
             }
             return GetObjectJson(ds);
         }
+
+
+        #region 鐢熶骇璁㈠崟鍒楄〃-鍒嗛〉
+        [Route("LEMS/MES_IF_ICMOBillList_Json_byPage")]
+        [HttpGet]
+        public object MES_IF_ICMOBillList_Json_byPage(string sWhere, string user, string Organization, int page, int size)
+        {
+            DataSet ds;
+            try
+            {
+                List<object> columnNameList = new List<object>()
+;                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQuery", 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;
+                    }
+                }
+
+                sWhere = sWhere.Replace("'", "''");
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_IF_ICMOBillList " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_IF_ICMOBillList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_IF_ICMOBillList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_IF_ICMOBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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;
+            }
+            return GetObjectJson(ds);
+        }
+        #endregion
+
+        #region 宸ュ簭娴佽浆鍗′笅鎺ㄧ敓浜ц川閲忔眹鎶ュ崟
+        [Route("LEMS/MES_IF_ProcessBillList_Json")]
+        [HttpGet]
+        public object MES_IF_ProcessBillList_Json(string hinterid, string HEntryID, string user)
+        {
+            DataSet ds;
+            try
+            {               
+              
+                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillQuerySub where hmainid ='" + hinterid+ "' and HEntryID='"+ HEntryID + "'", "h_v_Sc_ProcessExchangeBillQuerySub");
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            return GetObjectJson(ds);
+        }
+        #endregion
+
+        #region 宸ュ簭娴佽浆鍗′笅鎺ㄨ澶囩偣妫�鍙傛暟琛�
+        [Route("LEMS/MES_IF_EquipICMOTechParamList_Json")]
+        [HttpGet]
+        public object MES_IF_EquipICMOTechParamList_Json(string hinterid, string HEntryID, string user)
+        {
+            DataSet ds;
+            try
+            {
+
+                ds = oCN.RunProcReturn(" exec h_p_Sc_ProcessExchangeBillQuery_TechParam '" + hinterid + "' , '" + HEntryID + "'", "h_p_Sc_ProcessExchangeBillQuery_TechParam");
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            return GetObjectJson(ds);
+        }
+        #endregion
 
         #region 鐢熶骇璁㈠崟 涓嬫煡
         /// <summary>
@@ -1751,6 +2303,44 @@
                 {
                       ds = oCN.RunProcReturn("exec [h_p_Sc_ProductionAnalysisReportList] '" + DateYear + "','" + HType + "'", "[h_p_Sc_ProductionAnalysisReportList]");
                 }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 铻烘瘝妫�楠孋CD鍚堟牸鐜�
+        [Route("LEMS/Sc_NutInspectionCCDPassRate")]
+        [HttpGet]
+        public object Sc_NutInspectionCCDPassRate(string HBatchNo, string user)
+        {
+            try
+            {
+                DataSet ds;
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("exec h_p_Sc_NutInspectionCCDPassRate '" + HBatchNo + "'", "h_p_Sc_NutInspectionCCDPassRate");
 
                 //娣诲姞鍒楀悕
                 foreach (DataColumn col in ds.Tables[0].Columns)
@@ -2066,6 +2656,94 @@
         }
         #endregion
 
+        #region 鐢熶骇璁㈠崟娴佽浆鍗� 灞ュ巻鏉′欢鏌ヨ
+        [Route("LEMS/GetProcessBillOrICMOBillResumeList")]
+        [HttpGet]
+        public object GetProcessBillOrICMOBillResumeList(string HInterID,string HEntryID,string sWhere,int type, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                DataSet ds;
+                //1琛ㄧず鐢熶骇璁㈠崟
+                if(type == 3710)
+                {
+                    ds = oCN.RunProcReturn($@"select * from
+               (select a.HInterID,a.HDate '鏃ユ湡',a.HBillType,x.HName 鍗曟嵁绫诲瀷,a.HBillNo as '鍗曟嵁鍙�',
+                CASE WHEN a.HBillStatus <= 1 THEN '鍒涘缓' WHEN a.HBillStatus = 2 THEN '宸插鏍�' WHEN a.HBillStatus = 3 AND 
+                a.HCloseType = 0 THEN '鑷姩鍏抽棴' WHEN a.HBillStatus = 3 AND 
+                a.HCloseType = 1 THEN '鎵嬪姩鍏抽棴' WHEN a.HBillStatus = 4 THEN '宸蹭綔搴�' ELSE '鍏跺畠鐘舵��' END AS 鍗曟嵁鐘舵��,
+                a.HMaker AS 鍒跺崟浜�, a.HMakeDate AS 鍒跺崟鏃ユ湡,a.HChecker AS 瀹℃牳浜�, a.HCheckDate AS 瀹℃牳鏃ユ湡, a.HUpDater AS 淇敼浜�, a.HUpDateDate AS 淇敼鏃ユ湡, 
+                a.HCloseMan AS 鍏抽棴浜�, a.HCloseDate AS 鍏抽棴鏃ユ湡, a.HDeleteMan AS 浣滃簾浜�, a.HDeleteDate AS 浣滃簾鏃ユ湡
+                from (
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType  from Sc_ICMOBillMain where HInterID = {HInterID} UNION ALL 
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MESBeginWorkBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_FirstPieceCheckBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckOtherBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationInBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationOutBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from SB_EquipICMOTechParamBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL
+                select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldUpperBillMain as m,Sc_MouldUpperBillSub as s 
+                where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} and m.HInterID = s.HInterID  UNION ALL
+                select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldLowerBillMain as m,Sc_MouldLowerBillSub as s
+                where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} and m.HInterID = s.HInterID
+                )as a,Xt_BillType as x
+                where a.HBillType = x.HNumber ) AS a where 1=1 " + sWhere +
+                @" ORDER BY 鏃ユ湡 ASC;", "Sc_ICMOBillResume");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn($@"select * from
+               (select a.HInterID,a.HDate '鏃ユ湡',a.HBillType,x.HName 鍗曟嵁绫诲瀷,a.HBillNo as '鍗曟嵁鍙�',
+                CASE WHEN a.HBillStatus <= 1 THEN '鍒涘缓' WHEN a.HBillStatus = 2 THEN '宸插鏍�' WHEN a.HBillStatus = 3 AND 
+                a.HCloseType = 0 THEN '鑷姩鍏抽棴' WHEN a.HBillStatus = 3 AND 
+                a.HCloseType = 1 THEN '鎵嬪姩鍏抽棴' WHEN a.HBillStatus = 4 THEN '宸蹭綔搴�' ELSE '鍏跺畠鐘舵��' END AS 鍗曟嵁鐘舵��,
+                a.HMaker AS 鍒跺崟浜�, a.HMakeDate AS 鍒跺崟鏃ユ湡,a.HChecker AS 瀹℃牳浜�, a.HCheckDate AS 瀹℃牳鏃ユ湡, a.HUpDater AS 淇敼浜�, a.HUpDateDate AS 淇敼鏃ユ湡, 
+                a.HCloseMan AS 鍏抽棴浜�, a.HCloseDate AS 鍏抽棴鏃ユ湡, a.HDeleteMan AS 浣滃簾浜�, a.HDeleteDate AS 浣滃簾鏃ユ湡
+                from (
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType  from Sc_ProcessExchangeBillMain where HInterID = {HInterID} UNION ALL 
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MESBeginWorkBillMain where HProcExchInterID = {HInterID}  UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_FirstPieceCheckBillMain where HProcExchInterID = {HInterID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckBillMain where HProcExchInterID = {HInterID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckOtherBillMain where HProcExchInterID = {HInterID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationInBillMain where HProcExchInterID = {HInterID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationOutBillMain where HProcExchInterID = {HInterID} UNION ALL
+                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from SB_EquipICMOTechParamBillMain where HProcExchInterID = {HInterID} UNION ALL
+                select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldUpperBillMain as m,Sc_MouldUpperBillSub as s 
+                where s.HProcExchInterID = {HInterID} and m.HInterID = s.HInterID  UNION ALL
+                select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldLowerBillMain as m,Sc_MouldLowerBillSub as s
+                where s.HProcExchInterID = {HInterID} and m.HInterID = s.HInterID
+                )as a,Xt_BillType as x
+                where a.HBillType = x.HNumber ) AS a where 1=1 " + sWhere +
+                @" ORDER BY 鏃ユ湡 ASC;", "Sc_ProcessExchangeBillResume");
+                }
+                //娣诲姞鍔ㄦ�佸垪淇℃伅
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         /// <summary>
         /// 杩斿洖宸ュ簭濮斿鎺ユ敹鍗曞垪琛�
         ///鍙傛暟锛歴tring sql銆�
@@ -2109,7 +2787,7 @@
             {
                 List<object> columnNameList = new List<object>();
                
-                //娣诲姞鍒楀悕
+               //娣诲姞鍒楀悕
                 foreach (DataColumn col in ds.Tables[0].Columns)
                 {
                     Type dataType = col.DataType;
@@ -2119,16 +2797,17 @@
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
-                objJsonResult.list = columnNameList;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+             
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
             }
             catch (Exception e)
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -2159,7 +2838,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�";
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -2167,7 +2846,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-050]鑾峰彇淇℃伅鎴愬姛锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
@@ -2289,15 +2968,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
@@ -2322,18 +3083,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;
@@ -2349,13 +3107,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);
                 }
 
             }
@@ -2364,14 +3123,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)
@@ -2398,11 +3184,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)
@@ -2417,7 +3202,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");
                 }
 
             }
@@ -2425,15 +3210,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)
@@ -2460,48 +3243,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)
@@ -2525,14 +3361,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)
@@ -2559,11 +3428,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)
@@ -2590,11 +3458,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)
@@ -2621,14 +3488,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 = "";
@@ -2683,7 +3549,7 @@
                 string HEndDate = sDate;
                 string HWorkLineName = "";
                 string HBarCodeDate = sDate;
-                string HSTOCKORGID = "0";
+                string HSTOCKORGID = HOrgID;
                 string HOWNERID = "0";
                 string HSeOrderBillNo = "";
                 string HMaterName = sHMaterName;
@@ -2698,7 +3564,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 + "','"
@@ -2707,7 +3573,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)
             {
@@ -2716,11 +3582,11 @@
             return CustomCorrect(ds);
         }
 
-        /// <summary>
-        /// 杩斿洖浜х嚎鍖呰鍗曞垪琛�
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #endregion
+
+
+        #region 浜х嚎鍖呰鍗曞垪琛ㄦ煡璇�
+
         [Route("LEMS/MES_ProductionLinePackagingList_Json")]
         [HttpGet]
         public object MES_ProductionLinePackagingList_Json(string sWhere)
@@ -2731,13 +3597,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");
                 }
@@ -2750,11 +3616,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)
@@ -2785,14 +3680,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)
@@ -2822,11 +3715,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)
@@ -2851,6 +3743,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>
         /// 杩斿洖澧欏挃宸ヨ祫缁熻鎶ヨ〃
@@ -2926,6 +4153,152 @@
 
         }
 
+        #region 宸ヨ壓璺嚎鍒楄〃  鍚敤榛樿_鏉冮檺鍒ゆ柇
+        [Route("Gy_RoutingBill/set_defaultRoute_CheckRight")]
+        [HttpGet]
+        public object set_defaultRoute_CheckRight(string user, string HBillSubType)
+        {
+            try
+            {
+                if (HBillSubType == "SUB")
+                {
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_SetDefaultRoute", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀛愬伐鑹鸿矾绾挎棤鏉冮檺鍚敤榛樿宸ヨ壓璺嚎!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_SetDefaultRoute", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "宸ヨ壓璺嚎鏃犳潈闄愬惎鐢ㄩ粯璁�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+
+                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 宸ヨ壓璺嚎鍒楄〃  鍚敤榛樿
+        [Route("Gy_RoutingBill/set_defaultRoute")]
+        [HttpGet]
+        public object set_defaultRoute(string HInterID, string user, string HBillSubType)
+        {
+            try
+            {
+                if (HBillSubType == "SUB")
+                {
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_SetDefaultRoute", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀛愬伐鑹鸿矾绾挎棤鏉冮檺鍚敤榛樿宸ヨ壓璺嚎!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_SetDefaultRoute", 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();//寮�濮嬩簨鍔�
+
+                //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                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]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != ""))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶅彲浠ヨ鍚敤涓鸿鐗╂枡鐨勯粯璁ゅ伐鑹鸿矾绾�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紝妫�鏌ヨ鍗曟嵁鏄惁宸茬粡琚垹闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒锋柊榛樿宸ヨ壓璺嚎
+                oCN.RunProc("exec h_p_Gy_RoutingBillSetDefault " + HInterID+",'" + user + "'");
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 宸ヨ壓璺嚎瀹℃牳/鍙嶅鏍稿姛鑳�
         [Route("Gy_RoutingBill/CheckGy_RoutingBill")]
         [HttpGet]
@@ -2957,7 +4330,23 @@
                         return objJsonResult;
                     }
                 }
-               
+
+                //鑾峰彇绯荤粺鍙傛暟鍒ゆ柇宸ヨ壓璺嚎鏄惁鍚敤澶氱骇瀹℃壒绂佺敤鏅�氬鎵�
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                string sReturn = "";
+                if (oSystemParameter.ShowBill(ref sReturn) == true)
+                {
+                    if (oSystemParameter.omodel.Gy_RoutingBill_EnableMultiLevel.ToUpper() == "Y") //绯荤粺鍙傛暟  鍚敤鑷姩瀹℃牳 
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "宸ヨ壓璺嚎宸插惎鐢ㄥ绾у鎵规櫘閫氬鏍哥鐢�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+
 
                 if (string.IsNullOrWhiteSpace(HInterID))
                 {
@@ -2990,20 +4379,104 @@
                             return objJsonResult;
                         }
                     }
-                    //瀹℃牳鍗曟嵁
-                    if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    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 = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        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 = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛
+                        if (oSystemParameter.omodel.WMS_CampanyName == "娣诲悍绉戞妧") //绯荤粺鍙傛暟                      
+                        {
+                            //鍒锋柊榛樿宸ヨ壓璺嚎
+                            oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID + ",'" + user + "'");
+                        }
+                    }                 
+
+                    ////瀹℃牳鍗曟嵁
+                    //if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    //{
+                    //    objJsonResult.code = "0";
+                    //    objJsonResult.count = 1;
+                    //    objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    //    objJsonResult.data = null;
+                    //    return objJsonResult;
+                    //}
                 }
                 else
                 {
+                    //鍙嶅鏍稿墠鎺у埗=========================================
+                    DataSet ds = oCN.RunProcReturn("Exec h_p_Gy_Routing_BeforeUnCheckCtrl " + HInterID + ",'" + 0 + "','" + user + "'", "h_p_Gy_Routing_BeforeUnCheckCtrl");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
                     //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
-                    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)
@@ -3018,7 +4491,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");
@@ -3052,6 +4525,8 @@
             }
             catch (Exception e)
             {
+                oCN.RollBack();
+
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
@@ -3125,6 +4600,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))
                     {
@@ -3133,6 +4618,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
@@ -3147,10 +4643,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))
@@ -3160,6 +4666,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);
+                        }
                     }
                 }
 
@@ -3183,6 +4700,7 @@
         }
         #endregion
 
+      
 
         #region 鎶ヨ〃鏌ョ湅鏉冮檺鎺у埗
         /// <summary>
@@ -3217,6 +4735,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