批号添加
This commit is contained in:
@@ -1056,6 +1056,11 @@
|
|||||||
数量
|
数量
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.Erp.ErpPurchaseInStockDetailsSaveDto.Lot">
|
||||||
|
<summary>
|
||||||
|
批号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:WMS.Web.Core.Dto.Erp.ErpPushDto">
|
<member name="T:WMS.Web.Core.Dto.Erp.ErpPushDto">
|
||||||
<summary>
|
<summary>
|
||||||
下推
|
下推
|
||||||
|
|||||||
@@ -893,6 +893,28 @@
|
|||||||
同步到金蝶后金蝶的单据Id
|
同步到金蝶后金蝶的单据Id
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.InStockErpDetails.BatchBillNo">
|
||||||
|
<summary>
|
||||||
|
批号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.InStockErpDetails.FirstBillNo">
|
||||||
|
<summary>
|
||||||
|
箱唛编号-首位
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.InStockErpDetails.LastBillNo">
|
||||||
|
<summary>
|
||||||
|
箱唛编号-末尾序号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Entitys.InStockErpDetails.GenerateBatchBillNo(System.Int32,System.Int32,System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
生成批号
|
||||||
|
</summary>
|
||||||
|
<param name="firstBillNo"></param>
|
||||||
|
<param name="lastBillNo"></param>
|
||||||
|
</member>
|
||||||
<member name="T:WMS.Web.Domain.Entitys.InStockTask">
|
<member name="T:WMS.Web.Domain.Entitys.InStockTask">
|
||||||
<summary>
|
<summary>
|
||||||
erp入库任务表
|
erp入库任务表
|
||||||
@@ -2713,6 +2735,12 @@
|
|||||||
<param name="taskId"></param>
|
<param name="taskId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Infrastructure.IInStockRepositories.GetLastBillNo">
|
||||||
|
<summary>
|
||||||
|
获取最新的erp明细
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:WMS.Web.Domain.Infrastructure.IInStockTaskBoxRepositories">
|
<member name="T:WMS.Web.Domain.Infrastructure.IInStockTaskBoxRepositories">
|
||||||
<summary>
|
<summary>
|
||||||
箱与任务单绑定(收货)关系表-仓储接口
|
箱与任务单绑定(收货)关系表-仓储接口
|
||||||
|
|||||||
@@ -49,5 +49,11 @@ namespace WMS.Web.Core.Dto.Erp
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonProperty("FRealQty")]
|
[JsonProperty("FRealQty")]
|
||||||
public decimal Qty { get; set; }
|
public decimal Qty { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 批号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("FLot")]
|
||||||
|
public string Lot { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,5 +55,51 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string ErpSyncBillNo { get; set; }
|
public string ErpSyncBillNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 批号
|
||||||
|
/// </summary>
|
||||||
|
public string BatchBillNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱唛编号-首位
|
||||||
|
/// </summary>
|
||||||
|
public int FirstBillNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱唛编号-末尾序号
|
||||||
|
/// </summary>
|
||||||
|
public int LastBillNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 生成批号
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="firstBillNo"></param>
|
||||||
|
/// <param name="lastBillNo"></param>
|
||||||
|
public void GenerateBatchBillNo(int firstBillNo,int lastBillNo,bool isBatchManage)
|
||||||
|
{
|
||||||
|
if (isBatchManage)
|
||||||
|
{
|
||||||
|
this.FirstBillNo = Convert.ToInt32(DateTime.Now.ToString("yyMMdd"));
|
||||||
|
if (this.FirstBillNo == firstBillNo)
|
||||||
|
this.LastBillNo = lastBillNo + 1;
|
||||||
|
else
|
||||||
|
this.LastBillNo = 1;
|
||||||
|
|
||||||
|
if (this.LastBillNo.ToString().Length >= 6)
|
||||||
|
{
|
||||||
|
this.BatchBillNo = "W" + this.FirstBillNo + this.LastBillNo;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string lastStr = this.LastBillNo.ToString();
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
lastStr = "0" + lastStr;
|
||||||
|
if (lastStr.Length >= 6) break;
|
||||||
|
}
|
||||||
|
this.BatchBillNo = "W" + this.FirstBillNo + lastStr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,5 +81,11 @@ namespace WMS.Web.Domain.Infrastructure
|
|||||||
/// <param name="taskId"></param>
|
/// <param name="taskId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<ReceiveBoxResponse>> GetInstockBox(int taskId);
|
Task<List<ReceiveBoxResponse>> GetInstockBox(int taskId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取最新的erp明细
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<InStockErpDetails> GetLastBillNo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -268,6 +268,12 @@ namespace WMS.Web.Domain.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//1.获取物料集合和组织集合和供应商的集合
|
||||||
|
var materials = new List<ErpMaterialDto>();
|
||||||
|
var materials_result = await _erpService.BillQueryForMaterial();
|
||||||
|
if (materials_result.IsSuccess)
|
||||||
|
materials = materials_result.Data.ToList();
|
||||||
|
|
||||||
//1.获取来源单
|
//1.获取来源单
|
||||||
var taskIds = dto.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList();
|
var taskIds = dto.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList();
|
||||||
var tasks = await _inStockTaskRepositories.GetList(taskIds);
|
var tasks = await _inStockTaskRepositories.GetList(taskIds);
|
||||||
@@ -302,6 +308,23 @@ namespace WMS.Web.Domain.Services
|
|||||||
Qty = x.Sum(t => t.Qty)
|
Qty = x.Sum(t => t.Qty)
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
//1.获取最新的erp明细信息
|
||||||
|
var billNo_new = await _inStockRepositories.GetLastBillNo();
|
||||||
|
//erp明细:生成批号
|
||||||
|
int new_firstBillNo = billNo_new == null ? 0 : billNo_new.FirstBillNo;
|
||||||
|
int new_lastBillNo = billNo_new == null ? 0 : billNo_new.LastBillNo;
|
||||||
|
entity.ErpDetails.ForEach(x =>
|
||||||
|
{
|
||||||
|
//物料必须是启动了批号管理才生成批号
|
||||||
|
var mat= materials.Where(m => m.MaterialNumber == x.MaterialNumber && m.OrgCode == entity.OrgCode).FirstOrDefault();
|
||||||
|
if (mat != null)
|
||||||
|
{
|
||||||
|
x.GenerateBatchBillNo(new_firstBillNo, new_lastBillNo, mat.IsBatchManage);
|
||||||
|
new_firstBillNo = x.FirstBillNo;
|
||||||
|
new_lastBillNo = x.LastBillNo;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
//序列号集:箱里面的
|
//序列号集:箱里面的
|
||||||
var serialNumbers = await _serialNumbersRepositories.GetEntityListByBoxIds(dto.Details.GroupBy(x => x.BoxId).Select(x => x.Key).ToList());
|
var serialNumbers = await _serialNumbersRepositories.GetEntityListByBoxIds(dto.Details.GroupBy(x => x.BoxId).Select(x => x.Key).ToList());
|
||||||
|
|
||||||
@@ -766,6 +789,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
var resPurchaseInStock = await sc_erpService.BillQueryForPurchaseInStock(id);
|
var resPurchaseInStock = await sc_erpService.BillQueryForPurchaseInStock(id);
|
||||||
var purchaseInStock = resPurchaseInStock.Data;
|
var purchaseInStock = resPurchaseInStock.Data;
|
||||||
purchaseInStock.Details[0].Qty = erpDetail.Qty;
|
purchaseInStock.Details[0].Qty = erpDetail.Qty;
|
||||||
|
purchaseInStock.Details[0].Lot = erpDetail.BatchBillNo;
|
||||||
string formId = dto.TargetFormId.ToString();
|
string formId = dto.TargetFormId.ToString();
|
||||||
_logger.LogInformation($"入库单->开始同步金蝶 单号:{billNo} erp明细Id:{erpDetail.ErpDetailId} 数据: {JsonConvert.SerializeObject(dto)}");
|
_logger.LogInformation($"入库单->开始同步金蝶 单号:{billNo} erp明细Id:{erpDetail.ErpDetailId} 数据: {JsonConvert.SerializeObject(dto)}");
|
||||||
var res_s = await sc_erpService.Save<ErpPurchaseInStockSaveDto>(purchaseInStock, formId);
|
var res_s = await sc_erpService.Save<ErpPurchaseInStockSaveDto>(purchaseInStock, formId);
|
||||||
|
|||||||
@@ -256,7 +256,7 @@ namespace WMS.Web.Repositories.Configuration
|
|||||||
.WithOne()
|
.WithOne()
|
||||||
.HasForeignKey(p => p.Fid)
|
.HasForeignKey(p => p.Fid)
|
||||||
.OnDelete(DeleteBehavior.Cascade);
|
.OnDelete(DeleteBehavior.Cascade);
|
||||||
});
|
});
|
||||||
builder.Entity<InStockTaskDetails>(ent =>
|
builder.Entity<InStockTaskDetails>(ent =>
|
||||||
{
|
{
|
||||||
ent.ToTable("t_erp_instock_task_details");
|
ent.ToTable("t_erp_instock_task_details");
|
||||||
@@ -322,9 +322,9 @@ namespace WMS.Web.Repositories.Configuration
|
|||||||
v => JsonConvert.SerializeObject(v),
|
v => JsonConvert.SerializeObject(v),
|
||||||
v => JsonConvert.DeserializeObject<List<string>>(v),
|
v => JsonConvert.DeserializeObject<List<string>>(v),
|
||||||
new ValueComparer<List<string>>(
|
new ValueComparer<List<string>>(
|
||||||
(c1,c2)=>c1.SequenceEqual(c2),
|
(c1, c2) => c1.SequenceEqual(c2),
|
||||||
c=>c.Aggregate(0,(a,v)=>HashCode.Combine(a,v.GetHashCode())),
|
c => c.Aggregate(0, (a, v) => HashCode.Combine(a, v.GetHashCode())),
|
||||||
c=>(List<string>)c.ToList()));
|
c => (List<string>)c.ToList()));
|
||||||
});
|
});
|
||||||
# endregion
|
# endregion
|
||||||
|
|
||||||
@@ -421,8 +421,11 @@ namespace WMS.Web.Repositories.Configuration
|
|||||||
public DbSet<InStock> Instock { get; set; }
|
public DbSet<InStock> Instock { get; set; }
|
||||||
public DbSet<InStockDetails> InStockDetails { get; set; }
|
public DbSet<InStockDetails> InStockDetails { get; set; }
|
||||||
public DbSet<InStockTotalDetails> InStockTotalDetails { get; set; }
|
public DbSet<InStockTotalDetails> InStockTotalDetails { get; set; }
|
||||||
|
|
||||||
public DbSet<InStockTask> InStockTask { get; set; }
|
public DbSet<InStockTask> InStockTask { get; set; }
|
||||||
|
|
||||||
|
public DbSet<InStockErpDetails> InStockErpDetails { get; set; }
|
||||||
|
|
||||||
public DbSet<InStockTaskBox> InstockTaskBox { get; set; }
|
public DbSet<InStockTaskBox> InstockTaskBox { get; set; }
|
||||||
public DbSet<InStockTaskBoxDetails> InStockTaskBoxDetails { get; set; }
|
public DbSet<InStockTaskBoxDetails> InStockTaskBoxDetails { get; set; }
|
||||||
public DbSet<InStockTaskDetails> InStockTaskDetails { get; set; }
|
public DbSet<InStockTaskDetails> InStockTaskDetails { get; set; }
|
||||||
|
|||||||
@@ -409,5 +409,16 @@ namespace WMS.Web.Repositories
|
|||||||
|
|
||||||
return (list, total);
|
return (list, total);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 详情-根据最新的ID
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<InStockErpDetails> GetLastBillNo()
|
||||||
|
{
|
||||||
|
var entity = await _context.InStockErpDetails.OrderByDescending(x => x.Id).FirstOrDefaultAsync();
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user