Browse Source

需求单No.141650

master
wugang 7 years ago
parent
commit
24df918cdc
2 changed files with 45 additions and 13 deletions
  1. +4
    -2
      B3_QiLianMuGe.Web/Pages/B3_QiLianMuGe/Dialogs/QueryBarCode.cs
  2. +41
    -11
      B3_QiLianMuGe.Web/Pages/Overlays/StockTakeEdit_Ext.cs

+ 4
- 2
B3_QiLianMuGe.Web/Pages/B3_QiLianMuGe/Dialogs/QueryBarCode.cs View File

@ -94,7 +94,8 @@ namespace BWP.Web.Pages.B3_QiLianMuGe.Dialogs
query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field(barCode, "PickTime")));
if (!string.IsNullOrEmpty(Request.QueryString["Store_ID"]))
{
query.Where.Conditions.Add(DQCondition.Like(barCode, "Store_ID", Request.QueryString["Store_ID"]));
var storeId = long.Parse(Request.QueryString["Store_ID"].ToString());
query.Where.Conditions.Add(DQCondition.EQ(rightBarCode, "Store_ID", storeId));
}
var txtbarCode = mQueryContainer.GetControl<DFTextBox>("BarCode");
if (!txtbarCode.IsEmpty)
@ -169,7 +170,8 @@ namespace BWP.Web.Pages.B3_QiLianMuGe.Dialogs
}
if (!string.IsNullOrEmpty(Request.QueryString["Store_ID"]))
{
query2.Where.Conditions.Add(DQCondition.EQ(barCode2, "Store_ID", long.Parse(Request.QueryString["Store_ID"].ToString())));
var storeId = long.Parse(Request.QueryString["Store_ID"].ToString());
query2.Where.Conditions.Add(DQCondition.EQ(barCode2, "Store_ID", storeId));
}
query.UnionNext.Select = query2;
query.UnionNext.Type = UnionType.Default;


+ 41
- 11
B3_QiLianMuGe.Web/Pages/Overlays/StockTakeEdit_Ext.cs View File

@ -84,9 +84,12 @@ namespace BWP.Web.Pages.Overlays
public long? AssignBillID { get; set; }
public int? PickType { get; set; }
public string RightProduct_Batch { get; set; }
public string CeBarCode { get; set; }
public DateTime? PickTime { get; set; }
}
private class BarCodeData
@ -109,7 +112,7 @@ namespace BWP.Web.Pages.Overlays
query.From.AddJoin(JoinType.Inner, new DQDmoSource(uploadBarCode), DQCondition.EQ(left, "BarCode", uploadBarCode, "BarCode"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(right), DQCondition.EQ(left, "ID", right, "PackageID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(left, "Goods_ID", goods, "ID"));
var arr = new string[] { "Goods_ID", "Goods_Name", "Goods_Code", "Weight", "InStoreTime", "Store_ID", "Store_Name", "IsAssignGoods", "AssignBillID", "PickType" };
var arr = new string[] { "Goods_ID", "Goods_Name", "Goods_Code", "Weight", "InStoreTime", "Store_ID", "Store_Name", "IsAssignGoods", "AssignBillID", "PickType","BarCode" };
foreach (var f in arr)
query.Columns.Add(DQSelectColumn.Create(DQExpression.LogicCase(DQCondition.EQ(left, "BarType", 3), DQExpression.Field(right, f), DQExpression.Field(left, f)), f));
query.Columns.Add(DQSelectColumn.Field("PackageWeight", goods));
@ -117,6 +120,7 @@ namespace BWP.Web.Pages.Overlays
query.Columns.Add(DQSelectColumn.Field("Product_Batch", left));
query.Columns.Add(DQSelectColumn.Field("IsOpen", left));
query.Columns.Add(DQSelectColumn.Field("Product_Batch", right));
query.Columns.Add(DQSelectColumn.Field("BarCode", uploadBarCode));
var list = new List<MinSaelBarCode>();
using (var contex = new TransactionContext())
{
@ -125,7 +129,7 @@ namespace BWP.Web.Pages.Overlays
while (reader.Read())
{
decimal? packageWeight = null;
var num = (Money<decimal>?)reader[10];
var num = (Money<decimal>?)reader[11];
if (num != null)
{
packageWeight = num.Value.Value;
@ -142,21 +146,47 @@ namespace BWP.Web.Pages.Overlays
IsAssignGoods = (bool?)reader[7],
AssignBillID = (long?)reader[8],
PickType = (int?)reader[9],
BarCode = (string)reader[10],
PackageWeight = packageWeight,
PackageID = (long?)reader[11],
Product_Batch = (string)reader[12],
IsOpen = (bool?)reader[13],
RightProduct_Batch = (string)reader[14],
PackageID = (long?)reader[12],
Product_Batch = (string)reader[13],
IsOpen = (bool?)reader[14],
RightProduct_Batch = (string)reader[15],
CeBarCode = (string)reader[16],
};
list.Add(obj);
}
}
}
var groups = list.GroupBy(x => x.BarCode);
var resultlist = new List<MinSaelBarCode>();
//既扫了箱码又单扫了箱里面的子码,去除单扫箱里面子码的情况
foreach (var group in groups)
{
if(group.Count() > 1)
{
var result = group.Where(x => x.PackageID != null);
if (result.Count() > 0)
{
resultlist.Add(result.First());
}else
{
resultlist.Add(group.First());
}
}else
{
resultlist.Add(group.First());
}
}
var weightList = new List<BarCodeData>();
var results = list.Where(x => x.Goods_ID != null && x.Store_ID == Dmo.Store_ID);
//当前仓库已入库的条码
var results = resultlist.Where(x => x.Goods_ID != null && x.Store_ID == Dmo.Store_ID);
if (results.Count() > 0)
{
var packageGroups = results.Where(x=>x.PackageID!=null).GroupBy(x => x.PackageID);
var barCodes = results.Where(x => x.PackageID != null);
var unPackage = barCodes.Where(x => x.IsOpen == true || x.PickType != null);
var items = barCodes.Where(x => !unPackage.Any(y => y.BarCode == x.BarCode));
var packageGroups = items.GroupBy(x => x.PackageID);
foreach (var package in packageGroups)
{
var datas = package.Where(x => x.PackageWeight != null);
@ -172,8 +202,8 @@ namespace BWP.Web.Pages.Overlays
}
}
}
var items = results.Where(x => x.PackageID == null);
foreach (var item in items)
var items2 = results.Where(x => x.PackageID == null && x.PickType==null);
foreach (var item in items2)
{
weightList.Add(new BarCodeData { Goods_ID = item.Goods_ID, Product_Batch = item.Product_Batch, Weight = item.Weight, Num = 1 });
}


Loading…
Cancel
Save