统一单据类型

This commit is contained in:
tongfei
2023-11-24 14:05:19 +08:00
parent 7939a82557
commit 9ab4575f19
10 changed files with 115 additions and 34 deletions

View File

@@ -221,6 +221,8 @@ namespace WMS.Web.Domain.Services
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
var generateDtoList = new List<BoxInventoryBackGenerateDto>();
//物料收发明细dtos
var InventoryInOutDetailsGenerateDtoList = new List<InventoryInOutDetailsGenerateDto>();
#region
//入库的明细
@@ -294,7 +296,33 @@ namespace WMS.Web.Domain.Services
generateDtoList.AddRange(generateDtoList_in);
generateDtoList.AddRange(generateDtoList_out);
//4.提交处理
return await this.ExeBackBox(generateDtoList, isTransaction);
var result= await this.ExeBackBox(generateDtoList, isTransaction);
if (!result.IsSuccess)
return result;
//5.组装物料收发明细dto
foreach (var item in dtoDatas.SelectMany(x=>x.Details).ToList())
{
var entity = dtoDatas.Where(x => x.Id == item.Fid).FirstOrDefault();
if (entity != null)
{
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
item.BoxId, item.MaterialId,
item.OrgCode, item.StockCode,
item.SubStockId, OrderType.Back,
entity.BillNo, item.Qty, (entity.Type== BackRecordType.InstockOff?InventoryInOutType.Out:InventoryInOutType.In));
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
}
}
//5.提交物料收发明细:新增
if (InventoryInOutDetailsGenerateDtoList.Count != 0)
{
var inout_result = await _inventoryInOutDetailsService.GenerateInOrOutDetails(InventoryInOutDetailsGenerateDtoList, isTransaction);
if (!inout_result.IsSuccess)
return inout_result;
}
return Result.ReSuccess();
}
/// <summary>
@@ -309,6 +337,9 @@ namespace WMS.Web.Domain.Services
if (dtoDatas == null || dtoDatas.Count == 0)
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
//物料收发明细dtos
var InventoryInOutDetailsGenerateDtoList = new List<InventoryInOutDetailsGenerateDto>();
//2.组装:入库数据
var generateDtoList_in = dtoDatas.Where(x => x.ResultType == TakeStockType.Profit).GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryTakeGenerateDto()
{
@@ -370,7 +401,28 @@ namespace WMS.Web.Domain.Services
generateDtoList.AddRange(generateDtoList_in);
generateDtoList.AddRange(generateDtoList_out);
//提交处理
return await this.ExeTakeBox(generateDtoList, isTransaction);
var result= await this.ExeTakeBox(generateDtoList, isTransaction);
if (!result.IsSuccess)
return result;
//5.组装物料收发明细
foreach (var item in dtoDatas)
{
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
item.BoxId, item.MaterialId,
item.OrgCode, item.StockCode,
item.SubStockId, OrderType.Take,
item.BillNo, item.FinalQty, (item.ResultType == TakeStockType.Loss ? InventoryInOutType.Out : InventoryInOutType.In));
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
}
//5.提交物料收发明细:新增
if (InventoryInOutDetailsGenerateDtoList.Count != 0)
{
var inout_result = await _inventoryInOutDetailsService.GenerateInOrOutDetails(InventoryInOutDetailsGenerateDtoList, isTransaction);
if (!inout_result.IsSuccess)
return inout_result;
}
return Result.ReSuccess();
}
/// <summary>
@@ -385,6 +437,9 @@ namespace WMS.Web.Domain.Services
if (dtoDatas == null || dtoDatas.Count == 0)
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
//物料收发明细dtos
var InventoryInOutDetailsGenerateDtoList = new List<InventoryInOutDetailsGenerateDto>();
#region
//2.组装-按箱入库
var dtoDatas_details_Method_box = dtoDatas.Where(x => x.Method == InventoryInOutMethod.Box).SelectMany(x => x.Details).ToList();
@@ -456,7 +511,33 @@ namespace WMS.Web.Domain.Services
generateDtoList.AddRange(generateDtoList_Metod_Box);
generateDtoList.AddRange(generateDtoList_Metod_Product);
//提交处理
return await this.ExeInStockBox(generateDtoList, isTransaction);
var result= await this.ExeInStockBox(generateDtoList, isTransaction);
if (!result.IsSuccess)
return result;
//5.组装物料收发明细dto
foreach (var item in dtoDatas.SelectMany(x => x.Details).ToList())
{
var entity = dtoDatas.Where(x => x.Id == item.Fid).FirstOrDefault();
if (entity != null)
{
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
item.BoxId, item.MaterialId,
item.OrgCode, item.StockCode,
item.SubStockId, entity.Type,
item.SourceBillNo, item.Qty, InventoryInOutType.In);
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
}
}
//5.提交物料收发明细:新增
if (InventoryInOutDetailsGenerateDtoList.Count != 0)
{
var inout_result = await _inventoryInOutDetailsService.GenerateInOrOutDetails(InventoryInOutDetailsGenerateDtoList, isTransaction);
if (!inout_result.IsSuccess)
return inout_result;
}
return Result.ReSuccess();
}
/// <summary>

