Explorar el Código

Merge branch 'master' of ssh://10.10.101.21/source/mes-client

Hcsy hace 8 años
padre
commit
ffbab5a9b8

+ 6 - 6
UAS-MES/FunctionCode/Make/Make_ColorBoxLoadPrint.cs

@@ -58,11 +58,11 @@ namespace UAS_MES.Make
 
             //工单号放大镜配置
             ma_code.TableName = "make left join product on ma_prodcode=pr_code";
-            ma_code.SelectField = "ma_code # 工单号,ma_prodcode # 产品编号,ma_qty # 工单数量,ma_craftcode # 途程编号,pr_detail # 产品名称,ma_bomversion # Bom版本";
+            ma_code.SelectField = "ma_code # 工单号,pr_code # 产品编号,ma_qty # 工单数量,ma_craftcode # 途程编号,pr_detail # 产品名称,ma_bomversion # Bom版本";
             ma_code.FormName = Name;
             ma_code.DBTitle = "工单查询";
-            ma_code.SetValueField = new string[] { "ma_code", "ma_prodcode", "ma_qty", "pr_detail", "ma_craftcode", "ma_bomversion" };
-            ma_code.Condition = "ma_statuscode='STARTED'";
+            ma_code.SetValueField = new string[] { "ma_code", "pr_code", "ma_qty", "pr_detail", "ma_craftcode", "ma_bomversion" };
+            ma_code.Condition = "ma_statuscode='STARTED' order by ma_updatedate desc";
             ma_code.DbChange += Ms_makecode_DbChange;
 
             Lock.GetMakeCodeCtl(ma_code);
