Browse Source

加报表。

master
yibo 7 years ago
parent
commit
ebc866bf5b
4 changed files with 158 additions and 1 deletions
  1. +3
    -0
      B3ClientService.Web/B3ClientService.Web.csproj
  2. +151
    -0
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs
  3. +1
    -1
      B3ClientService/BO/Bill/CarcassFullInfo.cs
  4. +3
    -0
      WebFolder/config/plugins/B3ClientService.plugin

+ 3
- 0
B3ClientService.Web/B3ClientService.Web.csproj View File

@ -113,6 +113,9 @@
<Compile Include="Pages\B3ClientService\Reports\CarcassLossAnalyse_\CarcassLossAnalyse.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3ClientService\Reports\CarcassStateAnalyse_\CarcassStateAnalyse.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3ClientService\Reports\CarcassStoreAnalyse_\CarcassStoreAnalyse.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>


+ 151
- 0
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs View File

@ -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<string>();
}
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<int>();
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<int>(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();
}
}
}

+ 1
- 1
B3ClientService/BO/Bill/CarcassFullInfo.cs View File

@ -95,7 +95,7 @@ namespace BWP.B3ClientService.BO
[LogicName("领用重量")]
public decimal? PickWeight { get; set; }
[LogicName("领用重量")]
[LogicName("领用组标识")]
public long? PickGroupID { get; set; }
#endregion


+ 3
- 0
WebFolder/config/plugins/B3ClientService.plugin View File

@ -42,6 +42,7 @@
<Function index="0" name="白条库存"/>
<Function index="1" name="白条损耗"/>
<Function index="2" name="白条流向"/>
<Function index="3" name="白条状态分析"/>
</FunctionGroup>
<FunctionGroup name ="操作员" roleSchemas="default">
<Function index="0" name="访问" />
@ -106,6 +107,8 @@
<Menu id="0010" name="MES系统/基础信息/工作单元" roles="B3ClientService.工作单元.访问" url="B3ClientService/BaseInfos/WorkUnit_/WorkUnitList.aspx"/>
<Menu id="0011" name="MES系统/基础信息/生产批次" roles="B3ClientService.生产批次.访问" url="B3ClientService/BaseInfos/ProductBatch_/ProductBatchList.aspx"/>
<Menu id="0012" name="MES系统/系统管理/存货配置" roles="B3ClientService.客户端存货配置.访问" url="B3ClientService/BaseInfos/ClientGoodsSet_/ClientGoodsSetList.aspx"/>
<Menu id="0030" name="MES系统/MES报表展示/白条状态分析" roles="B3ClientService.报表展示.白条状态分析" url="B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.aspx"/>
</Menus>
<Features>
</Features>


Loading…
Cancel
Save