Browse Source

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

章政 8 years ago
parent
commit
e2c4df8b41

+ 2 - 0
UAS-MES/FunctionCode/Make/Make_CartonBoxWeigh.cs

@@ -175,6 +175,8 @@ namespace UAS_MES.Make
                     OperateResult.AppendText(">>箱号" + outboxcode.Text + "称重完成\n", Color.Green);
                     dh.ExecuteSql("update package set pa_weight='" + ActualWeight + "', pa_printcount= nvl(pa_printcount,0)+1 where pa_outboxcode='" + outboxcode.Text + "'", "update");
                     dh.UpdateByCondition("package", "pa_status=1,pa_packageqty=pa_currentqty,pa_totalqty=pa_currentqty", "pa_outboxcode='" + outboxcode.Text + "'");
+                    LogicHandler.CartonBoxStepPass(ma_code.Text, User.UserSourceCode, outboxcode.Text, User.UserCode, "卡通箱:" + outboxcode.Text + "整箱过站", out ErrorMessage);
+                    dh.UpdateByCondition("package", "pa_nextstep='" + dh.getFieldDataByCondition("packagedetail left join makeserial on ms_sncode=pd_barcode and ms_makecode=pd_makecode", "max(ms_nextstepcode)", "pd_outboxcode='" + outboxcode.Text + "'").ToString() + "' ,PA_CURRENTSTEP = '' ", "pa_outboxcode='" + outboxcode.Text + "'");
                     outboxcode.Clear();
                 }
                 else OperateResult.AppendText(">>箱号" + outboxcode.Text + "不存在\n", Color.Red, outboxcode);

+ 13 - 16
UAS-MES/FunctionCode/Make/Make_PackageCollection.cs

@@ -89,11 +89,6 @@ namespace UAS_MES.Make
             {
                 //记录该数据保证在修改不被允许的前提下能偶回复之前的值
                 StandardQTY = decimal.Parse(dt.Rows[0]["pr_outboxinnerqty"].ToString());
-                PR_CHECKCARTONW = dt.Rows[0]["PR_CHECKCARTONW"].ToString();
-                if (PR_CHECKCARTONW != "0")
-                    checkweightlabel.Text = "需要检测重量";
-                else
-                    checkweightlabel.Text = "不需检测重量";
                 BaseUtil.SetFormValue(this.Controls, dt);
                 if (pa_standardqty.Text != "0")
                 {
@@ -153,6 +148,7 @@ namespace UAS_MES.Make
                         {
                             oMsID = dt.Rows[0]["ms_id"].ToString();
                         }
+                        PR_CHECKCARTONW =  dh.getFieldDataByCondition("craftdetail left join craft on cr_id=cd_crid left join makeserial on ms_craftcode =cr_code", "nvl(cd_ifweigh,'0') cd_ifweigh", "ms_sncode='" + sn_code.Text + "' and ms_makecode='" + oMakeCode + "' and cd_stepcode = '" + User.CurrentStepCode + "'").ToString();
                         //获取序列号信息
                         sql.Clear();
                         sql.Append("select pr_code,ms_makecode,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,pa_checkno,pr_packrule,pr_code,pr_detail,");
@@ -262,13 +258,13 @@ namespace UAS_MES.Make
                                     //提示正确返回时传递的信息
                                     if (ErrorMessage.Contains("AFTERSUCCESS"))
                                         OperateResult.AppendText(">>" + ErrorMessage + "\n");
-                                    LoadCheckQTY();
                                     LastSncode = sn_code.Text;
                                     OperateResult.AppendText(">>序列号" + sn_code.Text + "采集成功!\n", Color.Green);
                                     LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "装箱采集", "采集成功", sn_code.Text, "");
                                     //满箱更新状态为1
                                     LoadData();
                                     LoadGridData();
+                                    LoadCheckQTY();
                                     //采集完后如果是第一个装的序列号,把序列号的NextStepCode赋值给箱号
                                     if (pa_currentqty.Text == "1")
                                     {
@@ -281,17 +277,19 @@ namespace UAS_MES.Make
                                         OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "满箱采集完成,封箱成功\n", Color.Green);
                                         pa_status.Text = "1";
                                         pa_standardqty.Text = "";
+                                        if (PR_CHECKCARTONW != "0")
+                                        {
+                                            OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "满箱需要重量检测,请在卡通箱称重界面进行称重打印\n", Color.Red);
+                                            return;
+                                        }
+                                        LogicHandler.CartonBoxStepPass(oMakeCode, User.UserSourceCode, pa_outboxcode.Text, User.UserCode, "卡通箱:" + pa_outboxcode.Text + "整箱过站", out ErrorMessage);
+                                        dh.UpdateByCondition("package", "pa_nextstep='" + dh.getFieldDataByCondition("packagedetail left join makeserial on ms_sncode=pd_barcode and ms_makecode=pd_makecode", "max(ms_nextstepcode)", "pd_outboxcode='" + pa_outboxcode.Text + "'").ToString() + "' ,PA_CURRENTSTEP = '' ", "pa_outboxcode='" + pa_outboxcode.Text + "'");
+                                        LoadCheckQTY();
                                         if (AutoPrint.Checked)
                                             Print_Click(new object(), new EventArgs());
                                     }
                                     sn_code.Clear();
