Hcsy 8 роки тому
батько
коміт
1292823ae6

+ 74 - 67
UAS-MES/FunctionCode/Make/Make_ColorBoxLabelPrint.cs

@@ -72,7 +72,7 @@ namespace UAS_MES.Make
             ma_code.Condition = "ma_statuscode='STARTED'";
             ma_code.DbChange += Ma_code_DbChange;
 
-            OperateResult.AppendText(">>请输入TSN\n", Color.Black);  
+            OperateResult.AppendText(">>请输入TSN\n", Color.Black);
         }
 
         private void Ma_code_DbChange(object sender, EventArgs e)
@@ -117,11 +117,11 @@ namespace UAS_MES.Make
                         OperateResult.AppendText(">>请输入TSN\n", Color.Black);
                         return;
                     }
-                    OperateResult.AppendText(">>"+sncode.Text+ "\n", Color.Black);
+                    OperateResult.AppendText(">>" + sncode.Text + "\n", Color.Black);
                     sql.Clear();
                     //sql.Append("select max(ms_id) ms_id from makeserial where ms_sncode ='"+sncode.Text+"' or exists (select 1 from");
                     //sql.Append(" makesnrelation where beforesn= '"+ sncode.Text + "'and ms_makecode=makecode)");
-                    sql.Append("select max(ms_id) ms_id from makeserial where ms_sncode ='" + sncode.Text + "' or ms_beforesn = '"+sncode.Text+"'");
+                    sql.Append("select max(ms_id) ms_id from makeserial where ms_sncode ='" + sncode.Text + "' or ms_beforesn = '" + sncode.Text + "'");
                     dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                     if (dt.Rows[0][0].ToString() != "")
                     {
@@ -131,7 +131,8 @@ namespace UAS_MES.Make
                         OperateResult.AppendText(">>请输入SN\n", Color.Black);
                         return;
                     }
