Browse Source

加进销存汇总

master
yibo 7 years ago
parent
commit
474391d5f5
6 changed files with 448 additions and 0 deletions
  1. +6
    -0
      B3ClientService.Web/B3ClientService.Web.csproj
  2. +184
    -0
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInOutStoreAnalyse_/CarcassDetailDialog.cs
  3. +235
    -0
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInOutStoreAnalyse_/CarcassInOutStoreAnalyse.cs
  4. +7
    -0
      B3ClientService/OfflinRpc/CarcassTakeOutRpc.cs
  5. +14
    -0
      B3ClientService/Rpcs/InterfaceRpc/GoodsRpc.cs
  6. +2
    -0
      WebFolder/config/plugins/B3ClientService.plugin

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

@ -114,6 +114,12 @@
<Compile Include="Pages\B3ClientService\Reports\CarcassGradeAnalyse_\CarcassGradeAnalyse.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3ClientService\Reports\CarcassInOutStoreAnalyse_\CarcassDetailDialog.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3ClientService\Reports\CarcassInOutStoreAnalyse_\CarcassInOutStoreAnalyse.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3ClientService\Reports\CarcassLossAnalyse_\CarcassLossAnalyse.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>


+ 184
- 0
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInOutStoreAnalyse_/CarcassDetailDialog.cs View File

