using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Collections; namespace DeiNiu.Wms.CE { public partial class StockMaintain : basicForm { public StockMaintain() { InitializeComponent(); } DataTable dt = null; string djbh = ""; int number = 0; string location = ""; string loca = ""; ArrayList ar = new ArrayList(); int stkId = 0; decimal mcount = 0m; string goodsId = ""; string batch = ""; int skuId = 0; int ye = 0; int index = 0; private void StockMaintain_Load(object sender, EventArgs e) { setTitle(); showdata(""); // dataGrid1.DataSource = client.getIssueData(""); DataTable dtx ; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { dtx = client.getIssueData(0); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; MessageBox.Show("发生错误:" + er.Message); return; } Cursor.Current = System.Windows.Forms.Cursors.Default; bindDg(dataGrid1,dtx); focusOn(txtlocationId); } /// /// 展示待养护信息 /// private void showdata(string locationId) { dg.DataSource = null; dt = new DataTable(); DataSet ds; int cnt = 0; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { ds = client.getData4Maintain(locationId); cnt = Convert.ToInt16(ds.Tables[1].Rows[0][0].ToString()); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; MessageBox.Show("发生错误:" + er.Message); return; } Cursor.Current = System.Windows.Forms.Cursors.Default; dt = ds.Tables[0]; lbrecordcount.Text = string.Format("{0}/{1}条", dt.Rows.Count, cnt); if (dt.Rows.Count == 0) return; // dg.DataSource = dt; // dg1.DataSource = client.getIssueData(""); bindDg(dg,dt); DataTable dtx; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { dtx =client.getIssueData(0); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; MessageBox.Show("发生错误:" + er.Message); return; } Cursor.Current = System.Windows.Forms.Cursors.Default; bindDg(dg1, dtx); /*DataGridTableStyle ts = new DataGridTableStyle(); ts.MappingName = dt.TableName; dg.TableStyles.Add(ts); dg.TableStyles[0].GridColumnStyles["货位"].Width = 65; dg.TableStyles[0].GridColumnStyles["数量"].Width = 40; dg.TableStyles[0].GridColumnStyles["商品"].Width = 100; for (int i = 0; i < dt.Columns.Count; i++) { if (i >= 2) //如果某个条件满足就执行该列是否隐藏 { dg.TableStyles[0].GridColumnStyles[i].Width = 0; } } */ } void bindDg(DataGrid dg,DataTable dt) { dg.DataSource = dt; DataGridTableStyle ts = new DataGridTableStyle(); ts.MappingName = dt.TableName; dg.TableStyles.Clear(); dg.TableStyles.Add(ts); dg.TableStyles[0].GridColumnStyles["skuId"].Width = 50; dg.TableStyles[0].GridColumnStyles["货位"].Width = 70; dg.TableStyles[0].GridColumnStyles["数量"].Width = 40; dg.TableStyles[0].GridColumnStyles["商品"].Width = 100; dg.TableStyles[0].GridColumnStyles["厂家"].Width = 120; dg.TableStyles[0].GridColumnStyles["养护周期"].Width = 80; dg.TableStyles[0].GridColumnStyles["上次养护"].Width = 80; dg.TableStyles[0].GridColumnStyles["下次养护"].Width = 80; for (int i = 0; i < dt.Columns.Count; i++) { if (i > 13) //如果某个条件满足就执行该列是否隐藏 { dg.TableStyles[0].GridColumnStyles[i].Width = 0; } } } private void dg_DoubleClick(object sender, EventArgs e) { if (dg.CurrentRowIndex > -1) { lbname.Text = dg[dg.CurrentRowIndex, 2].ToString().Trim(); lbspec.Text = dg[dg.CurrentRowIndex, 9].ToString().Trim(); lbbatch.Text = dg[dg.CurrentRowIndex, 3].ToString().Trim(); lbcount.Text = dg[dg.CurrentRowIndex, 4].ToString().Trim(); lbunit.Text = dg[dg.CurrentRowIndex, 5].ToString().Trim(); txtlocationId.Text = dg[dg.CurrentRowIndex, 1].ToString().Trim(); lbyxq.Text = dg[dg.CurrentRowIndex, 7].ToString().Trim(); lbshccj.Text = dg[dg.CurrentRowIndex, 8].ToString().Trim(); location = dg[dg.CurrentRowIndex, 1].ToString(); stkId = Convert.ToInt32(dt.Rows[dg.CurrentRowIndex]["id"].ToString()); mcount = Convert.ToDecimal(lbcount.Text); lbLoc.Text = location; //djbh = dg[dg.CurrentRowIndex, 10].ToString().Trim(); //number = Convert.ToInt32(dg[dg.CurrentRowIndex, 11].ToString().Trim()); } } /// /// 养护措施 /// /// private string get_yhcsh() { string yhcsh = ""; if (cb1.Checked) { if (yhcsh == "") yhcsh = cb1.Text.Trim(); else yhcsh += "," + cb1.Text.Trim(); } if (cb2.Checked) { if (yhcsh == "") yhcsh = cb2.Text.Trim(); else yhcsh += "," + cb2.Text.Trim(); } if (cb3.Checked) { if (yhcsh == "") yhcsh = cb3.Text.Trim(); else yhcsh += "," + cb3.Text.Trim(); } if (cb4.Checked) { if (yhcsh == "") yhcsh = cb4.Text.Trim(); else yhcsh += "," + cb4.Text.Trim(); } if (cb5.Checked) { if (yhcsh == "") yhcsh = cb5.Text.Trim(); else yhcsh += "," + cb5.Text.Trim(); } if (cb6.Checked) { if (yhcsh == "") yhcsh = cb6.Text.Trim(); else yhcsh += "," + cb6.Text.Trim(); } return yhcsh; } private void clear() { row_lab.Text=lbname.Text = ""; lbspec.Text = ""; lbbatch.Text = ""; lbcount.Text = ""; lbunit.Text = ""; txtlocationId.Text = ""; txtycsl.Text = "0"; lbyxq.Text = ""; lbshccj.Text = ""; cb1.Checked = cb2.Checked = cb3.Checked = cb4.Checked = cb5.Checked = cb6.Checked =cb7.Checked=cb8.Checked= false; djbh = ""; number = 0; location = ""; lbGoodsType.Text = ""; lbbigcount.Text = ""; lbLoc.Text = ""; ye = 0; index = 0; up_bt.Enabled = down_bt.Enabled = false; } /// /// 确认养护 /// /// /// private void btnOK_Click(object sender, EventArgs e) { newMaintain(); clear(); } private void txtlocationId_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { location = txtlocationId.Text.Trim(); showdata(location); if (!String.IsNullOrEmpty(txtlocationId.Text)) { clear(); SetValue(0, dt); } else { clear(); if (dt == null || dt.Rows.Count == 0) { return; } lbname.Text = dt.Rows[0]["商品"].ToString(); lbspec.Text = dt.Rows[0]["规格"].ToString(); lbbatch.Text = dt.Rows[0]["批号"].ToString(); lbcount.Text = dt.Rows[0]["数量"].ToString(); lbunit.Text = dt.Rows[0]["单位"].ToString(); txtlocationId.Text = dt.Rows[0]["货位"].ToString(); lbyxq.Text = dt.Rows[0]["有效期"].ToString(); lbshccj.Text = dt.Rows[0]["厂家"].ToString(); stkId = Convert.ToInt32(dt.Rows[0]["id"].ToString()); mcount = Convert.ToDecimal(lbcount.Text); lbbigcount.Text = dt.Rows[0]["大包装"].ToString(); lbGoodsType.Text = dt.Rows[0]["goodstypename"].ToString(); txtycsl.SelectAll(); txtycsl.Focus(); } //location = dt.Rows[0]["货位"].ToString(); ////djbh = dt.Rows[0]["单据号"].ToString(); //number =Convert.ToInt32(dt.Rows[0]["序号"].ToString()); } } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)///// { Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { // GetYcsl(); //dataGrid1.DataSource = client.getIssueData(""); if (tabControl1.SelectedIndex == 1) { bindDg(dg1, client.getIssueData(0)); } } catch { } Cursor.Current = System.Windows.Forms.Cursors.Default; } /* public void GetYcsl() { double ycsl = 0; DataTable dt = (DataTable)dg1.DataSource; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i][2].ToString() != null && dt.Rows[i][2].ToString() != "") { ycsl = ycsl + Convert.ToDouble(dt.Rows[i][2].ToString()); } } } if (Convert.ToDouble(lbcount.Text.ToString()) < ycsl) { MessageBox.Show("异常数量超过了需要养护的数量!"); return; } txtycsl.Text = ycsl.ToString(); } */ public DataTable GetDatatable() { DataTable dt = (DataTable)dg1.DataSource; for (int i = 0; i < dt.Rows.Count;i++ ) { if (dt.Rows[i][2].ToString() == "") { dt.Rows.RemoveAt(i); i--; } else if (Convert.ToDouble(dt.Rows[i][2].ToString()) <= 0) { dt.Rows.RemoveAt(i); i--; } } return dt; } private void btn_Click(object sender, EventArgs e)///保存 { //if() //{ //} } /* [DllImport("Coredll.dll")] static extern int MapVirtualKey(uint uCode, uint uMapType); static char keycodetochar(Keys k) { int i = MapVirtualKey((uint)k, 2); char map = Convert.ToChar(i); return map; } public void KeyCodeTostrYhyc(Keys k)//捕捉不合格时键盘输入的值 { int m = dg1.CurrentRowIndex; char ca = keycodetochar(k); string str = ca.ToString(); if (Char.IsWhiteSpace(ca) || string.IsNullOrEmpty(str) || ca == '\r' || ca == '\n' || ca == keycodetochar(Keys.F1)) { return; } else { if (dg1.CurrentCell.ColumnNumber == 2) { try { if (ca == '\b') { dg1[m, 2] = ""; return; } else if (ca == '.') { str = "."; } else if (decimal.Parse(str) < 0) { str = ""; return; } } catch { str = ""; return; } dg1[m, 2] = dg1[m, 2] + str; } } } private void dg1_KeyDown(object sender, KeyEventArgs e) { Keys k = (Keys)e.KeyData; try { KeyCodeTostrYhyc(k); } catch { } } * */ private void txtSkuId_KeyPress(object sender, KeyPressEventArgs e) { if(e.KeyChar==13) { try { skuId = Convert.ToInt32(txtSkuId.Text); } catch { focusOn(txtSkuId, "商品skuId"); return; } // dataGrid1.DataSource= client.getIssueData(loca); Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { bindDg(dataGrid1, client.getIssueData(skuId)); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; MessageBox.Show("发生错误:" + er.Message); } Cursor.Current = System.Windows.Forms.Cursors.Default; } } private void btnUnlock_Click(object sender, EventArgs e) { bool b = false; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { b = client.fixIssueData(skuId,LoginInfo.UserId,LoginInfo.Token); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; showErrorMsg(er); } Cursor.Current = System.Windows.Forms.Cursors.Default; if (b) { MessageBox.Show("解锁成功!!"); //dataGrid1.DataSource = client.getIssueData(""); bindDg(dataGrid1, client.getIssueData(skuId)); skuId = 0; focusOn(txtSkuId); } else { MessageBox.Show("解锁失败!!"); } } private void txtycsl_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { newMaintain(); } } void newMaintain() { try { if (lbname.Text.Trim() == "") { MessageBox.Show("无数据!"); return; } if (cb1.Checked || cb2.Checked || cb3.Checked || cb4.Checked || cb5.Checked || cb6.Checked || cb7.Checked || cb8.Checked) { decimal ycsl = Convert.ToDecimal(txtycsl.Text.Trim()); if (ycsl < 0) { MessageBox.Show("异常数不能小于0!"); return; } if (ycsl > Convert.ToDecimal(lbcount.Text.Trim())) { MessageBox.Show("异常数不能大于养护数!"); return; } string yhcs = ""; // string fd="否",wg="否",cs="否",js="否",sw="否",jw="否",tf="否",cc="否"; if (cb1.Checked) yhcs = yhcs + "翻跺;"; if (cb2.Checked) yhcs = yhcs + "外观;"; if (cb3.Checked) yhcs = yhcs + "除湿;"; if (cb4.Checked) yhcs = yhcs + "加湿;"; if (cb5.Checked) yhcs = yhcs + "升温;"; if (cb6.Checked) yhcs = yhcs + "降温;"; if (cb7.Checked) yhcs = yhcs + "通风;"; if (cb8.Checked) yhcs = yhcs + "除尘;"; // DataTable dta = GetDatatable(); bool b_result; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { b_result = client.newMaintain(stkId, mcount, ycsl, yhcs, LoginInfo.UserId, LoginInfo.Token);// bll.UpdateErpMaintain(location, txtycsl.Text, yhcs, Main.login_rolename, dta); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; showErrorMsg(er); //MessageBox.Show("发生错误:" + er.Message); Cursor.Current = System.Windows.Forms.Cursors.Default; return; } Cursor.Current = System.Windows.Forms.Cursors.Default; clear(); if (b_result) { if (ye == 1 || index+1==ye) { showdata(""); clear(); } MessageBox.Show("确认成功!"); txtlocationId.Focus(); } else MessageBox.Show("确认失败!"); } else { MessageBox.Show("请选择养护措施!"); return; } } catch (Exception) { MessageBox.Show("异常数格式有误!"); } } /// /// 上一页 /// /// /// private void up_bt_Click(object sender, EventArgs e) { if (index < ye) { index--; SetValue(index, dt); } } /// /// 下一页 /// /// /// private void down_bt_Click(object sender, EventArgs e) { if (index < ye) { index++; SetValue(index, dt); } } /// /// 绑定数据到界面 /// /// /// private void SetValue(int index0, DataTable dt) { index = index0; ye = dt.Rows.Count; row_lab.Text = String.Format("{0}/{1}页", ye > 0 ? index0 + 1 : index0, ye); down_bt.Enabled = up_bt.Enabled = true; if (ye < 2) { up_bt.Enabled = down_bt.Enabled = false; } else { if (index0 == 0) //首页 { up_bt.Enabled = false; } else if ((index0 + 1) == ye) //最后一页 { down_bt.Enabled = false; } } int y = index0; if (dt == null || dt.Rows.Count == 0) { return; } lbname.Text = dt.Rows[y]["商品"].ToString(); lbspec.Text = dt.Rows[y]["规格"].ToString(); lbbatch.Text = dt.Rows[y]["批号"].ToString(); lbcount.Text = dt.Rows[y]["数量"].ToString(); lbunit.Text = dt.Rows[y]["单位"].ToString(); txtlocationId.Text = dt.Rows[y]["货位"].ToString(); lbyxq.Text = dt.Rows[y]["有效期"].ToString(); lbshccj.Text = dt.Rows[y]["厂家"].ToString(); stkId = Convert.ToInt32(dt.Rows[y]["id"].ToString()); mcount = Convert.ToDecimal(lbcount.Text); lbbigcount.Text = dt.Rows[y]["大包装"].ToString(); lbGoodsType.Text = dt.Rows[y]["goodstypename"].ToString(); txtycsl.SelectAll(); txtycsl.Focus(); lbLoc.Text = txtlocationId.Text; txtlocationId.Text = ""; } } }