|  |  | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 if (oSystemParameter.omodel.WMS_CampanyName == "乔一") | 
 |  |  |                 { | 
 |  |  |                     //是否勾选默认工艺路线 | 
 |  |  |                     if (HStandard) | 
 |  |  |                     { | 
 |  |  |                         //设置默认工艺路线 | 
 |  |  |                         oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID + ",'" + user + "'"); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //是否勾选默认工艺路线 | 
 |  |  |                 //if (HStandard) | 
 |  |  |                 //{ | 
 |  |  |                 //    //设置默认工艺路线 | 
 |  |  |                 //    oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID + ",'" + user + "'"); | 
 |  |  |                 //} | 
 |  |  |               | 
 |  |  |                 //判断是否重复工序号 | 
 |  |  |                 ds = oCN.RunProcReturn("exec h_p_Gy_RoutingCtrl " + HInterID, "h_p_Gy_RoutingCtrl"); | 
 |  |  |  | 
 |  |  | 
 |  |  |                 var ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HInterID=" + HInterID, "Gy_RoutingBillMain"); | 
 |  |  |                 if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                 { | 
 |  |  |                     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 (IsAudit == 0)  //关闭判断 | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") | 
 |  |  | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 //搜索需要审核的 | 
 |  |  |                 string sql = "  select DISTINCT a.*,c.HItemID as HCheckFlowStatusID,m.HName as 审批流,c.HCheckFlowID,i.HName as 审批项目名称,c.HCheckItemID,c.HChecker as 项目审核人,c.HCheckNote as 审批流审核建议,c.HCheckDate 审批流审核日期   from h_v_Gy_RoutingBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.单据类型 = c.HBillTypeID" + | 
 |  |  |                 string sql = "select TOP 1000 a.*,c.HItemID as HCheckFlowStatusID,m.HName as 审批流,c.HCheckFlowID,i.HName as 审批项目名称,c.HCheckItemID,c.HChecker as 项目审核人,c.HCheckNote as 审批流审核建议,c.HCheckDate 审批流审核日期   from h_v_Gy_RoutingBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.单据类型 = c.HBillTypeID" + | 
 |  |  |                     " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" + | 
 |  |  |                     " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" + | 
 |  |  |                     " where 工序代码 != '9999' and a.HBillSubType<>'SUB' and c.HCheckDate is  not NUll and c.HChecker = '" + user + "'"; | 
 |  |  |                     " where 工序代码 != '9999' and a.HBillSubType<>'SUB' and c.HCheckDate is  not NUll and c.HChecker = '" + user + "'"+  | 
 |  |  |                     " ORDER BY a.hmainid DESC;"; | 
 |  |  |                 ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList"); | 
 |  |  |                 foreach (DataColumn col in ds.Tables[0].Columns) | 
 |  |  |                 { | 
 |  |  | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |                 ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList  where 定额类型 = '临时定额' and 失效时间 BETWEEN DATEADD(DAY, -15, GETDATE()) AND GETDATE() " + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList"); | 
 |  |  |                 ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList  where 定额类型 = '临时定额' and 状态!= '关闭' and 失效时间 BETWEEN  CAST(GETDATE() AS DATE) AND DATEADD(DAY, 15, GETDATE()) " + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList"); | 
 |  |  |                 foreach (DataColumn col in ds.Tables[0].Columns) | 
 |  |  |                 { | 
 |  |  |                     Type dataType = col.DataType; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "审核或反审核工艺路线失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.Message = "驳回工艺路线失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 工艺路线撤回 | 
 |  |  |         [Route("Gy_Routing/WithdrawCheckFlow")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object WithdrawCheckFlow(string HInterID, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 Int64 lngBillKey = 0; | 
 |  |  |                 lngBillKey = DBUtility.ClsPub.isLong(HInterID);      //对HInterID进行类型的转换 | 
 |  |  |                 DAL.ClsGy_RoutingBill oBill = new DAL.ClsGy_RoutingBill();                              //实例化单据操作类,用于进行相关操作 | 
 |  |  |                 //获取系统参数判断工艺路线是否启用多级审批禁用 | 
 |  |  |                 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() == "N") //系统参数  未启用自动审核  | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "工艺路线未启用多级审批禁用"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据 | 
 |  |  |                 { | 
 |  |  |                     if (oBill.omodel.HBillStatus != 6) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据未在审核中不能撤回"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     //判断是否有编辑权限 | 
 |  |  |                     if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Edit", 1, false, user)) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "工艺路线无权限撤回!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 //判断是否存在审核过的项目 | 
 |  |  |                 string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "' and ISNULL(HChecker,'') <> ''"; | 
 |  |  |                 DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); | 
 |  |  |                 if (ds0 != null && ds0.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     oCN.BeginTran(); | 
 |  |  |                     //获取需要驳回的审核项目 | 
 |  |  |                     string sql1 = "select c.* from Xt_CheckFlowMain as a " + | 
 |  |  |                                   "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " + | 
 |  |  |                                   "inner join Xt_BillCheckFlowStatus as c on a.HBillTypeID = c.HBillTypeID and b.HCheckItemID = c.HCheckItemID " + | 
 |  |  |                                   "where c.HBillTypeID = '" + this.BillType + "' and c.HBillInterID = " + lngBillKey + " " + | 
 |  |  |                                   "order by b.HFlowNo asc"; | 
 |  |  |                     DataSet ds1= oCN.RunProcReturn(sql1, "Xt_BillCheckFlowStatus"); | 
 |  |  |                     if (ds1 == null || ds1.Tables[0].Rows.Count == 0) | 
 |  |  |                     { | 
 |  |  |                         sReturn = "撤回失败!原因:未发起审批!!"; | 
 |  |  |                         return false; | 
 |  |  |                     } | 
 |  |  |                     //获取当前审核项目 | 
 |  |  |                     string HCheckFlowID = ds1.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //审批流内码 | 
 |  |  |                     sql0 = "select * from Gy_RoutingBillMain " + " where HInterID = " + lngBillKey; | 
 |  |  |                     ds0 = oCN.RunProcReturn(sql0, "Gy_RoutingBillMain"); | 
 |  |  |                     string HCheckItemNowID = ds0.Tables[0].Rows[0]["HCheckItemNowID"].ToString();       //当前审批项目内码 | 
 |  |  |                     //更新 驳回删除审核流状态表 | 
 |  |  |                     string sql02 = "Delete Xt_BillCheckFlowStatus where HBillTypeID = '" + this.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID; | 
 |  |  |                     oCN.RunProc(sql02); | 
 |  |  |                     oCN.RunProc(" Update Gy_RoutingBillMain" + " set HChecker='',HCheckDate=null,HBillStatus=1,HCheckItemNowID = 0,HCheckItemNextID = 0 Where HInterID=" + lngBillKey.ToString()); | 
 |  |  |                     oCN.Commit(); | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "撤回成功!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; ; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "撤回失败!原因:单据存在已经审核的项目!!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } |