using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace BaseSet { public partial class Gy_DataIn_BOM_K3 :BLL.Gy_DataInTmp { public Gy_DataIn_BOM_K3() { InitializeComponent(); } public int HMaterIDCol =1; //²úÆ·´úÂë public int HJJGCol = 4; //»ú¼Ó¹¤´úÂë public int HMPCol = 7; //ëÅ÷ID public int HCLCol = 11; //²ÄÁÏ´úÂë // public const int HBeginRow = 0; //ÓÐЧÊý¾Ý£¬¿ªÊ¼ÐÐÊý // public DAL.ClsGy_ICBomBill_K3 BillNew = new DAL.ClsGy_ICBomBill_K3(); public DAL.ClsK3_Material_View oMater = new DAL.ClsK3_Material_View(); /// /// ³õʼ»¯½çÃæ /// public override void initData() { base.initData(); base.sSheetName = "Sheet1"; base.ModRightName = "Gy_DataIn_BOM_K3"; base.ModRightNameCheck = base.ModRightName + base.ModRightNameCheck; base.ModRightNameClose = base.ModRightName + base.ModRightNameClose; base.ModRightNameDelete = base.ModRightName + base.ModRightNameDelete; base.ModRightNameEdit = base.ModRightName + base.ModRightNameEdit; base.ModRightNameMoney = base.ModRightName + base.ModRightNameMoney; base.ModRightNameQty = base.ModRightName + base.ModRightNameQty; base.ModCaption = "K3BOMµ¼Èë"; this.Text = base.ModCaption; lblCaption.Text = base.ModCaption; // //DBUtility.Gy_BaseFun.SetComboxYear(cmbHYear); //DBUtility.Gy_BaseFun.SetComboxPeriod(cmbHPeriod); // } public override void Sub_DataIn() { //base.Sub_DataIn(); // int m = 0; string smsg = ""; bool b = false; //ɾ³ý Ïàͬ»á¼ÆÆÚ¼ä£¬Ïàͬ·ÑÓÃÏîÄ¿£¬µÄËùÓмǼ for (int i = HBeginRow; i <= grdMain.Rows.Count - 1; i++) { if (DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HMaterIDCol].Value) != "") { //дÈëÀà if (WriteClass(i)) { //±£´æ¼Ç¼ if (!BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo)) { smsg = smsg + ",," + i.ToString(); } else { m++; } } else { smsg = smsg + ",," + i.ToString(); } } // if (DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HJJGCol].Value) != "") { //дÈëÀà if (WriteClass2(i)) { //±£´æ¼Ç¼ if (!BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo)) { smsg = smsg + "," + i.ToString(); } else { m++; } } else { smsg = smsg + "," + i.ToString(); } } if (DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HMPCol].Value) != "") { if (DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HCLCol].Value) != "") { //дÈëÀà if (WriteClass3(HMPCol,i)) { m++; } else { smsg = smsg + "," + i.ToString(); } } } } MessageBox.Show("µ¼ÈëÍê±Ï" + smsg + " || " + m.ToString()); grdMain.DataSource = null; } //дÈëÀà ´Ó¿Ø¼þ private bool WriteClass(int row) { //ÅжÏÊÇ·ñÔÊÐí ±£´æ //µÃµ½Òµ»§ÄÚÂ룬·ÑÓÃÏîÄ¿ÄÚÂë SQLHelper.ClsCNK3 oK3Cn = new SQLHelper.ClsCNK3(); DataSet Ds; string sBillNo = ""; Ds = oK3Cn.RunProcReturn("exec HX_GetICBillNo 1,50", "t_billcodeby"); if (Ds.Tables[0].Rows.Count == 0 || Ds == null) { return false; } sBillNo = Ds.Tables[0].Rows[0][0].ToString().Trim(); //дÈëÐÅÏ¢ BillNew.omodel.HYear = 2011; BillNew.omodel.HPeriod = 1; BillNew.omodel.HBillNo = sBillNo; BillNew.omodel.HDate = DateTime.Today; BillNew.omodel.HRemark = "BOMµ¼Èë"; // BillNew.omodel.HParentID = DBUtility.ClsPub.isLong(this.txtHICBOMGroupID.Tag); BillNew.omodel.HVersion = "1"; BillNew.omodel.HStatus = ""; BillNew.omodel.HPicNo = ""; if (oMater.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HMaterIDCol].Value))) { BillNew.omodel.HMaterID = oMater.omodel.HItemID; BillNew.omodel.HUnitID = oMater.omodel.HUnitID; } else { BillNew.omodel.HMaterID = 0; BillNew.omodel.HUnitID = 0; return false; } BillNew.omodel.HMaterTypeID = 0; BillNew.omodel.HPropertyID = 0; BillNew.omodel.HQty = 1; BillNew.omodel.HProdRate = 100; BillNew.omodel.HJump = "1059"; // //BillNew.HExRate = ClsPub.isDoule(this.txtHMaterName.Text.ToString()); //Ã÷ϸÀำֵ BillNew.DetailColl = new List(); if (DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HMaterIDCol].Value) != "") { if (DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HJJGCol].Value) != "") { Model.ClsGy_ICBomBillSub_K3 oSub = new Model.ClsGy_ICBomBillSub_K3(); oSub.HEntryID = 1; // if (oMater.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HJJGCol].Value))) { oSub.HMaterID = oMater.omodel.HItemID; oSub.HUnitID = oMater.omodel.HUnitID; } else { oSub.HMaterID = 0; oSub.HUnitID = 0; return false; } oSub.HChildType = ""; oSub.HQty = 1; oSub.HRelQty = 1; oSub.HWasteRate = 0; oSub.HWhID = 0; oSub.HProcID = 0; oSub.HRemark2 = ""; oSub.HRemark3 = ""; oSub.HRemark4 = ""; // oSub.HRemark = ""; oSub.HSourceInterID = 0; oSub.HSourceEntryID = 0; oSub.HSourceBillType = ""; oSub.HSourceBillNo = ""; oSub.HRelationQty = 0; oSub.HRelationMoney = 0; BillNew.DetailColl.Add(oSub); return true; } else if (DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HMPCol].Value) != "") { Model.ClsGy_ICBomBillSub_K3 oSub = new Model.ClsGy_ICBomBillSub_K3(); oSub.HEntryID =1; // if (oMater.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HMPCol].Value))) { oSub.HMaterID = oMater.omodel.HItemID; oSub.HUnitID = oMater.omodel.HUnitID; } else { oSub.HMaterID = 0; oSub.HUnitID = 0; return false; } oSub.HChildType = ""; oSub.HQty = 1; oSub.HRelQty = 1; oSub.HWasteRate = 0; oSub.HWhID = 0; oSub.HProcID = 0; oSub.HRemark2 = ""; oSub.HRemark3 = ""; oSub.HRemark4 = ""; // oSub.HRemark = ""; oSub.HSourceInterID = 0; oSub.HSourceEntryID = 0; oSub.HSourceBillType = ""; oSub.HSourceBillNo = ""; oSub.HRelationQty = 0; oSub.HRelationMoney = 0; BillNew.DetailColl.Add(oSub); return true; } } return true; } //дÈëÀà ´Ó¿Ø¼þ2 private bool WriteClass2(int row) { //ÅжÏÊÇ·ñÔÊÐí ±£´æ //µÃµ½Òµ»§ÄÚÂ룬·ÑÓÃÏîÄ¿ÄÚÂë SQLHelper.ClsCNK3 oK3Cn = new SQLHelper.ClsCNK3(); DataSet Ds; string sBillNo = ""; Ds = oK3Cn.RunProcReturn("exec HX_GetICBillNo 1,50", "t_billcodeby"); if (Ds.Tables[0].Rows.Count == 0 || Ds == null) { return false; } sBillNo = Ds.Tables[0].Rows[0][0].ToString().Trim(); //дÈëÐÅÏ¢ BillNew.omodel.HYear = 2011; BillNew.omodel.HPeriod = 1; BillNew.omodel.HBillNo = sBillNo; BillNew.omodel.HDate = DateTime.Today; BillNew.omodel.HRemark = "BOMµ¼Èë"; // BillNew.omodel.HParentID = DBUtility.ClsPub.isLong(this.txtHICBOMGroupID.Tag); BillNew.omodel.HVersion = "1"; BillNew.omodel.HStatus = ""; BillNew.omodel.HPicNo = ""; BillNew.omodel.HMaterTypeID = 0; BillNew.omodel.HPropertyID = 0; if (oMater.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HJJGCol].Value))) { BillNew.omodel.HMaterID = oMater.omodel.HItemID; BillNew.omodel.HUnitID = oMater.omodel.HUnitID; } else { BillNew.omodel.HMaterID = 0; BillNew.omodel.HUnitID = 0; return false; } BillNew.omodel.HQty = 1; BillNew.omodel.HProdRate = 100; BillNew.omodel.HJump = "1059"; // //BillNew.HExRate = ClsPub.isDoule(this.txtHMaterName.Text.ToString()); //Ã÷ϸÀำֵ BillNew.DetailColl = new List(); if (DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HJJGCol].Value) != "") { if (DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HMPCol].Value) != "") { Model.ClsGy_ICBomBillSub_K3 oSub = new Model.ClsGy_ICBomBillSub_K3(); oSub.HEntryID = 1; // if (oMater.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HMPCol].Value))) { oSub.HMaterID = oMater.omodel.HItemID; oSub.HUnitID = oMater.omodel.HUnitID; } else { oSub.HMaterID = 0; oSub.HUnitID = 0; return false; } oSub.HChildType = ""; oSub.HQty = 1; oSub.HRelQty = 1; oSub.HWasteRate = 0; oSub.HWhID = 0; oSub.HProcID = 0; oSub.HRemark2 = ""; oSub.HRemark3 = ""; oSub.HRemark4 = ""; // oSub.HRemark = ""; oSub.HSourceInterID = 0; oSub.HSourceEntryID = 0; oSub.HSourceBillType = ""; oSub.HSourceBillNo = ""; oSub.HRelationQty = 0; oSub.HRelationMoney = 0; BillNew.DetailColl.Add(oSub); return true; } else if (DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HCLCol].Value) != "") { WriteClass3(HJJGCol, row); return true; } } return true; } //дÈëÀà ´Ó¿Ø¼þ3 ²ÄÁÏ private bool WriteClass3(int HCol, int row) { //ÅжÏÊÇ·ñÔÊÐí ±£´æ //µÃµ½Òµ»§ÄÚÂ룬·ÑÓÃÏîÄ¿ÄÚÂë SQLHelper.ClsCNK3 oK3Cn = new SQLHelper.ClsCNK3(); SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet Ds; string sBillNo = ""; long HInterID = 0; long HMaterID = 0; long HClID = 0; long HCLUnitID = 0; Ds = oK3Cn.RunProcReturn("exec HX_GetICBillNo 1,50", "t_billcodeby"); if (Ds.Tables[0].Rows.Count == 0 || Ds == null) { return false; } sBillNo = Ds.Tables[0].Rows[0][0].ToString().Trim(); /// Ds = oK3Cn.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNum 'ICBom', @InterID output, 1, 16394 select ltrim(@InterID)", "GetICMaxNum"); HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) + 10000000; //дÈëÐÅÏ¢ if (oMater.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HCol].Value))) { HMaterID = oMater.omodel.HItemID; } else { return false; } if (oMater.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdMain.Rows[row].Cells[HCLCol].Value))) { HClID = oMater.omodel.HItemID; HCLUnitID=oMater.omodel.HUnitID; } else { return false; } oCn.RunProc("exec h_p_ICBomAdd_K3 " + HInterID.ToString() + ",'" + sBillNo + "'," + DBUtility.ClsPub.isLong(this.txtHICBOMGroupID.Tag).ToString() + "," + HMaterID.ToString() + "," + HClID.ToString() + "," + HCLUnitID.ToString()); return true; } private void cmdHBOMGroupID_Click(object sender, EventArgs e) { DAL.ClsK3_ICBOMGroup_View oBOMGroupID = new DAL.ClsK3_ICBOMGroup_View(); if (oBOMGroupID.RefreshView()) { this.txtHICBOMGroupID.Text = oBOMGroupID.oModel.HName; this.txtHICBOMGroupID.Tag = oBOMGroupID.oModel.HItemID.ToString(); } else { this.txtHICBOMGroupID.Text = ""; } } private void txtHICBOMGroupID_TextChanged(object sender, EventArgs e) { if (txtHICBOMGroupID.Text.Trim() == "") { txtHICBOMGroupID.Tag = "0"; } } } }