Эх сурвалжийг харах

序列号下地添加产品出入库状态验证

Hcsy 8 жил өмнө
parent
commit
fbe34ae172

+ 30 - 20
UAS-MES/FunctionCode/Make/Make_MakeDown.cs

@@ -78,35 +78,45 @@ namespace UAS_MES.Make
                         dtbar = (DataTable)dh.ExecuteSql("select ms_makecode,pr_code,pr_detail from makeserial left join product on MS_PRODCODE=pr_code where ms_id='" + ms_id + "'", "select");
                         BaseUtil.SetFormValue(this.Controls, dtbar);
                         sql.Clear();
-                        sql.Append("select ms_outboxcode, ms_downstatus,ms_prodcode from makeserial where ms_id ='" + ms_id + "' ");
+                        sql.Append("select ms_outboxcode, ms_downstatus,nvl(ms_iostatus,0) ms_iostatus,ms_prodcode from makeserial where ms_id ='" + ms_id + "' ");
                         dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                         string ms_downstatus = dt.Rows[0]["ms_downstatus"].ToString();
                         string ms_outboxcode = dt.Rows[0]["ms_outboxcode"].ToString();
+                        string ms_iostatus = dt.Rows[0]["ms_iostatus"].ToString();
                         if (ms_downstatus == "0")
                         {
-                            if (ms_outboxcode == null || ms_outboxcode == "")
+                            if (ms_iostatus == "0")
                             {
-                                //进行下地操作,插入下地记录
-                                sql.Clear();
-                                sql.Append("INSERT INTO MAKEDOWN (MD_ID,MD_LINECODE,MD_SCCODE,MD_STEPCODE,");
-                                sql.Append("MD_SNCODE,MD_PRODCODE,MD_MACODE, MD_DOWNREASON, MD_CODE,");
-                                sql.Append("MD_DOWNDATE,MD_DOWNMAN,MD_STATUS) values (MAKEDOWN_seq.nextval,'" + User.UserLineCode + "','" + User.UserSourceCode + "',");
-                                sql.Append("'" + User.CurrentStepCode + "','" + sn_code.Text + "','" + pr_code.Text + "','" + ms_makecode.Text + "','" + inputreson.Text + "','" + mdcode.Text + "',sysdate,'" + User.UserCode + "','-1')");
-                                //执行
-                                dh.ExecuteSql(sql.GetString(), "insert");
-                                //更新序列号状态为下地
-                                dh.UpdateByCondition("makeserial", "ms_downstatus='-1'", "ms_id='" + ms_id + "'");
-                                OperateResult.AppendText(">>>序列号" + sn_code.Text + "下地成功\n", Color.Green);
-                                //更新数量
-                                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode.Text, User.UserLineCode, User.UserSourceCode, "下地操作", "序列号" + sn_code.Text + "下地成功", sn_code.Text, "");
-                                count++;
-                                make_count.Text = count + "";
-                                sn_code.Text = "";
-                                loadGrid();
+                                if (ms_outboxcode == null || ms_outboxcode == "")
+                                {
+                                    //进行下地操作,插入下地记录
+                                    sql.Clear();
+                                    sql.Append("INSERT INTO MAKEDOWN (MD_ID,MD_LINECODE,MD_SCCODE,MD_STEPCODE,");
+                                    sql.Append("MD_SNCODE,MD_PRODCODE,MD_MACODE, MD_DOWNREASON, MD_CODE,");
+                                    sql.Append("MD_DOWNDATE,MD_DOWNMAN,MD_STATUS) values (MAKEDOWN_seq.nextval,'" + User.UserLineCode + "','" + User.UserSourceCode + "',");
+                                    sql.Append("'" + User.CurrentStepCode + "','" + sn_code.Text + "','" + pr_code.Text + "','" + ms_makecode.Text + "','" + inputreson.Text + "','" + mdcode.Text + "',sysdate,'" + User.UserCode + "','-1')");
+                                    //执行
+                                    dh.ExecuteSql(sql.GetString(), "insert");
+                                    //更新序列号状态为下地
+                                    dh.UpdateByCondition("makeserial", "ms_downstatus='-1'", "ms_id='" + ms_id + "'");
+                                    OperateResult.AppendText(">>>序列号" + sn_code.Text + "下地成功\n", Color.Green);
+                                    //更新数量
+                                    LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode.Text, User.UserLineCode, User.UserSourceCode, "下地操作", "序列号" + sn_code.Text + "下地成功", sn_code.Text, "");
+                                    count++;
+                                    make_count.Text = count + "";
+                                    sn_code.Text = "";
+                                    loadGrid();
+                                }
+                                else
+                                {
+                                    OperateResult.AppendText(">>>序列号" + sn_code.Text + "已装箱:" + ms_outboxcode + ",不允许下地,如需下地请先解除装箱\n", Color.Red, sn_code);
+                                    sn_code.Focus();
+                                    return;
+                                }
                             }
                             else
                             {
-                                OperateResult.AppendText(">>>序列号" + sn_code.Text + "已装箱:" + ms_outboxcode + ",不允许下地,如需下地请先解除装箱\n", Color.Red, sn_code);
+                                OperateResult.AppendText(">>>序列号" + sn_code.Text + "已进行出入库操作,不允许下地\n", Color.Red, sn_code);
                                 sn_code.Focus();
                                 return;
                             }