This commit is contained in:
alex
2023-07-31 16:54:42 +08:00
parent 6f5a066a99
commit e3e9bdf090

View File

@@ -181,16 +181,21 @@ namespace Tnb.WarehouseMgr
[HttpGet]
public async Task<dynamic> OutStockStrategy(OutStockStrategyQuery input)
{
var whereExpr = Expressionable.Create<WmsCarryH, WmsCarryCode, BasLocation>()
var whereExprable = Expressionable.Create<WmsCarryH, WmsCarryCode, BasLocation>()
.And((a, b, c) => a.is_lock == 0)
.And((a, b, c) => !string.IsNullOrEmpty(a.location_id))
.And((a, b, c) => a.status == (int)EnumCarryStatus.)
//.And((a, b, c) => a.status == (int)EnumCarryStatus.占用)
.And((a, b, c) => c.is_type == ((int)EnumLocationType.).ToString())
.And((a, b, c) => a.out_status == "0")
.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.code_batch), (a, b, c) => b.code_batch == input.code_batch)
.ToExpression();
.AndIF(!string.IsNullOrEmpty(input.code_batch), (a, b, c) => b.code_batch == input.code_batch);
Expression<Func<WmsCarryH, WmsCarryCode, BasLocation, bool>> carryStatusFilterExp = !input.material_id.IsNullOrWhiteSpace()
? (a, b, c) => a.status == (int)EnumCarryStatus.
: (a, b, c) => a.status == (int)EnumCarryStatus.;
whereExprable.And(carryStatusFilterExp);
var whereExpr = whereExprable.ToExpression();
var policy = await _db.Queryable<WmsInstockPolicies>().Where(it => it.status == 1).FirstAsync();
if (policy == null) throw new AppFriendlyException("没有可用策略", 500);
var items = await _db.Queryable<WmsCarryH>().InnerJoin<WmsCarryCode>((a, b) => a.id == b.carry_id)