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 Pub_Class; using SQLHelper; using DBUtility; using WorkM; namespace WorkM { public partial class SC_KCTZBillQuery : Form { public SC_KCTZBillQuery() { InitializeComponent(); } public frmBillQueryCondition_New frmCondition; public string ViewName = "h_v_SC_KCTZBillQuery"; public string ModCaption = "库存台账单查询"; public const string ModName = "9999"; public const string ModRightName = "SC_KCTZBill"; public const string ModRightNameEdit = ModRightName + "_Edit"; public const string ModRightNameCheck = ModRightName + "_Check"; public const string ModRightNameClose = ModRightName + "_Close"; public const string ModRightNameDelete = ModRightName + "_Delete"; public const string ModRightNameMoney = ModRightName + "_Money"; public const string ModRightNameQty = ModRightName + "_Qty"; //DAL.ClsSc_ICMOReportBill oBill = new DAL.ClsSc_ICMOReportBill(); //public Sc_ICMOReportBill oFrm; public string sDlgWhere = ""; //外窗体递入 Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); #region 固定代码 //初始化网格 private void initGrid() { DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name); } // //显示 private void Display() { ClsCN SubCn = new ClsCN(); DataSet DSet; string sSql = ""; //string sWhere = ""; //特殊条件(日期限制,部门限制) string sDlgWhere = ""; sDlgWhere = sDlgWhere + ",'" + txtMaterNumber.Text.ToString() + "'"; sDlgWhere = sDlgWhere + ",'" + dtpHBDate.Value.ToShortDateString() + "'"; sDlgWhere = sDlgWhere + ",'" + dtpHEDate.Value.ToShortDateString() + "'"; if (sDlgWhere.Trim().Length > 0) { sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1); } //DBUtility.Xt_BaseBillFun.Sub_SQLWhere(ref sWhere); //if (sDlgWhere == "") //{ // //过滤条件 // if (frmCondition.SqlStr.Trim().Length == 0) // return; // sSql = frmCondition.SqlStr + sWhere + " order by 单据号 desc,hsubid "; //} //else //{ // sSql = "Select * from " + ViewName + " Where 1=1 " + sWhere + sDlgWhere + " order by 单据号 desc,hsubid "; //} //// //DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); DSet = SubCn.RunProcReturn("exec h_p_SC_KCTZBillQuery " + sDlgWhere, "Gy_Czygl"); //生成首行标题 if (DSet == null) { MessageBox.Show("没有返回任何结果,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); return; } //释放冻结 DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain); //绑定 grdMain.DataSource = DSet.Tables[0].DefaultView; //设置合计列 string sTotalCol = ""; sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet); string[] sT; sT = sTotalCol.Split(Convert.ToChar(",")); oSumGrid.BuildTotalCols(sT); // //冻结 int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text); string s = frmCondition.cmbHComplete.Text; DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s, FrCol); //画线 GraphLine(); // Total(); txtStartNum.Text = GetStartNum().ToString(); txtEndNum.Text = GetEndNum().ToString(); // } //获取期初数量 private Double GetStartNum() { ClsCN SubCn = new ClsCN(); DataSet DSet; string sDlgWhere = ""; sDlgWhere = sDlgWhere + ",'" + txtMaterNumber.Text.ToString() + "'"; DateTime dt = new DateTime(); dt = dtpHBDate.Value.AddMonths(-1); //dt.AddDays(-2); sDlgWhere = sDlgWhere + ",'" + dt.ToShortDateString() + "'"; sDlgWhere = sDlgWhere + ",'" + dtpHBDate.Value.ToShortDateString() + "'"; if (sDlgWhere.Trim().Length > 0) { sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1); } DSet = SubCn.RunProcReturn("exec h_p_SC_KCTZBillQuery " + sDlgWhere, "Gy_Czygl"); if (DSet == null) { return 0; } DataGridView ogrd = new DataGridView(); ogrd.DataSource = DSet.Tables[0].DefaultView; return GetTotal(ogrd); } private Double GetEndNum() { return GetTotal(grdMain); } //获取数量合计 private Double GetTotal(DataGridView ogrd) { double d = 0; for (int j = 0; j < ogrd.ColumnCount; j++) { if (ogrd.Columns[j].HeaderText.Equals("数量")) { for (int i = 0; i < ogrd.Rows.Count; i++) { d = d + DBUtility.ClsPub.isDoule(ogrd.Rows[i].Cells[j].Value); } } } return d; } //时间控件 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled=false; initGrid(); Display(); } //退出 private void tc_Click(object sender, EventArgs e) { this.Close(); } //刷新 private void sx_Click(object sender, EventArgs e) { timer1.Enabled = true; } ////显示单据 //private void dj_Click(object sender, EventArgs e) //{ // Sub_ShowBill(); //} ////显示单据 //private void Sub_ShowBill() //{ // Int64 lngBillKey = 0; // if (grdMain.CurrentRow == null) // return; // lngBillKey =DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); // if (lngBillKey == 0) // return; // DAL.ClsSc_ICMOReportBill oBill = new DAL.ClsSc_ICMOReportBill(); // if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) // { // oFrm = new Sc_ICMOReportBill(); // oFrm.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View; // oFrm.BillOld = oBill; // oFrm.ShowDialog(); // if (oFrm.BillChange) // { // if (MessageBox.Show("单据列表已经发生变化,是否刷新", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) // { // timer1.Enabled = true; // } // } // } // else // { // MessageBox.Show("单据未找到", "提示"); // } // oBill = null; //} // private Int32 Fun_GetCol(string sCol) { return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); } // private void SC_KCTZBillQuery_Load(object sender, EventArgs e) { // frmCondition = new frmBillQueryCondition_New(); this.Text = ModCaption; lblCaption.Text = ModCaption; oSumGrid.ogrdMain = grdMain; //初始化 new oSumGrid.oGridsum = grdSum; //dtpHBDate.Value = DateTime.Today; //dtpHEDate.Value = DateTime.Today; initGrid(); Sub_FastQuery(); } //双击查看 private void grdMain_DblClick(object sender, EventArgs e) { //Sub_ShowBill(); } //查询 private void cx_Click(object sender, EventArgs e) { Sub_FastQuery(); //frmCondition = new frmBillQueryCondition_New(); //SetCondition(frmCondition, ViewName, this.Name); //frmCondition.ShowDialog(); //if (frmCondition.Tag.ToString() == "OK") //{ // Display(); //} } public void SetCondition(frmBillQueryCondition_New frmCondition, string ViewName, string Name) { frmCondition.Tag = ""; frmCondition.ViewName = ViewName; frmCondition.ModName = Name; } private void xz_Click(object sender, EventArgs e) { //// //oFrm = new Sc_ICMOReportBill(); //oFrm.ShowDialog(); } private void timer2_Tick(object sender, EventArgs e) { timer2.Enabled = false; if (sDlgWhere == "") { //frmCondition = new frmBillQueryCondition_New(); //SetCondition(frmCondition, ViewName, this.Name); //frmCondition.ShowDialog(); //if (frmCondition.Tag.ToString() == "OK") //{ timer1.Enabled = true; //} } else { timer1.Enabled = true; } } // private void bclk_Click(object sender, EventArgs e) { //保存列宽 DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name); } private void mrlk_Click(object sender, EventArgs e) { DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); } // private void GraphLine() { int MainIDCol = Fun_GetCol("hmainid"); int SubIDCol = Fun_GetCol("hsubid"); string s = frmCondition.cmbHComplete.Text; long n=0; DBUtility.Xt_BaseBillFun.GraphLine(grdMain, MainIDCol, SubIDCol, s,ref n); //显示 lbldj.Text = "查询出 " + n.ToString() + " 张单据"; lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录"; } //审核 private void sh_Click(object sender, EventArgs e) { this.Sub_CheckBill(); } //审核单据 private void Sub_CheckBill() { //审核权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true,DBUtility.ClsPub.CurUserName)) { return; } // Int64 lngBillKey = 0; if (grdMain.CurrentRow == null) return; lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); if (lngBillKey == 0) return; DAL.ClsSc_ICMOReportBill oBill = new DAL.ClsSc_ICMOReportBill(); //查看是否已审核,关闭,作废 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { if (oBill.omodel.HChecker.Trim() != "") { MessageBox.Show("单据已审核!不能再次审核", "提示"); return; } if (oBill.omodel.HCloseMan.Trim() != "") { MessageBox.Show("单据已关闭!不能再次审核", "提示"); return; } if (oBill.omodel.HDeleteMan.Trim() != "") { MessageBox.Show("单据已作废!不能再次审核", "提示"); return; } } else { MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); return; } //审核 if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) { MessageBox.Show("审核成功!", "提示"); return; } else { MessageBox.Show("审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); return; } } //反审单据 private void Sub_AbandonCheck() { //审核权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true,DBUtility.ClsPub.CurUserName)) { return; } // Int64 lngBillKey = 0; if (grdMain.CurrentRow == null) return; lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value); if (lngBillKey == 0) return; DAL.ClsSc_ICMOReportBill oBill = new DAL.ClsSc_ICMOReportBill(); //查看是否已审核,关闭,作废 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { if (oBill.omodel.HChecker.Trim() == "") { MessageBox.Show("单据未审核!不需要反审核!", "提示"); return; } if (oBill.omodel.HCloseMan.Trim() != "") { MessageBox.Show("单据已关闭!不能再次审核", "提示"); return; } if (oBill.omodel.HDeleteMan.Trim() != "") { MessageBox.Show("单据已作废!不能再次审核", "提示"); return; } } else { MessageBox.Show("单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); return; } //反审核 if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) { MessageBox.Show("反审核成功!", "提示"); return; } else { MessageBox.Show("反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); return; } } //反审核 private void qsh_Click(object sender, EventArgs e) { Sub_AbandonCheck(); } private void GraphicsGrid() { DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain); } // private void grdMain_Paint(object sender, PaintEventArgs e) { GraphicsGrid(); } //合计 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 dc_Click(object sender, EventArgs e) { DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); } #endregion private void sh_Click_1(object sender, EventArgs e) { Sub_CheckBill(); Sub_FastQuery(); } private void fsh_Click_1(object sender, EventArgs e) { Sub_AbandonCheck(); Sub_FastQuery(); } private void btnOK_Click(object sender, EventArgs e) { Sub_FastQuery(); } //快速过滤 public void Sub_FastQuery() { string sFastSQL = ""; sDlgWhere = sFastSQL; Display(); } private void txtHBillNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { Sub_FastQuery(); } } private void eXCELToolStripMenuItem_Click(object sender, EventArgs e) { DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); } private void cSVToolStripMenuItem_Click(object sender, EventArgs e) { DBUtility.Gy_BaseFun.DataGridViewToExcel2(grdMain, this.Text, this.Text); } } }