View File

@@ -99,7 +99,7 @@ namespace WMS.Web.Domain.Services
bool isRollback = false;
bool isTransaction = false;
//1.添加入库单同步金蝶在save方法里面进行
var save_result = await this.ShelfSave(instock, InstockType.Purchase, loginInfo, isTransaction);
var save_result = await this.ShelfSave(instock, OrderType.Purchase_In, loginInfo, isTransaction);
if (!save_result.IsSuccess) isRollback = true;
{
//2.修改入库任务单
@@ -192,7 +192,7 @@ namespace WMS.Web.Domain.Services
/// <param name="staffId"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
private async Task<Result> ShelfSave(PurchaseShelfRequest dto, InstockType type, LoginInDto loginInfo, bool isTransaction = true)
private async Task<Result> ShelfSave(PurchaseShelfRequest dto, OrderType type, LoginInDto loginInfo, bool isTransaction = true)
{
var entity = new InStock();
entity.Type = type;

View File

@@ -62,27 +62,27 @@ namespace WMS.Web.Domain.Services
var billNos = new List<string>();
billNos.Add(sourceBillNo);
//3.1订单类型-进去金蝶交互更新
if (task.Type == InstockType.Purchase)
if (task.Type == OrderType.Purchase_In)
{
var result = await this.SsynPurchaseInStock(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true;
}
else if (task.Type == InstockType.Miscellaneous)
else if (task.Type == OrderType.Miscellaneous_In)
{
var result = await this.SysnMiscellaneous(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true;
}
else if (task.Type == InstockType.Assembled)
else if (task.Type == OrderType.Assembled_In)
{
var result = await this.SysnAssembledApp(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true;
}
else if (task.Type == InstockType.Stkdirecttransfers)
else if (task.Type == OrderType.Stkdirecttransfers_In)
{
var result = await this.SysnTransferDirect(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true;
}
else if (task.Type == InstockType.StktransferInst)
else if (task.Type == OrderType.StktransferInst_In)
{
var result = await this.SysnTransferin(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true;
@@ -310,7 +310,7 @@ namespace WMS.Web.Domain.Services
{
var current_order= erp_list.Where(x => x.BillNo == item).FirstOrDefault();
var dto = new InStockTask();
dto.Create((InstockType)current_order.Type, current_order.BillNo, current_order.CreateTime);
dto.Create((OrderType)current_order.Type, current_order.BillNo, current_order.CreateTime);
//找到当前对应来源单据编号的集合数据
var current_erp_details = erp_list.Where(x => x.BillNo == item).ToList();

View File

@@ -232,7 +232,7 @@ namespace WMS.Web.Domain.Services.Public
lis.StockCode = item[9];
lis.DeliveredQty = Convert.ToDecimal(item[10]);
lis.OrgCode = item[11];
lis.Type = (int)InstockType.Purchase;
lis.Type = (int)OrderType.Purchase_In;
erp_list.Add(lis);
}
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -336,7 +336,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.Type = (int)InstockType.Miscellaneous;
lis.Type = (int)OrderType.Miscellaneous_In;
erp_list.Add(lis);
}
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -440,7 +440,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.Type = (int)InstockType.Stkdirecttransfers;
lis.Type = (int)OrderType.Stkdirecttransfers_In;
erp_list.Add(lis);
}
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -544,7 +544,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.Type = (int)InstockType.StktransferInst;
lis.Type = (int)OrderType.StktransferInst_In;
erp_list.Add(lis);
}
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -649,7 +649,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.Type = (int)InstockType.Assembled;
lis.Type = (int)OrderType.Assembled_In;
erp_list.Add(lis);
}
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -754,7 +754,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.Type = (int)InstockType.Assembled;
lis.Type = (int)OrderType.Assembled_In;
erp_list.Add(lis);
}
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);

View File

@@ -261,19 +261,19 @@ namespace WMS.Web.Domain.Services
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
private SerialNumberOperateType InStockTypeConvert(InstockType type)
private SerialNumberOperateType InStockTypeConvert(OrderType type)
{
switch (type)
{
case InstockType.Purchase:
case OrderType.Purchase_In:
return SerialNumberOperateType.Purchase_In;
case InstockType.Assembled:
case OrderType.Assembled_In:
return SerialNumberOperateType.Assembled_In;
case InstockType.Miscellaneous:
case OrderType.Miscellaneous_In:
return SerialNumberOperateType.Miscellaneous_In;
case InstockType.Stkdirecttransfers:
case OrderType.Stkdirecttransfers_In:
return SerialNumberOperateType.Stkdirecttransfers_In;
case InstockType.StktransferInst:
case OrderType.StktransferInst_In:
return SerialNumberOperateType.StktransferInst_In;
default:
return SerialNumberOperateType.StktransferInst_In;