-                    else {
+                    else
+                    {
                         sncode.Text = "";
                         OperateResult.AppendText(">>TSN错误,不存在\n", Color.Red);
                         OperateResult.AppendText(">>请输入TSN\n", Color.Black);
@@ -144,9 +145,10 @@ namespace UAS_MES.Make
                     return;
                 }
                 OperateResult.AppendText(">>" + sncode.Text + "\n", Color.Black);
-                if (CheckTSN.Checked == true && ms_id != null) {
+                if (CheckTSN.Checked == true && ms_id != null)
+                {
                     sql.Clear();
-                    sql.Append("select * from makeserial where ms_id='"+ms_id+"'  and  ms_sncode= '"+sncode.Text+"' ");
+                    sql.Append("select * from makeserial where ms_id='" + ms_id + "'  and  ms_sncode= '" + sncode.Text + "' ");
                     dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                     if (dt.Rows.Count > 0)
                     {
@@ -169,70 +171,72 @@ namespace UAS_MES.Make
                     // 获取工单归属工单下一工序是否正确
                     if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsID, out ErrorMessage2))
                     {
-                            //获取工单的其他信息
-                            sql.Clear();
-                            sql.Append("select ma_code,nvl(mcd_okqty,0) mcd_okqty,ma_prodcode as pr_code ,pr_detail,");
-                            sql.Append("pr_spec,ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on ");
-                            sql.Append("mcd_maid=ma_id left join product on pr_code=ma_prodcode where ma_code='" + oMakeCode + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
-                            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                            if (dt.Rows.Count > 0)
+                        //获取工单的其他信息
+                        sql.Clear();
+                        sql.Append("select ma_code,nvl(mcd_okqty,0) mcd_okqty,ma_prodcode as pr_code ,pr_detail,");
+                        sql.Append("pr_spec,ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on ");
+                        sql.Append("mcd_maid=ma_id left join product on pr_code=ma_prodcode where ma_code='" + oMakeCode + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
+                        dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                        if (dt.Rows.Count > 0)
+                        {
+                            BaseUtil.SetFormValue(this.Controls, dt);
+                            //提示用户“<<工单号:取ma_makecode”
+                            OperateResult.AppendText("<<工单号:" + ma_code.Text + "\n", Color.Black);
+                            //提示用户“<< 序列号:XXXX”
+                            OperateResult.AppendText("<<序列号:" + sncode.Text + "\n", Color.Black);
+                            if (pr_change)
                             {
-                                BaseUtil.SetFormValue(this.Controls, dt);
-                                //提示用户“<<工单号:取ma_makecode”
-                                OperateResult.AppendText("<<工单号:" + ma_code.Text + "\n", Color.Black);
-                                //提示用户“<< 序列号:XXXX”
-                                OperateResult.AppendText("<<序列号:" + sncode.Text + "\n", Color.Black);
-                                if (pr_change)
+                                String dialog = MessageBox.Show("产品更改,确认标签模板选择正确", "提示", MessageBoxButtons.OKCancel).ToString();
+                                if (dialog != "OK")
                                 {
-                                    String dialog = MessageBox.Show("产品更改,确认标签模板选择正确", "提示", MessageBoxButtons.OKCancel).ToString();
-                                    if (dialog != "OK")
-                                    {
-                                        OperateResult.AppendText(">>产品编号改变,请重新选择标签模板\n", Color.Green);
-                                        return;
-                                    }
-                                    else
-                                    pr_change = false;
+                                    OperateResult.AppendText(">>产品编号改变,请重新选择标签模板\n", Color.Green);
+                                    return;
                                 }
+                                else
+                                    pr_change = false;
                             }
-                            else
-                            {
-                                sncode.Text = "";
-                                OperateResult.AppendText(">>无序列号" + sncode.Text + "对应工单信息\n", Color.Red);
-                            }
-                            string ErrorMessage = "";
-                            string result = "";
-                            if (int.Parse(mcd_remainqty.Text) <= 0)
-                            {
-                                macode = ma_code.Text;
-                                BaseUtil.CleanForm(this);
-                                ErrorMessage = "工单" + macode + "打印结束>>>请输入SN";
-                                OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Green);
-                                sncode.Focus();
-                                return;
-                            }
-                            else
+                        }
+                        else
+                        {
+                            OperateResult.AppendText(">>无序列号" + sncode.Text + "对应工单信息\n", Color.Red);
+                            sncode.Text = "";
+                            sncode.Focus();
+                            return;
+                        }
+                        string ErrorMessage = "";
+                        string result = "";
+                        if (int.Parse(mcd_remainqty.Text) <= 0)
+                        {
+                            macode = ma_code.Text;
+                            BaseUtil.CleanForm(this);
+                            ErrorMessage = "工单" + macode + "打印结束>>>请输入SN";
+                            OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Green);
+                            sncode.Focus();
+                            return;
+                        }
+                        else
+                        {
+                            //所选标签不为空
+                            if (PrintLabel.SelectedValue != null)
                             {
-                                //所选标签不为空
-                                if (PrintLabel.SelectedValue != null)
+                                //如果打印张数为空,返回
+                                if (PrintNum.Text == "" || int.Parse(PrintNum.Text) == 0)
                                 {
-                                    //如果打印张数为空,返回
-                                    if (PrintNum.Text == "" || int.Parse(PrintNum.Text) == 0)
-                                    {
-                                        OperateResult.AppendText(">>打印张数不可空或者为0\n", Color.Red);
-                                        //清空输入框的值,聚焦
-                                        sncode.Text = "";
-                                        sncode.Focus();
-                                        //提示用户“>>请输入SN”
-                                        OperateResult.AppendText(">>请输入SN\n", Color.Black);
-                                        return;
-                                    }
+                                    OperateResult.AppendText(">>打印张数不可空或者为0\n", Color.Red);
+                                    //清空输入框的值,聚焦
+                                    sncode.Text = "";
+                                    sncode.Focus();
+                                    //提示用户“>>请输入SN”
+                                    OperateResult.AppendText(">>请输入SN\n", Color.Black);
+                                    return;
+                                }
                                 //更新至下一步工序
                                 if (LogicHandler.SetStepResult(oMakeCode, User.UserSourceCode, sncode.Text, "彩盒打印", "彩盒打印成功", User.UserCode, out ErrorMessage2))
                                 {
                                     Print.CodeSoft(Tag.ToString(), lbl, PrintLabel.Text.Split(':')[1], PrintLabel.SelectedValue.ToString(), Printer.Text, sncode.Text, int.Parse(PrintNum.Text), indate[PrintLabel.SelectedIndex]);
                                     //提示用户打印成功
                                     OperateResult.AppendText(">>序列号:" + sncode.Text + "打印成功\n", Color.Green);
-                                    LogicHandler.DoCommandLog(Tag.ToString(),User.UserCode,ma_code.Text,User.UserLineCode,User.UserSourceCode,"彩盒打印","彩盒打印成功",sncode.Text,"");
+                                    LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "彩盒打印", "彩盒打印成功", sncode.Text, "");
                                     //刷新打印数量和剩余数量
                                     dt = (DataTable)dh.ExecuteSql("select ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on mcd_macode=ma_code where ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'", "select");
                                     BaseUtil.SetFormValue(Controls, dt);
@@ -255,15 +259,17 @@ namespace UAS_MES.Make
                                 return;
                             }
                             if (CheckTSN.Checked == true)
-                                {
-                                    OperateResult.AppendText(">>请输入TSN\n", Color.Black);
-                                    ms_id = null;
-                                }else
-                                OperateResult.AppendText(">>请输入SN\n", Color.Black);
+                            {
+                                OperateResult.AppendText(">>请输入TSN\n", Color.Black);
+                                ms_id = null;
                             }
-                      
+                            else
+                                OperateResult.AppendText(">>请输入SN\n", Color.Black);
+                        }
+
                     }
-                    else {
+                    else
+                    {
                         sncode.Text = "";
                         OperateResult.AppendText(ErrorMessage2 + "\n", Color.Red);
                         if (CheckTSN.Checked == true)
@@ -337,7 +343,7 @@ namespace UAS_MES.Make
                 }
                 else
                 {
-                    sncode.Text = "";            
+                    sncode.Text = "";
                 }
             }
         }
@@ -352,7 +358,8 @@ namespace UAS_MES.Make
                 sncode.Text = "";
                 sncode.Focus();
             }
