|
@@ -19,6 +19,8 @@ namespace UAS_MES.Make
|
|
|
|
|
|
|
|
string bsncode = "";//转换前序列号
|
|
string bsncode = "";//转换前序列号
|
|
|
|
|
|
|
|
|
|
+ string errorMessage = "";
|
|
|
|
|
+
|
|
|
public Make_SeqTransform()
|
|
public Make_SeqTransform()
|
|
|
{
|
|
{
|
|
|
InitializeComponent();
|
|
InitializeComponent();
|
|
@@ -58,155 +60,149 @@ namespace UAS_MES.Make
|
|
|
//定义传入方法的变量
|
|
//定义传入方法的变量
|
|
|
string oMakeCode = "";
|
|
string oMakeCode = "";
|
|
|
string oMsId = "";
|
|
string oMsId = "";
|
|
|
- string errorMessage = "";
|
|
|
|
|
//用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
|
|
//用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
|
|
|
- if (!LogicHandler.CheckStepSNAndMacode(macode,User.UserSourceCode,sncode.Text,User.UserCode,out oMakeCode,out oMsId,out errorMessage))
|
|
|
|
|
|
|
+ if (LogicHandler.CheckStepSNAndMacode(macode, User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsId, out errorMessage))
|
|
|
{
|
|
{
|
|
|
OperateResult.AppendText(">>序列号" + sncode.Text + "不属于工单" + ma_code.Text + ",请重新输入或者切换工单\n", Color.Red);
|
|
OperateResult.AppendText(">>序列号" + sncode.Text + "不属于工单" + ma_code.Text + ",请重新输入或者切换工单\n", Color.Red);
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- macode = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + sncode.Text + "' or ms_beforesn='" + sncode.Text + "'").ToString();
|
|
|
|
|
- }
|
|
|
|
|
- string ErrorMessage = "";
|
|
|
|
|
- bool ifFirst;
|
|
|
|
|
- //bsncode为空,就说明是输入转换之前的序列号
|
|
|
|
|
- if (bsncode == "")
|
|
|
|
|
- {
|
|
|
|
|
- //判断用户是否锁定输入转换前序列号长度,
|
|
|
|
|
- if (!checkLengthOrPre(beforeTransSNLength_checkBox, beforeTransSNLength, "长度"))
|
|
|
|
|
- {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- //判断用户是否锁定输入转换前序列号前缀,
|
|
|
|
|
- if (!checkLengthOrPre(beforeTransSNPre_checkBox, beforeTransSNPre, "前缀"))
|
|
|
|
|
- {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- //核对工序
|
|
|
|
|
- if (LogicHandler.CheckCurrentStepAndIfFirst(sncode.Text, macode, User.UserSourceCode, Tag.ToString(), out ifFirst, out ErrorMessage))
|
|
|
|
|
- {
|
|
|
|
|
- switch (ChangeResult.CheckState)
|
|
|
|
|
- {
|
|
|
|
|
- //勾选是修改已转换的序列,矫正修改错了的序列号
|
|
|
|
|
- case CheckState.Checked:
|
|
|
|
|
- if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "'"))
|
|
|
|
|
- {
|
|
|
|
|
- bsncode = sncode.Text;
|
|
|
|
|
- sncode.Text = "";
|
|
|
|
|
- OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- OperateResult.AppendText(">>不存在该已转序列号" + sncode.Text + "\n");
|
|
|
|
|
- sncode.Text = "";
|
|
|
|
|
- OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case CheckState.Unchecked:
|
|
|
|
|
- string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + sncode.Text + "'").ToString().Trim();
|
|
|
|
|
- //为空,就说明,没有进行过序列号的转换
|
|
|
|
|
- if (beforesn == "" || beforesn == null)
|
|
|
|
|
- {
|
|
|
|
|
- //记录转换前的序列号
|
|
|
|
|
- bsncode = sncode.Text;
|
|
|
|
|
- sncode.Text = "";
|
|
|
|
|
- OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- //不为空,进行过转换。不勾选修改结果,就不能再修改
|
|
|
|
|
- {
|
|
|
|
|
- OperateResult.AppendText(">>序列号" + sncode.Text + "已进行了转换\n", Color.Red);
|
|
|
|
|
- sncode.Text = "";
|
|
|
|
|
- OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- default:
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- //bsncode不为空,说明输入的是转换后的序列号
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- //判断用户是否锁定输入转换后序列号长度,
|
|
|
|
|
- if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
|
|
|
|
|
- {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- //判断用户是否锁定输入转换后序列号前缀,
|
|
|
|
|
- if (!checkLengthOrPre(afterTransSNPre_checkBox, afterTransSNPre, "前缀"))
|
|
|
|
|
- {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- //如果两次输入的序列号相同进行提示,不相同则进行下一步
|
|
|
|
|
- if (bsncode != sncode.Text)
|
|
|
|
|
- {
|
|
|
|
|
- //勾选了修改转换结果
|
|
|
|
|
- if (ChangeResult.Checked)
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ //通过工单序列号关系验证
|
|
|
|
|
|
|
|
- if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
|
|
|
|
+ string ErrorMessage = "";
|
|
|
|
|
+ bool ifFirst;
|
|
|
|
|
+ //bsncode为空,就说明是输入转换之前的序列号
|
|
|
|
|
+ if (bsncode == "")
|
|
|
|
|
+ {
|
|
|
|
|
+ //判断用户是否锁定输入转换前序列号长度,
|
|
|
|
|
+ if (!checkLengthOrPre(beforeTransSNLength_checkBox, beforeTransSNLength, "长度"))
|
|
|
{
|
|
{
|
|
|
- //查询ms_firstsn
|
|
|
|
|
- string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
|
|
|
|
|
- //dh.UpdateByCondition("makeserial", "ms_sncode='" + sncode.Text + "'", "ms_beforesn='" + bsncode + "'");
|
|
|
|
|
- dh.ExecuteSQLTran("update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "'",
|
|
|
|
|
- "insert into makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')");
|
|
|
|
|
- OperateResult.AppendText(">>转换成功");
|
|
|
|
|
- //记录本次修改,存入makesnrelation表中
|
|
|
|
|
- //dh.ExecuteSql("insert into makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')", "insert");
|
|
|
|
|
- //写入日志
|
|
|
|
|
- LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
|
|
|
|
|
- OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
|
|
|
|
|
- //置空
|
|
|
|
|
- bsncode = "";
|
|
|
|
|
- //更新数量
|
|
|
|
|
- changenum.Text = int.Parse(changenum.Text) + 1 + "";
|
|
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
- else
|
|
|
|
|
|
|
+ //判断用户是否锁定输入转换前序列号前缀,
|
|
|
|
|
+ if (!checkLengthOrPre(beforeTransSNPre_checkBox, beforeTransSNPre, "前缀"))
|
|
|
|
|
+ {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ switch (ChangeResult.CheckState)
|
|
|
{
|
|
{
|
|
|
- OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
|
|
|
|
|
|
|
+ //勾选是修改已转换的序列,矫正修改错了的序列号
|
|
|
|
|
+ case CheckState.Checked:
|
|
|
|
|
+ if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "'"))
|
|
|
|
|
+ {
|
|
|
|
|
+ bsncode = sncode.Text;
|
|
|
|
|
+ sncode.Text = "";
|
|
|
|
|
+ OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ OperateResult.AppendText(">>不存在该已转序列号" + sncode.Text + "\n");
|
|
|
|
|
+ sncode.Text = "";
|
|
|
|
|
+ OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case CheckState.Unchecked:
|
|
|
|
|
+ string beforesn = dh.getFieldDataByCondition("makeserial", "ms_beforesn", "ms_sncode='" + sncode.Text + "'").ToString().Trim();
|
|
|
|
|
+ //为空,就说明,没有进行过序列号的转换
|
|
|
|
|
+ if (beforesn == "" || beforesn == null)
|
|
|
|
|
+ {
|
|
|
|
|
+ //记录转换前的序列号
|
|
|
|
|
+ bsncode = sncode.Text;
|
|
|
|
|
+ sncode.Text = "";
|
|
|
|
|
+ OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ //不为空,进行过转换。不勾选修改结果,就不能再修改
|
|
|
|
|
+ {
|
|
|
|
|
+ OperateResult.AppendText(">>序列号" + sncode.Text + "已进行了转换\n", Color.Red);
|
|
|
|
|
+ sncode.Text = "";
|
|
|
|
|
+ OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- //未勾选修改转换结果
|
|
|
|
|
|
|
+ //bsncode不为空,说明输入的是转换后的序列号
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
|
|
|
|
+ //判断用户是否锁定输入转换后序列号长度,
|
|
|
|
|
+ if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
|
|
|
{
|
|
{
|
|
|
- //查询ms_firstsn
|
|
|
|
|
- string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
|
|
|
|
|
- //dh.UpdateByCondition("makeserial", "ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "'", "ms_sncode='" + bsncode + "'");
|
|
|
|
|
- dh.ExecuteSQLTran("update makeserial set ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "' where ms_sncode='" + bsncode + "'",
|
|
|
|
|
- "insert into makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')");
|
|
|
|
|
- OperateResult.AppendText(">>转换成功", Color.Green);
|
|
|
|
|
- //记录本次修改,存入makesnrelation表中
|
|
|
|
|
- //dh.ExecuteSql("insert into makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')", "insert");
|
|
|
|
|
- //写入日志
|
|
|
|
|
- LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
|
|
|
|
|
- OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
|
|
|
|
|
- //置空
|
|
|
|
|
- bsncode = "";
|
|
|
|
|
- //更新数量
|
|
|
|
|
- changenum.Text = int.Parse(changenum.Text) + 1 + "";
|
|
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ //判断用户是否锁定输入转换后序列号前缀,
|
|
|
|
|
+ if (!checkLengthOrPre(afterTransSNPre_checkBox, afterTransSNPre, "前缀"))
|
|
|
|
|
+ {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ //如果两次输入的序列号相同进行提示,不相同则进行下一步
|
|
|
|
|
+ if (bsncode != sncode.Text)
|
|
|
|
|
+ {
|
|
|
|
|
+ //勾选了修改转换结果
|
|
|
|
|
+ if (ChangeResult.Checked)
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
|
|
+ {
|
|
|
|
|
+ //查询ms_firstsn
|
|
|
|
|
+ string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
|
|
|
|
|
+ //记录本次修改,存入makesnrelation表中
|
|
|
|
|
+ string updateSql = "update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "'";
|
|
|
|
|
+ string insertSql = "insert into makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')";
|
|
|
|
|
+ dh.ExecuteSQLTran(updateSql, insertSql);
|
|
|
|
|
+ OperateResult.AppendText(">>转换成功");
|
|
|
|
|
+ //写入日志
|
|
|
|
|
+ LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
|
|
|
|
|
+ OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
|
|
|
|
|
+ //置空
|
|
|
|
|
+ bsncode = "";
|
|
|
|
|
+ //更新数量
|
|
|
|
|
+ changenum.Text = int.Parse(changenum.Text) + 1 + "";
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //未勾选修改转换结果
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
|
|
+ {
|
|
|
|
|
+ //查询ms_firstsn
|
|
|
|
|
+ string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + sncode.Text + "'").ToString();
|
|
|
|
|
+ //记录本次修改,存入makesnrelation表中
|
|
|
|
|
+ string updateSql = "update makeserial set ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "' where ms_sncode='" + bsncode + "'";
|
|
|
|
|
+ string insertSql = "insert into makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')";
|
|
|
|
|
+ dh.ExecuteSQLTran(updateSql, insertSql);
|
|
|
|
|
+ OperateResult.AppendText(">>转换成功", Color.Green);
|
|
|
|
|
+ //写入日志
|
|
|
|
|
+ LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
|
|
|
|
|
+ OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
|
|
|
|
|
+ //置空
|
|
|
|
|
+ bsncode = "";
|
|
|
|
|
+ //更新数量
|
|
|
|
|
+ changenum.Text = int.Parse(changenum.Text) + 1 + "";
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- OperateResult.AppendText(">>该序列号已存在,请输入其他序列号\n", Color.Red);
|
|
|
|
|
|
|
+ OperateResult.AppendText(">>相同序列号不能进行转换\n", Color.Red);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- OperateResult.AppendText(">>相同序列号不能进行转换\n", Color.Red);
|
|
|
|
|
|
|
+ OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ macode = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + sncode.Text + "' or ms_beforesn='" + sncode.Text + "'").ToString();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|