APP下载

公司车轴条形码标签打印程序的设计和开发

2020-02-28陈意和谢红群曾爽爽

经济技术协作信息 2020年27期
关键词:车轴条码条形码

◎陈意和 谢红群 曾爽爽

(作者单位:中车长江铜陵车辆有限公司信息档案处)

一、引言

公司目前车轴生产过程已实现报工,目前采用手工输入轴号的方式获取车轴轴号,存在轴号输入错误等多种问题,无法保证车轴轴号的唯一性。目前,条形码在生成过程中已应用广泛,公司计划采用扫描报工的方式替代原先的手工输入轴号方式报工。从而提高公司车轴生产报工的准确性。条码打印程序是其源头环节,条码打印程序设计的好坏影响到公司条码报工的推进。

二、条码打印程序设计思路

条码打印程序与公司车轴质量管理系统相关联。它从车轴质量系统中获取可打印车轴信息,并将打印记录和结果返写到车轴质量管理系统中。

1.条码标签内容。条码标签大小为60mm*30mm,标签上面部位为车轴的基本信息包括热处理炉号、车轴类型、轴号信息。方便员工通过标签即可了解车轴的基本信息。标签的下部为CODE_128 条形码,条形码内容长度为13 位字母和数据组成。前面两位为校验码,由随机的字母数字组成,后面11 位为车轴在车轴质量管理系统中的ID 号,两者组合成唯一的条码。条码重新打印后,会生成一个新的校验码,并将前面打印的条码信息禁用。在报工系统中,会对条码有效性进行判断,禁用的条码无法进行报工,确保一个轴号只有一个有效条码,避免重复的问题。

2.条码打印的方式。根据调研需求确定了条码打印的两种方式:单张打印和批量打印。单张打印适用于在生产过程中条码损坏、丢失等异常情况进行补打。由专门人员在车轴质量管理系统中进行补打授权,授权后的轴号变为可打印状态。打印人员登录打印程序,进入单张打印功能,输入轴号即可打印出条码标签。批量打印用于首次条码打印,根据车轴质量管理系统中的车轴毛坯检查清单,打印人员登录打印程序,进入批量打印功能,可查看到可打印的毛坯检查清单,进入检查清单选择打印的轴号(可多选),即可将选中的轴号的条码标签批量生成,并提交给打印机批量打印出来。

三、程序涉及到的主要方法

本程序为一个winform 程序,采用C#编程语言和oracle 数据库。涉及到图片生成、随机码生成、标签打印等多个方法。

1.图片生成方法。本方法主要用于生成轴号信息图片,合成条码标签图片等。

public void wztp(string str2,string nr)//轴号信息图片生成方法

{

string content=nr;//文字内容

Bitmap image=new Bitmap(240,40);

Graphics g=Graphics.FromImage(image);

g.Clear(System.Drawing.Color.White);

Font font=new Font("Arial",10f,(FontStyle.Regular));System.Drawing.Drawing2D.LinearGradientBrush brush =new

System.Drawing.Drawing2D.LinearGradientBrush (new Rectangle(0,0,image.Width,image.Height),System.Drawing.

Color.Black, System.Drawing.Color.DarkRed, 1f, true);

g.SmoothingMode=System.Drawing.Drawing2D.Smoothing-Mode.AntiAlias;

g.InterpolationMode=

System.Drawing.Drawing2D.InterpolationMode.HighQuality-Bicubic;

g.DrawString(content,font,brush,2,2);image.Save(str2);

g.Dispose();

image.Dispose();

}

2.随机码生成方法。本方法主要用于生成条形码中前两位的随机码。

public string randomzf(int length)//生成指定长度的随机码

{

string chars=

"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";

Random random=new Random();

string strs=string.Empty;

for(int i=0;i

{

strs+=chars[random.Next(chars.Length)];

}

return strs;

}

3.条码打印方法。本方法主要用于判断条码生成前轴号的合规性、以及生成打印条码标签,并更改对应数据库信息。

private void button1_Click(object sender,EventArgs e)//点击打印按钮触发

{

……

if(dt.Rows.Count!=1)//是否允许打印

{

return;

}

……

PrintDirectClass print=new PrintDirectClass();

print.imageFile="/codes/"+zh+".bmp";

print.PrintPreview();

OracleHelper.ExcuteSql("update t_axis set tmdy='N'where id='"+zh+"'");//更改打印标识

}

四、总结

本程序于2019 年10 月开发完成并投入使用,在运用过程中,根据用户意见,对程序界面进行过优化。到目前为止已经打印9 万余根车轴条形码标签,程序使用过程中未出现差错,运行平稳,满足了公司车轴条形码标签打印的需求。

猜你喜欢

车轴条码条形码
车轴轴径微差测量仪测量不确定度评定
高品质生产
热线互动
创意条形码
浅析影响商品条码质量的主要因素
日杂商品条码质量现状研究
从条形码到二维码
从条形码到二维码
条形码大变身
高速列车空心车轴国产化的选材和试制