-                                    if (PR_CHECKCARTONW != "0")
-                                    {
-                                        OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "满箱需要重量检测,请在卡通箱称重界面进行称重打印\n", Color.Red);
-                                        return;
-                                    }
-                                    LogicHandler.CartonBoxStepPass(oMakeCode, User.UserSourceCode, pa_outboxcode.Text, User.UserCode, "卡通箱:" + pa_outboxcode.Text + "整箱过站", out ErrorMessage);
-                                    dh.UpdateByCondition("package", "pa_nextstep='" + dh.getFieldDataByCondition("packagedetail left join makeserial on ms_sncode=pd_barcode and ms_makecode=pd_makecode", "max(ms_nextstepcode)", "pd_outboxcode='" + pa_outboxcode.Text + "'").ToString() + "' PA_CURRENTSTEP = '' ", "pa_outboxcode='" + pa_outboxcode.Text + "'");
+                                  
 
                                     //}
                                     //else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
@@ -350,7 +348,6 @@ namespace UAS_MES.Make
         {
             if (dh.CheckExist("package", "pa_outboxcode='" + pa_outboxcode.Text + "' and nvl(pa_status,0)=0"))
             {
-
                 string Seal = MessageBox.Show(this.ParentForm, "是否确认封箱?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
                 if (Seal == "Yes")
                 {
@@ -366,7 +363,7 @@ namespace UAS_MES.Make
                     }
                     LogicHandler.CartonBoxStepPass(oMakeCode, User.UserSourceCode, pa_outboxcode.Text, User.UserCode, "卡通箱:" + pa_outboxcode.Text + "整箱过站", out ErrorMessage);
                     dh.UpdateByCondition("package", "pa_nextstep='" +dh.getFieldDataByCondition("packagedetail left join makeserial on ms_sncode=pd_barcode and ms_makecode=pd_makecode", "max(ms_nextstepcode)", "pd_outboxcode='"+pa_outboxcode.Text+"'").ToString()+ "' PA_CURRENTSTEP = '' ", "pa_outboxcode='" + pa_outboxcode.Text + "'");
-
+                    LoadCheckQTY();
                 }
             }
             else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "错误或者已封箱\n", Color.Red);
@@ -442,7 +439,7 @@ namespace UAS_MES.Make
                 ob_checkno.Text = "";
                 SendCheck.Enabled = false;
             }
-            if (ob_batchqty.Text != "")
+            if (ob_batchqty.Text != "" && PR_CHECKCARTONW == "0")
             {
                 SendCheck.Enabled = true;
             }

+ 55 - 52
UAS-MES/FunctionCode/Make/Make_PackageCollectionWeigh.cs

@@ -159,11 +159,11 @@ namespace UAS_MES.Make
                 string _weight = dt.Rows[0]["pr_cartongw"].ToString();
                 string _maxweight = dt.Rows[0]["pr_cartonmaxw"].ToString();
                 string _minweight = dt.Rows[0]["pr_cartonminw"].ToString();
