|  |  | 
 |  |  |         public Models.ClsSc_MESBeginWorkBillMain omodel = new Models.ClsSc_MESBeginWorkBillMain(); | 
 |  |  |         public List<Models.ClsSc_MESBeginWorkBillSub> DetailColl = new List<Models.ClsSc_MESBeginWorkBillSub>(); | 
 |  |  |         //public List<Model.ClsSc_MESBeginWorkBillSub_Item> DetailColl1 = new List<Model.ClsSc_MESBeginWorkBillSub_Item>(); | 
 |  |  |  | 
 |  |  |         public ClsSc_MESBeginWorkBill() | 
 |  |  |         { | 
 |  |  |             base.MvarItemKeySub = "Sc_MESBeginWorkBillSub"; | 
 |  |  | 
 |  |  |                 //",HCheckDate='" + omodel.HCheckDate + "'" + | 
 |  |  |                 //",HMaker='" + omodel.HMaker + "'" + | 
 |  |  |                 //",HMakeDate='" + omodel.HMakeDate + "'" + | 
 |  |  |                 ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" + | 
 |  |  |                 ",HUpDater='" +omodel.HMaker + "'" + | 
 |  |  |                 ",HUpDateDate=getdate()" + | 
 |  |  |                 //",HCloseMan='" + omodel.HCloseMan + "'" + | 
 |  |  |                 //",HCloseDate='" + omodel.HCloseDate + "'" + | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 DataSet ds; | 
 |  |  |                 //得到mainid | 
 |  |  |                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); | 
 |  |  |                 //若MAINDI重复则重新获取 | 
 |  |  |                 oCn.BeginTran(); | 
 |  |  |                 //保存前控制========================================= | 
 |  |  |                 ds = oCn.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_BeforeSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESBeginWorkBill_BeforeSaveCtrl"); | 
 |  |  |  | 
 |  |  |                 if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1") | 
 |  |  |                 { | 
 |  |  |                     sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); | 
 |  |  |                     oCn.RollBack(); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 //========================================================= | 
 |  |  |                 //主表 | 
 |  |  |                 oCn.RunProc("Insert Into Sc_MESBeginWorkBillMain " + | 
 |  |  |                 "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + | 
 |  |  |                 ",HYear,HPeriod,HRemark" + | 
 |  |  |                 ",HICMOInterID,HICMOEntryID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + | 
 |  |  |                 ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HBeginWorkTime,HSourceID" + | 
 |  |  |                 ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + | 
 |  |  |                 ",HSourceInterID_Main,HSourceEntryID_Main,HSourceBillNo_Main,HSourceBillType_Main" + | 
 |  |  |                 ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" + | 
 |  |  |                  ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HRunStatus,HSourceBeginQty" + | 
 |  |  |                 ") " + | 
 |  |  |                 " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + DBUtility.ClsPub.CurUserName + "',getdate()" + | 
 |  |  |                 " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + omodel.HMaker+ "',getdate()" + | 
 |  |  |                 "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" + | 
 |  |  |                 "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOEntryID + "','" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() + | 
 |  |  |                 ",'" + omodel.HProcExchBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HICMOQty.ToString() + "," + omodel.HPlanQty.ToString() + ",getdate()," + omodel.HSourceID.ToString() + | 
 |  |  |                 ",'" + omodel.HMainSourceInterID.ToString() + "'," + omodel.HMainSourceEntryID.ToString() + "," + omodel.HMainSourceBillNo.ToString() + "," + omodel.HMainSourceBillType.ToString() + | 
 |  |  |                 "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate()" + | 
 |  |  |                 ",'" + omodel.HMainSourceInterID.ToString() + "'," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType.ToString() + "'" + | 
 |  |  |                 ",'" + omodel.HMainSourceInterID.ToString() + "'," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType.ToString() + "'" + | 
 |  |  |                 "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate(),'"+ omodel.HRunStatus + "','"+ omodel.HSourceBeginQty.ToString() + "'" + | 
 |  |  |               ") "); | 
 |  |  |  | 
 |  |  |                 //根据开工单内码 设置 生产状态表 开工状态(先把 本资源全部工单 设置为非开工状态,再设置本单对应得源单 为开工状态) | 
 |  |  |                 oCn.RunProcReturn("exec h_p_JIT_MESBeginWorkBill_BeginWork " + omodel.HInterID + "", "h_p_JIT_MESBeginWorkBill_BeginWork"); | 
 |  |  |                 sReturn = "新增单据成功!"; | 
 |  |  |                 //再次验证 保存是否 合理 | 
 |  |  |                 ds = oCn.RunProcReturn("exec h_p_JIT_MESBeginWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESBeginWorkBill_SaveCtrl"); | 
 |  |  |                 if (ds == null || ds.Tables[0].Rows.Count <= 0)  | 
 |  |  |                 { | 
 |  |  |                     sReturn = "无验证数据!"; | 
 |  |  |                     oCn.RollBack(); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")  | 
 |  |  |                 { | 
 |  |  |                     sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); | 
 |  |  |                     oCn.RollBack(); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //保存后控制========================================= | 
 |  |  |                 ds = oCn.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_AfterSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESBeginWorkBill_AfterSaveCtrl"); | 
 |  |  |  | 
 |  |  |                 if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1") | 
 |  |  |                 { | 
 |  |  |                     sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); | 
 |  |  |                     oCn.RollBack(); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 //========================================================= | 
 |  |  |  | 
 |  |  |                 sReturn = omodel.HInterID.ToString(); | 
 |  |  |                 oCn.Commit(); | 
 |  |  |                 return true; | 
 |  |  |             } | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //删除单据 | 
 |  |  |         public  bool DeleteBill(Int64 lngBillKey, string HBillNo, string procName, string user, ref string sReturn)  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 oCn.BeginTran(); | 
 |  |  |                 //判断是否允许删除 | 
 |  |  |                 DataSet ds = oCn.RunProcReturn("exec h_p_JIT_MESBeginWorkBill_DelCtrl @HInterId=" + lngBillKey + "", "h_p_JIT_MESBeginWorkBill_SaveCtrl"); | 
 |  |  |                 if (ds == null || ds.Tables[0].Rows.Count <= 0) | 
 |  |  |                 { | 
 |  |  |                     sReturn = "无验证数据!"; | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") | 
 |  |  |                 { | 
 |  |  |                     sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //删除关联关系 | 
 |  |  |                 oCn.RunProc("exec h_p_JIT_MESBeginWorkBill_DelRelation @HInterId=" + lngBillKey + ""); | 
 |  |  |  | 
 |  |  |                 //删除明细表 | 
 |  |  |                 oCn.RunProc("Delete From " + MvarItemKeySub + "  where HInterID=" + lngBillKey.ToString()); | 
 |  |  |                 //删除主表 | 
 |  |  |                 oCn.RunProc("Delete From " + MvarItemKey + "  where HInterID=" + lngBillKey.ToString()); | 
 |  |  |  | 
 |  |  |                 //删除后控制==================================================================================       | 
 |  |  |                 string sql2 = "exec " + procName + " " + lngBillKey + ",'" + HBillNo + "','" + user + "'"; | 
 |  |  |                 ds = oCn.RunProcReturn(sql2, procName); | 
 |  |  |                 if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |  | 
 |  |  |                     sReturn = "删除失败!原因:删除后判断失败,请与网络管理人员联系"; | 
 |  |  |                     oCn.RollBack(); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") | 
 |  |  |                 { | 
 |  |  |                     sReturn = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); | 
 |  |  |                     oCn.RollBack(); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 //============================================================================================== | 
 |  |  |  | 
 |  |  |                 sReturn = "删除单据成功!"; | 
 |  |  |                 oCn.Commit(); | 
 |  |  |                 return true; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 sReturn = e.Message; | 
 |  |  |                 oCn.RollBack(); | 
 |  |  |                 throw (e); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //审核 | 
 |  |  |         public bool CheckBill(Int64 lngBillKey, ref string sReturn) | 
 |  |  |         { | 
 |  |  | 
 |  |  |             { | 
 |  |  |                 string HChecker = DBUtility.ClsPub.CurUserName; | 
 |  |  |                 string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); | 
 |  |  |                 oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); | 
 |  |  |                 oCn.BeginTran(); | 
 |  |  |                 oCn.RunProc(" Update " + MvarItemKey + " set HBillStatus='2',HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); | 
 |  |  |                 //根据开工单内码 设置 生产状态表 开工状态(先把 本资源全部工单 设置为非开工状态,再设置本单对应得源单 为开工状态) | 
 |  |  |                 oCn.RunProc("exec h_p_JIT_MESBeginWorkBill_BeginWork @HInterId=" + lngBillKey + ",@flag='开工'"); | 
 |  |  |                 oCn.Commit(); | 
 |  |  |                 //生成调拨单 | 
 |  |  |                 //得到调拨单 mainid 单据号 | 
 |  |  |                 //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo); |