From f1cca4e8fb60d51ff66b44f9e144d2cc1d7fa5ca Mon Sep 17 00:00:00 2001 From: gaowenwei Date: Mon, 18 Dec 2017 20:01:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8D=95No.137223=EF=BC=9A?= =?UTF-8?q?=E3=80=90=E7=95=9C=E7=B1=BB=E5=B1=A0=E5=AE=B0=E5=9C=BA=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E3=80=91-=E3=80=90=E4=BB=98=E6=AC=BE=E5=8D=95?= =?UTF-8?q?=E3=80=91B3ButcherManage.0015=E5=AF=BC=E5=85=A5=E7=94=A8?= =?UTF-8?q?=E5=8F=8B12.1=E5=8D=95=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BL/U8/PayToU8BL_/PayToU8BL.cs | 56 +++++++++++++++++- .../屠宰场结算单导U8采购入库单.py | 57 +++++++++++++++++++ .../BWP.B3ButcherManageExport.csproj | 1 + 3 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 BWP.B3ButcherManageExport/BL/U8/script/屠宰场结算单导U8采购入库单.py diff --git a/BWP.B3ButcherManageExport/BL/U8/PayToU8BL_/PayToU8BL.cs b/BWP.B3ButcherManageExport/BL/U8/PayToU8BL_/PayToU8BL.cs index 6e0ecae..7ae5471 100644 --- a/BWP.B3ButcherManageExport/BL/U8/PayToU8BL_/PayToU8BL.cs +++ b/BWP.B3ButcherManageExport/BL/U8/PayToU8BL_/PayToU8BL.cs @@ -5,6 +5,8 @@ using BWP.B3ExportBase.BO; using BWP.B3Frameworks; using Forks.EnterpriseServices; using Forks.EnterpriseServices.BusinessInterfaces; +using Forks.EnterpriseServices.DomainObjects2; +using Forks.EnterpriseServices.DomainObjects2.DQuery; using System; using System.Collections.Generic; using System.Linq; @@ -21,14 +23,14 @@ namespace BWP.B3ButcherManageExport.BL } [LogicName("屠宰场付款单导U8付款单")] - [BindToFeature("B3ButcherManageExport.0006")] + //[BindToFeature("B3ButcherManageExport.0006")] [ExportID(B3FrameworksConsts.DmoTypeIDBases.B3ButcherManageExport, B3ButcherManageExportConsts.ExportIDOffsets.PayToU8)] public class PayToU8BL : ExportU8BL, IPayToU8BL { protected override Ufinterface CreateUfinterface(IList dmos) { var scriptHelper = new PythonScriptHelper(string.Empty, Config.Script, this); - var inv = SaleInvoices.CreateSaleInvoice(); + var inv = PayU8s.CreateStoreIn(); scriptHelper.AddLocalVar("dmos", dmos); scriptHelper.AddLocalVar("invoices", inv); @@ -54,5 +56,55 @@ namespace BWP.B3ButcherManageExport.BL _date = date ?? BLContext.Today; Export(dmoIDs, extSystemID); } + + protected override Action> FillDetail + { + get + { + return dmos => + { + var dmoType = typeof(Pay_Detail); + var dom = new DQueryDom(new JoinAlias(dmoType)); + dom.Columns.Add(DQSelectColumn.Field("ID")); + foreach (string property in MinDetailProperties) + { + dom.Columns.Add(DQSelectColumn.Field(property)); + } + var expressionList = new List(); + foreach (var dmo in dmos) + expressionList.Add(DQExpression.Value(dmo.ID)); + dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("Pay_ID"), expressionList.ToArray())); + var details = new List(); + details.Clear(); + using (IDQDataReader reader = Session.ExecuteReader(dom)) + { + while (reader.Read()) + { + var detail = new Pay_Detail + { + ID = (long)reader[0] + }; + int i = 1; + foreach (var property in MinDetailProperties) + { + dmoType.GetProperty(property).SetValue(detail, reader[i++], null); + } + details.Add(detail); + } + } + var groups = details.GroupBy(x => x.Pay_ID); + foreach (var gDetail in groups) + { + var firstDmo = dmos.FirstOrDefault(x => x.ID == gDetail.Key); + if (firstDmo == null) + continue; + foreach (var billDetail in gDetail) + { + firstDmo.Details.Add(billDetail); + } + } + }; + } + } } } diff --git a/BWP.B3ButcherManageExport/BL/U8/script/屠宰场结算单导U8采购入库单.py b/BWP.B3ButcherManageExport/BL/U8/script/屠宰场结算单导U8采购入库单.py new file mode 100644 index 0000000..fd21d6e --- /dev/null +++ b/BWP.B3ButcherManageExport/BL/U8/script/屠宰场结算单导U8采购入库单.py @@ -0,0 +1,57 @@ +from BWP.B3ExportBase.BO import StatPayU8 +from BWP.B3ExportBase.BO import StatPayU8BodyEntry + +class BLMethodEvents(BLMethodEventsBase): + def before(self): + #0 读取部分字段,1 读取单据所有字段,包括明细 + self.proxy.LoadFullDom = 0 + #当设置 0时,指定需要读取的字段 + self.proxy.MinDmoProperties.Add("CheckTime");#入库日期--审核日期 + self.proxy.MinDmoProperties.Add("Employee_Name");#业务员--经办人 + self.proxy.MinDmoProperties.Add("Supplier_Name");#供货单位--供应商 + self.proxy.MinDmoProperties.Add("Supplier_Code");#供货单位--供应商编号 + self.proxy.MinDmoProperties.Add("Remark");#备注--摘要 + + self.proxy.MinDetailProperties.Add("StatPay_ID");#存货编码--级别编码 + self.proxy.MinDetailProperties.Add("Livestock_Code");#存货编码--级别编码 + self.proxy.MinDetailProperties.Add("Livestock_Spec");#规格型号--级别规格 + self.proxy.MinDetailProperties.Add("Weight");#数量--重量 + + def execute(self): + id = 0; + for dmo in dmos: + vouchers.Lastquerydate = str(dmo.CheckTime); + vouchers.Dynamicdate = self.proxy.GetDateTime(dmo.CheckTime,"yyyy-MM-dd"); + vouchers.Timestamp = str(dmo.CheckTime); + vouchers.Bignoreextenduserdefines = "y"; + vouchers.Maxdataitems = "20000"; + vouchers.Paginate = "0"; + + #self.emptyError(dmo.SaleKind_Name,"NO."+str(dmo.ID)+"销售类型为空") + id = id + 1; + inv = StatPayU8(); + vouchers.Bills.Add(inv); + inv.B2BillIDs.Add(dmo.ID); + inv.Head.Id = id.ToString("00000000000000"); + inv.Head.Code = id.ToString("00000000000000"); + inv.Head.Date = self.proxy.GetDateTime(dmo.CheckTime,"yyyy-MM-dd"); + inv.Head.Vouchtype = "01"; + inv.Head.Warehousecode = "07";#仓库,默认 新原料猪库 + inv.Head.Receivecode = "0101";#入库类别,默认 原料猪采购入库 + inv.Head.Businesstype = "普通采购"; + inv.Head.Purchasetypecode = "1";#采购类型,默认 普通采购 + inv.Head.Source = "库存"; + inv.Head.Auditdate = self.proxy.GetDateTime(dmo.CheckTime,"yyyy-MM-dd hh:mm:ss"); + inv.Head.Maker = dmo.Employee_Name; + inv.Head.Vendorcode = dmo.Supplier_Code;#供应商编码 + inv.Head.Exchrate = "1";#汇率 + #self.error(str(dmo.Details.Count)); + weight = 0; + for detail in dmo.Details: + weight+=detail.Weight; + entry = StatPayU8BodyEntry(); + inv.Body.AddEntry(entry); + entry.Autoid = "1000089842"; + entry.Inventorycode = "110101"; + entry.Invname = "毛猪(新)"; + entry.Quantity = str(weight); \ No newline at end of file diff --git a/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj b/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj index 2af4fcc..0f941c6 100644 --- a/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj +++ b/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj @@ -101,6 +101,7 @@ +