Browse Source

调整。

master
yibo 7 years ago
parent
commit
1dfc04fcff
6 changed files with 108 additions and 62 deletions
  1. +53
    -43
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassGradeAnalyse_/CarcassGradeAnalyse.cs
  2. +18
    -9
      B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs
  3. +3
    -0
      B3ClientService/BO/Bill/CarcassFullInfo.cs
  4. +2
    -0
      B3ClientService/BO/Bill/GradeAndWeight/GradeAndWeight_Detail.cs
  5. +2
    -0
      B3ClientService/OfflinRpc/GradeAndWeightBL.cs
  6. +30
    -10
      B3ClientService/Rpcs/BaseInfoRpc.cs

+ 53
- 43
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassGradeAnalyse_/CarcassGradeAnalyse.cs View File

@ -21,6 +21,7 @@ using Forks.EnterpriseServices.SqlDoms;
using BWP.B3ClientService.NamedValueTemplate;
using Forks.Utils;
using TSingSoft.WebPluginFramework.Exports;
using BWP.B3ClientService;
namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
{
@ -51,10 +52,13 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
}
DateInput butcherDate;
ChoiceBox batchSelect;
private void AddQueryControl(Panel queryPanel)
{
var hp = queryPanel.EAdd(new Panel());
hp.Style.Add("float", "right");
hp.EAdd(new SimpleLabel("生产批次"));
batchSelect = hp.EAdd(new ChoiceBox(B3ClientServiceConsts.DataSources.) { Width = Unit.Pixel(160), EnableTopItem = true, EnableInputArgument = true });
hp.EAdd(new SimpleLabel("屠宰日期"));
butcherDate = hp.EAdd(new DateInput() { Date = DateTime.Today, Width = Unit.Pixel(100) });
butcherDate.Style.Add("margin-right", "30px");
@ -155,21 +159,16 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
return result;
}
List<TempData> GetAllData()
List<TempData> GetInOutInfo()
{
var main = new JoinAlias(typeof(CarcassFullInfo));
var livestock = new JoinAlias(typeof(Livestock));
var inGoods = new JoinAlias("iGoods", typeof(Goods));
var outGoods = new JoinAlias("oGoods", typeof(Goods));
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(inGoods), DQCondition.EQ(main, "InStoreGoods_ID", inGoods, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(outGoods), DQCondition.EQ(main, "SaleGoods_ID", outGoods, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(batch), DQCondition.EQ(main, "ProductBatch_ID", batch, "ID"));
query.Columns.Add(DQSelectColumn.Field("Livestock_ID"));
query.Columns.Add(DQSelectColumn.Field("Name", livestock));
query.Columns.Add(DQSelectColumn.Field("GradeWeight"));
query.Columns.Add(DQSelectColumn.Field("InStoreGoods_ID"));
query.Columns.Add(DQSelectColumn.Field("Name", inGoods));
@ -179,12 +178,46 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
query.Columns.Add(DQSelectColumn.Field("Name", outGoods));
query.Columns.Add(DQSelectColumn.Field("PickWeight"));
query.Columns.Add(DQSelectColumn.Field("ButcherDate"));
query.Columns.Add(DQSelectColumn.Field("Date", batch));
if (butcherDate.Value.HasValue)
query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ("ButcherDate", butcherDate.Date), DQCondition.EQ(batch, "Date", butcherDate.Date)));
query.Where.Conditions.Add(DQCondition.EQ(batch, "Date", butcherDate.Date));
if (!batchSelect.IsEmpty)
query.Where.Conditions.Add(DQCondition.EQ("ProductBatch_ID", long.Parse(batchSelect.Value)));
var list = new List<TempData>();
using (var session = Dmo.NewSession())
{
using (var reader = session.ExecuteReader(query))
{
while (reader.Read())
{
var entity = new TempData();
entity.IGoods_ID = (long?)reader[0];
entity.IGoods_Name = (string)reader[1];
entity.IWeight = (decimal?)reader[2];
entity.OGoods_ID = (long?)reader[3];
entity.OGoods_Name = (string)reader[4];
entity.OWeight = (decimal?)reader[5];
list.Add(entity);
}
}
}
return list;
}
List<TempData> GetGradeInfo()
{
var main = new JoinAlias(typeof(CarcassFullInfo));
var livestock = new JoinAlias(typeof(Livestock));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(livestock), DQCondition.EQ(main, "Livestock_ID", livestock, "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));
if (!batchSelect.IsEmpty)
query.Where.Conditions.Add(DQCondition.EQ("GradeProductBatch_ID", long.Parse(batchSelect.Value)));
var list = new List<TempData>();
using (var session = Dmo.NewSession())
{
@ -192,34 +225,10 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
{
while (reader.Read())
{
var dt1 = (DateTime?)reader[9];
var dt2 = (DateTime?)reader[10];
var isButcherData = butcherDate.Value == null;
var isBatchData = isButcherData;
if (butcherDate.Value.HasValue)
{
if (dt1 == null || dt1 != butcherDate.Date)
isButcherData = false;
if (dt2 == null || dt2 != butcherDate.Date)
isBatchData = false;
}
var entity = new TempData();
if (isButcherData)
{
entity.Livestock_ID = (long?)reader[0];
entity.Livestock_Name = (string)reader[1];
entity.LWeight = (decimal?)reader[2];
}
if (isBatchData)
{
entity.IGoods_ID = (long?)reader[3];
entity.IGoods_Name = (string)reader[4];
entity.IWeight = (decimal?)reader[5];
entity.OGoods_ID = (long?)reader[6];
entity.OGoods_Name = (string)reader[7];
entity.OWeight = (decimal?)reader[8];
}
entity.Livestock_ID = (long?)reader[0];
entity.Livestock_Name = (string)reader[1];
entity.LWeight = (decimal?)reader[2];
list.Add(entity);
}
}
@ -231,16 +240,16 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
{
var table = new DFDataTable();
AddTableHead(table);
var list = GetAllData();
var combine = CombineList(list);
var combine = CombineList();
FillTable(table, combine);
return table;
}
private List<TempData> CombineList(List<TempData> list)
private List<TempData> CombineList()
{
var gradeInfo = GetGradeInfo();
var combine = new List<TempData>();
var l = list.Where(x => x.Livestock_ID.HasValue).GroupBy(x => x.Livestock_ID).OrderBy(x => x.Key);
var l = gradeInfo.GroupBy(x => x.Livestock_ID).OrderBy(x => x.Key);
foreach (var g in l)
{
var e = new TempData();
@ -250,7 +259,8 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
combine.Add(e);
}
var i = list.Where(x => x.IGoods_ID.HasValue).GroupBy(x => x.IGoods_ID).OrderBy(x => x.Key);
var inOutInfo = GetInOutInfo();
var i = inOutInfo.Where(x => x.IGoods_ID.HasValue).GroupBy(x => x.IGoods_ID).OrderBy(x => x.Key);
var n = 0;
foreach (var g in i)
{
@ -263,7 +273,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassGradeAnalyse_
n++;
}
var o = list.Where(x => x.OGoods_ID.HasValue).GroupBy(x => x.OGoods_ID).OrderBy(x => x.Key);
var o = inOutInfo.Where(x => x.OGoods_ID.HasValue).GroupBy(x => x.OGoods_ID).OrderBy(x => x.Key);
n = 0;
foreach (var g in o)
{


+ 18
- 9
B3ClientService.Web/Pages/B3ClientService/Reports/CarcassStateAnalyse_/CarcassStateAnalyse.cs View File

@ -61,10 +61,10 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStateAnalyse_
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) });
batchSelect = hp.EAdd(new ChoiceBox(B3ClientServiceConsts.DataSources.) { EnableInputArgument = true, EnableTopItem = true, AutoPostBack = true, Width = Unit.Pixel(160) });
var batch = GetYesterdayBatch();
if (!string.IsNullOrEmpty(batch))
batchSelect.Fill(batch, batch);
if (batch != null)
batchSelect.Fill(batch.Item1.ToString(), batch.Item2);
noCodeBox.CheckedChanged += delegate
{
StartQuery();
@ -75,14 +75,15 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStateAnalyse_
};
}
string GetYesterdayBatch()
Tuple<long, string> GetYesterdayBatch()
{
var dom = new DQueryDom(new JoinAlias(typeof(ProductBatch)));
dom.Columns.Add(DQSelectColumn.Field("ID"));
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>();
return dom.EExecuteScalar<long, string>();
}
private TitlePanel CreateResultTab()
@ -101,11 +102,13 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStateAnalyse_
var main = new JoinAlias(typeof(CarcassFullInfo));
var livestock = new JoinAlias(typeof(Livestock));
var batch = new JoinAlias(typeof(ProductBatch));
var gbatch = new JoinAlias("_gradeBatch", typeof(ProductBatch));
var batch = new JoinAlias("_productBatch", 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(gbatch), DQCondition.EQ(main, "GradeProductBatch_ID", gbatch, "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"));
@ -114,6 +117,7 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStateAnalyse_
sumColumns.Add(query.Columns.Count - 1);
var title = "屠宰信息|";
query.Columns.Add(DQSelectColumn.Field("ButcherDate", title + "屠宰日期"));
query.Columns.Add(DQSelectColumn.Field("Name", gbatch, 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 + "胴体重量"));
@ -134,11 +138,16 @@ namespace BWP.Web.Pages.B3ClientService.Reports.CarcassStateAnalyse_
sumColumns.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Field("PickGroupID", title + "领用组标识"));
if (!batchSelect.IsEmpty)
query.Where.Conditions.Add(DQCondition.EQ("ProductBatch_ID", long.Parse(batchSelect.Value)));
{
var v = long.Parse(batchSelect.Value);
query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ("GradeProductBatch_ID", v), DQCondition.EQ("ProductBatch_ID", v)));
}
if (!butcherDate.IsEmpty)
query.Where.Conditions.Add(DQCondition.EQ("ButcherDate", butcherDate.Value));
{
query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ(batch, "Date", butcherDate.Value), DQCondition.EQ("ButcherDate", butcherDate.Value)));
}
if (noCodeBox.Checked)
query.Where.Conditions.Add(DQCondition.Or(DQCondition.IsNull(DQExpression.Field("BarCode")), DQCondition.EQ("BarCode", "''")));
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);