-            else {
+            else
+            {
                 ms_id = null;
                 OperateResult.AppendText(">>切换至不检查TSN\n", Color.Green);
                 OperateResult.AppendText(">>请输入SN\n", Color.Black);

+ 21 - 1
UAS-MES/FunctionCode/Make/Make_Decompose.cs

@@ -22,6 +22,8 @@ namespace UAS_MES.Make
 
         DataTable dtbar;
 
+        DataTable dtst;
+
         LogStringBuilder sql = new LogStringBuilder();
 
         DataHelper dh;
@@ -239,12 +241,30 @@ namespace UAS_MES.Make
                                         continue;
                                     }
                                 }
-                                else {
+                                else
+                                {
                                     if (!dh.CheckExist("makesourcestock", "mss_makecode = '" + ms_makecode.Text + "' and (MSS_FPRODCODE = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "' or MSS_PRODCODE = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "') and mss_barcode = '" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString() + "'"))
                                     {
                                         OperateResult.AppendText(">>物料" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "岗位备料无条码" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString() + "\n", Color.Red);
                                         continue;
                                     }
+                                    else
+                                    {
+                                        sql.Clear();
+                                        sql.Append("select MSS_REMAIN,MSS_BASEQTY from makesourcestock where mss_makecode = '" + ms_makecode.Text + "' and (MSS_FPRODCODE = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "' or MSS_PRODCODE = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "') and mss_barcode = '" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString() + "'");
+                                        dtst = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                                        int MSS_REMAIN = int.Parse(dtst.Rows[0]["MSS_REMAIN"].ToString());
+                                        int MSS_BASEQTY = int.Parse(dtst.Rows[0]["MSS_BASEQTY"].ToString());
+                                        if (MSS_REMAIN < MSS_BASEQTY)
+                                        {
+                                            OperateResult.AppendText(">>物料" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "条码" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString() + "备料不足\n", Color.Red);
+                                            continue;
+                                        }
+                                        else
+                                        {
+                                            dh.UpdateByCondition("makesourcestock", "MSS_REMAIN = NVL(MSS_REMAIN, 0) - MSS_BASEQTY,MSS_USEQTY = NVL(MSS_USEQTY, 0) + MSS_BASEQTY,mss_madeqty=NVL(mss_madeqty,0)+ceil(MSS_USEQTY/MSS_BASEQTY)", " mss_makecode = '" + ms_makecode.Text + "' and (MSS_FPRODCODE = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "' or MSS_PRODCODE = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value.ToString() + "') and mss_barcode = '" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString() + "'");
+                                        }
+                                    }
                                 }
                             }
                             else