| using System; | 
| using System.Collections.Generic; | 
| using System.ComponentModel; | 
| using System.Data; | 
| using System.Drawing; | 
| using System.Text; | 
| using System.Windows.Forms; | 
|   | 
| namespace WorkM | 
| { | 
|     public partial class Sc_MpsResultBill_ICMOSub : Form | 
|     { | 
|         public Sc_MpsResultBill_ICMOSub() | 
|         { | 
|             InitializeComponent(); | 
|         } | 
|   | 
|         //³õʼ»¯Íø¸ñ | 
|         private void initGrid() | 
|         { | 
|             DBUtility.Xt_BaseBillFun.initGridList(grdSub, this.Name); | 
|         } | 
|         int HCheckCol = 8;  //Ñ¡ÖÐÁÐ | 
|         int HQtyCol = 7;    //ÊýÁ¿ÁÐ | 
|   | 
|         public long HMPSInterID; | 
|         public long HSeHInterID; | 
|         public long HSeHEntryID; | 
|         public long HDeptID; | 
|         public long HEmpID; | 
|   | 
|         public long HMaterID; | 
|         public double HQty; | 
|   | 
|         private void grdSub_Show() | 
|         { | 
|             grdSub.DataSource = null; | 
|             grdSub.Columns.Clear(); | 
|             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); | 
|             DataSet Ds1; | 
|   | 
|             Ds1 = oCn.RunProcReturn("exec h_p_Sc_MpsResultBill_ICMOSubList " + HMaterID + "," + HQty, "h_p_Sc_MpsResultBill_ICMOSubList"); | 
|             grdSub.DataSource = Ds1.Tables[0].DefaultView; | 
|   | 
|             DataGridViewCheckBoxColumn columncb = new DataGridViewCheckBoxColumn(); | 
|             columncb.HeaderText = "Ñ¡Ôñ"; | 
|             columncb.Name = "cb_check"; | 
|             columncb.TrueValue = true; | 
|             columncb.FalseValue = false; | 
|             //column9.DataPropertyName = "IsScienceNature"; | 
|             columncb.DataPropertyName = "IsChecked"; | 
|             grdSub.Columns.Add(columncb); | 
|   | 
|             HQtyCol = Fun_GetColSub("Éú²úÊýÁ¿"); | 
|             HCheckCol = grdSub.ColumnCount - 1; | 
|             //¶³½á | 
|             int FrCol = 0; | 
|             string s = ""; | 
|             DBUtility.Xt_BaseBillFun.DisplayGrid(grdSub, this.Name, s, FrCol); | 
|             grdSub.ReadOnly = false; | 
|         } | 
|   | 
|         private void grdSub_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) | 
|         { | 
|             if (e.ColumnIndex != HQtyCol) | 
|             { | 
|                 e.Cancel = true; | 
|             } | 
|         } | 
|   | 
|         private void grdSub_CellClick(object sender, DataGridViewCellEventArgs e) | 
|         { | 
|             if (grdSub.CurrentRow == null) | 
|                 return; | 
|             if (e.ColumnIndex == HCheckCol && DBUtility.ClsPub.isInt(grdSub.Rows[grdSub.CurrentRow.Index].Cells[Fun_GetColSub("herpclsid")].Value) == 2) | 
|             { | 
|                 if (DBUtility.ClsPub.isBool(grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value) == false) | 
|                 { | 
|                     grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value = true; | 
|                 } | 
|                 else | 
|                 { | 
|                     grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value = false; | 
|                 } | 
|             } | 
|         } | 
|   | 
|         private void bclk_Click(object sender, EventArgs e) | 
|         { | 
|   | 
|             DBUtility.Xt_BaseBillFun.SaveGrid(grdSub, this.Name); | 
|         } | 
|   | 
|         private void mrlk_Click(object sender, EventArgs e) | 
|         { | 
|   | 
|             DBUtility.Xt_BaseBillFun.DefaultGridView(grdSub, this.Name); | 
|         } | 
|   | 
|         private void cg_Click(object sender, EventArgs e) | 
|         { | 
|             string HBillNo; | 
|             //ÅжÏÓÐûÓÐÑ¡ÖÐÐÐ | 
|             bool isCheck = false; | 
|             for (int i = 0; i < grdSub.Rows.Count; i++) | 
|             { | 
|                 if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true) | 
|                 { | 
|                     //if (DBUtility.ClsPub.isDoule(grdSub.Rows[i].Cells[Fun_GetColSub("Éú²úÊýÁ¿")].Value) > DBUtility.ClsPub.isDoule(grdSub.Rows[i].Cells[Fun_GetColSub("δÉêÇëÊýÁ¿")].Value)) | 
|                     //{ | 
|                     //    MessageBox.Show("ÎïÁÏ´úÂ룺" + DBUtility.ClsPub.isStrNull(grdSub.Rows[i].Cells[Fun_GetColSub("ÎïÁÏ´úÂë")].Value) + "²É¹ºÊýÁ¿²»ÄÜ´óÓÚδÉêÇëÊýÁ¿£¡", "Ìáʾ"); | 
|                     //    return; | 
|                     //} | 
|                     isCheck = true; | 
|                 } | 
|             } | 
|             if (isCheck == false) | 
|             { | 
|                 MessageBox.Show("ûÓÐÑ¡ÔñÐèÒªÉú³ÉÈÎÎñµ¥µÄÎïÁÏ£¡", "Ìáʾ"); | 
|                 return; | 
|             } | 
|   | 
|   | 
|   | 
|             string HICMOBillNo; | 
|             string HPPBOMBillNo; | 
|             SQLHelper.ClsCNK3 oCnK3 = new SQLHelper.ClsCNK3(); | 
|             try | 
|             { | 
|                 HICMOBillNo = DBUtility.Xt_BaseBillFun.get_MaxBillNo_K3("85", oCnK3); | 
|                 HPPBOMBillNo = DBUtility.Xt_BaseBillFun.get_MaxBillNo_K3("88", oCnK3); | 
|   | 
|                 //µÃµ½Óû§ID | 
|                 long HBillerID; | 
|                 DataSet DsBiller; | 
|                 string HSourceBillType = ""; | 
|                 DsBiller = oCnK3.RunProcReturn("select top 1 fuserid from t_User where fname='" + DBUtility.ClsPub.CurUserName + "'", "t_User"); | 
|                 if (DsBiller.Tables[0].Rows.Count != 0) | 
|                 { | 
|                     HBillerID = DBUtility.ClsPub.isLong(DsBiller.Tables[0].Rows[0][0]); | 
|                 } | 
|                 else | 
|                 { | 
|                     HBillerID = 16394; | 
|                 } | 
|                 // | 
|                 DataSet Ds1; | 
|                 //µÃµ½mainid | 
|                 long HICMOInterID = 0; | 
|                 Ds1 = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNum 'ICMO', @InterID output, 1, " + HBillerID.ToString() + " select ltrim(@InterID)", "GetICMaxNum"); | 
|                 if (Ds1.Tables[0].Rows.Count != 0) | 
|                 { | 
|                     HICMOInterID = DBUtility.ClsPub.isLong(Ds1.Tables[0].Rows[0][0]); | 
|                 } | 
|                 if (HICMOInterID == 0) | 
|                 { | 
|                     MessageBox.Show("Éú³ÉÈÎÎñµ¥ÄÚÂëʧ°Ü£¡"); | 
|                     return; | 
|                 } | 
|   | 
|                 DataSet Ds2; | 
|                 //µÃµ½mainid | 
|                 long HPPBOMInterID = 0; | 
|                 Ds2 = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNum 'PPBOM', @InterID output, 1, " + HBillerID.ToString() + " select ltrim(@InterID)", "GetICMaxNum"); | 
|                 if (Ds2.Tables[0].Rows.Count != 0) | 
|                 { | 
|                     HPPBOMInterID = DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0][0]); | 
|                 } | 
|                 if (HPPBOMInterID == 0) | 
|                 { | 
|                     MessageBox.Show("Éú³ÉͶÁϵ¥ÄÚÂëʧ°Ü£¡"); | 
|                     return; | 
|                 } | 
|   | 
|                 oCnK3.BeginTran();  | 
|                 for (int i = 0; i < grdSub.Rows.Count; i++) | 
|                 { | 
|                     if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true) | 
|                     { | 
|                         long HSubMaterID = DBUtility.ClsPub.isLong(grdSub.Rows[i].Cells[Fun_GetColSub("hmaterid")].Value); | 
|                         double HSubQty = DBUtility.ClsPub.isDoule(grdSub.Rows[i].Cells[Fun_GetColSub("Éú²úÊýÁ¿")].Value); | 
|                         //²ÎÊý  MPSÄÚÂ룬ÊýÁ¿£¬ÖƵ¥ÈË£¬ÈÎÎñµ¥ÄÚÂ룬ÈÎÎñµ¥ºÅ£¬Í¶Áϵ¥ÄÚÂ룬ͶÁϵ¥ºÅ | 
|                         oCnK3.RunProc("exec h_p_Sc_MpsResultBill_ICMOSub " + HMPSInterID + "," + HSubQty + "," + HBillerID + "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HPPBOMInterID + ",'" + HPPBOMBillNo + "'," + HSubMaterID); | 
|   | 
|                     } | 
|                 }  | 
|   | 
|                 oCnK3.Commit(); | 
|             } | 
|             catch (Exception ex) | 
|             { | 
|                 oCnK3.RollBack(); | 
|                 throw (ex); | 
|             } | 
|   | 
|             MessageBox.Show("ÈÎÎñµ¥ºÅ£º" + HICMOBillNo + "£¬Í¶Áϵ¥ºÅ£º" + HPPBOMBillNo + "£¬±£´æÍê±Ï£¡"); | 
|             this.Close(); | 
|   | 
|         } | 
|   | 
|         private void sx_Click(object sender, EventArgs e) | 
|         { | 
|             grdSub_Show(); | 
|         } | 
|   | 
|         private void tc_Click(object sender, EventArgs e) | 
|         { | 
|             this.Close(); | 
|         } | 
|   | 
|         private Int32 Fun_GetColSub(string sCol) | 
|         { | 
|             return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdSub); | 
|         } | 
|   | 
|         private void timer1_Tick(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = false; | 
|             initGrid(); | 
|             grdSub_Show(); | 
|         } | 
|     } | 
| } |