优化合并

This commit is contained in:
tongfei
2024-03-18 11:05:03 +08:00
25 changed files with 176 additions and 124 deletions

View File

@@ -168,11 +168,11 @@ namespace WMS.Web.Domain.Services
{
ChangeBoxRecord entity = new ChangeBoxRecord();
entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialNumber, d.SerialNumbers, dt.SrcBoxId, dt.DestBoxId);
entity.SrcSubStockId = boxi?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取
entity.SrcSubStockCode = subStock_s?.Code ?? "";
//entity.SrcSubStockId = boxi?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取
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,

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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>
@@ -265,7 +278,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>

View File

@@ -1698,7 +1698,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.SAL_DELIVERYNOTICE.ToString());
param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID,FStockID.FNumber,FStockLocID,FQty,F_ENTRYREMARKS,FCreateDate,FEntity_FEntryID,FDeliveryOrgID.FNumber";//FEntryID
param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID.FNumber,FStockID.FNumber,FStockLocID,FQty,F_ENTRYREMARKS,FCreateDate,FEntity_FEntryID,FDeliveryOrgID.FNumber";//FEntryID
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1731,7 +1731,7 @@ namespace WMS.Web.Domain.Services.Public
param.FilterString += " and FBillNo in (" + srt_b + ")";
}
else//没有指定单号搜索 则带时间范围 FApproveDate
param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'";
param.FilterString += " and FApproveDate>='" + beginStr + "' and FApproveDate<='" + endStr + "'";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -1749,7 +1749,7 @@ namespace WMS.Web.Domain.Services.Public
lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialId = Convert.ToInt32(item[4]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);
@@ -1794,7 +1794,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_TransferDirect.ToString());
param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate,FBillEntry_FEntryID,FStockOutOrgId.FNumber";
param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID.FNumber,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate,FBillEntry_FEntryID,FStockOutOrgId.FNumber";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1826,7 +1826,7 @@ namespace WMS.Web.Domain.Services.Public
param.FilterString += " and FBillNo in (" + srt_b + ")";
}
else//没有指定单号搜索 则带时间范围 FApproveDate
param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'";
param.FilterString += " and FApproveDate>='" + beginStr + "' and FApproveDate<='" + endStr + "'";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -1843,7 +1843,7 @@ namespace WMS.Web.Domain.Services.Public
lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialId = Convert.ToInt32(item[4]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);
@@ -1888,7 +1888,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_TRANSFEROUT.ToString());
param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate,FSTKTRSOUTENTRY_FEntryID,FStockOrgID.FNumber";
param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID.FNumber,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate,FSTKTRSOUTENTRY_FEntryID,FStockOrgID.FNumber";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -1920,7 +1920,7 @@ namespace WMS.Web.Domain.Services.Public
param.FilterString += " and FBillNo in (" + srt_b + ")";
}
else//没有指定单号搜索 则带时间范围 FApproveDate
param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'";
param.FilterString += " and FApproveDate>='" + beginStr + "' and FApproveDate<='" + endStr + "'";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -1937,7 +1937,7 @@ namespace WMS.Web.Domain.Services.Public
lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialId = Convert.ToInt32(item[4]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);
@@ -1982,7 +1982,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
param.FieldKeys = "FBillNo,'',FOwnerIdHead,FSubProOwnerIdH,FMaterialID,FStockID.FNumber,FStockLocId,FQty,FDescription,FCreateDate,FEntity_FEntryID,FStockOrgId.FNumber";
param.FieldKeys = "FBillNo,'',FOwnerIdHead,FSubProOwnerIdH,FMaterialID.FNumber,FStockID.FNumber,FStockLocId,FQty,FDescription,FCreateDate,FEntity_FEntryID,FStockOrgId.FNumber";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -2014,7 +2014,7 @@ namespace WMS.Web.Domain.Services.Public
param.FilterString += " and FBillNo in (" + srt_b + ")";
}
else//没有指定单号搜索 则带时间范围 FAPPROVEDATE
param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'";
param.FilterString += " and FAPPROVEDATE>='" + beginStr + "' and FAPPROVEDATE<='" + endStr + "'";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -2031,7 +2031,7 @@ namespace WMS.Web.Domain.Services.Public
lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialId = Convert.ToInt32(item[4]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);
@@ -2076,7 +2076,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_MisDelivery.ToString());
param.FieldKeys = "FBillNo,'',FStockOrgId,FPickOrgId,FMaterialId,FStockId.FNumber,FStockLocId ,FQty,FEntryNote,FCreateDate,FEntity_FEntryID,FStockOrgId.FNumber";
param.FieldKeys = "FBillNo,'',FStockOrgId,FPickOrgId,FMaterialId.FNumber,FStockId.FNumber,FStockLocId ,FQty,FEntryNote,FCreateDate,FEntity_FEntryID,FStockOrgId.FNumber";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -2108,7 +2108,7 @@ namespace WMS.Web.Domain.Services.Public
param.FilterString += " and FBillNo in (" + srt_b + ")";
}
else//没有指定单号搜索 则带时间范围 FApproveDate
param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'";
param.FilterString += " and FApproveDate>='" + beginStr + "' and FApproveDate<='" + endStr + "'";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -2125,7 +2125,7 @@ namespace WMS.Web.Domain.Services.Public
lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialId = Convert.ToInt32(item[4]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);
@@ -2170,7 +2170,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
param.FieldKeys = "FBillNo,'',FSubProOwnerIdH,FOwnerIdHead,FMaterialIDSETY,FStockIDSETY.FNumber,FStockLocIdSETY,FQtySETY,FDescriptionSETY,FCreateDate,FSubEntity_FDetailID,FStockOrgId.FNumber";
param.FieldKeys = "FBillNo,'',FSubProOwnerIdH,FOwnerIdHead,FMaterialIDSETY.FNumber,FStockIDSETY.FNumber,FStockLocIdSETY,FQtySETY,FDescriptionSETY,FCreateDate,FSubEntity_FDetailID,FStockOrgId.FNumber";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -2204,7 +2204,7 @@ namespace WMS.Web.Domain.Services.Public
param.FilterString += " and FBillNo in (" + srt_b + ")";
}
else//没有指定单号搜索 则带时间范围 FAPPROVEDATE
param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'";
param.FilterString += " and FAPPROVEDATE>='" + beginStr + "' and FAPPROVEDATE<='" + endStr + "'";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -2221,7 +2221,7 @@ namespace WMS.Web.Domain.Services.Public
lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialId = Convert.ToInt32(item[4]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);
@@ -2270,7 +2270,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.SAL_OUTSTOCK.ToString());
param.FieldKeys = "FBillNo,FSoorDerno,FStockOrgId,FCustomerID,FMaterialID,FStockID.FNumber,FStockLocID,FSALUNITQTY,F_ENTRYREMARKS,FCreateDate,FEntity_FENTRYID,FStockOrgId.FNumber";//FEntryID
param.FieldKeys = "FBillNo,FSoorDerno,FStockOrgId,FCustomerID,FMaterialID.FNumber,FStockID.FNumber,FStockLocID,FSALUNITQTY,F_ENTRYREMARKS,FCreateDate,FEntity_FENTRYID,FStockOrgId.FNumber";//FEntryID
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -2302,7 +2302,7 @@ namespace WMS.Web.Domain.Services.Public
param.FilterString += " and FBillNo in (" + srt_b + ")";
}
else//没有指定单号搜索 则带时间范围 FApproveDate
param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'";
param.FilterString += " and FApproveDate>='" + beginStr + "' and FApproveDate<='" + endStr + "'";
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -2320,7 +2320,7 @@ namespace WMS.Web.Domain.Services.Public
lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialId = Convert.ToInt32(item[4]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);

