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;
using UAS_MES.DataOperate;
using UAS_MES.Entity;
using UAS_MES.PublicMethod;
namespace UAS_MES.FunctionCode.Make
{
public partial class Make_SeqProgramTransform : Form
{
AutoSizeFormClass asc = new AutoSizeFormClass();
DataHelper dh;
//原序列号
string TSN;
//转换后序列号
string SN;
//错误信息
string errorMessage;
//存放productsnrelation表中的数据
DataTable dt;
public Make_SeqProgramTransform()
{
InitializeComponent();
}
private void Make_SeqProgramTransform_Load(object sender, EventArgs e)
{
asc.controllInitializeSize(this);
dh = new DataHelper();
code.Focus();
//提示用户“>>请输入TSN号”
OperateResult.AppendText(">>请输入TSN号\n", Color.Green);
}
private void 序列烧录转换_SizeChanged(object sender, EventArgs e)
{
asc.controlAutoSize(this);
}
private void code_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode==Keys.Enter)
{
if (code.Text != "")
{
OperateResult.AppendText(">>序列号:" + code.Text + " , 发送请求\n", Color.Green);
//判断用户是否锁定输入TSN长度,
if (!checkLengthOrPre(TSNLength_checkBox, TSNLength, "长度")) {
return;
}
//判断用户是否锁定输入TSN前缀,
if (!checkLengthOrPre(TSNPre_checkBox, TSNPre, "前缀")) {
return;
}
string oMakecode="";
string oMsid="";
//核对工序
if (LogicHandler.CheckStepSNAndMacode(ms_macode.Text, User.UserSourceCode, code.Text, User.UserCode, out oMakecode, out oMsid, out errorMessage))
{
//按照out出的工单号查出工单相关信息,并赋值到相关空间
}
else {
OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red);
}
}
else {
OperateResult.AppendText(">>输入不能为空\n", Color.Red);
}
}
}
///
/// 检验长度或者前缀是否合法
///
///
///
///
private bool checkLengthOrPre(CheckBox checkbox, TextBox textbox, string type)
{
if (checkbox.Checked == true)
{
if (type == "长度")
{
//则判断输入转换前的序列号长度是否合法,不合法则提示
if (code.Text.Trim().Length != int.Parse(textbox.Text))
{
//序列号校验错误,长度错误
OperateResult.AppendText(">>TSN号" + code.Text + "校验错误,长度错误\n", Color.Red);
code.Text = "";
OperateResult.AppendText("<<请重新输入TSN\n", Color.Green);
return false;
}
}
else if (type == "前缀")
{
//则判断输入转换前的序列号前缀是否合法,不合法则提示
if (!code.Text.StartsWith(textbox.Text.Trim()))
{
//序列号校验错误,前缀错误
OperateResult.AppendText(">>TSN号" + code.Text + "校验错误,前缀错误\n", Color.Red);
code.Text = "";
OperateResult.AppendText("<<请重新输入TSN\n", Color.Green);
return false;
}
}
return true;
}
return true;
}
}
}