|
|
@@ -217,33 +217,35 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, code.Text, User.UserCode, out oMakeCode, out oMsid, out ErrorMessage))
|
|
|
{
|
|
|
- dt = (DataTable)dh.ExecuteSql("select cm_makecode,cm_craftcode,nvl(cm_status,0)cm_status,cm_id,cm_stepcode,ms_makecode,cm_mccode,cm_materialtype from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + code.Text + "' and cm_makecode='" + ma_code.Text + "'", "select");
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ms_firstsn,cm_makecode,cm_craftcode,nvl(cm_status,0)cm_status,cm_id,cm_stepcode,ms_makecode,cm_mccode,cm_materialtype from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + code.Text + "' and cm_makecode='" + ma_code.Text + "'", "select");
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
string ms_macode = dt.Rows[0]["ms_makecode"].ToString();
|
|
|
+ string ms_firstsn = dt.Rows[0]["ms_firstsn"].ToString();
|
|
|
string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
|
|
|
string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
|
|
|
string cm_materialtype = dt.Rows[0]["cm_materialtype"].ToString();
|
|
|
string cm_status = dt.Rows[0]["cm_status"].ToString();
|
|
|
string cm_makecode = dt.Rows[0]["cm_makecode"].ToString();
|
|
|
string cm_craftcode = dt.Rows[0]["cm_craftcode"].ToString();
|
|
|
- if (cm_materialtype == "1" && cm_status == "0")
|
|
|
- {
|
|
|
- dh.ExecuteSql("delete from craftmaterial where cm_sncode='" + code.Text + "' and cm_makecode='" + ma_code.Text + "' and cm_status=0", "delete");
|
|
|
- LogicHandler.InsertMakeProcess(ms_macode, code.Text, User.UserSourceCode, "上料采集操作", "下料成功", User.UserCode);
|
|
|
- int count = dh.getRowCount("craftMaterial", "cm_mccode='" + cm_mccode + "' and cm_stepcode='" + cm_stepcode + "' and cm_sncode='" + code.Text + "'");
|
|
|
- if (count == 0)
|
|
|
- dh.UpdateByCondition("makecraftdetail ", "mcd_inqty=mcd_inqty-1,mcd_outqty=mcd_outqty-1,mcd_okqty = mcd_okqty - 1", "mcd_mccode='" + cm_mccode + "' and mcd_stepcode='" + cm_stepcode + "'");
|
|
|
- //清除已被使用的序列号
|
|
|
- sql.Clear();
|
|
|
- sql.Append("update makeserial set ms_nextmacode='' where ms_sncode in(select cm_barcode from craftmaterial where ");
|
|
|
- sql.Append("cm_makecode='" + cm_makecode + "' and cm_stepcode='" + cm_stepcode + "' and cm_craftcode='" + cm_craftcode + "' ");
|
|
|
- sql.Append("and cm_materialtype=1 and nvl(cm_status,0) =0) and ms_nextmacode='" + ma_code.Text + "'");
|
|
|
- dh.ExecuteSql(sql.GetString(), "update");
|
|
|
- LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "上料采集", "下料成功", code.Text, "");
|
|
|
- OperateResult.AppendText(">>序列号" + code.Text + "下料成功\n", Color.Green, code);
|
|
|
- }
|
|
|
- else OperateResult.AppendText(">>序列号" + code.Text + "已被扣料,不允许下料\n", Color.Green, code);
|
|
|
+ //进行下料
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("delete from craftmaterial where (cm_sncode in (select sn from makesnrelation where firstsn");
|
|
|
+ sql.Append("='"+ ms_firstsn + "') or cm_sncode = '"+ ms_firstsn + "') and cm_makecode = '"+ma_code.Text+"' ");
|
|
|
+ sql.Append("and cm_status = 0 and cm_stepcode='"+User.CurrentStepCode+"'");
|
|
|
+ dh.ExecuteSql(sql.GetString(), "delete");
|
|
|
+ LogicHandler.InsertMakeProcess(ms_macode, code.Text, User.UserSourceCode, "上料采集操作", "下料成功", User.UserCode);
|
|
|
+ int count = dh.getRowCount("craftMaterial", "cm_mccode='" + cm_mccode + "' and cm_stepcode='" + cm_stepcode + "' and cm_sncode='" + code.Text + "'");
|
|
|
+ if (count == 0)
|
|
|
+ dh.UpdateByCondition("makecraftdetail ", "mcd_inqty=mcd_inqty-1,mcd_outqty=mcd_outqty-1,mcd_okqty = mcd_okqty - 1", "mcd_mccode='" + cm_mccode + "' and mcd_stepcode='" + cm_stepcode + "'");
|
|
|
+ //清除已被使用的序列号
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("update makeserial set ms_nextmacode='' where ms_sncode in(select cm_barcode from craftmaterial where ");
|
|
|
+ sql.Append("cm_makecode='" + cm_makecode + "' and cm_stepcode='" + cm_stepcode + "' and cm_craftcode='" + cm_craftcode + "' ");
|
|
|
+ sql.Append("and cm_materialtype=1 and nvl(cm_status,0) =0) and ms_nextmacode='" + ma_code.Text + "'");
|
|
|
+ dh.ExecuteSql(sql.GetString(), "update");
|
|
|
+ LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "上料采集", "下料成功", code.Text, "");
|
|
|
+ OperateResult.AppendText(">>序列号" + code.Text + "下料成功\n", Color.Green, code);
|
|
|
}
|
|
|
else OperateResult.AppendText(">>序列号" + code.Text + "未上料,无需下料\n", Color.Red, code);
|
|
|
}
|
|
|
@@ -260,7 +262,7 @@ namespace UAS_MES.Make
|
|
|
//将录入框的值给序列号
|
|
|
sn_code.Text = code.Text;
|
|
|
sql.Clear();
|
|
|
- sql.Append("select ma_prodcode,ma_craftcode,ma_bomversion,ma_qty,ma_code,pr_detail,ms_status,ms_id,ms_craftcode,ms_nextstepcode");
|
|
|
+ sql.Append("select ma_prodcode,ms_firstsn,ma_craftcode,ma_bomversion,ma_qty,ma_code,pr_detail,ms_status,ms_id,ms_craftcode,ms_nextstepcode");
|
|
|
sql.Append(",ms_prodcode,ms_makecode,ms_code,ms_stepname from makeserial left join make on ma_code=ms_makecode ");
|
|
|
sql.Append("left join product on ms_prodcode=pr_code where ms_sncode='" + code.Text + "' order by ms_id desc");
|
|
|
dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
@@ -273,6 +275,7 @@ namespace UAS_MES.Make
|
|
|
make_prodcode = dt.Rows[0]["ms_prodcode"].ToString();
|
|
|
nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
|
|
|
ms_status = dt.Rows[0]["ms_status"].ToString();
|
|
|
+ string ms_firstsn = dt.Rows[0]["ms_firstsn"].ToString();
|
|
|
BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
string ifforsn = dh.getFieldDataByCondition("make left join stepbom on ma_prodcode=sb_prodcode left join stepproduct on sb_id=sp_sbid", "nvl(sp_ifforsn,0) sp_ifforsn", "ma_code='" + ma_code.Text + "' and sp_craftcode='" + ma_craftcode.Text + "' and sb_bomversion='" + ma_bomversion.Text + "' order by sp_detno").ToString();
|
|
|
if (ifforsn != "" && ifforsn != "0")
|
|
|
@@ -289,11 +292,12 @@ namespace UAS_MES.Make
|
|
|
//单独用一个DataTable存储一个
|
|
|
dt1 = new DataTable();
|
|
|
sql.Clear();
|
|
|
- sql.Append("select sp_id,sp_tracekind,sp_barcoderule,sp_prefix,sp_ifuseregex,sp_ifforsn,sp_length,sp_soncode,");
|
|
|
- sql.Append("sp_repcode,pr_id,sp_type,sp_prefix,sp_length,sp_regex from stepproduct left join product on pr_code=sp_soncode left join craftmaterial on cm_sncode='" + sn_code.Text + "' ");
|
|
|
- sql.Append("and cm_makecode='" + ma_code.Text + "' and cm_soncode=sp_soncode where (cm_id is null or cm_status=-1) and ");
|
|
|
- sql.Append("sp_bomversion='" + mabomversion + "' and sp_craftcode='" + ms_craftcode + "' and sp_stepcode='" + User.CurrentStepCode + "' ");
|
|
|
- sql.Append("And sp_mothercode ='" + make_prodcode + "' and((sp_type = '物料' and( sp_tracekind <> 2 or sp_tracekind is null))or sp_type <> '物料') order by SP_DETNO asc");
|
|
|
+ sql.Append("select sp_id,sp_tracekind,sp_barcoderule,sp_ifuseregex,sp_ifforsn,sp_length,sp_soncode,sp_repcode");
|
|
|
+ sql.Append(",pr_id,sp_type,sp_prefix,sp_regex from stepproduct left join product on pr_code=sp_soncode where ");
|
|
|
+ sql.Append("sp_bomversion='" + mabomversion + "' and sp_craftcode='" + ms_craftcode + "' and sp_stepcode='" + User.CurrentStepCode + "'");
|
|
|
+ sql.Append("And sp_mothercode ='" + make_prodcode + "' and((sp_type = '物料' and( sp_tracekind <> 2 or sp_tracekind is null))or sp_type <> '物料')");
|
|
|
+ sql.Append("and not exists(select 1 from craftmaterial where (cm_sncode='"+ ms_firstsn + "' or cm_sncode in (select sn from makesnrelation where firstsn='"+ms_firstsn+"')) and cm_makecode='" + ma_code.Text+"' and cm_soncode=");
|
|
|
+ sql.Append("sp_soncode and cm_status=0) order by SP_DETNO asc");
|
|
|
dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
sn_code.Text = code.Text;
|
|
|
code.Clear();
|