Browse Source

优化限制,关联不良代码,站点重置限制,取消采集限制

callm 1 month ago
parent
commit
76f7d9bac9

+ 3 - 0
UAS_MES_YDCY/Entity/User.cs

@@ -26,6 +26,9 @@
         /// 用户部门
         /// </summary>
         public static string UserDepartment;//部门 em_depart
+
+        public static string Floor;//楼层
+
         /// <summary>
         /// 职称
         /// </summary>

+ 4 - 4
UAS_MES_YDCY/FunctionCode/Make/Make_TestCollection.cs

@@ -89,9 +89,9 @@ namespace UAS_MES_NEW.Make
                 OperateResult.AppendText("已安装BarTender\n");
                 try
                 {
-                    engine = new Engine();
-                    engine.Start();
-                    format = engine.Documents.Open(Application.StartupPath + "/BadCode.btw");
+                    //engine = new Engine();
+                    //engine.Start();
+                    //format = engine.Documents.Open(Application.StartupPath + "/BadCode.btw");
                     EnablePrint = true;
                 }
                 catch (Exception)
@@ -297,7 +297,7 @@ namespace UAS_MES_NEW.Make
             sql.Append("select bg_code||':'||bg_name bg_name,bg_code from badgroup left join (select pb_badgroup,pr_kind ");
             sql.Append("from product left join productkind on pk_name=pr_kind ");
             sql.Append("left join productbadgroup on pk_code=PB_KINDCODE where pr_code='" + ma_prodcode.Text + "')");
-            sql.Append("on pb_badgroup=bg_code where bg_statuscode='AUDITED' order by case when bg_code='" + User.DefaultBadGroup + "' then 0 else 1 end");
+            sql.Append("on pb_badgroup=bg_code where bg_statuscode='AUDITED' and BG_FLOOR='"+User.Floor+"' order by case when bg_code='" + User.DefaultBadGroup + "' then 0 else 1 end");
             DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             bc_groupcode.DisplayMember = "bg_name";
             bc_groupcode.ValueMember = "bg_code";

+ 8 - 2
UAS_MES_YDCY/FunctionCode/Special/Special_CancelCollection.cs

