|
|
from BWP.B3ButcherManageExport.BO import NcVoucher;
|
|
|
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");
|
|
|
self.proxy.MinDmoProperties.Add("Supplier_Name");
|
|
|
self.proxy.MinDmoProperties.Add("Money");
|
|
|
self.proxy.MinDmoProperties.Add("AccountingUnit_ID");
|
|
|
self.proxy.MinDmoProperties.Add("AccountingUnit_Name");
|
|
|
self.proxy.MinDmoProperties.Add("Employee_Name");
|
|
|
|
|
|
self.proxy.MinDetailProperties.Add("ID");
|
|
|
self.proxy.MinDetailProperties.Add("Pay_ID");
|
|
|
self.proxy.MinDetailProperties.Add("StatPay_Date");
|
|
|
self.proxy.MinDetailProperties.Add("WeighBill_BuyNum");
|
|
|
self.proxy.MinDetailProperties.Add("WeighBill_BuyWeigh1");
|
|
|
self.proxy.MinDetailProperties.Add("Money");
|
|
|
self.proxy.MinDetailProperties.Add("CheckTareWeightPrice");
|
|
|
|
|
|
self.proxy.MinPreDetailProperties.Add("ID");
|
|
|
self.proxy.MinPreDetailProperties.Add("Pay_ID");
|
|
|
self.proxy.MinPreDetailProperties.Add("AdvancePay_Money");
|
|
|
|
|
|
|
|
|
def execute(self):
|
|
|
self.proxy.CheckAccountingUnit(dmos);
|
|
|
voucher = NcVoucher();
|
|
|
for dmo in dmos:
|
|
|
self.emptyError(dmo.Date,"付款日期不能为空");
|
|
|
self.emptyError(dmo.Supplier_Name,"供应商不能为空");
|
|
|
#self.emptyError(dmo.Employee_Name,"经办人不能为空");
|
|
|
voucher.B2BillIDs.Add(dmo.ID);
|
|
|
|
|
|
voucher.Head.Company = dmo.AccountingUnit_Name;
|
|
|
if dmo.AccountingUnit_ID==5:
|
|
|
voucher.Head.VoucherType = "QHC凭证";
|
|
|
else:
|
|
|
voucher.Head.VoucherType = "记账凭证";
|
|
|
voucher.Head.FiscalYear = self.proxy.GetDateTime(gToday,"yyyy");
|
|
|
voucher.Head.AccountingPeriod = self.proxy.GetDateTime(gToday,"MM");
|
|
|
voucher.Head.Date = self.proxy.GetDateTime(gToday,"yyyy-MM-dd");
|
|
|
voucher.Head.Signature = "Y";
|
|
|
voucher.Head.VoucherMakingSystem = "总账";
|
|
|
voucher.Head.Reserve2 = "N";
|
|
|
voucher.Head.Enter = gUser.Name;
|
|
|
voucher.Head.VoucherId = "0";
|
|
|
voucher.Head.AttachmentNumber = "0";
|
|
|
vouchers.Bills.Add(voucher);
|
|
|
entryid = 0;
|
|
|
for dmo in dmos:
|
|
|
if dmo.AccountingUnit_ID == 1:
|
|
|
entryid = entryid + 1;
|
|
|
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.GetSumWeighBill_BuyNum(dmo.Details)+ "头"+self.proxy.GetSumWeighBill_BuyWeigh1(dmo.Details)+"KG生猪尾款";
|
|
|
entry.Currency = "CNY";
|
|
|
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 = money1;
|
|
|
entry.Otheruserdata.Cashflowcase.Moneymain = money1;
|
|
|
entry.Otheruserdata.Cashflowcase.PkCashflow = "购买商品、接受劳务支付的现金";
|
|
|
for dmo in dmos:
|
|
|
if dmo.AccountingUnit_ID == 1:
|
|
|
entryid = entryid + 1;
|
|
|
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.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");
|
|
|
money1= self.proxy.GetSumMoney(dmo.Details);
|
|
|
entry.PrimaryCreditAmount = money1;
|
|
|
entry.NaturalCreditCurrency = money1;
|
|
|
|
|
|
voucher2 = NcVoucher();
|
|
|
for dmo in dmos:
|
|
|
voucher2.B2BillIDs.Add(dmo.ID);
|
|
|
|
|
|
voucher2.Head.Company = dmo.AccountingUnit_Name;
|
|
|
if dmo.AccountingUnit_ID==5:
|
|
|
voucher2.Head.VoucherType = "QHC凭证";
|
|
|
else:
|
|
|
voucher2.Head.VoucherType = "记账凭证";
|
|
|
voucher2.Head.FiscalYear = self.proxy.GetDateTime(gToday,"yyyy");
|
|
|
voucher2.Head.AccountingPeriod = self.proxy.GetDateTime(gToday,"MM");
|
|
|
voucher2.Head.Date = self.proxy.GetDateTime(gToday,"yyyy-MM-dd");
|
|
|
voucher2.Head.Signature = "Y";
|
|
|
voucher2.Head.VoucherMakingSystem = "总账";
|
|
|
voucher2.Head.Reserve2 = "N";
|
|
|
voucher2.Head.Enter = gUser.Name;
|
|
|
voucher2.Head.VoucherId = "0";
|
|
|
voucher2.Head.AttachmentNumber = "0";
|
|
|
vouchers.Bills.Add(voucher2);
|
|
|
entryid = 0;
|
|
|
for dmo in dmos:
|
|
|
if dmo.AccountingUnit_ID == 1:
|
|
|
entryid = entryid + 1;
|
|
|
entry = NcVoucherEntry();
|
|
|
voucher2.Body.Entrys.Add(entry);
|
|
|
entry.EntryId = str(entryid);
|
|
|
entry.AccountCode = "原材料生猪" ;
|
|
|
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.GetSumStatPay_Money1(dmo.Details);
|
|
|
entry.PrimaryDebitAmount = debitAmount;
|
|
|
entry.NaturalDebitCurrency = debitAmount;
|
|
|
entry.DebitQuantity = weight;
|
|
|
entry.UnitPrice = str(dmo.Details[0].CheckTareWeightPrice);
|
|
|
for dmo in dmos:
|
|
|
if dmo.AccountingUnit_ID == 1:
|
|
|
entryid = entryid + 1;
|
|
|
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);
|
|
|
entry.AccountCode = "集团外应付生猪款" ;
|
|
|
entry.Abstract = abstract;
|
|
|
entry.Currency = "CNY";
|
|
|
entry.ExchangeRate2 = "1" ;
|
|
|
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;
|
|
|
entry.Accountings.Items.Add(item);
|