From bfec4da315abe8013a1683325bcf434c492dba0f Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期三, 12 十月 2022 18:51:17 +0800
Subject: [PATCH] 问题处理

---
 WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs |   57 +++++++++++++++++----------------------------------------
 1 files changed, 17 insertions(+), 40 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
index 559ea28..950740a 100644
--- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
@@ -61,21 +61,8 @@
                 //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
                 ComplementGoods com = JsonConvert.DeserializeObject<ComplementGoods>(sWhere.ToString());
 
-                oCN.RunProc($"exec h_p_JIT_ComplementGoodsBillList_Query '{com.MaterialNumber}','{com.MaterialName}','{com.MaterialModel}','{com.HGD}'," +
-                       $"'{com.HWHName}','{com.HDeptName}','{com.Organization}','{com.user}','{com.HJLStatus}','{com.HBeginDate}','{com.HEndDate}'");
-
-                if (com.HJLStatus == "鏈嫞鏂�")
-                {
-                    ds = oCN.RunProcReturn("select * from ##ComplementGoodsBillList_Query1 where 1=1 " + com.Arbitrarily + "", "##ComplementGoodsBillList_Query1");
-                }
-                else if (com.HJLStatus == "宸叉嫞鏂�")
-                {
-                    ds = oCN.RunProcReturn("select * from ##ComplementGoodsBillList_Query2 where 1=1 " + com.Arbitrarily + "", "##ComplementGoodsBillList_Query2");
-                }
-                else
-                {
-                    ds = oCN.RunProcReturn("select * from ##ComplementGoodsBillList_Query3 where 1=1 " + com.Arbitrarily + "", "##ComplementGoodsBillList_Query3");
-                }
+                ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_Query '{com.MaterialNumber}','{com.MaterialName}','{com.MaterialModel}','{com.HGD}'," +
+                       $"'{com.HWHName}','{com.HDeptName}','{com.Organization}','{com.user}','{com.HJLStatus}','{com.HBeginDate}','{com.HEndDate}'", "h_p_JIT_ComplementGoodsBillList_Query");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -332,36 +319,27 @@
 
                     DataSet dsTable = new DataSet();
                     //鏌ヨJIT_ComplementGoodsBillSub_LK
-                    dsTable = oCN.RunProcReturn($"select  * from JIT_ComplementGoodsBillSub_LK where HMaterID={listCa[i].HMaterID}  and HInterID={SourceInterID} order by HSourceInterID ", "JIT_ComplementGoodsBillSub_LK");
+                    dsTable = oCN.RunProcReturn($"select  * from JIT_ComplementGoodsBillSub_LK where HMaterID={listCa[i].HMaterID}  and HInterID={SourceInterID} and HCallQTY<>HSendQTY  order by HSourceInterID ", "JIT_ComplementGoodsBillSub_LK");
 
+                    var HqtyCount = double.Parse(listCa[i].鏈鎷f枡鏁伴噺.ToString());
                     for (int j = 0; j < dsTable.Tables[0].Rows.Count; j++)
                     {
-                        if (double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()) != double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString()))
-                        {
-                            if (double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString()) + listCa[i].鏈鎷f枡鏁伴噺 > double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()))
-                            {
-                                var HCallQTY = double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()) - double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString());
-                                //淇敼璋冩嫧鏁伴噺 瓒呭嚭閮ㄥ垎缁欎簣涓嬩竴鍒楁暟鎹�
-                                oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{HCallQTY} where HMaterID={listCa[i].HMaterID} " +
-                                    $" and HSourceInterID={double.Parse(dsTable.Tables[0].Rows[j]["HSourceInterID"].ToString())} and HInterID={SourceInterID} ");
+                        var HCallQTY = double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()) - double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString());
 
-                                oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{(listCa[i].鏈鎷f枡鏁伴噺 - HCallQTY)} where HMaterID={listCa[i].HMaterID} " +
-                                   $" and HSourceInterID={dsTable.Tables[0].Rows[j + 1]["HSourceInterID"].ToString()} and HInterID={SourceInterID} ");
-                                break;
-                            }
-                            else
-                            {
-                                //淇敼璋冩嫧鏁伴噺
-                                oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{listCa[i].鏈鎷f枡鏁伴噺} where HMaterID={listCa[i].HMaterID} " +
-                                    $" and HSourceInterID={dsTable.Tables[0].Rows[j]["HSourceInterID"].ToString()} and HInterID={SourceInterID} ");
-                                break;
-                            }
+                        //淇敼璋冩嫧鏁伴噺 
+                        oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{(HCallQTY < HqtyCount ? HCallQTY : HqtyCount)} where HMaterID={listCa[i].HMaterID} " +
+                            $" and HSourceInterID={double.Parse(dsTable.Tables[0].Rows[j]["HSourceInterID"].ToString())} and HInterID={SourceInterID} ");
+
+                        HqtyCount -= HCallQTY;
+                        if (HqtyCount <= 0)
+                        {
+                            break;
                         }
                     }
                 }
 
-                //鍚屾閲戣澏鐩存帴璋冩嫧鍗�
-                objJsonResult = AddSendGoodsBillSynChronizAtion(HBillNo);
+                ////鍚屾閲戣澏鐩存帴璋冩嫧鍗�
+                //objJsonResult = AddSendGoodsBillSynChronizAtion(HBillNo);
 
                 oCN.Commit();
 
@@ -384,11 +362,9 @@
             }
             catch (Exception e)
             {
-                oCN.RollBack();
-
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = e.Message;
+                objJsonResult.Message = objJsonResult.Message;
                 return objJsonResult;
                 throw (e);
             }
@@ -468,6 +444,7 @@
                     }
                     else
                     {
+                        oCN.RollBack();
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
                         objJsonResult.Message = result;

--
Gitblit v1.9.1