Przeglądaj źródła

修改上料采集界面,全部采集完才进行上料

章政 8 lat temu
rodzic
commit
630f079276

+ 36 - 27
UAS-MES/FunctionCode/Make/Make_FeedingCollection.cs

@@ -8,6 +8,7 @@ using UAS_MES.Entity;
 using UAS_MES.PublicMethod;
 using System.Drawing;
 using System.Text.RegularExpressions;
+using System.Collections.Generic;
 
 namespace UAS_MES.Make
 {
@@ -41,9 +42,10 @@ namespace UAS_MES.Make
         //保存ListB中的数据
         DataTable dt1;
 
+        AutoSizeFormClass asc = new AutoSizeFormClass();
 
+        List<string> CollectData = new List<string>();
 
-        AutoSizeFormClass asc = new AutoSizeFormClass();
         public Make_FeedingCollection()
         {
             InitializeComponent();
@@ -235,7 +237,7 @@ namespace UAS_MES.Make
                                 if (dt.Rows.Count > 0)
                                 {
                                     if (dh.getRowCount("craftmaterial", "cm_sncode='" + sn_code.Text + "' and cm_barcode='" + code.Text + "' and cm_soncode='" + sp_soncode + "'") > 0)
-                                        OperateResult.AppendText(">>条码" + code.Text + "已采集过\n", Color.Red);
+                                        OperateResult.AppendText(">>条码" + code.Text + "已经上料\n", Color.Red);
                                     else
                                         Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
                                 }
@@ -427,40 +429,47 @@ namespace UAS_MES.Make
         //此类中通用的保存逻辑
         private void Save_OtherCode(string sp_soncode, string ma_code, string ms_sncode, string sp_id)
         {
-            if (LogicHandler.SetMaterialUp(ms_sncode, make_code, code.Text, sp_soncode, User.UserSourceCode, User.UserName, sp_id, out ErrorMessage))
+            //采集成功提示
+            RemainIndex = RemainIndex + 1;
+            OperateResult.SelectionColor = Color.Green;
+            CollectData.Add(code.Text);
+            OperateResult.AppendText(">>采集成功\n");
+            code.Clear();
+            //如果+1后不小于B序列的长度,则已采集完成,不需要进行提示了
+            if (RemainIndex < RemainList.Length)
+                OperateResult.AppendText("<<请采集" + RemainList[RemainIndex] + "的" + dt1.Rows[RemainIndex]["sp_type"].ToString() + "数据\n", Color.Green);
+            else
             {
-                //采集成功提示
-                RemainIndex = RemainIndex + 1;
-                OperateResult.SelectionColor = Color.Green;
-                OperateResult.AppendText(">>采集成功\n");
-                code.Clear();
-                //如果+1后不小于B序列的长度,则已采集完成,不需要进行提示了
-                if (RemainIndex < RemainList.Length)
-                    OperateResult.AppendText("<<请采集" + RemainList[RemainIndex] + "的" + dt1.Rows[RemainIndex]["sp_type"].ToString() + "数据\n", Color.Green);
-                else
+                sql.Clear();
+                sql.Append("insert into Craftmaterial (cm_id ,cm_makecode,cm_maid,cm_maprodcode, cm_soncode, cm_mscode, cm_sncode, cm_stepcode, cm_stepname,");
+                sql.Append("cm_craftcode,cm_craftname,cm_barcode,cm_inqty,cm_indate,cm_inman,cm_linecode,cm_wccode,cm_sourcecode,cm_spid,cm_status,cm_materialtype)");
+                sql.Append("select Craftmaterial_seq.nextval, ma_code, ma_id, ma_prodcode, sp_soncode,ms_code,ms_sncode,mcd_stepcode,");
+                sql.Append("mcd_stepname,ma_craftcode,ma_craftname,:barcode,1,sysdate,'" + User.UserCode + "',ma_linecode,ma_wccode,");
+                sql.Append("'" + User.UserSourceCode + "','" + sp_id + "',0,1 from make left join makecraftdetail on mcd_macode=ma_code  left join stepproduct on sp_stepcode=mcd_stepcode ");
+                sql.Append("and sp_craftcode=ma_craftcode and sp_mothercode = ma_prodcode left join makeserial on ms_makecode=ma_code ");
+                sql.Append("where ma_code='" + make_code + "'and sp_id=" + sp_id + " and mcd_stepcode = '" + User.CurrentStepCode + "' and ms_sncode='" + ms_sncode + "'");
+                dh.BatchInsert(sql.GetString(), new string[] { "barcode" }, CollectData.ToArray());
+                //采集成功,设置序列号栏目为空
+                RemainIndex = 0;
+                OperateResult.AppendText(">>上料采集完成!\n", Color.Green);
+                if (LogicHandler.UpdateMakeMessage(sn_code.Text, ma_code, "上料采集", User.UserSourceCode, User.UserName, "上料成功", out ErrorMessage))
                 {
-                    //上料采集成功,设置序列号栏目为空
-                    RemainIndex = 0;
-                    OperateResult.AppendText(">>上料采集完成!\n", Color.Green);
-                    if (LogicHandler.UpdateMakeMessage(sn_code.Text, ma_code, "上料采集", User.UserSourceCode, User.UserName, "上料成功", out ErrorMessage))
-                    {
-                        sn_code.Text = "";
-                        if (mcd_remainqty.Text == "0")
-                            BaseUtil.CleanForm(this);
-                        //刷新数据
-                        EventArgs e = new EventArgs();
-                        object sender = null;
-                        ma_code_UserControlTextChanged(sender, e);
-                    }
-                    else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
+                    sn_code.Text = "";
+                    if (mcd_remainqty.Text == "0")
+                        BaseUtil.CleanForm(this);
+                    //刷新数据
+                    EventArgs e = new EventArgs();
+                    object sender = null;
+                    ma_code_UserControlTextChanged(sender, e);
                 }
+                else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
             }
-            else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
         }
 
         private void ClearSn_code_Click(object sender, EventArgs e)
         {
             sn_code.Clear();
+            CollectData.Clear();
             dt1.Clear();
             RemainIndex = 0;
         }

+ 5 - 6
UAS-MES/PublicMethod/LogicHandler.cs

@@ -1182,17 +1182,16 @@ namespace UAS_MES.PublicMethod
         /// <param name="iBarcode"></param>
         /// <param name="iSonCode"></param>
         /// <param name="iSourceCode"></param>
-        /// <param name="iUserName"></param>
+        /// <param name="iUserCode"></param>
         /// <param name="iSonID"></param>
         /// <param name="iType"></param>
         /// <param name="oErrorMessage"></param>
         /// <returns></returns>
-        public static bool SetMaterialUp(string iSnCode, string iMakeCode, string iBarcode, string iSonCode, string iSourceCode, string iUserName, string iSonID, out string oErrorMessage)
+        public static bool SetMaterialUp(string iSnCode, string iMakeCode, string iBarcode, string iSonCode, string iSourceCode, string iUserCode, string iSonID, out string oErrorMessage)
         {
             oErrorMessage = "";
             string StepCode = "";
             string StepName = "";
-            string iRemainQty = dh.getFieldDataByCondition("barcode", "bar_remain", "bar_code='" + iBarcode + "'").ToString();
             GetStepCodeAndNameBySource(iSourceCode, ref StepCode, ref StepName);
             DataTable dt = (DataTable)dh.ExecuteSql("select cm_id from craftmaterial  where cm_sncode='" + iSnCode + "' and cm_barcode='" + iBarcode + "' and cm_soncode='" + iSonCode + "'", "select");
             if (dt.Rows.Count > 0)
@@ -1204,10 +1203,10 @@ namespace UAS_MES.PublicMethod
             {
                 sql.Clear();
                 sql.Append("insert into Craftmaterial (cm_id ,cm_makecode,cm_maid,cm_maprodcode, cm_soncode, cm_mscode, cm_sncode, cm_stepcode, cm_stepname,");
-                sql.Append("cm_craftcode,cm_craftname,cm_barcode,cm_inqty,cm_indate,cm_inman,cm_linecode,cm_wccode,cm_sourcecode,cm_spid)");
+                sql.Append("cm_craftcode,cm_craftname,cm_barcode,cm_inqty,cm_indate,cm_inman,cm_linecode,cm_wccode,cm_sourcecode,cm_spid,cm_status,cm_materialtype)");
                 sql.Append("select Craftmaterial_seq.nextval, ma_code, ma_id, ma_prodcode, sp_soncode,ms_code,ms_sncode,mcd_stepcode,");
-                sql.Append("mcd_stepname,ma_craftcode,ma_craftname,'" + iBarcode + "',1,sysdate,'" + iUserName + "',ma_linecode,ma_wccode,");
-                sql.Append("'" + iSourceCode + "','" + iSonID + "' from make left join makecraftdetail on mcd_macode=ma_code  left join stepproduct on sp_stepcode=mcd_stepcode ");
+                sql.Append("mcd_stepname,ma_craftcode,ma_craftname,'" + iBarcode + "',1,sysdate,'" + iUserCode + "',ma_linecode,ma_wccode,");
+                sql.Append("'" + iSourceCode + "','" + iSonID + "',0,1 from make left join makecraftdetail on mcd_macode=ma_code  left join stepproduct on sp_stepcode=mcd_stepcode ");
                 sql.Append("and sp_craftcode=ma_craftcode and sp_mothercode = ma_prodcode left join makeserial on ms_makecode=ma_code ");
                 sql.Append("where ma_code='" + iMakeCode + "'and sp_id=" + iSonID + " and mcd_stepcode = '" + StepCode + "' and ms_sncode='" + iSnCode + "'");
                 dh.ExecuteSql(sql.ToString(), "insert");