From 4958dfb5be9a68f5b3176babd09b53294db14002 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期一, 01 三月 2021 09:12:29 +0800
Subject: [PATCH] n

---
 src/BLL/Demo.BillView/Demo.BillView.csproj         |    4 
 src/BLL/Demo.BillView/PRD/Pro_RjhylqdDatachange.cs |    6 
 src/BLL/Demo.BillView/PRD/KDExtension.cs           |  108 +++++++++++++++
 src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGSH.cs       |   91 +++++++++++++
 src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs         |  100 ++++++++++++++
 src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs      |   89 ++++++++++++
 6 files changed, 396 insertions(+), 2 deletions(-)

diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj
index 27ebd24..f3bdc44 100644
--- a/src/BLL/Demo.BillView/Demo.BillView.csproj
+++ b/src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -214,6 +214,7 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="PRD\KDExtension.cs" />
     <Compile Include="PRD\LogService.cs" />
     <Compile Include="PRD\PODemandPlanListFilter.cs" />
     <Compile Include="PRD\PODemandPlanListLoad.cs" />
@@ -226,10 +227,13 @@
     <Compile Include="PRD\Pro_DayPlan.cs" />
     <Compile Include="PRD\Pro_DayPlanCheckSelectMenu.cs" />
     <Compile Include="PRD\Pro_DayPlanPushSCHB.cs" />
+    <Compile Include="PRD\Pro_DayPlanBG.cs" />
     <Compile Include="PRD\Pro_PPBomSubmit.cs" />
+    <Compile Include="PRD\Pro_RJHYLQDBGFSH.cs" />
     <Compile Include="PRD\Pro_SCHBFSH.cs" />
     <Compile Include="PRD\Pro_SCLLFSH.cs" />
     <Compile Include="PRD\Pro_SCHBSH.cs" />
+    <Compile Include="PRD\Pro_RJHYLQDBGSH.cs" />
     <Compile Include="PRD\Pro_SCLLSH.cs" />
     <Compile Include="PRD\Pro_RjhylqdDatachange.cs" />
     <Compile Include="PRD\Pro_PPBomSave.cs" />
