diff --git a/BWP.B3ButcherManageExport/BL/NC/PayToNcBL_/PayToNcBL.cs b/BWP.B3ButcherManageExport/BL/NC/PayToNcBL_/PayToNcBL.cs index d7990c5..79b6134 100644 --- a/BWP.B3ButcherManageExport/BL/NC/PayToNcBL_/PayToNcBL.cs +++ b/BWP.B3ButcherManageExport/BL/NC/PayToNcBL_/PayToNcBL.cs @@ -12,6 +12,7 @@ using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2.DQuery; using TSingSoft.WebPluginFramework; using TSingSoft.WebPluginFramework.BIPlugins.BLEvents; +using Forks.Utils; namespace BWP.B3ButcherManageExport.BL { @@ -71,16 +72,6 @@ namespace BWP.B3ButcherManageExport.BL } } - public string GetSumNumber(IEnumerable details) - { - return details.Sum(x => (x.BuyNum ?? 0)).ToString(); - } - - public string GetSumWeight(IEnumerable details) - { - return details.Sum(x => (x.BuyWeigh1 ?? 0).Value).ToString("0.00"); - } - public string GetStatPayDate(Pay dmo, string format) { if (dmo.Details.Count == 0) @@ -103,6 +94,28 @@ namespace BWP.B3ButcherManageExport.BL return details.Sum(x => (x.StatPay_Money ?? 0).Value).ToString(); } + public string GetSumWeighBill_BuyNum(IEnumerable details) + { + int? weighBillBuyNum = 0; + foreach (var item in details.GroupBy(x => x.Weigh_ID)) + { + var first = item.First(); + weighBillBuyNum += first.WeighBill_BuyNum; + } + return (weighBillBuyNum ?? 0).ToString(); + } + + public string GetSumWeighBill_BuyWeigh1(IEnumerable details) + { + Money? weighBillBuyWeigh1 = 0; + foreach (var item in details.GroupBy(x => x.Weigh_ID)) + { + var first = item.First(); + weighBillBuyWeigh1 += first.WeighBill_BuyWeigh1; + } + return ((weighBillBuyWeigh1 ?? 0).Value).ToString("0.00"); + } + protected override void BeforeExport(List dmoIDs) { base.BeforeExport(dmoIDs); diff --git a/BWP.B3ButcherManageExport/BL/NC/script/大红门付款单导NC凭证.py b/BWP.B3ButcherManageExport/BL/NC/script/大红门付款单导NC凭证.py index 0b6fd81..592da21 100644 --- a/BWP.B3ButcherManageExport/BL/NC/script/大红门付款单导NC凭证.py +++ b/BWP.B3ButcherManageExport/BL/NC/script/大红门付款单导NC凭证.py @@ -3,6 +3,7 @@ from BWP.B3ButcherManageExport.BO import NcVoucherEntry; from BWP.B3ButcherManageExport.BO import Items; from BWP.B3ButcherManageExport.BO import Otheruserdata; from System import Convert; + class BLMethodEvents(BLMethodEventsBase): def before(self): self.proxy.MinDmoProperties.Add("Date"); @@ -56,20 +57,21 @@ class BLMethodEvents(BLMethodEventsBase): entry = NcVoucherEntry(); voucher.Body.Entrys.Add(entry); entry.EntryId = str(entryid); - entry.AccountCode = "集团外应付生猪款" ; - entry.Abstract =self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd") +"支付" +self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name + self.proxy.GetSumNumber(dmo.Details)+ "头"+self.proxy.GetSumWeight(dmo.Details)+"KG生猪尾款"; + entry.AccountCode = "集团外应付生猪款"; + entry.Abstract =self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd") +"支付" +self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name + self.proxy.GetSumWeighBill_BuyNum(dmo.Details)+ "头"+self.proxy.GetSumWeighBill_BuyWeigh1(dmo.Details)+"KG生猪尾款"; entry.Currency = "CNY"; - entry.ExchangeRate2 = "1" ; - entry.PrimaryDebitAmount = str(dmo.Money) ; - entry.NaturalDebitCurrency = str(dmo.Money) ; + entry.ExchangeRate2 = "1"; + money1= self.proxy.GetSumMoney(dmo.Details); + entry.PrimaryDebitAmount = money1; + entry.NaturalDebitCurrency = money1; item =Items(); item.Name = "供应商辅助核算"; item.Value = dmo.Supplier_Name; entry.Accountings.Items.Add(item); otherUserDate = Otheruserdata(); entry.Otheruserdata = otherUserDate; - entry.Otheruserdata.Cashflowcase.Money = str(dmo.Money) ; - entry.Otheruserdata.Cashflowcase.Moneymain = str(dmo.Money) ; + entry.Otheruserdata.Cashflowcase.Money = money1; + entry.Otheruserdata.Cashflowcase.Moneymain = money1; entry.Otheruserdata.Cashflowcase.PkCashflow = "购买商品、接受劳务支付的现金"; for dmo in dmos: if dmo.AccountingUnit_ID == 1: @@ -78,14 +80,14 @@ class BLMethodEvents(BLMethodEventsBase): voucher.Body.Entrys.Add(entry); entry.EntryId = str(entryid); entry.AccountCode = "银行存款_收购" ; - entry.Abstract =self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd") +"支付" +self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name + self.proxy.GetSumNumber(dmo.Details)+ "头"+self.proxy.GetSumWeight(dmo.Details)+"KG生猪尾款"; + entry.Abstract =self.proxy.GetDateTime(dmo.Date,"yyyy-MM-dd") +"支付" +self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name + self.proxy.GetSumWeighBill_BuyNum(dmo.Details)+ "头"+self.proxy.GetSumWeighBill_BuyWeigh1(dmo.Details)+"KG生猪尾款"; entry.Settlement = "电汇"; entry.Currency = "CNY"; entry.ExchangeRate2 = "1" ; - entry.DocumentDate = self.proxy.GetDateTime(gToday,"yyyy-MM-dd"); - entry.PrimaryCreditAmount = str(dmo.Money) ; - entry.NaturalCreditCurrency = str(dmo.Money) ; - + entry.DocumentDate = self.proxy.GetDateTime(gToday,"yyyy-MM-dd"); + money1= self.proxy.GetSumMoney(dmo.Details); + entry.PrimaryCreditAmount = money1; + entry.NaturalCreditCurrency = money1; voucher2 = NcVoucher(); for dmo in dmos: @@ -114,11 +116,11 @@ class BLMethodEvents(BLMethodEventsBase): voucher2.Body.Entrys.Add(entry); entry.EntryId = str(entryid); entry.AccountCode = "原材料生猪" ; - weight = self.proxy.GetSumWeight(dmo.Details); - entry.Abstract = self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name +"购买生猪"+ self.proxy.GetSumNumber(dmo.Details)+ "头"+weight+"KG"; + weight = self.proxy.GetSumWeighBill_BuyWeigh1(dmo.Details); + entry.Abstract = self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name +"购买生猪"+ self.proxy.GetSumWeighBill_BuyNum(dmo.Details)+ "头"+weight+"KG"; entry.Currency = "CNY"; entry.ExchangeRate2 = "1" ; - debitAmount = self.proxy.GetSumMoney(dmo.Details); + debitAmount = self.proxy.GetSumStatPay_Money1(dmo.Details); entry.PrimaryDebitAmount = debitAmount; entry.NaturalDebitCurrency = debitAmount; entry.DebitQuantity = weight; @@ -126,8 +128,8 @@ class BLMethodEvents(BLMethodEventsBase): for dmo in dmos: if dmo.AccountingUnit_ID == 1: entryid = entryid + 1; - weight = self.proxy.GetSumWeight(dmo.Details); - abstract = self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name +"购买生猪"+ self.proxy.GetSumNumber(dmo.Details)+ "头"+weight+"KG"; + weight = self.proxy.GetSumWeighBill_BuyWeigh1(dmo.Details); + abstract = self.proxy.GetStatPayDate(dmo,"yyyy-MM-dd")+dmo.Supplier_Name +"购买生猪"+ self.proxy.GetSumWeighBill_BuyNum(dmo.Details)+ "头"+weight+"KG"; entry = NcVoucherEntry(); voucher2.Body.Entrys.Add(entry); entry.EntryId = str(entryid); @@ -135,8 +137,8 @@ class BLMethodEvents(BLMethodEventsBase): entry.Abstract = abstract; entry.Currency = "CNY"; entry.ExchangeRate2 = "1" ; - entry.PrimaryCreditAmount = self.proxy.GetSumMoney(dmo.Details); - entry.NaturalCreditCurrency = self.proxy.GetSumMoney(dmo.Details); + entry.PrimaryCreditAmount = self.proxy.GetSumStatPay_Money1(dmo.Details); + entry.NaturalCreditCurrency = self.proxy.GetSumStatPay_Money1(dmo.Details); item =Items(); item.Name = "供应商辅助核算"; item.Value = dmo.Supplier_Name;