using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using gregn6Lib; using System.Threading; namespace BaseSet { public partial class CLD_StockPlace : Form { private int HItemIDCol = 0; private int HNumberCol = 0; public DBUtility.frm_B_BillQueryCondition_New frmCondition; const string ViewName = "h_v_CLD_StockPlaceList"; const string ModName = "仓位"; const string BillName = "h_v_CLD_StockPlace"; public DBUtility.ClsPub.Enum_InputMode InputMode; //录入状态标志(0-非录入状态 1-增加 2-修改) public long HItemID;//项目ID public string sCondition; //过滤条件 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsCLD_StockPlace_Ctl oEmp = new DAL.ClsCLD_StockPlace_Ctl(); DAL.ClsCLD_StockPlace_View oEmpHlp = new DAL.ClsCLD_StockPlace_View(); TreeNode CurNode = new TreeNode(); public int selectRow = 0; public CLD_StockPlace() { InitializeComponent(); } //以下代码基本不需要修改 #region 固定代码 //保存GRID列宽 private void CLD_StockPlace_FormClosing(object sender, FormClosingEventArgs e) { DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); } //窗体加载 private void CLD_StockPlace_Load(object sender, EventArgs e) { frmCondition = new DBUtility.frm_B_BillQueryCondition_New(); LoadTree(); //initGrid(); InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View; RefreshTool(); grdMain.SelectionMode = DataGridViewSelectionMode.FullRowSelect; } private void LoadAllNodes(TreeNode sNode) //Lock { DBUtility.Gy_BaseFun.LoadAllNodes(sNode, BillName); } private void LoadTree()//Lock { DBUtility.Gy_BaseFun.LoadTree(tv, imageList1, this.Text, BillName); } //退出模块 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.frm_B_BillQueryCondition_New(); DBUtility.Gy_BaseFun.SetCondition(frmCondition ,ViewName, this.Name ); frmCondition.ShowDialog(); if (frmCondition.Tag.ToString() == "OK") { Display(); } } private Int32 Fun_GetCol(string sCol)//Lock { return DBUtility.Gy_BaseFun.Fun_GetCol(sCol, grdMain); } //刷新TOOLBAR private void RefreshTool()//Lock { if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_View) { stTab.SelectedIndex = 0; //stTab.TabPages.Remove(this.tabPage2); stTab.TabPages.Remove(this.tabPage1); stTab.TabPages.Add(this.tabPage1); grdMain.Enabled = true; tc.Enabled = true; yl.Enabled = true; xg.Enabled = true; sc.Enabled = true; xs.Enabled = true; cx.Enabled = true; } else { stTab.SelectedIndex = 1; stTab.TabPages.Remove(this.tabPage1); //stTab.TabPages.Remove(this.tabPage2); //stTab.TabPages.Add(this.tabPage2); stTab.TabPages[0].Hide(); grdMain.Enabled = false; tc.Enabled = true; yl.Enabled = false; xg.Enabled = false; sc.Enabled = false; xs.Enabled = false; cx.Enabled = false; } } //删除项目 public void Delete() { if (DBUtility.Gy_BaseFun.AllowRow(grdMain)) { if (MessageBox.Show("确定要删除当前项目?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { //得到HITEMID long sItemID; sItemID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HItemIDCol].Value); //判断存在性 if (oEmpHlp.GetInfoByID(sItemID)) { if (oEmp.DeleteByID(sItemID)) { //更新上级为 末级 MessageBox.Show("删除项目成功!", "提示"); Display(); } else MessageBox.Show("删除项目失败!" + DBUtility.ClsPub.sExeReturnInfo, "提示"); } } } } //取消按钮 private void cmdCancel_Click(object sender, EventArgs e) { InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View; RefreshTool(); } //保存按钮 private void cmdOK_Click(object sender, EventArgs e) { if (!WriteClass()) return; if (Save()) { MessageBox.Show("保存完毕!", "提示"); } else { MessageBox.Show("保存失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); } if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_Modify) { InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View; RefreshTool(); } } //树型 单击 private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { CurNode = e.Node; if (CurNode != null) { if (CurNode.Nodes.Count == 0) LoadAllNodes(CurNode); //找到选中结点 FindRow(CurNode.Text); } } //过滤资料 private void FindRow(string sCode)//Lock { DBUtility.Gy_BaseFun.FindRow(sCode, ModName, ref sCondition); Display(); } //删除 private void sc_Click(object sender, EventArgs e) { Delete(); } //修改 private void Modify() { if (DBUtility.Gy_BaseFun.AllowRow(grdMain)) { InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_Modify; RefreshTool(); Init(); } } //修改按钮 private void xg_Click(object sender, EventArgs e) { Modify(); } //初始化界面 private bool Init() { long sItemID; if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew) { Sub_Clear(); RefreshTool(); return true; } else { //得到HITEMID sItemID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HItemIDCol].Value); //检查是否存在 if (oEmpHlp.GetInfoByID(sItemID)) { ShowData(sItemID); return true; } else { MessageBox.Show("您选择的项目已经不存在!" + DBUtility.ClsPub.sExeReturnInfo, "提示"); return false; } } } //保存 private bool Save() { if (oEmp.AddNew()) { Init(); } else { return false; } Display(); return true; } //保存列宽 private void bclk_Click(object sender, EventArgs e) { DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); } //默认列宽 private void mrlk_Click(object sender, EventArgs e)//Lock { DBUtility.ClsPub.DefaultGridView(grdMain); //参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽 DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); } //时间控件 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; Display(); } //双击GRID private void grdMain_DblClick(object sender, EventArgs e) { Modify(); } //初始化GRID private void initGrid() { DBUtility.Gy_BaseFun.initGrid(grdMain); } //显示列表 private void Display() // 幻心 { SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); DataSet DSet; string sSql = ""; string sWhere = " and HWHID = " + DBUtility.ClsPub.isLong (txtHWHID.Tag); //刷新树形 //LoadTree(); //过滤条件 if (DBUtility.ClsPub.isStrNull(sCondition) == "" && frmCondition.SqlStr.Trim().Length != 0) { sSql = frmCondition.SqlStr + sWhere + " order by HItemID"; } else if (DBUtility.ClsPub.isStrNull(sCondition) != "") { sSql = "Select * from " + ViewName + sCondition + sWhere + " order by HItemID"; } else { sSql = "Select * from " + ViewName +" where 1=1 "+ sWhere + " order by HItemID"; } //执行SQL DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); // if (DSet == null) { MessageBox.Show("显示失败!原因:" + DBUtility.ClsPub.sExeReturnInfo); return; } grdMain.DataSource = DSet.Tables[0].DefaultView; //加载列宽 DBUtility.Gy_BaseFun.DisplayGrid(grdMain, this.Name); // HItemIDCol = Fun_GetCol("HItemID"); HNumberCol = Fun_GetCol(ModName + "代码"); sCondition = ""; } //新增时清空信息 private void Sub_Clear() // { //DBUtility.Gy_BaseFun.Sub_Clear(tabPage2,ref HItemID, txtHNumber); } private void grdMain_DoubleClick(object sender, EventArgs e) { //Modify(); } private void cmdLoadTree_Click(object sender, EventArgs e) { LoadTree(); } #endregion #region 类的读写 private bool AllowSave() { //是否重复代码 //if (oEmp.HavSameNumber(HItemID, txtHNumber.Text.Trim())) //{ // MessageBox.Show("代码重复!", "提示"); // return false; //} return true; } //读取类 到 控件 private void ShowData(long sItemID) { //DAL.ClsCLD_StockPlaceWeight_View oSPWeight = new DAL.ClsCLD_StockPlaceWeight_View(); //if (oEmpHlp.GetInfoByID(sItemID)) //{ // txtHNumber.Text = oEmpHlp.omodel.HNumber.ToString(); // txtHName.Text = oEmpHlp.omodel.HName.ToString(); // //txtHBarCode.Text = oEmpHlp.omodel.HBarCode.ToString(); // if (oSPWeight.GetInfoByID(oEmpHlp.omodel.HSPGroupID)) // { // txtHSPGroupID.Tag = oSPWeight.omodel.HItemID.ToString(); // txtHSPGroupID.Text = oSPWeight.omodel.HName; // } // else // { // txtHSPGroupID.Tag = "0"; // txtHSPGroupID.Text = ""; // } // if (oEmpHlp.omodel.HStopflag) // chkHStopflag.Checked = true; // else // chkHStopflag.Checked = false; // HItemID = oEmpHlp.omodel.HItemID; //} } //写入类 从控件 private bool WriteClass() { //判断是否允许 保存 if (!AllowSave()) { return false; } //写入信息 oEmp.oModel.HItemID = HItemID; //oEmp.oModel.HNumber = txtHNumber.Text.Trim(); //oEmp.oModel.HSPGroupID = DBUtility.ClsPub.isLong(txtHSPGroupID.Tag); //oEmp.oModel.HBarCode = txtHBarCode.Text.Trim(); oEmp.oModel.HRemark = ""; return true; } #endregion #region 界面控件处理 private void cmdHSPGroupID_Click(object sender, EventArgs e) { //DAL.ClsCLD_StockPlaceWeight_View oSPWeight = new DAL.ClsCLD_StockPlaceWeight_View(); //if (oSPWeight.RefreshView()) //{ // this.txtHSPGroupID.Text = oSPWeight.oModel.HName; // this.txtHSPGroupID.Tag = oSPWeight.oModel.HItemID.ToString(); //} //else //{ // this.txtHSPGroupID.Text = ""; //} } private void txtHSPGroupID_TextChanged(object sender, EventArgs e) { //if (txtHSPGroupID.Text.Length == 0) //{ // txtHSPGroupID.Tag = "0"; //} } #endregion GridppReport Report; private void yl_Click(object sender, EventArgs e) { selectRow = 0; //选择打印模板 BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); oFrm.sBillName = ModName; oFrm.sBillModel = ""; oFrm.ShowDialog(); if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK) { selectRow = grdMain.CurrentRow.Index; Sub_SetReport(oFrm.sOpenTmp); Report.PrintPreview(false); } } private void Sub_SetReport(string sOpenTmp) { // Report = new GridppReport(); Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here . Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); } private void ReportBeforePostRecord()// { Report.FieldByName("条码编号").AsString =(DBUtility.ClsPub.isStrNull(grdMain.Rows[selectRow].Cells[Fun_GetCol("HWHID")].Value)+";"+ DBUtility.ClsPub.isStrNull(grdMain.CurrentRow.Cells[Fun_GetCol("HSPID")].Value)); Report.FieldByName("仓位代码").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[selectRow].Cells[Fun_GetCol("仓位代码")].Value); Report.FieldByName("仓位名称").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[selectRow].Cells[Fun_GetCol("仓位名称")].Value); Report.FieldByName("仓库名称").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[selectRow].Cells[Fun_GetCol("仓库名称")].Value); Report.FieldByName("仓库代码").AsString = DBUtility.ClsPub.isStrNull(grdMain.Rows[selectRow].Cells[Fun_GetCol("仓库代码")].Value); } private void ReportFetchRecordByDataTable() { DataTable oDt = new DataTable(); BLL.Utility.FillRecordToReport_NoRow(Report, grdMain, oDt, Fun_GetCol("仓位代码")); } private void cmdHWHID_Click(object sender, EventArgs e) { DAL.ClsCLD_Warehouse_View oWh = new DAL.ClsCLD_Warehouse_View(); if (oWh.RefreshView()) { this.txtHWHID.Text = oWh.oModel.HName; this.txtHWHID.Tag = oWh.oModel.HItemID.ToString(); } else { this.txtHWHID.Text = ""; } } private void txtHWHID_TextChanged(object sender, EventArgs e) { if (txtHWHID.Text.Length == 0) { txtHWHID.Tag = "0"; } } private void toolStripButton1_Click(object sender, EventArgs e) { selectRow = 0; //选择打印模板 BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); oFrm.sBillName = ModName; oFrm.sBillModel = ""; oFrm.ShowDialog(); if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK) { for (int i = 0; i < grdMain.SelectedRows.Count; i++) { selectRow = grdMain.SelectedRows[i].Index; Sub_SetReport(oFrm.sOpenTmp); Report.Print(false); Thread.Sleep(1000); } } } private void textBox2_KeyPress(object sender, KeyPressEventArgs e) { //string sHWHASP = ""; //sHWHASP = DBUtility.ClsPub.isStrNull(textBox2.Text); //string[] arrayB = sHWHASP.Split(';'); //for (int i = 0; i < arrayB.Length; i++) //{ // if (i == 0) // { // DBUtility.ClsPub.isLong (arrayB[i]); // } // else if (i == 1) // { // DBUtility.ClsPub.isLong(arrayB[i]); // } // else // { // MessageBox.Show("扫描的仓位条码无效"); // return; // } //} } } }