You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
717 lines
26 KiB
717 lines
26 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Stone.Common;
|
|
using Stone.Entity;
|
|
using Stone.WinBiz.JISAdmin;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using Gm_WMS.DataAccess.DataService;
|
|
using Stone.WinBiz.SystemData;
|
|
|
|
namespace Stone.WinModule.AssembleAdmin
|
|
{
|
|
public partial class frmEdiPrintAssembleScan : Stone.WinModule.frmBase
|
|
{
|
|
#region 正常订单
|
|
private string PackageGroupName = "";
|
|
private int PackageQty = 0;
|
|
private DataSet dsData = null;
|
|
|
|
private bool isLoad = false;
|
|
private LocalDBService dbnew = new LocalDBService();
|
|
public frmEdiPrintAssembleScan()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void frmEdiPrintAssembleScan_Load(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
MyGridViewStyle.SetDataGridMenuCommon(this.dgGrid);
|
|
MyGridViewStyle.SetDataGridMenuCommon(this.dgReOrder);
|
|
|
|
PackageGroupName = MyAppconfig.ReadValue("JIS扫描打印类型");
|
|
PackageQty = Convert.ToInt32(MyAppconfig.ReadValue("JIS扫描打印装箱数"));
|
|
|
|
this.lblPackageGroupName.Text = PackageGroupName + " (" + PackageQty + ")";
|
|
|
|
|
|
ReOrderUpdateGrid();
|
|
|
|
InsertUpdateGrid();
|
|
|
|
timer2.Enabled = true;
|
|
|
|
UpdateGrid();
|
|
|
|
isLoad = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void txtBillNo_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
|
|
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
if (this.txtBillNo.Text.Trim() != "")
|
|
{
|
|
this.txtOrderNo.Focus();
|
|
this.txtOrderNo.SelectAll();
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
private void txtOrderNo_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
if (this.txtBillNo.Text.Trim().ToUpper() != this.txtOrderNo.Text.Trim())
|
|
{
|
|
MyMessageBox.ShowMessagePop("转配单条码和序列标签条码不一样");
|
|
this.txtOrderNo.Focus();
|
|
this.txtOrderNo.SelectAll();
|
|
return;
|
|
}
|
|
|
|
this.txtBarCode.Focus();
|
|
this.txtBarCode.SelectAll();
|
|
}
|
|
}
|
|
|
|
private void txtBarCode_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
try
|
|
{
|
|
if (this.txtBillNo.Text.Trim() == "")
|
|
{
|
|
MyMessageBox.ShowMessagePop("请扫描装配单");
|
|
this.txtBillNo.Focus();
|
|
this.txtBillNo.SelectAll();
|
|
return;
|
|
}
|
|
|
|
if (this.txtOrderNo.Text.Trim() == "")
|
|
{
|
|
MyMessageBox.ShowMessagePop("请扫描序列标签");
|
|
this.txtOrderNo.Focus();
|
|
this.txtOrderNo.SelectAll();
|
|
return;
|
|
}
|
|
|
|
if (this.txtBarCode.Text.Trim() == "")
|
|
{
|
|
MyMessageBox.ShowMessagePop("请扫描油漆件标签");
|
|
this.txtBarCode.Focus();
|
|
this.txtBarCode.SelectAll();
|
|
return;
|
|
}
|
|
|
|
string BillNo = this.txtBillNo.Text.Trim().ToUpper();
|
|
string OrderNumber = this.txtOrderNo.Text.Trim().ToUpper();
|
|
string BarCode = this.txtBarCode.Text.Trim().ToUpper();
|
|
|
|
if (BillNo != OrderNumber)
|
|
{
|
|
MyMessageBox.ShowMessagePop("转配单条码和序列标签条码不一样");
|
|
this.txtBillNo.Focus();
|
|
this.txtBillNo.SelectAll();
|
|
return;
|
|
}
|
|
|
|
if (BarCode.Length < 10)
|
|
{
|
|
MyMessageBox.ShowMessagePop("油漆件条码不正确");
|
|
this.txtBarCode.Focus();
|
|
this.txtBarCode.SelectAll();
|
|
return;
|
|
}
|
|
|
|
OrderNumber = OrderNumber + "1";
|
|
|
|
BarCode = BarCode.Substring(0, BarCode.Length - 10);
|
|
|
|
BarCode = F_FIFO.GetModel(BarCode);
|
|
if (BarCode.Length > 7)
|
|
{
|
|
BarCode = BarCode.Substring(0, 7);
|
|
}
|
|
|
|
//BarCode = BarCode.Substring(0, 7);
|
|
ScanOrderNumber(OrderNumber, BarCode);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyLogger.Write(ex.Message);
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
this.txtBarCode.Focus();
|
|
this.txtBarCode.SelectAll();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void btnUpdate_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
UpdateGrid();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
|
|
}
|
|
|
|
private void btnPrint_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.dgGrid.SelectedRows.Count == 0) throw new Exception("请选择一行要打印的数据");
|
|
|
|
string OrderNumber = this.dgGrid.SelectedRows[0].Cells["OrderNumber"].Value.ToString();
|
|
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000();
|
|
|
|
DataSet dsNow = t_JIS_Seq5000.GetData("top 1 *", "[OrderNumber]='" + OrderNumber + "' and [PackageGroupName]='" + PackageGroupName + "' ", "[ID] desc");
|
|
if (dsNow.Tables[0].Rows.Count == 0) throw new Exception(OrderNumber + " 不存在");
|
|
if (Convert.ToBoolean(dsNow.Tables[0].Rows[0]["IsPrintAssemble"]) == true) throw new Exception(OrderNumber + " 已经打印过了");
|
|
|
|
t_JIS_Seq5000.Edit("[IsPrintAssemble]=1", "[ID]=" + dsNow.Tables[0].Rows[0]["ID"].ToString());
|
|
|
|
dsNow.Tables[0].TableName = "BillHead";
|
|
F_JIS5000_Print.PrintAssembly(dsNow);
|
|
F_JIS5000_Print.PrintAssemblyLabel(dsNow);
|
|
|
|
UpdateGrid();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyLogger.Write(ex.Message);
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void AddPrintAssemble(string OrderNumber, Gm_WMS.DataAccess.DataService.LocalDBService db, int IsReOrder)
|
|
{
|
|
Entity_t_JIS_PrintAssemble t_JIS_PrintAssemble = new Entity_t_JIS_PrintAssemble(db);
|
|
DataRow drNew = null;
|
|
|
|
drNew = t_JIS_PrintAssemble.Table.NewRow();
|
|
drNew["OrderNumber"] = OrderNumber;
|
|
drNew["PackageGroupName"] = PackageGroupName;
|
|
drNew["SuperMarket"] = "SMA";
|
|
drNew["IsReOrder"] = IsReOrder;
|
|
t_JIS_PrintAssemble.Add(drNew);
|
|
|
|
drNew = t_JIS_PrintAssemble.Table.NewRow();
|
|
drNew["OrderNumber"] = OrderNumber;
|
|
drNew["PackageGroupName"] = PackageGroupName;
|
|
drNew["SuperMarket"] = "SMB";
|
|
drNew["IsReOrder"] = IsReOrder;
|
|
t_JIS_PrintAssemble.Add(drNew);
|
|
|
|
}
|
|
|
|
private void ScanOrderNumber(string OrderNumber, string BarCode)
|
|
{
|
|
try
|
|
{
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000();
|
|
DataSet dsNow = t_JIS_Seq5000.GetData("top 1 *", "[OrderNumber]='" + OrderNumber + "' and [PackageGroupName]='" + PackageGroupName + "' ", "[ID] desc");
|
|
if (dsNow.Tables[0].Rows.Count == 0) throw new Exception(OrderNumber + " 不存在");
|
|
if (Convert.ToBoolean(dsNow.Tables[0].Rows[0]["IsTransport"]) == true) throw new Exception(OrderNumber + " 已经扫描过了");
|
|
if (Convert.ToBoolean(dsNow.Tables[0].Rows[0]["IsPrintAssemble"]) == false) throw new Exception(OrderNumber + " 未打印,不能扫描");
|
|
|
|
string PartNumber = dsNow.Tables[0].Rows[0]["PartNumber"].ToString();
|
|
if (BarCode != PartNumber.Split('-')[0].Trim())
|
|
{
|
|
MyMessageBox.ShowMessagePop("油漆件条码扫描不正确");
|
|
this.txtBarCode.Focus();
|
|
this.txtBarCode.SelectAll();
|
|
return;
|
|
}
|
|
|
|
UpdateGrid();
|
|
|
|
t_JIS_Seq5000.Edit("[IsTransport]=1", "[ID]=" + dsNow.Tables[0].Rows[0]["ID"].ToString());
|
|
|
|
AddPrintAssemble(dsNow.Tables[0].Rows[0]["OrderNumber"].ToString(), dbnew, 0);
|
|
|
|
try
|
|
{
|
|
string filename = WriteMES(dsNow, false);
|
|
FtpMES(filename);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
|
|
|
|
for (int i = 0; i < this.dgGrid.Rows.Count; i++)
|
|
{
|
|
if (OrderNumber == this.dgGrid.Rows[i].Cells["OrderNumber"].Value.ToString())
|
|
{
|
|
if (this.dgGrid.Rows.Count >= (i + 2)) //找到下一个订单
|
|
{
|
|
string OrderNumberNew = this.dgGrid.Rows[i + 1].Cells["OrderNumber"].Value.ToString();
|
|
|
|
DataSet dsNext = t_JIS_Seq5000.GetData("[OrderNumber]='" + OrderNumberNew + "' and [PackageGroupName]='" + PackageGroupName + "' ");
|
|
if (dsNext.Tables[0].Rows.Count > 0)
|
|
{
|
|
|
|
t_JIS_Seq5000.Edit("[IsPrintAssemble]=1", "[ID]=" + dsNext.Tables[0].Rows[0]["ID"].ToString());
|
|
dsNext.Tables[0].TableName = "BillHead";
|
|
F_JIS5000_Print.PrintAssembly(dsNext);
|
|
F_JIS5000_Print.PrintAssemblyLabel(dsNext);
|
|
}
|
|
|
|
}
|
|
else //未找到下一个订单
|
|
{
|
|
if (this.dgGrid.Rows.Count >= PackageQty) //已经满,生成装箱单
|
|
{
|
|
|
|
string BillNo = F_JIS5000_Print.GetPackingListNumber(dbnew, PackageGroupName);
|
|
string PagerNumber = F_JIS5000_Print.GetNumber(dbnew, PackageGroupName, 2);
|
|
|
|
string ids = "";
|
|
for (int j = 0; j < dsData.Tables[0].Rows.Count; j++)
|
|
{
|
|
ids += dsData.Tables[0].Rows[j]["ID"].ToString() + ",";
|
|
}
|
|
|
|
if (ids != "")
|
|
{
|
|
ids = ids.Substring(0, ids.Length - 1);
|
|
|
|
t_JIS_Seq5000.Edit("[IsPrintPackingList]=1, [PackingListNumber]='" + BillNo + "', [PagerNumber]='" + PagerNumber + "'", "[ID] in(" + ids + ")");
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
UpdateGrid();
|
|
|
|
|
|
this.txtBillNo.Text = "";
|
|
this.txtOrderNo.Text = "";
|
|
this.txtBarCode.Text = "";
|
|
|
|
this.txtBillNo.Focus();
|
|
this.txtBillNo.SelectAll();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
this.txtBillNo.Focus();
|
|
this.txtBillNo.SelectAll();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void UpdateGrid()
|
|
{
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000();
|
|
|
|
dsData = t_JIS_Seq5000.GetData("top " + PackageQty + " ID, SequenceNumber, CheckSequence, OrderNumber, partNumber, PartName, SwetTime, IsPrintAssemble, IsTransport, PartsFamily, supplyGroup", "[IsFix]=1 and (SwetTime is not null) and IsPrintPackingList=0 and PackageGroupName='" + PackageGroupName + "'", "[SequenceNumber] asc");
|
|
this.dgGrid.DataSource = dsData.Tables[0];
|
|
this.dgGrid.Columns["ID"].Visible = false;
|
|
this.dgGrid.Columns["CheckSequence"].Width = 80;
|
|
this.dgGrid.Columns["CheckSequence"].HeaderText = "序号";
|
|
this.dgGrid.Columns["SequenceNumber"].Visible = false;
|
|
this.dgGrid.Columns["OrderNumber"].HeaderText = "订单号";
|
|
this.dgGrid.Columns["OrderNumber"].Width = 80;
|
|
this.dgGrid.Columns["partNumber"].HeaderText = "零件号";
|
|
this.dgGrid.Columns["partNumber"].Width = 100;
|
|
this.dgGrid.Columns["PartName"].HeaderText = "描述";
|
|
this.dgGrid.Columns["PartName"].Width = 240;
|
|
this.dgGrid.Columns["SwetTime"].HeaderText = "时间";
|
|
this.dgGrid.Columns["SwetTime"].Width = 140;
|
|
this.dgGrid.Columns["IsPrintAssemble"].HeaderText = "打印"; this.dgGrid.Columns["IsPrintAssemble"].Width = 50;
|
|
this.dgGrid.Columns["IsTransport"].HeaderText = "扫描"; this.dgGrid.Columns["IsTransport"].Width = 50;
|
|
this.dgGrid.Columns["PartsFamily"].Visible = false;
|
|
this.dgGrid.Columns["supplyGroup"].Visible = false;
|
|
|
|
MyGridViewStyle.SetDataGridRowNumber(this.dgGrid);
|
|
|
|
for (int i = 0; i < this.dgGrid.Columns.Count; i++)
|
|
{
|
|
this.dgGrid.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
}
|
|
|
|
this.dgGrid.Sort(this.dgGrid.Columns["SequenceNumber"], ListSortDirection.Descending);
|
|
|
|
if (isLoad)
|
|
{
|
|
|
|
if (dsData.Tables[0].Rows.Count > 0) //如果第一行未打印,则自动打印第一行
|
|
{
|
|
if (Convert.ToBoolean(this.dgGrid.Rows[0].Cells["IsPrintAssemble"].Value) == false)
|
|
{
|
|
DataSet dsNext = t_JIS_Seq5000.GetData("[ID]=" + this.dgGrid.Rows[0].Cells["ID"].Value.ToString());
|
|
if (dsNext.Tables[0].Rows.Count > 0)
|
|
{
|
|
|
|
t_JIS_Seq5000.Edit("[IsPrintAssemble]=1", "[ID]=" + dsNext.Tables[0].Rows[0]["ID"].ToString());
|
|
dsNext.Tables[0].TableName = "BillHead";
|
|
F_JIS5000_Print.PrintAssembly(dsNext);
|
|
F_JIS5000_Print.PrintAssemblyLabel(dsNext);
|
|
|
|
UpdateGrid();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region ftp_mes
|
|
|
|
private static string WriteMES(DataSet dsData, bool isReOrder)
|
|
{
|
|
if (MyAppconfig.ReadValue("MES_AutoSend").Trim() != "是")
|
|
{
|
|
return "";
|
|
}
|
|
|
|
string ID = dsData.Tables[0].Rows[0]["ID"].ToString();
|
|
string OrderNumber = dsData.Tables[0].Rows[0]["OrderNumber"].ToString();
|
|
DateTime SwetTime = Convert.ToDateTime(dsData.Tables[0].Rows[0]["SwetTime"]);
|
|
string CheckSequence = dsData.Tables[0].Rows[0]["CheckSequence"].ToString();
|
|
string SequenceNumber = dsData.Tables[0].Rows[0]["SequenceNumber"].ToString();
|
|
|
|
EntityBase v_JIS_Tod = new Entity_v_JIS_Tod();
|
|
if (isReOrder) v_JIS_Tod = new Entity_v_JIS_Tod_ReOrder();
|
|
|
|
DataSet dsTod = v_JIS_Tod.GetData("", "[SeqID]=" + dsData.Tables[0].Rows[0]["ID"].ToString(), "JisMajor desc, seqnum asc");
|
|
|
|
|
|
|
|
StreamWriter sw = null;
|
|
string filename = "";
|
|
string name = "";
|
|
try
|
|
{
|
|
filename = MyIO.GetAppPath() + "\\MES_BAK\\";
|
|
if (!Directory.Exists(filename))
|
|
{
|
|
Directory.CreateDirectory(filename);
|
|
}
|
|
|
|
|
|
OrderNumber = OrderNumber.Substring(0, OrderNumber.Length - 1);
|
|
name = DateTime.Now.ToString("yyMMddHHmmss") + "-" + OrderNumber + ".csv";
|
|
filename += name;
|
|
|
|
string PrintTime = MyDateTime.Format(MyDateTimeType.DateTime);
|
|
|
|
sw = new StreamWriter(filename, false, Encoding.Default);
|
|
|
|
foreach (DataRow drData in dsTod.Tables[0].Rows)
|
|
{
|
|
string partNumber = drData["partNumber"].ToString().Trim();
|
|
|
|
|
|
string line = ID + ",";
|
|
line += OrderNumber + ",";
|
|
line += MyDateTime.Format(SwetTime, MyDateTimeType.Date) + ",";
|
|
line += MyDateTime.Format(SwetTime, MyDateTimeType.Time3) + ",";
|
|
line += "\"" + drData["PartsFamily"].ToString() + "\",";
|
|
line += "\"" + drData["SupplyGroup"].ToString() + "\",";
|
|
line += drData["Variant1"].ToString() + ",";
|
|
line += partNumber + ",";
|
|
line += drData["description"].ToString() + ",";
|
|
line += drData["ColorName"].ToString() + "(" + drData["ColorCode"].ToString() + ")" + ",";
|
|
line += drData["quantity"].ToString() + ",";
|
|
line += CheckSequence + ",";
|
|
line += (partNumber.Length > 2 ? partNumber.Substring(partNumber.Length - 2, 2) : "") + ",";
|
|
line += "AAB" + ",";
|
|
line += drData["Variant"].ToString() + ",";
|
|
line += PrintTime;
|
|
|
|
|
|
sw.WriteLine(line);
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyLogger.Write(ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
if (sw != null) sw.Close();
|
|
}
|
|
|
|
return name;
|
|
|
|
}
|
|
|
|
|
|
private static void FtpMES(string filename)
|
|
{
|
|
return ;
|
|
|
|
string MES_AutoSend = MyAppconfig.ReadValue("MES_AutoSend").Trim();
|
|
string MES_Path = MyAppconfig.ReadValue("MES_Path").Trim();
|
|
|
|
if (MES_AutoSend == "是")
|
|
{
|
|
string path = MyIO.GetAppPath() + "\\MES_BAK";
|
|
|
|
File.Copy(path + "\\" + filename.ToString(), MES_Path + "\\" + filename.ToString());
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 处理ReOrder订单
|
|
|
|
private void timer2_Tick(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
ReOrderUpdateGrid();
|
|
|
|
InsertUpdateGrid();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
|
|
}
|
|
|
|
private void ReOrderUpdateGrid()
|
|
{
|
|
Entity_t_JIS_Seq5000_ReOrder t_JIS_Seq5000_ReOrder = new Entity_t_JIS_Seq5000_ReOrder();
|
|
DataSet dsReOrder = t_JIS_Seq5000_ReOrder.GetData("ID, OrderNumber, partNumber, PartName, SwetTime", "IsPrintAssemble=0 and PackageGroupName='" + PackageGroupName + "'", "[SwetTime] asc");
|
|
this.dgReOrder.DataSource = dsReOrder.Tables[0];
|
|
this.dgReOrder.Columns["ID"].Visible = false;
|
|
this.dgReOrder.Columns["OrderNumber"].HeaderText = "订单号";
|
|
this.dgReOrder.Columns["partNumber"].HeaderText = "零件号";
|
|
this.dgReOrder.Columns["PartName"].HeaderText = "描述";
|
|
this.dgReOrder.Columns["PartName"].Width = 260;
|
|
this.dgReOrder.Columns["SwetTime"].HeaderText = "时间";
|
|
this.dgReOrder.Columns["SwetTime"].Width = 180;
|
|
|
|
MyGridViewStyle.SetDataGridRowNumber(this.dgReOrder);
|
|
|
|
for (int i = 0; i < this.dgReOrder.Columns.Count; i++)
|
|
{
|
|
this.dgReOrder.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
}
|
|
}
|
|
|
|
|
|
private void btnReOrder_Click(object sender, EventArgs e)
|
|
{
|
|
Gm_WMS.DataAccess.DataService.LocalDBService db = null;
|
|
try
|
|
{
|
|
if (this.dgReOrder.SelectedRows.Count == 0) throw new Exception("请选择一条ReOrder订单");
|
|
|
|
string OrderNumber = this.dgReOrder.SelectedRows[0].Cells["OrderNumber"].Value.ToString();
|
|
|
|
db = new Gm_WMS.DataAccess.DataService.LocalDBService();
|
|
db.BeginTrans();
|
|
|
|
Entity_t_JIS_Seq5000_ReOrder t_JIS_Seq5000_ReOrder = new Entity_t_JIS_Seq5000_ReOrder(db);
|
|
|
|
DataSet dsNow = t_JIS_Seq5000_ReOrder.GetData("top 1 *", "[OrderNumber]='" + OrderNumber + "' and [PackageGroupName]='" + PackageGroupName + "' and [IsPrintAssemble]=0 ", "[ID] asc");
|
|
if (dsNow.Tables[0].Rows.Count == 0) throw new Exception(OrderNumber + " 不存在");
|
|
//if (Convert.ToBoolean(dsNow.Tables[0].Rows[0]["IsPrintAssemble"]) == true) throw new Exception(OrderNumber + " 已经打印了");
|
|
|
|
t_JIS_Seq5000_ReOrder.Edit("[IsPrintAssemble]=1,[IsTransport]=1", "[ID]=" + dsNow.Tables[0].Rows[0]["ID"].ToString());
|
|
|
|
|
|
dsNow.Tables[0].TableName = "BillHead";
|
|
F_JIS5000_Print_ReOrder.PrintAssembly(dsNow.Copy());
|
|
F_JIS5000_Print_ReOrder.PrintAssemblyLabel(dsNow.Copy());
|
|
|
|
|
|
if (IsDeploy(dsNow))
|
|
{
|
|
AddPrintAssemble(dsNow.Tables[0].Rows[0]["OrderNumber"].ToString(), db, 1);
|
|
|
|
string filename = WriteMES(dsNow, true);
|
|
FtpMES(filename);
|
|
}
|
|
|
|
db.Commit();
|
|
|
|
ReOrderUpdateGrid();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (db != null) db.Rollback();
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
if (db != null) db.EndTrans();
|
|
}
|
|
|
|
}
|
|
|
|
//是否装配
|
|
private bool IsDeploy(DataSet dsNow)
|
|
{
|
|
bool ret = true;
|
|
|
|
Entity_t_Product t_Product = new Entity_t_Product();
|
|
DataTable dtProduct = t_Product.GetData("[Code]='" + dsNow.Tables[0].Rows[0]["partNumber"].ToString() + "'").Tables[0];
|
|
if (dtProduct.Rows.Count > 0)
|
|
{
|
|
if (dtProduct.Rows[0]["Deploy"].ToString().Trim().ToUpper() == "F35" ||
|
|
dtProduct.Rows[0]["Deploy"].ToString().Trim().ToUpper() == "F30")
|
|
{
|
|
ret = false;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
private void btnReOrderUpdate_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
ReOrderUpdateGrid();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 插单
|
|
private void btnInsertUpdate_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
InsertUpdateGrid();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btnInsertPrint_Click(object sender, EventArgs e)
|
|
{
|
|
Gm_WMS.DataAccess.DataService.LocalDBService db = null;
|
|
try
|
|
{
|
|
if (this.dgInsert.SelectedRows.Count == 0) throw new Exception("请选择一条插单订单");
|
|
|
|
string OrderNumber = this.dgInsert.SelectedRows[0].Cells["OrderNumber"].Value.ToString();
|
|
|
|
db = new Gm_WMS.DataAccess.DataService.LocalDBService();
|
|
db.BeginTrans();
|
|
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000(db);
|
|
|
|
DataSet dsNow = t_JIS_Seq5000.GetData("top 1 *", "[OrderNumber]='" + OrderNumber + "' and [PackageGroupName]='" + PackageGroupName + "' ", "[ID] desc");
|
|
if (dsNow.Tables[0].Rows.Count == 0) throw new Exception(OrderNumber + " 不存在");
|
|
if (Convert.ToBoolean(dsNow.Tables[0].Rows[0]["IsPrintAssemble"]) == true) throw new Exception(OrderNumber + " 已经打印了");
|
|
|
|
t_JIS_Seq5000.Edit("[IsPrintAssemble]=1,[IsTransport]=1", "[ID]=" + dsNow.Tables[0].Rows[0]["ID"].ToString());
|
|
|
|
|
|
AddPrintAssemble(dsNow.Tables[0].Rows[0]["OrderNumber"].ToString(), db, 0);
|
|
|
|
|
|
|
|
dsNow.Tables[0].TableName = "BillHead";
|
|
F_JIS5000_Print.PrintAssembly(dsNow);
|
|
F_JIS5000_Print.PrintAssemblyLabel(dsNow);
|
|
|
|
|
|
string filename = WriteMES(dsNow, false);
|
|
FtpMES(filename);
|
|
|
|
db.Commit();
|
|
|
|
InsertUpdateGrid();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (db != null) db.Rollback();
|
|
MyMessageBox.ShowMessagePop(ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
if (db != null) db.EndTrans();
|
|
}
|
|
}
|
|
|
|
private void InsertUpdateGrid()
|
|
{
|
|
Entity_t_JIS_Seq5000 t_JIS_Seq5000 = new Entity_t_JIS_Seq5000();
|
|
DataSet dsInsert = t_JIS_Seq5000.GetData("ID, OrderNumber, partNumber, PartName, SwetTime", "IsPrintAssemble=0 and [IsInsert]=1 and PackageGroupName='" + PackageGroupName + "'", "[SwetTime] asc");
|
|
this.dgInsert.DataSource = dsInsert.Tables[0];
|
|
this.dgInsert.Columns["ID"].Visible = false;
|
|
this.dgInsert.Columns["OrderNumber"].HeaderText = "订单号";
|
|
this.dgInsert.Columns["partNumber"].HeaderText = "零件号";
|
|
this.dgInsert.Columns["PartName"].HeaderText = "描述";
|
|
this.dgInsert.Columns["PartName"].Width = 260;
|
|
this.dgInsert.Columns["SwetTime"].HeaderText = "时间";
|
|
this.dgInsert.Columns["SwetTime"].Width = 180;
|
|
|
|
MyGridViewStyle.SetDataGridRowNumber(this.dgInsert);
|
|
|
|
for (int i = 0; i < this.dgInsert.Columns.Count; i++)
|
|
{
|
|
this.dgInsert.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
{
|
|
this.txtBillNo.Focus();
|
|
this.timer1.Enabled = false;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|