diff --git a/BWP.B3ButcherManageExport.Web/BWP.B3ButcherManageExport.Web.csproj b/BWP.B3ButcherManageExport.Web/BWP.B3ButcherManageExport.Web.csproj
index 24081c4..6e62c76 100644
--- a/BWP.B3ButcherManageExport.Web/BWP.B3ButcherManageExport.Web.csproj
+++ b/BWP.B3ButcherManageExport.Web/BWP.B3ButcherManageExport.Web.csproj
@@ -77,6 +77,9 @@
ASPXCodeBehind
+
+ ASPXCodeBehind
+
@@ -86,7 +89,9 @@
BWP.B3ButcherManageExport
-
+
+
+
False
diff --git a/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/PayToEasVoucherList.cs b/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/PayToEasVoucherList.cs
index 55da17a..392ca8f 100644
--- a/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/PayToEasVoucherList.cs
+++ b/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/PayToEasVoucherList.cs
@@ -23,8 +23,8 @@ namespace BWP.Web.Pages.B3ButcherManageExport.EAS_
}
if (_dfcUrl.IsEmpty) {
throw new ApplicationException("请选择外部系统!");
- }
- BL.Export(idList, long.Parse(_dfcUrl.Value), null);
+ }
+ BL.Export(idList, long.Parse(_dfcUrl.Value), _billDate.Date);
return BIFactory.GetLastMessage();
}
diff --git a/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/StatPayToEasVoucherList.cs b/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/StatPayToEasVoucherList.cs
new file mode 100644
index 0000000..f695eae
--- /dev/null
+++ b/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/StatPayToEasVoucherList.cs
@@ -0,0 +1,103 @@
+锘縰sing System;
+using System.Collections.Generic;
+using BWP.B3ButcherManage.BO;
+using BWP.B3ButcherManageExport.BL;
+using BWP.B3ExportBase;
+using BWP.B3ExportBase.Utils;
+using BWP.B3Frameworks;
+using BWP.Web.Pages.B3ExportBase;
+using Forks.EnterpriseServices.BusinessInterfaces;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using TSingSoft.WebControls2;
+
+namespace BWP.Web.Pages.B3ButcherManageExport.EAS_
+{
+ public class StatPayToEasVoucherList : ExportBaseList {
+ protected override string Caption {
+ get { return "灞犲缁撶畻鍗曞EAS鍑瘉"; }
+ }
+
+ protected override string DoExport(List idList) {
+ if (idList.Count == 0) {
+ throw new ApplicationException("璇烽夋嫨鍗曟嵁!");
+ }
+ if (_dfcUrl.IsEmpty) {
+ throw new ApplicationException("璇烽夋嫨澶栭儴绯荤粺!");
+ }
+ BL.Export(idList, long.Parse(_dfcUrl.Value), _billDate.Date);
+ return BIFactory.GetLastMessage();
+ }
+
+ private ChoiceBox _dfcUrl;
+ private DFDateInput _billDate;
+
+ protected override void AddExportControl(HLayoutPanel hbox) {
+
+ hbox.Add(new SimpleLabel("澶栭儴绯荤粺"));
+ _dfcUrl = hbox.Add(new ChoiceBox());
+ _dfcUrl.DataKind = B3ExportBaseConsts.DataSources.澶栭儴绯荤粺;
+ _dfcUrl.EnableInputArgument = true;
+ _dfcUrl.SmartOrderEnabled = false;
+ _dfcUrl.EnableTopItem = true;
+ _dfcUrl.Width = 130;
+
+ hbox.Add(new SimpleLabel("鍑瘉鏃ユ湡"));
+ _billDate = hbox.Add(new DFDateInput());
+ _billDate.Value = DateTime.Today;
+ base.AddExportControl(hbox);
+ }
+
+ public override string Url {
+ get { return "~/B3ButcherManageExport/EAS_/StatPayToEasVoucherList.aspx"; }
+ }
+
+ protected override string EditUrl {
+ get {
+ return "B3ButcherManage/Bills/StatPay_/StatPayEdit.aspx";
+ }
+ }
+
+ protected override void AddQueryControls(VLayoutPanel vPanel) {
+ vPanel.Add(CreateDefaultBillQueryControls((panel, config) => {
+ config.Add("Date");
+ config.Add("AccountingUnit_ID");
+ config.Add("Department_ID");
+ config.Add("Employee_ID");
+ config.Add("Supplier_ID");
+ }));
+ }
+
+ protected override void AddDFBrowseGridColumn(DFBrowseGrid grid, string field) {
+ base.AddDFBrowseGridColumn(grid, field);
+
+ if (field == "ID") {
+ AddDFBrowseGridColumn(grid, "AccountingUnit_Name");
+ }
+ if (field == "BillState") {
+ AddDFBrowseGridColumn(grid, "Date");
+ AddDFBrowseGridColumn(grid, "Weigh_ID");
+ AddDFBrowseGridColumn(grid, "Department_Name");
+ AddDFBrowseGridColumn(grid, "Supplier_Name");
+ AddDFBrowseGridColumn(grid, "Employee_Name");
+ }
+ }
+
+
+ protected override DQueryDom GetQueryDom() {
+ var dom = base.GetQueryDom();
+ dom.EAddCheckedCondition(dom.From.RootSource.Alias);
+ return dom;
+ }
+
+ protected override void OnLoad(EventArgs e) {
+ base.OnLoad(e);
+ if (!IsPostBack) {
+ var tuple = ExportConfigUtil.LoadDefaultExtSystems(MethodID);
+ if (tuple != null) {
+ _dfcUrl.Value = tuple.Item1.ToString();
+ _dfcUrl.DisplayValue = tuple.Item2;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/StatPayToEasVoucherList.xml b/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/StatPayToEasVoucherList.xml
new file mode 100644
index 0000000..ed5c069
--- /dev/null
+++ b/BWP.B3ButcherManageExport.Web/Pages/B3ButcherManageExport/EAS_/StatPayToEasVoucherList.xml
@@ -0,0 +1,72 @@
+锘
+
diff --git a/BWP.B3ButcherManageExport/B3ButcherManageExportConsts.cs b/BWP.B3ButcherManageExport/B3ButcherManageExportConsts.cs
index 11e650f..bad8496 100644
--- a/BWP.B3ButcherManageExport/B3ButcherManageExportConsts.cs
+++ b/BWP.B3ButcherManageExport/B3ButcherManageExportConsts.cs
@@ -6,6 +6,7 @@ namespace BWP.B3ButcherManageExport {
public static class ExportIDOffsets {
public const byte PayToEasVoucher = 1;
+ public const byte StatPayToEasVoucher = 2;
}
diff --git a/BWP.B3ButcherManageExport/BL/EAS/PayToEasVoucherBL.cs b/BWP.B3ButcherManageExport/BL/EAS/PayToEasVoucherBL.cs
index ee2b956..66cfd05 100644
--- a/BWP.B3ButcherManageExport/BL/EAS/PayToEasVoucherBL.cs
+++ b/BWP.B3ButcherManageExport/BL/EAS/PayToEasVoucherBL.cs
@@ -16,7 +16,6 @@ namespace BWP.B3ButcherManageExport.BL {
void Export(List dmoIDs, long extSystemID, DateTime? date);
}
-
[LogicName("灞犲浠樻鍗曞EAS鍑瘉")]
[BindToFeature("B3ButcherManageExport.0001")]
[ExportID(B3FrameworksConsts.DmoTypeIDBases.B3ButcherManageExport, B3ButcherManageExportConsts.ExportIDOffsets.PayToEasVoucher)]
diff --git a/BWP.B3ButcherManageExport/BL/EAS/StatPayToEasVoucherBL.cs b/BWP.B3ButcherManageExport/BL/EAS/StatPayToEasVoucherBL.cs
new file mode 100644
index 0000000..c417952
--- /dev/null
+++ b/BWP.B3ButcherManageExport/BL/EAS/StatPayToEasVoucherBL.cs
@@ -0,0 +1,183 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using BWP.B3ButcherManage.BO;
+using BWP.B3ExportBase;
+using BWP.B3ExportBase.BL;
+using BWP.B3Frameworks;
+using Forks.EnterpriseServices;
+using Forks.EnterpriseServices.BusinessInterfaces;
+using Forks.EnterpriseServices.DomainObjects2;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using TSingSoft.WebPluginFramework;
+
+namespace BWP.B3ButcherManageExport.BL {
+ [BusinessInterface(typeof(StatPayToEasVoucherBL))]
+ public interface IStatPayToEasVoucherBL : IEasVoucherBL {
+ void Export(List dmoIDs, long extSystemID, DateTime? date);
+ }
+
+ [LogicName("灞犲缁撶畻鍗曞EAS鍑瘉")]
+ [BindToFeature("B3ButcherManageExport.0002")]
+ [ExportID(B3FrameworksConsts.DmoTypeIDBases.B3ButcherManageExport,
+ B3ButcherManageExportConsts.ExportIDOffsets.StatPayToEasVoucher)]
+ public class StatPayToEasVoucherBL : EasVoucherBL, IStatPayToEasVoucherBL {
+ private DateTime _date;
+
+ public DateTime Date {
+ get { return _date; }
+ set { _date = value; }
+ }
+
+ public List MinOtherRewardDetailProperties { get; set; }
+
+ public void Export(List dmoIDs, long extSystemID, DateTime? date) {
+ _date = date ?? BLContext.Today;
+ MinOtherRewardDetailProperties = new List();
+ Export(dmoIDs, extSystemID);
+ }
+
+ public IEnumerable GetDetails(IEnumerable dmos) {
+ var details = new List();
+ foreach (var dmo in dmos) {
+ foreach (var detail in dmo.Details) {
+ details.Add(detail);
+ }
+ }
+ return details;
+ }
+
+ public IEnumerable GroupByDate(IEnumerable dmos) {
+ return dmos.GroupBy(x => (x.Date ?? BLContext.Today).Date);
+ }
+
+ public IEnumerable GroupByMonth(IEnumerable dmos) {
+ return dmos.GroupBy(x => (x.Date ?? BLContext.Today).Month);
+ }
+
+ public IEnumerable GroupBySupplier(IEnumerable dmos) {
+ return dmos.GroupBy(x => x.Supplier_ID);
+ }
+
+ public IEnumerable GetOtherRewardDetails(IEnumerable dmos) {
+ var details = new List();
+ foreach (var dmo in dmos) {
+ foreach (var detail in dmo.OtherRewardDetails) {
+ details.Add(detail);
+ }
+ }
+ return details;
+ }
+
+ public decimal ESumOtherRewardMoney(IEnumerable dmos) {
+ return ESumOtherRewardMoney(dmos, null);
+ }
+
+ public decimal ESumOtherRewardMoney(IEnumerable dmos, IList name) {
+ var details = GetOtherRewardDetails(dmos);
+ if (name == null || name.Count == 0)
+ return details.Sum(x => (x.Money ?? 0).Value);
+ var ds = details.Where(x => name.Contains(x.AbnormalItem_Name)).ToList();
+ return ds.Sum(x => (x.Money ?? 0).Value);
+ }
+
+ public decimal ESumDetailsMoney(IEnumerable dmos) {
+ var details = GetDetails(dmos);
+ return details.Sum(x => (x.Money ?? 0).Value);
+ }
+
+ public decimal SumDetailsMoney(IEnumerable dmos) {
+ return dmos.Sum(x => (x.Money ?? 0).Value);
+ }
+
+ public decimal SumOtherRewardMoney(IEnumerable dmos) {
+ return dmos.Sum(x => (x.Money ?? 0).Value);
+ }
+
+ public decimal SumMoney(IEnumerable dmos) {
+ return dmos.Sum(x => (x.Money ?? 0).Value);
+ }
+
+ protected override Action> FillDetail {
+ get {
+ return dmos => {
+ AddDetails(dmos);
+ AddStatOtherRewardDetails(dmos);
+ };
+ }
+ }
+
+ private void AddDetails(List dmos) {
+ var dmoType = typeof(StatPay_Butcher);
+ 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("StatPay_ID"), expressionList.ToArray()));
+ var details = new List();
+ details.Clear();
+ using (IDQDataReader reader = Session.ExecuteReader(dom)) {
+ while (reader.Read()) {
+ var detail = new StatPay_Butcher {
+ 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.StatPay_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);
+ }
+ }
+ }
+
+ private void AddStatOtherRewardDetails(List dmos) {
+ var dmoType = typeof(StatPay_OtherReward);
+ var dom = new DQueryDom(new JoinAlias(dmoType));
+ dom.Columns.Add(DQSelectColumn.Field("ID"));
+ foreach (string property in MinOtherRewardDetailProperties) {
+ 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("StatPay_ID"), expressionList.ToArray()));
+ var details = new List();
+ details.Clear();
+ using (IDQDataReader reader = Session.ExecuteReader(dom)) {
+ while (reader.Read()) {
+ var detail = new StatPay_OtherReward {
+ ID = (long)reader[0]
+ };
+ int i = 1;
+ foreach (var property in MinOtherRewardDetailProperties) {
+ dmoType.GetProperty(property).SetValue(detail, reader[i++], null);
+ }
+ details.Add(detail);
+ }
+ }
+ var groups = details.GroupBy(x => x.StatPay_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.OtherRewardDetails.Add(billDetail);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj b/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj
index 15f684e..94d7b3d 100644
--- a/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj
+++ b/BWP.B3ButcherManageExport/BWP.B3ButcherManageExport.csproj
@@ -73,6 +73,7 @@
+
diff --git a/WebFolder/Config/Plugins/B3ButcherManageExport.Plugin b/WebFolder/Config/Plugins/B3ButcherManageExport.Plugin
index dc04e0b..4226f44 100644
--- a/WebFolder/Config/Plugins/B3ButcherManageExport.Plugin
+++ b/WebFolder/Config/Plugins/B3ButcherManageExport.Plugin
@@ -17,6 +17,7 @@
+