/// <summary> /// 初始化树菜单 /// </summary> public void initTree() { this.treeView1.Nodes.Clear(); TreeNode root = new TreeNode("全部"); root.ImageIndex = 2; T_JB_Place all = new T_JB_Place(); all.C_name = "全部"; all.C_id = "0"; all.I_grade = -1; messages.Add(root, all); code_Child = bll.GetAllChild("0", 0); for (int i = 0; i < code_Child.Count; i++) { TreeNode subNode = new TreeNode(code_Child[i].C_name); subNode.ImageIndex = 1; root.Nodes.Add(subNode); addTree(code_Child[i].C_id, subNode, 0); messages.Add(subNode, code_Child[i]); } this.treeView1.Nodes.Add(root); currnetNode = root; currentPlace = all; //展开根节点 root.Expand(); }
/// <summary> /// 根据编码获得信息 /// </summary> /// <param name="tableName"></param> /// <param name="id"></param> /// <returns></returns> public T_JB_Place getById(string id) { T_JB_Place place = null; string sql = " SELECT *, (select count(*) from T_JB_Place where C_PRE_ID = '" + id + "') I_CHILDREN from T_JB_Place where C_ID = '" + id + "'"; try { DataTable dt = dbHelper.GetDataSet(sql); if (dt != null && dt.Rows.Count > 0) { place = new T_JB_Place(); place.C_id = dt.Rows[0]["C_ID"].ToString(); place.C_name = dt.Rows[0]["C_NAME"].ToString(); place.C_pre_id = DBNull.Value.Equals(dt.Rows[0]["C_PRE_ID"]) ? "0" : dt.Rows[0]["C_PRE_ID"].ToString(); place.I_length = DBNull.Value.Equals(dt.Rows[0]["I_LENGTH"]) ? 0 : Convert.ToInt32(dt.Rows[0]["I_LENGTH"]); place.I_width = DBNull.Value.Equals(dt.Rows[0]["I_WIDTH"]) ? 0 : Convert.ToInt32(dt.Rows[0]["I_WIDTH"]); place.I_inuse = DBNull.Value.Equals(dt.Rows[0]["I_INUSE"]) ? 0 : Convert.ToInt32(dt.Rows[0]["I_INUSE"]); place.I_end = DBNull.Value.Equals(dt.Rows[0]["I_END"]) ? 0 : Convert.ToInt32(dt.Rows[0]["I_END"]); place.I_children = DBNull.Value.Equals(dt.Rows[0]["I_CHILDREN"]) ? 0 : Convert.ToInt32(dt.Rows[0]["I_CHILDREN"]); place.C_memo = DBNull.Value.Equals(dt.Rows[0]["C_MEMO"]) ? string.Empty : dt.Rows[0]["C_MEMO"].ToString(); } } catch (Exception ex) { Log.write(ex.Message + "\r\n" + ex.StackTrace); throw ex; } finally { dbHelper.getConnection().Close(); } return(place); }
/// <summary> /// 刷新节点 /// </summary> /// <param name="tnParent"></param> /// <param name="strValue"></param> private void refreshNode(TreeNode tnParent, string strValue) { if (tnParent == null) { return; } T_JB_Place tempType = (T_JB_Place)messages[tnParent]; if (tempType.C_id == strValue) { messages.Remove(tnParent); T_JB_Place newType = bll.GetById(strValue); tnParent.Text = newType.C_name; messages.Add(tnParent, newType); return; } TreeNode tnRet = null; foreach (TreeNode tn in tnParent.Nodes) { refreshNode(tn, strValue); //if (tnRet != null) break; } }
private void Init() { try { T_JB_Place mo = bll.GetById(id); if (mo == null) { MessageBox.Show("获取信息失败!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.Close(); } else { this.lblId.Text = mo.C_id; this.txtName.Text = mo.C_name; this.lblPid.Text = mo.C_pre_id; this.txtMemo.Text = mo.C_memo; cbEnd.Checked = mo.I_end == 0 ? false : true; cbInuse.Checked = mo.I_inuse == 0 ? false : true; txtLength.Text = mo.I_length.ToString(); txtWidth.Text = mo.I_width.ToString(); txtMemo.Text = mo.C_memo; lblChildren.Text = mo.I_children.ToString(); } } catch (Exception) { MessageBox.Show("与数据库连接失败,请查看网络连接是否正常。如不能解决请与网络管理员联系!", "严重错误:", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnSave_Click(object sender, EventArgs e) { try { if (int.Parse(lblChildren.Text) > 0 && cbEnd.Checked) { MessageBox.Show("存在下级,不能设置为最小单元!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (this.txtName.Text == null || string.Empty.Equals(this.txtName.Text.Trim())) { lbl1.Visible = true; } else { T_JB_Place mo = new T_JB_Place(); mo.C_id = id; mo.C_pre_id = lblPid.Text; mo.C_name = txtName.Text.Trim(); mo.C_memo = txtMemo.Text.Trim(); mo.I_end = cbEnd.Checked ? 1 : 0; mo.I_inuse = cbInuse.Checked ? 1 : 0; int len = 0; int.TryParse(txtLength.Text.Trim(), out len); mo.I_length = len; int wid = 0; int.TryParse(txtWidth.Text.Trim(), out wid); mo.I_width = wid; if (bll.Update(mo)) { MessageBox.Show("保存成功!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information); Log.saveLog("修改货位成功!Id:" + lblId.Text); Close(); } else { MessageBox.Show("获取保存失败!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception) { MessageBox.Show("与数据库连接失败,请查看网络连接是否正常。如不能解决请与网络管理员联系!", "严重错误:", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// 根据类型编号获得子类型信息 /// </summary> /// <param name="type"></param> /// <returns></returns> public List <T_JB_Place> getAllChild(string pid, int grade) { List <T_JB_Place> list = new List <T_JB_Place>(); string sql; if (pid.Equals("0")) { sql = "SELECT C_ID, C_NAME, C_NAME as C_NAME_TREE from T_JB_WAREHOUSE order by c_id"; } else if (grade == 0) { sql = "SELECT C_ID, C_NAME, C_NAME_TREE, C_PRE_ID, I_GRADE, I_END FROM T_JB_Place where c_warehouse = '" + pid + "' order by c_id"; } else { sql = "SELECT C_ID, C_NAME, C_NAME_TREE, C_PRE_ID, I_GRADE, I_END FROM T_JB_Place where c_pre_id = '" + pid + "' order by c_id"; } try { DataTable ds = dbHelper.GetDataSet(sql); for (int i = 0; i < ds.Rows.Count; i++) { T_JB_Place dm_type = new T_JB_Place(); dm_type.C_id = Convert.IsDBNull(ds.Rows[i]["C_ID"]) ? string.Empty : Convert.ToString(ds.Rows[i]["C_ID"]); dm_type.C_name = Convert.IsDBNull(ds.Rows[i]["C_NAME"]) ? string.Empty : Convert.ToString(ds.Rows[i]["C_NAME"]); dm_type.C_name_tree = Convert.IsDBNull(ds.Rows[i]["C_NAME_TREE"]) ? string.Empty : Convert.ToString(ds.Rows[i]["C_NAME_TREE"]); dm_type.C_pre_id = pid.Equals("0") ? "0" : Convert.IsDBNull(ds.Rows[i]["C_PRE_ID"]) ? string.Empty : Convert.ToString(ds.Rows[i]["C_PRE_ID"]); dm_type.I_end = pid.Equals("0") ? 0 : Convert.IsDBNull(ds.Rows[i]["I_END"]) ? 0 : Convert.ToInt32(ds.Rows[i]["I_END"]); dm_type.I_grade = pid.Equals("0") ? 0 : Convert.IsDBNull(ds.Rows[i]["I_GRADE"]) ? 0 : Convert.ToInt32(ds.Rows[i]["I_GRADE"]); list.Add(dm_type); } } catch (Exception ex) { Log.write(ex.Message + "\r\n" + ex.StackTrace); throw ex; } finally { dbHelper.getConnection().Close(); } return(list); }
/// <summary> /// 选择类别 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { try { currnetNode = e.Node; currentPlace = (T_JB_Place)messages[e.Node]; if (currentPlace.I_end == 1) { this.button1.Enabled = false; } else { this.button1.Enabled = true; } initNew(currentPlace.C_id); isQuery = false; setList(currentPlace.C_id, null, null, -1, -1, currentPlace.I_grade); } catch (Exception) { MessageBox.Show("与数据库连接失败,请查看网络连接是否正常。如不能解决请与网络管理员联系!", "严重错误:", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// 删除节点 /// </summary> /// <param name="tnParent"></param> /// <param name="strValue"></param> private void deleteNode(TreeNode tnParent, string strValue) { if (tnParent == null) { return; } T_JB_Place tempType = (T_JB_Place)messages[tnParent]; if (tempType.C_id == strValue) { tnParent.Remove(); messages.Remove(tnParent); return; } TreeNode tnRet = null; foreach (TreeNode tn in tnParent.Nodes) { deleteNode(tn, strValue); //if (tnRet != null) break; } }
/// <summary> /// 更新货位 /// </summary> /// <param name="dm_type">货位</param> /// <returns></returns> public bool update(T_JB_Place place) { try { int count = 0; string sql = "UPDATE T_JB_Place SET C_NAME=@C_NAME, I_END=@I_END, I_INUSE=@I_INUSE, I_LENGTH=@I_LENGTH, I_WIDTH=@I_WIDTH, C_MEMO=@C_MEMO " + "WHERE C_ID=@C_ID "; Hashtable table = new Hashtable(); table.Add("C_ID", place.C_id); table.Add("C_NAME", place.C_name); table.Add("I_END", place.I_end); table.Add("I_INUSE", place.I_inuse); table.Add("I_LENGTH", place.I_length); table.Add("I_WIDTH", place.I_width); table.Add("C_MEMO", place.C_memo); DbParameter[] parms = dbHelper.getParams(table); count = dbHelper.ExecuteCommand(sql, parms); if (count > 0) { return(true); } else { return(false); } } catch (Exception ex) { Log.write(ex.Message + "\r\n" + ex.StackTrace); throw ex; } finally { dbHelper.getConnection().Close(); } }
/// <summary> /// 保存 /// </summary> /// <param name="tableName"></param> /// <param name="name"></param> /// <param name="MEMO"></param> /// <returns></returns> public string Save(T_JB_Place dm_type) { try { long dec_id = 0; string c_id = null; int count = 0; string sql = ""; sql = "SELECT max(right(c_id,2)) FROM T_JB_Place where C_PRE_ID = '" + dm_type.C_pre_id + "'"; object obj = dbHelper.GetScalar(sql); dec_id = Convert.IsDBNull(obj) ? 0 : Convert.ToInt64(obj); if (dm_type.I_grade == 1) { sql = "SELECT C_NAME FROM T_JB_WAREHOUSE where C_ID = '" + dm_type.C_pre_id + "'"; } else { sql = "SELECT C_NAME FROM T_JB_Place where C_ID = '" + dm_type.C_pre_id + "'"; } object obj1 = dbHelper.GetScalar(sql); string preName = obj1.ToString(); sql = "INSERT INTO T_JB_Place ( C_ID, C_NAME, C_NAME_TREE, C_PRE_ID, I_GRADE, I_END, C_WAREHOUSE, I_INUSE, I_LENGTH, I_WIDTH, C_MEMO) " + "values (@C_ID,@C_NAME,@C_NAME_TREE,@C_PRE_ID,@I_GRADE,@I_END,@C_WAREHOUSE, @I_INUSE, @I_LENGTH, @I_WIDTH, @C_MEMO)"; Hashtable table = new Hashtable(); dec_id = dec_id + 1; c_id = dm_type.C_pre_id.Equals("0") ? dec_id.ToString().PadLeft(2, '0') : dm_type.C_pre_id + dec_id.ToString().PadLeft(2, '0'); if (dm_type.I_grade == 1) { table.Add("C_WAREHOUSE", dm_type.C_pre_id); } else { table.Add("C_WAREHOUSE", DBNull.Value); } table.Add("c_id", c_id); table.Add("C_NAME", preName + dm_type.C_name); table.Add("C_NAME_TREE", dm_type.C_name); table.Add("C_PRE_ID", dm_type.C_pre_id); table.Add("I_GRADE", dm_type.I_grade); table.Add("I_END", dm_type.I_end); table.Add("I_INUSE", dm_type.I_inuse); table.Add("C_MEMO", dm_type.C_memo); table.Add("I_LENGTH", dm_type.I_length); table.Add("I_WIDTH", dm_type.I_width); DbParameter[] parms = dbHelper.getParams(table); count = dbHelper.ExecuteCommand(sql, parms); if (count > 0) { return(c_id); } else { return(null); } } catch (Exception ex) { Log.write(ex.Message + "\r\n" + ex.StackTrace); throw ex; } finally { dbHelper.getConnection().Close(); } }
/// <summary> /// 保存 /// </summary> /// <param name="tableName"></param> /// <param name="name"></param> /// <param name="meno"></param> /// <returns></returns> public string Save(T_JB_Place dm_type) { return(dal.Save(dm_type)); }
/// <summary> /// 更新货位 /// </summary> /// <param name="place">货位</param> /// <returns></returns> public bool Update(T_JB_Place place) { return(dal.update(place)); }