From ebc866bf5b62a2c5d6576909b8a36e2fd363b298 Mon Sep 17 00:00:00 2001
From: yibo <361071264@qq.com>
Date: Sun, 15 Apr 2018 22:54:48 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E6=8A=A5=E8=A1=A8=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../B3ClientService.Web.csproj | 3 +
.../CarcassStateAnalyse.cs | 151 ++++++++++++++++++
B3ClientService/BO/Bill/CarcassFullInfo.cs | 2 +-
.../config/plugins/B3ClientService.plugin | 3 +
4 files changed, 158 insertions(+), 1 deletion(-)
create mode 100644 B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs
diff --git a/B3ClientService.Web/B3ClientService.Web.csproj b/B3ClientService.Web/B3ClientService.Web.csproj
index 99422f3..656c2f0 100644
--- a/B3ClientService.Web/B3ClientService.Web.csproj
+++ b/B3ClientService.Web/B3ClientService.Web.csproj
@@ -113,6 +113,9 @@
ASPXCodeBehind
+
+ ASPXCodeBehind
+
ASPXCodeBehind
diff --git a/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs
new file mode 100644
index 0000000..b11f34a
--- /dev/null
+++ b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs
@@ -0,0 +1,151 @@
+using BWP.B3ClientService;
+using BWP.B3ClientService.BO;
+using BWP.B3Frameworks.Utils;
+using BWP.Web.WebControls;
+using Forks.EnterpriseServices.DataForm;
+using Forks.EnterpriseServices.DomainObjects2;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using Forks.EnterpriseServices.SqlDoms;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security;
+using System.Text;
+using System.Web.UI.HtmlControls;
+using System.Web.UI.WebControls;
+using TSingSoft.WebControls2;
+using TSingSoft.WebPluginFramework.Controls;
+using TSingSoft.WebPluginFramework.Pages;
+using TSingSoft.WebPluginFramework;
+using System.Web.UI;
+
+namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStateAnalyse_
+{
+ class CarcassStateAnalyse : ServerPage
+ {
+ protected override void OnInit(EventArgs e)
+ {
+ if (!User.IsInRole("B3ClientService.报表展示.白条状态分析"))
+ throw new SecurityException();
+ base.OnInit(e);
+ }
+
+ DFBrowseGrid mBrowseGrid;
+ protected override void InitForm(HtmlForm form)
+ {
+ form.EAdd(new PageTitle("白条状态看板"));
+
+ var queryPanel = new Panel();
+ queryPanel.Style.Add(HtmlTextWriterStyle.BackgroundColor, "white");
+ queryPanel.CssClass = "QueryPanel PrintInVisible";
+ form.Controls.Add(queryPanel);
+
+ AddQueryControl(queryPanel);
+
+ var mZone = new TitlePanelZone();
+ form.Controls.Add(mZone);
+
+ mZone.Add(CreateResultTab());
+ }
+
+ ChoiceBox batchSelect;
+ DFCheckBox noCodeBox;
+ DateInput butcherDate;
+ private void AddQueryControl(Panel queryPanel)
+ {
+ var hp = queryPanel.EAdd(new Panel());
+ hp.Style.Add("float", "right");
+ hp.EAdd(new SimpleLabel("屠宰日期"));
+ butcherDate = hp.EAdd(new DateInput());
+ noCodeBox = hp.EAdd(new DFCheckBox() { Text = "查看无码", AutoPostBack = true });
+ noCodeBox.InputAttributes.Add("style", "width:15px;height:15px;");
+ hp.EAdd(new SimpleLabel("生产批次"));
+ batchSelect = hp.EAdd(new ChoiceBox(B3ClientServiceConsts.DataSources.生产批次) { EnableInputArgument = true, EnableTopItem = true, AutoPostBack = true, Width = Unit.Pixel(180) });
+ var batch = GetYesterdayBatch();
+ if (!string.IsNullOrEmpty(batch))
+ batchSelect.Fill(batch, batch);
+ noCodeBox.CheckedChanged += delegate
+ {
+ StartQuery();
+ };
+ batchSelect.SelectedValueChanged += delegate
+ {
+ StartQuery();
+ };
+ }
+
+ string GetYesterdayBatch()
+ {
+ var dom = new DQueryDom(new JoinAlias(typeof(ProductBatch)));
+ dom.Columns.Add(DQSelectColumn.Field("Name"));
+ dom.OrderBy.Expressions.Add(DQOrderByExpression.Create("Date", true));
+ dom.Where.Conditions.Add(DQCondition.LessThan("Date", DateTime.Today));
+ dom.Range = SelectRange.Top(1);
+ return dom.EExecuteScalar();
+ }
+
+ private TitlePanel CreateResultTab()
+ {
+ var result = new TitlePanel("查询结果");
+ mBrowseGrid = result.EAdd(new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100) });
+ mBrowseGrid.Columns.Add(new DFBrowseGridAutoColumn());
+ return result;
+ }
+
+ void StartQuery()
+ {
+ var sumColumns = new List();
+
+ var main = new JoinAlias(typeof(CarcassFullInfo));
+ var livestock = new JoinAlias(typeof(Livestock));
+ var batch = new JoinAlias(typeof(ProductBatch));
+ var inGoods = new JoinAlias("iGoods", typeof(Goods));
+ var outGoods = new JoinAlias("oGoods", 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(batch), DQCondition.EQ(main, "ProductBatch_ID", batch, "ID"));
+ query.From.AddJoin(JoinType.Left, new DQDmoSource(inGoods), DQCondition.EQ(main, "InStoreGoods_ID", inGoods, "ID"));
+ query.From.AddJoin(JoinType.Left, new DQDmoSource(outGoods), DQCondition.EQ(main, "SaleGoods_ID", outGoods, "ID"));
+ query.Columns.Add(DQSelectColumn.Field("BarCode"));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "头数"));
+ sumColumns.Add(query.Columns.Count - 1);
+ var title = "屠宰信息|";
+ query.Columns.Add(DQSelectColumn.Field("ButcherDate", title + "屠宰日期"));
+ query.Columns.Add(DQSelectColumn.Field("GradeTime", title + "定级时间"));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(livestock, "Name"), title + "胴体级别"));
+ query.Columns.Add(DQSelectColumn.Field("GradeWeight", title + "胴体重量"));
+ sumColumns.Add(query.Columns.Count - 1);
+ title = "入库信息|";
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(batch, "Name"), title + "生产批次"));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(inGoods, "Name"), title + "入库白条"));
+ query.Columns.Add(DQSelectColumn.Field("InStoreWeight", title + "入库重量"));
+ sumColumns.Add(query.Columns.Count - 1);
+ query.Columns.Add(DQSelectColumn.Field("InStoreTime", title + "入库时间"));
+ title = "领用及销售|";
+ query.Columns.Add(DQSelectColumn.Field("PickType", title + "类型"));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outGoods, "Name"), title + "销售存货"));
+ query.Columns.Add(DQSelectColumn.Field("PickWeight", title + "重量"));
+ sumColumns.Add(query.Columns.Count - 1);
+ query.Columns.Add(DQSelectColumn.Field("PickTime", title + "出库时间"));
+ query.Columns.Add(DQSelectColumn.Field("PickGroupID", title + "领用组标识"));
+ if (!batchSelect.IsEmpty)
+ query.Where.Conditions.Add(DQCondition.EQ("ProductBatch_ID", long.Parse(batchSelect.Value)));
+ if (!butcherDate.IsEmpty)
+ query.Where.Conditions.Add(DQCondition.EQ("ButcherDate", butcherDate.Value));
+ if (noCodeBox.Checked)
+ query.Where.Conditions.Add(DQCondition.Or(DQCondition.IsNull(DQExpression.Field("BarCode")), DQCondition.EQ("BarCode", "''")));
+ var args = new LoadArguments(query);
+ foreach (var idx in sumColumns)
+ args.SumColumns.Add(idx);
+ mBrowseGrid.LoadArguments = args;
+ mBrowseGrid.DataBind();
+ }
+
+ protected override void OnLoad(EventArgs e)
+ {
+ base.OnLoad(e);
+ if (!IsPostBack)
+ StartQuery();
+ }
+ }
+}
diff --git a/B3ClientService/BO/Bill/CarcassFullInfo.cs b/B3ClientService/BO/Bill/CarcassFullInfo.cs
index f4ef95c..da944c1 100644
--- a/B3ClientService/BO/Bill/CarcassFullInfo.cs
+++ b/B3ClientService/BO/Bill/CarcassFullInfo.cs
@@ -95,7 +95,7 @@ namespace BWP.B3ClientService.BO
[LogicName("领用重量")]
public decimal? PickWeight { get; set; }
- [LogicName("领用重量")]
+ [LogicName("领用组标识")]
public long? PickGroupID { get; set; }
#endregion
diff --git a/WebFolder/config/plugins/B3ClientService.plugin b/WebFolder/config/plugins/B3ClientService.plugin
index 35c27d7..e5463ec 100644
--- a/WebFolder/config/plugins/B3ClientService.plugin
+++ b/WebFolder/config/plugins/B3ClientService.plugin
@@ -42,6 +42,7 @@
+
@@ -106,6 +107,8 @@
+
+