using DevComponents.DotNetBar;
|
using HH.WMS.Entitys.Basic;
|
using HH.WMS.Client.Common;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
using DevComponents.DotNetBar.Controls;
|
using HH.WMS.Entitys.Common;
|
using HH.WMS.Entitys;
|
|
namespace HH.WMS.Client.frm
|
{
|
public partial class frmTemplet : DevComponents.DotNetBar.Metro.MetroForm
|
{
|
public delegate void ScanTrayEventHander(object sender, ScanTrayEventArgs e);
|
public event ScanTrayEventHander ScanTrayEvent;
|
|
public delegate void ScanItemEventHander(object sender, ScanItemEventArgs e);
|
public event ScanItemEventHander ScanItemEvent;
|
|
public delegate void ScanItemUniqueCodeEventHander(object sender, ScanItemUniqueCodeEventArgs e);
|
public event ScanItemUniqueCodeEventHander ScanItemUniqueCodeEvent;
|
|
public delegate void ScanEnterEventHander(object sender, EventArgs e);
|
public event ScanEnterEventHander ScanEnterEvent;
|
|
public delegate void ScanLocationEventHander(object sender, ScanLocationEventArgs e);
|
public event ScanLocationEventHander ScanLocationEvent;
|
|
public frmTemplet()
|
{
|
InitializeComponent();
|
}
|
|
private void frmTemplet_Load(object sender, EventArgs e)
|
{
|
if (!DesignMode)
|
{
|
lblWork.Text = "分拣台:" + StaticUtil.WorkBench;
|
lblUser.Text = StaticUtil.User.userName;
|
|
lblItemStock.Text = "仓库:" + StaticUtil.StockCode;
|
}
|
}
|
private void btnItemHome_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
private void btnItemExit_Click(object sender, EventArgs e)
|
{
|
Application.Exit();
|
}
|
|
public void AddMenu(ButtonItem item)
|
{
|
this.bar.Items.Add(item,1);
|
}
|
|
public void ScanCode(string code)
|
{
|
OperateResult results ;
|
string str ="";
|
|
if (code == "Enter")
|
{
|
this.ScanEnterEvent(code, null);
|
return;
|
}
|
|
TN_AB_B_NUMRULEEntity rule = StaticUtil.Numrules.Find(x=>(code.StartsWith(x.CN_S_RULE_FIX) && x.CN_N_RULE_NUM==0) || (code.StartsWith(x.CN_S_RULE_FIX) && x.CN_N_RULE_NUM==code.Length));
|
if(rule!=null)
|
{
|
switch(rule.CN_S_RULE_NAME)
|
{
|
case "托盘码":
|
str = WebApiManager.HttpWMS_Get("/api/Tray/GetModel?trayCode=" + code);
|
results = JsonConvert.DeserializeObject<OperateResult>(str);
|
if(results.Success)
|
{
|
this.ScanTrayEvent(code, new ScanTrayEventArgs() { trayInfo = JsonConvert.DeserializeObject<TN_WM_B_TRAY_INFOEntity>(results.Data.ToString()) });
|
return;
|
}
|
else
|
{
|
MessageBoxEx.Show("未找到该容器!");
|
return;
|
}
|
case "物料编码":
|
str = WebApiManager.HttpWMS_Get("/api/Item/GetItemModel?itemCode=" + code);
|
results = JsonConvert.DeserializeObject<OperateResult>(str);
|
if(results.Success)
|
{
|
this.ScanItemEvent(code, new ScanItemEventArgs() { itemInfo = JsonConvert.DeserializeObject<AutoBomItemEntity>(results.Data.ToString()) });
|
return;
|
}
|
else
|
{
|
MessageBoxEx.Show("未找到该物料!");
|
return;
|
}
|
case "物料唯一码":
|
|
break;
|
case "货位码":
|
//str = WebApiManager.HttpWMS_Get("/api/Item/GetItemModel?itemCode=" + code);
|
//results = JsonConvert.DeserializeObject<OperateResult>(str);
|
//if(results.Success)
|
//{
|
// this.ScanLocationEvent(code, new ScanLocationEventArgs() { itemInfo = JsonConvert.DeserializeObject<AutoBomItemEntity>(results.Data.ToString()) });
|
// return;
|
//}
|
//else
|
//{
|
// MessageBoxEx.Show("未找到该货位!");
|
// return;
|
//}
|
break;
|
}
|
}
|
str = WebApiManager.HttpWMS_Get("/api/ScanCode/AnalysisCode?barCode=" + code);
|
results = JsonConvert.DeserializeObject<OperateResult>(str);
|
if (results.Success)
|
{
|
ScanCodeClass scc = JsonConvert.DeserializeObject<ScanCodeClass>(results.Data.ToString());
|
switch (scc.Type)
|
{
|
case "1":
|
ScanItemUniqueCodeEvent(code,new ScanItemUniqueCodeEventArgs(){ itemInfo =scc.PrintBarCode });
|
return;
|
case "2": return;
|
case "3": return;
|
case "4":
|
this.ScanItemEvent(code, new ScanItemEventArgs() { itemInfo = scc.Item.itemEntity });
|
return;
|
case "5": return;
|
}
|
}
|
|
MessageBoxEx.Show("无效码值!");
|
return;
|
}
|
|
public class ScanTrayEventArgs : EventArgs
|
{
|
public TN_WM_B_TRAY_INFOEntity trayInfo { get; set; }
|
}
|
public class ScanItemEventArgs : EventArgs
|
{
|
public AutoBomItemEntity itemInfo { get; set; }
|
}
|
public class ScanItemUniqueCodeEventArgs : EventArgs
|
{
|
public MONGO_PRINT_BARCODE itemInfo { get; set; }
|
}
|
public class ScanLocationEventArgs : EventArgs
|
{
|
public AutoBomLocationEntity Location { get; set; }
|
}
|
public void frmTemplet_KeyDown(object sender, KeyEventArgs e)
|
{
|
if (e.KeyCode == Keys.Enter)
|
{
|
TextBoxX txt=((frmUpShelves)sender).txtCode;
|
if (txt.Focused)
|
{
|
ScanCode(txt.Text.Trim());
|
txt.Clear();
|
}
|
//if(txtCode.) txtCode.Text.Trim()
|
}
|
}
|
}
|
}
|