diff --git a/src/BLL/Demo.BillView/PRD/KDExtension.cs b/src/BLL/Demo.BillView/PRD/KDExtension.cs
new file mode 100644
index 0000000..0edd83b
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/KDExtension.cs
@@ -0,0 +1,108 @@
+锘縰sing Kingdee.BOS.Orm.DataEntity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.BillView.PRD
+{
+    public static class KDExtension
+    {
+
+        /// <summary>
+        /// 鑾峰彇涓�绾у�� 鍙敤浜庤幏鍙栨枃鏈�佹暟缁�
+        /// </summary>
+        /// <param name="dynamicObject"></param>
+        /// <param name="key"></param>
+        /// <returns></returns>
+        public static object GetValue(this DynamicObject dynamicObject, string propertyName)
+        {
+            return dynamicObject[propertyName];
+        }
+
+
+        private static long GetLongTime2()
+        {
+            return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000;
+        }
+
+        /// <summary>
+        /// 鑾峰彇涓�绾у熀纭�璧勬枡鎴栧崟鎹綋瀵硅薄
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="dynamicObject"></param>
+        /// <param name="key"></param>
+        /// <returns></returns>
+        public static T GetValue<T>(this DynamicObject dynamicObject, string propertyName)
+        {
+            var value = dynamicObject.GetValue(propertyName);
+            if (value != null)
+            {
+                return (T)Convert.ChangeType(value, typeof(T));
+            }
+            return default(T);
+        }
+        /// <summary>
+        /// 鑾峰彇鍩虹璧勬枡鐨勫睘鎬�
+        /// </summary>
+        /// <param name="dynamicObject"></param>
+        /// <param name="dataBaseKey"></param>
+        /// <param name="propertyName"></param>
+        /// <returns></returns>
+        public static object GetDataBaseProperty(this DynamicObject dynamicObject, string dataBaseKey, string propertyName)
+        {
+            var dataBase = dynamicObject.GetValue<DynamicObject>(dataBaseKey);
+            if (dataBase != null)
+            {
+                return dataBase.GetValue(propertyName);
+            }
+            return null;
+        }
+
+        public static T GetDataBaseProperty<T>(this DynamicObject dynamicObject, string dataBaseKey, string propertyName)
+        {
+            var dataBase = dynamicObject.GetValue<DynamicObject>(dataBaseKey);
+            if (dataBase != null)
+            {
+                var value = dataBase.GetValue(propertyName)?.ToString();
+
+                return (T)Convert.ChangeType(value, typeof(T));
+            }
+            return default(T);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍩虹璧勬枡鐨勭紪鐮�
+        /// </summary>
+        /// <param name="dynamicObject"></param>
+        /// <param name="dataBaseKey"></param>
+        /// <returns></returns>
+        public static object GetDataBaseNumber(this DynamicObject dynamicObject, string dataBaseKey)
+        {
+            return dynamicObject.GetDataBaseProperty(dataBaseKey, "Number");
+        }
+
+        public static T GetDataBaseNumber<T>(this DynamicObject dynamicObject, string dataBaseKey)
+        {
+            return dynamicObject.GetDataBaseProperty<T>(dataBaseKey, "Number");
+        }
+
+
+        /// <summary>
+        /// 鑾峰彇鍩虹璧勬枡鐨勫唴鐮�
+        /// </summary>
+        /// <param name="dynamicObject"></param>
+        /// <param name="dataBaseKey"></param>
+        /// <returns></returns>
+        public static object GetDataBaseId(this DynamicObject dynamicObject, string dataBaseKey)
+        {
+            return dynamicObject.GetDataBaseProperty(dataBaseKey, "Id");
+        }
+
+        public static T GetDataBaseId<T>(this DynamicObject dynamicObject, string dataBaseKey)
+        {
+            return dynamicObject.GetDataBaseProperty<T>(dataBaseKey, "Id");
+        }
+    }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs b/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
new file mode 100644
index 0000000..c1c3940
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
@@ -0,0 +1,100 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using Kingdee.BOS.Core.Bill;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.ServiceHelper;
+using Newtonsoft.Json.Linq;
+using ZD.Cloud.Logger;
+using ZD.Cloud.WebApi;
+using Demo.Model.Model;
+using System.Diagnostics;
+using System.Linq;
+using Kingdee.BOS.Core.Bill.PlugIn.Args;
+
+namespace Demo.BillView.PRD
+{
+    /// <summary>
+    /// 鏃ヨ鍒掔敤鏂欐竻鍗曞彉鏇村崟 琛ㄥ崟鎻掍欢
+    /// </summary>
+    [Description("鏃ヨ鍒掔敤鏂欐竻鍗曞彉鏇村崟琛ㄥ崟鎻掍欢")]
+    [Kingdee.BOS.Util.HotUpdate]
+    public class Pro_DayPlanBG : AbstractBillPlugIn
+    {
+        CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
+
+        public override void DataChanged(DataChangedEventArgs e)
+        {
+            base.DataChanged(e);
+            var model = this.View.Model;
+            double FHQty = Convert.ToDouble(model.GetValue("FHQty"));
+            if (e.Field.Key.Contains("FUseRateNew"))
+            {
+                if (e.OldValue == e.NewValue)
+                    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));//浣跨敤姣斾緥
+                double Hqty;
+                if (FNumerator == 0 || FDenominator == 0)
+                {
+                    Hqty = Math.Ceiling(FHQty * (FUseRateNew / 100));
+                }
+                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);//鏂拌鍒掓暟閲�
+                }
+            }
+            if (e.Field.Key.Contains("FHQtyMustNew"))
+            {
+                if (e.OldValue == e.NewValue)
+                    return;
+                var m = e.Row;
+                double FNumerator = Convert.ToDouble(model.GetValue("FNumerator", e.Row));//鍒嗗瓙
+                double FDenominator = Convert.ToDouble(model.GetValue("FDenominator", e.Row));//鍒嗘瘝
+                double FHQtyMustNew = Convert.ToDouble(model.GetValue("FHQtyMustNew", e.Row));//鏂拌鍒掓暟閲�
+                double Hqty;
+                if (FNumerator == 0 || FDenominator == 0)
+                {
+                    Hqty = Math.Ceiling(FHQtyMustNew / FHQty * 100);
+                }
+                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);//鏂拌鍒掓暟閲�
+                }
+            }
+        }
+
+        //public override void BeforeSave(BeforeSaveEventArgs e)
+        //{
+        //    base.BeforeSave(e);
+
+        //    e.Cancel = true;
+        //}
+    }
+}
+
diff --git a/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs b/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs
new file mode 100644
index 0000000..ac5e1bc
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs
@@ -0,0 +1,89 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Kingdee.BOS.Util;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.App;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using System.ComponentModel;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.K3.SCM.App;
+using ZD.Cloud.Logger;
+
+namespace Demo.DynamicForm.PRD
+{
+    [Description("[鏃ヨ鍒掔敤鏂欐竻鍗曞彉鏇�-鍙嶅鏍竇鎸夐挳鍔熻兘]")]
+    [HotUpdate]
+    public class Pro_RJHYLQDBGFSH : AbstractOperationServicePlugIn
+    {
+        public override void OnPreparePropertys(PreparePropertysEventArgs e)
+        {
+            base.OnPreparePropertys(e);
+            e.FieldKeys.Add("FSrcBillType");
+            e.FieldKeys.Add("FSrcBillNo");
+            e.FieldKeys.Add("FBillNo");
+            e.FieldKeys.Add("FDayPlanId");
+            e.FieldKeys.Add("FDayPlanFentryId"); 
+            e.FieldKeys.Add("FHQtyMust"); 
+            e.FieldKeys.Add("FHQtyMustNew");
+            e.FieldKeys.Add("FUseRate");
+            e.FieldKeys.Add("FUseRateNew");
+            e.FieldKeys.Add("FHPPBomEntryID");
+            e.FieldKeys.Add("FDwyl"); 
+        }
+        /// <summary>
+        ///瀹℃牳鏇存柊鏃ヨ鍒掔敤鏂欐竻鍗曢鏂欐暟閲�
+        /// </summary>
+        /// <param name="e"></param>
+        public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+        {
+            base.AfterExecuteOperationTransaction(e);
+            List<string> sqlList = new List<string>();
+            string sql = "";
+            //瀹℃牳鏃舵洿鏂扮敓浜х敤鏂欐竻鍗曡〃鏄庣粏棰嗘枡鏁伴噺
+            Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
+            foreach (var billObj in e.SelectedRows)
+            {
+                DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
+                            as DynamicObjectCollection;
+                foreach (var entryRow in entryRows)
+                {
+                    string fDayPlanFentryId = entryRow["FDayPlanFentryId"].ToString();
+                    string fHQtyMust = entryRow["FHQtyMust"].ToString();
+                    string fUseRate = entryRow["FUseRate"].ToString();
+                    string fDwyl = entryRow["FDwyl"].ToString();
+                    string fHPPBomEntryID = entryRow["FHPPBomEntryID"].ToString();
+                    sql = string.Format($"/*dialect*/update Sc_DayPlanPPBomBillSub set FHQtyMust = {fHQtyMust},FUseRate = { fUseRate}  where FEntryID ={fDayPlanFentryId} ");
+                    sqlList.Add(sql);
+                    sql = string.Format(@"/*dialect*/
+update T_PRD_PPBOMENTRY set 
+FBASENEEDQTY = c.FHQtyMust,
+FBASEMUSTQTY = c.FHQtyMust,
+FSTDQTY = c.FHQtyMust,
+FNEEDQTY = c.FHQtyMust,
+FMUSTQTY = c.FHQtyMust,
+FUSERATE = (c.FHQtyMust / {0} / b.FQTY *100)
+from T_PRD_PPBOMENTRY a
+join T_PRD_PPBOM b on a.FID=b.FID
+join (select sum(FHQtyMust)   FHQtyMust,FHPPBomEntryID from Sc_DayPlanPPBomBillSub where FHPPBomEntryID = {1} group by FHPPBomEntryID) c on a.FENTRYID=c.FHPPBomEntryID
+where a.FENTRYID = {1}", fDwyl, fHPPBomEntryID);
+                    sqlList.Add(sql);
+                    sql = string.Format(@"/*dialect*/
+update T_PRD_PPBOMENTRY_Q set 
+FNOPICKEDQTY = b.FMUSTQTY - a.FPICKEDQTY,
+FBASENOPICKEDQTY = b.FMUSTQTY - a.FPICKEDQTY
+from T_PRD_PPBOMENTRY_Q a 
+join T_PRD_PPBOMENTRY   b on a.FENTRYID=b.FENTRYID
+where a.FENTRYID = {0}
+", fHPPBomEntryID);
+                    sqlList.Add(sql);
+                }
+            }
+            DBServiceHelper.ExecuteBatch(Context, sqlList);
+        }
+    }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGSH.cs b/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGSH.cs
new file mode 100644
index 0000000..5d18c50
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGSH.cs
@@ -0,0 +1,91 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Kingdee.BOS.Util;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.App;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using System.ComponentModel;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.K3.SCM.App;
+using ZD.Cloud.Logger;
+
+namespace Demo.DynamicForm.PRD
+{
+    [Description("[鏃ヨ鍒掔敤鏂欐竻鍗曞彉鏇�-瀹℃牳]鎸夐挳鍔熻兘]")]
+    [HotUpdate]
+    public class Pro_RJHYLQDBGSH : AbstractOperationServicePlugIn
+    {
+        public override void OnPreparePropertys(PreparePropertysEventArgs e)
+        {
+            base.OnPreparePropertys(e);
+            e.FieldKeys.Add("FSrcBillType");
+            e.FieldKeys.Add("FSrcBillNo");
+            e.FieldKeys.Add("FBillNo");
+            e.FieldKeys.Add("FDayPlanId");
+            e.FieldKeys.Add("FDayPlanFentryId"); 
+            e.FieldKeys.Add("FHQtyMust"); 
+            e.FieldKeys.Add("FHQtyMustNew");
+            e.FieldKeys.Add("FUseRate");
+            e.FieldKeys.Add("FUseRateNew");
+            e.FieldKeys.Add("FHPPBomEntryID");
+            e.FieldKeys.Add("FDwyl"); 
+        }
+        /// <summary>
+        ///瀹℃牳鏇存柊鏃ヨ鍒掔敤鏂欐竻鍗曢鏂欐暟閲�
+        /// </summary>
+        /// <param name="e"></param>
+        public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+        {
+            base.AfterExecuteOperationTransaction(e);
+            List<string> sqlList = new List<string>();
+            string sql = "";
+            //瀹℃牳鏃舵洿鏂扮敓浜х敤鏂欐竻鍗曡〃鏄庣粏棰嗘枡鏁伴噺
+            Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
+            foreach (var billObj in e.SelectedRows)
+            {
+                DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
+                            as DynamicObjectCollection;
+                foreach (var entryRow in entryRows)
+                {
+                    string fDayPlanFentryId = entryRow["FDayPlanFentryId"].ToString();
+                    string fHQtyMustNew = entryRow["FHQtyMustNew"].ToString();
+                    string fUseRateNew = entryRow["FUseRateNew"].ToString();
+                    string fDwyl = entryRow["FDwyl"].ToString();
+                    string fHPPBomEntryID = entryRow["FHPPBomEntryID"].ToString();
+                    if (fHQtyMustNew == "0")
+                        continue;
+                    sql = string.Format($"/*dialect*/update Sc_DayPlanPPBomBillSub set FHQtyMust = {fHQtyMustNew},FUseRate = { fUseRateNew}  where FEntryID ={fDayPlanFentryId} ");
+                    sqlList.Add(sql);
+                    sql = string.Format(@"/*dialect*/
+update T_PRD_PPBOMENTRY set 
+FBASENEEDQTY = c.FHQtyMust,
+FBASEMUSTQTY = c.FHQtyMust,
+FSTDQTY = c.FHQtyMust,
+FNEEDQTY = c.FHQtyMust,
+FMUSTQTY = c.FHQtyMust,
+FUSERATE = (c.FHQtyMust / {0} / b.FQTY *100)
+from T_PRD_PPBOMENTRY a
+join T_PRD_PPBOM b on a.FID=b.FID
+join (select sum(FHQtyMust)   FHQtyMust,FHPPBomEntryID from Sc_DayPlanPPBomBillSub where FHPPBomEntryID = {1} group by FHPPBomEntryID) c on a.FENTRYID=c.FHPPBomEntryID
+where a.FENTRYID = {1}", fDwyl, fHPPBomEntryID);
+                    sqlList.Add(sql);
+                    sql = string.Format(@"/*dialect*/
+update T_PRD_PPBOMENTRY_Q set 
+FNOPICKEDQTY = b.FMUSTQTY - a.FPICKEDQTY,
+FBASENOPICKEDQTY = b.FMUSTQTY - a.FPICKEDQTY
+from T_PRD_PPBOMENTRY_Q a 
+join T_PRD_PPBOMENTRY   b on a.FENTRYID=b.FENTRYID
+where a.FENTRYID = {0}
+", fHPPBomEntryID);
+                    sqlList.Add(sql);
+                }
+            }
+            DBServiceHelper.ExecuteBatch(Context, sqlList);
+        }
+    }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_RjhylqdDatachange.cs b/src/BLL/Demo.BillView/PRD/Pro_RjhylqdDatachange.cs
index 98f2611..de46088 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_RjhylqdDatachange.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_RjhylqdDatachange.cs
@@ -27,17 +27,19 @@
             var model = this.View.Model;
             double FHQty = Convert.ToDouble(model.GetValue("FHQty"));
             //鍒嗗瓙
-            if (e.Field.Key.Contains("FNumerator") || e.Field.Key.Contains("FDenominator"))
+            if (e.Field.Key.Contains("FNumerator") || e.Field.Key.Contains("FDenominator") || e.Field.Key.Contains("FUseRate"))
             {
                 double FNumerator = Convert.ToDouble(model.GetValue("FNumerator", e.Row));//鍒嗗瓙
                 double FDenominator = Convert.ToDouble(model.GetValue("FDenominator", e.Row));//鍒嗘瘝
+                double FUseRate = Convert.ToDouble(model.GetValue("FUseRate", e.Row));//浣跨敤姣斾緥
                 if (FNumerator == 0 || FDenominator == 0)
                     return;
-                var Hqty = Math.Ceiling((FNumerator / FDenominator) * FHQty);
+                var Hqty = Math.Ceiling((FNumerator / FDenominator) * FHQty * (FUseRate / 100));
                 this.View.Model.SetValue("FHQtySub", Hqty, e.Row);//璁″垝鏁伴噺
                 this.View.Model.SetValue("FHQtyMust", Hqty, e.Row);//搴斿彂鏁伴噺
                 this.View.Model.SetValue("FDwyl", FNumerator / FDenominator, e.Row);//鍗曚綅鐢ㄩ噺
 
+
             }
 
 

--
Gitblit v1.9.1