-                PR_CHECKCARTONW = dt.Rows[0]["PR_CHECKCARTONW"].ToString();
-                if (PR_CHECKCARTONW != "0")
-                    checkweightlabel.Text = "需要检测重量";
-                else
-                    checkweightlabel.Text = "不需检测重量";
+                //PR_CHECKCARTONW = dt.Rows[0]["PR_CHECKCARTONW"].ToString();
+                //if (PR_CHECKCARTONW != "0")
+                //    checkweightlabel.Text = "需要检测重量";
+                //else
+                //    checkweightlabel.Text = "不需检测重量";
                 //赋值重量单位
                 Weight = double.Parse(_weight == "" ? "0" : _weight);
                 MaxWeight = double.Parse(_maxweight == "" ? "0" : _maxweight);
@@ -233,6 +233,7 @@ namespace UAS_MES.Make
                         {
                             oMsID = dt.Rows[0]["ms_id"].ToString();
                         }
+                        PR_CHECKCARTONW = dh.getFieldDataByCondition("craftdetail left join craft on cr_id=cd_crid left join makeserial on ms_craftcode =cr_code", "nvl(cd_ifweigh,'0') cd_ifweigh", "ms_sncode='" + sn_code.Text + "' and ms_makecode='" + oMakeCode + "' and cd_stepcode = '" + User.CurrentStepCode + "'").ToString();
                         sql.Clear();
                         sql.Append("select ms_makecode,pr_code,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,pa_checkno,pr_packrule,pr_code,pr_detail,");
                         sql.Append("nvl(pr_outboxinnerqty,0)pr_outboxinnerqty from makeserial left join product on ms_prodcode=pr_code left join packagedetail ");
@@ -333,47 +334,47 @@ namespace UAS_MES.Make
                                 ////箱号不存在的情况
                                 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))
+                                    //if (LogicHandler.SetStepResult(ms_makecode.Text, User.UserSourceCode, sn_code.Text, "包装采集", "装箱成功", User.UserCode, out ErrorMessage))
+                                    //{
+                                    //提示正确返回时传递的信息
+                                    if (ErrorMessage.Contains("AFTERSUCCESS"))
+                                        OperateResult.AppendText(">>" + ErrorMessage + "\n");
+                                    LoadCheckQTY();
+                                    OperateResult.AppendText(">>序列号" + sn_code.Text + "采集成功!\n", Color.Green);
+                                    LastSncode = sn_code.Text;
+                                    //满箱更新状态为1
+                                    LoadData();
+                                    //采集完后如果是第一个装的序列号,把序列号的NextStepCode赋值给箱号
+                                    if (pa_currentqty.Text == "1")
                                     {
-                                        //提示正确返回时传递的信息
-                                        if (ErrorMessage.Contains("AFTERSUCCESS"))
-                                            OperateResult.AppendText(">>" + ErrorMessage + "\n");
-                                        LoadCheckQTY();
-                                        OperateResult.AppendText(">>序列号" + sn_code.Text + "采集成功!\n", Color.Green);
-                                        //满箱更新状态为1
-                                        LoadData();
-                                        //采集完后如果是第一个装的序列号,把序列号的NextStepCode赋值给箱号
-                                        if (pa_currentqty.Text == "1")
-                                        {
-                                            string nextstepcode = dh.getFieldDataByCondition("makeserial", "ms_nextstepcode", "ms_id='" + oMsID + "'").ToString();
-                                            dh.UpdateByCondition("package", "pa_nextstep='" + nextstepcode + "'", "pa_outboxcode='" + pa_outboxcode.Text + "'");
-                                        }
-                                        if (int.Parse(pa_currentqty.Text == "" ? "0" : pa_currentqty.Text) == int.Parse(pr_outboxinnerqty.Text))
+                                        //  string nextstepcode = dh.getFieldDataByCondition("makeserial", "ms_nextstepcode", "ms_id='" + oMsID + "'").ToString();
+                                        dh.UpdateByCondition("package", "pa_nextstep='" + User.CurrentStepCode + "', PA_CURRENTSTEP = '" + User.CurrentStepCode + "'", "pa_outboxcode='" + pa_outboxcode.Text + "'");
+                                    }
+                                    LoadGridData();
+                                    sn_code.Clear();
+                                    if (int.Parse(pa_currentqty.Text == "" ? "0" : pa_currentqty.Text) == int.Parse(pr_outboxinnerqty.Text))
+                                    {
+                                        float weigh = float.Parse(weight.Text.Replace("kg", "").Trim());
+                                        dh.UpdateByCondition("package", "pa_status=1,pa_totalqty=pa_currentqty,pa_packageqty=pa_currentqty,pa_weight=" + weight + "", "pa_outboxcode='" + pa_outboxcode.Text + "'");
+                                        pa_standardqty.Text = "";
+                                        pa_status.Text = "1";
+                                        OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "满箱封箱成功\n", Color.Green);
+                                        if (PR_CHECKCARTONW != "0")
                                         {
-                                      
-                                            float weigh = float.Parse(weight.Text.Replace("kg", "").Trim());
-                                            if (PR_CHECKCARTONW != "0")
+                                            if (!(weigh >= MinWeight && weigh <= MaxWeight))
                                             {
-                                                if (!(weigh >= MinWeight && weigh <= MaxWeight))
-                                                {
-                                                    OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "重量不符合标准重量\n", Color.Red);
-                                                    return;
-                                                }
+                                                OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "重量不符合标准重量\n", Color.Red);
+                                                return;
                                             }
