This commit is contained in:
2025-07-15 19:51:01 +08:00
parent a7305ee24c
commit 651ab7e326
3 changed files with 62 additions and 9 deletions

View File

@@ -47,9 +47,9 @@
<Reference Include="BouncyCastle.Crypto"> <Reference Include="BouncyCastle.Crypto">
<HintPath>..\..\..\派诺-裴豪\派诺功能\代码\Pilot_KD_Parino (2)\Pilot_KD_Parino\Pilot_KD_Parino\bin\Debug\BouncyCastle.Crypto.dll</HintPath> <HintPath>..\..\..\派诺-裴豪\派诺功能\代码\Pilot_KD_Parino (2)\Pilot_KD_Parino\Pilot_KD_Parino\bin\Debug\BouncyCastle.Crypto.dll</HintPath>
</Reference> </Reference>
<Reference Include="Castle.Core, Version=3.2.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL"> <Reference Include="Castle.Core, Version=5.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\派诺-裴豪\派诺功能\代码\Pilot_KD_Parino (2)\Pilot_KD_Parino\Pilot_KD_Parino\bin\Debug\Castle.Core.dll</HintPath> <HintPath>bin\Debug\Castle.Core.dll</HintPath>
</Reference> </Reference>
<Reference Include="DevExpress.Data.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"> <Reference Include="DevExpress.Data.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>

View File

@@ -1,4 +1,5 @@
using Kingdee.BOS; using Castle.Core.Internal;
using Kingdee.BOS;
using Kingdee.BOS.App; using Kingdee.BOS.App;
using Kingdee.BOS.Contracts; using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm;
@@ -16,6 +17,7 @@ using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util; using Kingdee.BOS.Util;
using Pilot_KD_Parino.Common; using Pilot_KD_Parino.Common;
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
@@ -28,6 +30,8 @@ namespace Pilot_KD_Parino.Sal_Order
string ADDRESS = ""; string ADDRESS = "";
string date = ""; string date = "";
string fid = "0"; string fid = "0";
DynamicObject sheet = null;
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{ {
//throw new KDBusinessException("", "至少进来了"); //throw new KDBusinessException("", "至少进来了");
@@ -35,10 +39,10 @@ namespace Pilot_KD_Parino.Sal_Order
foreach (var rows in e.SelectedRows) foreach (var rows in e.SelectedRows)
{ {
var Billobj = rows.DataEntity; var Billobj = rows.DataEntity;
sheet = Billobj;
//var sdsas = JsonHelper.ToJson(Billobj); var sdsas = JsonHelper.ToJson(Billobj);
//Logger.Error("目标单据数据集合", sdsas, new Exception()); Logger.Error("目标单据数据集合", sdsas, new Exception());
string id = Convert.ToString(Billobj["Id"]); string id = Convert.ToString(Billobj["Id"]);
fid = id; fid = id;
string addressSql = $@"/*dialect*/SELECT F_Shippingaddress, FDate FROM dbo.T_SAL_DELIVERYNOTICE WHERE fid={id}"; string addressSql = $@"/*dialect*/SELECT F_Shippingaddress, FDate FROM dbo.T_SAL_DELIVERYNOTICE WHERE fid={id}";
@@ -138,7 +142,7 @@ namespace Pilot_KD_Parino.Sal_Order
} }
} }
private IOperationResult Invoke(string source, string target, string tempFid, string sargetBillTypeId, ref int stockId) private IOperationResult Invoke(string source, string target, string tempFid, string sargetBillTypeId,ref int stockId)
{ {
try try
{ {
@@ -186,9 +190,58 @@ namespace Pilot_KD_Parino.Sal_Order
if (date != "") if (date != "")
{ {
string addressSql = $@"/*dialect*/update T_SAL_DELIVERYNOTICE set FDate='{date}' WHERE fid={stocks3["Id"]}"; string addressSql = $@"/*dialect*/update T_SAL_DELIVERYNOTICE set FDate='{date}' WHERE fid={stocks3["Id"]}";
DBServiceHelper.ExecuteDynamicObject(this.Context, addressSql); DBServiceHelper.ExecuteDynamicObject(this.Context, addressSql);
} }
var itemList = sheet["SAL_DELIVERYNOTICEENTRY"] as DynamicObjectCollection;
var newItemlist = stocks3["SAL_DELIVERYNOTICEENTRY"] as DynamicObjectCollection;
Dictionary<string, decimal> MaterialCode = new Dictionary<string, decimal>();
foreach (var item in itemList)
{
var Material = item["MaterialID"] as DynamicObject;
if (Material != null)
{
string code2 = (Material["Number"].ToString());
decimal qty = decimal.Parse(item["Qty"].ToString());
if (!MaterialCode.ContainsKey(code2))
{
MaterialCode.Add(code2, qty);
}
else
MaterialCode[code2] = MaterialCode[code2] + qty;
}
}
List<DynamicObject> deleteItem = new List<DynamicObject>();
foreach (var item in newItemlist)
{
var Material = item["MaterialID"] as DynamicObject;
if (Material != null)
{
string code2 = (Material["Number"].ToString());
decimal qty = decimal.Parse(item["Qty"].ToString());
if (MaterialCode.ContainsKey(code2))
{
if (MaterialCode[code2] != qty)
{
item["Qty"] = MaterialCode[code2];
}
}
else
{
deleteItem.Add(item);
}
}
}
if (deleteItem.Count > 0)
{
deleteItem.ForEach(t =>
{
newItemlist.Remove(t);
});
saveResult = ServiceHelper.GetService<ISaveService>().Save(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
}
} }
////合并保存操作结果 ////合并保存操作结果