Browse Source

需求单No.141400【羊过磅单】完善

另外 定价单屠宰单排宰都调整了
master
yibo 7 years ago
parent
commit
539020ebc6
8 changed files with 78 additions and 29 deletions
  1. +16
    -2
      B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Butcher_/ButcherEdit.cs
  2. +7
    -1
      B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/FixedPrice_/FixedPriceEdit.cs
  3. +5
    -3
      B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/WeightBill_/WeightBillEdit.cs
  4. +2
    -0
      B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Reports/WeightBillAnalyse_/WeightBillAbnormalAnalyse.cs
  5. +26
    -1
      B3SheepButcherManage/BL/Bill/ButcherBL/ButcherBL.cs
  6. +14
    -18
      B3SheepButcherManage/BL/Bill/WeightBillBL/WeightBillBL.cs
  7. +0
    -3
      B3SheepButcherManage/BO/Bill/FixedPrice/FixedPrice_Detail.cs
  8. +8
    -1
      B3SheepButcherManage/BO/Bill/WeightBill/WeightBill_AbnormalRecording.cs

+ 16
- 2
B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/Butcher_/ButcherEdit.cs View File

@ -15,6 +15,8 @@ using System.Web.UI;
using System.Web.UI.WebControls;
using TSingSoft.WebControls2;
using TSingSoft.WebPluginFramework;
using Forks.Utils.Collections;
using BWP.B3SheepButcherManage;
namespace BWP.Web.Pages.B3SheepButcherManage.Bills.Butcher_
{
@ -79,8 +81,20 @@ namespace BWP.Web.Pages.B3SheepButcherManage.Bills.Butcher_
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("Sequence"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("PhaseCode"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("WeightBill_ID"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("LiveVarieties_Name"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("Livestock_Name"));
_detailGrid.Columns.EAdd(new DFEditGridColumn<DFChoiceBox>("LiveVarieties_Name")).InitEditControl += (sender, e) =>
{
e.Control.DataKind = B3ProduceUnitedInfos.B3ProduceUnitedInfosDataSources.;
e.Control.DFDisplayField = "LiveVarieties_Name";
e.Control.Width = Unit.Pixel(150);
e.Control.EnableInputArgument = true;
};
_detailGrid.Columns.EAdd(new DFEditGridColumn<DFChoiceBox>("Livestock_ID")).InitEditControl += (sender, e) =>
{
e.Control.EnableInputArgument = true;
e.Control.DataKind = B3SheepButcherManageConsts.DataSources.;
e.Control.DFDisplayField = "Livestock_Name";
e.Control.Width = 180;
};
// 重量
var weight = new DFEditGridColumn<DFTextBox>("Weight");
weight.Align = AlignMode.Center;


+ 7
- 1
B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/FixedPrice_/FixedPriceEdit.cs View File

@ -18,6 +18,8 @@ using System.Web.UI.WebControls;
using TSingSoft.WebControls2;
using TSingSoft.WebPluginFramework.Controls;
using TSingSoft.WebPluginFramework.Exports;
using Forks.Utils.Collections;
using BWP.B3ProduceUnitedInfos.NamedValueTemplate;
namespace BWP.Web.Pages.B3SheepButcherManage.Bills.FixedPrice_
{
@ -142,7 +144,11 @@ namespace BWP.Web.Pages.B3SheepButcherManage.Bills.FixedPrice_
_detailGrid.Columns.Add(new DFEditGridColumn("ValuationArea_ID"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFChoiceBox>("LiveVarieties_ID"));
_detailGrid.Columns.EAdd(new DFEditGridColumn<DFChoiceBox>("LiveVarieties_ID")).InitEditControl += (sender, e) => {
e.Control.DFDisplayField = "LiveVarieties_Name";
e.Control.CodeArgument = ..Value.ToString();
e.Control.Width = Unit.Pixel(160);
};
_detailGrid.Columns.Add(new DFEditGridColumn("Livestock_ID"));
_detailGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("OriginalPrice"));
_detailGrid.Columns.Add(new DFEditGridColumn("Price"));


+ 5
- 3
B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Bills/WeightBill_/WeightBillEdit.cs View File

@ -176,6 +176,7 @@ __DFContainer.setValue('Supplier_Card_ID','');
e.Control.DFDisplayField = "LiveVarieties_Name";
e.Control.Width = Unit.Pixel(150);
e.Control.EnableInputArgument = true;
e.Control.CodeArgument = ..Value.ToString();
};
_weightGrid.Columns.EAdd(new DFEditGridColumn<DFTextBox>("Number")).InitEditControl += (sender, e) =>
{
@ -268,15 +269,16 @@ __DFContainer.setValue('Supplier_Card_ID','');
_abnormalGrid.Columns.EAdd(new DFEditGridColumn<DFChoiceBox>("RewardItem_ID")).InitEditControl += (sender, e) =>
{
e.Control.DataKind = B3CowButcherManageConsts.DataSources.;
e.Control.OnBeforeDrop = "this.codeArgument=dfContainer.getValue('RewardItem_ID');";
e.Control.DFDisplayField = "RewardItem_Name";
e.Control.Width = Unit.Pixel(150);
};
_abnormalGrid.Columns.EAdd(new DFEditGridColumn<DFTextBox>("Abnormal_Money")).InitEditControl += (sender, e) =>
_abnormalGrid.Columns.EAdd(new DFEditGridColumn<DFTextBox>("Number")).InitEditControl += (sender, e) =>
{
e.Control.Style["width"] = "160px";
};
_abnormalGrid.PreferWidthGridSet = new Dictionary<string, Unit> { { "序号", Unit.Pixel(80) }, { "奖罚项目", Unit.Percentage(45) }, { "金额", Unit.Percentage(45) } };
_abnormalGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("Price"));
_abnormalGrid.Columns.Add(new DFEditGridColumn<DFValueLabel>("Abnormal_Money"));
_abnormalGrid.PreferWidthGridSet = new Dictionary<string, Unit> { { "序号", Unit.Pixel(80) }, { "奖罚项目", Unit.Percentage(20) }, { "头数", Unit.Percentage(20) }, { "单价", Unit.Percentage(20) }, { "金额", Unit.Percentage(20) } };
var section3 = mPageLayoutManager.AddSection("detailColumns2", "明细");
section3.ApplyLayout(_abnormalGrid, mPageLayoutManager, DFInfo.Get(typeof(WeightBill_AbnormalRecording)));
titlePanel.SetPageLayoutSetting(mPageLayoutManager, section3.Name);


+ 2
- 0
B3SheepButcherManage.Web/Pages/B3SheepButcherManage/Reports/WeightBillAnalyse_/WeightBillAbnormalAnalyse.cs View File

@ -71,6 +71,8 @@ namespace BWP.Web.Pages.B3SheepButcherManage.Reports.WeightBillAnalyse_
mDisplayHelper.AddOptionItem("收购重量", "bill", "BuyWeigh1", false);
mDisplayHelper.AddOptionItem("奖罚项目", "detail", "RewardItem_Name", false);
mDisplayHelper.AddOptionItem("头数", "detail", "Number", false, true);
mDisplayHelper.AddOptionItem("单价", "detail", "Price", false);
mDisplayHelper.AddOptionItem("扣罚金额", "detail", "Abnormal_Money", false, true);
AddQueryOption("选项", mDisplayHelper.GetAllDisplayNames(), mDisplayHelper.GetDefaultSelelectedDisplayNames());


+ 26
- 1
B3SheepButcherManage/BL/Bill/ButcherBL/ButcherBL.cs View File

@ -89,6 +89,7 @@ namespace BWP.B3SheepButcherManage.BL
if (Session.ExecuteScalar(dom) != null)
throw new Exception("你要删除的屠宰单明细后已经有重量录入");
var needUpdateIds = GetNeedUpdateWeightDetailIDs(butcherID, startID, endID);
//删除屠宰单明细
var delDom = new DQDeleteDom(typeof(Butcher_Detail));
delDom.Where.Conditions.Add(DQCondition.EQ("Butcher_ID", butcherID));
@ -96,9 +97,27 @@ namespace BWP.B3SheepButcherManage.BL
delDom.Where.Conditions.Add(DQCondition.LessThanOrEqual("Sequence", endID));
Session.ExecuteNonQuery(delDom);
var weightBL = BIFactory.Create<IWeightBillBL>(this);
foreach (var id in needUpdateIds)
{
weightBL.UpdateDetailOtherNumber(id);
}
ReUpdateSequenceAndPhaseCode(butcherID);
}
private List<long> GetNeedUpdateWeightDetailIDs(long butcherID, long? startID, long? endID)
{
var dom = new DQueryDom(new JoinAlias(typeof(Butcher_Detail)));
dom.Where.Conditions.Add(DQCondition.EQ("Butcher_ID", butcherID));
dom.Where.Conditions.Add(DQCondition.IsNotNull(DQExpression.Field("Weigh_Detail_ID")));
dom.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("Sequence", startID));
dom.Where.Conditions.Add(DQCondition.LessThanOrEqual("Sequence", endID));
dom.Columns.Add(DQSelectColumn.Field("Weigh_Detail_ID"));
dom.GroupBy.Expressions.Add(DQExpression.Field("Weigh_Detail_ID"));
return dom.EExecuteList<long>(Session);
}
void ReUpdateSequenceAndPhaseCode(long butcherID)
{
var query = new DmoQuery(typeof(Butcher_Detail));
@ -158,6 +177,7 @@ namespace BWP.B3SheepButcherManage.BL
var detail = new Butcher_Detail();
detail.StatPay_ID = preDetail.StatPay_ID;
detail.WeightBill_ID = preDetail.WeightBill_ID;
detail.Weigh_Detail_ID = preDetail.Weigh_Detail_ID;
detail.Livestock_ID = preDetail.Livestock_ID;
detail.Livestock_Name = preDetail.Livestock_Name;
detail.Sequence = currentSequence;
@ -182,6 +202,11 @@ namespace BWP.B3SheepButcherManage.BL
}
Update(dmo);
if (preDetail.Weigh_Detail_ID.HasValue)
{
var weightBL = BIFactory.Create<IWeightBillBL>(this);
weightBL.UpdateDetailOtherNumber(preDetail.Weigh_Detail_ID.Value);
}
}
public long InsertOrUpdate(long? accID, long? deptID, DateTime? date, IList<WeightBill_Record> selectedList)
@ -412,7 +437,7 @@ namespace BWP.B3SheepButcherManage.BL
dom.Where.Conditions.Add(DQCondition.EQ("Shortcut", code.ToString()));
dom.Where.Conditions.Add(DQCondition.EQ("Stopped", false));
return dom.EExecuteScalar<long, string>(Session);
}
}
}
class tempWeightTable