-                                            LogicHandler.CartonBoxStepPass(oMakeCode, User.UserSourceCode, pa_outboxcode.Text, User.UserCode, "卡通箱:" + pa_outboxcode.Text + "整箱过站", out ErrorMessage);
-                                            dh.UpdateByCondition("package", "pa_status=1,pa_totalqty=pa_currentqty,pa_packageqty=pa_currentqty,pa_weight='" + weigh + "'", "pa_outboxcode='" + pa_outboxcode.Text + "'");
-                                            pa_standardqty.Text = "";
-                                            pa_status.Text = "1";
-                                            OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "满箱封箱成功\n", Color.Green);
-                                            OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "称量完成\n", Color.Green);
-                                            LastSncode = sn_code.Text;
-                                            if (AutoPrint.Checked)
-                                                Print_Click(new object(), new EventArgs());
                                         }
-
-                                        LoadGridData();
-                                        sn_code.Clear();
+                                        LogicHandler.CartonBoxStepPass(oMakeCode, User.UserSourceCode, pa_outboxcode.Text, User.UserCode, "卡通箱:" + pa_outboxcode.Text + "整箱过站", out ErrorMessage);
+                                        dh.UpdateByCondition("package", "pa_nextstep='" + dh.getFieldDataByCondition("packagedetail left join makeserial on ms_sncode=pd_barcode and ms_makecode=pd_makecode", "max(ms_nextstepcode)", "pd_outboxcode='" + pa_outboxcode.Text + "'").ToString() + "' PA_CURRENTSTEP = '' ", "pa_outboxcode='" + pa_outboxcode.Text + "'");
+                                        LoadCheckQTY();
+                                        OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "称量完成\n", Color.Green);
+                                        if (AutoPrint.Checked)
+                                            Print_Click(new object(), new EventArgs());
                                     }
+                                    //}
                                 }
                                 else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                             }
@@ -437,25 +438,27 @@ namespace UAS_MES.Make
         {
             if (dh.CheckExist("package", "pa_outboxcode='" + pa_outboxcode.Text + "' and nvl(pa_status,0)=0"))
             {
-              
-                if (PR_CHECKCARTONW != "0")
-                {
-                    //检查重量合格
-                    float weigh = float.Parse(weight.Text.Replace("kg", "").Trim());
-                    if (!(weigh > MinWeight && weigh < MaxWeight))
-                    {
-                        OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "重量不符合标准重量\n", Color.Red);
-                        return;
-                    }
-                }
+
                 string Seal = MessageBox.Show(this.ParentForm, "是否确认封箱?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
                 if (Seal == "Yes")
                 {
-                    LogicHandler.CartonBoxStepPass(oMakeCode, User.UserSourceCode, pa_outboxcode.Text, User.UserCode, "卡通箱:" + pa_outboxcode.Text + "整箱过站", out ErrorMessage);
                     dh.UpdateByCondition("package", "pa_status=1,pa_totalqty=pa_currentqty,pa_packageqty=pa_currentqty", "pa_outboxcode='" + pa_outboxcode.Text + "'");
                     pa_status.Text = "1";
+                    pa_standardqty.Text = "";
                     LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "装箱采集", "封箱成功", pa_outboxcode.Text, "");
                     OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "封箱成功\n", Color.Green);
+                    if (PR_CHECKCARTONW != "0")
+                    {
+                        float weigh = float.Parse(weight.Text.Replace("kg", "").Trim());
+                        if (!(weigh > MinWeight && weigh < MaxWeight))
+                        {
+                            OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "重量不符合标准重量\n", Color.Red);
+                            return;
+                        }
+                    }
+                    LogicHandler.CartonBoxStepPass(oMakeCode, User.UserSourceCode, pa_outboxcode.Text, User.UserCode, "卡通箱:" + pa_outboxcode.Text + "整箱过站", out ErrorMessage);
+                    dh.UpdateByCondition("package", "pa_nextstep='" + dh.getFieldDataByCondition("packagedetail left join makeserial on ms_sncode=pd_barcode and ms_makecode=pd_makecode", "max(ms_nextstepcode)", "pd_outboxcode='" + pa_outboxcode.Text + "'").ToString() + "', PA_CURRENTSTEP = '' ", "pa_outboxcode='" + pa_outboxcode.Text + "'");
+                    LoadCheckQTY();
                 }
             }
             else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "错误或者已封箱\n", Color.Red);

