统一单据类型

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

@@ -34,7 +34,7 @@
操作时间
</summary>
</member>
<member name="F:WMS.Web.Domain.Entitys.BackRecord.Details">
<member name="P:WMS.Web.Domain.Entitys.BackRecord.Details">
<summary>
明细
</summary>
@@ -680,7 +680,7 @@
明细
</summary>
</member>
<member name="M:WMS.Web.Domain.Entitys.InStockTask.Create(WMS.Web.Domain.Values.InstockType,System.String,System.DateTime)">
<member name="M:WMS.Web.Domain.Entitys.InStockTask.Create(WMS.Web.Domain.Values.OrderType,System.String,System.DateTime)">
<summary>
创建
</summary>
@@ -1523,7 +1523,7 @@
</summary>
<param name="outStockBillNo">出库单号</param>
</member>
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.InStock(System.String,WMS.Web.Domain.Values.InstockType)">
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.InStock(System.String,WMS.Web.Domain.Values.OrderType)">
<summary>
入库
</summary>
@@ -3537,7 +3537,7 @@
<param name="boxBillNo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.InStockService.ShelfSave(WMS.Web.Core.Dto.InStock.PurchaseShelfRequest,WMS.Web.Domain.Values.InstockType,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
<member name="M:WMS.Web.Domain.Services.InStockService.ShelfSave(WMS.Web.Core.Dto.InStock.PurchaseShelfRequest,WMS.Web.Domain.Values.OrderType,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
<summary>
采购上架-保存
</summary>
@@ -4465,7 +4465,7 @@
<param name="type"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.SerialNumberService.InStockTypeConvert(WMS.Web.Domain.Values.InstockType)">
<member name="M:WMS.Web.Domain.Services.SerialNumberService.InStockTypeConvert(WMS.Web.Domain.Values.OrderType)">
<summary>
出库单类型转化序列号记录类型
</summary>

View File

@@ -37,7 +37,7 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 明细
/// </summary>
public List<BackRecordDetails> Details = new List<BackRecordDetails>();
public List<BackRecordDetails> Details { get; set; } = new List<BackRecordDetails>();
/// <summary>
/// 创建

View File

@@ -25,7 +25,7 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 入库类型
/// </summary>
public InstockType Type { get; set; }
public OrderType Type { get; set; }
/// <summary>
/// 入库方式1按箱2按产品
/// </summary>

View File

@@ -33,7 +33,7 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 入库类型
/// </summary>
public InstockType Type { get; set; }
public OrderType Type { get; set; }
/// <summary>
/// 收货人
/// </summary>
@@ -72,7 +72,7 @@ namespace WMS.Web.Domain.Entitys
/// <param name="type"></param>
/// <param name="sourceBillNo"></param>
/// <param name="createTime"></param>
public void Create(InstockType type,string sourceBillNo, DateTime createTime)
public void Create(OrderType type,string sourceBillNo, DateTime createTime)
{
this.Status = InstockStatus.Wait;
this.Type = type;

View File

@@ -99,9 +99,9 @@ namespace WMS.Web.Domain.Entitys
/// 入库
/// </summary>
/// <param name="inStockBillNo">出库单号</param>
public void InStock(string inStockBillNo, InstockType type)
public void InStock(string inStockBillNo, OrderType type)
{
if (type == InstockType.Purchase)
if (type == OrderType.Purchase_In)
this.InStockBillNo = inStockBillNo;
}
}

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;