Browse Source

需求单No.139589 结算单修改

master
yibo 7 years ago
parent
commit
4169d8967f
2 changed files with 58 additions and 3 deletions
  1. +6
    -3
      B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/StatPayEdit_Ext.cs
  2. +52
    -0
      B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs

+ 6
- 3
B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Overlays/StatPayEdit_Ext.cs View File

@ -2,12 +2,14 @@
using BWP.Web.Pages.B3ButcherManage.Bills.StatPay_;
using BWP.Web.WebControls;
using Forks.EnterpriseServices.DataForm;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;
using TSingSoft.WebControls2;
using TSingSoft.WebPluginFramework;
namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays
{
@ -29,7 +31,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays
editor.CanDeleteFunc = detail => false;
editor.IsEditableFunc = (field, detail) => {
return CanSave && field.Name == "Money";
return CanSave && field.Name == "ExtMoney";
};
_farmerGrid = panel.EAdd(new DFEditGrid(editor) { Width = Unit.Percentage(100), ShowLineNo = true });
@ -39,8 +41,8 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays
_farmerGrid.Columns.Add(new DFEditGridColumn("Farmer_Address"));
_farmerGrid.Columns.Add(new DFEditGridColumn("Farmer_Tel"));
_farmerGrid.Columns.Add(new DFEditGridColumn("Number"));
_farmerGrid.Columns.Add(new DFEditGridColumn("Weight"));
_farmerGrid.Columns.Add(new DFEditGridColumn("Money"));
_farmerGrid.Columns.Add(new DFEditGridColumn("ExeWeight"));
_farmerGrid.Columns.Add(new DFEditGridColumn("ExtMoney"));
var section4 = mPageLayoutManager.AddSection("detailColumns4", "养殖户信息");
section4.ApplyLayout(_farmerGrid, mPageLayoutManager, DFInfo.Get(typeof(Weigh_FarmerDetail)));
@ -56,6 +58,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Overlays
public override void AppToUI()
{
base.AppToUI();
mDFContainer.MakeReadonly("ShackMoney");
_farmerGrid.DataBind();
}
}


+ 52
- 0
B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs View File

@ -28,6 +28,56 @@ namespace BWP.B3QingDaoWanFu.TypeIOCs
// }
//}
[TypeIOC(typeof(StatPayBL), typeof(StatPayBL.BaseBLIOCs.AfterInsert))]
public class StatPayAfterInsertBLTypeIoc : StatPayBL.BaseBLIOCs.AfterInsert
{
public void Invoke(IDmoContext context, StatPay dmo)
{
if (dmo.Weigh_ID == null)
return;
var details = GetFarmerDetail(context.Session, dmo.Weigh_ID.Value);
var total = details.Sum(x => x.Item2 ?? 0);
foreach (var detail in details)
{
var arr = new List<Tuple<string, object>>();
if (total != 0)
{
var v = dmo.RealWeight * detail.Item2 / total;
if (v.HasValue)
{
v = decimal.Round(v.Value, 2);
arr.Add(new Tuple<string, object>("ExeWeight", v));
}
}
if (detail.Item3 != null)
{
arr.Add(new Tuple<string, object>("ExtMoney", detail.Item3));
}
if (arr.Any())
UpdateProperty(detail.Item1, context.Session, arr.ToArray());
}
}
List<Tuple<long, decimal?, decimal?>> GetFarmerDetail(IDmoSession session, long weightID)
{
var query = new DQueryDom(new JoinAlias(typeof(Weigh_FarmerDetail)));
query.Where.Conditions.Add(DQCondition.EQ("Weigh_ID", weightID));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Columns.Add(DQSelectColumn.Field("Number"));
query.Columns.Add(DQSelectColumn.Field("Money"));
return query.EExecuteList<long, decimal?, decimal?>(session);
}
void UpdateProperty(long id, IDmoSession session, params Tuple<string, object>[] par)
{
var update = new DQUpdateDom(typeof(Weigh_FarmerDetail));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
foreach (var item in par)
update.Columns.Add(new DQUpdateColumn(item.Item1, item.Item2));
session.ExecuteNonQuery(update);
}
}
[TypeIOC(typeof(StatPayBL), typeof(StatPayBL.BaseBLIOCs.AfterSave))]
@ -50,6 +100,8 @@ namespace BWP.B3QingDaoWanFu.TypeIOCs
if (dmo.PurchaseType_Name == "业务")
{
if (dmo.FarmerDetails.Any())
dmo.ShackMoney = dmo.FarmerDetails.Sum(x => x.ExtMoney ?? 0);
dmo.ActualMoney = (dmo.ShackMoney.EToDecimal() ?? 0);
Money<decimal>? we = null;
if (dmo.ShackWeight != 0)


Loading…
Cancel
Save