目前,电商管理综合平台,基本上都包括包裹称重环节,特别是一些食品类电商,系统的包裹称重功能模块的设计,能够保证包裹重量不出错,能顺利检测出错异常包裹,减少包裹错发。
包裹称重问题
一般情况下,包裹称重功能在食品类电商ERP里出现。因为客户购买的多个产品,规格不同,就只能通过电子秤称重来确定产品重量,避免捡货错误。如果包裹称重环节设计没有达到要求,必然会出现错发漏发情况,进一步影响售后服务。
包裹称重设计
- 所有产品必须进行称重,产品属性里应该包括净重量和总重量,净重量为规格重量,如果40g的巴西松子,净重量为0.04kg,而总重量必然是大于净重量的,总重量是商品加上外包装袋的重量。
- 对包裹纸箱进行称重,并登记记录每个规格的纸箱重量。纸箱也作为产品登记在系统的产品目录里。
- 包裹重量检测: 系统计算重量 = 纸箱重量+产品重量,实际称重重量减去系统计算重量应该控制在一个可控范围内,主要是因为一些散称的产品,一般都会比实际重量多几克。
包裹称重界面设计

包裹称重界面设计,数据项有称重人、物流单号、外箱条码、包裹重量、差重、标准重量、包含外箱总重量;称重界面打开后,将包裹放置电子秤,包裹重量自动显示,光标自动定位于物流单号文本框,扫描物流单号后,回车后,自动定位于外箱条码,输入实际外箱条码回车,系统自动计算差重、标准重量、包含外箱总重量。通过检查的包裹,将自动称重完成,并播放称重完成的声音提示。如果检查不通过,也同样会有声音提示。只要差重在我们设置的可控范围内,均能够顺利完成称重操作,如果差异较大,必然是捡货出现问题。
使用SerialPort实现读取COM口获取重量
开始称重主方法代码
private void beginWeight()
{
try
{
timer1.Enabled = false;
serialPort1.Close(); //关闭COM口
GetSetComb();//设置Com口
interfaceUpdataHandle = new HandleInterfaceUpdataDelegate(UpdateTextBox);//实例化委托对象
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived); //接收COM口数据
if (!serialPort1.IsOpen)
{
serialPort1.Open();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
timer1.Enabled = true;
}
设置COM口主要参数
private void GetSetComb()
{
try
{
serialPort1.PortName = GlobalSettings.Instance.DefaultCom;
serialPort1.BaudRate = GlobalSettings.Instance.DefaultBaudRate;
serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), "None");
serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), "1");
serialPort1.DataBits = 8;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
DataReceived 和在TextBox实时显示重量的方法
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int i = serialPort1.BytesToRead;
if (i > 0)
{
string strTemp = serialPort1.ReadLine();
this.Invoke(interfaceUpdataHandle, strTemp);
}
}
private void UpdateTextBox(string text)
{
string[] zl = null;
if (text.Length > 0)
{
zl=text.Split(',');
if(zl.Length>=2)
{
txtbgzl.Text = zl[2].Replace("+","").Replace("kg","").Trim();
}
}
}
写在最后
本期分享了电商综合管理平台系统里,常用的电子秤称重模块的设计,有需要的朋友可以参考借鉴。
网友评论