From a05018727c284e1d24967e0cf120a934796191b8 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期二, 02 三月 2021 16:02:05 +0800
Subject: [PATCH] 更改

---
 src/BLL/Demo.BillView/PRD/Pro_TlPush.cs       |    2 
 src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGSH.cs  |   47 ++-------------
 src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs    |   61 ++++++++++----------
 src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs |   38 +-----------
 4 files changed, 42 insertions(+), 106 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs b/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
index ceee160..8effc2d 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
@@ -36,10 +36,8 @@
             double FHQty = Convert.ToDouble(model.GetValue("FHQty"));
             if (e.Field.Key.Contains("FUseRateNew"))
             {
-                if (e.OldValue == e.NewValue||e.NewValue==null)
+                if (e.OldValue == e.NewValue || e.NewValue == null)
                     return;
-              
-
                 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));//浣跨敤姣斾緥
@@ -50,7 +48,6 @@
                 }
                 Hqty = Math.Ceiling((FNumerator / FDenominator) * FHQty * (FUseRateNew / 100));
                 this.View.Model.SetValue("FHQtyMustNew", Hqty, e.Row);//鏂拌鍒掓暟閲�
-
                 var m = e.Row;
                 //椤规
                 var pro = model.GetValue("FReplaceGroup", m).ToString();
@@ -59,21 +56,12 @@
                 //鏌ユ壘鍒扮殑鍚屾壒椤规
                 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"))
             {
-                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));//鍒嗗瓙
@@ -85,27 +73,38 @@
                     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);//鏂拌鍒掓暟閲�
-                //}
+                this.View.Model.SetValue("FUseRateNew", Hqty, e.Row);//鏂扮敤鏂欐瘮渚�
             }
         }
 
-        //public override void BeforeSave(BeforeSaveEventArgs e)
-        //{
-        //    base.BeforeSave(e);
+        public override void BeforeSave(BeforeSaveEventArgs e)
+        {
+            base.BeforeSave(e);
+            var entrys = this.View.Model.DataObject.GetValue<DynamicObjectCollection>("FEntity");
+            string resultMes = "";
+            foreach (var entry in entrys)
+            {
+                var fReplaceGroup = entry["FReplaceGroup"].ToString();
+                //LogService.WriteAsync(entrys);
+                //鏌ユ壘鍒扮殑鍚屾壒椤规
+                var finds = entrys.Where(trys => trys.GetValue<string>("FReplaceGroup") == fReplaceGroup);
+                if (finds.Count() > 1) return;
 
-        //    e.Cancel = true;
-        //}
+                string sql = string.Format(@"/*dialect*/
+select count(*) from Sc_DayPlanPPBomBillSub a 
+join Sc_DayPlanPPBomBillMain b on a.FID = b.FID
+where FREPLACEGROUP = '{0}' and FHMaterSubID<> '{1}' and(FPickedQty + FTranslateQty) > FHQty * ((100 - {2}) / 100.0) * FDwyl and a.FID = {3}", entry["FReplaceGroup"].ToString(), entry["FHMaterSubID_Id"].ToString(), entry["FUseRateNew"].ToString(), entry["FDayPlanId"].ToString());
+                int result = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
+                if (result > 0)
+                    resultMes += $"琛屽彿:" + entry["Seq"].ToString() + ",瀛樺湪鏇夸唬鏂欏叧绯伙紝浣跨敤姣斾緥鍙樻洿鍚庤秴鍑轰簡棰嗙敤鏁伴噺";
+            }
+            if (resultMes != "")
+            {
+                e.Cancel = true;
+                this.View.ShowErrMessage(resultMes);
+            }
+
+        }
     }
 }
 
diff --git a/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs b/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs
index ac5e1bc..c269c2c 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGFSH.cs
@@ -44,44 +44,12 @@
             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);
-                }
+                sql = $"/*dialect*/ exec pr_FSHRjhylqdBgUpdate {billObj["Id"].ToString()}";
+                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
index 5d18c50..baba209 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGSH.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_RJHYLQDBGSH.cs
@@ -27,13 +27,13 @@
             e.FieldKeys.Add("FSrcBillNo");
             e.FieldKeys.Add("FBillNo");
             e.FieldKeys.Add("FDayPlanId");
-            e.FieldKeys.Add("FDayPlanFentryId"); 
-            e.FieldKeys.Add("FHQtyMust"); 
+            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"); 
+            e.FieldKeys.Add("FDwyl");
         }
         /// <summary>
         ///瀹℃牳鏇存柊鏃ヨ鍒掔敤鏂欐竻鍗曢鏂欐暟閲�
@@ -48,44 +48,13 @@
             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);
-                }
+                sql = $"/*dialect*/ exec pr_SHRjhylqdBgUpdate {billObj["Id"].ToString()}";
+                sqlList.Add(sql);
             }
             DBServiceHelper.ExecuteBatch(Context, sqlList);
         }
     }
 }
+
+
+
diff --git a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
index 6d72db2..feac37a 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
@@ -138,7 +138,7 @@
                             ["IsDeleteEntry"] = "false",
                             ["SubSystemId"] = "",
                             ["IsVerifyBaseDataField"] = "false",
-                            ["IsAutoSubmitAndAudit"] = true,//鑷姩璋冪敤鎻愪氦鍜屽鏍稿姛鑳�
+                            //["IsAutoSubmitAndAudit"] = true,//鑷姩璋冪敤鎻愪氦鍜屽鏍稿姛鑳�
                             ["Model"] = model
                         };
 

--
Gitblit v1.9.1