From 12db989e7953f310b88206533f512fd27a93409e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=8B=97=E8=9B=8B?= <12086832+li-goudan233@user.noreply.gitee.com> Date: Thu, 24 Apr 2025 18:38:42 +0800 Subject: [PATCH] 1 --- GZ_LTHPilot_ORDER.csproj | 1 + PRD_PPBOMCHANGE/PLTH.cs | 57 ++++++++++++++++++++++---- PRD_PPBOMCHANGE/PLTHWL.cs | 68 ++++++++++++++++++++++++++++++++ T_IV_SALESIC/AuditS_Order.cs | 1 + bin/Debug/GZ_LTHPilot_ORDER.dll | Bin 43008 -> 44544 bytes bin/Debug/GZ_LTHPilot_ORDER.pdb | Bin 105984 -> 114176 bytes 6 files changed, 119 insertions(+), 8 deletions(-) create mode 100644 PRD_PPBOMCHANGE/PLTHWL.cs diff --git a/GZ_LTHPilot_ORDER.csproj b/GZ_LTHPilot_ORDER.csproj index 5f22517..44f0817 100644 --- a/GZ_LTHPilot_ORDER.csproj +++ b/GZ_LTHPilot_ORDER.csproj @@ -236,6 +236,7 @@ + diff --git a/PRD_PPBOMCHANGE/PLTH.cs b/PRD_PPBOMCHANGE/PLTH.cs index 642ff01..de58168 100644 --- a/PRD_PPBOMCHANGE/PLTH.cs +++ b/PRD_PPBOMCHANGE/PLTH.cs @@ -1,8 +1,11 @@ -using Kingdee.BOS.Core.DynamicForm; +using DocumentFormat.OpenXml.Office2016.Drawing.ChartDrawing; +using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Core.Metadata.EntityElement; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; +using Kingdee.K3.Core.Mobile.Utils; using System; using System.Collections.Generic; using System.ComponentModel; @@ -13,7 +16,7 @@ using System.Threading.Tasks; namespace GZ_LTHPilot_ORDER.PRD_PPBOMCHANGE { - [Description("表单插件:生产用料清单变更单,点击批量替换#按钮实现批量替换功能"), HotUpdate] + [Description("表单插件:生产用料清单变更单,点击批量替换#按钮实现批量复制行替换功能"), HotUpdate] public class PLTH : AbstractDynamicFormPlugIn { public override void BarItemClick(BarItemClickEventArgs e) @@ -43,10 +46,48 @@ namespace GZ_LTHPilot_ORDER.PRD_PPBOMCHANGE //记录动态窗口的返回值 resultWlFID = result.ReturnData.ToString(); //获取单据体数据包 - var entiy = this.View.BillBusinessInfo.GetEntity("FEntity"); + var entiy = this.View.BillBusinessInfo.GetEntryEntity("FEntity"); var entityObjs = this.View.Model.GetEntityDataObject(entiy); + List FSEQ = new List(); if (entityObjs != null) { + foreach (var entityObj in entityObjs) + { + //当变更类型为变更前 + if (Convert.ToString(entityObj["ChangeType"]) == "2") + { + //记录序号。通过list记录 + var i = Convert.ToInt32(entityObj["Seq"]); + FSEQ.Add(i - 1); + } + } + } + //循环遍历,并且选中行,执行复制行操作 + for (int i = 0; i < FSEQ.Count; i++) + { + if (i == 0) + { + this.View.Model.CopyEntryRow("FEntity", FSEQ[i], FSEQ[i] + 2, true); + if (i + 1 != FSEQ.Count) + { + FSEQ[i + 1] = FSEQ[i] + 2; + } + } + else + { + this.View.Model.CopyEntryRow("FEntity", FSEQ[i] + 1, FSEQ[i] + 3, true); + if (i + 1 == FSEQ.Count) + { + FSEQ[i] = FSEQ[i] + 3; + } + else + { + FSEQ[i + 1] = FSEQ[i] + 3; + } + } + } + + /*复制行执行操作完毕后,因序号变更,对单据体需要再次循环执行重新赋值操作*/ foreach (var entityObj in entityObjs) { /*遍历单据体,变更类型为变更前复制这一列并更改物料编码; @@ -54,15 +95,15 @@ namespace GZ_LTHPilot_ORDER.PRD_PPBOMCHANGE if (Convert.ToString(entityObj["ChangeType"]) == "3") { //变更类型为变更后,分子赋值为0 - this.View.Model.SetItemValueByNumber("FNumerator", "0", Convert.ToInt32(entityObj["Seq"])-1); + this.View.Model.SetValue("FNumerator", 0, Convert.ToInt32(entityObj["Seq"]) - 1); } - if (Convert.ToString(entityObj["ChangeType"]) == "3") + /*变更类型为新增,将物料编码替换为动态窗口选择的物料FID*/ + if (Convert.ToString(entityObj["ChangeType"]) == "1") { - //变更类型为变更前,执行复制行操作 - + //对新增物料进行替换 + this.View.Model.SetValue("FMaterialID2", resultWlFID, Convert.ToInt32(entityObj["Seq"]) - 1); } } - } } }); } diff --git a/PRD_PPBOMCHANGE/PLTHWL.cs b/PRD_PPBOMCHANGE/PLTHWL.cs new file mode 100644 index 0000000..5a6f0c3 --- /dev/null +++ b/PRD_PPBOMCHANGE/PLTHWL.cs @@ -0,0 +1,68 @@ +using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Core.DynamicForm; +using Kingdee.BOS.Util; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Kingdee.BOS.Core.DynamicForm.PlugIn; + +namespace GZ_LTHPilot_ORDER.PRD_PPBOMCHANGE +{ + [Description("表单插件:生产用料清单变更单,点击批量替换#按钮实现批量替换新增行物料的功能"), HotUpdate] + public class PLTHWL : AbstractDynamicFormPlugIn + { + public override void BarItemClick(BarItemClickEventArgs e) + { + base.BarItemClick(e); + //按钮点击事件 + if (e.BarItemKey.Equals("GZTH_PLTHWL", StringComparison.OrdinalIgnoreCase)) + { + string resultWlFID = ""; + //获取单据的生产组织的FID值 + var FPrdOrg = (Kingdee.BOS.Orm.DataEntity.DynamicObject)this.View.Model.GetValue("FPrdOrgId"); + if (FPrdOrg != null) + { + //获取生产组织ID值 + var FPrdOrgId = Convert.ToString(FPrdOrg["Id"]); + //打开动态表单,并对动态表单传值 + DynamicFormShowParameter parameter = new DynamicFormShowParameter(); + //动态表单ID值 + parameter.FormId = "YKQC_SCYLQDBGPLTH"; + parameter.MultiSelect = false; + //获取生产组织的FID值发送到打开的动态表单 + parameter.CustomComplexParams.Add("EntryPrimaryKeys", FPrdOrgId); + this.View.ShowForm(parameter, result => + { + if (result.ReturnData != null) + { + //记录动态窗口的返回值 + resultWlFID = result.ReturnData.ToString(); + //获取单据体数据包 + var entiy = this.View.BillBusinessInfo.GetEntity("FEntity"); + var entityObjs = this.View.Model.GetEntityDataObject(entiy); + List FSEQ = new List(); + if (entityObjs != null) + { + /*复制行执行操作完毕后,因序号变更,对单据体需要再次循环执行重新赋值操作*/ + foreach (var entityObj in entityObjs) + { + /*变更类型为新增,将物料编码替换为动态窗口选择的物料FID*/ + if (Convert.ToString(entityObj["ChangeType"]) == "1") + { + //对新增物料进行替换 + this.View.Model.SetItemValueByID("FMaterialID2", resultWlFID, Convert.ToInt32(entityObj["Seq"]) - 1); + } + } + + } + + } + }); + } + } + } + } +} diff --git a/T_IV_SALESIC/AuditS_Order.cs b/T_IV_SALESIC/AuditS_Order.cs index 2c8027e..caab9f9 100644 --- a/T_IV_SALESIC/AuditS_Order.cs +++ b/T_IV_SALESIC/AuditS_Order.cs @@ -94,6 +94,7 @@ namespace GZ_LTHPilot_ORDER.IV_SALESIC } } } + break; } } } diff --git a/bin/Debug/GZ_LTHPilot_ORDER.dll b/bin/Debug/GZ_LTHPilot_ORDER.dll index 3bacddf70cf08767db1f207ebf0c12c901f83172..ef75642d4873c637df2dd1550de146ec4fbf53ce 100644 GIT binary patch delta 7238 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 HP{;oP+RQjW delta 5978 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 GC-%QNky20q diff --git a/bin/Debug/GZ_LTHPilot_ORDER.pdb b/bin/Debug/GZ_LTHPilot_ORDER.pdb index a7c9373c3c57e19653f2e053845c197ef98793b2..527433c10229bd3127229b683df36f6ce62da35e 100644 GIT binary patch delta 9948 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 u;19r?z+1rEz;>VsXa;^&&D~2u;