1.增加手动自检功能,主页增加状态显示
This commit is contained in:
@ -562,6 +562,74 @@ namespace WCS.BLL.Services.Service
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 单灯查询物料明细 PDA要求返回数据种data需要增加一层details
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResponseBase> GetOutOrderDetailSingleLight(GetOutOrderDetailRequest request)
|
||||
{
|
||||
OutOrder outOrder = null;
|
||||
|
||||
#region 查询出库单
|
||||
if (request.OrderId != 0)
|
||||
{
|
||||
outOrder = await DbHelp.db.Queryable<OutOrder>().Where(t => t.Id == request.OrderId).FirstAsync();
|
||||
if (outOrder == null)
|
||||
{
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"查询失败:不存在Id为{request.OrderId}的出库单!",
|
||||
};
|
||||
}
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(request.OrderNumber))
|
||||
{
|
||||
outOrder = await DbHelp.db.Queryable<OutOrder>().Where(t => t.OrderNumber == request.OrderNumber)
|
||||
.FirstAsync();
|
||||
if (outOrder == null)
|
||||
{
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"查询失败:不存在出库单据号为{request.OrderNumber}的出库单!",
|
||||
};
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"查询失败:缺少必要参数!",
|
||||
};
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 查询出库单明细
|
||||
var orderDetailTask = DbHelp.db.Queryable<OutOrderDetail>()
|
||||
.Where(t => t.OrderId == outOrder.Id)
|
||||
.ToListAsync();
|
||||
var orderDetail = await orderDetailTask;
|
||||
//生成序号
|
||||
for (int i = 0; i < orderDetail.Count; i++)
|
||||
{
|
||||
orderDetail[i].RowNumber = i + 1;
|
||||
}
|
||||
#endregion
|
||||
|
||||
return new ResponseCommonModify<OutOrderDetail>()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "Success",
|
||||
Data = new ResponseCommonDataDetail<OutOrderDetail>
|
||||
{
|
||||
Details = orderDetail
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public async Task<ResponseBase> GetOutOrderMatDetail(GetOutOrderDetailRequest request)
|
||||
{
|
||||
OutOrder outOrder = null;
|
||||
@ -925,7 +993,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new OutResponseCommonSingle()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "Success",
|
||||
Message = LightColor,
|
||||
Data = orcs.Data
|
||||
};
|
||||
}
|
||||
@ -1296,48 +1364,92 @@ namespace WCS.BLL.Services.Service
|
||||
|
||||
public async Task<ResponseBase> SingleLightConfirmOutstore(OutOrderMatDetailModelSingle request)
|
||||
{
|
||||
InOutRecord ior = new InOutRecord();
|
||||
List<InventoryDetail> id = DbHelp.db.Queryable<InventoryDetail>().Where(it => it.MatSN == request.MatSn).ToList();
|
||||
if (id.Count == 0)
|
||||
try
|
||||
{
|
||||
//单据校验
|
||||
var order = await DbHelp.db.Queryable<OutOrder>()
|
||||
.Where(it => it.Id == request.OrderId)
|
||||
.Where(it => it.OrderNumber == request.OrderNumber)
|
||||
.FirstAsync();
|
||||
if (order == null)
|
||||
{
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"系统不存在单据[{request.OrderNumber}]!",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
//物料校验
|
||||
var invetoryDetail = await DbHelp.db.Queryable<InventoryDetail>()
|
||||
.Where(it => it.Id == request.MatId)
|
||||
.Where(it => it.MatSN == request.MatSn)
|
||||
.FirstAsync();
|
||||
|
||||
if (invetoryDetail == null)
|
||||
{
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"库存中不存在物料[{request.MatSn}]!",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
|
||||
//物料需求明细校验
|
||||
var outOrderDetail = await DbHelp.db.Queryable<OutOrderDetail>().Where(it => it.OrderNumber == request.OrderNumber)
|
||||
.Where(it => it.MatCode == invetoryDetail.MatCode)
|
||||
.FirstAsync();
|
||||
if (outOrderDetail == null)
|
||||
{
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"单据[{request.OrderNumber}]需求不包含物料[{invetoryDetail.MatCode}]!",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
|
||||
var inOutRecord = new InOutRecord();
|
||||
inOutRecord.StoreId = invetoryDetail.StoreId;
|
||||
inOutRecord.StoreCode = invetoryDetail.StoreCode;
|
||||
inOutRecord.MatSN = invetoryDetail.MatSN;
|
||||
inOutRecord.MatCode = invetoryDetail.MatCode;
|
||||
inOutRecord.MatName = invetoryDetail.MatName;
|
||||
inOutRecord.MatSpec = invetoryDetail.MatSpec;
|
||||
inOutRecord.MatBatch = invetoryDetail.MatBatch;
|
||||
inOutRecord.MatQty = invetoryDetail.MatQty;
|
||||
inOutRecord.MatSupplier = invetoryDetail.MatSupplier;
|
||||
inOutRecord.MatCustomer = invetoryDetail.MatCustomer;
|
||||
inOutRecord.OrderNumber = order.OrderNumber;
|
||||
inOutRecord.Direction = DirectionEnum.出库;
|
||||
inOutRecord.OperateUser = request.UserName;
|
||||
inOutRecord.OperateTime = DateTime.Now;
|
||||
//保存出库记录
|
||||
int count = DbHelp.db.Insertable(inOutRecord).ExecuteCommand();
|
||||
//删除库存
|
||||
DbHelp.db.Deleteable<InventoryDetail>().Where(it => it.MatSN == request.MatSn).ExecuteCommand();
|
||||
//更新需求表
|
||||
outOrderDetail.OutQty += invetoryDetail.MatQty;
|
||||
DbHelp.db.Updateable(outOrderDetail).ExecuteCommand();
|
||||
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"此SN不在库存中{request.MatSn}!",
|
||||
Code = 200,
|
||||
Message = $"出库成功",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
ior.StoreId = id[0].StoreId;
|
||||
ior.StoreCode = id[0].StoreCode;
|
||||
ior.MatSN = request.MatSn;
|
||||
ior.MatCode = request.MatCode;
|
||||
ior.MatName = request.MatName;
|
||||
ior.MatSpec = request.MatSpec;
|
||||
ior.MatBatch = request.MatBatch;
|
||||
ior.MatQty = request.Qty;
|
||||
ior.MatSupplier = request.MatSupplier;
|
||||
ior.MatCustomer = request.MatCustomer;
|
||||
ior.OrderNumber = request.orderNumber;
|
||||
ior.Direction = DirectionEnum.出库;
|
||||
ior.OperateUser = request.userName;
|
||||
ior.OperateTime = DateTime.Now;
|
||||
//保存出库记录
|
||||
int count = DbHelp.db.Insertable(ior).ExecuteCommand();
|
||||
//删除库存
|
||||
DbHelp.db.Deleteable<InventoryDetail>().Where(it => it.MatSN == request.MatSn).ExecuteCommand();
|
||||
//更新需求表
|
||||
List<OutOrderDetail> odd = DbHelp.db.Queryable<OutOrderDetail>().Where(it => it.OrderNumber == request.orderNumber).Where(it => it.MatCode == request.MatCode).ToList();
|
||||
odd[0].OutQty += request.Qty;
|
||||
DbHelp.db.Updateable(odd[0]).ExecuteCommand();
|
||||
|
||||
return new ResponseCommon()
|
||||
catch (Exception ex)
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"出库成功",
|
||||
Data = null
|
||||
};
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 300,
|
||||
Message = $"出库发生异常!",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user