using System; using System.Collections.Generic; using System.Text; using System.Data; namespace SCM { public class Clsxt_ICSchemeMain { public Int64 HInterID; public string HName; public string HUserCode; public string HBillName; public string HBillType; public bool HStopflag; public Int16 HRowHeight;//内容行高 public Int16 HFixRowHeight;//标题行高 public Int16 HFontSize;//字体大小 private string mvarItemKey; public List DetailColl = new List(); public List MainColl; //Pub_Class.ClsSqlHelper oCn = new Pub_Class.ClsSqlHelper(); SCM.WMSWeb.WebService1 oWeb = new SCM.WMSWeb.WebService1(); public Clsxt_ICSchemeMain() { mvarItemKey = "0001"; mvarReportTitle = "过滤方案"; } #region 固定代码 public string MvarItemKey { get { return mvarItemKey; } set { mvarItemKey = value; } } private string mvarReportTitle; public string MvarReportTitle { get { return mvarReportTitle; } set { mvarReportTitle = value; } } ~Clsxt_ICSchemeMain() { DetailColl = null; } //删除子表 public void DeleteBillSub(Int64 lngBillKey) { oWeb.Url = ClsPub1.WEBSURL; oWeb.getRunProc("Delete From xt_ICSchemeSub where HInterID=" + lngBillKey.ToString(), ref DBUtility.ClsPub.sExeReturnInfo); //oCn.RunProc("Delete From xt_ICSchemeSub where HInterID=" + lngBillKey.ToString()); } //删除主表 public void DeleteBillMain(Int64 lngBillKey) { oWeb.Url = ClsPub1.WEBSURL; oWeb.getRunProc("Delete From xt_ICSchemeMain where HInterID=" + lngBillKey.ToString(), ref DBUtility.ClsPub.sExeReturnInfo); //oCn.RunProc("Delete From xt_ICSchemeMain where HInterID=" + lngBillKey.ToString()); } //删除单据 public bool DeleteBill(Int64 lngBillKey, ref string sReturn) { try { //oCn.BeginTran(); //删除关联 DeleteRelation(ref sReturn, lngBillKey); //删除明细表 DeleteBillSub(lngBillKey); //删除主表 DeleteBillMain(lngBillKey); sReturn = "删除成功!"; //oCn.Commit(); return true; } catch (Exception e) { sReturn = e.Message; //oCn.RollBack(); return false; } } //单据号是否重复 public bool IsExistBillNo(ref string sReturn, string sBillNo, Pub_Class.ClsPub.Enum_BillStatus oBillStatus, Int64 lngBillKey) { try { oWeb.Url = ClsPub1.WEBSURL; string sSql = ""; if (oBillStatus == Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew) { sSql = "Select HInterID from xt_ICSchemeMain where hbilltype='" + MvarItemKey + "'and HName ='" + sBillNo + "'"; } else { sSql = "Select HInterID from xt_ICSchemeMain where hbilltype='" + MvarItemKey + "'and HName ='" + sBillNo + "' and HInterID<>" + lngBillKey.ToString(); } DataSet Ds; Ds = oWeb.getDataSetBySQL(sSql, "xt_ICSchemeMain", ref DBUtility.ClsPub.sExeReturnInfo); //Ds = oCn.RunProcReturn(sSql, "xt_ICSchemeMain"); if (Ds.Tables[0].Rows.Count != 0) { sReturn = "名称重复"; return true; } sReturn = "未重复"; return false; } catch (Exception e) { sReturn = e.Message; return false; } } #endregion //修改单据 public bool ModifyBill(Int64 lngBillKey, ref string sReturn) { try { //// //oCn.BeginTran(); ////更新主表 ////主表 //DeleteBillMain(lngBillKey); //oCn.RunProc("Insert Into xt_ICSchemeMain " + //"(HBillType,HInterID,HName,HUserCode" + //",HBillName,HStopflag" + //") " + //" values('" + this.MvarItemKey + "'," + lngBillKey.ToString() + ",'" + this.HName + "','" + this.HUserCode + "'" + //",'" + this.HBillName.ToString() + "',0" + //") "); ////删除关联 //DeleteRelation(ref sReturn, lngBillKey); ////删除子表 //DeleteBillSub(lngBillKey); ////插入子表 //foreach(Clsxt_ICSchemeSub oSub in DetailColl) //{ // oCn.RunProc("Insert into xt_ICSchemeSub " + // " (HInterID,HKey,HValue)" + // " values(" // + this.HInterID.ToString() + ",'" + oSub.HKey.ToString() + "','" + oSub.HValue.ToString() + "') "); //} //sReturn = "修改单据成功!"; //oCn.Commit(); return true; } catch (Exception e) { //sReturn = e.Message; //oCn.RollBack(); return false; } } //新增单据 public bool AddBill( ref string sReturn,Int64 sInterID) { try { ////得到mainid //this.HInterID = Pub_Class.ClsPub.CreateBillID(MvarItemKey, ref Pub_Class.ClsPub.sExeReturnInfo); //sInterID = HInterID; ////若MAINDI重复则重新获取 //oCn.BeginTran(); ////主表 //oCn.RunProc("Insert Into xt_ICSchemeMain " + //"(HBillType,HInterID,HName,HUserCode" + //",HBillName,HStopflag" + //") " + //" values('" + this.MvarItemKey + "'," + this.HInterID.ToString() + ",'" + this.HName + "','" + this.HUserCode + "'" + //",'" + this.HBillName.ToString() + "',0" + //") "); ////插入子表 //foreach (Clsxt_ICSchemeSub oSub in DetailColl) //{ // oCn.RunProc("Insert into xt_ICSchemeSub " + // " (HInterID,HKey,HValue)" + // " values(" // + this.HInterID.ToString() + ",'" + oSub.HKey.ToString() + "','" + oSub.HValue.ToString() + "') "); //} //sReturn = "新增单据成功!"; //oCn.Commit(); return true; } catch (Exception e) { //sReturn = e.Message; //oCn.RollBack(); return false; } } //显示单据 public bool ShowBill(Int64 lngBillKey, ref string sReturn) { try { oWeb.Url = ClsPub1.WEBSURL; //查询主表 DataSet Ds; Ds = oWeb.getDataSetBySQL("Select * from xt_ICSchemeMain Where HInterID=" + lngBillKey.ToString(), "xt_ICSchemeMain", ref DBUtility.ClsPub.sExeReturnInfo); //Ds = oCn.RunProcReturn("Select * from xt_ICSchemeMain Where HInterID=" + lngBillKey.ToString(), "xt_ICSchemeMain"); if (Ds.Tables[0].Rows.Count == 0) { sReturn = "单据未找到!"; return false; } //赋值 this.HInterID = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()); this.HName = Ds.Tables[0].Rows[0]["HName"].ToString().Trim(); this.HUserCode = Ds.Tables[0].Rows[0]["HUserCode"].ToString().Trim(); this.HBillType = Ds.Tables[0].Rows[0]["HBillType"].ToString().Trim(); this.HBillName = Ds.Tables[0].Rows[0]["HBillName"].ToString().Trim(); this.HStopflag = false; //循环 DataSet DsSub; DsSub = oWeb.getDataSetBySQL("Select * from xt_ICSchemeSub Where HInterID=" + this.HInterID, "xt_ICSchemeMain", ref DBUtility.ClsPub.sExeReturnInfo); //DsSub = oCn.RunProcReturn("Select * from xt_ICSchemeSub Where HInterID=" + this.HInterID, "xt_ICSchemeMain"); DetailColl.Clear();//清空 for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { Clsxt_ICSchemeSub oSub = new Clsxt_ICSchemeSub(); oSub.HInterID = Pub_Class.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"].ToString()); oSub.HEntryID = Pub_Class.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"].ToString()); oSub.HKey = DsSub.Tables[0].Rows[i]["HKey"].ToString().Trim(); oSub.HValue = DsSub.Tables[0].Rows[i]["HValue"].ToString().Trim(); DetailColl.Add(oSub); } sReturn = "显示单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; return false; } } //显示默认方案 public bool ShowDefault(string HBillName) { try { oWeb.Url = ClsPub1.WEBSURL; //查询主表 DataSet Ds; Ds = oWeb.getDataSetBySQL("Select * from xt_ICSchemeMain Where HName='默认方案' and HBillName='" + HBillName + "'and HUserCode='" + Pub_Class.ClsPub.CurUserName + "'", "xt_ICSchemeMain", ref DBUtility.ClsPub.sExeReturnInfo); //Ds = oCn.RunProcReturn("Select * from xt_ICSchemeMain Where HName='默认方案' and HBillName='" + HBillName + "'and HUserCode='" + Pub_Class.ClsPub.CurUserName + "'", "xt_ICSchemeMain"); if (Ds.Tables[0].Rows.Count == 0) { return false; } //赋值 this.HInterID = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()); this.HName = Ds.Tables[0].Rows[0]["HName"].ToString().Trim(); this.HUserCode = Ds.Tables[0].Rows[0]["HUserCode"].ToString().Trim(); this.HBillType = Ds.Tables[0].Rows[0]["HBillType"].ToString().Trim(); this.HBillName = Ds.Tables[0].Rows[0]["HBillName"].ToString().Trim(); this.HStopflag = false; //循环 DataSet DsSub; DsSub = oWeb.getDataSetBySQL("Select * from xt_ICSchemeSub Where HInterID=" + this.HInterID, "xt_ICSchemeMain", ref DBUtility.ClsPub.sExeReturnInfo); //DsSub = oCn.RunProcReturn("Select * from xt_ICSchemeSub Where HInterID=" + this.HInterID, "xt_ICSchemeMain"); DetailColl.Clear();//清空 for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { Clsxt_ICSchemeSub oSub = new Clsxt_ICSchemeSub(); oSub.HInterID = Pub_Class.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"].ToString()); oSub.HEntryID = Pub_Class.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"].ToString()); oSub.HKey = DsSub.Tables[0].Rows[i]["HKey"].ToString().Trim(); oSub.HValue = DsSub.Tables[0].Rows[i]["HValue"].ToString().Trim(); DetailColl.Add(oSub); } return true; } catch (Exception e) { return false; } } //MAINID是否重复 public bool IsExistMainID(ref string sReturn, Int64 lngBillKey) { sReturn = ""; return false; } //删除关联 public void DeleteRelation(ref string sReturn, Int64 lngBillKey) { sReturn = ""; return; } //获取方案列表 public bool GetBillList(string sViewName,ref string sReturn) { try { ////查询主表 //DataSet Ds; //Ds = oCn.RunProcReturn("Select * from xt_ICSchemeMain Where Hname<>'默认方案' and HBillName='" + sViewName + "' and HUserCode='" + Pub_Class.ClsPub.CurUserName + "'", "xt_ICSchemeMain"); //if (Ds.Tables[0].Rows.Count == 0) //{ // sReturn = "单据未找到!"; // return false; //} //MainColl = new List(); //MainColl.Clear(); ////赋值 //for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) //{ // Clsxt_ICSchemeMain oMain = new Clsxt_ICSchemeMain(); // oMain.HInterID = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[i]["HInterID"].ToString()); // oMain.HName = Ds.Tables[0].Rows[i]["HName"].ToString().Trim(); // oMain.HUserCode = Ds.Tables[0].Rows[i]["HUserCode"].ToString().Trim(); // oMain.HBillType = Ds.Tables[0].Rows[i]["HBillType"].ToString().Trim(); // oMain.HBillName = Ds.Tables[0].Rows[i]["HBillName"].ToString().Trim(); // oMain.HStopflag = false; // MainColl.Add(oMain); //} //sReturn = "显示单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; return false; } } } }