调整物料和仓位编码
This commit is contained in:
@@ -172,7 +172,7 @@ namespace WMS.Web.Domain.Services
|
||||
entity.SrcSubStockCode = subStock_s?.Code ?? "";
|
||||
if (subStock != null)
|
||||
{
|
||||
entity.DestSubStockId = dt.SubStockId;
|
||||
//entity.DestSubStockId = dt.SubStockId;
|
||||
entity.DestBoxOrgCode = subStock.ErpOrgCode;
|
||||
entity.DestStockCode = subStock.StockCode;
|
||||
entity.DestSubStockCode = subStock.Code;
|
||||
@@ -278,9 +278,9 @@ namespace WMS.Web.Domain.Services
|
||||
List<MoveBoxRecord> entityList = new List<MoveBoxRecord>();
|
||||
foreach (var d in dto)
|
||||
{
|
||||
var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId);
|
||||
var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockCode, loginInfo.UserInfo.CompanyId);
|
||||
var entity = new MoveBoxRecord();
|
||||
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.Qty, subStock?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId, subStock?.Code);
|
||||
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.Qty, subStock?.ErpOrgCode, d.SubStockCode, loginInfo.UserInfo.StaffId, subStock?.Code);
|
||||
entity.Details = d.Details.Select(s => new MoveBoxRecordDetails()
|
||||
{
|
||||
MaterialNumber = s.MaterialNumber,
|
||||
|
||||
@@ -134,7 +134,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var b in boxInventoryDetails)
|
||||
{
|
||||
var num = boxInventoryDetails.Where(w => w.MaterialId == b.MaterialId).Sum(s => s.Qty);
|
||||
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == b.MaterialId);
|
||||
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == b.MaterialNumber);
|
||||
if (taskDetail == null) return Result.ReFailure(ResultCodes.BoxOutStockTaskMaterialError);
|
||||
//箱子里该物料的总数量大于出库单(应出库数量-已出库数量) 不能出库
|
||||
if (num > (taskDetail.AccruedQty - taskDetail.RealityQty))
|
||||
@@ -144,7 +144,7 @@ namespace WMS.Web.Domain.Services
|
||||
if (box == null) return Result.ReFailure(ResultCodes.BoxNoData);
|
||||
var dtod = _mapper.Map<SaveOutStockDetailsRequest>(b);
|
||||
dtod.BoxId = box.BoxId;
|
||||
dtod.SubStockId = box.SubStockId;
|
||||
dtod.SubStockCode = box.SubStockCode;
|
||||
dto.Details.Add(dtod);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var erp in erps)
|
||||
{
|
||||
//仓库不同 拆分成不同的
|
||||
var detail = outStockTask.Details.FirstOrDefault(w => w.MaterialId == erp.MaterialId);
|
||||
var detail = outStockTask.Details.FirstOrDefault(w => w.MaterialNumber == erp.MaterialNumber);
|
||||
if (detail == null)
|
||||
{
|
||||
//添加一条物料明细
|
||||
@@ -167,11 +167,11 @@ namespace WMS.Web.Domain.Services
|
||||
entity.Create((OutStockType)e.Type, e.StockCode, e.OrgCode, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var mIds = eList.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList();
|
||||
var mIds = eList.GroupBy(g => g.MaterialNumber).Select(s => s.Key).ToList();
|
||||
//给到dto的实体明细中
|
||||
foreach (var mid in mIds)
|
||||
{
|
||||
var emList = eList.Where(w => w.MaterialId == mid).ToList();
|
||||
var emList = eList.Where(w => w.MaterialNumber == mid).ToList();
|
||||
var detail = _mapper.Map<OutStockTaskDetails>(emList.First());
|
||||
var erpDetail = _mapper.Map<List<OutStockTaskErpDetails>>(emList);
|
||||
detail.ErpDetails.AddRange(erpDetail);
|
||||
@@ -205,7 +205,7 @@ namespace WMS.Web.Domain.Services
|
||||
var erp_o = erp_list.Where(w => w.SourceBillNo == ed.SourceBillNo).ToList();
|
||||
if (erp_o.Count() == 0) continue;
|
||||
|
||||
var erp_d = erp_list.Where(w => w.MaterialId == d.MaterialId && ed.Erp_DetailId == w.Erp_DetailId).ToList();
|
||||
var erp_d = erp_list.Where(w => w.MaterialNumber == d.MaterialNumber && ed.Erp_DetailId == w.Erp_DetailId).ToList();
|
||||
if (erp_d.Count() == 0)
|
||||
{
|
||||
//金蝶删除明细数据后 wms对应数据修改为0
|
||||
|
||||
@@ -161,7 +161,20 @@ namespace WMS.Web.Domain.Services.Public
|
||||
}
|
||||
return mat.BaseUnitName;
|
||||
}
|
||||
|
||||
public string GetMaterialUnitName(List<ErpMaterialDto> erpMaterials, string materialNumber)
|
||||
{
|
||||
if (erpMaterials == null || erpMaterials.Count == 0)
|
||||
return "";
|
||||
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
|
||||
if (mat == null)
|
||||
{
|
||||
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
|
||||
if (!result.IsSuccess)
|
||||
return "";
|
||||
return result.Data == null ? "" : result.Data.BaseUnitName;
|
||||
}
|
||||
return mat.BaseUnitName;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取物料的条码
|
||||
/// </summary>
|
||||
@@ -244,7 +257,26 @@ namespace WMS.Web.Domain.Services.Public
|
||||
}
|
||||
return mat.BaseUnitNumber;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料基本单位编码
|
||||
/// </summary>
|
||||
/// <param name="erpMaterials"></param>
|
||||
/// <param name="materialNumber"></param>
|
||||
/// <returns></returns>
|
||||
public string GetMaterialUnitNumber(List<ErpMaterialDto> erpMaterials, string materialNumber)
|
||||
{
|
||||
if (erpMaterials == null || erpMaterials.Count == 0)
|
||||
return "";
|
||||
var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault();
|
||||
if (mat == null)
|
||||
{
|
||||
var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult();
|
||||
if (!result.IsSuccess)
|
||||
return "";
|
||||
return result.Data == null ? "" : result.Data.BaseUnitNumber;
|
||||
}
|
||||
return mat.BaseUnitNumber;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取组织名称
|
||||
/// </summary>
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace WMS.Web.Domain.Services
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialId = entity.MaterialId,
|
||||
MaterialNumber = entity.MaterialNumber,
|
||||
SerialNumber = entity.SerialNumber,
|
||||
OrgId = box.OrgId,
|
||||
SupplierId = box.SupplierId,
|
||||
@@ -134,7 +134,7 @@ namespace WMS.Web.Domain.Services
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialId = entity.MaterialId,
|
||||
MaterialNumber = entity.MaterialNumber,
|
||||
SerialNumber = entity.SerialNumber,
|
||||
OrgId = box.OrgId,
|
||||
SupplierId = box.SupplierId,
|
||||
@@ -192,15 +192,15 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var entity in entityList)
|
||||
{
|
||||
var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId);
|
||||
var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
|
||||
var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
|
||||
if (outstockDetail == null) continue;
|
||||
//修改序列号和箱绑定关系
|
||||
entity.OutStock(outStock, entity.MaterialId);
|
||||
entity.OutStock(outStock, entity.MaterialNumber);
|
||||
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialId = entity.MaterialId,
|
||||
MaterialNumber = entity.MaterialNumber,
|
||||
SerialNumber = entity.SerialNumber,
|
||||
OrgId = box.OrgId,
|
||||
SupplierId = box.SupplierId,
|
||||
@@ -211,7 +211,7 @@ namespace WMS.Web.Domain.Services
|
||||
};
|
||||
if (outStock.Type == OutStockType.Sal)
|
||||
{
|
||||
var detail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
|
||||
var detail = outStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
|
||||
var res_c = await _erpService.BillQueryForCustomer();
|
||||
var customer = res_c.Data.FirstOrDefault(f => f.Id == outStock.ReceiptCustomerId);
|
||||
op.Remark += "\r\n" + "销售订单号:" + string.Join(",", detail.ErpDetails.Select(s => s.SaleBillNo));
|
||||
@@ -321,7 +321,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
var boxId = inStock.Details.FirstOrDefault(s => s.SerialNumbers.Contains(entity.SerialNumber))?.BoxId ?? 0;
|
||||
var box = boxList.FirstOrDefault(f => f.Id == boxId);
|
||||
var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
|
||||
var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
|
||||
var subStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, inStock.SubStockId);
|
||||
//修改序列号和箱绑定关系
|
||||
entity.InStock(instockDetail.SourceBillNo, inStock.Type);
|
||||
@@ -330,7 +330,7 @@ namespace WMS.Web.Domain.Services
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialId = entity.MaterialId,
|
||||
MaterialNumber = entity.MaterialNumber,
|
||||
SerialNumber = entity.SerialNumber,
|
||||
OrgId = box?.OrgId ?? 0,
|
||||
SupplierId = box?.SupplierId ?? 0,
|
||||
@@ -397,7 +397,7 @@ namespace WMS.Web.Domain.Services
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialId = entity.MaterialId,
|
||||
MaterialNumber = entity.MaterialNumber,
|
||||
SerialNumber = entity.SerialNumber,
|
||||
OrgId = box.OrgId,
|
||||
SupplierId = box.SupplierId,
|
||||
@@ -457,17 +457,17 @@ namespace WMS.Web.Domain.Services
|
||||
if (takeStockDetail == null) continue;
|
||||
var box = boxList.FirstOrDefault(f => f.Id == takeStockDetail.BoxId);
|
||||
var s_entity = entityList.FirstOrDefault(f => f.SerialNumber.Equals(s));
|
||||
if (box != null && box.Details.FirstOrDefault(f => f.MaterialId == takeStockDetail.MaterialId) == null)
|
||||
if (box != null && box.Details.FirstOrDefault(f => f.MaterialNumber == takeStockDetail.MaterialNumber) == null)
|
||||
{
|
||||
//如果这个物料不存在箱箱信息 添加进去
|
||||
box.TakeStock(takeStockDetail.MaterialId, takeStockDetail.AfterQty);
|
||||
box.TakeStock(takeStockDetail.MaterialNumber, takeStockDetail.AfterQty);
|
||||
box_New_List.Add(box);
|
||||
}
|
||||
|
||||
if (s_entity == null)
|
||||
{
|
||||
//序列号
|
||||
SerialNumbers s_new = new SerialNumbers(s, takeStockDetail.MaterialId, takeStockDetail.Id, 0, "", DateTime.Now, DateTime.Now);
|
||||
SerialNumbers s_new = new SerialNumbers(s, takeStockDetail.MaterialNumber, takeStockDetail.Id, 0, "", DateTime.Now, DateTime.Now);
|
||||
sList.Add(s_new);
|
||||
}
|
||||
else
|
||||
@@ -479,7 +479,7 @@ namespace WMS.Web.Domain.Services
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialId = takeStockDetail.MaterialId,
|
||||
MaterialNumber = takeStockDetail.MaterialNumber,
|
||||
SerialNumber = s,
|
||||
OrgId = box.OrgId,
|
||||
SupplierId = box.SupplierId,
|
||||
|
||||
@@ -243,7 +243,7 @@ namespace WMS.Web.Domain.Services
|
||||
var erpInventory = res_s.Data.FirstOrDefault(f => f.MaterialNumber == number && f.StockCode == d.StockCode
|
||||
&& f.OrgCode == d.OrgCode && f.Erp_SubStockId == subStockId);
|
||||
decimal qty = erpInventory?.Qty ?? 0;
|
||||
var unitNumber = _erpBasicDataExtendService.GetMaterialUnitNumber(materials, d.MaterialId);
|
||||
var unitNumber = _erpBasicDataExtendService.GetMaterialUnitNumber(materials, d.MaterialNumber);
|
||||
detils.Add(new ErpTakeStockDetailsSaveDto()
|
||||
{
|
||||
FOwnerid = new ErpNumberDto(d.OrgCode),
|
||||
|
||||
Reference in New Issue
Block a user