@@ -114,7 +114,7 @@ namespace UAS_MES.Make
                         {
                             sql.Clear();
                             sql.Append("select ma_code,ma_craftcode,ms_sncode,ma_qty,pr_detail,pr_code,ma_bomversion from makeserial left join make on ");
-                            sql.Append("ms_makecode=ma_code left join product on ms_prodcode=pr_code where ms_id='" + Msid + "'");
+                            sql.Append("ms_makecode=ma_code left join product on ms_prodcode=pr_code where ms_sncode='" + code.Text + "' and ms_makecode='" + ma_code.Text + "'");
                             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                             if (dt.Rows.Count > 0)
                             {
@@ -184,7 +184,7 @@ namespace UAS_MES.Make
                         {
                             CollectData.Add(code.Text);
                             CollectDataSonCode.Add(ListA.Rows[RemainIndex]["sp_soncode"].ToString());
-                            OperateResult.AppendText(">>采集成功\n", Color.Green, code);
+                            OperateResult.AppendText(">>物料" + code.Text + "采集成功\n", Color.Green, code);
                             RemainIndex = RemainIndex + 1;
                         }
                         else
@@ -206,7 +206,7 @@ namespace UAS_MES.Make
                             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='" + macode + "'and sp_id=" + sp_id + " and mcd_stepcode = '" + User.CurrentStepCode + "' and ms_sncode='" + ms_sncode.Text + "'");
                             dh.BatchInsert(sql.GetString(), new string[] { "soncode", "barcode" }, CollectDataSonCode.ToArray(), CollectData.ToArray());
-                            OperateResult.AppendText(">>序列号" + ms_sncode.Text + "对应的工单已经采集完成\n", Color.Green);
+                            OperateResult.AppendText(">>序列号" + ms_sncode.Text + "对应的物料已经采集完成\n", Color.Green);
                             Print.CodeSoft(Tag.ToString(), lbl, PrintLabel.Text, PrintLabel.SelectedValue.ToString(), Printer.Text, ms_sncode.Text, int.Parse(PrintNum.Text), indate[PrintLabel.SelectedIndex]);
                             RemainIndex = 0;
                             CollectData.Clear();

+ 34 - 14
UAS-MES/FunctionCode/Make/Make_SeqProgramTransform.cs

@@ -30,6 +30,8 @@ namespace UAS_MES.Make
         DataTable ListA;
         //存放工单信息
         DataTable dt;
+        //存放序列号防呆规则
+        DataTable rules;
         //step  记录检验规则的进度
         int step = 0;
         //存放关联信息类型
@@ -174,6 +176,16 @@ namespace UAS_MES.Make
                         else if (step == 1)
                         {
                             OperateResult.AppendText(">>" + code.Text + "\n", Color.Black);
+                            //判断工单是否导入了序列号清单
+                            if (dh.CheckExist("makesnlist", "msl_makecode='" + oMakecode + "' and msl_type='after'"))
+                            {
+                                if (!dh.CheckExist("makesnlist", "msl_makecode='" + oMakecode + "' and msl_sncode='" + code.Text + "'  and msl_type='after'"))
+                                {
+                                    //有序列号清单,输入的序列号却不在范围内
+                                    OperateResult.AppendText(">>序列号" + code.Text + "错误,不在工单设定的序列号范围内\n", Color.Red, code);
+                                    return;
+                                }
+                            }
                             //判断用户是否锁定输入SN长度,
                             if (!checkLengthOrPre(SNLength_checkBox, SNLength, "长度", "SN"))
                             {
@@ -470,10 +482,10 @@ namespace UAS_MES.Make
             SNLength_checkBox.Enabled = true;
 
             //查询表工单序列号防呆规则表
-            dt = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + ms_macode.Text + "'", "select");
-            if (dt.Rows.Count > 0)
+            rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + oMakecode + "'", "select");
+            if (rules.Rows.Count > 0)
             {
-                foreach (DataRow dr in dt.Rows)
+                foreach (DataRow dr in rules.Rows)
                 {
                     //如果有值,则这个字段自动勾选,并且不可编辑
                     if (dr["msr_type"].ToString().ToLower() == "before")
@@ -548,17 +560,25 @@ namespace UAS_MES.Make
             {
                 /*	如果转换前没有值,则取 select productsnrule where psr_prodcode=? 产品编号,
                  *	有值则赋值到 转换前,并且自动勾选不可编辑。*/
-                //dt = (DataTable)dh.ExecuteSql("select psr_prefix ,psr_length from productsnrule where psr_prodcode = " + ma_prodcode.Text, "select");
-                //if (dt.Rows.Count > 0)
-                //{
-                //    //将产品序列号防呆规则查出的数据填充
-                //    beforeTransSNPre.Text = dt.Rows[0]["psr_prefix"].ToString();
-                //    beforeTransSNPre.ReadOnly = true;
-                //    beforeTransSNPre_checkBox.Checked = true;
-                //    beforeTransSNLength.Text = dt.Rows[0]["psr_length"].ToString();
-                //    beforeTransSNLength.ReadOnly = true;
-                //    beforeTransSNLength_checkBox.Checked = true;
-                //}
+                rules = (DataTable)dh.ExecuteSql("select psr_prefix,psr_length from productsnrule where psr_prodcode ='"+ dt.Rows[0]["ma_prodcode"].ToString()+"' and psr_type='after'", "select");
+                if (rules.Rows.Count > 0)
+                {
+                    //将产品序列号防呆规则查出的数据填充
+                    if (rules.Rows[0]["psr_prefix"].ToString() != "")
+                    {
+                        SNPre.Text = rules.Rows[0]["psr_prefix"].ToString();
+                        SNPre.Enabled = false;
+                        SNPre_checkBox.Checked = true;
+                        SNPre_checkBox.Enabled = false;
+                    }
+                    if (rules.Rows[0]["psr_length"].ToString() != "")
+                    {
+                        TSNLength.Text = rules.Rows[0]["psr_length"].ToString();
+                        TSNLength.Enabled = false;
+                        TSNLength_checkBox.Checked = true;
+                        TSNLength_checkBox.Enabled = false;
+                    }
+                }
             }
         }
         /// <summary>

+ 33 - 15
UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

@@ -17,7 +17,7 @@ namespace UAS_MES.Make
 
         DataTable dt;
 
-        DataTable Dbfind;
+        DataTable rules;
 
         LogStringBuilder sql = new LogStringBuilder();
 
@@ -159,6 +159,16 @@ namespace UAS_MES.Make
                         //bsncode不为空,说明输入的是转换后的序列号
                         else
                         {
+                            //判断工单是否导入了序列号清单
+                            if (dh.CheckExist("makesnlist", "msl_makecode='"+oMakeCode+"' and msl_type='after'"))
+                            {
+                                if (!dh.CheckExist("makesnlist", "msl_makecode='"+oMakeCode+"' and msl_sncode='"+sncode.Text+"'  and msl_type='after'"))
+                                {
+                                    //有序列号清单,输入的序列号却不在范围内
+                                    OperateResult.AppendText(">>序列号"+sncode.Text+"错误,不在工单设定的序列号范围内\n", Color.Red, sncode);
+                                    return;
+                                }
+                            }
                             //判断用户是否锁定输入转换后序列号长度,
                             if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
                                 return;
@@ -300,10 +310,10 @@ namespace UAS_MES.Make
             afterTransSNPre_checkBox.Enabled = true;
             afterTransSNLength_checkBox.Enabled = true;
             //查询表工单序列号防呆规则表
-            dt = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + ma_code.Text + "'", "select");
-            if (dt.Rows.Count > 0)
+            rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + oMakeCode + "'", "select");
+            if (rules.Rows.Count > 0)
             {
-                foreach (DataRow dr in dt.Rows)
+                foreach (DataRow dr in rules.Rows)
                 {
                     //如果有值,则这个字段自动勾选,并且不可编辑
                     if (dr["msr_type"].ToString().ToLower() == "before")
@@ -378,17 +388,25 @@ namespace UAS_MES.Make
             {
                 /*	如果转换前没有值,则取 select productsnrule where psr_prodcode=? 产品编号,
                  *	有值则赋值到 转换前,并且自动勾选不可编辑。*/
-                //dt = (DataTable)dh.ExecuteSql("select psr_prefix ,psr_length from productsnrule where psr_prodcode = " + ma_prodcode.Text, "select");
-                //if (dt.Rows.Count > 0)
-                //{
-                //    //将产品序列号防呆规则查出的数据填充
-                //    beforeTransSNPre.Text = dt.Rows[0]["psr_prefix"].ToString();
-                //    beforeTransSNPre.ReadOnly = true;
-                //    beforeTransSNPre_checkBox.Checked = true;
-                //    beforeTransSNLength.Text = dt.Rows[0]["psr_length"].ToString();
-                //    beforeTransSNLength.ReadOnly = true;
-                //    beforeTransSNLength_checkBox.Checked = true;
-                //}
+                rules = (DataTable)dh.ExecuteSql("select psr_prefix ,psr_length from productsnrule where psr_prodcode = '"+ dt.Rows[0]["ma_prodcode"].ToString()+"' and psr_type='after'", "select");
+                if (rules.Rows.Count > 0)
+                {
+                    //将产品序列号防呆规则查出的数据填充
+                    if (rules.Rows[0]["psr_prefix"].ToString()!="")
+                    {
+                        afterTransSNPre.Text = rules.Rows[0]["psr_prefix"].ToString();
+                        afterTransSNPre.Enabled = false;
+                        afterTransSNPre_checkBox.Checked = true;
+                        afterTransSNPre_checkBox.Enabled = false;
+                    }
+                    if (rules.Rows[0]["psr_length"].ToString() != "")
+                    {
+                        afterTransSNLength.Text = rules.Rows[0]["psr_length"].ToString();
+                        afterTransSNLength.Enabled = false;
+                        afterTransSNLength_checkBox.Checked = true;
+                        afterTransSNLength_checkBox.Enabled = false;
+                    }
+                }
             }
         }
         /// <summary>

+ 0 - 27
UAS-MES/FunctionCode/Make/Make_SpecialCartonPack.cs

@@ -188,32 +188,6 @@ namespace UAS_MES.Make
             pa_currentqty.Text = dh.getFieldDataByCondition("package", "pa_currentqty", "pa_outboxcode='" + pa_outboxcode.Text + "'").ToString();
         }
 
-        private void InsertDetail()
-        {
-            if (dh.getFieldDataByCondition("makeserial", "ms_sncode", "ms_id='" + oMsID + "'").ToString() == sn_code.Text)
-            {
-                if (int.Parse(pa_currentqty.Text == "" ? "0" : pa_currentqty.Text) < int.Parse(pr_outboxinnerqty.Text))
-                {
-                    if (LogicHandler.SetStepResult(ms_makecode.Text, User.UserSourceCode, sn_code.Text, "包装采集", "装箱成功", User.UserCode, out ErrorMessage))
-                    {
-                        LoadCheckQTY();
-                        OperateResult.AppendText(">>序列号" + sn_code.Text + "采集成功!\n", Color.Green);
-                        //满箱更新状态为1
-                        if (int.Parse(pa_currentqty.Text == "" ? "0" : pa_currentqty.Text) + 1 == int.Parse(pr_outboxinnerqty.Text))
-                        {
-                            dh.UpdateByCondition("package", "pa_status=1,pa_weight='" + weight.Text + "'", "pa_outboxcode='" + pa_outboxcode.Text + "'");
-                            if (AutoPrint.Checked)
-                                Print_Click(new object(), new EventArgs());
-                        }
-                        LoadGridData();
-                        sn_code.Clear();
-                    }
-                }
-                else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "已采集满\n", Color.Red);
-            }
-            else OperateResult.AppendText("序列号" + sn_code.Text + "不存在", Color.Red, sn_code);
-        }
-
         private void Print_Click(object sender, EventArgs e)
         {
             if (PrintLabel.Items.Count != 0)
@@ -288,7 +262,6 @@ namespace UAS_MES.Make
                                     BaseUtil.CleanDGVData(PackageDetail);
                                     pa_outboxcode.GeneratePaCode_Click(new object(), new EventArgs());
                                 }
-                                ////箱号不存在的情况
                                 if (LogicHandler.Packing(sn_code.Text, pa_outboxcode.Text, AutoGenBoxCode.Checked, "特殊", User.UserSourceCode, User.UserCode, pr_outboxinnerqty.Text, Cancel.Checked, out oOutBoxCode, out ErrorMessage))
                                 {
                                     if (LogicHandler.SetStepResult(ms_makecode.Text, User.UserSourceCode, sn_code.Text, "包装采集", "装箱成功", User.UserCode, out ErrorMessage))