@ -0,0 +1,184 @@
using BWP.B3ClientService.BO;
using BWP.Web.Utils;
using BWP.Web.WebControls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSingSoft.WebPluginFramework.Controls;
using TSingSoft.WebPluginFramework.Pages;
using TSingSoft.WebControls2;
using BWP.B3Frameworks.Utils;
using System.Web.UI.WebControls;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.SqlDoms;
using Forks.EnterpriseServices.DataForm;
using Forks.EnterpriseServices.DomainObjects2;
using TSingSoft.WebPluginFramework;
namespace BWP.Web.Pages.B3ClientService.Reports.CarcassInOutStoreAnalyse_
{
class CarcassDetailDialog : ServerPage
{
long? GoodsID
{
get
{
if (string.IsNullOrEmpty(Request.QueryString["Goods_ID"]))
return null;
return long.Parse(Request.QueryString["Goods_ID"]);
}
}
int Flag
{
get { return int.Parse(Request.QueryString["flag"]); }
}
DateTime startTime { get { return DateTime.Parse(Request.QueryString["Start"]); } }
DateTime endTime { get { return DateTime.Parse(Request.QueryString["End"]) + new TimeSpan(23, 59, 59); } }
protected override void InitForm(System.Web.UI.HtmlControls.HtmlForm form)
{
var pageTitle = BuildTitle();
form.Controls.Add(new PageTitle(pageTitle));
CreateResultPanel(form.EAdd(new TitlePanel("查询结果")));
}
string BuildTitle()
{
var goodsName = string.Empty;
if (GoodsID.HasValue)
goodsName = WebBLUtil.GetDmoPropertyByID<string>(typeof(Goods), "Name", GoodsID.Value);
var billName = "期末";
switch (Flag)
{
case 0:
billName = "成品入库";
break;
case 1:
billName = "分割领用";
break;
case 2:
billName = "销售出库";
break;
}
return string.Format("{0}{1}信息", goodsName, billName);
}
DFBrowseGrid mBrowseGrid;
private void CreateResultPanel(TitlePanel titlePanel)
{
mBrowseGrid = titlePanel.EAdd(new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100) });
mBrowseGrid.Columns.Add(new DFBrowseGridAutoColumn());
}
void StartQuery()
{
var sumColumns = new List<int>();
var query = new DQueryDom(new JoinAlias(typeof(UnionTemp)));
query.RegisterQueryTable(typeof(UnionTemp), new string[] { "ProductBatch_ID", "Weight", "Time", "Flag" }, GetUnionDom(endTime));
query.Columns.Add(DQSelectColumn.Field("ProductBatch_Name", "批次"));
if (Flag == -1)
{
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Value(1), DQExpression.Value(-1))).ECastType<int>(), "头数"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Field("Weight"), DQExpression.Multiply(DQExpression.Value(-1), DQExpression.Field("Weight")))).ECastType<decimal>(), "重量"));
}
else
{
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", Flag)), DQExpression.Value(1))).ECastType<int>(), "头数"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", Flag)), DQExpression.Field("Weight"))).ECastType<decimal>(), "重量"));
}
query.GroupBy.Expressions.Add(DQExpression.Field("ProductBatch_Name"));
query.Having.Conditions.Add(DQCondition.Or(DQCondition.InEQ(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Value(1), DQExpression.Value(-1))), DQExpression.Value(0)), DQCondition.InEQ(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Field("Weight"), DQExpression.Multiply(DQExpression.Value(-1), DQExpression.Field("Weight")))), DQExpression.Value(0))));
var args = new LoadArguments(query);
for (var idx = 1; idx < query.Columns.Count; idx++)
{
args.SumColumns.Add(idx);
args.GroupSumColumns.Add(idx);
}
mBrowseGrid.LoadArguments = args;
mBrowseGrid.DataBind();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!IsPostBack)
StartQuery();
}
[DFClass]
class UnionTemp
{
public long ProductBatch_ID { get; set; }
public decimal Weight { get; set; }
public DateTime Time { get; set; }
public int Flag { get; set; }
[ReferenceTo(typeof(ProductBatch), "Name")]
[Join("ProductBatch_ID", "ID")]
public string ProductBatch_Name { get; set; }
}
DQueryDom GetUnionDom(DateTime endTime)
{
var u1 = GetInStore(endTime);
var u2 = GetPickOutStore(endTime);
u1.UnionNext.Select = u2;
u1.UnionNext.Type = UnionType.All;
u2.UnionNext.Select = GetSaleOutStore(endTime);
u2.UnionNext.Type = UnionType.All;
return u1;
}
DQueryDom GetInStore(DateTime endTime)
{
var query = new DQueryDom(new JoinAlias("_inStore", typeof(CarcassFullInfo)));
query.Columns.Add(DQSelectColumn.Field("ProductBatch_ID"));
query.Columns.Add(DQSelectColumn.Field("InStoreWeight"));
query.Columns.Add(DQSelectColumn.Field("InStoreTime"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(0), "Falg"));
query.Where.Conditions.Add(DQCondition.LessThanOrEqual("InStoreTime", endTime));
AddGoodsCondition(query, "InStoreGoods_ID");
return query;
}
DQueryDom GetPickOutStore(DateTime endTime)
{
var query = new DQueryDom(new JoinAlias("_pickOut", typeof(CarcassFullInfo)));
query.Columns.Add(DQSelectColumn.Field("ProductBatch_ID"));
query.Columns.Add(DQSelectColumn.Field("PickWeight"));
query.Columns.Add(DQSelectColumn.Field("PickTime"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "Falg"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("PickType", 0), DQCondition.LessThanOrEqual("PickTime", endTime)));
AddGoodsCondition(query, "InStoreGoods_ID");
return query;
}
DQueryDom GetSaleOutStore(DateTime endTime)
{
var query = new DQueryDom(new JoinAlias("_saleOut", typeof(CarcassFullInfo)));
query.Columns.Add(DQSelectColumn.Field("ProductBatch_ID"));
query.Columns.Add(DQSelectColumn.Field("PickWeight"));
query.Columns.Add(DQSelectColumn.Field("PickTime"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(2), "Falg"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("PickType", 1), DQCondition.LessThanOrEqual("PickTime", endTime)));
AddGoodsCondition(query, "SaleGoods_ID");
return query;
}
void AddGoodsCondition(DQueryDom query, string goodsField)
{
if (GoodsID.HasValue)
query.Where.Conditions.Add(DQCondition.EQ(goodsField, GoodsID));
else
query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field(goodsField)));
}
}
}

+ 235
- 0
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInOutStoreAnalyse_/CarcassInOutStoreAnalyse.cs View File

