From b7cf501ec0fbf33aba3d2230bec8219b820b7835 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期一, 01 三月 2021 14:19:13 +0800
Subject: [PATCH] 日计划用料清单变更单rowchange事件

---
 src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs |   53 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs b/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
index c1c3940..ceee160 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
@@ -36,9 +36,10 @@
             double FHQty = Convert.ToDouble(model.GetValue("FHQty"));
             if (e.Field.Key.Contains("FUseRateNew"))
             {
-                if (e.OldValue == e.NewValue)
+                if (e.OldValue == e.NewValue||e.NewValue==null)
                     return;
-                var m = e.Row;
+              
+
                 double FNumerator = Convert.ToDouble(model.GetValue("FNumerator", e.Row));//鍒嗗瓙
                 double FDenominator = Convert.ToDouble(model.GetValue("FDenominator", e.Row));//鍒嗘瘝
                 double FUseRateNew = Convert.ToDouble(model.GetValue("FUseRateNew", e.Row));//浣跨敤姣斾緥
@@ -49,16 +50,26 @@
                 }
                 Hqty = Math.Ceiling((FNumerator / FDenominator) * FHQty * (FUseRateNew / 100));
                 this.View.Model.SetValue("FHQtyMustNew", Hqty, e.Row);//鏂拌鍒掓暟閲�
-                
 
-                int FentryID = Convert.ToInt32(model.GetEntryPKValue("FEntity",e.Row));//鏄庣粏琛╥d
-                //鏌ヨ鍚岄」娆$殑搴忓彿
-                string sql = 
-                    $"select top 1 FSEQ from Sc_DayPlanPPBomBillSubBG where FReplaceGroup in(select FReplaceGroup from Sc_DayPlanPPBomBillSubBG where FEntryID = {FentryID} )and FEntryID<> { FentryID} ";
-                int Fseq = DBServiceHelper.ExecuteScalar<int>(Context,sql,0);
-                if (Fseq > 0) {
-                    this.View.Model.SetValue("FUseRateNew", 100 - FUseRateNew, Fseq - 1);//鏂拌鍒掓暟閲�
-                }
+                var m = e.Row;
+                //椤规
+                var pro = model.GetValue("FReplaceGroup", m).ToString();
+                var entrys = model.DataObject.GetValue<DynamicObjectCollection>("FEntity");
+                //LogService.WriteAsync(entrys);
+                //鏌ユ壘鍒扮殑鍚屾壒椤规
+                var finds = entrys.Where(entry => entry.GetValue<string>("FReplaceGroup") == pro && entry.GetValue<int>("Seq") != (m + 1));
+                if (finds.Count() == 0) return;
+
+                var seq = finds.First().GetValue<int>("Seq");
+                model.SetValue("FUseRateNew", 100 - Convert.ToDouble(e.NewValue), seq - 1);
+                //int FentryID = Convert.ToInt32(model.GetEntryPKValue("FEntity",e.Row));//鏄庣粏琛╥d
+                ////鏌ヨ鍚岄」娆$殑搴忓彿
+                //string sql = 
+                //    $"select top 1 FSEQ from Sc_DayPlanPPBomBillSubBG where FReplaceGroup in(select FReplaceGroup from Sc_DayPlanPPBomBillSubBG where FEntryID = {FentryID} )and FEntryID<> { FentryID} ";
+                //int Fseq = DBServiceHelper.ExecuteScalar<int>(Context,sql,0);
+                //if (Fseq > 0) {
+                //    this.View.Model.SetValue("FUseRateNew", 100 - FUseRateNew, Fseq - 1);//鏂拌鍒掓暟閲�
+                //}
             }
             if (e.Field.Key.Contains("FHQtyMustNew"))
             {
@@ -76,16 +87,16 @@
                 Hqty = Math.Ceiling(FHQtyMustNew / ((FNumerator / FDenominator) * FHQty) * 100);
                 this.View.Model.SetValue("FUseRateNew", Hqty, e.Row);//鏂拌鍒掓暟閲�
 
-                int FentryID = Convert.ToInt32(model.GetEntryPKValue("FEntity", e.Row));//鏄庣粏琛╥d
-                //鏌ヨ鍚岄」娆$殑搴忓彿
-                string sql =
-                    $"select top 1 FSEQ from Sc_DayPlanPPBomBillSubBG where FReplaceGroup in(select FReplaceGroup from Sc_DayPlanPPBomBillSubBG where FEntryID = {FentryID} )and FEntryID<> { FentryID} ";
-                int Fseq = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
-                if (Fseq > 0)
-                {
-                    double FUseRateNew = Convert.ToDouble(model.GetValue("FUseRateNew", e.Row));//浣跨敤姣斾緥
-                    this.View.Model.SetValue("FUseRateNew", 100 - FUseRateNew, Fseq - 1);//鏂拌鍒掓暟閲�
-                }
+                //int FentryID = Convert.ToInt32(model.GetEntryPKValue("FEntity", e.Row));//鏄庣粏琛╥d
+                ////鏌ヨ鍚岄」娆$殑搴忓彿
+                //string sql =
+                //    $"select top 1 FSEQ from Sc_DayPlanPPBomBillSubBG where FReplaceGroup in(select FReplaceGroup from Sc_DayPlanPPBomBillSubBG where FEntryID = {FentryID} )and FEntryID<> { FentryID} ";
+                //int Fseq = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
+                //if (Fseq > 0)
+                //{
+                //    double FUseRateNew = Convert.ToDouble(model.GetValue("FUseRateNew", e.Row));//浣跨敤姣斾緥
+                //    this.View.Model.SetValue("FUseRateNew", 100 - FUseRateNew, Fseq - 1);//鏂拌鍒掓暟閲�
+                //}
             }
         }
 

--
Gitblit v1.9.1