From 0fcc730fb3fa804c6e38f6f980eb15ee0a84eb33 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 08 九月 2021 13:24:15 +0800
Subject: [PATCH] 送货计划保存删除 反写提料计划 服务插件

---
 src/BLL/Demo.BillView/PRD/Pur_ReceiveDelete.cs |   69 +++++++++++++++++++++++
 src/BLL/Demo.BillView/PRD/Pur_Receive.cs       |   68 ++++++++++++++++++++++
 2 files changed, 137 insertions(+), 0 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pur_Receive.cs b/src/BLL/Demo.BillView/PRD/Pur_Receive.cs
new file mode 100644
index 0000000..fd301f7
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pur_Receive.cs
@@ -0,0 +1,68 @@
+锘縰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.BillView.PRD
+{
+    [Description("[鏀舵枡閫氱煡鍗�-淇濆瓨]鎸夐挳鍔熻兘]")]
+    [HotUpdate]
+    public class Pur_Receive : AbstractOperationServicePlugIn
+    {
+        public override void OnPreparePropertys(PreparePropertysEventArgs e)
+        {
+            base.OnPreparePropertys(e);
+            e.FieldKeys.Add("FSrcBillType");
+            e.FieldKeys.Add("FSrcBillNo");
+            e.FieldKeys.Add("FID");
+            e.FieldKeys.Add("FTreeEntity_FEntryID");
+            e.FieldKeys.Add("FBillNo");
+            e.FieldKeys.Add("FBFLowId");
+            e.FieldKeys.Add("FMaterialId");
+            e.FieldKeys.Add("FActReceiveQty");
+            e.FieldKeys.Add("FTLENTRYID");
+            e.FieldKeys.Add("FTLISFX");
+        }
+        /// <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("FDetailEntity");//鑾峰彇鏄庣粏淇℃伅
+            foreach (var billObj in e.SelectedRows)
+            {
+                DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
+                            as DynamicObjectCollection;
+                foreach (var entryRow in entryRows)
+                {
+                    string fentryId = entryRow["FTLENTRYID"].ToString();
+                    bool fisfx = Convert.ToBoolean(entryRow["FTLISFX"]);
+                    if (fentryId == "0" || fisfx)
+                        continue;
+                    sql = string.Format($"/*dialect*/update Cg_PODemandPlanBillSub set  FReciveCount = FReciveCount + {Convert.ToDecimal(entryRow["ActReceiveQty"])} where FEntryID = {fentryId} ");
+                    //LogHelper.Info("棰嗘枡鍗曠殑鏃ヨ鍒掔敤鏂欐竻鍗旾D:" + fentryId);
+                    sqlList.Add(sql);
+                    sql = string.Format($"/*dialect*/update T_PUR_ReceiveEntry set  FTlisfx =  1 where FentryId = {entryRow["Id"]}");
+                    sqlList.Add(sql);
+                }
+            }
+            DBServiceHelper.ExecuteBatch(Context, sqlList);
+        }
+    }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pur_ReceiveDelete.cs b/src/BLL/Demo.BillView/PRD/Pur_ReceiveDelete.cs
new file mode 100644
index 0000000..acbe875
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pur_ReceiveDelete.cs
@@ -0,0 +1,69 @@
+锘縰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.BillView.PRD
+{
+    //鍒犻櫎鍗曟嵁 鎴� 鍒犻櫎鏄庣粏琛屾椂 鎵i櫎鎻愭枡鍗曠殑鏀舵枡鏁伴噺
+    [Description("[鏀舵枡閫氱煡鍗�-鍒犻櫎]鎸夐挳鍔熻兘]")]
+    [HotUpdate]
+    public class Pur_ReceiveDelete : AbstractOperationServicePlugIn
+    {
+        public override void OnPreparePropertys(PreparePropertysEventArgs e)
+        {
+            base.OnPreparePropertys(e);
+            e.FieldKeys.Add("FSrcBillType");
+            e.FieldKeys.Add("FSrcBillNo");
+            e.FieldKeys.Add("FID");
+            e.FieldKeys.Add("FTreeEntity_FEntryID");
+            e.FieldKeys.Add("FBillNo");
+            e.FieldKeys.Add("FBFLowId");
+            e.FieldKeys.Add("FMaterialId");
+            e.FieldKeys.Add("FActReceiveQty");
+            e.FieldKeys.Add("FTLENTRYID");
+            e.FieldKeys.Add("FTLISFX");
+        }
+        /// <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("FDetailEntity");//鑾峰彇鏄庣粏淇℃伅
+            foreach (var billObj in e.SelectedRows)
+            {
+                DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity)
+                            as DynamicObjectCollection;
+                foreach (var entryRow in entryRows)
+                {
+                    string fentryId = entryRow["FTLENTRYID"].ToString();
+                    bool fisfx = Convert.ToBoolean(entryRow["FTLISFX"]);
+                    if (fentryId == "0")
+                        continue;
+                    sql = string.Format($"/*dialect*/update Cg_PODemandPlanBillSub set  FReciveCount = FReciveCount - {Convert.ToDecimal(entryRow["ActReceiveQty"])} where FEntryID = {fentryId} ");
+                    //LogHelper.Info("棰嗘枡鍗曠殑鏃ヨ鍒掔敤鏂欐竻鍗旾D:" + fentryId);
+                    sqlList.Add(sql);
+                    sql = string.Format($"/*dialect*/update T_PUR_ReceiveEntry set  FTlisfx =  0 where FentryId = {entryRow["Id"]}");
+                    sqlList.Add(sql);
+                }
+            }
+            DBServiceHelper.ExecuteBatch(Context, sqlList);
+        }
+    }
+}

--
Gitblit v1.9.1