+ 3
- 0
B3ClientService/BO/Bill/CarcassFullInfo.cs View File

@ -50,6 +50,9 @@ namespace BWP.B3ClientService.BO
[LogicName("胴体重量")]
public decimal? GradeWeight { get; set; }
[LogicName("定级生产批次")]
public long? GradeProductBatch_ID { get; set; }
#endregion
#region 入库信息


+ 2
- 0
B3ClientService/BO/Bill/GradeAndWeight/GradeAndWeight_Detail.cs View File

@ -39,5 +39,7 @@ namespace BWP.B3ClientService.BO
public long SID { get; set; }
public string BarCode { get; set; }
public long? ProductBatch_ID { get; set; }
}
}

+ 2
- 0
B3ClientService/OfflinRpc/GradeAndWeightBL.cs View File

@ -36,6 +36,7 @@ namespace BWP.B3ClientService.BL
var update = new DQUpdateDom(typeof(CarcassFullInfo));
update.Columns.Add(new DQUpdateColumn("ButcherDate", obj.Date));
update.Columns.Add(new DQUpdateColumn("GradeTime", obj.Time));
update.Columns.Add(new DQUpdateColumn("GradeProductBatch_ID", obj.ProductBatch_ID));
//update.Columns.Add(new DQUpdateColumn("GradeWorker_ID", obj.Worker_ID));
update.Columns.Add(new DQUpdateColumn("Livestock_ID", obj.Livestock_ID));
update.Columns.Add(new DQUpdateColumn("GradeWeight", obj.Weight));
@ -49,6 +50,7 @@ namespace BWP.B3ClientService.BL
entity.BarCode = obj.BarCode;
entity.ButcherDate = obj.Date;
entity.GradeTime = obj.Time;
entity.GradeProductBatch_ID = obj.ProductBatch_ID;
//entity.GradeWorker_ID = obj.Worker_ID;
entity.Livestock_ID = obj.Livestock_ID;
entity.GradeWeight = obj.Weight;


