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;
|
|
namespace WorkM
|
{
|
public partial class Xs_SeOrderBillMulLevBOMQuery : Form
|
{
|
public Xs_SeOrderBillMulLevBOMQuery ()
|
{
|
InitializeComponent();
|
}
|
public DBUtility.frmBillQueryCondition_New frmCondition;
|
const string ViewName = "h_v_Xs_SeOrderBillMulLevBOMQuery ";
|
public string ModCaption = "订单多级展开";
|
public const string ModName = "3772";
|
public const string ModRightName = "Xs_SeOrderBillMulLevBOMQuery";
|
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_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
|
public Sc_ProcessExchangeBill oFrm;
|
public string sDlgWhere = ""; //外窗体递入
|
Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
|
Pub_Class.ClsGridListSum oSumGrid2 = new Pub_Class.ClsGridListSum();
|
public Int32 iTopRow = 0;//画横线
|
int _ScrollValue = 0;//刷新 回位
|
|
|
int HQtyCol = 10; //数量列
|
int HCheckCol = 11; //选中列
|
|
int HSelectCol = 0;//原选中行
|
|
#region 固定代码
|
//初始化网格
|
private void initGrid()
|
{
|
DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
|
DBUtility.Xt_BaseBillFun.initGridList(grdSub, this.Name);
|
}
|
//
|
//显示
|
private void Display()
|
{
|
|
grdSub.DataSource = null;
|
grdSub.Columns.Clear();
|
|
ClsCN SubCn = new ClsCN();
|
DataSet DSet;
|
string sSql = "";
|
string sWhere = ""; //特殊条件(日期限制,部门限制)
|
DBUtility.Xt_BaseBillFun.Sub_SQLWhere(ref sWhere);
|
if (sDlgWhere == "")
|
{
|
//过滤条件
|
if (frmCondition.SqlStr.Trim().Length == 0)
|
return;
|
sSql = frmCondition.SqlStr + sWhere + " order by 单据号 desc ";
|
}
|
else
|
{
|
sSql = frmCondition.SqlStr + sWhere + sDlgWhere + " order by 单据号 desc ";
|
//sSql = "Select * from " + ViewName + " Where 1=1 " + sWhere + sDlgWhere + " order by 销售订单号 desc ";
|
}
|
//
|
DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
|
//生成首行标题
|
if (DSet == null)
|
{
|
MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
|
return;
|
}
|
//释放冻结
|
DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain);
|
//刷新后,回滚到原位置
|
int selectRows = 0;
|
if (grdMain.CurrentRow != null)
|
{
|
selectRows = DBUtility.ClsPub.isInt(grdMain.CurrentRow.Index);
|
}
|
//绑定
|
grdMain.DataSource = DSet.Tables[0].DefaultView;
|
//刷新后,回滚到原位置
|
if (grdMain.Rows.Count > _ScrollValue)
|
{
|
grdMain.FirstDisplayedScrollingRowIndex = _ScrollValue;
|
//iTopRow = _ScrollValue;
|
}
|
if (grdMain.Rows.Count > 0 && grdMain.Rows.Count > selectRows)
|
{
|
grdMain.Rows[0].Selected = false;
|
grdMain.Rows[selectRows].Selected = true;
|
}
|
//设置合计列
|
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;
|
Sub_FastQuery();
|
}
|
//显示单据
|
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_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
oFrm = new Sc_ProcessExchangeBill();
|
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 Int32 Fun_GetColSub(string sCol)
|
{
|
return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdSub);
|
}
|
//
|
private void Xs_SeOrderBillMulLevBOMQuery_Load(object sender, EventArgs e)
|
{
|
//
|
frmCondition = new DBUtility.frmBillQueryCondition_New();
|
this.Text = ModCaption;
|
lblCaption.Text = ModCaption;
|
oSumGrid.ogrdMain = grdMain; //初始化 new
|
oSumGrid.oGridsum = grdSum;
|
|
oSumGrid2.ogrdMain = grdSub; //初始化 new
|
oSumGrid2.oGridsum = grdSum2;
|
|
initGrid();
|
//初始化快速过滤
|
dtpHBDate.Value = DateTime.Today.AddDays(-30);
|
dtpHEDate.Value = DateTime.Today;
|
dtpHBDate.Checked = false;
|
dtpHEDate.Checked = false;
|
cmbHStatus.Text = "全部";
|
//
|
}
|
//双击查看
|
private void grdMain_DblClick(object sender, EventArgs e)
|
{
|
//Sub_ShowBill();
|
}
|
//查询
|
private void cx_Click(object sender, EventArgs e)
|
{
|
frmCondition = new DBUtility.frmBillQueryCondition_New();
|
SetCondition(frmCondition, ViewName, this.Name);
|
frmCondition.ShowDialog();
|
if (frmCondition.Tag.ToString() == "OK")
|
{
|
Display();
|
}
|
}
|
|
public void SetCondition(DBUtility.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_ProcessExchangeBill();
|
oFrm.ShowDialog();
|
}
|
|
private void sc_Click(object sender, EventArgs e)
|
{
|
Sub_DeleteBill();
|
}
|
//删除
|
private void Sub_DeleteBill()
|
{
|
|
|
}
|
|
private void timer2_Tick(object sender, EventArgs e)
|
{
|
timer2.Enabled = false;
|
if (sDlgWhere == "")
|
{
|
frmCondition = new DBUtility.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);
|
DBUtility.Xt_BaseBillFun.SaveGrid(grdSub, this.Name);
|
}
|
|
private void mrlk_Click(object sender, EventArgs e)
|
{
|
DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name);
|
DBUtility.Xt_BaseBillFun.DefaultGridView(grdSub, 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_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
|
//查看是否已审核,关闭,作废
|
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_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
|
//查看是否已审核,关闭,作废
|
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);
|
//画横线
|
DBUtility.Xt_BaseBillFun.GraphicsRowGrid(grdMain, iTopRow, iTopRow + 50, Fun_GetCol("hmainid"));
|
}
|
|
//
|
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();
|
}
|
|
//合计 new
|
private void Total2()
|
{
|
if (grdSub.Rows.Count > 0 && grdSub.ColumnCount > 0)
|
{
|
oSumGrid2.SetGridsum();
|
oSumGrid2.Total();
|
}
|
}
|
//合计 new
|
private void grdSub_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
|
{
|
Total2();
|
}
|
//合计 new
|
private void grdSub_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
|
{
|
Total2();
|
}
|
|
private void dc_Click(object sender, EventArgs e)
|
{
|
DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
|
}
|
|
|
#endregion
|
|
#region //打印设置
|
|
GridppReport Report;
|
|
private void set_Click(object sender, EventArgs e)
|
{
|
//选择打印模板
|
BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
|
oFrm.sBillName = ModName;
|
oFrm.sBillModel = ModCaption;
|
oFrm.ShowDialog();
|
}
|
|
private void dy_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.Print(true);
|
}
|
}
|
|
//预览
|
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);
|
//}
|
|
//int Qty = grdMain.SelectedRows.Count;
|
//int DYQty = DBUtility.ClsPub.isInt(Math.Ceiling(Qty / 2.0));
|
//selectRow1 = -2;
|
//selectRow2 = -1;
|
//for (int i = 0; i < DYQty; i++)
|
//{
|
// if (i < DYQty - 1)
|
// {
|
// selectRow1 = selectRow1 + 2;
|
// selectRow2 = selectRow2 + 2;
|
// Sub_SetReport("LOT卡二维码");
|
// Report.PrintPreview(false);
|
// }
|
// else
|
// {
|
// selectRow1 = selectRow1 + 2;
|
// selectRow2 = -1;
|
// Sub_SetReport("LOT卡二维码");
|
// 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("条码编号1").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow1].Cells[Fun_GetCol("单据号")].Value);
|
//if (selectRow2 != -1)
|
//{
|
// Report.FieldByName("条码编号2").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow2].Cells[Fun_GetCol("单据号")].Value);
|
//}
|
}
|
private void ReportFetchRecordByDataTable()
|
{
|
BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, 0);
|
}
|
|
//关闭单据
|
private void Sub_CloseBill()
|
{
|
//关闭权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 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_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//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.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("关闭成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//反关闭单据
|
private void Sub_Cancel()
|
{
|
//反关闭权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 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_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//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.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("反关闭成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//作废单据
|
private void Sub_Cancelltion()
|
{
|
//作废权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 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_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//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.Cancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("作废成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
//反作废
|
private void Sub_AbandonCancelltion()
|
{
|
//反作废权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 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_InceptEntOutBill oBill = new DAL.ClsKf_InceptEntOutBill();
|
//查看是否已审核,关闭,作废
|
//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.AbandonCancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
MessageBox.Show("反作废成功!", "提示");
|
return;
|
}
|
else
|
{
|
MessageBox.Show("反作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
return;
|
}
|
}
|
#endregion
|
|
|
#region 额外方法
|
|
//上查
|
private void shc_Click(object sender, EventArgs e)
|
{
|
//
|
}
|
|
private void xc_Click(object sender, EventArgs e)
|
{
|
//
|
}
|
|
#endregion
|
|
private void yc_Click(object sender, EventArgs e)
|
{
|
BLL.Gy_GridView_Hide oHide = new BLL.Gy_GridView_Hide();
|
oHide.KeyItem = this.Name;
|
oHide.oGrd = grdMain;
|
oHide.ShowDialog();
|
//
|
DBUtility.ClsPub.HideGridView(grdMain, Name, DBUtility.ClsPub.AppPath);//设置隐藏列
|
}
|
|
private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_CloseBill();
|
}
|
private void 反关闭ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_Cancel();
|
}
|
private void 审核ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_CheckBill();
|
}
|
private void 反审核ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_AbandonCheck();
|
}
|
private void 作废ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_Cancelltion();
|
}
|
|
private void 撤销作废ToolStripMenuItem_Click(object sender, EventArgs e)
|
{
|
this.Sub_AbandonCancelltion();
|
}
|
|
private void grdMain_Scroll(object sender, ScrollEventArgs e)
|
{
|
if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
|
{
|
this.iTopRow = e.NewValue;
|
_ScrollValue = e.NewValue;
|
}
|
}
|
|
//清除快速过滤
|
private void btnOK_Click(object sender, EventArgs e)
|
{
|
dtpHBDate.Value = DateTime.Today.AddDays(-30);
|
dtpHEDate.Value = DateTime.Today;
|
dtpHBDate.Checked = false;
|
dtpHEDate.Checked = false;
|
cmbHStatus.Text = "全部";
|
txtHBillNo.Text = "";
|
txtHMaterName.Text = "";
|
txtHMaterNumber.Text = "";
|
txtHModel.Text = "";
|
}
|
|
//快速过滤
|
private void Sub_FastQuery()
|
{
|
string sFastSQL = "";
|
//判断状态
|
if (cmbHStatus.Text != "全部" && cmbHStatus.Text != "")
|
{
|
//if (cmbHStatus.Text == "未审核")
|
//{
|
// sFastSQL = sFastSQL + " and 审核人='' ";
|
//}
|
//if (cmbHStatus.Text == "已审核")
|
//{
|
// sFastSQL = sFastSQL + " and 审核人<>'' ";
|
//}
|
//if (cmbHStatus.Text == "未关闭")
|
//{
|
// sFastSQL = sFastSQL + " and 关闭人='' ";
|
//}
|
//if (cmbHStatus.Text == "已关闭")
|
//{
|
// sFastSQL = sFastSQL + " and 关闭人<>'' ";
|
//}
|
}
|
//判断开始日期
|
if (dtpHBDate.Checked)
|
{
|
sFastSQL = sFastSQL + " and 交货日期>='" + dtpHBDate.Value.ToShortDateString() + "'";
|
}
|
//判断结束日期
|
if (dtpHEDate.Checked)
|
{
|
sFastSQL = sFastSQL + " and 交货日期<='" + dtpHEDate.Value.ToShortDateString() + "'";
|
}
|
//销售订单号
|
if (txtHBillNo.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 单据号 like '%" + txtHBillNo.Text + "%'";
|
}
|
//产品名称
|
if (txtHMaterName.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 产品名称 like '%" + txtHMaterName.Text + "%'";
|
}
|
//产品代码
|
if (txtHMaterNumber.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 产品代码 like '%" + txtHMaterNumber.Text + "%'";
|
}
|
//规格型号
|
if (txtHModel.Text.Trim() != "")
|
{
|
sFastSQL = sFastSQL + " and 规格型号 like '%" + txtHModel.Text + "%'";
|
}
|
//if (sFastSQL.Trim() == "")
|
//{
|
// MessageBox.Show("没有输入条件!");
|
// return;
|
//}
|
sDlgWhere = sFastSQL;
|
Display();
|
sDlgWhere = "";
|
}
|
|
|
private void grdMain_CellClick(object sender, DataGridViewCellEventArgs e)
|
{
|
if (grdMain.CurrentRow == null)
|
return;
|
|
//判断有没有选中行
|
bool isCheck = false;
|
for (int i = 0; i < grdSub.Rows.Count; i++)
|
{
|
if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true)
|
{
|
isCheck = true;
|
}
|
}
|
if (isCheck == true && HSelectCol != grdMain.CurrentRow.Index)
|
{
|
if (MessageBox.Show("存在未保存记录,是否放弃保存?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
|
{
|
grdSub_Show();
|
}
|
else
|
{
|
grdMain.Rows[grdMain.CurrentRow.Index].Selected = false;
|
grdMain.Rows[HSelectCol].Selected = true;
|
grdMain.CurrentCell = grdMain.Rows[HSelectCol].Cells[Fun_GetCol("单据号")];
|
}
|
}
|
else
|
{
|
if (HSelectCol != grdMain.CurrentRow.Index)
|
{
|
grdSub_Show();
|
}
|
}
|
|
}
|
private void grdSub_Show()
|
{
|
grdSub.DataSource = null;
|
grdSub.Columns.Clear();
|
ClsCN oCn = new ClsCN();
|
DataSet Ds1;
|
long sHMaterID;
|
double sHQty;
|
long sHInterID;
|
long sHEntryID;
|
sHMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmaterid")].Value);
|
sHQty = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("数量")].Value);
|
sHInterID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
sHEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hsubid")].Value);
|
Ds1 = oCn.RunProcReturn("exec h_p_Xs_SeOrderBillMulLevBOMQuery " + sHMaterID + "," + sHQty + "," + sHInterID + "," + sHEntryID, "h_p_Xs_SeOrderBillMulLevBOMQuery");
|
grdSub.DataSource = Ds1.Tables[0].DefaultView;
|
|
DataGridViewCheckBoxColumn columncb = new DataGridViewCheckBoxColumn();
|
columncb.HeaderText = "选择";
|
columncb.Name = "cb_check";
|
columncb.TrueValue = true;
|
columncb.FalseValue = false;
|
//column9.DataPropertyName = "IsScienceNature";
|
columncb.DataPropertyName = "IsChecked";
|
grdSub.Columns.Add(columncb);
|
|
//
|
HQtyCol = Fun_GetColSub("申请数量");
|
HCheckCol = grdSub.ColumnCount-1;
|
//
|
//设置合计列
|
string sTotalCol = "";
|
sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(Ds1);
|
string[] sT;
|
sT = sTotalCol.Split(Convert.ToChar(","));
|
oSumGrid2.BuildTotalCols(sT);
|
//冻结
|
int FrCol = 0;
|
string s = "";
|
DBUtility.Xt_BaseBillFun.DisplayGrid(grdSub, this.Name, s, FrCol);
|
grdSub.ReadOnly = false;
|
}
|
private void grdSub_CellClick(object sender, DataGridViewCellEventArgs e)
|
{
|
if (grdSub.CurrentRow == null)
|
return;
|
if (e.ColumnIndex == HCheckCol && DBUtility.ClsPub.isInt(grdSub.Rows[grdSub.CurrentRow.Index].Cells[Fun_GetColSub("herpclsid")].Value)==1)
|
{
|
if (DBUtility.ClsPub.isBool(grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value) == false)
|
{
|
grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value = true;
|
}
|
else
|
{
|
grdSub.Rows[grdSub.CurrentRow.Index].Cells[e.ColumnIndex].Value = false;
|
}
|
}
|
}
|
|
private void grdSub_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
|
{
|
if (e.ColumnIndex != HQtyCol)
|
{
|
e.Cancel = true;
|
}
|
}
|
|
private void cg_Click(object sender, EventArgs e)
|
{
|
string HBillNo;
|
//判断有没有选中行
|
bool isCheck = false;
|
for (int i = 0; i < grdSub.Rows.Count; i++)
|
{
|
if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true)
|
{
|
if (DBUtility.ClsPub.isDoule(grdSub.Rows[i].Cells[Fun_GetColSub("申请数量")].Value) > DBUtility.ClsPub.isDoule(grdSub.Rows[i].Cells[Fun_GetColSub("未申请数量")].Value))
|
{
|
MessageBox.Show("物料代码:" + DBUtility.ClsPub.isStrNull(grdSub.Rows[i].Cells[Fun_GetColSub("物料代码")].Value) + "申请数量不能大于未申请数量!","提示");
|
return;
|
}
|
isCheck = true;
|
}
|
}
|
if (isCheck == false)
|
{
|
MessageBox.Show("没有选择需要采购的物料!","提示");
|
return;
|
}
|
|
long HEmpID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HEmpID")].Value);
|
long HDeptID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HDeptID")].Value);
|
long HSourceInterID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
long HSourceEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hsubid")].Value);
|
string HSourceBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("单据号")].Value);
|
string HSourceTranType = "81";
|
ClsCNK3 oCnK3 = new ClsCNK3();
|
try
|
{
|
HBillNo = DBUtility.Xt_BaseBillFun.get_MaxBillNo_K3("70", oCnK3);
|
|
//得到用户ID
|
long HBillerID;
|
DataSet DsBiller;
|
string HSourceBillType = "";
|
DsBiller = oCnK3.RunProcReturn("select top 1 fuserid from t_User where fname='" + DBUtility.ClsPub.CurUserName + "'", "t_User");
|
if (DsBiller.Tables[0].Rows.Count != 0)
|
{
|
HBillerID = DBUtility.ClsPub.isLong(DsBiller.Tables[0].Rows[0][0]);
|
}
|
else
|
{
|
HBillerID = 16394;
|
}
|
//
|
DataSet Ds1;
|
//得到mainid
|
long HInterID=0;
|
Ds1 = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNum 'POrequest', @InterID output, 1, " + HBillerID.ToString() + " select ltrim(@InterID)", "GetICMaxNum");
|
//Ds1 = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNumOld 'ICStockBill',@InterID output select ltrim(@InterID)", "xt_xtgnb");
|
if (Ds1.Tables[0].Rows.Count != 0)
|
{
|
HInterID = DBUtility.ClsPub.isLong(Ds1.Tables[0].Rows[0][0]);
|
}
|
if (HInterID == 0)
|
{
|
MessageBox.Show("生成HInterID失败!");
|
return;
|
}
|
|
oCnK3.BeginTran();
|
int j = 0;
|
long HMaterID;
|
long HUnitID;
|
double HQty;
|
for (int i = 0; i < grdSub.Rows.Count; i++)
|
{
|
if (DBUtility.ClsPub.isBool(grdSub.Rows[i].Cells[HCheckCol].Value) == true)
|
{
|
j = j + 1;
|
HMaterID = DBUtility.ClsPub.isLong(grdSub.Rows[i].Cells[Fun_GetColSub("hmaterid")].Value);
|
HUnitID = DBUtility.ClsPub.isLong(grdSub.Rows[i].Cells[Fun_GetColSub("HUnitID")].Value);
|
HQty = DBUtility.ClsPub.isLong(grdSub.Rows[i].Cells[Fun_GetColSub("申请数量")].Value);
|
|
////华裕
|
//oCnK3.RunProc("INSERT INTO POrequestEntry " +
|
// "(FInterID,FEntryID,FBrNo,FItemID,FAuxPropID,FQty,FUnitID,Fauxqty" +
|
// ",FSecCoefficient,FSecQty,FAPurchTime,FBOMCategory,FBomInterID,Fuse" +
|
// ",FSupplyID,FFetchTime,FPlanOrderInterID,FSourceBillNo,FSourceTranType" +
|
// ",FSourceInterId,FSourceEntryID,FMrpLockFlag,FPlanMode,FIsInquiry,FMTONo) " +
|
// "Values (" + HInterID + "," + j + ",'0'," + HMaterID + ",0," + HQty + "," + HUnitID + "," + HQty +
|
// ",0,0,CONVERT(CHAR(10),GETDATE(),120),0,0,''" +
|
// ",0,CONVERT(CHAR(10),GETDATE(),120),0,'" + HSourceBillNo + "'," + HSourceTranType +
|
// "," + HSourceInterID + "," + HSourceEntryID + ",0,14036,0,'' )");
|
|
//本地
|
oCnK3.RunProc("INSERT INTO POrequestEntry " +
|
"(FInterID,FEntryID,FBrNo,FItemID,FAuxPropID,FQty,FUnitID,Fauxqty" +
|
",FSecCoefficient,FSecQty,FAPurchTime,FBomInterID,Fuse" +
|
",FSupplyID,FFetchTime,FPlanOrderInterID,FSourceBillNo,FSourceTranType" +
|
",FSourceInterId,FSourceEntryID,FMrpLockFlag,FPlanMode,FMTONo) " +
|
"Values (" + HInterID + "," + j + ",'0'," + HMaterID + ",0," + HQty + "," + HUnitID + "," + HQty +
|
",0,0,CONVERT(CHAR(10),GETDATE(),120),0,''" +
|
",0,CONVERT(CHAR(10),GETDATE(),120),0,'" + HSourceBillNo + "'," + HSourceTranType +
|
"," + HSourceInterID + "," + HSourceEntryID + ",0,14036,'' )");
|
}
|
}
|
// ////华裕
|
//oCnK3.RunProc("INSERT INTO POrequest" +
|
// "(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus,Fdate" +
|
// ",FDeptID,FBizType,Fnote,FRequesterID,FCheckTime,FBillerID,FMRP" +
|
// ",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" +
|
// ",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" +
|
// ",FSelTranType,FPrintCount,FPlanConfirmed,FPlanCategory" +
|
// ",FGeneratePurBudQty,FHeadSelfP0131,FHeadSelfP0133,FHeadSelfP0132) " +
|
// "Values (" + HInterID + ",'" + HBillNo + "','0',70,0,0,CONVERT(CHAR(10),GETDATE(),120) " +
|
// "," + HDeptID + ",12510,''," + HEmpID + ",Null," + HBillerID + ",0" +
|
// ",Null,Null,Null,Null,Null,Null" +
|
// ",81,0,0,'1'" +
|
// ",0,40274,'','')");
|
|
//本地
|
oCnK3.RunProc("INSERT INTO POrequest" +
|
"(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus,Fdate" +
|
",FDeptID,FBizType,Fnote,FRequesterID,FCheckTime,FBillerID,FMRP" +
|
",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" +
|
",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" +
|
",FSelTranType,FPlanConfirmed" +
|
",FGeneratePurBudQty) " +
|
"Values (" + HInterID + ",'" + HBillNo + "','0',70,0,0,CONVERT(CHAR(10),GETDATE(),120) " +
|
"," + HDeptID + ",12510,''," + HBillerID + ",Null," + HBillerID + ",0" +
|
",Null,Null,Null,Null,Null,Null" +
|
",81,0" +
|
",0)");
|
|
oCnK3.Commit();
|
}
|
catch (Exception ex)
|
{
|
oCnK3.RollBack();
|
throw (ex);
|
}
|
|
MessageBox.Show("单据号:" + HBillNo + ",保存完毕!");
|
|
grdSub_Show();
|
|
}
|
|
private void grdMain_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
|
{
|
if (grdMain.CurrentRow == null)
|
return;
|
HSelectCol = grdMain.CurrentRow.Index;
|
}
|
|
private void zqlfx_Click(object sender, EventArgs e)
|
{
|
if (grdMain.CurrentRow == null)
|
return;
|
long HInterID = DBUtility.ClsPub.isLong(grdMain.CurrentRow.Cells[Fun_GetCol("hmainid")].Value);
|
long HEntryID = DBUtility.ClsPub.isLong(grdMain.CurrentRow.Cells[Fun_GetCol("hsubid")].Value);
|
long HMaterID = DBUtility.ClsPub.isLong(grdMain.CurrentRow.Cells[Fun_GetCol("hmaterid")].Value);
|
double HQty = DBUtility.ClsPub.isDoule(grdMain.CurrentRow.Cells[Fun_GetCol("数量")].Value);
|
if (HInterID == 0 || HEntryID == 0 || HMaterID == 0 || HQty == 0)
|
{
|
return;
|
}
|
Sc_OrderLackMaterialAnalyse oZQLFX = new Sc_OrderLackMaterialAnalyse();
|
oZQLFX.HInterID = HInterID;
|
oZQLFX.HEntryID = HEntryID;
|
oZQLFX.HMaterID = HMaterID;
|
oZQLFX.HQty = HQty;
|
oZQLFX.ShowDialog();
|
}
|
|
|
}
|
}
|