From 879b9eaa07c8f3e5340bfd7cac565780b9d2867c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 24 七月 2025 09:31:03 +0800
Subject: [PATCH] 采购付款抹零

---
 CY_ECommercePlatform/CY.WebForm/Pages/financial/PurchasePayEdit.aspx.cs |   93 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 81 insertions(+), 12 deletions(-)

diff --git a/CY_ECommercePlatform/CY.WebForm/Pages/financial/PurchasePayEdit.aspx.cs b/CY_ECommercePlatform/CY.WebForm/Pages/financial/PurchasePayEdit.aspx.cs
index a9f6faa..c1de724 100644
--- a/CY_ECommercePlatform/CY.WebForm/Pages/financial/PurchasePayEdit.aspx.cs
+++ b/CY_ECommercePlatform/CY.WebForm/Pages/financial/PurchasePayEdit.aspx.cs
@@ -81,10 +81,11 @@
             {
                 this.spanAllMoney.InnerHtml = "锟�" + (AllMoney ?? 0).ToString("0.00");
                 this.spanReceiveMoney.InnerHtml = "锟�" + (ReceiveMoney ?? 0).ToString("0.00");
+                this.hidReceiveMoney.Value = (ReceiveMoney ?? 0).ToString("0.0000");
                 this.spanCountRe.InnerHtml = "1 鍗�";
 
-                this.txtReciveMoney.Enabled = true;
-                this.txtReciveMoney.Text = (ReceiveMoney ?? 0).ToString("0.00");
+                
+                this.txtReciveMoney.Value = (ReceiveMoney ?? 0).ToString("0.00");
                 this.txtReciveMoney.Attributes.Add("max", (ReceiveMoney ?? 0).ToString("0.00"));
 
             }
@@ -92,10 +93,11 @@
             {
                 this.spanAllMoney.InnerHtml = "锟�" + (AllMoney ?? 0).ToString("0.00");
                 this.spanReceiveMoney.InnerHtml = "锟�" + ReceiveMoney.Value.ToString("0.00");
+                this.hidReceiveMoney.Value = (ReceiveMoney ?? 0).ToString("0.0000");
                 this.spanCountRe.InnerHtml = Keys.Count().ToString2() + " 鍗�";
 
-                this.txtReciveMoney.Enabled = false;
-                this.txtReciveMoney.Text = (ReceiveMoney ?? 0).ToString("0.00");
+                this.txtReciveMoney.Attributes["readonly"] = "readonly";
+                this.txtReciveMoney.Value = (ReceiveMoney ?? 0).ToString("0.00");
                 this.txtReciveMoney.Attributes.Add("max", (ReceiveMoney ?? 0).ToString("0.00"));
             }
         }