View File

@@ -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,

View File

@@ -89,11 +89,11 @@ namespace WMS.Web.Domain.Services
TakeStock takeStock = new TakeStock();
takeStock.Create(loginInfo.UserInfo.StaffId, TakeStockType.Profit);
takeStock.Details = _mapper.Map<List<TakeStockDetails>>(profitList);
var subIds = takeStock.Details.Select(s => s.SubStockId).ToList();
var subIds = takeStock.Details.Select(s => s.SubStockCode).ToList();
var subStocks = await _transactionRepositories.GetSubUcStockAsync(subIds, loginInfo.UserInfo.CompanyId);
foreach (var d in takeStock.Details)
{
var subStock = subStocks.FirstOrDefault(f => f.Id == d.SubStockId);
var subStock = subStocks.FirstOrDefault(f => f.Code == d.SubStockCode);
d.OrgCode = subStock?.ErpOrgCode;
d.StockCode = subStock?.StockCode;
d.SubStockCode = subStock?.Code;
@@ -110,11 +110,11 @@ namespace WMS.Web.Domain.Services
TakeStock takeStock = new TakeStock();
takeStock.Create(loginInfo.UserInfo.StaffId, TakeStockType.Loss);
takeStock.Details = _mapper.Map<List<TakeStockDetails>>(lossList);
var subIds = takeStock.Details.Select(s => s.SubStockId).ToList();
var subIds = takeStock.Details.Select(s => s.SubStockCode).ToList();
var subStocks = await _transactionRepositories.GetSubUcStockAsync(subIds, loginInfo.UserInfo.CompanyId);
foreach (var d in takeStock.Details)
{
var subStock = subStocks.FirstOrDefault(f => f.Id == d.SubStockId);
var subStock = subStocks.FirstOrDefault(f => f.Code == d.SubStockCode);
d.OrgCode = subStock?.ErpOrgCode;
d.StockCode = subStock?.StockCode;
d.SubStockCode = subStock?.Code;
@@ -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),