| using Newtonsoft.Json; | 
| using Newtonsoft.Json.Linq; | 
| using Pub_Class; | 
| using SyntacticSugar.constant; | 
| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using System.Data; | 
| using System.Data.SqlClient; | 
| using System.Web.Http; | 
| using System.Windows.Forms; | 
| using WebAPI.Models; | 
| namespace WebAPI.Controllers | 
| { | 
|     public class LMESController : ApiController | 
|     { | 
|         public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
|   | 
|         private json objJsonResult = new json(); | 
|         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> | 
|         /// 返回进站扫描列表|工序进站接收单列表  | 
|         ///参数:string sql。 | 
|         ///返回值:object。     | 
|         /// </summary> | 
|         [Route("LEMS/MES_StationInBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_StationInBillList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_MES_StationInBillList", "h_v_MES_StationInBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_MES_StationInBillList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_MES_StationInBillList"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回工序流转卡维护列表主表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_Sc_ProcessExchangeBillQuery_Json")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessExchangeBillList_Json(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 * from h_v_Sc_ProcessExchangeBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillQuery"); | 
|   | 
|   | 
|                 //添加列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|                  | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         #region 工序流转卡维护-查询 | 
|         /// <summary> | 
|         /// 返回工序流转卡维护列表主表 | 
|         ///参数:string 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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> | 
|         /// 返回工序流转卡维护列表主表 | 
|         ///参数:string 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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> | 
|         /// 返回工序流转卡维护列表主表 | 
|         ///参数:string 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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> | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <returns></returns> | 
|         [Route("LEMS/MES_Sc_ProcessExchangeBillQuery_LookDown")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessExchangeBillQuery_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>(); | 
|   | 
|                 string sql = "exec h_p_Sc_ProcessExchangeBillList_LookDown " + HInterID; | 
|                 ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchangeBillList_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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 工序出站汇报单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 指引卡开工单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 指引卡完工单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 ////添加 工序流转卡 列名 | 
|                 //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));//获取到DataColumn列对象的列名 | 
|                 //} | 
|   | 
|                 columnNameListSum.Add(columnNameList0); | 
|                 columnNameListSum.Add(columnNameList1); | 
|                 columnNameListSum.Add(columnNameList2); | 
|                 columnNameListSum.Add(columnNameList3); | 
|                 //columnNameListSum.Add(columnNameList4); | 
|   | 
|                 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 | 
|   | 
|   | 
|         /// <summary> | 
|         /// 工序流转卡只显示工序染厂的数据 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <param name="user"></param> | 
|         /// <returns></returns> | 
|         [Route("LEMS/MES_ProcessExchangeBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_ProcessExchangeBillList_Json(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 += " and 工序='染厂' "; | 
|   | 
|                         } | 
|                         else { | 
|                             sWhere += " and 工序='粗磨' "; | 
|                         } | 
|                     } | 
|   | 
|                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                     ds = oCN.RunProcReturn("select top 1000 * from h_v_Sc_ProcessExchangeBillList where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillList"); | 
|                 } | 
|                 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 where 1 = 1 " + sWhere , "h_v_Sc_ProcessExch_v_Sc_ProcessExchangeArrangementListhangeBillList"); | 
|                 } | 
|   | 
|                 //添加列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         #region 工序流转卡只显示工序数据 | 
|         [Route("LEMS/MES_ProcessExchangeBillList_PG")] | 
|         [HttpGet] | 
|         public object MES_ProcessExchangeBillList_PG(string sWhere, string user, int OperationType) | 
|         { | 
|             DataSet ds; | 
|             string sql = ""; | 
|             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; | 
|                 } | 
|   | 
|                 sql = "select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " order by hmainid desc "; | 
|   | 
|                 if (OperationType == 1) | 
|                 { | 
|                     //获取系统参数 | 
|                     string Ret = ""; | 
|                     if (oSystemParameter.ShowBill(ref Ret)) | 
|                     { | 
|                         //判断客户为杭州斯莫尔 | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔") | 
|                         { | 
|                             sWhere += "  "; | 
|   | 
|                         } | 
|                         else if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特") | 
|                         { | 
|                             sql = "select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere; | 
|                         } | 
|                         else | 
|                         { | 
|                             sWhere += "  "; | 
|                         } | 
|                     } | 
|   | 
|                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeArrangementList_PG"); | 
|                 } | 
|                 else | 
|                 { | 
|                     //获取系统参数 | 
|                     string Ret = ""; | 
|                     if (oSystemParameter.ShowBill(ref Ret)) | 
|                     { | 
|                         //判断客户为杭州斯莫尔 | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔") | 
|                         { | 
|   | 
|   | 
|                         } | 
|                         else if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特") | 
|                         { | 
|                             sql = "select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere; | 
|                         } | 
|                     } | 
|                     sql = "select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " "; | 
|   | 
|                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                     ds = oCN.RunProcReturn(sql, "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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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")] | 
|         [HttpGet] | 
|         public object ProcessExchangeArrangement_Add(string HInterID_S, int HSourceID,long HOrgID,string user) | 
|         { | 
|             DataSet ds; | 
|             DataSet ds1; | 
|             DataSet ds2; | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_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; | 
|                     } | 
|   | 
|                     //查询子工艺路线物料 工序 | 
|                     string HMaterID = ds.Tables[0].Rows[0]["HMaterID"].ToString(); | 
|                     string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString(); | 
|   | 
|                     ds2 = oCN.RunProcReturn(@"select  a.HMaterID,a.HMainProcID,b.* from Gy_RoutingBillMain a     inner join Gy_RoutingBillSub b on a.HInterID=b.HInterID where a.HMaterID=" + HMaterID + " and a.HMainProcID=" + HProcID + " and a.HBillSubType='SUB'", "Gy_RoutingBillMain"); | 
|                     if (ds2.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         long HGYInterID = DBUtility.ClsPub.CreateBillID("3301", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                         string HGYBillNo = DBUtility.ClsPub.CreateBillCode("3301", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                         oCN.RunProc("exec h_p_gy_Materl_PG " + HGYInterID + ",'" + HGYBillNo + "'," + HMaterID); | 
|                     } | 
|                     | 
|   | 
|                     ds1 = oCN.RunProcReturn(@"select  a.HMaterID,a.HMainProcID,b.* from Gy_RoutingBillMain a     inner join Gy_RoutingBillSub b on a.HInterID=b.HInterID where a.HMaterID=" + HMaterID + " and a.HMainProcID=" + HProcID + " and a.HBillSubType='SUB'", "Gy_RoutingBillMain"); | 
|                     if (ds1.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "无默认工艺路线!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); | 
|                     string sReturn = ""; | 
|                     DBUtility.ClsPub.HOrgID = HOrgID; | 
|                     oBill.ShowBill(HInterID, ref sReturn); | 
|   | 
|                     oCN.BeginTran(); | 
|   | 
|                     long HInterID1 = DBUtility.ClsPub.CreateBillID(oBill.omodel.HBillType, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     string HBillNo = DBUtility.ClsPub.CreateBillCode(oBill.omodel.HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                     HBillNo = HBillNo.Replace("GXLX", "ZYK0"); | 
|                     oBill.omodel.HInterID = HInterID1; | 
|                     oBill.omodel.HBillNo = HBillNo; | 
|                     oBill.omodel.HBillSubType = "SUB"; | 
|                     oBill.omodel.HDate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); | 
|                     oBill.omodel.HMaker = user; | 
|                     oBill.omodel.HMakeDate = DateTime.Now.ToString(); | 
|                     oBill.omodel.HMainSourceInterID = HInterID; | 
|                     oBill.omodel.HMainSourceEntryID = HEntryID; | 
|                     oBill.omodel.HMainSourceBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); | 
|   | 
|                     oBill.DetailColl.Clear(); | 
|   | 
|   | 
|                     for (int i = 0; i < ds1.Tables[0].Rows.Count; i++) | 
|                     { | 
|                         Model.ClsSc_ProcessExchangeBillSub oSub = new Model.ClsSc_ProcessExchangeBillSub(); | 
|                         oSub.HInterID = HInterID1; | 
|                         oSub.HEntryID = (i + 1); | 
|                         oSub.HProcNo = long.Parse(ds1.Tables[0].Rows[i]["HProcNo"].ToString()); | 
|                         oSub.HProcID = long.Parse(ds1.Tables[0].Rows[i]["HProcID"].ToString()); | 
|                         oSub.HWorkRemark = ds1.Tables[0].Rows[i]["HRemark"].ToString(); | 
|                         oSub.HCenterID = long.Parse(ds1.Tables[0].Rows[i]["HCenterID"].ToString()); | 
|                         oSub.HSupID = long.Parse(ds1.Tables[0].Rows[i]["HSupID"].ToString()); | 
|                         oSub.HSupFlag = ds1.Tables[0].Rows[i]["HSupFlag"].ToString() == "1" ? true : false; | 
|                         oSub.HQty = oBill.omodel.HQty; | 
|                         oSub.HTechnologyParameter = ""; | 
|                         oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                         oBill.DetailColl.Add(oSub); | 
|                     } | 
|   | 
|                     bool bResult = false; | 
|                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                     oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSourceID + " where HInterID=" + HInterID + " and HEntryID=" + HEntryID); | 
|   | 
|                     if (!bResult) | 
|                     { | 
|                         oCN.RollBack(); | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "派工失败!" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     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")] | 
|         [HttpGet] | 
|         public object ProcessExchangeArrangementDel(string HInterID_S, int HSourceID, long HOrgID, string user) | 
|         { | 
|             DataSet ds; | 
|             DataSet ds1; | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_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++) | 
|                 { | 
|   | 
|                     ds = oCN.RunProcReturn(@"select * from Sc_ProcessExchangeBillMain a where a.HInterID=" + HNum[j], "Sc_ProcessExchangeBillMain"); | 
|                     if (ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "查无此子工序流转卡!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     string HMainSourceInterID = ds.Tables[0].Rows[0]["HMainSourceInterID"].ToString(); | 
|                     string HMainSourceEntryID = ds.Tables[0].Rows[0]["HMainSourceEntryID"].ToString(); | 
|   | 
|                     ds1 = oCN.RunProcReturn(@"select * from Sc_ProcessExchangeBillMain where HInterID=" + HMainSourceInterID, "Sc_ProcessExchangeBillMain"); | 
|                     if (ds1.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "查无此子工序流转卡对应的主工序流转卡!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|   | 
|                     oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=0 where HInterID=" + HMainSourceInterID + " and HEntryID=" + HMainSourceEntryID); | 
|                     oCN.RunProc("delete from Sc_ProcessExchangeBillMain where HInterID=" + HNum[j]); | 
|                     oCN.RunProc("delete from Sc_ProcessExchangeBillSub where HInterID=" + HNum[j]); | 
|                 } | 
|   | 
|                 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 | 
|   | 
|         /// <summary> | 
|         /// 返回工序流转卡维护列表从表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_Sc_ProcessExchangeBillQuerySub_Json")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessExchangeBillSub_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 string sql = "select * from h_v_Sc_ProcessExchangeBillQuerySub where hmainid = "; | 
|                 string sql1 = sql + sWhere; | 
|                 ds = oCN.RunProcReturn(sql1 + " order by cast(工序号 as int)", "h_v_Sc_ProcessExchangeBillQuerySub"); | 
|                 return GetObjectJson(ds); | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "[0000-1-045]没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回工序流转卡维护列表从表 | 
|         ///参数:string 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; | 
|             } | 
|         } | 
|   | 
|         #region 工序流转卡(下达) | 
|   | 
|         /// <summary> | 
|         /// 返回工序流转卡(下达)列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|   | 
|         [Route("LEMS/MES_Sc_ProcessExchangeIssueBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessExchangeIssueBillList_Json(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 ////判断是否有查询权限 | 
|                 //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 = ""; | 
|                 string Count = ""; | 
|                 if (oSystemParameter.ShowBill(ref Ret)) | 
|                 { | 
|                     //判断客户为龙山汽配 | 
|                     if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") | 
|                     { | 
|                         //获取需要拼接的字符串 | 
|                         string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "工序派工单明细列表"); | 
|   | 
|                         sWhere += sql_splice;                         | 
|                     } | 
|                     //判断客户为瑞与祺 | 
|                     if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺") | 
|                     { | 
|                         Count = "top 1000"; | 
|                     } | 
|                 } | 
|   | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 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!"; | 
|                 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; | 
|             } | 
|         } | 
|         /// <summary> | 
|         /// 工序流转卡下达 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("LEMS/MES_Sc_ProcessExchangeIssue")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessExchangeIssue(string HGroupID, string HSourceID, string HSourceSub1ID, string HSourceSub2ID, string HSourceSub3ID, string HEntryId) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 ds = oCN.RunProcReturn($"exec REALESE_Sc_ProcessExchangeIssue '{HGroupID}','{HSourceID}','{HSourceSub1ID}','{HSourceSub2ID}','{HSourceSub3ID}','{HEntryId}' ", "REALESE_Sc_ProcessExchangeIssue"); | 
|                 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 = "异常!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         /// <summary> | 
|         /// 工序流转卡指派日期 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("LEMS/MES_Sc_ProcessExchangePlanDate")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessExchangePlanDate(string HPlanBeginDate, string HPlanEndDate, string HEntryId) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 string sql = string.Format(@" | 
| update Sc_ProcessExchangeBillSub set  | 
| HPlanBeginDate = '{0}',  | 
| HPlanEndDate = '{1}'  | 
| where cast(HInterID as varchar(20))  +'-'+  cast(HEntryID as varchar(20)) in  | 
| ( | 
|  select * from fn_Split('{2}',',') | 
| )", HPlanBeginDate, HPlanEndDate, HEntryId); | 
|                 oCN.RunProc(sql); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "异常!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         /// <summary> | 
|         /// 工序流转卡反下达 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("LEMS/MES_Sc_ProcessExchangeCancelIssue")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessExchangeCancelIssue(string HEntryId) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 string sql = string.Empty; | 
|                 //删除生产状态表临时表数据 | 
|                 sql = string.Format(@" | 
| delete from Sc_ICMOBillStatus_Tmp    | 
| where   | 
| cast(HSOURCEINTERID as varchar(20))  +'-'+  cast(HSOURCEENTRYID as varchar(20)) in  | 
| ( | 
| select * from fn_Split('{0}',',') | 
| )", HEntryId); | 
|                 oCN.RunProc(sql); | 
|                 //更改订单状态 | 
|                 sql = string.Format(@" | 
| update Sc_ProcessExchangeBillSub set  | 
| HGroupID=0, --班组 | 
| HSourceID=0, --生产资源 | 
| HIssue = 0 --下达状态 | 
| where cast(HInterID as varchar(20))  +'-'+  cast(HEntryID as varchar(20)) in  | 
| ( | 
| select * from fn_Split('{0}',',') | 
| )", HEntryId); | 
|                 oCN.RunProc(sql); | 
|                 objJsonResult.code = "1"; | 
|                 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 | 
|   | 
|         /// <summary> | 
|         /// 返回工序出站汇报单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_StationOutBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_StationOutBillList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList ", "h_v_MES_StationInBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_MES_StationOutBillList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回工序委外发出单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_StationEntrustInBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_StationEntrustInBillList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList ", "h_v_MES_StationEntrustInBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_MES_StationEntrustInBillList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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> | 
|         /// 返回工艺路线列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_Gy_RoutingBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_Gy_RoutingBillList_Json(string sWhere, string user,string HBillSubType) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 if (HBillSubType == "SUB") | 
|                 { | 
|                     //判断是否有查询权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Query", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "子工艺路线无权限查询!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                 } | 
|                 else { | 
|   | 
|                     //判断是否有查询权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_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(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where 1 = 1" + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Gy_RoutingBillList where 1 = 1 "; | 
|                     //客户自定义 | 
|                     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));//获取到DataColumn列对象的列名 | 
|                 } | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 objJsonResult.list = columnNameList; | 
|                | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 工艺路线历史列表 | 
|         /// <summary> | 
|         /// 返回工艺路线历史列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_Gy_RoutingBillList_His")] | 
|         [HttpGet] | 
|         public object MES_Gy_RoutingBillList_His(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //List<object> columnNameList = new List<object>();  //定义声明变量 ,把通过 new List<object>()创建的 实例,赋值给变量 | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_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(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList_His where 1 = 1" + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Gy_RoutingBillList_His where 1 = 1 "; | 
|                     //客户自定义 | 
|                     if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺"|| oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特") | 
|                     { | 
|                         sql1 = "select top 1000 * from h_v_Gy_RoutingBillList_His where 1 = 1 "; | 
|                     } | 
|                     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中第一个表(Tables[0])的所有列(Columns)每次循环中,col变量会持有当前列的引用 | 
|                 //{ | 
|                 //    Type dataType = col.DataType; //获取当前数据类型传入 自定义变量datadataType | 
|                 //    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //字符串拼接         // 将列名和数据类型信息拼接成一个JSON格式的字符串 | 
|                 //    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
|                 //} | 
|                 //objJsonResult.code = "1"; | 
|                 //objJsonResult.count = 1; | 
|                 //objJsonResult.Message = "Sucess!"; | 
|                 //objJsonResult.data = ds.Tables[0];//代码将第一个DataTable(索引为0)赋值给objJsonResult的data属性 | 
|                 //objJsonResult.list = columnNameList;//将columnNameList赋值给objJsonResult的list属性 | 
|               | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #endregion        | 
|   | 
|         #region 查看工艺路线列表工价权限 | 
|         /// <summary> | 
|         /// 判断有无查看工价权限 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Web/CheckProcPrice")] | 
|         [HttpGet] | 
|         public object CheckProcPrice(string UserName) | 
|         { | 
|             try | 
|             { | 
|                 //获取系统参数 | 
|                 string Ret = ""; | 
|                 if (oSystemParameter.ShowBill(ref Ret)) | 
|                 { | 
|                     //判断客户为龙山汽配 | 
|                     if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配" || oSystemParameter.omodel.WMS_CampanyName == "添康科技") | 
|                     { | 
|                         //判断是否有查询工价权限 | 
|                         if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_CheckProcPrice", 1, false, UserName)) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "无查看工价权限!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "查看成功!"; | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "异常!" + e.Message; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; ; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 修改工艺路线工价权限 | 
|         /// <summary> | 
|         /// 判断有无修改工价权限 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Web/EditProcPrice")] | 
|         [HttpGet] | 
|         public object EditProcPrice(string UserName) | 
|         { | 
|             try | 
|             { | 
|                 //获取系统参数 | 
|                 string Ret = ""; | 
|                 if (oSystemParameter.ShowBill(ref Ret)) | 
|                 { | 
|                     //判断客户为龙山汽配 | 
|                     if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") | 
|                     { | 
|                         //判断是否有查询工价权限 | 
|                         if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_EditProcPrice", 1, false, UserName)) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "无修改工价权限!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "修改成功!"; | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "异常!" + e.Message; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; ; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 工艺路线  删除 | 
|         /// <summary> | 
|         /// 工艺路线删除功能 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("LEMS/DeltetGy_RoutingBillSub")] | 
|         [HttpGet] | 
|         public object DeltetGy_RoutingBillSub(Int64 lngBillKey, string user,string HBillSubType) | 
|         { | 
|             DataSet ds; | 
|             | 
|             try | 
|             { | 
|                 if (HBillSubType == "SUB") | 
|                 { | 
|                     //删除权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Drop", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "子工艺路线删除失败!无权限!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 else { | 
|                     //删除权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Drop", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "工艺路线删除失败!无权限!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 string HComputerName = SystemInformation.ComputerName; //设备名称 | 
|                 | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (lngBillKey == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据id为空!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 oCN.BeginTran();//开始事务 | 
|                 ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HInterID=" + lngBillKey, "Gy_RoutingBillmain"); | 
|                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有数据,无法删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; ; | 
|                 } | 
|                 string HChecker = Convert.ToString(ds.Tables[0].Rows[0]["HChecker"]); | 
|                 //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]); | 
|                 if (HChecker != "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据已经审核,不能删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]); | 
|                 //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]); | 
|                 if (HBillStatus == "6") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据在审核中,不能删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 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"; | 
|                 //    objJsonResult.count = 0; | 
|                 //    objJsonResult.Message = "单据已经作废,不能删除!"; | 
|                 //    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); | 
|   | 
|                 //删除后控制==================================================================================       | 
|                 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"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "* 数据删除成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; ; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "删除失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 工艺路线基础列表 | 
|         /// <summary> | 
|         /// 返回工艺路线列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/Gy_RoutingBillList")] | 
|         [HttpGet] | 
|         public object Gy_RoutingBillList(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|   | 
|                 string sql1 = "select * from h_v_Gy_RoutingBillList_Base where 1 = 1 "; | 
|                 string sql = sql1 + sWhere + " order by hmainid desc"; | 
|                 ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_Base"); | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 工艺路线(维护工价) | 
|         /// <summary> | 
|         /// 返回工艺路线列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_Gy_RoutingBillMainRates_Json")] | 
|         [HttpGet] | 
|         public object MES_Gy_RoutingBillMainRates_Json(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList_MainRate order by hmainid desc", "h_v_Gy_RoutingBillList_MainRate"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Gy_RoutingBillList_MainRate where 1 = 1 "; | 
|                     string sql = sql1 + sWhere + " order by hmainid desc,cast(工序号 as int)"; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_MainRate"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 判断物料是否已经存在工艺路线 | 
|         /// <summary> | 
|         /// 返回工艺路线列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/IsExistRoutingByMaterial")] | 
|         [HttpGet] | 
|         public object IsExistRoutingByMaterial(int HMaterID, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             {                | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|   | 
|                 ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HMaterID = '" + HMaterID + "'", "Gy_RoutingBillMain");                | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region  工艺路线批改小时产能 | 
|         [Route("Gy_RoutingBill/BulkWorkQty")] | 
|         [HttpGet] | 
|         public object BulkWorkQty(string HMaterNumber1, string HMaterNumber2,string HProcID, string HWorkQty) | 
|         { | 
|             try | 
|             { | 
|                 oCN.BeginTran(); | 
|   | 
|                 string sql = $"update b set b.HWorkQty = {HWorkQty} from Gy_RoutingBillMain a left join Gy_RoutingBillSub b on a.HInterID = b.HInterID left join Gy_Material m on a.HMaterID = m.HItemID where m.HNumber between '{HMaterNumber1}' and '{HMaterNumber2}' and b.HProcID = {HProcID} and a.HCloseMan = ''"; | 
|   | 
|                 //执行更新上班工时语句 | 
|                 oCN.RunProc(sql); | 
|   | 
|                 oCN.Commit(); | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "批改成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #endregion | 
|   | 
|         /// <summary> | 
|         /// 返回生产任务单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_IF_ICMOBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_IF_ICMOBillList_Json(string sWhere, string user) | 
|         { | 
|             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; | 
|                     } | 
|                 } | 
|   | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //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) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 工序出站汇报单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 指引卡开工单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 指引卡完工单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 工序流转卡 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 生产领料单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 //添加 生产订单变更单 列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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")] | 
|         [HttpGet] | 
|         public object ProductionAnalysisReportList(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_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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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 螺母检验CCD合格率 | 
|         [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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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]"); | 
|                 } | 
|   | 
|                 //添加列名 | 
|                 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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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/sc_ICOMReportClose")] | 
|         [HttpPost] | 
|         public object sc_ICOMReportClose([FromBody] JObject sMainSub) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 var _value = sMainSub["sMainSub"].ToString(); | 
|                 string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|                 string HICOMBillNoNum = sArray[0].ToString();  | 
|                 string user = sArray[1].ToString();  | 
|   | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 var HICOMBillNo = HICOMBillNoNum.Split(','); | 
|   | 
|                 oCN.BeginTran(); | 
|                 for (int i = 0; i < HICOMBillNo.Length; i++) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from Sc_ICMOBillMain where HBillNo='" + HICOMBillNo[i] + "'", "Sc_ICMOBillMain"); | 
|                     if (ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "查无数据!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     oCN.RunProc("update Sc_ICMOBillSub set HSTATUS=5 where HInterID=" + ds.Tables[0].Rows[0]["HInterID"].ToString()); | 
|                 } | 
|                 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/sc_ICOMReportAddHRemark")] | 
|         [HttpPost] | 
|         public object sc_ICOMReportAddHRemark([FromBody] JObject sMainSub) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 var _value = sMainSub["sMainSub"].ToString(); | 
|                 string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|                 string HICOMBillNo = sArray[0].ToString(); | 
|                 string HRemark = sArray[1].ToString(); | 
|                 string user = sArray[2].ToString(); | 
|   | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|   | 
|                 ds = oCN.RunProcReturn("select * from Sc_ICMOBillMain where HBillNo='" + HICOMBillNo + "'", "Sc_ICMOBillMain"); | 
|                 if (ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "查无数据!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 oCN.RunProc("update Sc_ICMOBillMain set HRemark2='" + HRemark + "' where HBillNo='" + HICOMBillNo + "'"); | 
|   | 
|                 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/ICMOBillCheck")] | 
|         [HttpGet] | 
|         public object ICMOBillCheck(string hmainid,string HEntryID,int OrganizationID) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1  and hmainid=" + hmainid + " and  HEntryID=" + HEntryID + " order by 单据号 desc", "h_v_IF_ICMOBillList"); | 
|                 string HNumber = ds.Tables[0].Rows[0]["产品代码"].ToString(); | 
|   | 
|                 if (ds.Tables[0].Rows[0]["审核人"].ToString() == "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "所选生产订单为未审核状态,不允许下推生成工序流转卡!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 if (ds.Tables[0].Rows[0]["关闭人"].ToString() != "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "所选生产订单为已关闭状态,不允许下推生成工序流转卡!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 if (ds.Tables[0].Rows[0]["作废人"].ToString() != "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "所选生产订单为已作废状态,不允许下推生成工序流转卡!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ds = oCN.RunProcReturn("select * from h_v_S_Sc_ICMOBillList where hmainid=" + hmainid + " and HEntryID=" + HEntryID + " and HSTOCKINORGID='" + OrganizationID + "'", "h_v_S_Sc_ICMOBillList"); | 
|   | 
|                 if (double.Parse(ds.Tables[0].Rows[0]["流转卡数量"].ToString()) == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "所选生产订单已全部下推生成工序流转卡,剩余可下推数量为0,不允许下推生成工序流转卡!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ds = oCN.RunProcReturn("select top 1000 * from h_v_Gy_RoutingBillList where 物料代码='" + HNumber + "'", "h_v_Gy_RoutingBillList"); | 
|   | 
|                 if (ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "所选生产订单对应物料未设置对应的工艺路线,不允许下推生成工序流转卡!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = ""; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #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));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 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> | 
|         /// 返回工序委外接收单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_StationEntrustOutBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_StationEntrustOutBillList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustOutBillList ", "h_v_MES_StationEntrustOutBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_MES_StationEntrustOutBillList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustOutBillList"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         ///<summary> | 
|         ///封装状态码及返回信息的公用方法。 | 
|         ///参数:DataSet。 | 
|         ///返回值:json。 | 
|         ///</summary> | 
|         public object GetObjectJson(DataSet ds) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 | 
|                //添加列名 | 
|                 foreach (DataColumn col in ds.Tables[0].Columns) | 
|                 { | 
|                     Type dataType = col.DataType; | 
|                     string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; | 
|                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 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 = "[0000-1-010]没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         ///<summary> | 
|         ///自定义错误信息方法。 | 
|         ///参数:string。 | 
|         ///返回值:object。 | 
|         ///</summary> | 
|         public object CustomError(string msg) | 
|         { | 
|             objJsonResult.code = "0"; | 
|             objJsonResult.count = 0; | 
|             objJsonResult.Message = msg; | 
|             objJsonResult.data = null; | 
|             return objJsonResult; | 
|         } | 
|   | 
|         ///<summary> | 
|         ///统一正确信息方法。 | 
|         ///参数:string。 | 
|         ///返回值:object。 | 
|         ///</summary> | 
|         public object CustomCorrect(DataSet ds) | 
|         { | 
|             if (ds == null || ds.Tables[0].Rows.Count <= 0) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "[0000-1-045]没有返回任何记录!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             else | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "[0000-1-050]获取信息成功!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回选择生产班组列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_GetProductionTeamList_Json")] | 
|         [HttpGet] | 
|         public object MES_GetProductionTeamList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 ds = oCN.RunProcReturn("Select HItemID,HNumber 班组代码,HName 班组 from h_v_IF_Group where HStopflag=0 " + sWhere + " Order by HItemID ", "h_v_IF_Group"); | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回选择生产资源列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_GetProductionResourcesList_Json")] | 
|         [HttpGet] | 
|         public object MES_GetProductionResourcesList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 ds = oCN.RunProcReturn("Select HItemID,HNumber 生产资源代码,HName 生产资源 from Gy_Source where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source"); | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 扫条码方法(进站接收单、出站汇报单) | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/TxtHBarCode_KeyDown")] | 
|         [HttpGet] | 
|         public object TxtHBarCode_KeyDown(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 + "'", "h_v_Sc_ProcessExchangeBillList"); | 
|                     if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         return CustomError("不存在此流转卡号!"); | 
|                     } | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 流水号回车方法(进站接收单、出站汇报单) | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/TxtHProcNo_KeyDown")] | 
|         [HttpGet] | 
|         public object TxtHProcNo_KeyDown(string sProcNo, string sBillNo) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sProcNo == null || sProcNo.Equals("") || sBillNo == null || sBillNo.Equals("")) | 
|                 { | 
|                     return CustomError("流水号或流转卡号为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 单据号= '" + sBillNo + "' and 下道流转工序<>'转' and 委外标记=0 and 流转标记=1  and 工序号='" + sProcNo + "'", "h_v_Sc_ProcessExchangeBillList"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #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); | 
|         } | 
|   | 
|         //墨西哥白标生成 | 
|         [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,string NBXMH, string HOrgID) | 
|         { | 
|             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 + "','" + NBXMH + "','" + HOrgID + "'", "Save_Sc_ProcessExchangeBillMainToTmp_MXG"); | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 扫流转卡号方法(产线包装单、产线组装追溯单)--根据流转卡号保存到temp表 | 
|         [Route("LEMS/SaveCirculationCard_Json")] | 
|         [HttpGet] | 
|         public object SaveCirculationCard_Json(string HBillNo, string HInterID, string HBillNo2, string HBarCode, string HNumber, string HName, string HModel) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HBillNo == null || HBillNo.Equals("") || HInterID == null || HInterID.Equals("") || HBillNo2 == null || HBillNo2.Equals("")) | 
|                 { | 
|                     return CustomError("流转卡号不能为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     if (HBarCode == null || HBarCode.Equals("")) | 
|                     { | 
|                         HBarCode = " "; | 
|                     } | 
|                     ds = oCN.RunProcReturn("exec Save_Sc_ProcessExchangeBillMainToTmp '" + HBillNo + "','" + HInterID + "','" + HBillNo2 + "','" + HBarCode + "','" + HNumber + "','" + HName + "','" + HModel + "'", "Save_Sc_ProcessExchangeBillMainToTmp"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 扫子件条码方法(产线包装单、产线组装追溯单)--根据子件条码保存到temp表 | 
|   | 
|         [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 ,string HOrgID) | 
|         { | 
|             DataSet ds1; | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HBillNo == null || HBillNo.Equals("") || SubBarcode == null || SubBarcode.Equals("") || HInterID == null || HInterID.Equals("") || HBillNo2 == null || HBillNo2.Equals("") || HBillType == null || HBillType.Equals("")) | 
|                 { | 
|                     return CustomError("流转卡号或子件条码不能为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     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("[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 + "','"+ HOrgID + "'", "h_p_Save_SubBarcodeToTmp"); | 
|                     LogService.Write("ID:" + HInterID + ",流转卡号:" + HBillNo + ",单据号:" + HBillNo2 + ",条码:" + SubBarcode + ",托条码:" + HBarCode); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         [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 查询条码档案表里的镭雕条码的合计数量方法(产线包装单) | 
|   | 
|         [Route("LEMS/Select_Gy_BarCodeBill_HQty")] | 
|         [HttpGet] | 
|         public object Select_Gy_BarCodeBill_HQty(string HBarCode) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HBarCode == null || HBarCode.Equals("")) | 
|                 { | 
|                     return CustomError("唯一条码不能为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("select HQty from Gy_BarCodeBill where HBarCode = '" + HBarCode + "'", "Gy_BarCodeBill"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 更新条码档案表里的镭雕条码的合计数量方法(产线包装单) | 
|   | 
|         [Route("LEMS/Update_Gy_BarCodeBill_HQty")] | 
|         [HttpGet] | 
|         public object Update_Gy_BarCodeBill_HQty(string HBarCode, string HQty) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HBarCode == null || HBarCode.Equals("")) | 
|                 { | 
|                     return CustomError("唯一条码不能为空!");//h_p_Update_Gy_BarCodeBill_HQty | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Update_Gy_BarCodeBill_HQty " + HBarCode + "," + HQty + "", "h_p_Update_Gy_BarCodeBill_HQty"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds);; | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 更新扫码记录列表方法(产线包装单、产线组装追溯单) | 
|   | 
|         [Route("LEMS/Update_HBillNo_SubBarcodeList_Json")] | 
|         [HttpGet] | 
|         public object Update_HBillNo_SubBarcodeList_Json(string HBillNo) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HBillNo == null || HBillNo.Equals("")) | 
|                 { | 
|                     return CustomError("流转卡号不能为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_v_KF_PonderationBillMain_TempAddP '" + HBillNo + "'", "h_v_KF_PonderationBillMain_TempAddP"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 提交-主表方法(产线包装单)--根据流传卡号从temp表保存到主表 | 
|   | 
|         [Route("LEMS/SaveToSc_PackUnionBillMain")] | 
|         [HttpGet] | 
|         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_MXG(string HBillNo, string HRemark, string HProjectNum, string zxQty, string BBM, string LDM, string HMaterNumber, string HBarCode_White,string HOrgID,string NBXMH) | 
|         { | 
|             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}','{NBXMH}','{HOrgID}'", "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 | 
|                 { | 
|                     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) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "异常!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 提交-子表方法(产线包装单)--根据子件条码从temp表保存到子表 | 
|   | 
|         [Route("LEMS/SaveToSc_PackUnionBillSub")] | 
|         [HttpGet] | 
|         public object SaveToSc_PackUnionBillSub(string HitemID, string HRemark) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HitemID == null || HitemID.Equals("")) | 
|                 { | 
|                     return CustomError("更新失败HitemID为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillSub '" + HitemID + "','" + HRemark + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillSub"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         [Route("LEMS/SaveToSc_PackUnionBillSub_Batch")] | 
|         [HttpGet] | 
|         public object SaveToSc_PackUnionBillSub_Batch(string HitemID, string HRemark) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HitemID == null || HitemID.Equals("")) | 
|                 { | 
|                     return CustomError("更新失败HitemID为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillSub_Batch '" + HitemID + "','" + HRemark + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillSub_Batch"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         //更新没有反写的数据 | 
|         [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) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HitemID == null || HitemID.Equals("")) | 
|                 { | 
|                     return CustomError("更新失败HitemID为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Update_Flag_HRelationInterID '" + HitemID + "'", "h_p_Update_Flag_HRelationInterID"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds);             | 
|         } | 
|   | 
|         [Route("LEMS/Update_Flag_HRelationInterID_Batch")] | 
|         [HttpGet] | 
|         public object Update_Flag_HRelationInterID_Batch(string HitemID) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HitemID == null || HitemID.Equals("")) | 
|                 { | 
|                     return CustomError("更新失败HitemID为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Update_Flag_HRelationInterID_Batch '" + HitemID + "'", "h_p_Update_Flag_HRelationInterID_Batch"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|             //return ds.Tables[0].Rows; | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region  提交-主表方法(产线组装追溯单)--根据流传卡号从temp表保存到主表 | 
|   | 
|         [Route("LEMS/SaveToSc_AssemblyBillMain")] | 
|         [HttpGet] | 
|         public object SaveToSc_AssemblyBillMain(string HBillNo) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HBillNo == null || HBillNo.Equals("")) | 
|                 { | 
|                     return CustomError("流转卡号不能为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillMain '" + HBillNo + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillMain"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|             //return ds.Tables[0].Rows; | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 提交-子表方法(产线组装追溯单)--根据子件条码从temp表保存到子表 | 
|   | 
|         [Route("LEMS/SaveToSc_AssemblyBillSub")] | 
|         [HttpGet] | 
|         public object SaveToSc_AssemblyBillSub(string HitemID) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HitemID == null || HitemID.Equals("")) | 
|                 { | 
|                     return CustomError("更新失败HitemID为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillSub '" + HitemID + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillSub"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 生成唯一条码方法(产线包装单)--保存时生成唯一条码 | 
|   | 
|         [Route("LEMS/SaveBarCode_json")] | 
|         [HttpGet] | 
|         public object SaveBarCode_json(string sHMaterID, string sHUnitID, string sHBarcodeNo, string sHMaterName,string HOrgID) | 
|         { | 
|             DataSet ds; | 
|             string sTMNumber = ""; | 
|             string aDate = System.DateTime.Now.ToString(); | 
|             string sDate = System.DateTime.Now.ToShortDateString(); | 
|             string sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2); | 
|             string sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString(); | 
|             sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); | 
|             string sDay = "0" + ClsPub.isDate(sDate).Day.ToString(); | 
|             sDay = sDay.Substring(sDay.Length - 2, 2); | 
|             int LSH = 0; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|                 sTMNumber = sHMaterID + sYear + sPeriod + sDay; | 
|                 ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号 | 
|                 oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'"); | 
|                 LSH = ClsPub.isInt(ds.Tables[0].Rows[0][0]); | 
|                 LSH = LSH + 1; | 
|                 string LSH2 = LSH.ToString(); | 
|                 while (LSH2.Length < 6)  //如果流水号小于6位数前面补0 | 
|                 { | 
|                     LSH2 = "0" + LSH2; | 
|                 } | 
|                 string TM = sTMNumber + LSH2; | 
|                 oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'"); | 
|   | 
|                 string HBarCode = TM; | 
|                 string HBarCodeType = "唯一条码"; | 
|                 int HMaterID = ClsPub.isInt(sHMaterID); | 
|                 int HUnitID = ClsPub.isInt(sHUnitID); | 
|                 int HQty = 0; | 
|                 string HBatchNo = ""; | 
|                 string HSupID = "0"; | 
|                 string HGroupID = "0"; | 
|                 string HMaker = ClsPub.CurUserName; | 
|                 double HPrintQty = 0; | 
|                 double HinitQty = 0; | 
|                 string HSourceInterID = "0"; | 
|                 string HSourceEntryID = "0"; | 
|                 string HSourceBillNo = sHBarcodeNo; | 
|                 string HSourceBillType = ""; | 
|                 double HEndQty = 0; | 
|                 int HBarcodeQtys = 0; | 
|                 int HBarcodeNo = 0; | 
|                 string HDeptID = "0"; | 
|                 string HWhID = "0"; | 
|                 string HSPID = "0"; | 
|                 string HRemark = ""; | 
|                 string HCusID = "0"; | 
|                 string HCusType = ""; | 
|                 string HEndDate = sDate; | 
|                 string HWorkLineName = ""; | 
|                 string HBarCodeDate = sDate; | 
|                 string HSTOCKORGID = HOrgID; | 
|                 string HOWNERID = "0"; | 
|                 string HSeOrderBillNo = ""; | 
|                 string HMaterName = sHMaterName; | 
|                 string HMaterModel = ""; | 
|                 string HPinfan = ""; | 
|                 string HAuxPropID = "0"; | 
|                 string HMTONo = ""; | 
|                 oCn.RunProc("insert into Gy_BarCodeBill " | 
|                     + " (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty," | 
|                     + " HBatchNo,HSupID,HGroupID,HMaker,HMakeDate," | 
|                     + " HPrintQty,HinitQty,HSourceInterID,HSourceEntryID,HSourceBillNo," | 
|                     + " HSourceBillType,HEndQty,HBarcodeQtys,HBarcodeNo,HDeptID," | 
|                     + " HWhID,HSPID,HRemark,HCusID,HCusType," | 
|                     + " HEndDate,HWorkLineName,HBarCodeDate,HSTOCKORGID,HOWNERID," | 
|                     + "HSeOrderBillNo,HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo" | 
|                     + ") values ('" + HBarCode + "','" + HBarCodeType + "','" + sHMaterID + "','" + sHUnitID + "','" + HQty + "','" | 
|                         + HBatchNo + "','" + HSupID + "','" + HGroupID + "','" + HMaker + "',getdate(),'" | 
|                         + HPrintQty + "','" + HinitQty + "','" + HSourceInterID + "','" + HSourceEntryID + "','" + HSourceBillNo + "','" | 
|                         + HSourceBillType + "','" + HEndQty + "','" + HBarcodeQtys + "','" + HBarcodeNo + "','" + HDeptID + "','" | 
|                         + HWhID + "','" + HSPID + "','" + HRemark + "','" + HCusID + "','" + HCusType + "','" | 
|                         + HEndDate + "','" + HWorkLineName + "','" + HBarCodeDate + "','" + HSTOCKORGID + "'," + HOWNERID + ",'" | 
|                         + HSeOrderBillNo + "','" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "','" + HAuxPropID + "','" + HMTONo + "')" | 
|                 ); | 
|                 ds = oCn.RunProcReturn("select top 10 HBarCode from Gy_BarCodeBill where HSourceBillNo = '" + sHBarcodeNo + "'  order by HMakeDate desc", "Gy_BarCodeBill"); | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 产线包装单列表查询 | 
|   | 
|         [Route("LEMS/MES_ProductionLinePackagingList_Json")] | 
|         [HttpGet] | 
|         public object MES_ProductionLinePackagingList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 300 * from h_v_ProductionLinePackagingList order by 扫码日期 desc, 唯一条码 desc", "h_v_ProductionLinePackagingList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select top 300 * from h_v_ProductionLinePackagingList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere; | 
|                     string sql2 = " order by 扫码日期 desc, 唯一条码 desc"; | 
|                     sql = sql + sql2; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_ProductionLinePackagingList"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #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) | 
|         { | 
|             DataSet ds1; | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HInterID == null || HInterID.Equals("") || HBillNo2 == null || HBillNo2.Equals("") || HBarCode == null || HBarCode.Equals("")) | 
|                 { | 
|                     return CustomError("流转卡号或子件条码不能为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds1 = oCN.RunProcReturn("select top 1 HBarCode from Gy_BarCodeBill where HBarCode = '" + HBarCode + "'", "Gy_BarCodeBill"); | 
|                     if (ds1.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         return CustomError("无此批次条码"); | 
|                     } | 
|                     ds = oCN.RunProcReturn("exec h_v_Save_Gy_BarCodeBillToTmp '" + HInterID + "','" + HBillNo2 + "','" + HBarCode + "'", "h_v_Save_Gy_BarCodeBillToTmp"); | 
|   | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return CustomCorrect(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 产线组装追溯单列表查询 | 
|   | 
|         [Route("LEMS/MES_AssemblyTraceabilityList_Json")] | 
|         [HttpGet] | 
|         public object MES_AssemblyTraceabilityList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select * from h_v_AssemblyTraceabilityList order by 生产任务单单号 desc,条码类型排序字段 ", "h_v_ProductionLinePackagingList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_AssemblyTraceabilityList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere; | 
|                     string sql2 = " order by 生产任务单单号 desc,条码类型排序字段 "; | 
|                     sql = sql + sql2; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_AssemblyTraceabilityList"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 返回产线组装追溯单列表--过滤条件为镭雕条码的专用方法 | 
|   | 
|         [Route("LEMS/MES_AssemblyTraceabilityList_E_Json")] | 
|         [HttpGet] | 
|         public object MES_AssemblyTraceabilityList_E_Json(string HICMOBillNo) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HICMOBillNo == null || HICMOBillNo.Equals("")) | 
|                 { | 
|                     return CustomError("流转卡号或子件条码不能为空!"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_v_AssemblyTraceabilityList_E " + HICMOBillNo, "h_v_AssemblyTraceabilityList_E"); | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 获取白标项目号 | 
|   | 
|         [Route("LEMS/GetHProject_MXG")]   | 
|         [HttpGet] | 
|         public object GetHProject_MXG(string HOrgID) | 
|         { | 
|             DataSet ds; | 
|             DataSet dsHSNum; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|   | 
|                 ds = oCN.RunProcReturn("select HInterID,HSupBarCodeNumber HName from Sc_PackUnionBillBarCode_temp where HUSEORGID='" + HOrgID + "'", "Sc_PackUnionBillBarCode_temp"); | 
|   | 
|                 if (ds == null || ds.Tables[0].Rows.Count <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "获取失败" + DBUtility.ClsPub.sErrInfo; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "获取成功!"; | 
|                     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 根据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 = 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 =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> | 
|         /// 返回墙咔工资统计报表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("LEMS/MES_Qk_OutProcessList_Json")] | 
|         [HttpGet] | 
|         public object MES_Qk_OutProcessList_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 ds = oCN.RunProcReturn("select * from (select min(a.HDate) 起始时间, max(a.HDate) 截至时间, b.HName 工序名称, c.HName 班组名称, d.HName 汇报人, sum(a.HQty) 合计汇报数量, sum(b.HFixPrice * a.HQty) 合计工资 from Sc_StationOutBillMain a left join Gy_Process b on a.HProcID = b.HItemID Left join Gy_Group c on a.HGroupID = c.HItemID left join Gy_Employee d on a.HEmpID = d.HItemID where 1=1 group by b.HName,c.HName,d.HName) t where 1=1 " + sWhere, "Sc_StationOutBillMain"); | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 ds = null; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         //单行删除进站接收单列表 | 
|         [Route("LEMS/StationInBillListDelete_Json")] | 
|         [HttpGet] | 
|         public object StationInBillListDelete_Json(long sHInterID) | 
|         { | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|                 oCn.RunProc("Delete from Sc_StationInBillMain where HInterID=" + sHInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 objJsonResult.code = "200"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "删除成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "000"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "删除失败!"; | 
|                 objJsonResult.data = e.ToString(); | 
|                 return objJsonResult; | 
|             } | 
|   | 
|         } | 
|   | 
|         //单行删除出站汇报单列表 | 
|         [Route("LEMS/StationOutBillListDelete_Json")] | 
|         [HttpGet] | 
|         public object StationOutBillListDelete_Json(long sHInterID) | 
|         { | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|                 oCn.RunProc("Delete from Sc_StationOutBillMain where HInterID=" + sHInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 objJsonResult.code = "200"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "删除成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "000"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "删除失败!"; | 
|                 objJsonResult.data = e.ToString(); | 
|                 return objJsonResult; | 
|             } | 
|   | 
|         } | 
|   | 
|         #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] | 
|         public object CheckGy_RoutingBill(string HInterID, int Type, string user,string HBillSubType) | 
|         { | 
|             try | 
|             { | 
|                 if (HBillSubType == "SUB") | 
|                 { | 
|                     //判断是否有审核权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Check", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "子工艺路线无权限审核!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     //判断是否有删除权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Check", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "工艺路线无权限审核!"; | 
|                         objJsonResult.data = null; | 
|                         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)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID为空!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ClsPub.CurUserName = user; | 
|                 BillOld.MvarItemKey = "Gy_RoutingBillMain"; | 
|                 oCN.BeginTran();//开始事务 | 
|   | 
|                 //Type 1 审核  2  反审核 | 
|                 if (Type == 1) | 
|                 { | 
|                     //判断单据是否已经审核 | 
|                     DataSet ds; | 
|                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
|                     ds = oCN.RunProcReturn(sql,BillOld.MvarItemKey); | 
|                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString()!="") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已审核!不需要再审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); | 
|   | 
|                     //审核前控制=========================================       | 
|                     string sql1 = "exec h_p_Gy_RoutingBill_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'"; | 
|                     ds = oCN.RunProcReturn(sql1, "h_p_Gy_RoutingBill_BeforeCheckCtrl"); | 
|                     if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; | 
|                         objJsonResult.data = null; | 
|                         oCN.RollBack(); | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; | 
|                         objJsonResult.data = null; | 
|                         oCN.RollBack(); | 
|                         return objJsonResult; | 
|                     } | 
|                     //==================================================================================       | 
|   | 
|                     //审核工艺路线 | 
|                     oCN.RunProc(" Update Gy_RoutingBillMain set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 Where HInterID=" + HInterID.ToString()); | 
|   | 
|   | 
|                     //审核后控制=========================================       | 
|                     string sql2 = "exec h_p_Gy_RoutingBill_AfterCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'"; | 
|                     ds = oCN.RunProcReturn(sql1, "h_p_Gy_RoutingBill_AfterCheckCtrl"); | 
|                     if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核失败!原因:审核后判断失败,请与网络管理人员联系"; | 
|                         objJsonResult.data = null; | 
|                         oCN.RollBack(); | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; | 
|                         objJsonResult.data = null; | 
|                         oCN.RollBack(); | 
|                         return objJsonResult; | 
|                     } | 
|                     //==================================================================================       | 
|   | 
|                     //获取系统参数 | 
|                     string Ret = ""; | 
|                     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; | 
|                     } | 
|                     //========================================================= | 
|                     //判断单据是否已经反审核 | 
|                     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; | 
|                         } | 
|                     } | 
|   | 
|                     string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); | 
|   | 
|                     oCN.RunProc(" Update Gy_RoutingBillMain set HChecker='',HCheckDate=null,HBillStatus=1 Where HInterID=" + HInterID.ToString()); | 
|   | 
|   | 
|                     string sql2 = "exec h_p_Gy_RoutingBill_AfterCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'"; | 
|                     ds = oCN.RunProcReturn(sql2, "h_p_Gy_RoutingBill_AfterUnCheckCtrl"); | 
|                     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; | 
|                     } | 
|                     //反审核单据 | 
|                     // if (BillOld.AbandonCheck(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"); | 
|                     ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0) | 
|                     ////{ | 
|                     ////    objJsonResult.code = "0"; | 
|                     ////    objJsonResult.count = 1; | 
|                     ////    objJsonResult.Message = "该任务单已下推流转卡,不允许反审核" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]); | 
|                     ////    objJsonResult.data = null; | 
|                     ////    return objJsonResult; | 
|                     ////} | 
|                     //} | 
|                     // else | 
|                     // { | 
|                     //     objJsonResult.code = "0"; | 
|                     //     objJsonResult.count = 1; | 
|                     //     objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; | 
|                     //     objJsonResult.data = null; | 
|                     //     return objJsonResult; | 
|                     // } | 
|                 } | 
|   | 
|                 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/CloseGy_RoutingBill_1")] | 
|         [HttpGet] | 
|         public object CloseGy_RoutingBill(string HInterID, int Type, string user,string HBillSubType) | 
|         { | 
|             try | 
|             { | 
|                 if (HBillSubType == "SUB") | 
|                 { | 
|                     //判断是否有删除权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Close", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "子工艺路线无权限关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     //判断是否有删除权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Close", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "工艺路线无权限关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 | 
|   | 
|                 if (string.IsNullOrWhiteSpace(HInterID)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID为空!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ClsPub.CurUserName = user; | 
|                 BillOld.MvarItemKey = "Gy_RoutingBillMain"; | 
|                 oCN.BeginTran();//开始事务 | 
|   | 
|                 //Type 1 关闭  2  反关闭 | 
|                 if (Type == 1) | 
|                 { | 
|                     //判断单据是否已经关闭 | 
|                     DataSet ds; | 
|                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
|                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
|                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已关闭!不需要再关闭!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]); | 
|                     //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]); | 
|                     if (HBillStatus == "6") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据在审核中,不能关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //关闭单据 | 
|                     if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //获取系统参数设置失效时间 | 
|                     string Ret = ""; | 
|                     if (oSystemParameter.ShowBill(ref Ret)) | 
|                     { | 
|                         //判断客户 | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "添康科技") //系统参数                       | 
|                         { | 
|                             //刷新失效时间 | 
|                             oCN.RunProc("update Gy_RoutingBillMain set HEndDate = CONVERT(date, DATEADD(day, -1, GETDATE())) where HInterID = " + HInterID); | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     //判断单据是否已经反关闭 | 
|                     DataSet ds; | 
|                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
|                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
|                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未手动关闭!需要先关闭"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]); | 
|                     //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]); | 
|                     if (HBillStatus == "6") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据在审核中,不能反关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //反关闭单据 | 
|                     if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //获取系统参数设置失效时间 | 
|                     string Ret = ""; | 
|                     if (oSystemParameter.ShowBill(ref Ret)) | 
|                     { | 
|                         //判断客户 | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "添康科技") //系统参数                       | 
|                         { | 
|                             //刷新失效时间 | 
|                             oCN.RunProc("update Gy_RoutingBillMain set HEndDate = '9999-12-31',HBeginDate = CONVERT(date, GETDATE()) where HInterID = " + HInterID); | 
|                         } | 
|                     } | 
|                 } | 
|   | 
|                 oCN.Commit();//提交事务 | 
|   | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "执行成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; ; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "执行失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 工艺路线单关闭/反关闭功能(设置开始时间结束时间) | 
|         [Route("Gy_RoutingBill/CloseSetDate")] | 
|         [HttpGet] | 
|         public object CloseGy_RoutingBill(string HInterID, int Type, string user, string HBillSubType,DateTime HBeginDate,DateTime HEndDate) | 
|         { | 
|             try | 
|             { | 
|                 if (HBillSubType == "SUB") | 
|                 { | 
|                     //判断是否有删除权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Close", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "子工艺路线无权限关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     //判断是否有删除权限 | 
|                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Close", 1, false, user)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "工艺路线无权限关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|   | 
|   | 
|                 if (string.IsNullOrWhiteSpace(HInterID)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID为空!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ClsPub.CurUserName = user; | 
|                 BillOld.MvarItemKey = "Gy_RoutingBillMain"; | 
|                 oCN.BeginTran();//开始事务 | 
|   | 
|                 //Type 1 关闭  2  反关闭 | 
|                 if (Type == 1) | 
|                 { | 
|                     //判断单据是否已经关闭 | 
|                     DataSet ds; | 
|                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
|                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
|                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已关闭!不需要再关闭!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]); | 
|                     //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]); | 
|                     if (HBillStatus == "6") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据在审核中,不能关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //关闭单据 | 
|                     if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //获取系统参数设置失效时间 | 
|                     string Ret = ""; | 
|                     if (oSystemParameter.ShowBill(ref Ret)) | 
|                     { | 
|                         //判断客户 | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "添康科技") //系统参数                       | 
|                         { | 
|                             //刷新失效时间 | 
|                             oCN.RunProc("update Gy_RoutingBillMain set HEndDate = CONVERT(date, DATEADD(day, -1, GETDATE())) where HInterID = " + HInterID); | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     //判断单据是否已经反关闭 | 
|                     DataSet ds; | 
|                     string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
|                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
|                     if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未手动关闭!需要先关闭"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     string HBillStatus = Convert.ToString(ds.Tables[0].Rows[0]["HBillStatus"]); | 
|                     //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]); | 
|                     if (HBillStatus == "6") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据在审核中,不能反关闭!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //反关闭单据 | 
|                     if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //获取系统参数设置失效时间 | 
|                     string Ret = ""; | 
|                     if (oSystemParameter.ShowBill(ref Ret)) | 
|                     { | 
|                         //判断客户 | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "添康科技") //系统参数                       | 
|                         { | 
|                             //刷新失效时间 | 
|                             oCN.RunProc($"update Gy_RoutingBillMain set HEndDate = '{HEndDate}',HBeginDate = '{HBeginDate}' where HInterID = " + HInterID); | 
|                         } | 
|                     } | 
|                 } | 
|   | 
|                 oCN.Commit();//提交事务 | 
|   | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "执行成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; ; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "执行失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 报表查看权限控制 | 
|         /// <summary> | 
|         ///参数:string 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 | 
|   | 
|         #region 更新app | 
|         /// <summary> | 
|         ///参数:string 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; | 
|             } | 
|         } | 
|         #endregion | 
|     } | 
| } |