Browse Source

钢网使用次数预警

callm 5 years ago
parent
commit
fdc943d7db

+ 15 - 1
UAS-MES/FunctionCode/Make/Make_SMTStencil.cs

@@ -95,13 +95,18 @@ namespace UAS_MES.Make
             {
                 MessageBox.Show("工单号不能为空");
             }
-            DataTable dt = (DataTable)dh.ExecuteSql("select ST_USESTATUS,st_version from Stencil where st_code='" + SU_DEVCODE.Text + "' and st_statuscode='AUDITED'", "select");
+            int WaringCount =int.Parse(dh.GetConfig("WaringCount", "Stencil").ToString());
+            DataTable dt = (DataTable)dh.ExecuteSql("select ST_USESTATUS,st_version,nvl(st_maxusecount,0)st_maxusecount,nvl(st_usecount,0)st_usecount from Stencil where st_code='" + SU_DEVCODE.Text + "' and st_statuscode='AUDITED'", "select");
             string status = "";
             string version = "";
+            int st_maxusecount = 0;
+            int st_usecount = 0;
             if (dt.Rows.Count > 0)
             {
                 status = dt.Rows[0]["ST_USESTATUS"].ToString();
                 version = dt.Rows[0]["st_version"].ToString();
+                st_maxusecount =int.Parse( dt.Rows[0]["st_maxusecount"].ToString());
+                st_usecount = int.Parse(dt.Rows[0]["st_usecount"].ToString());
                 if (status == "在线" || status == "报废" || status == "在仓")
                 {
                     MessageBox.Show("当前钢网" + SU_DEVCODE.Text + "处于" + status + "状态,无法领用");
@@ -113,6 +118,15 @@ namespace UAS_MES.Make
                 MessageBox.Show("钢网编号" + SU_DEVCODE.Text + "不存在或者未审核");
                 return;
             }
+            //使用次数预警
+            if (st_maxusecount - st_usecount < WaringCount)
+            {
+                string close = MessageBox.Show(this.ParentForm, "钢网已使用"+ st_usecount+",距离使用上限还有"+(st_maxusecount - st_usecount)+"次", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
+                if (close != "Yes")
+                {
+                    return;
+                }
+            }
             //限制钢网使用的产品
             dt = (DataTable)dh.ExecuteSql("select 1 from STENILCANUSEPRO where sp_stcode='" + SU_DEVCODE.Text + "' and sp_prodcode='" + ma_prodcode.Text + "'", "select");
             if (dt.Rows.Count == 0)

+ 15 - 1
UAS-MES/FunctionCode/Make/Make_SMTStockStencil.cs

@@ -85,10 +85,15 @@ namespace UAS_MES.Make
 
         private void Receive_Click(object sender, EventArgs e)
         {
-            DataTable dt = (DataTable)dh.ExecuteSql("select ST_USESTATUS from Stencil where st_code='" + SU_DEVCODE.Text + "' and st_statuscode='AUDITED'", "select");
+            DataTable dt = (DataTable)dh.ExecuteSql("select ST_USESTATUS,nvl(st_maxusecount,0)st_maxusecount,nvl(st_usecount,0)st_usecount from Stencil where st_code='" + SU_DEVCODE.Text + "' and st_statuscode='AUDITED'", "select");
+            int WaringCount = int.Parse(dh.GetConfig("WaringCount", "Stencil").ToString());
+            int st_maxusecount = 0;
+            int st_usecount = 0;
             if (dt.Rows.Count > 0)
             {
                 string status = dt.Rows[0]["ST_USESTATUS"].ToString();
+                st_maxusecount = int.Parse(dt.Rows[0]["st_maxusecount"].ToString());
+                st_usecount = int.Parse(dt.Rows[0]["st_usecount"].ToString());
                 if (status == "借出" || status == "报废" || status == "在线")
                 {
                     MessageBox.Show("当前钢网" + SU_DEVCODE.Text + "处于" + status + "状态,无法领用");
@@ -100,6 +105,15 @@ namespace UAS_MES.Make
                 MessageBox.Show("钢网编号" + SU_DEVCODE.Text + "不存在或者未审核");
                 return;
             }
+            //使用次数预警
+            if (st_maxusecount - st_usecount < WaringCount)
+            {
+                string close = MessageBox.Show(this.ParentForm, "钢网已使用" + st_usecount + ",距离使用上限还有" + (st_maxusecount - st_usecount) + "次", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
+                if (close != "Yes")
+                {
+                    return;
+                }
+            }
             sql.Clear();
             sql.Append("insert into StencilUse(su_id,su_stid,su_stcode,su_stockusedate,su_useman,SU_USEMANCODE,su_stverison,SU_STATUS,SU_CLEANNUMS)");
             sql.Append("select StencilUse_seq.nextval,st_id,'" + SU_DEVCODE.Text + "',sysdate,'" + User.UserName + "','" + User.UserCode + "'");