From 68c930d60394ec8f741e41d82465a916836d4bdf Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 26 十月 2022 08:45:12 +0800
Subject: [PATCH] 优化

---
 WebAPI/Controllers/POStockInBillController.cs |   96 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 87 insertions(+), 9 deletions(-)

diff --git a/WebAPI/Controllers/POStockInBillController.cs b/WebAPI/Controllers/POStockInBillController.cs
index 3619b9b..2aa0519 100644
--- a/WebAPI/Controllers/POStockInBillController.cs
+++ b/WebAPI/Controllers/POStockInBillController.cs
@@ -1474,8 +1474,25 @@
                 DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill();
                 var hinterID = list[0].HInterID;
                 var FID = list[0].FID;
+
+                #region 鏍¢獙鏄惁鎵弿鏉$爜
+                var HInterID = list[0].HInterID;
+                string jysql = string.Format(@"select * from KF_PonderationBillMain_Temp where HSourceInterID = {0}", HInterID);
+                DataTable jyDt =oCn.RunProcReturn(jysql, "jysql").Tables[0];
+                if (jyDt.Rows.Count == 0 || jyDt == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇锋壂鎻忔潯鐮�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                #endregion
+                #region 閲戣澏瀹℃牳鍚庝細閲嶆柊鍚屾鍗曟嵁鍒癿es 鏁呬笉闇�瑕佹洿鏂癿es鐨勬敹鏂欓�氱煡鍗� 
+                /*
                 oCn.BeginTran();
                 string sql = string.Empty;
+
                 foreach (var item in list)
                 {
                     if (item.HSQty == 0)
@@ -1484,6 +1501,15 @@
                     oCn.RunProc(sql);
                 }
                 oCn.RunProc("exec h_p_Cg_UpDatePOOrderRelation_Del " + hinterID);//鍒犻櫎鍏宠仈鍏崇郴
+                sql = string.Format(@"update Cg_POInStockBillMain set 
+HBillStatus = 2 ,
+HCheckDate   = getdate()
+where HInterID in ({0})", HInterID);
+                oCn.RunProc(sql);//鏇存柊mes鐘舵��  
+                //鏇存柊鎴愬姛鍚� 鍚屾鏇存柊閲戣澏
+                oCn.Commit();
+                **/
+                #endregion
 
                 JObject jsonRoot = new JObject();
                 jsonRoot.Add("Creator", "");
@@ -1496,17 +1522,16 @@
                 JObject jsonModel = new JObject();
                 jsonModel.Add("FID", FID);
                 JArray Entry = new JArray();
-
                 foreach (var item in list)
                 {
                     if (item.HSQty == 0)
                         continue;
                     JObject jsonFPOOrderEntry = new JObject();
                     jsonFPOOrderEntry.Add("FEntryID", item.FEntryID);
-                    jsonFPOOrderEntry.Add("FHQty ", item.HSQty); ;
+                    jsonFPOOrderEntry.Add("FActReceiveQty ", item.HSQty); ;
                     Entry.Add(jsonFPOOrderEntry);
                 }
-                jsonModel.Add("FEntity", Entry);
+                jsonModel.Add("FDetailEntity", Entry);
                 jsonRoot.Add("Model", jsonModel);
                 var loginRet = InvokeHelper.Login();
                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
@@ -1518,20 +1543,49 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                //LogService.Write("jsonRoot:" + jsonRoot.ToString());
                 var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString());
                 //LogService.Write(result);
-                if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE")
+                if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                 {
+                    LogService.Write("鏀舵枡閫氱煡鍗曚慨鏀瑰け璐sonRoot:" + jsonRoot.ToString());
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曟洿鏂板け璐�" + result;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                var json = new
+                {
+                    Ids = FID,
+                };
+                //鎻愪氦
+                var _result = InvokeHelper.Submit("PUR_ReceiveBill", JsonConvert.SerializeObject(json));
+                var _saveObj = JObject.Parse(_result);
+                if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                {
+                    LogService.Write("鏀舵枡閫氱煡鍗曟彁浜ゅけ璐sonRoot:" + jsonRoot.ToString());
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曟彁浜ゅけ璐�" + _result;
+                    objJsonResult.data = null;
+                    return objJsonResult;
 
-                //鏇存柊鎴愬姛鍚� 鍚屾鏇存柊閲戣澏
-                oCn.Commit();
+                }
+                //瀹℃牳
+                _result = InvokeHelper.Audit("PUR_ReceiveBill", JsonConvert.SerializeObject(json));
+                _saveObj = JObject.Parse(_result);
+                if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                {
+                    LogService.Write("鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot:" + jsonRoot.ToString());
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot" + _result;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鎿嶄綔鎴愬姛锛�";
@@ -1540,7 +1594,7 @@
             }
             catch (Exception e)
             {
-                oCn.RollBack();
+                //oCn.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "寮傚父锛�" + e.ToString();
@@ -1562,8 +1616,9 @@
         {
             try
             {
+                //var code = HBarcode.Split('#')[0];
                 //鏍¢獙鏉$爜鏄惁瀛樺湪
-                string sql = $"select* from  Gy_BarCodeBill where HSourceInterID ={HInterID} and HBarCode = '{HBarcode}'";
+                string sql = $"select HItemID,HSourceBillNo from  Gy_BarCodeBill where HSourceInterID ={HInterID} and HBarCode = '{HBarcode.Split('#')[0]}' and HQty = {HBarcode.Split('#')[1]}";
                 DataSet ds = oCn.RunProcReturn(sql, "H_v_SRM_POOrderBillList");
                 if (ds.Tables[0].Rows.Count == 0)
                 {
@@ -1573,6 +1628,29 @@
                     objJsonResult.data = ds.Tables[0];
                     return objJsonResult;
                 }
+                else
+                {
+                    //瀛樺叆鏉$爜涓存椂琛�
+                    sql = $"delete from KF_PonderationBillMain_Temp Where HBillNo='{ds.Tables[0].Rows[0]["HSourceBillNo"]}' ";
+                    oCn.RunProc(sql);
+                    sql = string.Format(@"Insert into KF_PonderationBillMain_Temp 
+	(HInterID,HBillNo,HBillType,HMaterID,HProcID,HWhID,HSCWHID
+	,HStockPlaceID,HOutStockPlaceID,HGroupID,HQty,HQtyMust,HPieceQty
+	,HAuxPropID,HBatchNo,HBarCode,HAddr,HMaker,HMakeDate
+	,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo,HMTONo
+	,HSTOCKORGID,HOWNERID,HExpressNumber,HSubBillType
+	,HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag
+	,HCusID)
+	select HInterID,HSourceBillNo,HBillType,HMaterID,0,0,0
+	,0,0,0,HQty,HQty,0
+	,HAuxPropID,HBatchNo,'','','System',getdate()
+	,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo,HMTONo
+	,HSTOCKORGID,HOWNERID,'',HBillType
+	,0,0,'',0
+	,0 from Gy_BarCodeBill  
+	where HItemID = {0}", ds.Tables[0].Rows[0]["HItemID"]);
+                    oCn.RunProc(sql);
+                }
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;

--
Gitblit v1.9.1