From 889e8ec33e9be171fd321e3b4397e128c0a8275b Mon Sep 17 00:00:00 2001 From: liangjunyu <13726812+shifang-tianhua_0@user.noreply.gitee.com> Date: Mon, 8 Sep 2025 11:20:33 +0800 Subject: [PATCH] 1 --- Pilot_KD_Parino/Pilot_KD_Parino.csproj | 2 + Pilot_KD_Parino/Pilot_KD_Parino.csproj.user | 2 +- .../SaleOrder_DeliveryNoticeConvert.cs | 16 +++++ .../SaleOrder_DeliveryNoticeConvert.py | 61 +++++++++++++++++++ .../SAL_DELIVERYNOTICE/ServicePlugIn/Save.py | 2 +- 5 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.cs create mode 100644 Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.py diff --git a/Pilot_KD_Parino/Pilot_KD_Parino.csproj b/Pilot_KD_Parino/Pilot_KD_Parino.csproj index d36c3e4..afc7168 100644 --- a/Pilot_KD_Parino/Pilot_KD_Parino.csproj +++ b/Pilot_KD_Parino/Pilot_KD_Parino.csproj @@ -347,6 +347,7 @@ + @@ -364,6 +365,7 @@ + diff --git a/Pilot_KD_Parino/Pilot_KD_Parino.csproj.user b/Pilot_KD_Parino/Pilot_KD_Parino.csproj.user index 0b24643..a607660 100644 --- a/Pilot_KD_Parino/Pilot_KD_Parino.csproj.user +++ b/Pilot_KD_Parino/Pilot_KD_Parino.csproj.user @@ -1,6 +1,6 @@ - ProjectFiles + ShowAllFiles \ No newline at end of file diff --git a/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.cs b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.cs new file mode 100644 index 0000000..854f041 --- /dev/null +++ b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.cs @@ -0,0 +1,16 @@ +using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn; +using Kingdee.BOS.Util; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Pilot_KD_Parino.SAL_DELIVERYNOTICE.ConvertServicePlugIn +{ + [Description("生产订单装换插件#"), HotUpdate] + public class SaleOrder_DeliveryNoticeConvert: AbstractConvertPlugIn + { + } +} diff --git a/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.py b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.py new file mode 100644 index 0000000..33d05bc --- /dev/null +++ b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ConvertServicePlugIn/SaleOrder_DeliveryNoticeConvert.py @@ -0,0 +1,61 @@ +import clr +clr.AddReference("System") +clr.AddReference('System.Data') +clr.AddReference("Kingdee.BOS") +clr.AddReference("Kingdee.BOS.DataEntity") +clr.AddReference("Kingdee.BOS.Core") +clr.AddReference('Kingdee.BOS.App') +clr.AddReference("Kingdee.BOS.ServiceHelper") + +from Kingdee.BOS.Core import * +from Kingdee.BOS.Util import * +from Kingdee.BOS.Orm.DataEntity import * +from Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn import * +from Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args import * +from System import * +from System.Data import * +from System.Collections.Generic import * +from Kingdee.BOS.ServiceHelper import * + + +def FirstOrDefault(collection, func): + """仿Linq的FirstOrDefault + + Args: + collection (_type_): 数据集 + func (_type_): lambda公式 + + Returns: + _type_: 获取数据集第一个或null + """ + result = filter(func, collection) + + if len(result) == 0: return None + + return result[0] + +# 数据转换完毕后触发事件 +def AfterConvert(e): + # 选单 + # if this.OperationNumber == "Draw": + # # 下推 + # if this.OperationNumber == "Push": + # raise Exception(JsonUtil.Serialize(e.TargetBusinessInfo)) + for billHeadEntity in e.Result.FindByEntityKey("FBillHead"): + billHead = billHeadEntity.DataEntity; + entrys = billHead["FEntity"] + + sqlL = List[str](); + for idx,entry in enumerate(entrys): + materialId_Id = entry["MaterialID_Id"] + if materialId_Id is None or materialId_Id == 0: + continue; + sqlL.Add("SELECT {0} 'Idx',{1} MaterialId".format(idx,materialId_Id)) + + if sqlL.Count == 0: + continue; + + sql = """/*dialect*/ + + + """ diff --git a/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py index da4ae6e..577f605 100644 --- a/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py +++ b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py @@ -98,7 +98,7 @@ GROUP BY t0.FBILLNO,t0.FID # 本次发货价税合计 currAmount = entity["SAL_DELIVERYNOTICEFIN"][0]["BillAllAmount"] # 累计核销金额 - sumAmount = 0 + sumAmount = float(0.00) try: sumAmount = saleOrderService.GetSaleOrderReceiveAmount(str(saleOrgId),saleBillNo)