using Pub_Class;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Windows.Forms;
|
|
namespace WarM.仓库管理
|
{
|
public partial class Gy_BarCodeBill_ChaiMa : Form
|
{
|
public Gy_BarCodeBill_ChaiMa()
|
{
|
InitializeComponent();
|
}
|
|
//定义列
|
public const Int16 HTagCol = 0;
|
public const Int16 HSnoCol = 1;
|
public const Int16 HInterID = 2;
|
public const Int16 HBarCode = 3;
|
public const Int16 HQty = 4;
|
public const Int16 HNum = 5;
|
public const Int16 HMaterCol = 6;
|
public const Int16 HMaterName = 7;
|
public const Int16 HMaterMould = 8;
|
public const Int16 HBatchNo =9;
|
//=======================================================================
|
public const Int16 HTagCol2 = 0;
|
public const Int16 HSnoCol2 = 1;
|
public const Int16 HInterID2 = 2;
|
public const Int16 HBarCode2 = 3;
|
public const Int16 HQty2 = 4;
|
public const Int16 HNum2 = 5;
|
public const Int16 HMaterCol2 = 6;
|
public const Int16 HMaterName2 = 7;
|
public const Int16 HMaterMould2 = 8;
|
public const Int16 HBatchNo2 = 9;
|
|
public const string ModName = ""; //单据类型
|
public const string ModCaption = "条码拆码"; //单据名称
|
public const string ModRightName = "Gy_BarCodeBill_ChaiMa";
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus; //单据状态(新增,修改,浏览,更新单价,变更)
|
ClsGridViewSum oSumGrid_Mater = new ClsGridViewSum();
|
ClsGridViewSum oSumGrid_Pay = new ClsGridViewSum();
|
public DAL.ClsGy_BarCodeBill_ChaiMa BillNew = new DAL.ClsGy_BarCodeBill_ChaiMa(); //对应单据类
|
public DAL.ClsGy_BarCodeBill_ChaiMa BillOld = new DAL.ClsGy_BarCodeBill_ChaiMa(); //对应单据类
|
|
//清空界面
|
public void Sub_ClearBill()
|
{
|
DBUtility.Xt_BaseBillFun.Sub_ClearBill(gbUp);
|
//
|
txtHMaker.Text = DBUtility.ClsPub.CurUserName;
|
initGrid();
|
initGrid_Pay();
|
oSumGrid_Mater.NoCol = HSnoCol;
|
oSumGrid_Pay.NoCol = HSnoCol2;
|
}
|
|
#region 窗体处理方法
|
//初始化页签1数据
|
private void intoDate()
|
{
|
try
|
{
|
DataSet Ds;
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
Ds = oCn.RunProcReturn("select * from h_v_Gy_BarCodeBill_ChaiMa", "h_v_Gy_BarCodeBill_ChaiMa");
|
grdMain.DataSource = Ds.Tables[0].DefaultView;
|
|
}
|
catch (Exception ex )
|
{
|
MessageBox.Show(ex.Message.ToString());
|
}
|
|
}
|
|
//初始化页签1
|
private void initGrid()
|
{
|
grdMain.ColumnCount = 10; //总列数
|
DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name + "1");
|
grdMain.Columns[HSnoCol].HeaderText = "序号";
|
grdMain.Columns[HInterID].HeaderText = "HInterID";
|
grdMain.Columns[HBarCode].HeaderText = "条码编号";
|
grdMain.Columns[HQty].HeaderText = "条码数量";
|
grdMain.Columns[HNum].HeaderText = "拆分数量";
|
grdMain.Columns[HMaterCol].HeaderText = "物料代码";
|
grdMain.Columns[HMaterName].HeaderText = "物料名称";
|
grdMain.Columns[HMaterMould].HeaderText = "规格型号";
|
grdMain.Columns[HBatchNo].HeaderText = "批号";
|
//=============================================================================
|
|
////隐藏列
|
grdMain.Columns[HTagCol].Visible = false;
|
grdMain.Columns[HInterID].Visible = false;
|
|
//intoDate();
|
//格式化网格
|
//DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol, oSumGrid_Mater);
|
}
|
|
//初始化页签2
|
private void initGrid_Pay()
|
{
|
grdMain_Pay.ColumnCount = 10; //总列数
|
DBUtility.Xt_BaseBillFun.initGridFst(grdMain_Pay, this.Name + "1");
|
grdMain_Pay.Columns[HSnoCol2].HeaderText = "序号";
|
grdMain_Pay.Columns[HInterID2].HeaderText = "HInterID";
|
grdMain_Pay.Columns[HBarCode2].HeaderText = "条码编号";
|
grdMain_Pay.Columns[HQty2].HeaderText = "条码数量";
|
grdMain_Pay.Columns[HNum2].HeaderText = "拆分数量";
|
grdMain_Pay.Columns[HMaterCol2].HeaderText = "物料代码";
|
grdMain_Pay.Columns[HMaterName2].HeaderText = "物料名称";
|
grdMain_Pay.Columns[HMaterMould2].HeaderText = "规格型号";
|
grdMain_Pay.Columns[HBatchNo2].HeaderText = "批号";
|
//=============================================================================
|
////隐藏列
|
grdMain_Pay.Columns[HTagCol].Visible = false;
|
grdMain_Pay.Columns[HInterID].Visible = false;
|
//设置可编辑列
|
string sAllowCol = HNum2.ToString();
|
//设置合计列
|
string sTotalCol = HTagCol2.ToString() + "0";
|
//格式化网格
|
//DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol, oSumGrid_Pay);
|
}
|
|
// 基本不变
|
|
private void grdMain_RowHeadersWidthChanged(object sender, EventArgs e)
|
{
|
DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid_Mater);
|
}
|
|
#endregion
|
|
//页面加载
|
private void Gy_BarCodeBill_ChaiMa_Load(object sender, EventArgs e)
|
{
|
txtHBillNo.Text = "";
|
txtNum.Text = "";
|
txtHMaker.Text = DBUtility.ClsPub.CurUserName;
|
Sub_ClearBill();
|
}
|
|
////数据验证
|
//private bool Sub_AllowSave()
|
//{
|
// for (int i = 0; i <= grdMain_Pay.RowCount - 1; i++)
|
// {
|
// if (ClsPub.isLong(grdMain_Pay.Rows[i].Cells[HSnoCol2].Value) != 0)
|
// {
|
// if (ClsPub.isStrNull(grdMain_Pay.Rows[i].Cells[HNum2].Value) ==null)
|
// {
|
// MessageBox.Show("请将表格拆分数量填写完整", "提示");
|
// return false;
|
// }
|
// }
|
// else
|
// {
|
// return true;
|
// }
|
// }
|
// return true;
|
//}
|
|
//生成按钮
|
private void xz_Click(object sender, EventArgs e)
|
{
|
this.SeverDate();
|
}
|
private bool SeverDate()
|
{
|
Int32 i;
|
bool bResult;
|
BillNew = new DAL.ClsGy_BarCodeBill_ChaiMa();
|
//if (Sub_AllowSave())
|
//{
|
//判断会计期是否合理
|
string HBillNo = txtHBillNo.Text;
|
DataSet Ds;
|
double sum = 0.00000000;
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
Ds = oCn.RunProcReturn("select top 1* from Gy_BarCodeBill where HBarCode='" + HBillNo + "'", "h_v_Gy_BarCodeBill_ChaiMa");
|
for (i = 0; i <= grdMain_Pay.RowCount - 1; i++)
|
{
|
if (ClsPub.isLong(grdMain_Pay.Rows[i].Cells[HSnoCol2].Value) != 0)
|
{
|
Model.ClsGy_BarCodeEdit_Model model = new Model.ClsGy_BarCodeEdit_Model();
|
//固定赋值========================================
|
model.HEntryID = i + 1;
|
model.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
|
model.HBarCode = DBUtility.ClsPub.isStrNull(grdMain_Pay.Rows[i].Cells[HBarCode].Value);
|
model.HQty = DBUtility.ClsPub.isLong(grdMain_Pay.Rows[i].Cells[HNum2].Value);
|
model.HQty = DBUtility.ClsPub.isInt(grdMain_Pay.Rows[i].Cells[HNum2].Value);
|
model.HBatchNo = DBUtility.ClsPub.isStrNull(grdMain_Pay.Rows[i].Cells[HBatchNo].Value);
|
model.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"].ToString());
|
model.HUnitID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HUnitID"].ToString());
|
model.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"].ToString());
|
model.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"].ToString());
|
model.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"].ToString());
|
model.HBarCodeType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBarCodeType"].ToString());
|
model.HItemSubID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemSubID"].ToString());
|
model.HGroupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HGroupID"].ToString());
|
model.HSourceInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSourceInterID"].ToString());
|
model.HSourceEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSourceEntryID"].ToString());
|
model.HSourceBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceBillNo"].ToString());
|
model.HSourceBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceBillType"].ToString());
|
model.HUseFlag = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUseFlag"].ToString());
|
model.HInitQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HInitQty"].ToString());
|
model.HSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInitQty"].ToString());
|
model.HCusID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCusID"].ToString());
|
model.HSTOCKORGID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSTOCKORGID"].ToString());
|
model.HOWNERID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOWNERID"].ToString());
|
model.HBarCodeDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HBarCodeDate"].ToString());
|
model.HInnerBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo"].ToString());
|
model.HMZ = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HMZ"].ToString());
|
|
model.HMakeDate = DateTime.Now;
|
model.HMaker = ClsPub.CurUserName;
|
|
if (model.HQty <= 0 || model.HQty.ToString() == "")
|
{
|
MessageBox.Show("页2第" + ClsPub.isStrNull(i + 1) + "行,拆分数量必须大于0!");
|
return false;
|
}
|
sum += model.HQty;
|
BillNew.DetailColl_Mater.Add(model);
|
}
|
else
|
{
|
break;
|
}
|
}
|
if (sum > DBUtility.ClsPub.isDoule(grdMain.Rows[0].Cells[HQty].Value))
|
{
|
MessageBox.Show("页2拆分数量之和必须小于条码数量!");
|
return false;
|
}
|
else
|
{
|
//保存
|
bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo, HBillNo);
|
//提示
|
if (bResult == true)
|
{
|
MessageBox.Show("单据存盘完毕!单据号:" + this.txtHBillNo.Text.Trim(), "提示");
|
return true;
|
}
|
else
|
{
|
MessageBox.Show("保存失败!原因:" + ClsPub.sExeReturnInfo, "提示");
|
return false;
|
}
|
}
|
}
|
//确定按钮
|
private void button1_Click(object sender, EventArgs e)
|
{
|
if (DBUtility.ClsPub.isStrNull(txtHBillNo.Text) != ""&& DBUtility.ClsPub.isStrNull(txtNum.Text) != "")
|
{
|
string HBillNo = txtHBillNo.Text;
|
int HNumCan = int.Parse(txtNum.Text);
|
DataSet Ds;
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
Ds = oCn.RunProcReturn("select top 1* from h_v_Gy_BarCodeBill_ChaiMa where 条码编号='" + HBillNo + "'", "h_v_Gy_BarCodeBill_ChaiMa");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
MessageBox.Show("条码编号不存在", "提示");
|
}
|
else
|
{
|
grdMain.Rows[0].Cells[HTagCol].Value = "*";
|
grdMain.Rows[0].Cells[HSnoCol].Value = 1;
|
grdMain.Rows[0].Cells[HInterID].Value = Ds.Tables[0].Rows[0]["HInterID"].ToString();
|
grdMain.Rows[0].Cells[HBarCode].Value = Ds.Tables[0].Rows[0]["条码编号"].ToString();
|
grdMain.Rows[0].Cells[HQty].Value = Ds.Tables[0].Rows[0]["条码数量"].ToString();
|
grdMain.Rows[0].Cells[HNum].Value = 0;
|
grdMain.Rows[0].Cells[HMaterCol].Value = Ds.Tables[0].Rows[0]["物料代码"].ToString();
|
grdMain.Rows[0].Cells[HMaterName].Value = Ds.Tables[0].Rows[0]["物料名称"].ToString();
|
grdMain.Rows[0].Cells[HMaterMould].Value = Ds.Tables[0].Rows[0]["规格型号"].ToString();
|
grdMain.Rows[0].Cells[HBatchNo].Value = Ds.Tables[0].Rows[0]["批号"].ToString();
|
for (int i = 0; i < HNumCan; i++)
|
{
|
int Code = 65 + i;
|
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
|
byte[] byteArray = new byte[] { (byte)Code };
|
string A = asciiEncoding.GetString(byteArray);
|
string No = Ds.Tables[0].Rows[0]["条码编号"].ToString();
|
grdMain_Pay.Rows[i].Cells[HTagCol2].Value = "*";
|
grdMain_Pay.Rows[i].Cells[HSnoCol2].Value = HSnoCol2+i;
|
grdMain_Pay.Rows[i].Cells[HInterID2].Value = Ds.Tables[0].Rows[0]["HInterID"].ToString();
|
grdMain_Pay.Rows[i].Cells[HBarCode2].Value = No + A;
|
grdMain_Pay.Rows[i].Cells[HQty2].Value = Ds.Tables[0].Rows[0]["条码数量"].ToString();
|
grdMain_Pay.Rows[i].Cells[HMaterCol2].Value = Ds.Tables[0].Rows[0]["物料代码"].ToString();
|
grdMain_Pay.Rows[i].Cells[HMaterName2].Value = Ds.Tables[0].Rows[0]["物料名称"].ToString();
|
grdMain_Pay.Rows[i].Cells[HMaterMould2].Value = Ds.Tables[0].Rows[0]["规格型号"].ToString();
|
grdMain_Pay.Rows[i].Cells[HBatchNo2].Value = Ds.Tables[0].Rows[0]["批号"].ToString();
|
}
|
}
|
}
|
else
|
{
|
MessageBox.Show("请填写条码编号和拆分条数", "提示");
|
}
|
|
}
|
|
private void tc_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
}
|
}
|