From a985e84471d68d7bcb886ef96655a9178447884c Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期三, 28 六月 2023 17:03:12 +0800
Subject: [PATCH] 新增其他入库、生产领料、委外出库、分步式调出、分步式调入扫描源单调用方法

---
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs |  303 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 302 insertions(+), 1 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index 5418030..5accdda 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -120,7 +120,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏈煡璇㈠埌娴佽浆鍗′俊鎭紒";
+                    objJsonResult.Message = "鏈煡璇㈠埌娴佹按鍙蜂俊鎭紒宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇锋坊鍔狅紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -141,6 +141,307 @@
         }
         #endregion
 
+        #region 濮斿宸ュ簭鍙戝嚭鍗曟祦姘村彿鍥炶溅鑾峰彇鏉$爜淇℃伅2
+        [Route("Cj_StationBill/txtHBarCode_KeyDown2")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown2(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));
+                switch (BillNoType2)
+                {
+                    case "GXLZ"://宸ュ簭娴佽浆娲惧伐
+                        ds = oCN.RunProcReturn("select * from h_v_Sc_ProcExchSendWorkBill  where 娲惧伐鍗曟嵁鍙� = '" + BillNo_PGD + "'" + " and HEntryID ='" + entryid_PGD + "'", "h_v_Sc_ProcExchSendWorkBill");
+                        break;
+                    case "GXLX"://娴佽浆鍗�
+                        string sErr = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                            { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                                if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y")
+                                {
+                                    ds = oCN.RunProcReturn($"exec h_p_ProcessExchangeBillLastHProNo '{BillNo_PGD}','{UserID}','{HBillType}'", "h_v_Gy_ProcessList_GetProcNoByUser");
+                                }
+                                else
+                                {
+                                    ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                                }
+                            }
+                            else if (entryid_PGD != "") //濡傛灉瀛恑d涓嶄负绌哄垯鍔犲叆瀛恑d杩囨护锛�
+                            {
+                                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'" + " and hsubid ='" + entryid_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                            else
+                            {
+                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                        }
+                        break;
+                }
+                switch (BillNoType)
+                //寰楀埌淇℃伅
+                {
+                    case "HCX"://鐢熶骇璧勬簮鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                        break;
+                    case "SBM"://璁惧鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_EquipMentList  where HItemID = '" + BillNo + "'", "h_v_Gy_EquipMentList");
+                        break;
+                    case "JYM"://鍛樺伐鐮�--妫�楠屽憳
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New");
+                        break;
+                    case "GRM"://鍛樺伐鐮�--鎿嶄綔鍛橈紝鎺ユ敹浜�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New");
+                        break;
+                    //case "CGM"://鍛樺伐鐮�
+                    //    ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New");
+                    //    break;
+                    case "HWH"://浠撳簱鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_WareHouseList  where 鏉$爜缂栧彿 = '" + HBarCode + "'", "h_v_Gy_WareHouseList");
+                        break;
+                    case "HSP"://浠撲綅鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_StockPlaceList  where 鏉$爜缂栧彿 = '" + HBarCode + "'", "h_v_Gy_StockPlaceList");
+                        break;
+                    case "WKM"://宸ヤ綔涓績鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_WorkCenterList  where HItemID = '" + BillNo + "'", "h_v_Gy_WorkCenterList");
+                        break;
+                    case "BZM"://鐝粍鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_GroupList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_GroupList");
+                        break;
+                    case "PRO"://宸ュ簭鐮�
+                        string sReturn = "";
+                        if (oSystemParameter.ShowBill(ref sReturn) == true)
+                        {
+                            if(HBillType == "In")
+                            {
+                                //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                                if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y")
+                                {
+                                    ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 鐢ㄦ埛缂栫爜 = '" + UserID + "'" + " order by 搴忓彿 asc", "h_v_Gy_ProcessList_GetProcNoByUser");
+                                }
+                                else
+                                {
+                                    ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo  where HItemID = '" + BillNo + "' and HInterID = '" + 
+                                      HInterID + "'" + " order by 搴忓彿 asc", "h_v_Gy_ProcessList_GetProcNo");
+                                }
+                            }
+                            else if(HBillType == "Out")
+                            {
+                                //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                                if (oSystemParameter.omodel.MES_StationOutBill_ShowUSERProcess == "Y")
+                                {
+                                    ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 鐢ㄦ埛缂栫爜 = '" + UserID + "'" + " order by 搴忓彿 asc", "h_v_Gy_ProcessList_GetProcNoByUser");
+                                }
+                                else
+                                {
+                                    ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo  where HItemID = '" + BillNo + "' and HInterID = '" +
+                                      HInterID + "'" + " order by 搴忓彿 asc", "h_v_Gy_ProcessList_GetProcNo");
+                                }
+                            }
+                        }
+                        break;
+                    case "WLM"://鐗╂枡鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_MaterialList  where HItemID = '" + BillNo + "'", "h_v_Gy_MaterialList");
+                        break;                    
+                }
+
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈煡璇㈠埌鏉$爜淇℃伅锛�";
+                    objJsonResult.data = null;
+                    if(BillNoType == "PRO")
+                    {
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList where HItemID = '" + BillNo + "'", "h_v_Gy_ProcessList");
+                        if (ds == null || ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.Message = "鏈煡璇㈠埌鏉$爜淇℃伅锛�";
+                        }
+                        else
+                        {
+                            objJsonResult.Message = "鐢ㄦ埛鏈叧鑱旂浉鍏冲伐搴忔垨娴佽浆鍗℃棤姝ゅ伐搴忥紝濡傛湁闇�瑕佽缁存姢";
+                        }
+                    }
+                    return objJsonResult;
+                }
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏍规嵁鐧诲綍鐢ㄦ埛鑾峰彇宸ュ簭
+        [Route("Sc_StationInBill/autoGetProcNo")]
+        [HttpGet]
+        public object autoGetProcNo(string HUserID, string HInterID, string BillType)
+        {
+            string sReturn = "";
+            if (oSystemParameter.ShowBill(ref sReturn) == true)
+            {
+                if(BillType == "In")//宸ュ簭杩涚珯鎺ユ敹鍗�
+                {
+                    //绯荤粺鍙傛暟鏄惁涓鸿嚜鍔ㄥ尮閰嶆祦姘村彿,N涓烘墜鍔ㄨ緭鍏ワ紝Y涓鸿嚜鍔ㄥ尮閰�
+                    if (oSystemParameter.omodel.MES_StationInBill_AutoFindSNO == "Y")
+                    {
+                        try
+                        {
+                            if (HUserID == null || HUserID.Equals(""))
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鐢ㄦ埛缂栫爜涓嶈兘涓虹┖锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            //寰楀埌淇℃伅                     
+                            ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and 鐢ㄦ埛缂栫爜 ='" + HUserID + "'" + " and 绱杩涚珯鏁伴噺 < 璁″垝鏁伴噺 and 涓嬮亾娴佽浆宸ュ簭<>'杞�' and 濮斿鏍囪=0 order by 搴忓彿 asc", "h_v_Sc_StationBill_autoGetProcNo");
+                            //鍐欏叆淇℃伅
+                            if (ds == null || ds.Tables[0].Rows.Count == 0)
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鏈煡璇㈠埌宸ュ簭淇℃伅锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "Sucess锛�";
+                            objJsonResult.data = ds.Tables[0];
+                            return objJsonResult;
+                        }
+                        catch (Exception e)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "Exception锛�" + e.ToString();
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎵嬪姩杈撳叆妯″紡";
+                        objJsonResult.data = "";
+                        return objJsonResult;
+                    }
+                }
+                else if(BillType == "Out")//宸ュ簭鍑虹珯姹囨姤鍗�
+                {
+                    //绯荤粺鍙傛暟鏄惁涓鸿嚜鍔ㄥ尮閰嶆祦姘村彿,N涓烘墜鍔ㄨ緭鍏ワ紝Y涓鸿嚜鍔ㄥ尮閰�
+                    if (oSystemParameter.omodel.MES_StationOutBill_AutoFindSNO == "Y")
+                    {
+                        try
+                        {
+                            if (HUserID == null || HUserID.Equals(""))
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鐢ㄦ埛缂栫爜涓嶈兘涓虹┖锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            //寰楀埌淇℃伅
+                            ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and 鐢ㄦ埛缂栫爜 ='" + HUserID + "'" + " and 绱鍑虹珯鏁伴噺 < 璁″垝鏁伴噺 and 涓嬮亾娴佽浆宸ュ簭<>'杞�' and 濮斿鏍囪=0 order by 搴忓彿 asc", "h_v_Sc_StationBill_autoGetProcNo");
+                            //鍐欏叆淇℃伅
+                            if (ds == null || ds.Tables[0].Rows.Count == 0)
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鏈煡璇㈠埌宸ュ簭淇℃伅锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "Sucess锛�";
+                            objJsonResult.data = ds.Tables[0];
+                            return objJsonResult;
+                        }
+                        catch (Exception e)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "Exception锛�" + e.ToString();
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎵嬪姩杈撳叆妯″紡";
+                        objJsonResult.data = "";
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    return 0;
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绯荤粺鍙傛暟寮傚父";
+                objJsonResult.data = "";
+                return objJsonResult;
+            }
+
+            
+        }
+        #endregion
+
 
         #region 鍑虹珯姹囨姤鍗曟樉绀鸿〃浣撴槑缁�
         [Route("Cj_StationEntrustInBill/DisBillEntryList")]

--
Gitblit v1.9.1