@ -0,0 +1,235 @@
using BWP.B3ClientService;
using BWP.B3ClientService.BO;
using BWP.B3Frameworks.Utils;
using BWP.Web.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;
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;
namespace BWP.Web.Pages.B3ClientService.Reports.CarcassInOutStoreAnalyse_
{
class CarcassInOutStoreAnalyse : 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());
mBrowseGrid.OnDetailDataBound = (tr, obj, index) =>
{
var row = obj as DFDataRow;
var gName = (string)row["Goods_Name"];
var url = BuildUrl(string.Format("{0}", row["Goods_ID"]));
url = WpfPageUrl.ToGlobal(url);
url = AspUtil.AddParamToUrl(url, "flag", "0");
SetCellAtt(tr.Cells[4], url, "进销存明细");
url = AspUtil.UpdateUrlParam(url, "flag", "1");
SetCellAtt(tr.Cells[6], url, "进销存明细");
url = AspUtil.UpdateUrlParam(url, "flag", "2");
SetCellAtt(tr.Cells[7], url, "进销存明细");
url = AspUtil.UpdateUrlParam(url, "flag", "-1");
SetCellAtt(tr.Cells[9], url, "进销存明细");
};
}
string BuildUrl(string goodsID)
{
var url = "~/B3ClientService/Reports/CarcassInOutStoreAnalyse_/CarcassDetailDialog.aspx";
url = AspUtil.AddParamToUrl(url, "Start", HttpUtility.UrlEncode(startTime.ToString("yyyy/MM/dd")));
url = AspUtil.AddParamToUrl(url, "End", HttpUtility.UrlEncode(endTime.ToString("yyyy/MM/dd")));
url = AspUtil.AddParamToUrl(url, "Goods_ID", goodsID);
return url;
}
void SetCellAtt(HtmlTableCell cell, string url, string title)
{
cell.Attributes["onclick"] = "OpenUrlInTopTab('" + url + "','" + title + "');";
cell.Style.Add("color", "blue");
cell.Style.Add("text-decoration", "underline");
cell.Style.Add("cursor", "pointer");
}
DFDateInput startInput;
DFDateInput endInput;
DateTime startTime;
DateTime endTime;
private void AddQueryControl(Panel queryPanel)
{
var hPanel = queryPanel.EAdd(new Panel());
hPanel.Style.Add("float", "right");
hPanel.EAdd(new SimpleLabel("期间"));
startInput = hPanel.EAdd(new DFDateInput() { Date = DateTime.Today });
hPanel.EAdd(new LiteralControl("-"));
endInput = hPanel.EAdd(new DFDateInput() { Date = DateTime.Today, DefaultTime = DateInputDefaultTime.maxValue });
hPanel.EAdd(new TSButton("开始查询", delegate { StartQuery(); }));
hPanel.EAdd(new RedirectTSButton("清除条件"));
}
private TitlePanel CreateResultTab()
{
var result = new TitlePanel("查询结果");
mBrowseGrid = result.EAdd(new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100) });
mBrowseGrid.Columns.Add(new DFBrowseGridAutoColumn("Goods_ID"));
var hPanel = result.EAdd(new HLayoutPanel());
PageUtil.AddExcelExportPanel(hPanel, mBrowseGrid, "白条进销存");
return result;
}
void StartQuery()
{
startTime = new DateTime(2017, 10, 10);
endTime = DateTime.Today + new TimeSpan(23, 59, 59);
if (startInput.Value.HasValue)
startTime = startInput.Date;
if (endInput.Value.HasValue)
endTime = endInput.Date;
var sumColumns = new List<int>();
var query = new DQueryDom(new JoinAlias(typeof(UnionTemp)));
query.RegisterQueryTable(typeof(UnionTemp), new string[] { "Goods_ID", "Weight", "Time", "Flag" }, GetUnionDom(endTime));
query.Columns.Add(DQSelectColumn.Field("Goods_ID"));
query.Columns.Add(DQSelectColumn.Field("Goods_Code", "存货编码"));
query.Columns.Add(DQSelectColumn.Field("Goods_Name", "存货名称"));
query.Columns.Add(DQSelectColumn.Field("Goods_Spec", "存货规格"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.LessThan("Time", startTime), DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Value(1), DQExpression.Value(-1)))).ECastType<int>(), "期初头数"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 0)), DQExpression.Value(1))).ECastType<int>(), "本期增加头数|成品入库"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 0)), DQExpression.Value(1))).ECastType<int>(), "本期增加头数|合计"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 1)), DQExpression.Value(1))).ECastType<int>(), "本期减少头数|分割领用"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 2)), DQExpression.Value(1))).ECastType<int>(), "本期减少头数|销售出库"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.InEQ("Flag", 0)), DQExpression.Value(1))).ECastType<int>(), "本期减少头数|合计"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Value(1), DQExpression.Value(-1))).ECastType<int>(), "期末头数"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.LessThan("Time", startTime), DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Field("Weight"), DQExpression.Multiply(DQExpression.Value(-1), DQExpression.Field("Weight"))))).ECastType<decimal>(), "期初重量"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 0)), DQExpression.Field("Weight"))).ECastType<decimal>(), "本期增加重量|成品入库"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 0)), DQExpression.Field("Weight"))).ECastType<decimal>(), "本期增加重量|合计"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 1)), DQExpression.Field("Weight"))).ECastType<decimal>(), "本期减少重量|分割领用"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.EQ("Flag", 2)), DQExpression.Field("Weight"))).ECastType<decimal>(), "本期减少重量|销售出库"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.GreaterThanOrEqual("Time", startTime), DQCondition.InEQ("Flag", 0)), DQExpression.Field("Weight"))).ECastType<decimal>(), "本期减少重量|合计"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Field("Weight"), DQExpression.Multiply(DQExpression.Value(-1), DQExpression.Field("Weight")))).ECastType<decimal>(), "期末重量"));
query.GroupBy.Expressions.Add(DQExpression.Field("Goods_ID"));
query.GroupBy.Expressions.Add(DQExpression.Field("Goods_Code"));
query.GroupBy.Expressions.Add(DQExpression.Field("Goods_Name"));
query.GroupBy.Expressions.Add(DQExpression.Field("Goods_Spec"));
query.Having.Conditions.Add(DQCondition.Or(DQCondition.InEQ(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Value(1), DQExpression.Value(-1))), DQExpression.Value(0)), DQCondition.InEQ(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ("Flag", 0), DQExpression.Field("Weight"), DQExpression.Multiply(DQExpression.Value(-1), DQExpression.Field("Weight")))), DQExpression.Value(0))));
var args = new LoadArguments(query);
for (var idx = 4; idx < query.Columns.Count; idx++)
{
args.SumColumns.Add(idx);
args.GroupSumColumns.Add(idx);
}
mBrowseGrid.LoadArguments = args;
mBrowseGrid.DataBind();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!IsPostBack)
StartQuery();
}
[DFClass]
class UnionTemp
{
public long Goods_ID { get; set; }
public decimal Weight { get; set; }
public DateTime Time { get; set; }
public int Flag { get; set; }
[ReferenceTo(typeof(Goods), "Name")]
[Join("Goods_ID", "ID")]
public string Goods_Name { get; set; }
[ReferenceTo(typeof(Goods), "Code")]
[Join("Goods_ID", "ID")]
public string Goods_Code { get; set; }
[ReferenceTo(typeof(Goods), "Spec")]
[Join("Goods_ID", "ID")]
public string Goods_Spec { get; set; }
}
DQueryDom GetUnionDom(DateTime endTime)
{
var u1 = GetInStore(endTime);
var u2 = GetPickOutStore(endTime);
u1.UnionNext.Select = u2;
u1.UnionNext.Type = UnionType.All;
u2.UnionNext.Select = GetSaleOutStore(endTime);
u2.UnionNext.Type = UnionType.All;
return u1;
}
DQueryDom GetInStore(DateTime endTime)
{
var query = new DQueryDom(new JoinAlias("_inStore", typeof(CarcassFullInfo)));
query.Columns.Add(DQSelectColumn.Field("InStoreGoods_ID"));
query.Columns.Add(DQSelectColumn.Field("InStoreWeight"));
query.Columns.Add(DQSelectColumn.Field("InStoreTime"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(0), "Falg"));
query.Where.Conditions.Add(DQCondition.LessThanOrEqual("InStoreTime", endTime));
return query;
}
DQueryDom GetPickOutStore(DateTime endTime)
{
var query = new DQueryDom(new JoinAlias("_pickOut", typeof(CarcassFullInfo)));
query.Columns.Add(DQSelectColumn.Field("InStoreGoods_ID"));
query.Columns.Add(DQSelectColumn.Field("PickWeight"));
query.Columns.Add(DQSelectColumn.Field("PickTime"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "Falg"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("PickType", 0), DQCondition.LessThanOrEqual("PickTime", endTime)));
return query;
}
DQueryDom GetSaleOutStore(DateTime endTime)
{
var query = new DQueryDom(new JoinAlias("_saleOut", typeof(CarcassFullInfo)));
query.Columns.Add(DQSelectColumn.Field("SaleGoods_ID"));
query.Columns.Add(DQSelectColumn.Field("PickWeight"));
query.Columns.Add(DQSelectColumn.Field("PickTime"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(2), "Falg"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("PickType", 1), DQCondition.LessThanOrEqual("PickTime", endTime)));
return query;
}
}
}

