Browse Source

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

Hcsy 8 years ago
parent
commit
41ed56fcdb

+ 11 - 1
UAS-MES/FunctionCode/Make/Make_ColorBoxLoadPrint.cs

@@ -157,13 +157,15 @@ namespace UAS_MES.Make
                             {
                                 if (LogicHandler.CheckStepSNAndMacode(macode, User.UserSourceCode, code.Text, User.UserCode, out macode, out Msid, out ErrorMessage))
                                 {
-                                    dt = (DataTable)dh.ExecuteSql("select ms_firstsn,cm_id,cm_stepcode,ms_makecode,cm_mccode from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + code.Text + "' and cm_makecode='" + macode + "'", "select");
+                                    dt = (DataTable)dh.ExecuteSql("select ms_firstsn,cm_id,cm_stepcode,ms_makecode,cm_mccode,cm_makecode,cm_craftcode from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + code.Text + "' and cm_makecode='" + macode + "'", "select");
                                     if (dt.Rows.Count > 0)
                                     {
                                         string ms_macode = dt.Rows[0]["ms_makecode"].ToString();
                                         ms_firstsn = dt.Rows[0]["ms_firstsn"].ToString();
                                         string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
                                         string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
+                                        string cm_makecode = dt.Rows[0]["cm_makecode"].ToString();
+                                        string cm_craftcode = dt.Rows[0]["cm_craftcode"].ToString();
                                         //进行下料
                                         sql.Clear();
                                         sql.Append("delete from craftmaterial where (cm_sncode in (select sn from makesnrelation where firstsn");
@@ -174,6 +176,12 @@ namespace UAS_MES.Make
                                         int count = dh.getRowCount("craftMaterial", "cm_mccode='" + cm_mccode + "' and cm_stepcode='" + cm_stepcode + "' and cm_sncode='" + code.Text + "'");
                                         if (count == 0)
                                             dh.UpdateByCondition("makecraftdetail ", "mcd_inqty=mcd_inqty-1,mcd_outqty=mcd_outqty-1,mcd_okqty = mcd_okqty - 1", "mcd_mccode='" + cm_mccode + "' and mcd_stepcode='" + cm_stepcode + "'");
+                                        sql.Clear();
+                                        sql.Append("update makeserial set ms_nextmacode='' where ms_sncode in(select cm_barcode from craftmaterial where ");
+                                        sql.Append("cm_makecode='" + cm_makecode + "' and cm_stepcode='" + cm_stepcode + "' and cm_craftcode='" + cm_craftcode + "' ");
+                                        sql.Append("and cm_materialtype=1 and nvl(cm_status,0) =0) and ms_nextmacode='" + ma_code.Text + "'");
+                                        dh.ExecuteSql(sql.GetString(), "update");
+                                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "上料采集", "下料成功", code.Text, "");
                                         OperateResult.AppendText(">>序列号" + code.Text + "下料成功\n", Color.Green, code);
                                     }
                                     else OperateResult.AppendText(">>该序列号未上料,无需下料\n", Color.Red, code);
@@ -220,6 +228,8 @@ 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());
+                            //更新半成品SN已被工单使用
+                            dh.ExecuteSql("update makeserial set ms_nextmacode='" + ma_code.Text + "' where ms_id=(select max(ms_id) from makeserial where ms_sncode='" + ms_sncode.Text + "' and ms_makecode<>'" + ma_code.Text + "')", "update");
                             OperateResult.AppendText(">>序列号" + ms_sncode.Text + "对应的物料已经采集完成\n", Color.Green);
                             doc = lbl.Documents.Open(ftpOperater.DownLoadTo+ PrintLabel.Text);
                             Print.CodeSoft(Tag.ToString(), doc, PrintLabel.Text, PrintLabel.SelectedValue.ToString(), Printer.Text, ms_sncode.Text, int.Parse(PrintNum.Text), indate[PrintLabel.SelectedIndex]);

+ 2 - 2
UAS-MES/FunctionCode/Make/Make_PackageCollectionWeigh.cs

@@ -191,7 +191,7 @@ namespace UAS_MES.Make
                 {
                     dh.ExecuteSql("update package set pa_printcount=pa_printcount+1 where pa_outboxcode='" + pa_outboxcode.Text + "'", "update");
                     OperateResult.AppendText(">>开始打印箱号" + pa_outboxcode.Text + "\n", Color.Black);
-                    doc = lbl.Documents.Open(ftpOperater.DownLoadTo+ PrintLabel.Text.Split(':')[1]);
+                    doc = lbl.Documents.Open(ftpOperater.DownLoadTo + PrintLabel.Text.Split(':')[1]);
                     Print.CodeSoft(Tag.ToString(), doc, PrintLabel.Text.Split(':')[1], PrintLabel.SelectedValue.ToString(), PrintList.Text, pa_outboxcode.Text, int.Parse(PrintNum.Text), indate[PrintLabel.SelectedIndex]);
                 }
                 else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "尚未封箱,请封箱后执行打印\n", Color.Red);
@@ -258,7 +258,7 @@ namespace UAS_MES.Make
                             switch (pr_packrule.Text.ToUpper())
                             {
                                 case "MAKE":
-                                    if (dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_id='" + oMsID + "'").ToString() != pa_makecode.Text)
+                                    if (dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_id='" + oMsID + "'").ToString() != pa_makecode.Text && pa_makecode.Text != "")
                                     {
                                         OperateResult.AppendText(">>序列号" + sn_code.Text + "所属工单和当前箱号工单不相等\n", Color.Red, sn_code);
                                         return;

+ 13 - 5
UAS-MES/FunctionCode/Make/Make_TestCollection.cs

@@ -413,12 +413,16 @@ namespace UAS_MES.Make
                 string[] bccode = new string[RejectCount];
                 string[] bcremark = new string[RejectCount];
                 string[] bgcode = new string[RejectCount];
+                string[] bgname = new string[RejectCount];
+                string[] bcname = new string[RejectCount];
                 if (AutoBadCode.Checked)
                 {
                     string defaultvalue = Properties.Settings.Default.DefaultCollectionValue;
                     bccode = new string[] { defaultvalue };
                     bcremark = new string[] { defaultvalue };
                     bgcode = new string[] { defaultvalue };
+                    bgname = new string[] { defaultvalue };
+                    bcname = new string[] { defaultvalue };
                 }
                 else
                 {
@@ -431,17 +435,21 @@ namespace UAS_MES.Make
                     {
                         for (int i = 0; i < RejectCount; i++)
                         {
-                            //截取分号前面的内容
+                            //获取不良代码组
                             bgcode[i] = ChoosedRejectList.Items[i].SubItems[1].Text.Split(':')[0];
+                            //获取不良代码组名称
+                            bgname[i] = ChoosedRejectList.Items[i].SubItems[1].Text.Split(':')[1];
                             //获取所有的不良代码
                             bccode[i] = ChoosedRejectList.Items[i].SubItems[2].Text;
+                            //获取不良名称
+                            bcname[i] = ChoosedRejectList.Items[i].SubItems[3].Text;
                             //获取所有的不良备注
                             bcremark[i] = bc_remark.Text;
                         }
                     }
                 }
                 //如果之前是良品的
-                dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "ms_checkno" }, "ms_id='"+oMSID+"' and ms_stepcode='" + User.CurrentStepCode + "'");
+                dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "ms_checkno" }, "ms_id='" + oMSID + "' and ms_stepcode='" + User.CurrentStepCode + "'");
                 if (dt.Rows.Count > 0)
                 {
                     string status = dt.Rows[0]["ms_status"].ToString();
@@ -449,18 +457,18 @@ namespace UAS_MES.Make
                     {
                         dh.UpdateByCondition("steppassed", "sp_result='不良品',sp_ifng=-1,sp_ymd=to_char(sysdate,'yyyymmdd'),sp_hm=to_char(sysdate,'hh24miss')", "sp_id=(select max(sp_id) from steppassed where sp_sncode='" + ms_sncode.Text + "')");
                         dh.UpdateByCondition("makecraftdetail", "mcd_okqty=mcd_okqty-1", "mcd_macode='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
-                        dh.UpdateByCondition("makeserial", "ms_nextstepcode=''", "ms_id='"+oMSID+"'");
+                        dh.UpdateByCondition("makeserial", "ms_nextstepcode=''", "ms_id='" + oMSID + "'");
                         LogicHandler.InsertMakeProcess(ms_sncode.Text, ma_code.Text, User.UserSourceCode, "良品采集成不良", "测试不良", User.UserCode);
                         LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "测试不良", "良品采集成不良", ms_sncode.Text, ob_checkno.Text);
                     }
                     string checkno = dt.Rows[0]["ms_checkno"].ToString();
                     //存在抽检批次更新为空
                     if (checkno != "")
-                        dh.UpdateByCondition("makeserial", "ms_checkno=''", "ms_id='"+oMSID+"'");
+                        dh.UpdateByCondition("makeserial", "ms_checkno=''", "ms_id='" + oMSID + "'");
                 }
                 //不良信息采集,mb_status<>0的是之前维修保存的,不能删除
                 dh.ExecuteSql("delete from makebad where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "' and nvl(mb_status,0)=0", "delete");
-                if (LogicHandler.SetTestNGDetail(ms_sncode.Text, ma_code.Text, User.UserCode, User.UserSourceCode, "检查未通过", bgcode, bccode, bcremark, out ErrorMessage))
+                if (LogicHandler.SetTestNGDetail(ms_sncode.Text, ma_code.Text, User.UserCode, User.UserSourceCode, "检查未通过", bgcode, bccode, bgname, bcname, bcremark, out ErrorMessage))
                 {
                     LastSncode = ms_sncode.Text;
                     OperateResult.AppendText(">>" + ms_sncode.Text + "成功采集为不良\n", Color.Green);

+ 1 - 0
UAS-MES/FunctionCode/OQC/OQC_CheckNoSplit.cs

@@ -98,6 +98,7 @@ namespace UAS_MES.OQC
                         sqls[3] = "delete from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "' and obd_sncode in (" + CheckSn + ") and obd_makecode='"+ ob_makecode + "'";
                         sqls[4] = "update OQCBatch set ob_nowcheckqty=(select count(1) from oqcbatchdetail where obd_checkno='" + ob_checkno.Text + "') where ob_checkno='" + ob_checkno.Text + "'";
                         dh.ExecuteSQLTran(sqls);
+                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, "", User.UserLineCode, User.UserSourceCode, "抽检批拆解", "拆解成功", "", ob_checkno.Text);
                         GetBatch.PerformClick();
                         OperateResult.AppendText(">>批次" + ob_checkno.Text + "拆解成功\n ", Color.Green);
                     }

+ 6 - 6
UAS-MES/PublicMethod/LogicHandler.cs

@@ -573,7 +573,7 @@ namespace UAS_MES.PublicMethod
         public static bool SetStepFinish(string iMakeCode, string iSourceCode, string iSN, string iMPKind, string iResult, string iUserCode, out string oErrorMessage)
         {
             oErrorMessage = "";
-            string StepCode = dh.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='"+iMakeCode+"'").ToString();
+            string StepCode = dh.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'").ToString();
             string CurrentStep = GetStepCodeBySource(iSourceCode);
             if (StepCode == CurrentStep)
             {
@@ -701,7 +701,7 @@ namespace UAS_MES.PublicMethod
         /// <param name="iBadRemark"></param>
         /// <param name="oErrorMessage"></param>
         /// <returns></returns>
-        public static bool SetTestNGDetail(string iSnCode, string iMakeCode, string iUserCode, string iSourceCode, string iResult, string[] iBadGroupCode, string[] iBadCode, string[] iBadRemark, out string oErrorMessage)
+        public static bool SetTestNGDetail(string iSnCode, string iMakeCode, string iUserCode, string iSourceCode, string iResult, string[] iBadGroupCode, string[] iBadCode, string[] iBadGroupName, string[] iBadName, string[] iBadRemark, out string oErrorMessage)
         {
             oErrorMessage = "";
             string StepCode = "";
@@ -711,11 +711,11 @@ namespace UAS_MES.PublicMethod
             GetStepCodeAndNameBySource(iSourceCode, ref StepCode, ref StepName);
             sql.Clear();
             sql.Append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
-            sql.Append(",mb_sourcecode,mb_badcode,mb_bgcode,mb_badtable,mb_soncode,mb_status,mb_badremark)");
+            sql.Append(",mb_sourcecode,mb_badcode,mb_bgcode,mb_badtable,mb_soncode,mb_status,mb_badremark,mb_bgname,mb_badname)");
             sql.Append("select makebad_seq.nextval,ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + StepCode + "',ms_sourcecode,:bc_code,:bg_code,'',");
-            sql.Append("sp_soncode,'0',:bc_remark from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
+            sql.Append("sp_soncode,'0',:bc_remark,:bg_name,:bc_name from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
             sql.Append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSnCode + "' and ms_makecode='" + iMakeCode + "'");
-            dh.BatchInsert(sql.ToString(), new string[] { "bc_code", "bg_code", "bc_remark" }, iBadCode, iBadGroupCode, iBadRemark);
+            dh.BatchInsert(sql.ToString(), new string[] { "bc_code", "bg_code", "bc_remark", "bg_name", "bc_name" }, iBadCode, iBadGroupCode, iBadRemark, iBadGroupName, iBadName);
             //更新序列号已经采集的工序 ms_paststep 已采集数据,更新下一工序
             //如果存在送检批号则进行删除
             if (dh.CheckExist("oqcbatchdetail", "obd_sncode='" + iSnCode + "'"))
@@ -1011,7 +1011,7 @@ namespace UAS_MES.PublicMethod
             switch (iRule)
             {
                 case "TSN":
-                    dt = (DataTable)dh.ExecuteSql("select ms_id,ms_prodcode,ms_nextmacode,ms_salecode,ms_downstatus from makeserial where ms_sncode='" + iSN + "' and ms_makecode='"+iMakeCode+"' and ms_status=2 order by ms_id desc", "select");
+                    dt = (DataTable)dh.ExecuteSql("select ms_id,ms_prodcode,ms_nextmacode,ms_salecode,ms_downstatus from makeserial where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "' and ms_status=2 order by ms_id desc", "select");
                     if (dt.Rows.Count > 0)
                     {
                         if (dt.Rows[0]["ms_downstatus"].ToString() != "0")