From 7692bed7d5fed3c74903406b9f053f1f27dff435 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Fri, 25 May 2018 20:09:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../B3ClientService.Web.csproj | 6 + .../CarcassGradeAnalyse.cs | 10 +- .../CarcassInStoreLossAnalyse.cs | 152 ++++++++++++++++++ .../InStoreDetail.cs | 112 +++++++++++++ .../OfflinRpc/CarcassSaleOutStoreRpc.cs | 3 +- .../OfflinRpc/CarcassTakeOutRpc.cs | 3 - .../Tasks/SyncCarcassInStoreToTrackBack.cs | 20 ++- .../config/plugins/B3ClientService.plugin | 2 + 8 files changed, 295 insertions(+), 13 deletions(-) create mode 100644 B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/CarcassInStoreLossAnalyse.cs create mode 100644 B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/InStoreDetail.cs diff --git a/B3ClientService.Web/B3ClientService.Web.csproj b/B3ClientService.Web/B3ClientService.Web.csproj index e422296..afd00fc 100644 --- a/B3ClientService.Web/B3ClientService.Web.csproj +++ b/B3ClientService.Web/B3ClientService.Web.csproj @@ -132,6 +132,12 @@ ASPXCodeBehind + + ASPXCodeBehind + + + ASPXCodeBehind + ASPXCodeBehind diff --git a/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassGradeAnalyse_/CarcassGradeAnalyse.cs b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassGradeAnalyse_/CarcassGradeAnalyse.cs index a785242..3d479aa 100644 --- a/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassGradeAnalyse_/CarcassGradeAnalyse.cs +++ b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassGradeAnalyse_/CarcassGradeAnalyse.cs @@ -177,6 +177,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_ query.Columns.Add(DQSelectColumn.Field("SaleGoods_ID")); query.Columns.Add(DQSelectColumn.Field("Name", outGoods)); query.Columns.Add(DQSelectColumn.Field("PickWeight")); + query.Columns.Add(DQSelectColumn.Field("PickType")); if (butcherDate.Value.HasValue) query.Where.Conditions.Add(DQCondition.EQ(batch, "Date", butcherDate.Date)); @@ -197,6 +198,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_ entity.OGoods_ID = (long?)reader[3]; entity.OGoods_Name = (string)reader[4]; entity.OWeight = (decimal?)reader[5]; + entity.PickType = (NamedValue<领用类型>?)reader[6]; list.Add(entity); } } @@ -208,14 +210,16 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_ { var main = new JoinAlias(typeof(CarcassFullInfo)); var livestock = new JoinAlias(typeof(Livestock)); + var batch = new JoinAlias(typeof(ProductBatch)); 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, "GradeProductBatch_ID", batch, "ID")); query.Columns.Add(DQSelectColumn.Field("Livestock_ID")); query.Columns.Add(DQSelectColumn.Field("Name", livestock)); query.Columns.Add(DQSelectColumn.Field("GradeWeight")); if (butcherDate.Value.HasValue) - query.Where.Conditions.Add(DQCondition.EQ("ButcherDate", butcherDate.Date)); + query.Where.Conditions.Add(DQCondition.EQ(batch, "Date", butcherDate.Date)); if (!batchSelect.IsEmpty) query.Where.Conditions.Add(DQCondition.EQ("GradeProductBatch_ID", long.Parse(batchSelect.Value))); var list = new List(); @@ -273,7 +277,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_ n++; } - var o = inOutInfo.Where(x => x.OGoods_ID.HasValue).GroupBy(x => x.OGoods_ID).OrderBy(x => x.Key); + var o = inOutInfo.Where(x => x.PickType==领用类型.白条销售).GroupBy(x => x.OGoods_ID).OrderBy(x => x.Key); n = 0; foreach (var g in o) { @@ -357,5 +361,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_ public string OGoods_Name { get; set; } public int ONumber { get; set; } public decimal? OWeight { get; set; } + + public NamedValue<领用类型>? PickType { get; set; } } } diff --git a/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/CarcassInStoreLossAnalyse.cs b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/CarcassInStoreLossAnalyse.cs new file mode 100644 index 0000000..e1de14b --- /dev/null +++ b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/CarcassInStoreLossAnalyse.cs @@ -0,0 +1,152 @@ +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; +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 BWP.B3Frameworks.BO.MoneyTemplate; +using Forks.Utils; +using System.Web; + +namespace BWP.Web.Pages.B3ClientService.Reports.CarcassInStoreLossAnalyse_ +{ + class CarcassInStoreLossAnalyse : 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 lid = string.Format("{0}", row["Livestock_ID"]); + var url = BuildUrl(string.Format("{0}", lid)); + url = WpfPageUrl.ToGlobal(url); + SetCellAtt(tr.Cells[4], url, "入库明细"); + }; + } + + string BuildUrl(string livestockID) + { + var url = "~/B3ClientService/Reports/CarcassInStoreLossAnalyse_/InStoreDetail.aspx"; + url = AspUtil.AddParamToUrl(url, "Date", dateInput.Text); + url = AspUtil.AddParamToUrl(url, "ProductBatchID", batchSelect.Value); + url = AspUtil.AddParamToUrl(url, "Livestock_ID", livestockID); + 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"); + } + + ChoiceBox batchSelect; + DFDateInput dateInput; + private void AddQueryControl(Panel queryPanel) + { + var hp = queryPanel.EAdd(new Panel()); + hp.Style.Add("float", "right"); + hp.EAdd(new SimpleLabel("生产日期")); + dateInput = hp.EAdd(new DFDateInput() { Date = DateTime.Today }); + hp.EAdd(new SimpleLabel("生产批次")); + batchSelect = hp.EAdd(new ChoiceBox(B3ClientServiceConsts.DataSources.生产批次) { EnableInputArgument = true, EnableTopItem = true, AutoPostBack = true, Width = Unit.Pixel(180) }); + hp.EAdd(new TSButton("开始查询", delegate { StartQuery(); })); + } + + private TitlePanel CreateResultTab() + { + var result = new TitlePanel("查询结果"); + mBrowseGrid = result.EAdd(new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100) }); + mBrowseGrid.Columns.Add(new DFBrowseGridAutoColumn("Livestock_ID")); + var hPanel = result.EAdd(new HLayoutPanel()); + PageUtil.AddExcelExportPanel(hPanel, mBrowseGrid, "白条损耗"); + return result; + } + + void StartQuery() + { + var main = new JoinAlias(typeof(CarcassFullInfo)); + var livestock = new JoinAlias(typeof(Livestock)); + var gradeBatch = new JoinAlias("gBatch", typeof(ProductBatch)); + var inBatch = new JoinAlias("iBatch", typeof(ProductBatch)); + 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(gradeBatch), DQCondition.EQ(main, "GradeProductBatch_ID", gradeBatch, "ID")); + query.From.AddJoin(JoinType.Left, new DQDmoSource(inBatch), DQCondition.EQ(main, "ProductBatch_ID", inBatch, "ID")); + query.Columns.Add(DQSelectColumn.Field("Livestock_ID")); + query.GroupBy.Expressions.Add(DQExpression.Field("Livestock_ID")); + query.Columns.Add(DQSelectColumn.Field("Name", livestock, "胴体级别")); + query.GroupBy.Expressions.Add(DQExpression.Field(livestock, "Name")); + var gNumber = DQExpression.Sum(DQExpression.LogicCase(DQCondition.IsNotNull(DQExpression.Field("Livestock_ID")), DQExpression.Value(1), DQExpression.Value(0))); + query.Columns.Add(DQSelectColumn.Create(gNumber.ECastType(), "头数")); + var gWeight=DQExpression.Subtract(DQExpression.Field("GradeWeight"),DQExpression.Value(4.2m)); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(gWeight).ECastType(), "胴体重量")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Divide(DQExpression.Sum(gWeight), DQExpression.NullIfZero(gNumber)).ECastType?>(), "胴体均重")); + var iNumber = DQExpression.Sum(DQExpression.LogicCase(DQCondition.IsNotNull(DQExpression.Field("InStoreGoods_ID")), DQExpression.Value(1), DQExpression.Value(0))); + query.Columns.Add(DQSelectColumn.Create(iNumber.ECastType(), "入库头数")); + query.Columns.Add(DQSelectColumn.Sum("InStoreWeight", "入库重量")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Divide(DQExpression.Sum(DQExpression.Field("InStoreWeight")), DQExpression.NullIfZero(iNumber)).ECastType?>(), "入库均重")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(gNumber, iNumber).ECastType(), "差异头数")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Subtract(DQExpression.IfNull(gWeight, DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field("InStoreWeight"), DQExpression.Value(0)))).ECastType(), "差异重量")); + + if (!batchSelect.IsEmpty) + query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ("GradeProductBatch_ID", long.Parse(batchSelect.Value)), DQCondition.EQ("ProductBatch_ID", long.Parse(batchSelect.Value)))); + if (!dateInput.IsEmpty) + query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ(gradeBatch, "Date", dateInput.Date), DQCondition.EQ(inBatch, "Date", dateInput.Date))); + var args = new LoadArguments(query); + for (var i = 0; i < query.Columns.Count; i++) + { + if (i <= 1) + continue; + args.SumColumns.Add(i); + args.GroupSumColumns.Add(i); + } + mBrowseGrid.LoadArguments = args; + mBrowseGrid.DataBind(); + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + if (!IsPostBack) + StartQuery(); + } + } +} diff --git a/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/InStoreDetail.cs b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/InStoreDetail.cs new file mode 100644 index 0000000..c7d61cb --- /dev/null +++ b/B3ClientService.Web/Pages/B3ClientService/Reports/CarcassInStoreLossAnalyse_/InStoreDetail.cs @@ -0,0 +1,112 @@ +using BWP.B3ClientService.BO; +using BWP.B3Frameworks.Utils; +using BWP.Web.Utils; +using Forks.EnterpriseServices.DomainObjects2; +using Forks.EnterpriseServices.DomainObjects2.DQuery; +using Forks.EnterpriseServices.SqlDoms; +using System; +using System.Collections.Generic; +using System.Linq; +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 Forks.Utils; +using BWP.B3Frameworks.BO.MoneyTemplate; +using Forks.EnterpriseServices.DataForm; + +namespace BWP.Web.Pages.B3ClientService.Reports.CarcassInStoreLossAnalyse_ +{ + class InStoreDetail : ServerPage + { + long? LiveStockID + { + get + { + if (string.IsNullOrEmpty(Request.QueryString["Livestock_ID"])) + return null; + return long.Parse(Request.QueryString["Livestock_ID"]); + } + } + + DateTime? Date + { + get + { + if (string.IsNullOrEmpty(Request.QueryString["Date"])) + return null; + return DateTime.Parse(Request.QueryString["Date"]); + } + } + + long? ProductBatchID + { + get + { + if (string.IsNullOrEmpty(Request.QueryString["ProductBatchID"])) + return null; + return long.Parse(Request.QueryString["ProductBatchID"]); + } + } + + DFBrowseGrid mBrowseGrid; + protected override void InitForm(HtmlForm form) + { + string lName = string.Empty; + if (LiveStockID.HasValue) + lName = WebBLUtil.GetDmoPropertyByID(typeof(Livestock), "Name", LiveStockID.Value); + form.Controls.Add(new PageTitle(string.Format("{0}入库明细", lName))); + + mBrowseGrid = form.EAdd(new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100) }); + mBrowseGrid.Columns.Add(new DFBrowseGridAutoColumn()); + } + + void StartQuery() + { + var main = new JoinAlias(typeof(CarcassFullInfo)); + var goods = new JoinAlias(typeof(Goods)); + var gradeBatch = new JoinAlias("gBatch", typeof(ProductBatch)); + var inBatch = new JoinAlias("iBatch", typeof(ProductBatch)); + var query = new DQueryDom(main); + query.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(main, "InStoreGoods_ID", goods, "ID")); + query.From.AddJoin(JoinType.Left, new DQDmoSource(gradeBatch), DQCondition.EQ(main, "GradeProductBatch_ID", gradeBatch, "ID")); + query.From.AddJoin(JoinType.Left, new DQDmoSource(inBatch), DQCondition.EQ(main, "ProductBatch_ID", inBatch, "ID")); + query.Columns.Add(DQSelectColumn.Field("Name", goods, "存货")); + query.GroupBy.Expressions.Add(DQExpression.Field(goods, "Name")); + var iNumber = DQExpression.Sum(DQExpression.Value(1)); + query.Columns.Add(DQSelectColumn.Create(iNumber.ECastType(), "头数")); + query.Columns.Add(DQSelectColumn.Sum("InStoreWeight", "重量")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Divide(DQExpression.Sum(DQExpression.Field("InStoreWeight")), DQExpression.NullIfZero(iNumber)).ECastType?>(), "入库均重")); + query.Where.Conditions.Add(DQCondition.IsNotNull(DQExpression.Field("InStoreGoods_ID"))); + if (ProductBatchID.HasValue) + query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ("GradeProductBatch_ID", ProductBatchID), DQCondition.EQ("ProductBatch_ID", ProductBatchID))); + if (Date.HasValue) + query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ(gradeBatch, "Date", Date), DQCondition.EQ(inBatch, "Date", Date))); + if (LiveStockID.HasValue) + query.Where.Conditions.Add(DQCondition.EQ("Livestock_ID", LiveStockID)); + else + query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("Livestock_ID"))); + + var args = new LoadArguments(query); + for (var i = 0; i < query.Columns.Count; i++) + { + if (i <= 0) + continue; + args.SumColumns.Add(i); + args.GroupSumColumns.Add(i); + } + mBrowseGrid.LoadArguments = args; + mBrowseGrid.DataBind(); + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + if (!IsPostBack) + StartQuery(); + } + } +} diff --git a/B3ClientService/OfflinRpc/CarcassSaleOutStoreRpc.cs b/B3ClientService/OfflinRpc/CarcassSaleOutStoreRpc.cs index e157982..6dc8054 100644 --- a/B3ClientService/OfflinRpc/CarcassSaleOutStoreRpc.cs +++ b/B3ClientService/OfflinRpc/CarcassSaleOutStoreRpc.cs @@ -59,8 +59,6 @@ namespace BWP.B3ClientService.Rpcs update.Columns.Add(new DQUpdateColumn("PickWeight", obj.Weight)); update.Columns.Add(new DQUpdateColumn("PickTime", obj.Time)); update.Columns.Add(new DQUpdateColumn("PickNumber", obj.Number)); - if (obj.ProductBatch_ID.HasValue) - update.Columns.Add(new DQUpdateColumn("ProductBatch_ID", obj.ProductBatch_ID)); update.Columns.Add(new DQUpdateColumn("PickType", 领用类型.白条销售)); update.Where.Conditions.Add(DQCondition.EQ("ID", id)); session.ExecuteNonQuery(update); @@ -73,6 +71,7 @@ namespace BWP.B3ClientService.Rpcs var entity = new CarcassFullInfo(); entity.BarCode = obj.BarCode; entity.PickWeight = obj.Weight; + entity.PickNumber = obj.Number; entity.PickTime = obj.Time; entity.SaleGoods_ID = GetGoodsID(obj.SaleGoods_Code, session); if (obj.ProductBatch_ID.HasValue) diff --git a/B3ClientService/OfflinRpc/CarcassTakeOutRpc.cs b/B3ClientService/OfflinRpc/CarcassTakeOutRpc.cs index 513b7a9..3bec61d 100644 --- a/B3ClientService/OfflinRpc/CarcassTakeOutRpc.cs +++ b/B3ClientService/OfflinRpc/CarcassTakeOutRpc.cs @@ -71,10 +71,7 @@ namespace BWP.B3ClientService.Rpcs entity.PickNumber = 1; entity.PickType = 领用类型.分割领用; if (string.IsNullOrEmpty(entity.BarCode)) - { - entity.InStoreGoods_ID = obj.Goods_ID; entity.ProductBatch_ID = obj.ProductBatch_ID; - } session.Insert(entity); } diff --git a/B3ClientService/Tasks/SyncCarcassInStoreToTrackBack.cs b/B3ClientService/Tasks/SyncCarcassInStoreToTrackBack.cs index d902f56..e3468a9 100644 --- a/B3ClientService/Tasks/SyncCarcassInStoreToTrackBack.cs +++ b/B3ClientService/Tasks/SyncCarcassInStoreToTrackBack.cs @@ -86,8 +86,10 @@ namespace BWP.B3ClientService.Tasks query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(main, "OrderDetail_ID", detail, "ID")); query.From.AddJoin(JoinType.Left, new DQDmoSource(weight), DQCondition.EQ(detail, "WeightBill_ID", weight, "ID")); var wd = WeightFramerTemp.Register(query, weight); + var wf = new JoinAlias("_farmerQ2", typeof(WeightBill_FarmerDetail)); var farmer = new JoinAlias(typeof(Farmer)); - query.From.AddJoin(JoinType.Left, new DQDmoSource(farmer), DQCondition.EQ(wd, "Farmer_ID", farmer, "ID")); + query.From.AddJoin(JoinType.Left, new DQDmoSource(wf), DQCondition.EQ(wd, "FID", wf, "ID")); + query.From.AddJoin(JoinType.Left, new DQDmoSource(farmer), DQCondition.EQ(wf, "Farmer_ID", farmer, "ID")); query.Columns.Add(DQSelectColumn.Field("BarCode")); query.Columns.Add(DQSelectColumn.Field("Technics")); query.Columns.Add(DQSelectColumn.Field("Time")); @@ -97,6 +99,8 @@ namespace BWP.B3ClientService.Tasks query.Columns.Add(DQSelectColumn.Field("AnimalTestMan", weight)); query.Columns.Add(DQSelectColumn.Field("Name", farmer)); query.Columns.Add(DQSelectColumn.Field("Address", farmer)); + query.Columns.Add(DQSelectColumn.Field("Farmer_Name", wf)); + query.Columns.Add(DQSelectColumn.Field("Farmer_Address", wf)); query.Columns.Add(DQSelectColumn.Field("ID")); query.Range = SelectRange.Top(500); query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID")); @@ -122,7 +126,11 @@ namespace BWP.B3ClientService.Tasks info.TestingResult = "合格"; info.Farmer = (string)reader[7]; info.PigFarmAddress = (string)reader[8]; - info.ID = (long)reader[9]; + if (string.IsNullOrEmpty(info.Farmer)) + info.Farmer = (string)reader[9]; + if (string.IsNullOrEmpty(info.PigFarmAddress)) + info.PigFarmAddress = (string)reader[10]; + info.ID = (long)reader[11]; list.Add(info); } } @@ -138,18 +146,18 @@ namespace BWP.B3ClientService.Tasks class WeightFramerTemp { public long WeightID { get; set; } - public long? Farmer_ID { get; set; } + public long FID { get; set; } public static JoinAlias Register(DQueryDom root, JoinAlias weight) { - var query = new DQueryDom(new JoinAlias(typeof(WeightBill_FarmerDetail))); + var query = new DQueryDom(new JoinAlias("_farmer1", typeof(WeightBill_FarmerDetail))); query.Columns.Add(DQSelectColumn.Field("WeightBill_ID")); - query.Columns.Add(DQSelectColumn.Max("Farmer_ID")); + query.Columns.Add(DQSelectColumn.Max("ID")); query.GroupBy.Expressions.Add(DQExpression.Field("WeightBill_ID")); query.Where.Conditions.Add(DQCondition.EQ("DeleteState", false)); var alias = new JoinAlias(typeof(WeightFramerTemp)); - root.RegisterQueryTable(typeof(WeightFramerTemp), new string[] { "WeightID", "Farmer_ID" }, query); + root.RegisterQueryTable(typeof(WeightFramerTemp), new string[] { "WeightID", "FID" }, query); root.From.AddJoin(JoinType.Left, new DQDmoSource(alias), DQCondition.EQ(weight, "ID", alias, "WeightID")); return alias; } diff --git a/WebFolder/config/plugins/B3ClientService.plugin b/WebFolder/config/plugins/B3ClientService.plugin index 418f92a..cbbfbae 100644 --- a/WebFolder/config/plugins/B3ClientService.plugin +++ b/WebFolder/config/plugins/B3ClientService.plugin @@ -48,6 +48,7 @@ + @@ -135,6 +136,7 @@ +