@@ -106,7 +108,26 @@
             try
             {
 
+
                 string[] Keys = Request["Keyid"].ToString2().Trim('|').Split('|');
+                var molingmoney = this.txtMolingMoney.Value.ToDecimal2();
+                decimal molingmoneyvalue = 0;
+                if (molingmoney.HasValue && molingmoney.Value > 0)
+                {
+                    molingmoneyvalue = molingmoney.Value;
+                }
+                var remoney = this.txtReciveMoney.Value.ToDecimal2();
+                var hidremoney = this.hidReceiveMoney.Value.ToDecimal2(); 
+
+                if (molingmoney.HasValue && molingmoney.Value > 0)
+                {
+                    if ((remoney + molingmoney.Value) != hidremoney )
+                    {
+                        JavaScript.MessageBox("鎿嶄綔閲戦鍔犳姽闆堕噾棰濆繀椤荤瓑浜庡墿浣欏簲浠橀噾棰濓紒", this);
+                        return;
+                    }
+                }
+
                 foreach (var item in Keys)
                 {
                     if (!string.IsNullOrEmpty(item))
@@ -121,11 +142,15 @@
                 }
 
                 int? SubjectId = this.selSubject.Value.ToInt32();
-
+               
                 decimal? money = ReceiveMoney;
                 if (Request["amount"].ToString2() == "one")
                 {
-                    money = this.txtReciveMoney.Text.ToDecimal2();
+                    money = this.txtReciveMoney.Value.ToDecimal2();
+                }
+                if (molingmoney.HasValue && molingmoney.Value > 0)
+                {
+                    money = money - molingmoney.Value;
                 }
 
                 int? AccountIdOut = Request["selAccountNameOut"].ToInt32();
@@ -153,13 +178,14 @@
                             OA_Procurement m_OA_Procurement = bll_OA_ProcurementBLL.SelectSingleModel(item);
                             if (m_OA_Procurement != null)
                             {
-                                if (Request["amount"].ToString2() == "one")
-                                    m_OA_Procurement.ReceiveMoney += money;
-                                else
-                                    m_OA_Procurement.ReceiveMoney = m_OA_Procurement.AllMoney;
+                                //if (Request["amount"].ToString2() == "one")
+                                //    m_OA_Procurement.ReceiveMoney += money;
+                                //else
+                                //{
+                                //    m_OA_Procurement.ReceiveMoney = m_OA_Procurement.AllMoney;
+                                //}
 
-                                if (m_OA_Procurement.ReceiveMoney == m_OA_Procurement.AllMoney)
-                                    m_OA_Procurement.ClearingStatusId = bll_Sys_DictionaryBLL.GetKeyIdByKeyid(1, "缁撹处鐘舵��");
+                              
 
                                 m_OA_Procurement.Operator = CurrentUser.ShortName;
                                 m_OA_Procurement.LastUpdateTime = DateTime.Now;
@@ -171,9 +197,52 @@
                                 m_OA_FirmAccountRecordOut.RecordTypeId = 2;//鏀嚭
 
                                 if (Request["amount"].ToString2() == "one")
+                                {
+                                    m_OA_Procurement.ReceiveMoney += money;
                                     m_OA_FirmAccountRecordOut.Money = money;
+                                }
                                 else
+                                {
                                     m_OA_FirmAccountRecordOut.Money = (m_OA_Procurement.AllMoney - m_OA_Procurement.ReceiveMoney);
+                                    m_OA_Procurement.ReceiveMoney = m_OA_Procurement.AllMoney;
+                                  
+
+                                    if (molingmoneyvalue > 0)
+                                    {
+                                        if (m_OA_Procurement.AllMoney.Value >= molingmoneyvalue)
+                                        {
+                                            m_OA_Procurement.ReceiveMoney = m_OA_Procurement.AllMoney.Value - molingmoneyvalue;
+                                            m_OA_FirmAccountRecordOut.Money = m_OA_Procurement.AllMoney.Value - molingmoneyvalue;
+                                            molingmoneyvalue = 0;
+                                        }
+                                        else
+                                        {
+                                            m_OA_Procurement.ReceiveMoney = 0;
+                                            m_OA_FirmAccountRecordOut.Money = 0;
+                                            molingmoneyvalue = molingmoneyvalue - m_OA_Procurement.AllMoney.Value;
+                                        }
+
+                                    }
+                                }
+                                if (Request["amount"].ToString2() == "one")
+                                {
+                                    if (molingmoney.HasValue && molingmoney.Value > 0)
+                                    {
+                                            m_OA_Procurement.ClearingStatusId = bll_Sys_DictionaryBLL.GetKeyIdByKeyid(1, "缁撹处鐘舵��");
+                                    }
+                                    else
+                                    {
+                                        if (m_OA_Procurement.ReceiveMoney == m_OA_Procurement.AllMoney)
+                                            m_OA_Procurement.ClearingStatusId = bll_Sys_DictionaryBLL.GetKeyIdByKeyid(1, "缁撹处鐘舵��");
+                                    }
+                                   
+                                }
+                                else
+                                {
+                                    m_OA_Procurement.ClearingStatusId = bll_Sys_DictionaryBLL.GetKeyIdByKeyid(1, "缁撹处鐘舵��");
+                                }
+                                   
+
 
                                 m_OA_FirmAccountRecordOut.SubjectId = m_OA_SubjectSet.Keyid;
                                 m_OA_FirmAccountRecordOut.OperationalMatters = "閲囪喘浠樻";

--
Gitblit v1.9.1