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 SQLHelper; using DBUtility; namespace WarM { public partial class IC_MateOutBillList_K3 : Form { public IC_MateOutBillList_K3() { InitializeComponent(); } public frmBillQueryCondition_New frmCondition; public string ViewName = "h_v_Kf_MateOutBillList_K3"; public string ModCaption = "IC领料转单列表"; public const string ModName = "24"; public const string ModRightName = "Kf_MateOutBillList_K3"; public const string ModRightNameEdit = ModRightName + "_Edit"; public const string ModRightNameCheck = ModRightName + "_Check"; public const string ModRightNameClose = ModRightName + "_Close"; public const string ModRightNameDelete = ModRightName + "_Delete"; DAL.ClsKf_MateOutBill_K3 oBill = new DAL.ClsKf_MateOutBill_K3(); public Kf_MateOutBill_K3 oFrm; Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); public int sWhere = 0; // private void initGrid() { DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name); } // private void Display() { ClsCN SubCn = new ClsCN(); DataSet DSet; string sSql = ""; //过滤条件 //if (frmCondition.SqlStr.Trim().Length == 0) // return; sSql = "select * from h_v_Kf_MateOutBillList_K3 where 源单主ID=" + sWhere + " order by 单据号 desc,hsubid "; // DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); //生成首行标题 if (DSet == null) { MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); return; } // 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(); // } // 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.ClsKf_MateOutBill_K3 oBill = new DAL.ClsKf_MateOutBill_K3(); if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { oFrm = new Kf_MateOutBill_K3(); 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 Kf_MateOutBillList_K3_Load(object sender, EventArgs e) { // frmCondition = new frmBillQueryCondition_New(); this.Text = ModCaption; oSumGrid.ogrdMain = grdMain; //初始化 new oSumGrid.oGridsum = grdSum; lblCaption.Text = ModCaption; initGrid(); } private void grdMain_DblClick(object sender, EventArgs e) { Sub_ShowBill(); } private void cx_Click(object sender, EventArgs e) { 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) { // Sub_ZD(); //oFrm = new Kf_MateOutBill_K3(); //oFrm.ShowDialog(); } private void sc_Click(object sender, EventArgs e) { Sub_DeleteBill(); } //删除 private void Sub_DeleteBill() { //编辑权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 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.ClsKf_MateOutBill_K3 oBill = new DAL.ClsKf_MateOutBill_K3(); if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { if (MessageBox.Show("确定要删除当前单据?", "提示", MessageBoxButtons.OKCancel)==DialogResult.OK) { if (oBill.omodel.HChecker != "") { MessageBox.Show("单据已经审核,不能删除!", "提示"); return; } if (!oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) { MessageBox.Show(DBUtility.ClsPub.sExeReturnInfo, "提示"); return; } else { Display(); } } } else { MessageBox.Show("单据未找到", "提示"); } } private void timer2_Tick(object sender, EventArgs e) { timer2.Enabled = false; //frmCondition = new frmBillQueryCondition_New(); //SetCondition(frmCondition, ViewName, this.Name); //frmCondition.ShowDialog(); //if (frmCondition.Tag.ToString() == "OK") //{ 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.ClsKf_MateOutBill_K3 oBill = new DAL.ClsKf_MateOutBill_K3(); //查看是否已审核,关闭,作废 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { if (oBill.omodel.HChecker.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.ClsKf_MateOutBill_K3 oBill = new DAL.ClsKf_MateOutBill_K3(); //查看是否已审核,关闭,作废 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { if (oBill.omodel.HChecker.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); } #region //打印设置 GridppReport Report; //预览 private void yl_Click(object sender, EventArgs e) { //选择打印模板 BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); oFrm.sBillName = ModName; oFrm.sBillModel = ModCaption; oFrm.ShowDialog(); if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK) { // Sub_SetReport(oFrm.sOpenTmp); Report.PrintPreview(true); } } private void Sub_SetReport(string sOpenTmp) { //判断行数 // Report = new GridppReport(); Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here . Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); } private void ReportFetchRecordByDataTable() { try { BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, Fun_GetCol("HMaterID")); } catch (Exception e) { MessageBox.Show("打印失败!:" + e.Message); } } #endregion // 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(); } //引出EXCEL private void dc_Click(object sender, EventArgs e) { DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); } private void cmdHMateOutBill_Click(object sender, EventArgs e) { BLL.ClsBaseSelect_K3.SetTextByICMOBill_K3(txtHMateOutBill); sWhere =DBUtility.ClsPub.isInt( txtHMateOutBill.Tag); Display(); } private void cmdMateOutRequestBill_Click(object sender, EventArgs e) { BLL.ClsBaseSelect_K3.SetTextByICMOBill_K3(txtMateOutRequestBill); } //----------------------------------- public DAL.ClsKf_MateOutBill_K3 BillNew = new DAL.ClsKf_MateOutBill_K3(); Model.ClsKf_MateOutBillSub_K3 oSub = new Model.ClsKf_MateOutBillSub_K3(); private void Sub_ZD() { //WarM.Kf_MateOutBill_K3 oMateOut = new WarM.Kf_MateOutBill_K3(); //int MainIDCol = Fun_GetCol("hmainid"); //int SubIDCol = Fun_GetCol("hsubid"); //for (int i = 0; i < grdMain.Rows.Count; i++) //{ // DBUtility.BillSelect oSelect = new DBUtility.BillSelect(); // oSelect.BillMainID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value); // oSelect.BillSubID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[SubIDCol].Value); // oMateOut.list.Add(oSelect); //} //oMateOut.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; //oMateOut.ROB = true; //oMateOut.FillSelectDataICZD(oMateOut.list); SQLHelper.ClsCNK3 oCnK3 = new SQLHelper.ClsCNK3(); SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); int HSourceInterIDCol = Fun_GetCol("源单主ID"); DataSet Ds; Ds = oCn.RunProcReturn("h_p_IC_MateOutBillList " + txtHMateOutBill.Tag + "," + txtMateOutRequestBill.Tag, "h_p_IC_MateOutBillList"); for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { double LLQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[i]["领料数量"]); double SQQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[i]["申请数量"]); if (LLQty > SQQty) { MessageBox.Show("数量不匹配"); return ; } } int HDeptIDCol = Fun_GetCol("HDeptID"); int HSCWHIDCol = Fun_GetCol("hw"); int HSecManagerIDCol = Fun_GetCol("HFManagerID"); int HKeeperIDCol = Fun_GetCol("HSManagerID"); int HRemarkCol = Fun_GetCol("表头备注"); int HExplanationCol = Fun_GetCol("领料用途"); int HMaterIDCol = Fun_GetCol("HItemID"); int HUnitIDCol = Fun_GetCol("HUnitID"); int HWHIDCol = Fun_GetCol("HSCStockID"); int HQtyCol = Fun_GetCol("实发数量"); int HQtyMustCol = Fun_GetCol("实发数量"); int HMoneyCol = Fun_GetCol("金额"); int HPriceCol = Fun_GetCol("单价"); int HRemarkSubCol = Fun_GetCol("备注"); int HSourceEntryIDCol = Fun_GetCol("源单子ID"); int HSourceBillTypeCol = Fun_GetCol("源单类型"); int HSourceBillNoCol = Fun_GetCol("源单单号"); for (int a = 0; a < 2; a++) { BillNew.omodel.HYear = DateTime.Now.Year; BillNew.omodel.HPeriod = DateTime.Now.Month; BillNew.omodel.HBillNo = "zd444"; //DBUtility.Xt_BaseBillFun.get_MaxBillNo_K3(BillNew.BillType, oCnK3); BillNew.omodel.HDate = DateTime.Today; BillNew.omodel.HDeptID = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells[HDeptIDCol].Value); BillNew.omodel.HWHID = 0; BillNew.omodel.HSCWHID = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells[HSCWHIDCol].Value); BillNew.omodel.HKeeperID = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells[HKeeperIDCol].Value); BillNew.omodel.HSupID = 0; BillNew.omodel.HSecManagerID = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells[HSecManagerIDCol].Value); BillNew.omodel.HEmpID = 0; BillNew.omodel.HManagerID = 0; BillNew.omodel.HRemark = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells[HRemarkCol].Value); BillNew.omodel.HExplanation = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells[HExplanationCol].Value); BillNew.omodel.HInnerBillNo = ""; if (a == 0) { BillNew.omodel.HRedBlueFlag = false; } else { BillNew.omodel.HRedBlueFlag =true; } BillNew.DetailColl = new List(); for (int i = 0; i <= grdMain.RowCount - 1; i++) { Model.ClsKf_MateOutBillSub_K3 oSub = new Model.ClsKf_MateOutBillSub_K3(); oSub.HEntryID = i + 1; // oSub.HMaterID = ClsPub.isLong(grdMain.Rows[i].Cells[HMaterIDCol].Value); oSub.HPropertyID = 0; oSub.HUnitID = ClsPub.isLong(grdMain.Rows[i].Cells[HUnitIDCol].Value); oSub.HSecUnitID = 0; oSub.HSecUnitRate = 0; oSub.HWHID = ClsPub.isLong(grdMain.Rows[i].Cells[HWHIDCol].Value); oSub.HSCWHID = ClsPub.isLong(grdMain.Rows[i].Cells[HWHIDCol].Value); if (a == 0) { oSub.HQty = -ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value); oSub.HQtyMust = -ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyMustCol].Value); oSub.HSourceInterID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HSourceInterIDCol].Value); oSub.HSourceEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HSourceEntryIDCol].Value); oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HSourceBillTypeCol].Value); oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HSourceBillNoCol].Value); } else { oSub.HQty = ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value); oSub.HQtyMust = ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyMustCol].Value); oSub.HSourceInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[i]["申请主ID"]); oSub.HSourceEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[i]["申请子ID"]); oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[i]["申请类型"]); oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[i]["申请单据号"]); } oSub.HMoney = ClsPub.isDoule(grdMain.Rows[i].Cells[HMoneyCol].Value); oSub.HPrice = ClsPub.isDoule(grdMain.Rows[i].Cells[HPriceCol].Value); oSub.HSeOrderInterID = 0; oSub.HSeOrderEntryID = 0; oSub.HSeOrderBillNo = ""; oSub.HPOOrderInterID = 0; oSub.HPOOrderEntryID = 0; oSub.HPOOrderBillNo = ""; oSub.HBatchNo = ""; // oSub.HRemark = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HRemarkSubCol].Value); oSub.HRelationQty = 0; BillNew.DetailColl.Add(oSub); } BillNew.AddBill(ref ClsPub.sExeReturnInfo); } MessageBox.Show("转单成功!"); } } }