|  |  | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | 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 | 
 |  |  | { | 
 |  |  | 
 |  |  |  | 
 |  |  |         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(); | 
 |  |  |         /// <summary> | 
 |  |  |         /// 返回进站扫描列表|工序进站接收单列表  | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_MES_StationInBillList", "h_v_MES_StationInBillList"); | 
 |  |  |                 } | 
 |  |  |                 else  | 
 |  |  |                 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) | 
 |  |  |             { | 
 |  |  | 
 |  |  |         /// </summary> | 
 |  |  |         [Route("LEMS/MES_Sc_ProcessExchangeBillQuery_Json")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object MES_Sc_ProcessExchangeBillList_Json(string sWhere,string user) | 
 |  |  |         public object MES_Sc_ProcessExchangeBillList_Json(string sWhere, string user,string HBillSubType) | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 if (HBillSubType == "SUB") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无查询权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                     //判断是否有查询权限 | 
 |  |  |                     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"); | 
 |  |  |  | 
 |  |  |                 //if (ds.Tables[0].Rows.Count != 0 || ds != null) | 
 |  |  |                 //{ | 
 |  |  |  | 
 |  |  |                 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; | 
 |  |  |                 //} | 
 |  |  |                 //else | 
 |  |  |                 //{ | 
 |  |  |                 //objJsonResult.code = "0"; | 
 |  |  |                 //objJsonResult.count = 0; | 
 |  |  |                 //objJsonResult.Message = "无数据"; | 
 |  |  |                 //objJsonResult.data = null; | 
 |  |  |                 //return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  | 
 |  |  |                 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 * 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> | 
 |  |  |         /// </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; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无查询权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (OperationType == 1) | 
 |  |  |                 { | 
 |  |  |                     //获取系统参数 | 
 |  |  |                     string Ret = ""; | 
 |  |  |                     if (oSystemParameter.ShowBill(ref Ret)) | 
 |  |  |                     { | 
 |  |  |                         //判断客户为杭州斯莫尔 | 
 |  |  |                         if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔") | 
 |  |  |                         { | 
 |  |  |                             sWhere += "  "; | 
 |  |  |  | 
 |  |  |                         } | 
 |  |  |                         else | 
 |  |  |                         { | 
 |  |  |                             sWhere += "  "; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |                     ds = oCN.RunProcReturn("select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeArrangementList_PG"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //获取系统参数 | 
 |  |  |                     string Ret = ""; | 
 |  |  |                     if (oSystemParameter.ShowBill(ref Ret)) | 
 |  |  |                     { | 
 |  |  |                         //判断客户为杭州斯莫尔 | 
 |  |  |                         if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔") | 
 |  |  |                         { | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere, "h_v_Sc_ProcessExchangeArrangementList_PG"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //添加列名 | 
 |  |  |                 foreach (DataColumn col in ds.Tables[0].Columns) | 
 |  |  |                 { | 
 |  |  |                     Type dataType = col.DataType; | 
 |  |  |                     string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; | 
 |  |  |                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到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> | 
 |  |  |         /// 返回工序流转卡维护列表从表 | 
 |  |  | 
 |  |  |                 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"); | 
 |  |  |                 ds = oCN.RunProcReturn(sql1 + " order by cast(工序号 as int)", "h_v_Sc_ProcessExchangeBillQuerySub"); | 
 |  |  |                 return GetObjectJson(ds); | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             return GetObjectJson(ds); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #region 工序流转卡(下达) | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 返回工序流转卡(下达)列表 | 
 |  |  | 
 |  |  |             DataSet ds; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) | 
 |  |  |                 ////判断是否有查询权限 | 
 |  |  |                 //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)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "无查询权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                     //判断客户为龙山汽配 | 
 |  |  |                     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 * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeIssueBillQuery"); | 
 |  |  |                 ds = oCN.RunProcReturn("select " + Count + " * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc,CONVERT(int,流水号) asc", "h_v_Sc_ProcessExchangeIssueBillQuery"); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  | 
 |  |  |                 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> | 
 |  |  |         /// 返回工序出站汇报单列表 | 
 |  |  | 
 |  |  |  | 
 |  |  |         #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> | 
 |  |  |         /// 返回工艺路线列表 | 
 |  |  | 
 |  |  |         /// </summary> | 
 |  |  |         [Route("LEMS/MES_Gy_RoutingBillList_Json")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object MES_Gy_RoutingBillList_Json(string sWhere,string user) | 
 |  |  |         public object MES_Gy_RoutingBillList_Json(string sWhere, string user,string HBillSubType) | 
 |  |  |         { | 
 |  |  |             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; | 
 |  |  |                 //} | 
 |  |  |                 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 top 1000 * from h_v_Gy_RoutingBillList order by hmainid desc", "h_v_Gy_RoutingBillList"); | 
 |  |  |                     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  top 1000 * from h_v_Gy_RoutingBillList where 1 = 1 "; | 
 |  |  |                     string sql = sql1 + sWhere+ " order by hmainid desc,cast(工序号 as int)"; | 
 |  |  |                     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) | 
 |  |  |             { | 
 |  |  | 
 |  |  |  | 
 |  |  |         #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> | 
 |  |  |         /// 工艺路线删除功能 | 
 |  |  | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("LEMS/DeltetGy_RoutingBillSub")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object DeltetGy_RoutingBillSub(Int64 lngBillKey,string user) | 
 |  |  |         public object DeltetGy_RoutingBillSub(Int64 lngBillKey, string user,string HBillSubType) | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             string ModRightNameCheck = "Gy_RoutingBill_Drop"; | 
 |  |  |             | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //删除权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user)) | 
 |  |  |                 if (HBillSubType == "SUB") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "删除失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                     //删除权限 | 
 |  |  |                     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) | 
 |  |  | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |                 ds = oCN.RunProcReturn("select * from Gy_RoutingBillmain where HInterID=" + lngBillKey, "Gy_RoutingBillmain"); | 
 |  |  |                 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.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; | 
 |  |  |                 } | 
 |  |  |                 //if (hdeleteman != "") | 
 |  |  |                 //{ | 
 |  |  |                 //    objJsonResult.code = "0"; | 
 |  |  | 
 |  |  |                 //} | 
 |  |  |                 oCN.RunProc("delete from Gy_RoutingBillmain where HInterID=" + lngBillKey); | 
 |  |  |                 oCN.RunProc("delete from Gy_RoutingBillSub where HInterID=" + lngBillKey); | 
 |  |  |  | 
 |  |  |                 LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",删除工艺路线单据:" + ds.Tables[0].Rows[0]["HBillNo"].ToString()); | 
 |  |  |                 oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "删除工艺路线单据:" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','LMES-工艺路线模块','" + DBUtility.ClsPub.IPAddress + "','删除单据'", ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |  | 
 |  |  |                 oCN.Commit();//提交事务 | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 工艺路线(维护工价) | 
 |  |  |         /// <summary> | 
 |  |  |         /// 返回生产任务单列表 | 
 |  |  |         /// 返回工艺路线列表 | 
 |  |  |         ///参数:string sql。 | 
 |  |  |         ///返回值:object。 | 
 |  |  |         /// </summary> | 
 |  |  |         [Route("LEMS/MES_IF_ICMOBillList_Json")] | 
 |  |  |         [Route("LEMS/MES_Gy_RoutingBillMainRates_Json")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object MES_IF_ICMOBillList_Json(string sWhere,string user) | 
 |  |  |         public object MES_Gy_RoutingBillMainRates_Json(string sWhere, string user) | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQuery", 1, false, user)) | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1 " + sWhere + " order by 单据号 desc", "h_v_IF_ICMOBillList"); | 
 |  |  |                 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) | 
 |  |  |             { | 
 |  |  | 
 |  |  |             } | 
 |  |  |             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 | 
 |  |  |  | 
 |  |  |         #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> | 
 |  |  |         /// 返回工序委外接收单列表 | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //if (ds.Tables[0].Rows.Count != 0 || ds != null) | 
 |  |  |                 //{ | 
 |  |  |                 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 = "Sucess!"; | 
 |  |  |               | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |                 //else | 
 |  |  |                 //{ | 
 |  |  |                 //objJsonResult.code = "0"; | 
 |  |  |                 //objJsonResult.count = 0; | 
 |  |  |                 //objJsonResult.Message = "无数据"; | 
 |  |  |                 //objJsonResult.data = null; | 
 |  |  |                 //return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  | 
 |  |  |         /// </summary> | 
 |  |  |         [Route("LEMS/Update_Gy_BarCodeBill_HQty")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object Update_Gy_BarCodeBill_HQty(string HBarCode,string HQty) | 
 |  |  |         public object Update_Gy_BarCodeBill_HQty(string HBarCode, string HQty) | 
 |  |  |         { | 
 |  |  |             DataSet ds; | 
 |  |  |             try | 
 |  |  | 
 |  |  |                     { | 
 |  |  |                         ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain '" + HBillNo + "',''", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain"); | 
 |  |  |                     } | 
 |  |  |                     else  | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain '" + HBillNo + "','" + HRemark + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain"); | 
 |  |  |                     } | 
 |  |  | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #region 工艺路线列表  启用默认_权限判断 | 
 |  |  |         [Route("Gy_RoutingBill/set_defaultRoute_CheckRight")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object set_defaultRoute_CheckRight(string user, string HBillSubType) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (HBillSubType == "SUB") | 
 |  |  |                 { | 
 |  |  |                     //判断是否有删除权限 | 
 |  |  |                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_SetDefaultRoute", 1, false, user)) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "子工艺路线无权限启用默认工艺路线!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //判断是否有删除权限 | 
 |  |  |                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_SetDefaultRoute", 1, false, user)) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "工艺路线无权限启用默认!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |          | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "执行成功!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; ; | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "执行失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 工艺路线列表  启用默认 | 
 |  |  |         [Route("Gy_RoutingBill/set_defaultRoute")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object set_defaultRoute(string HInterID, string user, string HBillSubType) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (HBillSubType == "SUB") | 
 |  |  |                 { | 
 |  |  |                     //判断是否有删除权限 | 
 |  |  |                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_SetDefaultRoute", 1, false, user)) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "子工艺路线无权限启用默认工艺路线!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //判断是否有删除权限 | 
 |  |  |                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_SetDefaultRoute", 1, false, user)) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "工艺路线无权限启用默认!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 if (string.IsNullOrWhiteSpace(HInterID)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "HInterID为空!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 ClsPub.CurUserName = user; | 
 |  |  |                 BillOld.MvarItemKey = "Gy_RoutingBillMain"; | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |  | 
 |  |  |                 //判断单据是否已经审核 | 
 |  |  |                 DataSet ds; | 
 |  |  |                 string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; | 
 |  |  |                 ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                 if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                 { | 
 |  |  |                     if (!(ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据未审核!不可以被启用为该物料的默认工艺路线!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据不存在,检查该单据是否已经被删除!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //刷新默认工艺路线 | 
 |  |  |                 oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID+",'" + user + "'"); | 
 |  |  |  | 
 |  |  |                 oCN.Commit();//提交事务 | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "执行成功!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; ; | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "执行失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 工艺路线审核/反审核功能 | 
 |  |  |         [Route("Gy_RoutingBill/CheckGy_RoutingBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         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; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     //审核工艺路线 | 
 |  |  |                     oCN.RunProc(" Update Gy_RoutingBillMain set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 Where HInterID=" + HInterID.ToString()); | 
 |  |  |  | 
 |  |  |                     //获取系统参数 | 
 |  |  |                     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; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     //反审核单据 | 
 |  |  |                     if (BillOld.AbandonCheck(Int64.Parse(HInterID), 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 报表查看权限控制 | 
 |  |  |         /// <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 = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |     } | 
 |  |  | } |