@@ -27,6 +27,7 @@ namespace UAS_MES_NEW.Special
             DataTable dt = (DataTable)dh.ExecuteSql("select ms_outboxcode,ms_firstsn,ms_id,ms_nextstepcode,ms_currentstepcode,ms_makecode,ms_status,ms_checkno,ms_craftcode,ms_prodcode,ms_stepcode from makeserial where (ms_sncode='" + sn_code.Text + "'  or ms_imei1='" + sn_code.Text + "' or ms_imei2='" + sn_code.Text + "') and ms_makecode='" + ms_makecode.Text + "' order by ms_id desc", "select");
             if (dt.Rows.Count > 0)
             {
+                string msid = dh.getFieldDataByCondition("makeserial", "max(ms_id)", "(ms_sncode='" + sn_code.Text + "'  or ms_imei1='" + sn_code.Text + "' or ms_imei2='" + sn_code.Text + "') ").ToString();
                 string pr_code = dt.Rows[0]["ms_prodcode"].ToString();
                 string cr_code = dt.Rows[0]["ms_craftcode"].ToString();
                 string ms_outboxcode = dt.Rows[0]["ms_outboxcode"].ToString();
@@ -37,6 +38,11 @@ namespace UAS_MES_NEW.Special
                 string ms_currentstepcode = dt.Rows[0]["ms_currentstepcode"].ToString();
                 string ms_id = dt.Rows[0]["ms_id"].ToString();
                 string ms_firstsn = dt.Rows[0]["ms_firstsn"].ToString();
+                if (msid != ms_id)
+                {
+                    OperateResult.AppendText(">>序列号" + sn_code.Text + "存在前置工单,当前工单不允许取消\n");
+                    return;
+                }
                 if (ms_outboxcode != "")
                 {
                     OperateResult.AppendText(">>序列号" + sn_code.Text + "已经装箱" + ms_outboxcode + "\n");
@@ -106,13 +112,13 @@ namespace UAS_MES_NEW.Special
                 //sqls.Add("delete from commandlog where cl_makecode='" + ms_makecode + "' and cl_sncode='" + sn_code.Text + "'");
                 //删除过站记录
                 //sqls.Add("delete from makeprocess where mp_sncode='" + sn_code.Text + "' and mp_makecode='" + ms_makecode + "'");
-              
+
                 //删除StepPass
                 sqls.Add("delete from steppassed where sp_sncode='" + ms_firstsn + "' and sp_makecode='" + ms_makecode + "'");
                 sqls.Add("delete from steppassed where sp_sncode='" + sn_code.Text + "' and sp_makecode='" + ms_makecode + "'");
                 sqls.Add("delete from makeserial where ms_id='" + ms_id + "'");
                 dh.ExecuteSQLTran(sqls.ToArray());
-                dh.ExecuteSql("update make set ma_inqty=ma_inqty-1 where ma_code='" + ms_makecode + "'","update");
+                dh.ExecuteSql("update make set ma_inqty=ma_inqty-1 where ma_code='" + ms_makecode + "'", "update");
                 LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode, User.UserLineCode, User.UserSourceCode, "取消采集", "取消采集成功", sn_code.Text, "");
                 OperateResult.AppendText(">>序列号" + sn_code.Text + "成功解除绑定\n", Color.Green, sn_code);
                 //}

+ 6 - 1
UAS_MES_YDCY/FunctionCode/Special/Special_Reset.cs

@@ -60,7 +60,7 @@ namespace UAS_MES_NEW.Special
 
         private bool ReSN(string sncode, string stepcode)
         {
-            DataTable dt = (DataTable)dh.ExecuteSql("select ms_paststep,ms_makecode,nvl(ms_outstatus,0)ms_outstatus from makeserial where ms_sncode ='" + sncode + "' order by ms_id desc", "select");
+            DataTable dt = (DataTable)dh.ExecuteSql("select ms_paststep,nvl(ms_qccheck,0)ms_qccheck,nvl(ms_ifqccheck,0)ms_ifqccheck,ms_makecode,nvl(ms_outstatus,0)ms_outstatus from makeserial where ms_sncode ='" + sncode + "' order by ms_id desc", "select");
             if (!dt.Rows[0]["ms_paststep"].ToString().Contains(cd_stepcode.Text))
             {
                 OperatResult.AppendText(">>序列号" + sncode + "不允许回流到未执行工序\n", Color.Red);
@@ -71,6 +71,11 @@ namespace UAS_MES_NEW.Special
                 OperatResult.AppendText(">>序列号" + sncode + "已出货不允许回流\n", Color.Red);
                 return false;
             }
+            if (dt.Rows[0]["ms_qccheck"].ToString() == "-1" || dt.Rows[0]["ms_ifqccheck"].ToString() == "-1")
+            {
+                OperatResult.AppendText(">>序列号" + sncode + "处于抽检状态,不允许重置站点\n", Color.Red);
+                return false;
+            }
             string makecode = dt.Rows[0]["ms_makecode"].ToString();
             string stname = dh.getFieldDataByCondition("step", "st_name", "st_code = '" + stepcode + "'").ToString();
             dh.ExecuteSql("update makeserial set ms_status=1,ms_outboxcode='',ms_printcount = 0,ms_stepcode='', ms_nextstepcode= '" + stepcode + "' where ms_sncode='" + sncode + "' and ms_makecode='" + makecode + "'", "update");

+ 2 - 1
UAS_MES_YDCY/Login.cs

@@ -149,7 +149,7 @@ namespace UAS_MES_NEW
             //设置全局用户信息
             string[] field = { "em_code,em_depart,em_type,em_name,em_position,em_professname,em_type,ug_code,ug_name" };
             UserInf = dh.getFieldsDataByCondition("Employee left join cs$userresource on ur_emcode=em_code left join cs$usergroup on ug_code=ur_groupcode", field, "upper(em_code)='" + UserName.Text.ToUpper() + "' or em_mobile='" + UserName.Text.ToUpper() + "'");
-            DataTable dt = dh.getFieldsDataByCondition("source left join step on sc_stepcode=st_code", new string[] { "st_badgroupcode", "sc_wccode", "sc_code", "sc_stepcode", "sc_stepname", "sc_linecode" }, "upper(sc_code)='" + Source.Text.ToUpper() + "'");
+            DataTable dt = dh.getFieldsDataByCondition("source left join step on sc_stepcode=st_code left join line on sc_linecode=li_code", new string[] { "st_badgroupcode", "sc_wccode", "sc_code", "sc_stepcode", "sc_stepname", "sc_linecode", "LI_UPPERLINE" }, "upper(sc_code)='" + Source.Text.ToUpper() + "'");
             //存在岗位资源则要求添加
             if (dt.Rows.Count > 0)
             {
@@ -158,6 +158,7 @@ namespace UAS_MES_NEW
                 User.DefaultBadGroup = dt.Rows[0]["st_badgroupcode"].ToString();
                 User.UserLineCode = dt.Rows[0]["sc_linecode"].ToString();
                 User.UserSourceCode = dt.Rows[0]["sc_code"].ToString();
+                User.Floor = dt.Rows[0]["LI_UPPERLINE"].ToString();
                 User.WorkCenter = dt.Rows[0]["sc_wccode"].ToString();
             }
             //通过Source表关联岗位资源编号查询出当前的执行工序