From 170dc25004f6d0a22add0d71fdec602545902999 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期二, 11 十一月 2025 10:38:18 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/条码管理/WEBSController.cs |  402 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 368 insertions(+), 34 deletions(-)

diff --git "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
index 100555b..1180941 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
@@ -2166,50 +2166,73 @@
         [HttpGet]
         public object set_DeleteICStockBillAndWMS_Json(Int64 HInterID, string HBillNo, string HBillType, string HMaker, string MvarReportTitle)
         {
-            try
+            //鑾峰彇绯荤粺鍙傛暟
+            string sErrMsg = "";
+            if (oSystemParameter.ShowBill(ref sErrMsg) == true)
             {
-                string WorkList = "鎾ら攢宸蹭笂浼犲崟鎹紝鍗曟嵁鍙凤細" + HBillNo;
-                string SystemName = "WMS-" + MvarReportTitle + "妯″潡";
-                oCn.BeginTran();
-                ds = oCn.RunProcReturn("exec h_p_WMS_ICStockBillAndWMS_Delete " + HInterID + ",'" + HBillNo + "','" + HBillType + "'", "h_p_WMS_ICStockBillAndWMS_Delete");
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                //鎾ら攢鍓嶅垽鏂噾铦朵簯涓崟鎹槸鍚﹀瓨鍦�
+                if (!GetBillQuery_WMS(HInterID, HBillNo, HBillType, HMaker, oSystemParameter.omodel.WMS_CloudMode, oSystemParameter.omodel.WMS_WMSStockCtl_ERPMode, 2, ref sErrMsg))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = sErrMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                try
+                {
+                    oCn.BeginTran();
+                    ds = oCn.RunProcReturn("exec h_p_WMS_ICStockBillAndWMS_Delete " + HInterID + ",'" + HBillNo + "','" + HBillType + "'", "h_p_WMS_ICStockBillAndWMS_Delete");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        oCn.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎾ら攢鍗曟嵁宸蹭笂浼犺褰曞け璐ワ紝鎾ら攢鍗曟嵁鍒ゆ柇閿欒锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        oCn.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;  //澶辫触锛�
+                        objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        string WorkList = "鎾ら攢宸蹭笂浼犲崟鎹紝鍗曟嵁鍙凤細" + HBillNo;
+                        string SystemName = "WMS-" + MvarReportTitle + "妯″潡";
+                        //鍐欏叆鏃ュ織
+                        oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
+                            "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','鎾ら攢')"
+                            );
+                        oCn.Commit();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;  //鎴愬姛锛�
+                        objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                catch (Exception e)
                 {
                     oCn.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鎾ら攢鍗曟嵁宸蹭笂浼犺褰曞け璐ワ紝鎾ら攢鍗曟嵁鍒ゆ柇閿欒锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
-                {
-                    oCn.RollBack();
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;  //澶辫触锛�
-                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                else
-                {
-                    //鍐欏叆鏃ュ織
-                    oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
-                        "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','鎾ら攢')"
-                        );
-                    oCn.Commit();
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 1;  //鎴愬姛锛�
-                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                    objJsonResult.Message = "鎾ら攢鍗曟嵁宸蹭笂浼犺褰曞け璐ワ紒" + e.ToString();
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
-            catch (Exception e)
+            else
             {
-                oCn.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "鎾ら攢鍗曟嵁宸蹭笂浼犺褰曞け璐ワ紒" + e.ToString();
+                objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -2349,10 +2372,18 @@
                     sFIFOCtl = "Y";
                 }
 
+                //鍒犻櫎鍓嶅垽鏂噾铦朵簯涓崟鎹槸鍚﹀瓨鍦�
+                if (!GetBillQuery_WMS(HInterID, HBillNo, HBillType, HMaker, oSystemParameter.omodel.WMS_CloudMode, sERPMode, 1, ref sErrMsg))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = sErrMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 try
                 {
-                    string WorkList = "鍒犻櫎缂撳瓨鍗曟嵁锛屽崟鎹彿锛�" + HBillNo;
-                    string SystemName = "WMS-" + MvarReportTitle + "妯″潡";
                     oCn.BeginTran();
                     ds = oCn.RunProcReturn("exec h_p_WMS_PonderationBillMain_Temp_Delete " + HInterID + ",'" + HBillNo + "','" + HBillType + "','" + sFIFOCtl + "','" + sERPMode + "'", "h_p_WMS_PonderationBillMain_Temp_Delete");
                     if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -2375,6 +2406,8 @@
                     }
                     else
                     {
+                        string WorkList = "鍒犻櫎缂撳瓨鍗曟嵁锛屽崟鎹彿锛�" + HBillNo;
+                        string SystemName = "WMS-" + MvarReportTitle + "妯″潡";
                         //鍐欏叆鏃ュ織
                         oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                             "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','鍒犻櫎')"
@@ -2444,6 +2477,210 @@
             }
         }
 
+        #endregion
+
+        #region 閲戣澏浜戝崟鎹煡璇�
+        public bool GetBillQuery_WMS(Int64 HInterID, string HBillNo, string HBillType, string HMaker, string sCloudMode, string sERPMode, Int64 sHType, ref string sErrMsg)
+        {
+            //sCloudMode锛氱郴缁熷弬鏁�  鏄惁涓虹鏈変簯妯″紡(N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡)锛�
+            //sERPMode锛氱郴缁熷弬鏁�  搴撳瓨鎺у埗-WMS搴撳瓨鎺у埗ERP妯″紡	(WISE銆丆LOUD銆丮ES)锛�
+            //sHType锛氬�� 1 瀵瑰簲缂撳瓨鍒楄〃鍒犻櫎锛涘�� 2 瀵瑰簲宸蹭笂浼犳挙閿�锛�
+
+            //鍏湁浜戞ā寮�
+            if (sCloudMode == "N")
+            {
+                string sFormId = "";    //涓氬姟瀵硅薄琛ㄥ崟Id
+
+                //鐢熶骇姹囨姤鍗�
+                if (HBillType == "3711")
+                {
+                    sFormId = "PRD_MORPT";
+                }
+                //閲囪喘鍏ュ簱鍗曘�佸澶栧叆搴撳崟
+                else if (HBillType == "1201" || HBillType == "1210")
+                {
+                    sFormId = "STK_InStock";
+                }
+                //鐢熶骇鍏ュ簱鍗�
+                else if (HBillType == "1202")
+                {
+                    sFormId = "PRD_INSTOCK";
+                }
+                //鍏朵粬鍏ュ簱鍗�
+                else if (HBillType == "1203")
+                {
+                    sFormId = "STK_MISCELLANEOUS";
+                }
+                //棰嗘枡鍑哄簱鍗�
+                else if (HBillType == "1204")
+                {
+                    sFormId = "PRD_PickMtrl";
+                }
+                //閿�鍞嚭搴撳崟
+                else if (HBillType == "1205")
+                {
+                    sFormId = "SAL_OUTSTOCK";
+                }
+                //鍏朵粬鍑哄簱鍗�
+                else if (HBillType == "1206")
+                {
+                    sFormId = "STK_MisDelivery";
+                }
+                //濮斿鍑哄簱鍗�
+                else if (HBillType == "1211")
+                {
+                    sFormId = "SUB_PickMtrl";
+                }
+                //鐢熶骇琛ユ枡鍗�
+                else if (HBillType == "1254")
+                {
+                    sFormId = "PRD_FeedMtrl";
+                }
+                //濮斿琛ユ枡鍗�
+                else if (HBillType == "1255")
+                {
+                    sFormId = "SUB_FEEDMTRL";
+                }
+                //鐩存帴璋冩嫧鍗�
+                else if (HBillType == "1207")
+                {
+                    sFormId = "STK_TransferDirect";
+                }
+                //鍒嗘寮忚皟鍑哄崟
+                else if (HBillType == "1250")
+                {
+                    sFormId = "STK_TRANSFEROUT";
+                }
+                //鍒嗘寮忚皟鍏ュ崟
+                else if (HBillType == "1251")
+                {
+                    sFormId = "STK_TRANSFERIN";
+                }
+                //閲囪喘閫�鏂欏崟锛堥噰璐叆搴撳崟绾㈠瓧锛�
+                else if (HBillType == "1239")
+                {
+                    sFormId = "PUR_MRB";
+                }
+                //鐢熶骇閫�搴撳崟锛堜骇鍝佸叆搴撳崟绾㈠瓧锛�
+                else if (HBillType == "1245")
+                {
+                    sFormId = "PRD_RetStock";
+                }
+                //鍏朵粬鍏ュ簱鍗曪紙绾㈠瓧锛�
+                else if (HBillType == "1248")
+                {
+                    sFormId = "";
+                }
+                //濮斿閫�搴撳崟锛堝澶栧叆搴撳崟绾㈠瓧锛�
+                else if (HBillType == "1246")
+                {
+                    sFormId = "";
+                }
+                //鐢熶骇閫�鏂欏崟锛堢敓浜ч鏂欏崟绾㈠瓧锛�
+                else if (HBillType == "1244")
+                {
+                    sFormId = "PRD_ReturnMtrl";
+                }
+                //閿�鍞��璐у崟锛堥攢鍞嚭搴撳崟绾㈠瓧锛�
+                else if (HBillType == "1247")
+                {
+                    sFormId = "SAL_RETURNSTOCK";
+                }
+                //鍏朵粬鍑哄簱鍗曪紙绾㈠瓧锛�
+                else if (HBillType == "1249")
+                {
+                    sFormId = "";
+                }
+                //濮斿閫�鏂欏崟锛堝澶栧嚭搴撳崟绾㈠瓧锛�
+                else if (HBillType == "1238")
+                {
+                    sFormId = "SUB_RETURNMTRL";
+                }
+
+                //鐧诲綍閲戣澏
+                var loginRet = InvokeHelper.Login();
+                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+                if (isSuccess < 0)
+                {
+                    sErrMsg = "榛樿閲戣澏浜戣处鍙风櫥褰曞け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    //鍗曟嵁鏌ヨ
+                    var sJson = new
+                    {
+                        FormId = sFormId,
+                        FieldKeys = "FBillNo",
+                        FilterString = $@"FBillNo='{HBillNo}'",
+                        OrderString = "",
+                        TopRowCount = 0,
+                        StartRow = 0,
+                        Limit = 0
+                    };;
+                    var _result = InvokeHelper.Query(sFormId, JsonConvert.SerializeObject(sJson));
+                    var _saveObj = JArray.Parse(_result);
+
+                    //鍒ゆ柇杩斿洖鐨勬暟缁勪腑鏈夋棤鏁版嵁锛屾棤鏁版嵁浠h〃娌℃煡璇㈠埌瀵瑰簲鍗曟嵁
+                    if (_saveObj.Count == 0)
+                    {
+                        return true;
+                    }
+                    else
+                    {
+                        //sHType = 1瀵瑰簲缂撳瓨鍒楄〃鍒犻櫎
+                        if (sHType == 1)
+                        {
+                            //鍒ゆ柇杩斿洖鐨勬暟缁勬暟鎹腑鏄惁瀛樺湪"false"锛屽瓨鍦ㄤ唬琛ㄩ�掑叆鐨勪笟鍔″璞¤〃鍗旾d涓嶆纭�
+                            if (_saveObj[0][0].ToString().Contains("false") == true)
+                            {
+                                return true;
+                            }
+                            else
+                            {
+                                sErrMsg = "鏁版嵁瀛樺湪寮傚父锛屼笉鍏佽鍒犻櫎锛佸崟鎹彿锛�" + HBillNo + " 鍦ㄩ噾铦朵簯涓凡鐢熸垚鍗曟嵁锛岃鍏堝湪閲戣澏浜戦噷鍒犻櫎璇ュ崟鎹紝骞跺湪缂撳瓨鍒楄〃鐨勫凡涓婁紶鐣岄潰鎾ら攢璇ュ崟鎹紝鍐嶅璇ュ崟鎹繘琛岀紪杈戞垨鍒犻櫎鎿嶄綔锛�";
+                                return false;
+                            }
+                        }
+                        //sHType = 2瀵瑰簲宸蹭笂浼犳挙閿�
+                        else
+                        {
+                            //鍒ゆ柇杩斿洖鐨勬暟缁勬暟鎹腑鏄惁瀛樺湪"false"锛屽瓨鍦ㄤ唬琛ㄩ�掑叆鐨勪笟鍔″璞¤〃鍗旾d涓嶆纭�
+                            if (_saveObj[0][0].ToString().Contains("false") == true)
+                            {
+                                sErrMsg = "姝ゆā鍧楁殏涓嶆敮鎸佹挙閿�鍔熻兘锛�";
+                                return false;
+                            }
+                            else
+                            {
+                                sErrMsg = "鎾ら攢鍗曟嵁澶辫触锛屽崟鎹彿锛�" + HBillNo + "锛岄噾铦朵簯閲屾湭鍒犻櫎锛屼笉鍏佽鎾ら攢锛�";
+                                return false;
+                            }
+                        }
+                    }
+                }
+            }
+            //绉佹湁浜戞ā寮�
+            else
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_BillQuery " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + sERPMode + "'," + sHType.ToString(), "h_p_WMS_BillQuery");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鍗曟嵁鏌ヨ鍙戠敓閿欒锛�";
+                    return false;
+                }
+                else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+                else
+                {
+                    return true;
+                }
+            }
+        }
         #endregion
 
         #endregion
@@ -4736,6 +4973,33 @@
             }
         }
 
