Browse Source

报表调整。

master
yibo 7 years ago
parent
commit
65c96662b4
3 changed files with 48 additions and 79 deletions
  1. +20
    -14
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassLossAnalyse_/CarcassLossAnalyse.cs
  2. +18
    -20
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStoreAnalyse_/CarcassStoreAnalyse.cs
  3. +10
    -45
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassTrendAnalyse_/CarcassTrendAnalyse.cs

+ 20
- 14
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassLossAnalyse_/CarcassLossAnalyse.cs View File

@ -85,24 +85,30 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassLossAnalyse_
void StartQuery()
{
var dtdj = new JoinAlias(typeof(GradeAndWeight_Detail));
var btrk = new JoinAlias(typeof(TrunksIousOutInStoreRecord));
var query = new DQueryDom(dtdj);
query.From.AddJoin(JoinType.Left, new DQDmoSource(btrk), DQCondition.EQ(dtdj, "ID", btrk, "UpID"));
var sumColumns = new List<int>();
var main = new JoinAlias(typeof(CarcassFullInfo));
var livestock = new JoinAlias(typeof(Livestock));
var inGoods = new JoinAlias("iGoods", typeof(Goods));
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", "条码"));
query.Columns.Add(DQSelectColumn.Field("Livestock_Name", "胴体级别"));
query.Columns.Add(DQSelectColumn.Field("Name", livestock, "胴体级别"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value<int>(1), "头数"));
query.Columns.Add(DQSelectColumn.Field("Weight", dtdj, "胴体重量"));
query.Columns.Add(DQSelectColumn.Field("Goods_Name", btrk, "存货名称"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(btrk, "Weight"), "入库重量"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.Field(dtdj, "Weight"), DQExpression.IfNull(DQExpression.Field(btrk, "Weight"), DQExpression.Value(0))), "损耗"));
sumColumns.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Field("GradeWeight", "胴体重量"));
sumColumns.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(inGoods, "Name") ,"存货名称"));
query.Columns.Add(DQSelectColumn.Field("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))), "损耗"));
sumColumns.Add(query.Columns.Count - 1);
if (!batchSelect.IsEmpty)
query.Where.Conditions.Add(DQCondition.EQ(btrk, "ProductBatch_ID", long.Parse(batchSelect.Value)));
query.Where.Conditions.Add(DQCondition.EQ("ProductBatch_ID", long.Parse(batchSelect.Value)));
var args = new LoadArguments(query);
args.SumColumns.Add(2);
args.SumColumns.Add(3);
args.SumColumns.Add(5);
args.SumColumns.Add(6);
foreach (var idx in sumColumns)
args.SumColumns.Add(idx);
mBrowseGrid.LoadArguments = args;
mBrowseGrid.DataBind();
}


+ 18
- 20
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStoreAnalyse_/CarcassStoreAnalyse.cs View File

@ -90,16 +90,15 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStoreAnalyse_
List<Tuple<string, long>> GetBatchNameIDs()
{
var btrk = new JoinAlias(typeof(TrunksIousOutInStoreRecord));
var btly = new JoinAlias(typeof(MaterialRequisitionRecord));
var query = new DQueryDom(btrk);
query.From.AddJoin(JoinType.Left, new DQDmoSource(btly), DQCondition.EQ(btrk, "ID", btly, "UpID"));
query.Columns.Add(DQSelectColumn.Field("ProductBatch"));
var main = new JoinAlias(typeof(CarcassFullInfo));
var batch = new JoinAlias(typeof(ProductBatch));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(batch), DQCondition.EQ(main, "ProductBatch_ID", batch, "ID"));
query.Columns.Add(DQSelectColumn.Field("Name", batch));
query.Columns.Add(DQSelectColumn.Field("ProductBatch_ID"));
query.GroupBy.Expressions.Add(DQExpression.Field("ProductBatch"));
query.GroupBy.Expressions.Add(DQExpression.Field(batch, "Name"));
query.GroupBy.Expressions.Add(DQExpression.Field("ProductBatch_ID"));
query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field(btly, "ID")));
query.Where.Conditions.Add(DQCondition.IsNotNull(DQExpression.Field("ProductBatch_ID")));
query.Where.Conditions.Add(DQCondition.And(DQCondition.IsNotNull(DQExpression.Field("ProductBatch_ID")), DQCondition.IsNull(DQExpression.Field("PickTime"))));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ProductBatch_ID"));
return query.EExecuteList<string, long>();
}
@ -114,19 +113,18 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStoreAnalyse_
void StartQuery()
{
var btrk = new JoinAlias(typeof(TrunksIousOutInStoreRecord));
var btly = new JoinAlias(typeof(MaterialRequisitionRecord));
var query = new DQueryDom(btrk);
query.From.AddJoin(JoinType.Left, new DQDmoSource(btly), DQCondition.EQ(btrk, "ID", btly, "UpID"));
query.Columns.Add(DQSelectColumn.Field("ProductBatch", "生产批次"));
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.Field("Name", batch, "生产批次"));
query.Columns.Add(DQSelectColumn.Field("BarCode", "条码"));
query.Columns.Add(DQSelectColumn.Field("Goods_Name", "存货名称"));
query.Columns.Add(DQSelectColumn.Field("Number", "头数"));
query.Columns.Add(DQSelectColumn.Field("Weight", "重量"));
//query.GroupBy.Expressions.Add(DQExpression.Field("ProductBatch"));
//query.GroupBy.Expressions.Add(DQExpression.Field("BarCode"));
//query.GroupBy.Expressions.Add(DQExpression.Field("Goods_Name"));
query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field(btly, "ID")));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(inGoods, "Name"), "存货名称"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value<int>(1), "头数"));
query.Columns.Add(DQSelectColumn.Field("InStoreWeight", "重量"));
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);


