Browse Source

白条损耗,白条库存支持汇总查询。

master
yibo 7 years ago
parent
commit
2f5272b06f
2 changed files with 72 additions and 8 deletions
  1. +25
    -7
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassLossAnalyse_/CarcassLossAnalyse.cs
  2. +47
    -1
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStoreAnalyse_/CarcassStoreAnalyse.cs

+ 25
- 7
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassLossAnalyse_/CarcassLossAnalyse.cs View File

@ -50,10 +50,17 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassLossAnalyse_
}
ChoiceBox batchSelect;
DFCheckBox summaryBox;
private void AddQueryControl(Panel queryPanel)
{
var hp = queryPanel.EAdd(new Panel());
hp.Style.Add("float", "right");
summaryBox = hp.EAdd(new DFCheckBox() { Text = "汇总", AutoPostBack = true });
summaryBox.InputAttributes.Add("style", "width:15px;height:15px;");
summaryBox.CheckedChanged += delegate
{
StartQuery();
};
hp.EAdd(new SimpleLabel("生产批次"));
batchSelect = hp.EAdd(new ChoiceBox(B3ClientServiceConsts.DataSources.) { EnableInputArgument = true, EnableTopItem = true, AutoPostBack = true, Width = Unit.Pixel(180) });
var batch = GetYesterdayBatch();
@ -88,6 +95,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassLossAnalyse_
void StartQuery()
{
var sumColumns = new List<int>();
var groupSumColumns = new List<int>();
var main = new JoinAlias(typeof(CarcassFullInfo));
var livestock = new JoinAlias(typeof(Livestock));
@ -95,22 +103,32 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassLossAnalyse_
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(livestock), DQCondition.EQ(main, "Livestock_ID", livestock, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(inGoods), DQCondition.EQ(main, "InStoreGoods_ID", inGoods, "ID"));
query.Columns.Add(DQSelectColumn.Field("BarCode", "条码"));
if (!summaryBox.Checked)
{
query.Columns.Add(DQSelectColumn.Field("BarCode", "条码"));
query.GroupBy.Expressions.Add(DQExpression.Field("BarCode"));
}
query.Columns.Add(DQSelectColumn.Field("Name", livestock, "胴体级别"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value<int>(1), "头数"));
query.GroupBy.Expressions.Add(DQExpression.Field(livestock, "Name"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Value(1)).ECastType<int?>(), "头数"));
sumColumns.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Field("GradeWeight", "胴体重量"));
groupSumColumns.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Sum("GradeWeight", "胴体重量"));
sumColumns.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(inGoods, "Name") ,"存货名称"));
query.Columns.Add(DQSelectColumn.Field("InStoreWeight", "入库重量"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(inGoods, "Name"), "存货名称"));
query.GroupBy.Expressions.Add(DQExpression.Field(inGoods, "Name"));
query.Columns.Add(DQSelectColumn.Sum("InStoreWeight", "入库重量"));
sumColumns.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.Field("GradeWeight"), DQExpression.IfNull(DQExpression.Field("InStoreWeight"), DQExpression.Value(0))), "损耗"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Subtract(DQExpression.Field("GradeWeight"), DQExpression.IfNull(DQExpression.Field("InStoreWeight"), DQExpression.Value(0)))), "损耗"));
sumColumns.Add(query.Columns.Count - 1);
groupSumColumns.Add(query.Columns.Count - 1);
if (!batchSelect.IsEmpty)
query.Where.Conditions.Add(DQCondition.EQ("ProductBatch_ID", long.Parse(batchSelect.Value)));
var args = new LoadArguments(query);
foreach (var idx in sumColumns)
args.SumColumns.Add(idx);
args.SumColumns.Add(idx);
foreach (var idx in groupSumColumns)
args.GroupSumColumns.Add(idx);
mBrowseGrid.LoadArguments = args;
mBrowseGrid.DataBind();
}


+ 47
- 1
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStoreAnalyse_/CarcassStoreAnalyse.cs View File

@ -41,6 +41,16 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStoreAnalyse_
}
}
int Type
{
get
{
if (string.IsNullOrEmpty(Request.QueryString["Type"]))
return 0;
return int.Parse(Request.QueryString["Type"]);
}
}
DFBrowseGrid mBrowseGrid;
protected override void InitForm(HtmlForm form)
{
@ -86,6 +96,14 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStoreAnalyse_
all.Style.Add("background-color", "#3CC24C");
all.Style.Add("color", "#FFFFFF");
}
var type = hp.EAdd(new HyperLink());
type.Text = Type == 0 ? "明细" : "汇总";
type.Style.Add("margin-right", "10px");
type.Style.Add("font-size", "15px");
type.NavigateUrl = AspUtil.UpdateUrlParam(url, "Type", (Type == 0 ? 1 : 0).ToString());
type.Style.Add("background-color", "#3CC24C");
type.Style.Add("color", "#FFFFFF");
}
List<Tuple<string, long>> GetBatchNameIDs()
@ -137,11 +155,39 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStoreAnalyse_
mBrowseGrid.DataBind();
}
void SummaryQuery()
{
var main = new JoinAlias(typeof(CarcassFullInfo));
var batch = new JoinAlias(typeof(ProductBatch));
var inGoods = new JoinAlias("iGoods", typeof(Goods));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(batch), DQCondition.EQ(main, "ProductBatch_ID", batch, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(inGoods), DQCondition.EQ(main, "InStoreGoods_ID", inGoods, "ID"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(inGoods, "Name"), "存货名称"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Value(1)).ECastType<int?>(), "头数"));
query.Columns.Add(DQSelectColumn.Sum("InStoreWeight", "重量"));
query.GroupBy.Expressions.Add(DQExpression.Field(inGoods, "Name"));
query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("PickTime")));
if (SelectBatch.HasValue)
query.Where.Conditions.Add(DQCondition.EQ("ProductBatch_ID", SelectBatch));
var args = new LoadArguments(query);
args.SumColumns.Add(1);
args.GroupSumColumns.Add(1);
args.SumColumns.Add(2);
mBrowseGrid.LoadArguments = args;
mBrowseGrid.DataBind();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!IsPostBack)
StartQuery();
{
if (Type == 0)
StartQuery();
else
SummaryQuery();
}
}
}
}

Loading…
Cancel
Save