+ 30
- 10
B3ClientService/Rpcs/BaseInfoRpc.cs View File

@ -51,15 +51,15 @@ namespace BWP.B3ClientService.Rpcs
return JsonConvert.SerializeObject(list);
}
[Rpc]
public static string GetProductBatchList()
{
//只查询5天前的批次
var query = new DmoQuery(typeof(ProductBatch));
query.Range=SelectRange.Top(5);
var list = query.EExecuteList().Cast<ProductBatch>().ToList();
return JsonConvert.SerializeObject(list);
}
//[Rpc]
//public static string GetProductBatchList()
//{
// //只查询5天前的批次
// var query = new DmoQuery(typeof(ProductBatch));
// query.Range=SelectRange.Top(5);
// var list = query.EExecuteList().Cast<ProductBatch>().ToList();
// return JsonConvert.SerializeObject(list);
//}
[Rpc]
@ -158,7 +158,27 @@ namespace BWP.B3ClientService.Rpcs
return GetBaseInfoList<WhiteBar>(input, args, top);
}
[Rpc]
public static List<WordPair> GetProductBatchList(string input, string args, int top)
{
var query = new DQueryDom(new JoinAlias(typeof(ProductBatch)));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Columns.Add(DQSelectColumn.Field("Name"));
query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("Date", DateTime.Today.AddDays(-1)));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
if (!string.IsNullOrEmpty(input))
query.Where.Conditions.Add(DQCondition.Or(DQCondition.Like("Name", input), DQCondition.Like("Spell", input)));
var list = new List<WordPair>();
using (var session = Dmo.NewSession())
{
using (var reader = session.ExecuteReader(query))
{
while (reader.Read())
list.Add(new WordPair(reader[1].ToString(), reader[0].ToString()));
}
}
return list;
}
[Rpc]
public static List<Sanction> GetSanctionList()


Loading…
Cancel
Save