From 21e7f3f45ebf02b97d4df61b0fa68595c24f8699 Mon Sep 17 00:00:00 2001 From: liangjunyu <13726812+shifang-tianhua_0@user.noreply.gitee.com> Date: Tue, 29 Jul 2025 16:21:49 +0800 Subject: [PATCH] 1 --- .../SAL_DELIVERYNOTICE/ServicePlugIn/Save.py | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py index d456387..7be8bed 100644 --- a/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py +++ b/Pilot_KD_Parino/SAL_DELIVERYNOTICE/ServicePlugIn/Save.py @@ -44,7 +44,7 @@ def BeforeDoSaveExecute(e): if entity["SaleOrgId_Id"] != 100303: continue; - if entity["DocumentStatus"] != "Z" and entity["DocumentStatus"] != "C": + if entity["DocumentStatus"] != "Z" and entity["DocumentStatus"] != "C" and entity["DocumentStatus"] != "D": continue; billId = entity["Id"] @@ -62,10 +62,10 @@ def BeforeDoSaveExecute(e): continue; sql = """/*dialect*/ -SELECT SUM(t0.F_Amount) '累计核销金额',SUM(t0p.FRECADVANCEAMOUNT) '款到发货应收金额',SUM(t0p.CountTotal) '收款计划条数',SUM(ISNULL(t1.FALLAMOUNT,0)) '累计已发货金额' +SELECT SUM(t0.F_Amount) '累计核销金额',SUM(ISNULL(t0p.FRECADVANCEAMOUNT,0)) '款到发货应收金额',SUM(ISNULL(t0p.收款计划条数,0)) '收款计划条数',SUM(ISNULL(t1.FALLAMOUNT,0)) '累计已发货金额' FROM T_SAL_ORDER t0 - CROSS APPLY ( - SELECT SUM(t0p.FRECADVANCEAMOUNT) 'FRECADVANCEAMOUNT',COUNT(1) 'CountTotal' + OUTER APPLY ( + SELECT SUM(t0p.FRECADVANCEAMOUNT) 'FRECADVANCEAMOUNT',COUNT(1) '收款计划条数' FROM T_SAL_ORDERPLAN t0p INNER JOIN T_BD_RECCONDITION_L t1_l on t1_l.FID = t0p.F_RECCONDITIONID AND t1_l.FLOCALEID = 2052 AND CHARINDEX('款到发货',t1_l.FNAME) = 1 @@ -85,11 +85,19 @@ WHERE t0.FID IN ({0}) item = res[0] if entity["SAL_DELIVERYNOTICEFIN"] != None and entity["SAL_DELIVERYNOTICEFIN"].Count > 0: + # 本次发货价税合计 currAmount = entity["SAL_DELIVERYNOTICEFIN"][0]["BillAllAmount"] - # raise Exception(str(currAmount)) - isYFHFlag = item["累计核销金额"] < item["款到发货应收金额"] - isYFHFlag1 = isYFHFlag == True and (item["收款计划条数"] == 1) - isYFHFlag2 = isYFHFlag == True and (True if isYFHFlag1 else ((item["累计核销金额"] - item["累计已发货金额"]) < currAmount)) - entity["F_SFYFH"] = '是' if isYFHFlag2 == True else '否' - + # 累计核销金额 + sumAmount = item["累计核销金额"] + # 款到发货应收金额 + sumArAmount = item["款到发货应收金额"] + # 累计已发货金额 + sumOutAmount = item["累计已发货金额"] + + countPlan = item["收款计划条数"] + + flag01 = sumAmount >= sumArAmount + flag02 = ((sumOutAmount + currAmount) <= sumAmount and (sumOutAmount + currAmount) <= sumArAmount) + flag03 = countPlan > 0 and (sumOutAmount + currAmount) > sumAmount and sumAmount < sumArAmount + entity["F_SFYFH"] = '是' if flag01 == False and flag02 == False and flag03 == True else '否' return;