+        #endregion
+
+        #region 灏忓崼缁勬墭鏉$爜灞曠ず
+        [Route("WEBSController/get_SavePackUnion_xiaowei")]
+        [HttpGet]
+        public object get_SavePackUnion_xiaowei(string HBarCode_Pack)
+        {
+            try
+            {
+
+                DataSet ds=oCn.RunProcReturn($"select * from h_v_get_PackUnionBill where 鏍堟澘鐮�='{HBarCode_Pack}'", "h_v_get_PackUnionBill");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "success";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //澶辫触锛�
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
         #endregion
 
         #region 涓婃枡闃查敊鍗�     涓婁紶鐢熷崟
@@ -8014,6 +8278,76 @@
 
         #endregion
 
+        #region 鐢熶骇缁勬墭鍗曟ā鍧� 鎵弿鎵樻潯鐮佸搴旀潯鐮�--xiaowei    20250630
+
+        /// <summary>
+        /// 鐢熶骇缁勬墭鍗曟ā鍧� 鎵弿鎵樻潯鐮佸搴旀潯鐮�
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/get_BarCode_PackUnionBill_New_Json_xiaowei")]
+        [HttpGet]
+        public object get_BarCode_PackUnionBill_New_Json_xiaowei(string HBarCode, Int64 HInterID, string HBillNo, string HBillType, string HBillSubType, string HBarCode_Pack, string HMaterNumber_Pack, string HMaker, Int64 HStockOrgID)
+        {
+            //鑾峰彇绯荤粺鍙傛暟
+            string sErrMsg = "";
+            if (oSystemParameter.ShowBillByOrgID(HStockOrgID, ref sErrMsg) == true)
+            {
+                string sMaterialCtl = "Y";          //缁勬墭鐗╂枡鏄惁涓�鑷存帶鍒讹紙Y涓烘帶鍒讹級
+                string sSourceBillTypeCtl = "Y";    //鏈叆搴撴潯鐮佽繘琛岀粍鎵樻椂锛岃繘琛屽悓婧愬崟绫诲瀷鎺у埗锛圷涓烘帶鍒讹級
+                string sSourceBillNoCtl = "Y";      //鏈叆搴撴潯鐮佽繘琛岀粍鎵樻椂锛岃繘琛屽悓婧愬崟鎺у埗锛圷涓烘帶鍒讹級
+                sMaterialCtl = oSystemParameter.omodel.Sc_PackUnionBill_MaterialCtl.ToUpper();
+                sSourceBillTypeCtl = oSystemParameter.omodel.Sc_PackUnionBill_SourceBillTypeCtl.ToUpper();
+                sSourceBillNoCtl = oSystemParameter.omodel.Sc_PackUnionBill_SourceBillNoCtl.ToUpper();
+
+                try
+                {
+                    ds = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_PackUnionBill_New_xiaowei '" + HBarCode + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HBillSubType + "','" + HBarCode_Pack + "','" + HMaterNumber_Pack + "','" + sMaterialCtl + "','" + sSourceBillTypeCtl + "','" + sSourceBillNoCtl + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_WMS_AddBarCode_PackUnionBill_New");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎵弿鏉$爜鍙戠敓閿欒锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鎴愬姛锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                catch (Exception e)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鎵弿鏉$爜澶辫触锛�" + e.ToString();
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
         #region 鐢熶骇缁勬墭鍗曟ā鍧� 鎵弿瀹㈡埛鎵樻潯鐮佸搴旀潯鐮�  -鍑礉瑁呯鍗�     20251103
 
         /// <summary>

--
Gitblit v1.9.1