+ 9 - 2
UAS-MES/FunctionCode/Make/Make_SeqProgramTransform.cs

@@ -554,11 +554,18 @@ namespace UAS_MES.Make
                         LogManager.DoLog("修改序列号:" + TSN + "为" + SN + "成功!" + "操作人:" + User.UserCode);
                         //记录日志
                         LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakecode, User.UserLineCode, User.UserSourceCode, "序列烧录转换", "转换成功", TSN, "");
-                        //完成该道工序 setFinish
-                        LogicHandler.SetStepResult(ms_macode.Text, User.UserSourceCode, SN, "序列烧录转换", "序列烧录转换成功", User.UserCode, out errorMessage);
                         //写入sninfo表
                         insert2Sninfo(SN);
                         //输出提示用户“>>序列号转换成功”,“>>关联采集成功”
+                        //完成该道工序 setFinish
+                        if (LogicHandler.SetStepResult(ms_macode.Text, User.UserSourceCode, SN, "序列烧录转换", "序列烧录转换成功", User.UserCode, out errorMessage))
+                        {
+
+                        }
+                        else
+                        {
+                            OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, code);
+                        }
                         //获取剩余数,刷新页面
                         sql.Clear();
                         sql.Append("select mcd_inqty from makecraftdetail where mcd_macode='" + ms_macode.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");

+ 20 - 2
UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

@@ -32,6 +32,8 @@ namespace UAS_MES.Make
         string system = "";//进制
 
         bool flag = false;//标识是否只是过站
+
+        DataTable ListA;
         //存放工单中数量
         int ma_qty;
         string oMakeCode = "";
@@ -101,6 +103,15 @@ namespace UAS_MES.Make
                                         //ms_makecode_lock.Checked = true;
                                     }
                                 }
+                                //获取需要关联采集的信息,以及校验规则
+                                ListA = (DataTable)dh.ExecuteSql("select * from productsnrelation where psr_prodcode='" + ma_prodcode.Text + "' order by psr_detno", "select");
+                                //没有获取到就提示错误请维护产品对应的关联采集信息
+                                if (ListA.Rows.Count > 0)
+                                {
+                                    OperateResult.AppendText(">>产品已维护关联采集信息,不允许只做转号\n", Color.Red, sncode);
+                                    OperateResult.AppendText("<<请输入TSN\n", Color.Black);
+                                    return;
+                                }
                                 switch (ChangeResult.CheckState)
                                 {
                                     //勾选是修改已转换的序列,矫正修改错了的序列号
@@ -236,11 +247,18 @@ namespace UAS_MES.Make
                                 string insertSql = "insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')";
                                 dh.ExecuteSQLTran(updateSql, insertSql);
                                 OperateResult.AppendText(">>转换成功\n", Color.Green);
-                                //写入日志
-                                LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, sncode.Text, "序列转换", "序列转换成功", User.UserCode, out errorMessage);
                                 //记录日志
                                 LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", sncode.Text, "");
                                 LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
+                                //写入日志
+                                if (LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, sncode.Text, "序列转换", "序列转换成功", User.UserCode, out errorMessage))
+                                {
+
+                                }
+                                else
+                                {
+                                    OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, sncode);
+                                }
                                 OperateResult.AppendText(">>请输入TSN号\n", Color.Black);
                                 //置空
                                 bsncode = "";