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_ICInventoryByMaterList : Form
|
{
|
private int HItemIDCol = 0;
|
private int HNumberCol = 0;
|
public DBUtility.frmBillQueryCondition_New frmCondition;
|
const string ViewName = "h_v_KF_ICInventoryByMaterList";
|
const string ModName = "及时库存";
|
//权限
|
public const string ModRightName = "KF_ICInventory";
|
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;
|
public string sDlgWhere = ""; //外窗体递入
|
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_ICInventoryByMaterList()
|
{
|
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)
|
{
|
Sub_FastQuery();
|
}
|
//查询
|
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 (frmCondition.SqlStr.Trim().Length == 0)
|
{
|
if (HParentID == "" || HParentID == "物料资料" || HParentID == "仓库资料")
|
{
|
sSql = "Select top 1000 * from " + ViewName + " where 1=1 " + sWhere + sDlgWhere + " order by 物料代码";
|
}
|
else
|
{
|
if (wl.Checked == false)
|
{
|
sSql = "Select top 1000 * from " + ViewName + " where 仓库代码 like '" + HParentID.ToString() + "%' " + sWhere + sDlgWhere + " order by 物料代码";
|
}
|
else
|
{
|
sSql = "Select top 1000 * from " + ViewName + " where 物料代码 like '" + HParentID.ToString() + "%' " + sWhere + sDlgWhere + " order by 物料代码";
|
}
|
|
}
|
}
|
else
|
{
|
sSql = frmCondition.SqlStr + " " + sWhere + sDlgWhere + " order by 物料代码";
|
}
|
//执行SQL
|
try
|
{
|
DSet = SubCn.RunProcReturn(sSql, ViewName);
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show(e.Message);
|
return;
|
}
|
//生成首行标题
|
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 = "Gy_Material";
|
else
|
sBill = "Gy_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();
|
}
|
|
private void btnOK_Click(object sender, EventArgs e)
|
{
|
Sub_FastQuery();
|
}
|
|
|
//快速过滤
|
private void Sub_FastQuery()
|
{
|
string sFastSQL = "";
|
//产地
|
if (txtHCD.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 产地 like '%" + txtHCD.Text + "%'";
|
}
|
//物料分类
|
if (txtHMatertype.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 大类 like '%" + txtHMatertype.Text + "%'";
|
}
|
//物料代码
|
if (txtHMaterNum.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 物料代码 like '%" + txtHMaterNum.Text + "%'";
|
}
|
//物料名称
|
if (txtHMaterName.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 物料名称 like '%" + txtHMaterName.Text + "%'";
|
}
|
//规格型号
|
if (txtHMaterModel.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 规格型号 like '%" + txtHMaterModel.Text + "%'";
|
}
|
if (sFastSQL.Trim() == "")
|
{
|
MessageBox.Show("没有输入条件!");
|
return;
|
}
|
sDlgWhere = sFastSQL;
|
Display();
|
sDlgWhere = "";
|
}
|
|
private void grdMain_KeyDown(object sender, KeyEventArgs e)
|
{
|
if (grdMain.CurrentRow != null)
|
{
|
if (DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[Fun_GetCol("HMaterID")].Value) == 0)
|
{
|
//MessageBox.Show("请选中物料进行查询!", "提示");
|
return;
|
}
|
}
|
//按F3可查该物料 收发存汇总表
|
if (e.KeyCode == Keys.F3)
|
{
|
Kf_MateOutInEntryReport oKf_MateOutInEntryReport = new Kf_MateOutInEntryReport();
|
oKf_MateOutInEntryReport.txtHMaterID.Tag = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[Fun_GetCol("HMaterID")].Value).ToString();
|
oKf_MateOutInEntryReport.txtHMaterID.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[Fun_GetCol("物料代码")].Value);
|
oKf_MateOutInEntryReport.txtHWhID.Tag = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[Fun_GetCol("HWHID")].Value).ToString();
|
oKf_MateOutInEntryReport.txtHWhID.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[Fun_GetCol("仓库名称")].Value);
|
oKf_MateOutInEntryReport.dtpHBDate.Value = DateTime.Today.AddDays(-600);
|
oKf_MateOutInEntryReport.dtpHEDate.Value = DateTime.Today;
|
oKf_MateOutInEntryReport.ShowDialog();
|
}
|
}
|
public List<long> oList = new List<long>();
|
private void fh_Click(object sender, EventArgs e)
|
{
|
for (int i = 0; i < grdMain.SelectedRows.Count; i++)
|
{
|
oList.Add(DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[Fun_GetCol("HMaterID")].Value));
|
}
|
this.Visible = false;
|
}
|
|
private void dc_Click(object sender, EventArgs e)
|
{
|
BLL.ClsPub_BLL.DataToExcel(this.Text, grdMain);
|
}
|
|
|
|
|
}
|
}
|