+ 10
- 45
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassTrendAnalyse_/CarcassTrendAnalyse.cs View File

@ -75,25 +75,22 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassTrendAnalyse_
void StartQuery()
{
var query = new DQueryDom(new JoinAlias(typeof(UnionTemp)));
UnionTemp.Register(query, dateInput.Value);
var query = new DQueryDom(new JoinAlias(typeof(CarcassFullInfo)));
query.Columns.Add(DQSelectColumn.Field("OutType", "出库类型"));
query.Columns.Add(DQSelectColumn.Field("Date", "出库日期"));
query.Columns.Add(DQSelectColumn.Field("PickType", "出库类型"));
query.Columns.Add(DQSelectColumn.Field("PickTime", "出库日期"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Value<int>(1)), "头数"));
query.Columns.Add(DQSelectColumn.Sum("InStoreWeight", "入库重量"));
query.Columns.Add(DQSelectColumn.Sum("OutStoreWeight", "出库重量"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field("InStoreWeight"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field("OutStoreWeight"), DQExpression.Value(0)))), "损耗"));
query.GroupBy.Expressions.Add(DQExpression.Field("OutType"));
query.GroupBy.Expressions.Add(DQExpression.Field("Date"));
query.Columns.Add(DQSelectColumn.Sum("PickWeight", "出库重量"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field("InStoreWeight"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field("PickWeight"), DQExpression.Value(0)))), "损耗"));
query.GroupBy.Expressions.Add(DQExpression.Field("PickType"));
query.GroupBy.Expressions.Add(DQExpression.Field("PickTime"));
if (!dateInput.IsEmpty)
query.Where.Conditions.Add(DQCondition.EQ("Date", dateInput.Date));
query.Where.Conditions.Add(DQCondition.EQ("PickTime", dateInput.Date));
var args = new LoadArguments(query);
args.SumColumns.Add(2);
for (var i = 2; i <= 5; i++)
args.SumColumns.Add(i);
args.GroupSumColumns.Add(2);
args.SumColumns.Add(3);
args.SumColumns.Add(4);
args.SumColumns.Add(5);
args.GroupSumColumns.Add(6);
mBrowseGrid.LoadArguments = args;
mBrowseGrid.DataBind();
@ -106,36 +103,4 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassTrendAnalyse_
StartQuery();
}
}
class UnionTemp
{
public string OutType { get; set; }
public DateTime? Date { get; set; }
public decimal? InStoreWeight { get; set; }
public decimal? OutStoreWeight { get; set; }
public static void Register(DQueryDom root, DateTime? date)
{
root.RegisterQueryTable(typeof(UnionTemp), new string[] { "OutType", "Date", "InStoreWeight", "OutStoreWeight" }, GetLinYong(date));
}
static DQueryDom GetLinYong(DateTime? date)
{
var btly = new JoinAlias("_linyong", typeof(MaterialRequisitionRecord));
var btrk = new JoinAlias(typeof(TrunksIousOutInStoreRecord));
var query = new DQueryDom(btly);
var dateExp = DQExpression.Snippet("CAST([_linyong].[CreateTime] as date)");
query.From.AddJoin(JoinType.Left, new DQDmoSource(btrk), DQCondition.EQ(btrk, "ID", btly, "UpID"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value("分割领用"), "OutType"));
query.Columns.Add(DQSelectColumn.Create(dateExp, "Date"));
query.Columns.Add(DQSelectColumn.Field("Weight", btrk, "InStoreWeight"));
query.Columns.Add(DQSelectColumn.Field("Weight", btly, "OutStoreWeight"));
if (date.HasValue)
query.Where.Conditions.Add(DQCondition.EQ(dateExp, DQExpression.Value(date)));
return query;
}
}
}

Loading…
Cancel
Save