From d703d7cc2f3a86692b1db16793ff2ffc60a1a355 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期一, 21 四月 2025 15:57:05 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/LMESController.cs | 1443 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,425 insertions(+), 18 deletions(-)

diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index a760097..85434fe 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;
@@ -104,6 +105,8 @@
                 }
 
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+
                 ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillQuery");
 
 
@@ -131,6 +134,184 @@
                 return objJsonResult;
             }
         }
+
+        #region 宸ュ簭娴佽浆鍗$淮鎶�-鏌ヨ
+        /// <summary>
+        /// 杩斿洖宸ュ簭娴佽浆鍗$淮鎶ゅ垪琛ㄤ富琛�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("LEMS/Sc_ProcessExchangeBillList_Query")]
+        [HttpGet]
+        public object Sc_ProcessExchangeBillList_Query(string sWhere, string user, 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();
+
+
+                ds = oCN.RunProcReturn("select top 3000 * from h_v_Sc_ProcessExchangeBillList_Query where 1 = 1 " + sWhere + " order by 鍗曟嵁鍙� desc ", "h_v_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 = 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>
@@ -304,6 +485,243 @@
                 return objJsonResult;
             }
         }
+
+        #region 宸ュ簭娴佽浆鍗″彧鏄剧ず宸ュ簭鏁版嵁
+        [Route("LEMS/MES_ProcessExchangeBillList_PG")]
+        [HttpGet]
+        public object MES_ProcessExchangeBillList_PG(string sWhere, string user, int OperationType)
+        {
+            DataSet ds;
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (OperationType == 1)
+                {
+                    //鑾峰彇绯荤粺鍙傛暟
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛涓烘澀宸炴柉鑾皵
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                        {
+                            sWhere += "  ";
+
+                        }
+                        else
+                        {
+                            sWhere += "  ";
+                        }
+                    }
+
+                    SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                    ds = oCN.RunProcReturn("select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeArrangementList_PG");
+                }
+                else
+                {
+                    //鑾峰彇绯荤粺鍙傛暟
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛涓烘澀宸炴柉鑾皵
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                        {
+
+
+                        }
+                    }
+
+                    SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere, "h_v_Sc_ProcessExchangeArrangementList_PG");
+                }
+
+                //娣诲姞鍒楀悕
+                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.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 宸ュ簭娴佽浆鍗� 娲惧伐(鏂帿灏�)
+        [Route("LEMS/ProcessExchangeArrangement_Add_PG")]
+        [HttpGet]
+        public object ProcessExchangeArrangement_Add_PG(string HInterID_S, int HSourceID, long HOrgID, string user)
+        {
+            DataSet ds;
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娴佽浆鍗℃棤缂栬緫鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var HNum = HInterID_S.Split(',');
+
+                for (int j = 0; j < HNum.Length; j++)
+                {
+                    long HInterID = long.Parse(HNum[j].Split('|')[0]);
+                    long HEntryID = long.Parse(HNum[j].Split('|')[1]);
+                    ds = oCN.RunProcReturn(@"select a.HMaterID,b.HProcID,a.HBillNo from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID 
+where a.HInterID=" + HInterID + " and b.HEntryID=" + HEntryID, "Sc_ProcessExchangeBillMain");
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏌ユ棤姝ゅ伐搴忔祦杞崱锛�";
+                        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);
+
+                    oCN.RunProc("exec h_p_Sc_ICMOBillStatus_Tmp_PG " + HInterID + "," + HEntryID);
+                  
+                    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 = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍙栨秷娲惧伐鍔熻兘(鏂帿灏�)
+        [Route("LEMS/ProcessExchangeArrangementDel_PG")]
+        [HttpGet]
+        public object ProcessExchangeArrangementDel_PG(string HInterID_S, int HSourceID, string user)
+        {
+            DataSet ds;
+            DataSet ds1;
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娴佽浆鍗℃棤缂栬緫鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var HNum = HInterID_S.Split(',');
+
+                oCN.BeginTran();
+
+                for (int j = 0; j < HNum.Length; j++)
+                {
+
+                    long HInterID = long.Parse(HNum[j].Split('|')[0]);
+                    long HEntryID = long.Parse(HNum[j].Split('|')[1]);
+                    ds = oCN.RunProcReturn(@"select a.HMaterID,b.HProcID,a.HBillNo from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID 
+where a.HInterID=" + HInterID + " and b.HEntryID=" + HEntryID, "Sc_ProcessExchangeBillMain");
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏌ユ棤姝ゅ伐搴忔祦杞崱锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp where HSourceInterID=" + HInterID + " and HSourceEntryID=" + HEntryID + "  and HSourceID=" + HSourceID, "Sc_ICMOBillStatus_Tmp");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎶ュ伐鏌ユ棤鏁版嵁锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HICMOStatus"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "娴佽浆鍗″搴旂殑鎶ュ伐鏁版嵁涓嶄负鏈紑宸ョ姸鎬�,鏃犳硶鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+
+                    oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=0 where HInterID=" + HInterID + " and HEntryID=" + HEntryID);
+                    oCN.RunProc("delete from Sc_ICMOBillStatus_Tmp where HSourceInterID=" + HInterID + " and HSourceEntryID=" + HEntryID);
+                }
+
+                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 = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         #region 鎺掔几鍔熻兘
         [Route("LEMS/ProcessExchangeArrangement_Add")]
@@ -539,7 +957,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -572,6 +990,7 @@
 
                 //鑾峰彇绯荤粺鍙傛暟
                 string Ret = "";
+                string Count = "";
                 if (oSystemParameter.ShowBill(ref Ret))
                 {
                     //鍒ゆ柇瀹㈡埛涓洪緳灞辨苯閰�
@@ -582,10 +1001,16 @@
 
                         sWhere += sql_splice;                        
                     }
+                    //鍒ゆ柇瀹㈡埛涓虹憺涓庣ズ
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                    {
+                        Count = "top 1000";
+                    }
                 }
 
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeIssueBillQuery");
+                ds = oCN.RunProcReturn("select " + Count + " * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc,CONVERT(int,娴佹按鍙�) asc", "h_v_Sc_ProcessExchangeIssueBillQuery");
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
@@ -782,6 +1207,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>
         /// 杩斿洖宸ヨ壓璺嚎鍒楄〃
@@ -795,6 +1274,7 @@
             DataSet ds;
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (HBillSubType == "SUB")
                 {
                     //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
@@ -846,13 +1326,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)
             {
@@ -880,6 +1372,7 @@
             DataSet ds;
             try
             {
+                //List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                 {
@@ -920,6 +1413,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)
             {
@@ -951,7 +1456,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))
@@ -1096,6 +1601,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";
@@ -1104,11 +1632,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";
@@ -1250,6 +1831,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>
@@ -1264,7 +1878,8 @@
             DataSet ds;
             try
             {
-                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                List<object> columnNameList = new List<object>()
+;                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQuery", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -1289,6 +1904,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)
             {
@@ -1300,6 +1931,230 @@
             }
             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>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <returns></returns>
+        [Route("LEMS/MES_IF_ICMOBillList_Json_LookDown")]
+        [HttpGet]
+        public object MES_IF_ICMOBillList_Json_LookDown(int HInterID)
+        {
+            DataSet ds;
+            try
+            {
+                List<object> columnNameListSum = new List<object>();
+                List<object> columnNameList0 = new List<object>();
+                List<object> columnNameList1 = new List<object>();
+                List<object> columnNameList2 = new List<object>();
+                List<object> columnNameList3 = new List<object>();
+                List<object> columnNameList4 = new List<object>();
+                List<object> columnNameList5 = new List<object>();
+                List<object> columnNameList6 = new List<object>();
+
+                string sql = "exec h_p_Sc_ICMOBillList_LookDown " + HInterID;
+                ds = oCN.RunProcReturn(sql, "h_p_Xs_SeOrderBill_lookdown");
+
+                //娣诲姞 宸ュ簭杩涚珯鎺ユ敹鍗� 鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList0.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //娣诲姞 宸ュ簭鍑虹珯姹囨姤鍗� 鍒楀悕
+                foreach (DataColumn col in ds.Tables[1].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList1.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //娣诲姞 鎸囧紩鍗″紑宸ュ崟 鍒楀悕
+                foreach (DataColumn col in ds.Tables[2].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList2.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //娣诲姞 鎸囧紩鍗″畬宸ュ崟 鍒楀悕
+                foreach (DataColumn col in ds.Tables[3].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList3.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //娣诲姞 宸ュ簭娴佽浆鍗� 鍒楀悕
+                foreach (DataColumn col in ds.Tables[4].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList4.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //娣诲姞 鐢熶骇棰嗘枡鍗� 鍒楀悕
+                foreach (DataColumn col in ds.Tables[5].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList5.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //娣诲姞 鐢熶骇璁㈠崟鍙樻洿鍗� 鍒楀悕
+                foreach (DataColumn col in ds.Tables[6].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList6.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                columnNameListSum.Add(columnNameList0);
+                columnNameListSum.Add(columnNameList1);
+                columnNameListSum.Add(columnNameList2);
+                columnNameListSum.Add(columnNameList3);
+                columnNameListSum.Add(columnNameList4);
+                columnNameListSum.Add(columnNameList5);
+                columnNameListSum.Add(columnNameList6);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables;
+                objJsonResult.list = columnNameListSum;
+                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/ProductionAnalysisReportList")]
@@ -1321,6 +2176,140 @@
                 else
                 {
                       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)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閿�鍞粺璁℃姤琛�
+        [Route("LEMS/SeOutReportList")]
+        [HttpGet]
+        public object SeOutReportList(string DateYear, string HType, string user)
+        {
+            try
+            {
+                DataSet ds;
+                List<object> columnNameList = new List<object>();
+
+                if (DateYear == null || DateYear.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇烽�夋嫨鏈夋晥骞翠唤";
+                    return objJsonResult;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec [h_p_Xe_SeOutReportList] '" + 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 閿�鍞彂璐х粺璁℃姤琛�
+        [Route("LEMS/SeOutStockReportList")]
+        [HttpGet]
+        public object SeOutStockReportList(string DateYear, string HType, string user)
+        {
+            try
+            {
+                DataSet ds;
+                List<object> columnNameList = new List<object>();
+
+                if (DateYear == null || DateYear.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇烽�夋嫨鏈夋晥骞翠唤";
+                    return objJsonResult;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec [h_p_Xs_SeOutStockReportList] '" + DateYear + "','" + HType + "'", "[h_p_Sc_ProductionAnalysisReportList]");
                 }
 
                 //娣诲姞鍒楀悕
@@ -1541,6 +2530,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銆�
@@ -1584,7 +2661,7 @@
             {
                 List<object> columnNameList = new List<object>();
                
-                //娣诲姞鍒楀悕
+               //娣诲姞鍒楀悕
                 foreach (DataColumn col in ds.Tables[0].Columns)
                 {
                     Type dataType = col.DataType;
@@ -1594,16 +2671,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;
             }
@@ -2401,6 +3479,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_RoutingBillCheck " + 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]
@@ -2432,7 +3656,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))
                 {
@@ -2465,20 +3705,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)
@@ -2493,7 +3817,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");
@@ -2527,6 +3851,8 @@
             }
             catch (Exception e)
             {
+                oCN.RollBack();
+
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
@@ -2600,6 +3926,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))
                     {
@@ -2608,6 +3944,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
@@ -2622,10 +3969,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))
@@ -2635,6 +3992,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);
+                        }
                     }
                 }
 
@@ -2658,7 +4026,46 @@
         }
         #endregion
 
+      
 
+        #region 鎶ヨ〃鏌ョ湅鏉冮檺鎺у埗
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("LMES/getReportByModRightNameCheck")]
+        [HttpGet]
+        public object getReportByModRightNameCheck(string ModRightNameCheck, string user)
+        {
+            try
+            {
+                string s = "";
 
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1