+ 7
- 0
B3ClientService/OfflinRpc/CarcassTakeOutRpc.cs View File

@ -68,6 +68,11 @@ namespace BWP.B3ClientService.Rpcs
entity.PickGroupID = obj.GroupID;
entity.PickTime = obj.Time;
entity.PickType = .;
if (string.IsNullOrEmpty(entity.BarCode))
{
entity.InStoreGoods_ID = obj.Goods_ID;
entity.ProductBatch_ID = obj.ProductBatch_ID;
}
session.Insert(entity);
}
@ -94,6 +99,8 @@ namespace BWP.B3ClientService.Rpcs
public string BarCode { get; set; }
public long? TakeOutWorker_ID { get; set; }
public long? WorkUnit_ID { get; set; }
public long? ProductBatch_ID { get; set; }
public long? Goods_ID { get; set; }
public decimal? Weight { get; set; }
public DateTime? Time { get; set; }
public long? GroupID { get; set; }


+ 14
- 0
B3ClientService/Rpcs/InterfaceRpc/GoodsRpc.cs View File

@ -0,0 +1,14 @@
using Forks.EnterpriseServices.JsonRpc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BWP.B3ClientService.Rpcs.InterfaceRpc
{
[Rpc]
public static class GoodsRpc
{
}
}

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

@ -44,6 +44,7 @@
<Function index="2" name="白条流向"/>
<Function index="3" name="白条状态分析"/>
<Function index="4" name="白条级别汇总"/>
<Function index="5" name="白条进销存"/>
</FunctionGroup>
<FunctionGroup name ="操作员" roleSchemas="default">
<Function index="0" name="访问" />
@ -111,6 +112,7 @@
<Menu id="0030" name="MES系统/MES报表展示/白条状态分析" roles="B3ClientService.报表展示.白条状态分析" url="B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.aspx"/>
<Menu id="0031" name="MES系统/MES报表展示/白条级别汇总" roles="B3ClientService.报表展示.白条级别汇总" url="B3ClientService/Reports/CarcassGradeAnalyse_/CarcassGradeAnalyse.aspx"/>
<Menu id="0032" name="MES系统/MES报表展示/白条进销存" roles="B3ClientService.报表展示.白条进销存" url="B3ClientService/Reports/CarcassInOutStoreAnalyse_/CarcassInOutStoreAnalyse.aspx"/>
</Menus>
<Features>
</Features>


Loading…
Cancel
Save