From 9b9e70026e16c076dc784f51aa5bbb7f25d68a43 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期四, 22 二月 2024 13:47:18 +0800
Subject: [PATCH] PDA(首件/工序 检验单 扫码方法)

---
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs |  226 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 204 insertions(+), 22 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index 180eb6c..fceb653 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -373,19 +373,19 @@
                             {
                                 if (oSystemParameter.ShowBill(ref sErr))
                                 {
-                                    switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
                                     {
                                         case "宸ュ簭":
-                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ュ簭','" + BillNo_PGD + "'";
-                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'宸ュ簭','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
                                             break;
                                         case "鐗╂枡":
-                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'鐗╂枡','" + BillNo_PGD + "'";
-                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'鐗╂枡','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
                                             break;
                                         case "宸ヨ壓璺嚎":
-                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + BillNo_PGD + "'";
-                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
                                             break;
                                     }
 
@@ -393,30 +393,32 @@
                             }
                         }
                         break;
-                    case "GXCZ":
-                        ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HBillNo = '" + HBarCode + "'", "Sc_StationOutBillMain");
-                        Int64 HStationOutInterID = 0;
+                    case "GXJZ":
+                        //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                        string HBillNo = HBarCode.Substring(4, HBarCode.Length - 4);
+                        ds = oCN.RunProcReturn("select * from Sc_StationInBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationInBillMain");
+                        Int64 HStationInInterID = 0;
 
-                        if (ds != null || ds.Tables[0].Rows.Count != 0)
+                        if (ds != null || ds.Tables[0].Rows.Count > 0)
                         {
-                            HStationOutInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
+                            HStationInInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
                         }                        
 
                         if (oSystemParameter.ShowBill(ref sErr))
                         {
-                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
                             {
                                 case "宸ュ簭":
-                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ュ簭','" + HStationOutInterID + "'";
-                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ュ簭','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
                                     break;
                                 case "鐗╂枡":
-                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'鐗╂枡','" + HStationOutInterID + "'";
-                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'鐗╂枡','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
                                     break;
                                 case "宸ヨ壓璺嚎":
-                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ヨ壓璺嚎','" + HStationOutInterID + "'";
-                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ヨ壓璺嚎','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
                                     break;
                             }
 
@@ -425,7 +427,7 @@
                     case "MO00":
                         if (oSystemParameter.ShowBill(ref sErr))
                         {
-                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
                             {
                                 case "宸ュ簭":
                                     sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ュ簭','" + HBarCode + "'";
@@ -482,6 +484,184 @@
                     objJsonResult.data = "";
                     return objJsonResult;
                 }               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region PDA宸ュ簭妫�楠屽崟鎵爜鑾峰彇淇℃伅
+        [Route("MES_ProcessBill_PDA/HBarCode_KeyDown")]
+        [HttpGet]
+        public object HBarCode_KeyDown(string HBarCode, string HInterID, string UserID, string HBillType)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鎷嗗垎鏉″舰鐮�
+                string sBillBarCode = HBarCode.Trim();
+                string[] NewBarCode;
+                if (sBillBarCode.CompareTo("#") > 0)
+                {
+                    NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
+                    sBillBarCode = NewBarCode[0];
+                }
+                string sBillNo = sBillBarCode; //鏉″舰鐮�
+
+                string[] arr = sBillNo.Split('&'); //浠ョ鍙封��&鈥欏垎鍓叉潯褰㈢爜
+                string BillNo_PGD = arr[0]; //鍗曟嵁鍙�
+                string entryid_PGD = "";//瀛恑d
+                if (arr.Length > 1)
+                {
+                    entryid_PGD = arr[1];
+                }
+
+                //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
+                //鎴彇鏉$爜绫诲瀷2 鍓嶅洓浣�
+                string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
+                //鎴彇鍐呯爜
+                string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
+
+                string sErr = "";
+
+                switch (BillNoType2)
+                {
+                    case "GXLX"://娴佽浆鍗�
+
+                        string sql = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                            { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                            else
+                            {
+                                if (oSystemParameter.ShowBill(ref sErr))
+                                {
+                                    switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                                    {
+                                        case "宸ュ簭":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ュ簭','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "鐗╂枡":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'鐗╂枡','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "宸ヨ壓璺嚎":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                    }
+
+                                }
+                            }
+                        }
+                        break;
+                    case "GXCZ":
+                        ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HBillNo = '" + HBarCode + "'", "Sc_StationOutBillMain");
+                        Int64 HStationOutInterID = 0;
+
+                        if (ds != null || ds.Tables[0].Rows.Count > 0)
+                        {
+                            HStationOutInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
+                        }
+
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ュ簭','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'鐗╂枡','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ヨ壓璺嚎','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    case "MO00":
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ュ簭','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'鐗╂枡','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ヨ壓璺嚎','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    default:
+                        if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                        { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鏉$爜閿欒!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            break;
+                        }
+                }
+
+                switch (BillNoType)
+                //寰楀埌淇℃伅
+                {
+                    case "HCX"://鐢熶骇璧勬簮鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                        break;
+                }
+
+                if (ds != null)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖鏁版嵁锛屾潯鐮佸墠缂�閿欒銆�";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
             }
             catch (Exception e)
             {
@@ -917,6 +1097,8 @@
                 long HProcID = list[0].HProcID;//宸ュ簭ID
                 long HPRDORGID = list[0].HPRDORGID;//缁勭粐ID
                 bool HLastResult = list[0].HLastResult;//璇曟牱缁撹
+                long HProcExchInterID = list[0].HProcExchInterID;//娴佽浆鍗D
+                long HProcExchEntryID = list[0].HProcExchEntryID;//娴佽浆鍗″瓙ID
 
                 //琛ㄤ綋鏁版嵁
                 List<Model.ClsQC_FirstPieceCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillSub>>(msg_entry);
@@ -1002,10 +1184,10 @@
                     oCN.RunProc("Insert Into QC_FirstPieceCheckBillMain " +
                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
                     ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HProcExchBillNo" +
-                    ",HPRDORGID,HLastResult)" +
+                    ",HPRDORGID,HLastResult,HProcExchInterID,HProcExchEntryID)" +
                     " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" +
                     "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" +  
-                    "," + HPRDORGID + ",'" + HLastResult + "') ");
+                    "," + HPRDORGID + ",'" + HLastResult + "'," + HProcExchInterID + "," + HProcExchEntryID + ") ");
 
                     //鎻掑叆瀛愯〃
                     foreach (Model.ClsQC_FirstPieceCheckBillSub oSub in BillNew.DetailColl)

--
Gitblit v1.9.1