出库策略错误更改
This commit is contained in:
@@ -17,6 +17,10 @@ namespace Tnb.WarehouseMgr.Entities.Dto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string carry_id { get; set; }
|
public string carry_id { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 载具规格Id
|
||||||
|
/// </summary>
|
||||||
|
public string carrystd_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
/// 物料Id
|
/// 物料Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string material_id { get; set; }
|
public string material_id { get; set; }
|
||||||
|
|||||||
@@ -192,17 +192,18 @@ namespace Tnb.WarehouseMgr
|
|||||||
.And((a, b, c) => a.out_status == "0")
|
.And((a, b, c) => a.out_status == "0")
|
||||||
.And((a, b, c) => c.wh_id == input.warehouse_id)
|
.And((a, b, c) => c.wh_id == input.warehouse_id)
|
||||||
.AndIF(!string.IsNullOrEmpty(input.material_id), (a, b, c) => b.material_id == input.material_id)
|
.AndIF(!string.IsNullOrEmpty(input.material_id), (a, b, c) => b.material_id == input.material_id)
|
||||||
.AndIF(!string.IsNullOrEmpty(input.code_batch), (a, b, c) => b.code_batch == input.code_batch);
|
.AndIF(!string.IsNullOrEmpty(input.code_batch), (a, b, c) => b.code_batch == input.code_batch)
|
||||||
|
.AndIF(!string.IsNullOrEmpty(input.carrystd_id), (a,b,c)=>a.carrystd_id == input.carrystd_id);
|
||||||
Expression<Func<WmsCarryH, WmsCarryCode, BasLocation, bool>> carryStatusFilterExp = !input.material_id.IsNullOrWhiteSpace()
|
Expression<Func<WmsCarryH, WmsCarryCode, BasLocation, bool>> carryStatusFilterExp = !input.material_id.IsNullOrWhiteSpace()
|
||||||
? (a, b, c) => a.status == (int)EnumCarryStatus.占用
|
? (a, b, c) => a.carry_status == ((int)EnumCarryStatus.占用).ToString()
|
||||||
: (a, b, c) => a.status == (int)EnumCarryStatus.空闲;
|
: (a, b, c) => a.carry_status == ((int)EnumCarryStatus.空闲).ToString();
|
||||||
whereExprable.And(carryStatusFilterExp);
|
whereExprable.And(carryStatusFilterExp);
|
||||||
var whereExpr = whereExprable.ToExpression();
|
var whereExpr = whereExprable.ToExpression();
|
||||||
|
|
||||||
var policy = await _db.Queryable<WmsInstockPolicies>().Where(it => it.status == 1).FirstAsync();
|
var policy = await _db.Queryable<WmsInstockPolicies>().Where(it => it.status == 1).FirstAsync();
|
||||||
if (policy == null) throw new AppFriendlyException("没有可用策略", 500);
|
if (policy == null) throw new AppFriendlyException("没有可用策略", 500);
|
||||||
var items = await _db.Queryable<WmsCarryH>().InnerJoin<WmsCarryCode>((a, b) => a.id == b.carry_id)
|
var items = await _db.Queryable<WmsCarryH>().LeftJoin<WmsCarryCode>((a, b) => a.id == b.carry_id)
|
||||||
.InnerJoin<BasLocation>((a, b, c) => a.location_id == c.id)
|
.LeftJoin<BasLocation>((a, b, c) => a.location_id == c.id)
|
||||||
.Where(whereExpr)
|
.Where(whereExpr)
|
||||||
.OrderBy(policy.policy)
|
.OrderBy(policy.policy)
|
||||||
.Select<WmsCarryH>()
|
.Select<WmsCarryH>()
|
||||||
|
|||||||
@@ -77,12 +77,16 @@ namespace Tnb.WarehouseMgr
|
|||||||
//判断目标库位是否自动签收
|
//判断目标库位是否自动签收
|
||||||
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
var loc = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString());
|
||||||
//出库取起点,获取所有符合输入的载具规格的载具
|
//出库取起点,获取所有符合输入的载具规格的载具
|
||||||
//var OutStockStrategyInput = new OutStockStrategyQuery { carry_id = input.data[nameof(OutStockStrategyQuery.carry_id)].ToString() };
|
var OutStockStrategyInput = new OutStockStrategyQuery {
|
||||||
//var carrys = await _wareHouseService.OutStockStrategy(OutStockStrategyInput);
|
carrystd_id = input.data[nameof(OutStockStrategyQuery.carrystd_id)].ToString(),
|
||||||
var carrys = await _db.Queryable<WmsCarryH>().LeftJoin<BasLocation>((a, b) => a.location_id == b.id)
|
warehouse_id = input.data[nameof(OutStockStrategyQuery.warehouse_id)].ToString(),
|
||||||
.Where((a, b) => a.carrystd_id == input.data[nameof(WmsEmptyOutstockH.carrystd_id)].ToString()
|
|
||||||
&& a.carry_status == ((int)EnumCarryStatus.空闲).ToString() && a.is_lock == 0 && b.is_lock == 0 && b.is_type == ((int)EnumLocationType.存储库位).ToString())
|
};
|
||||||
.ToListAsync();
|
var carrys = await _wareHouseService.OutStockStrategy(OutStockStrategyInput);
|
||||||
|
//var carrys = await _db.Queryable<WmsCarryH>().LeftJoin<BasLocation>((a, b) => a.location_id == b.id)
|
||||||
|
// .Where((a, b) => a.carrystd_id == input.data[nameof(WmsEmptyOutstockH.carrystd_id)].ToString()
|
||||||
|
// && a.carry_status == ((int)EnumCarryStatus.空闲).ToString() && a.is_lock == 0 && b.is_lock == 0 && b.is_type == ((int)EnumLocationType.存储库位).ToString())
|
||||||
|
// .ToListAsync();
|
||||||
// 判断最终目标库位是否可以放置当前载具
|
// 判断最终目标库位是否可以放置当前载具
|
||||||
if (carrys?.Count > 0)
|
if (carrys?.Count > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user