|
|
@@ -50,149 +50,146 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
if (sncode.Text != "")
|
|
|
{
|
|
|
- if (LogicHandler.CheckStepAttribute(Tag.ToString(),User.UserSourceCode,out errorMessage))
|
|
|
+ if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out errorMessage))
|
|
|
{
|
|
|
OperateResult.AppendText(">>序列号:" + sncode.Text + " , 发送请求\n", Color.Green);
|
|
|
//如果用户没有输入工单号自行去后台查询
|
|
|
- string macode;
|
|
|
- //如果用户填写了工单号
|
|
|
- if (ma_code.Text != "")
|
|
|
+ //通过工单序列号关系验证
|
|
|
+ //bsncode为空,就说明是输入转换之前的序列号
|
|
|
+ if (bsncode == "")
|
|
|
{
|
|
|
- macode = ma_code.Text;
|
|
|
- //通过工单序列号关系验证
|
|
|
- //bsncode为空,就说明是输入转换之前的序列号
|
|
|
- if (bsncode == "")
|
|
|
+ //定义传入方法的变量
|
|
|
+ string oMakeCode = "";
|
|
|
+ string oMsId = "";
|
|
|
+ //用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
|
|
|
+ if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsId, out errorMessage))
|
|
|
{
|
|
|
- //定义传入方法的变量
|
|
|
- string oMakeCode = "";
|
|
|
- string oMsId = "";
|
|
|
- //用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
|
|
|
- if (LogicHandler.CheckStepSNAndMacode(macode, User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsId, out errorMessage))
|
|
|
- {
|
|
|
- //判断用户是否锁定输入转换前序列号长度,
|
|
|
- if (!checkLengthOrPre(beforeTransSNLength_checkBox, beforeTransSNLength, "长度"))
|
|
|
- return;
|
|
|
- //判断用户是否锁定输入转换前序列号前缀,
|
|
|
- if (!checkLengthOrPre(beforeTransSNPre_checkBox, beforeTransSNPre, "前缀"))
|
|
|
- return;
|
|
|
- switch (ChangeResult.CheckState)
|
|
|
+ //如果用户没有选择工单号
|
|
|
+ if (ma_code.Text=="") {
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ma_code,ma_prodcode,pr_detail,ma_qty from make left join product on ma_prodcode=pr_code where ma_code='" + oMakeCode + "'", "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
- //勾选是修改已转换的序列,矫正修改错了的序列号
|
|
|
- case CheckState.Checked:
|
|
|
- if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "'"))
|
|
|
- {
|
|
|
- bsncode = sncode.Text;
|
|
|
- sncode.Text = "";
|
|
|
- OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>不存在该已转序列号\n" + 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;
|
|
|
+ BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
+ ms_makecode_lock.Checked = true;
|
|
|
}
|
|
|
}
|
|
|
- else {
|
|
|
- OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red);
|
|
|
- sncode.Text = "";
|
|
|
- }
|
|
|
- }
|
|
|
- //bsncode不为空,说明输入的是转换后的序列号
|
|
|
- else
|
|
|
- {
|
|
|
- //判断用户是否锁定输入转换后序列号长度,
|
|
|
- if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
|
|
|
+ //判断用户是否锁定输入转换前序列号长度,
|
|
|
+ if (!checkLengthOrPre(beforeTransSNLength_checkBox, beforeTransSNLength, "长度"))
|
|
|
return;
|
|
|
- //判断用户是否锁定输入转换后序列号前缀,
|
|
|
- if (!checkLengthOrPre(afterTransSNPre_checkBox, afterTransSNPre, "前缀"))
|
|
|
+ //判断用户是否锁定输入转换前序列号前缀,
|
|
|
+ if (!checkLengthOrPre(beforeTransSNPre_checkBox, beforeTransSNPre, "前缀"))
|
|
|
return;
|
|
|
- //如果两次输入的序列号相同进行提示,不相同则进行下一步
|
|
|
- if (bsncode != sncode.Text)
|
|
|
+ switch (ChangeResult.CheckState)
|
|
|
{
|
|
|
- //勾选了修改转换结果
|
|
|
- if (ChangeResult.Checked)
|
|
|
- {
|
|
|
- if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
+ //勾选是修改已转换的序列,矫正修改错了的序列号
|
|
|
+ case CheckState.Checked:
|
|
|
+ if (dh.CheckExist("MakeSerial", "ms_beforesn='" + sncode.Text + "'"))
|
|
|
{
|
|
|
- //查询ms_firstsn
|
|
|
- string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_beforesn='" + bsncode + "'").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 + "";
|
|
|
+ bsncode = sncode.Text;
|
|
|
+ sncode.Text = "";
|
|
|
+ OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green);
|
|
|
}
|
|
|
else
|
|
|
- OperateResult.AppendText(">>序列号" + sncode.Text + "已存在,请输入其他序列号\n", Color.Red);
|
|
|
- }
|
|
|
- //未勾选修改转换结果
|
|
|
- else
|
|
|
- {
|
|
|
- if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
{
|
|
|
- //查询ms_firstsn
|
|
|
- string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + bsncode + "'").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(">>转换成功\n", Color.Green);
|
|
|
- //写入日志
|
|
|
- LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
|
|
|
- OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Green);
|
|
|
- //置空
|
|
|
- bsncode = "";
|
|
|
- //更新数量
|
|
|
- changenum.Text = int.Parse(changenum.Text) + 1 + "";
|
|
|
+ OperateResult.AppendText(">>不存在该已转序列号\n" + 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);
|
|
|
- }
|
|
|
+ //不为空,进行过转换。不勾选修改结果,就不能再修改
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>序列号" + sncode.Text + "已进行了转换\n", Color.Red);
|
|
|
+ sncode.Text = "";
|
|
|
+ OperateResult.AppendText("<<请重新输入序列号\n", Color.Green);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
- else
|
|
|
- OperateResult.AppendText(">>相同序列号不能进行转换\n", Color.Red);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red);
|
|
|
+ sncode.Text = "";
|
|
|
}
|
|
|
}
|
|
|
+ //bsncode不为空,说明输入的是转换后的序列号
|
|
|
else
|
|
|
{
|
|
|
- macode = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + sncode.Text + "' or ms_beforesn='" + sncode.Text + "'").ToString();
|
|
|
- if (macode == "")
|
|
|
+ //判断用户是否锁定输入转换后序列号长度,
|
|
|
+ if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
|
|
|
+ return;
|
|
|
+ //判断用户是否锁定输入转换后序列号前缀,
|
|
|
+ if (!checkLengthOrPre(afterTransSNPre_checkBox, afterTransSNPre, "前缀"))
|
|
|
+ return;
|
|
|
+ //如果两次输入的序列号相同进行提示,不相同则进行下一步
|
|
|
+ if (bsncode != sncode.Text)
|
|
|
{
|
|
|
- OperateResult.AppendText(">>无该序列号对应工单!\n", Color.Red);
|
|
|
+ //勾选了修改转换结果
|
|
|
+ if (ChangeResult.Checked)
|
|
|
+ {
|
|
|
+ if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
+ {
|
|
|
+ //查询ms_firstsn
|
|
|
+ string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_beforesn='" + bsncode + "'").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(">>序列号" + sncode.Text + "已存在,请输入其他序列号\n", Color.Red);
|
|
|
+ }
|
|
|
+ //未勾选修改转换结果
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
|
|
|
+ {
|
|
|
+ //查询ms_firstsn
|
|
|
+ string firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + bsncode + "'").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(">>转换成功\n", 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(">>序列号" + sncode.Text + "已存在,请输入其他序列号\n", Color.Red);
|
|
|
+ }
|
|
|
}
|
|
|
+ else
|
|
|
+ OperateResult.AppendText(">>相同序列号不能进行转换\n", Color.Red);
|
|
|
}
|
|
|
}
|
|
|
- else {
|
|
|
+ else
|
|
|
+ {
|
|
|
OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red);
|
|
|
sncode.Text = "";
|
|
|
}
|