+ 14
- 18
B3SheepButcherManage/BL/Bill/WeightBillBL/WeightBillBL.cs View File

@ -44,22 +44,17 @@ namespace BWP.B3SheepButcherManage.BL
public void SetAbnormal_Money(WeightBill dmo)
{
if (dmo.WeighAbnormalRecording.Count <= 0)
var riIDs = dmo.WeighAbnormalRecording.Where(x => x.RewardItem_ID.HasValue).Select(x => x.RewardItem_ID).Distinct();
if (riIDs.Count() <= 0)
return;
var sanction = new JoinAlias(typeof(CB.SanctionSetting));
var abnormalItem = new JoinAlias(typeof(CB.RewardItem));
var dom = new DQueryDom(sanction);
dom.From.AddJoin(JoinType.Inner, new DQDmoSource(abnormalItem),
DQCondition.EQ(sanction, "RewardItem_ID", abnormalItem, "ID"));
dom.Columns.Add(DQSelectColumn.Field("ID", abnormalItem));
dom.Columns.Add(DQSelectColumn.Field("ID", sanction));
dom.Columns.Add(DQSelectColumn.Field("Condition", sanction));
dom.Columns.Add(DQSelectColumn.Field("BeforeScript", sanction));
dom.Where.Conditions.Add(DQCondition.EQ(sanction, "FitBill", .));
var dom = new DQueryDom(new JoinAlias(typeof(CB.SanctionSetting)));
dom.Columns.Add(DQSelectColumn.Field("RewardItem_ID"));
dom.Columns.Add(DQSelectColumn.Field("Condition"));
dom.Columns.Add(DQSelectColumn.Field("BeforeScript"));
dom.Where.Conditions.Add(DQCondition.EQ("FitBill", .));
dom.Where.Conditions.Add(DQCondition.EQ("BillState", .));
dom.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
dom.Where.Conditions.Add(DQCondition.EQ("AccountingUnit_ID", dmo.AccountingUnit_ID));
var sanctionList = dom.EExecuteList<long, long, string, string>(Session);
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("RewardItem_ID"), riIDs.Select(x => DQExpression.Value(x)).ToArray()));
var sanctionList = dom.EExecuteList<long, string, string>(Session);
foreach (var detail in dmo.WeighAbnormalRecording)
{
var items = sanctionList.Where(x => x.Item1 == detail.RewardItem_ID);
@ -68,19 +63,20 @@ namespace BWP.B3SheepButcherManage.BL
var result = items.First();
var runner = new Runner();
runner.Global["奖罚依据"] = "";
runner.Execute(result.Item4);
runner.Execute(result.Item3);
var bType = TypeMarshal.AsString(runner.Global["奖罚依据"]);
if (bType == "过磅单")
{
runner.Global["单价"] = 0m;
runner.Execute(result.Item3);
detail.Abnormal_Money = TypeMarshal.AsNumber(runner.Global["单价"]);
runner.Execute(result.Item2);
detail.Price = TypeMarshal.AsNumber(runner.Global["单价"]);
}
}
else
{
detail.Abnormal_Money = null;
detail.Price = null;
}
detail.Abnormal_Money = detail.Price * detail.Number;
}
}


