using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using SQLHelper; using Pub_Class; namespace WarM { public partial class KF_ICInventoryList : Form { private int HItemIDCol = 0; private int HNumberCol = 0; public DBUtility.frmBillQueryCondition_New frmCondition; const string ViewName = "h_v_KF_ICInventoryList"; const string ModName = "物料"; //权限 public const string ModRightName = "KF_ICInventory_K3"; public const string ModRightNameEdit = ModRightName + "_Edit"; public const string ModRightNameCheck = ModRightName + "_Check"; // public DBUtility.ClsPub.Enum_InputModeGroup InputMode; //录入状态标志 public long HItemID;//项目ID public long HItemGroupID; ClsCN oCn = new ClsCN(); ClsCNK3 oCnK3 = new ClsCNK3(); ClsGridListSum oSumGrid = new ClsGridListSum(); //new TreeNode CurNode = new TreeNode(); ClsPub oPub = new ClsPub(); //拆分字符 char spChar =Convert.ToChar( "~"); public KF_ICInventoryList() { InitializeComponent(); } //以下代码基本不需要修改 #region 固定代码 private void ck_Click(object sender, EventArgs e) { ck.Checked = true; wl.Checked = false; LoadTree(); Display(); } private void wl_Click(object sender, EventArgs e) { ck.Checked = false; wl.Checked = true; LoadTree(); Display(); } //窗体加载 private void KF_ICInventory_Load(object sender, EventArgs e) { lblCaption.Text = ModName; this.Text = ModName; frmCondition = new DBUtility.frmBillQueryCondition_New(); oSumGrid.ogrdMain = grdMain; //初始化 new oSumGrid.oGridsum = grdSum; LoadTree(); initGrid(); InputMode = DBUtility.ClsPub.Enum_InputModeGroup.InputMode_View; } //退出模块 private void tc_Click(object sender, EventArgs e) { this.Close(); } //刷新 private void xs_Click(object sender, EventArgs e) { Display(); } //查询 private void cx_Click(object sender, EventArgs e) { frmCondition = new DBUtility.frmBillQueryCondition_New(); frmCondition.Tag = ""; frmCondition.ViewName = ViewName; frmCondition.ModName = this.Name; frmCondition.ShowDialog(); if (frmCondition.Tag.ToString() == "OK") { Display(); } } //得到对应列 private Int32 Fun_GetCol(string sCol) { return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); } //树型 单击 private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { CurNode = e.Node; if (CurNode != null) { if (CurNode.Nodes.Count == 0) { LoadAllNodes(CurNode); } frmCondition.SqlStr = ""; //找到选中结点 Display(); } } //选中行是否正常 private bool AllowRow() { if (grdMain.CurrentRow.Index >= 0 && grdMain.CurrentRow.Index <= grdMain.RowCount - 1) return true; else return false; } private void bclk_Click(object sender, EventArgs e) { //保存列宽 ClsPub.SaveGridView(grdMain, this.Name, ClsPub.AppPath); } private void mrlk_Click(object sender, EventArgs e) { DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); } //时间控件 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; Display(); } //初始化GRID private void initGrid() { DBUtility.Xt_BaseBillFun.initGridRpt(grdMain, this.Name); } #endregion //显示列表 private void Display() { ClsCN SubCn = new ClsCN(); DataSet DSet ; string sSql = ""; string sWhere = ""; string HParentID =""; //树形节点 if (CurNode.Name.Trim().Length == 0) { HParentID =""; } else { char c = Convert.ToChar(spChar); string[] sr; sr = CurNode.Text.Split(c); HParentID = sr[0].ToString(); } //库存异常 //if (this.chkNormal.Checked == true && this.chkLow.Checked == false && this.chkHigh.Checked == false) //{ // sWhere = sWhere + " and HColour=''"; //} //if (this.chkNormal.Checked == true && this.chkLow.Checked == true && this.chkHigh.Checked == false) //{ // sWhere = sWhere + " and HColour<>'Yellow'"; //} //if (this.chkNormal.Checked == true && this.chkLow.Checked == true && this.chkHigh.Checked == true) //{ // sWhere = ""; //} //if (this.chkNormal.Checked == false && this.chkLow.Checked == true && this.chkHigh.Checked == false) //{ // sWhere = sWhere + " and HColour='Red'"; //} //if (this.chkNormal.Checked == false && this.chkLow.Checked == true && this.chkHigh.Checked == true) //{ // sWhere = sWhere + " and HColour<>''"; //} //if (this.chkNormal.Checked == false && this.chkLow.Checked == false && this.chkHigh.Checked == true) //{ // sWhere = sWhere + " and HColour='Yellow'"; //} //if (this.chkNormal.Checked == true && this.chkLow.Checked == false && this.chkHigh.Checked == true) //{ // sWhere = sWhere + " and HColour<>'Red'"; //} //过滤条件 if (frmCondition.SqlStr.Trim().Length == 0) { if (HParentID == "" || HParentID == "物料资料" || HParentID == "仓库资料") { sSql = "Select top 1000 * from " + ViewName +" where 1=1 "+ sWhere + " order by " + ModName + "代码"; } else { if (wl.Checked == false) { sSql = "Select top 1000 * from " + ViewName + " where 仓库代码 like '" + HParentID.ToString() + "%' " + sWhere + " order by " + ModName + "代码"; } else { sSql = "Select top 1000 * from " + ViewName + " where 物料代码 like '" + HParentID.ToString() + "%' " + sWhere + " order by " + ModName + "代码"; } } } else { sSql = frmCondition.SqlStr + " " + sWhere + " order by " + ModName + "代码"; } //执行SQL DSet = SubCn.RunProcReturn(sSql, ViewName); //生成首行标题 if (DSet == null) { MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + ClsPub.sExeReturnInfo); return; } // for (int i = 0; i < grdMain.ColumnCount; i++) { grdMain.Columns[i].Frozen = false; } // grdMain.DataSource = DSet.Tables[0].DefaultView; //设置合计列 new string sTotalCol = ""; sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet); string[] sT; sT = sTotalCol.Split(Convert.ToChar(",")); oSumGrid.BuildTotalCols(sT); // //合计 //grdMain.Rows.Add(); //加载列宽,隐藏列 DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, "是", 0); //int HColourCol = Fun_GetCol("HColour"); //设置字体颜色 //for (int i = 0; i < grdMain.RowCount; i++) //{ // if (ClsPub.isStrNull(grdMain.Rows[i].Cells[HColourCol].Value) == "Red") // { // //当及时库存小于最低库存时,字体显示红色 // grdMain.Rows[i].DefaultCellStyle.ForeColor = Color.Red; // } // if (ClsPub.isStrNull(grdMain.Rows[i].Cells[HColourCol].Value) == "Yellow") // { // //当及时库存大于最高库存时,字体显示黄色 // grdMain.Rows[i].DefaultCellStyle.ForeColor = Color.Orange; // } //} ClsPub.GetGridView(this.grdMain, this.Name, ClsPub.AppPath); //画线 GraphLine(); //冻结 //int FrCol = ClsPub.isInt(frmCondition.txtFrozenCol.Text); //if (FrCol < grdMain.ColumnCount) //{ // grdMain.Columns[FrCol].Frozen = true; //} // new Total(); } //划线 private void GraphLine() { } //加载子结点 private void LoadAllNodes(TreeNode sNode) { string sBill; if (wl.Checked == true) sBill = "h_v_K3_Material"; else sBill = "h_v_K3_WareHouse"; if (sNode != null) { try { sNode.Nodes.Clear(); DataSet Ds = oCn.RunProcReturn("select hitemid,hnumber,hname from " + sBill + " where HStopflag=0 and HParentID=" + sNode.Name.Trim().Substring(1, sNode.Name.Trim().Length-1) + " order by HNumber ", sBill); for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["HItemID"].ToString(), Ds.Tables[0].Rows[i]["HNumber"].ToString() + spChar + Ds.Tables[0].Rows[i]["HName"].ToString(), 0, 1); } sNode.Expand(); } catch (Exception e) { MessageBox.Show("加载子项目失败!" + e.Message, "提示"); } } } //加载树形 private void LoadTree() { string sItemName; if (wl.Checked == true) { sItemName = "物料资料"; } else { sItemName = "仓库资料"; } try { tv.Nodes.Clear(); tv.ImageList = imageList1; TreeNode sNode = tv.Nodes.Add("T0", sItemName, 0, 1); LoadAllNodes(sNode); } catch (Exception e) { MessageBox.Show("加载树型失败!" + e.Message, "提示"); } } //合计 new private void Total() { if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) { oSumGrid.SetGridsum(); oSumGrid.Total(); } } //合计 new private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) { Total(); } //合计 new private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) { Total(); } } }