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 BLL
|
{
|
/// <summary>
|
/// 条码管理
|
/// </summary>
|
public partial class Gy_BarCodeEdit : Form
|
{
|
public Gy_BarCodeEdit()
|
{
|
InitializeComponent();
|
}
|
|
public const string ModName = "";
|
public const string ModCaption = "条码管理";
|
public Int64 HInterID = 0; //单据主内码
|
public Int64 HEntryID = 0; //单据子内码
|
//
|
public int HMaterIDCol = 0; //物料列
|
//
|
public string HBillType = ""; //单据类型
|
public long HMaterID = 0; //物料ID
|
public long HProcID = 0; //工序ID
|
public long HWhID = 0; //仓库ID
|
public long HSCWhID = 0; //调出仓库ID
|
public long HStockPlaceID = 0; //仓位ID
|
public long HOutStockPlaceID = 0; //调出仓位ID
|
public long HGroupID = 0; //班组ID
|
public long HSourceInterID = 0; //源单主ID
|
public long HSourceEntryID = 0; //源单子ID
|
public string HSourceBillType = ""; //源单类型
|
public long HSourceItemID = 0; //源单物料ID
|
//
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
|
public ClsGy_BarCodeEdit_Ctl BillNew = new ClsGy_BarCodeEdit_Ctl();
|
public ClsGy_BarCodeEdit_Ctl BillOld = new ClsGy_BarCodeEdit_Ctl();
|
Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
|
|
//
|
private Int32 Fun_GetCol(string sCol)
|
{
|
return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
|
}
|
//
|
private void initGrid()
|
{
|
DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
|
}
|
|
//刷新网格
|
private void Display()
|
{
|
//从数据库获取数据显示到网格
|
ClsCN SubCn = new ClsCN();
|
DataSet DSet;
|
string sSql = "";
|
string sWhere = this.HInterID.ToString() + ",'" + HBillType + "'";
|
//过滤条件
|
sSql = "exec h_p_Gy_BarCodeEditDisplay ";
|
//
|
DSet = SubCn.RunProcReturn(sSql + sWhere, "Gy_Czygl", 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 = 0;
|
string s = "";
|
DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name,s, FrCol);
|
//画线
|
|
//合计
|
Total();
|
}
|
|
|
private void GraphicsGrid()
|
{
|
DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
|
}
|
|
//刷新按钮
|
private void sx_Click(object sender, EventArgs e)
|
{
|
Display();
|
}
|
|
//引出按钮
|
private void dc_Click(object sender, EventArgs e)
|
{
|
DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
|
}
|
|
//窗体初始化
|
private void Gy_BarCodeEdit_Load(object sender, EventArgs e)
|
{
|
this.Text = ModCaption;
|
oSumGrid.ogrdMain = grdMain; //初始化 new
|
oSumGrid.oGridsum = grdSum;
|
//lblCaption.Text = ModCaption;
|
initGrid();
|
}
|
|
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);
|
}
|
|
//合计 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 txtHBarCode_KeyDown(object sender, KeyEventArgs e)
|
{
|
//判断是否回车键
|
if (e.KeyCode == Keys.Enter)
|
{
|
//条码处理
|
set_BarCode();
|
txtHBarCode.Text = "";
|
}
|
}
|
|
//条码处理
|
private void set_BarCode()
|
{
|
//从条码档案里判断条码准确性
|
if (BillOld.HavParentCarCode(txtHBarCode.Text.Trim()))
|
{
|
//保存
|
Sub_SaveBill(BillOld);
|
}
|
else
|
{
|
MessageBox.Show("无效的条码!");
|
return;
|
}
|
}
|
|
//是否是空行
|
private bool IsNullRow(int Row)
|
{
|
return DBUtility.Xt_BaseBillFun.IsNullRow(Row, HMaterIDCol, grdMain);
|
}
|
|
//单据完整性判断 未完成
|
private bool Sub_AllowSave()
|
{
|
//必输项目是否为空
|
|
//明细表是否为零行
|
bool b = false;
|
for (int i = 0; i < grdMain.RowCount; i++)
|
{
|
if (!IsNullRow(i))
|
{
|
b = true;
|
break;
|
}
|
}
|
if (b == false)
|
{
|
MessageBox.Show("明细行不存在!", "提示");
|
return false;
|
}
|
return true;
|
}
|
|
private bool Sub_SaveBill(ClsGy_BarCodeEdit_Ctl oBar)
|
{
|
Int32 i;
|
bool bResult = false;
|
BillNew = new ClsGy_BarCodeEdit_Ctl();
|
//if (!Sub_AllowSave())//单据完整性判断
|
// return false;
|
//
|
//主类赋值
|
BillNew.omodel.HInterID = this.HInterID;
|
BillNew.omodel.HEntryID =this.HEntryID;
|
BillNew.omodel.HBillType = this.HBillType;
|
BillNew.omodel.HMaterID = oBar.omodel.HMaterID;
|
BillNew.omodel.HBatchNo = oBar.omodel.HBatchNo;
|
BillNew.omodel.HProcID = oBar.omodel.HProcID;
|
BillNew.omodel.HWhID = HWhID;
|
BillNew.omodel.HSCWhID = 0;
|
BillNew.omodel.HStockPlaceID = 0;
|
BillNew.omodel.HOutStockPlaceID = 0;
|
BillNew.omodel.HGroupID =0;
|
BillNew.omodel.HQty = oBar.omodel.HQty;
|
BillNew.omodel.HBarCode = oBar.omodel.HBarCode;
|
BillNew.omodel.HAddr = "";
|
BillNew.omodel.HSourceInterID = oBar.omodel.HSourceInterID;
|
BillNew.omodel.HSourceEntryID = oBar.omodel.HSourceEntryID;
|
BillNew.omodel.HSourceBillType = oBar.omodel.HSourceBillType;
|
BillNew.omodel.HSourceItemID = 0;
|
|
//保存完毕后处理
|
if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew)
|
{
|
bResult = BillNew.AddNew();
|
}
|
//提示
|
if (bResult == true)
|
{
|
if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew)
|
{
|
this.Display();
|
}
|
return true;
|
}
|
else
|
{
|
MessageBox.Show("保存失败!原因:" + ClsPub.sExeReturnInfo, "提示");
|
return false;
|
}
|
}
|
|
private void grdMain_Paint(object sender, PaintEventArgs e)
|
{
|
GraphicsGrid();
|
}
|
|
private void back_Click(object sender, EventArgs e)
|
{
|
this.Visible = false;
|
}
|
|
|
|
|
}
|
}
|