提交代码

This commit is contained in:
hehaibing-1996
2024-04-25 09:48:38 +08:00
parent aaf7c17562
commit a1199028b3
22 changed files with 861 additions and 196 deletions

View File

@ -45,17 +45,25 @@ namespace WCS.BLL.Services.Service
//已找到模组对应货架
shelf.GoInInstore(request.IpAdress);
//成功进入入库模式
return new ShelfGoInInstoreResponse()
{
Code = 200,
Message = "货架进入入库模式成功!",
Data = new ShelfGoInInstoreDto()
if (shelf.CurentMode == Mode.)
//成功进入入库模式
return new ShelfGoInInstoreResponse()
{
ShelfCode = shelf.ShelfCode,
ModulesStr = shelf.ModulesStr,
}
};
Code = 200,
Message = "货架进入入库模式成功!",
Data = new ShelfGoInInstoreDto()
{
ShelfCode = shelf.ShelfCode,
ModulesStr = shelf.ModulesStr,
}
};
else
return new ShelfGoInInstoreResponse()
{
Code = 201,
Message = $"货架进入入库模式失败:{string.Join(",", shelf.ExceptionMessages)}",
Data = null
};
}
public ResponseBase shelfGoOutInStore(ShelfGoOutInStoreRequest request)
@ -170,6 +178,7 @@ namespace WCS.BLL.Services.Service
Message = $"货架[{request.ShelfCode}]不存在!",
};
}
//判断当前是否是入库模式
if (shelf.CurentMode != Mode.)
{
@ -191,20 +200,33 @@ namespace WCS.BLL.Services.Service
if (shelf.InStoreData == null || (shelf.InStoreData as object) == null)
{
await Task.Delay(50);
//var inventoryDetail = DbHelp.db.Queryable<InventoryDetail>().Where(t => t.MatSN == dto.matSn).First();
//if (inventoryDetail != null)
//{
// return Json(HttpResponseCommon.GetSuccessResponse($"{inventoryDetail.StoreCode}", null));
//}
var inventoryDetail = DbHelp.db.Queryable<InventoryDetail>()
.Where(t => t.MatSN == request.MatSn)
.First();
if (inventoryDetail != null)
{
return new ResponseCommon()
{
Code = 200,
Message = $"入库成功!物料已放入库位{inventoryDetail.StoreCode}",
Data = new
{
StoreCode = inventoryDetail.StoreCode,
}
};
}
else
break;
}
//延时处理
Thread.Sleep(50);
}
//超时未成功入库
shelf.InStoreData = null;
return new ResponseCommon()
{
Code = 200,
Message = $"success",
Code = 201,
Message = $"超时未入库!请重新扫码后入库!",
};
}
}

View File

@ -44,6 +44,7 @@ namespace WCS.BLL.Services.Service
OrderNumber = request.OrderNumber,
OrderSource = request.OrderSource,
OrderType = request.OrderType,
SyncType = SyncTypeEnum.ByMatCode,
CreateUser = request.UserName,
};
order.Id = await DbHelp.db.Insertable(order).ExecuteReturnIdentityAsync();
@ -136,7 +137,7 @@ namespace WCS.BLL.Services.Service
//锁库存
inventoryDetails.ForEach(t =>
{
t.IsLocked = false;
t.IsLocked = true;
});
var lockTask = DbHelp.db.Updateable(inventoryDetails).ExecuteCommandAsync();
@ -146,6 +147,7 @@ namespace WCS.BLL.Services.Service
OrderNumber = request.OrderNumber,
OrderSource = request.OrderSource,
OrderType = request.OrderType,
SyncType = SyncTypeEnum.ByMatSn,
CreateUser = request.UserName,
};
order.Id = await DbHelp.db.Insertable(order).ExecuteReturnIdentityAsync();
@ -291,12 +293,36 @@ namespace WCS.BLL.Services.Service
public async Task<ResponseBase> GoInOutstore(GetOutOrderDetailRequest request)
{
//获取出库单
var order = await DbHelp.db.Queryable<OutOrder>()
.WhereIF(request.OrderId != 0, t => t.Id == request.OrderId)
.WhereIF(!string.IsNullOrEmpty(request.OrderNumber), t => t.OrderNumber == request.OrderNumber)
.FirstAsync();
if (order == null)
{
return new ResponseCommon()
{
Code = 201,
Message = "不存在对应的出库单据!",
Data = null
};
}
//获取出库单据明细
//TO DO 如果是按物料编码出库 需要计算物料明细保存并进行锁定
if (order.SyncType == SyncTypeEnum.ByMatCode)
{
//先找到所有物料
}
//分组 按物料找到对应货架编码
//分组 按物料找到对应货架
{
}
//对应的货架进入出库模式 亮灯
{
}
//返回
return new ResponseCommon()