+ 0
- 3
B3SheepButcherManage/BO/Bill/FixedPrice/FixedPrice_Detail.cs View File

@ -25,7 +25,6 @@ namespace BWP.B3SheepButcherManage.BO
[DFExtProperty("WebControlType", DFEditControl.ChoiceBox)]
[DFDataKind(B3CowButcherManageConsts.DataSources.计价区域全部)]
[DFExtProperty(B3FrameworksConsts.DFExtProperties.DisplayField, "ValuationArea_Name")]
[DFExtProperty(B3FrameworksConsts.DFExtProperties.QueryDataKind, B3CowButcherManageConsts.DataSources.计价区域全部)]
public long? ValuationArea_ID { get; set; }
[LogicName("定价地区")]
@ -38,7 +37,6 @@ namespace BWP.B3SheepButcherManage.BO
[DFExtProperty("WebControlType", DFEditControl.ChoiceBox)]
[DFDataKind(B3ProduceUnitedInfosDataSources.活体品种)]
[DFExtProperty(B3FrameworksConsts.DFExtProperties.DisplayField, "LiveVarieties_Name")]
[DFExtProperty(B3FrameworksConsts.DFExtProperties.QueryDataKind, B3ProduceUnitedInfosDataSources.活体品种)]
public long? LiveVarieties_ID { get; set; }
[LogicName("品种")]
@ -51,7 +49,6 @@ namespace BWP.B3SheepButcherManage.BO
[DFExtProperty("WebControlType", DFEditControl.ChoiceBox)]
[DFDataKind(B3SheepButcherManageConsts.DataSources.活体级别)]
[DFExtProperty(B3FrameworksConsts.DFExtProperties.DisplayField, "Livestock_Name")]
[DFExtProperty(B3FrameworksConsts.DFExtProperties.QueryDataKind, B3SheepButcherManageConsts.DataSources.活体级别)]
public long? Livestock_ID { get; set; }
[LogicName("级别")]


+ 8
- 1
B3SheepButcherManage/BO/Bill/WeightBill/WeightBill_AbnormalRecording.cs View File

@ -2,6 +2,7 @@
using BWP.B3CowButcherManage.BO;
using BWP.B3Frameworks;
using BWP.B3Frameworks.BO;
using BWP.B3Frameworks.BO.MoneyTemplate;
using Forks.EnterpriseServices;
using Forks.EnterpriseServices.DataDictionary;
using Forks.EnterpriseServices.DataForm;
@ -21,8 +22,14 @@ namespace BWP.B3SheepButcherManage.BO
[DbColumn(Index = IndexType.Normal, AllowNull = false)]
public long WeightBill_ID { get; set; }
[LogicName("头数")]
public int? Number { get; set; }
[LogicName("单价")]
public Money<decimal>? Price { get; set; }
[LogicName("金额")]
public Money<decimal>? Abnormal_Money { get; set; }
public Money<>? Abnormal_Money { get; set; }
[LogicName("奖罚项目")]
[DFDataKind(B3CowButcherManageConsts.DataSources.奖罚项目)]


Loading…
Cancel
Save