|  |  | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | using Newtonsoft.Json; | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | using Pub_Class; | 
 |  |  | using System; | 
 |  |  | using System.Collections; | 
 |  |  | 
 |  |  |                 bool HTypeCount = list[0].HTypeCount; | 
 |  |  |                 string HDeptNumber = ""; | 
 |  |  |                 long HLevel = ClsPub.GetLevel(list[0].HNumber.Trim()); | 
 |  |  |                 bool HEndFlag = false; | 
 |  |  |                 bool HEndFlag = true; | 
 |  |  |                 long HProcessID_K3 = list[0].HProcessID_K3; | 
 |  |  |                 string HBillSubType = list[0].HType; | 
 |  |  |                 bool HAutoTrunFlag = list[0].HAutoTrunFlag; | 
 |  |  | 
 |  |  |                 string HOverFixPrice = list[0].HOverFixPrice; | 
 |  |  |                 string HSNo = list[0].HSNo; | 
 |  |  |                 string HBarCode = list[0].HBarCode; | 
 |  |  |                 string HProcMulID = list[0].HProcMulID; | 
 |  |  |                 string HProcMulID = list[0].HProcMulID==null?"0": list[0].HProcMulID; | 
 |  |  |                 string HProcCheckNote = list[0].HProcCheckNote; | 
 |  |  |                 string HRemark = list[0].HRemark; | 
 |  |  |                 bool HStopflag = list[0].HStopflag; | 
 |  |  | 
 |  |  |                 string HBarCodeForBase = list[0].HBarCodeForBase; | 
 |  |  |                 long HDeptID = list[0].HDeptID; | 
 |  |  |                 long HProcID = list[0].HProcID; | 
 |  |  |                 int HUSEORGID = list[0].HUSEORGID; | 
 |  |  |                 bool HTProcessFlag = list[0].HTProcessFlag; | 
 |  |  |                 int HQCSchemeID_Fst = list[0].HQCSchemeID_Fst; | 
 |  |  |                 int HQCSchemeID_Proc = list[0].HQCSchemeID_Proc; | 
 |  |  |                 int HQCSchemeID_Patrol = list[0].HQCSchemeID_Patrol; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 long HWorkCenterID = list[0].HWorkCenterID;    //工作中心 | 
 |  |  |  | 
 |  |  |                 long HBadWHID = list[0].HBadWHID; //不良仓库 | 
 |  |  |                 long HWasterWHID = list[0].HWasterWHID; //报废仓库 | 
 |  |  |                 long HBadCountDevelopWHID = list[0].HBadCountDevelopWHID; //研发不良品仓库 | 
 |  |  |                 long HWWBadWHID = list[0].HWWBadWHID; //委外不良仓库 | 
 |  |  |                 long HWWWasterWHID = list[0].HWWWasterWHID; //委外报废仓库 | 
 |  |  |                 long HWHID = list[0].HWHID; //良品仓库 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 //判断权限 | 
 |  |  |                 //if (!ClsPub.Security_Log("Gy_Process_Edit", 1, false, msg3)) | 
 |  |  | 
 |  |  |                         " (HNumber,HName,HHelpCode,HShortNumber,HParentID" + | 
 |  |  |                         ",HTypeFlow,HTypeCount,HDeptNumber,HSNo" + | 
 |  |  |                         ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HBarCodeForBase,HProcessID_K3,HBillSubType,HAutoTrunFlag" + | 
 |  |  |                         ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote) " + | 
 |  |  |                         ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote" + | 
 |  |  |                         ",HUSEORGID,HWorkCenterID,HBadWHID,HWasterWHID,HBadCountDevelopWHID,HWWBadWHID,HWWWasterWHID,HWHID,HTProcessFlag" + | 
 |  |  |                         ",HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol) " + | 
 |  |  |                         " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() + | 
 |  |  |                         "," + Convert.ToString(HTypeFlow ? 1 : 0) + "," + Convert.ToString(HTypeCount ? 1 : 0) + ",'" + HDeptNumber + "','" + HSNo.ToString() + | 
 |  |  |                         "'," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "'," + HDeptID + | 
 |  |  |                         ",'" + HBarCode + "'," + HProcessID_K3 + ",'" +HBillSubType + "'," + Convert.ToString(HAutoTrunFlag ? 1 : 0) + | 
 |  |  |                         ",'" + HFixPrice.ToString() + "'," + HOverFixPrice.ToString() + "," + HProcMulID.ToString() + ",'" + HProcCheckNote.ToString() + "')", ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                         ",'" + HBarCode + "'," + HProcessID_K3 + ",'" + HBillSubType + "'," + Convert.ToString(HAutoTrunFlag ? 1 : 0) + | 
 |  |  |                         ",'" + HFixPrice.ToString() + "'," + HOverFixPrice.ToString() + "," + HProcMulID.ToString() + ",'" + HProcCheckNote.ToString() + "'" + | 
 |  |  |                         "," + HUSEORGID + "," + HWorkCenterID + "," + HBadWHID + "," + HWasterWHID + "," + HBadCountDevelopWHID + "," + HWWBadWHID + "," + HWWWasterWHID + "," + HWHID + "," + Convert.ToString(HTProcessFlag ? 1 : 0) + "," + HQCSchemeID_Fst + "," + HQCSchemeID_Proc + "," + HQCSchemeID_Patrol + ")", ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     //修改上级为非末级代码 | 
 |  |  |                     oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     oCN.Commit(); | 
 |  |  | 
 |  |  |                         ",HSNo= " + HSNo + | 
 |  |  |                         ",HLevel= " + HLevel + | 
 |  |  |                         ",HEndFlag= '" + HEndFlag + "'" + | 
 |  |  |                         ",HTProcessFlag= '" + HTProcessFlag + "'" + | 
 |  |  |                         ",HStopflag= '" + HStopflag + "'" + | 
 |  |  |                         ",HRemark='" + HRemark + "'" + | 
 |  |  |                         ",HDeptID= " + HDeptID + | 
 |  |  |                         ",HBarCodeForBase='" + HBarCodeForBase + "'" + | 
 |  |  |                         ",HBarCodeForBase='" + HBarCode + "'" + | 
 |  |  |                         ",HProcessID_K3= " + HProcessID_K3 + | 
 |  |  |                         ",HBillSubType='" + HBillSubType + "'" + | 
 |  |  |                         ",HAutoTrunFlag= '" + HAutoTrunFlag + "'" + | 
 |  |  |                         ",HFixPrice= " + HFixPrice + | 
 |  |  |                         ",HOverFixPrice= " + HOverFixPrice + | 
 |  |  |                         ",HProcMulID= " + HProcMulID + | 
 |  |  |                         ",HWorkCenterID= " + HWorkCenterID + | 
 |  |  |                         ",HBadWHID= " + HBadWHID + | 
 |  |  |                         ",HWasterWHID= " + HWasterWHID + | 
 |  |  |                         ",HBadCountDevelopWHID= " + HBadCountDevelopWHID + | 
 |  |  |                         ",HWWBadWHID= " + HWWBadWHID + | 
 |  |  |                         ",HWWWasterWHID= " + HWWWasterWHID + | 
 |  |  |                         ",HWHID= " + HWHID + | 
 |  |  |                         ",HQCSchemeID_Fst= " + HQCSchemeID_Fst + | 
 |  |  |                         ",HQCSchemeID_Proc= " + HQCSchemeID_Proc + | 
 |  |  |                         ",HQCSchemeID_Patrol= " + HQCSchemeID_Patrol + | 
 |  |  |                         ",HProcCheckNote='" + HProcCheckNote + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                     //修改上级为非末级代码 | 
 |  |  |                     oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //查看权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Gy_Process_Query", 1, false, user)) | 
 |  |  |                 { | 
 |  |  | 
 |  |  |                     ds = oCN.RunProcReturn(sql, "h_v_Gy_ProcessList"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //添加列名 | 
 |  |  |                 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 = columnNameList; | 
 |  |  |                 return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |                 //else | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         /// <summary>Gy_Process/cx | 
 |  |  |         /// <summary> | 
 |  |  |         /// 工序列表删除功能 | 
 |  |  |         /// </summary> | 
 |  |  |         /// <returns></returns> | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // | 
 |  |  |  | 
 |  |  |         #region 工序审核、反审核 | 
 |  |  |         /// <summary> | 
 |  |  |         ///  | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="HInterID">单据ID</param> | 
 |  |  |         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
 |  |  |         /// <param name="CurUserName">审核人</param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Gy_Process/AuditGy_Process")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object AuditGy_Process(int HInterID, int IsAudit, string CurUserName) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //审核权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Process_Check", 1, false, CurUserName)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "审核失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 var ds = oCN.RunProcReturn("select * from Gy_Process where HItemID=" + HInterID, "Gy_Process"); | 
 |  |  |                 if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                 { | 
 |  |  |                     if (IsAudit == 0)  //审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 1) //反审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCheckEmp"].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.BeginTran(); | 
 |  |  |  | 
 |  |  |                 if (IsAudit == 0)  //审核判断 | 
 |  |  |                 { | 
 |  |  |                     oCN.RunProc("update Gy_Process set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID); | 
 |  |  |  | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "审核成功"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == 1) //反审核判断 | 
 |  |  |                 { | 
 |  |  |                     oCN.RunProc("update Gy_Process set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID); | 
 |  |  |  | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "反审核成功"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                 } | 
 |  |  |                 oCN.Commit(); | 
 |  |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 工序禁用、反禁用 | 
 |  |  |         /// <summary> | 
 |  |  |         ///  | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="HInterID">单据ID</param> | 
 |  |  |         /// <param name="IsStop">禁用(0),反禁用(1)</param> | 
 |  |  |         /// <param name="CurUserName">审核人</param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Gy_Process/StopGy_Process")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object StopGy_Process(int HInterID, int IsStop, string CurUserName) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //审核权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Process_Stop", 1, false, CurUserName)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "禁用失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 var ds = oCN.RunProcReturn("select * from Gy_Process where HItemID=" + HInterID, "Gy_Process"); | 
 |  |  |                 if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                 { | 
 |  |  |                     if (IsStop == 0)  //禁用判断 | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "单据已禁用!不能再次禁用!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (IsStop == 1) //反禁用判断 | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HStopEmp"].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.BeginTran(); | 
 |  |  |  | 
 |  |  |                 if (IsStop == 0)  //禁用判断 | 
 |  |  |                 { | 
 |  |  |                     oCN.RunProc("update Gy_Process set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID); | 
 |  |  |  | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "禁用成功"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                 } | 
 |  |  |                 if (IsStop == 1) //反禁用判断 | 
 |  |  |                 { | 
 |  |  |                     oCN.RunProc("update Gy_Process set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID); | 
 |  |  |  | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "反禁用成功"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                 } | 
 |  |  |                 oCN.Commit(); | 
 |  |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "禁用失败或者反禁用失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |     } | 
 |  |  | } |