统一单据类型

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> </summary>
</member> </member>
<member name="F:WMS.Web.Domain.Entitys.BackRecord.Details"> <member name="P:WMS.Web.Domain.Entitys.BackRecord.Details">
<summary> <summary>
明细 明细
</summary> </summary>
@@ -680,7 +680,7 @@
明细 明细
</summary> </summary>
</member> </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>
创建 创建
</summary> </summary>
@@ -1523,7 +1523,7 @@
</summary> </summary>
<param name="outStockBillNo">出库单号</param> <param name="outStockBillNo">出库单号</param>
</member> </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>
入库 入库
</summary> </summary>
@@ -3537,7 +3537,7 @@
<param name="boxBillNo"></param> <param name="boxBillNo"></param>
<returns></returns> <returns></returns>
</member> </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>
采购上架-保存 采购上架-保存
</summary> </summary>
@@ -4465,7 +4465,7 @@
<param name="type"></param> <param name="type"></param>
<returns></returns> <returns></returns>
</member> </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>
出库单类型转化序列号记录类型 出库单类型转化序列号记录类型
</summary> </summary>

View File

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

View File

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

View File

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

View File

@@ -99,9 +99,9 @@ namespace WMS.Web.Domain.Entitys
/// 入库 /// 入库
/// </summary> /// </summary>
/// <param name="inStockBillNo">出库单号</param> /// <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; this.InStockBillNo = inStockBillNo;
} }
} }

View File

@@ -221,6 +221,8 @@ namespace WMS.Web.Domain.Services
return Result.ReFailure(ResultCodes.InventoryNoSourceError); return Result.ReFailure(ResultCodes.InventoryNoSourceError);
var generateDtoList = new List<BoxInventoryBackGenerateDto>(); var generateDtoList = new List<BoxInventoryBackGenerateDto>();
//物料收发明细dtos
var InventoryInOutDetailsGenerateDtoList = new List<InventoryInOutDetailsGenerateDto>();
#region #region
//入库的明细 //入库的明细
@@ -294,7 +296,33 @@ namespace WMS.Web.Domain.Services
generateDtoList.AddRange(generateDtoList_in); generateDtoList.AddRange(generateDtoList_in);
generateDtoList.AddRange(generateDtoList_out); generateDtoList.AddRange(generateDtoList_out);
//4.提交处理 //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> /// <summary>
@@ -309,6 +337,9 @@ namespace WMS.Web.Domain.Services
if (dtoDatas == null || dtoDatas.Count == 0) if (dtoDatas == null || dtoDatas.Count == 0)
return Result.ReFailure(ResultCodes.InventoryNoSourceError); return Result.ReFailure(ResultCodes.InventoryNoSourceError);
//物料收发明细dtos
var InventoryInOutDetailsGenerateDtoList = new List<InventoryInOutDetailsGenerateDto>();
//2.组装:入库数据 //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() 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_in);
generateDtoList.AddRange(generateDtoList_out); 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> /// <summary>
@@ -385,6 +437,9 @@ namespace WMS.Web.Domain.Services
if (dtoDatas == null || dtoDatas.Count == 0) if (dtoDatas == null || dtoDatas.Count == 0)
return Result.ReFailure(ResultCodes.InventoryNoSourceError); return Result.ReFailure(ResultCodes.InventoryNoSourceError);
//物料收发明细dtos
var InventoryInOutDetailsGenerateDtoList = new List<InventoryInOutDetailsGenerateDto>();
#region #region
//2.组装-按箱入库 //2.组装-按箱入库
var dtoDatas_details_Method_box = dtoDatas.Where(x => x.Method == InventoryInOutMethod.Box).SelectMany(x => x.Details).ToList(); 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_Box);
generateDtoList.AddRange(generateDtoList_Metod_Product); 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> /// <summary>

View File

@@ -99,7 +99,7 @@ namespace WMS.Web.Domain.Services
bool isRollback = false; bool isRollback = false;
bool isTransaction = false; bool isTransaction = false;
//1.添加入库单同步金蝶在save方法里面进行 //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; if (!save_result.IsSuccess) isRollback = true;
{ {
//2.修改入库任务单 //2.修改入库任务单
@@ -192,7 +192,7 @@ namespace WMS.Web.Domain.Services
/// <param name="staffId"></param> /// <param name="staffId"></param>
/// <param name="isTransaction"></param> /// <param name="isTransaction"></param>
/// <returns></returns> /// <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(); var entity = new InStock();
entity.Type = type; entity.Type = type;

View File

@@ -62,27 +62,27 @@ namespace WMS.Web.Domain.Services
var billNos = new List<string>(); var billNos = new List<string>();
billNos.Add(sourceBillNo); billNos.Add(sourceBillNo);
//3.1订单类型-进去金蝶交互更新 //3.1订单类型-进去金蝶交互更新
if (task.Type == InstockType.Purchase) if (task.Type == OrderType.Purchase_In)
{ {
var result = await this.SsynPurchaseInStock(billNos, isTransaction); var result = await this.SsynPurchaseInStock(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true; 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); var result = await this.SysnMiscellaneous(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true; 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); var result = await this.SysnAssembledApp(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true; 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); var result = await this.SysnTransferDirect(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true; 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); var result = await this.SysnTransferin(billNos, isTransaction);
if (!result.IsSuccess) isRollback = true; 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 current_order= erp_list.Where(x => x.BillNo == item).FirstOrDefault();
var dto = new InStockTask(); 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(); 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.StockCode = item[9];
lis.DeliveredQty = Convert.ToDecimal(item[10]); lis.DeliveredQty = Convert.ToDecimal(item[10]);
lis.OrgCode = item[11]; lis.OrgCode = item[11];
lis.Type = (int)InstockType.Purchase; lis.Type = (int)OrderType.Purchase_In;
erp_list.Add(lis); erp_list.Add(lis);
} }
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list); return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -336,7 +336,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]); lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7]; lis.Remark = item[7];
lis.OrgCode = item[8]; lis.OrgCode = item[8];
lis.Type = (int)InstockType.Miscellaneous; lis.Type = (int)OrderType.Miscellaneous_In;
erp_list.Add(lis); erp_list.Add(lis);
} }
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list); return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -440,7 +440,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]); lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7]; lis.Remark = item[7];
lis.OrgCode = item[8]; lis.OrgCode = item[8];
lis.Type = (int)InstockType.Stkdirecttransfers; lis.Type = (int)OrderType.Stkdirecttransfers_In;
erp_list.Add(lis); erp_list.Add(lis);
} }
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list); return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -544,7 +544,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]); lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7]; lis.Remark = item[7];
lis.OrgCode = item[8]; lis.OrgCode = item[8];
lis.Type = (int)InstockType.StktransferInst; lis.Type = (int)OrderType.StktransferInst_In;
erp_list.Add(lis); erp_list.Add(lis);
} }
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list); return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -649,7 +649,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]); lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7]; lis.Remark = item[7];
lis.OrgCode = item[8]; lis.OrgCode = item[8];
lis.Type = (int)InstockType.Assembled; lis.Type = (int)OrderType.Assembled_In;
erp_list.Add(lis); erp_list.Add(lis);
} }
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list); return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);
@@ -754,7 +754,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]); lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7]; lis.Remark = item[7];
lis.OrgCode = item[8]; lis.OrgCode = item[8];
lis.Type = (int)InstockType.Assembled; lis.Type = (int)OrderType.Assembled_In;
erp_list.Add(lis); erp_list.Add(lis);
} }
return ResultList<ErpInStockResultDto>.ReSuccess(erp_list); return ResultList<ErpInStockResultDto>.ReSuccess(erp_list);

View File

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