diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/PackSechelToBeIssueListOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/PackSechelToBeIssueListOutput.cs index c502f0d0..baf74243 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/PackSechelToBeIssueListOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/PackSechelToBeIssueListOutput.cs @@ -115,6 +115,18 @@ public string? material_standard { get; set; } public string batch { get; set; } + /// + /// udi码 + /// + public string udi { get; set; } + /// + /// 失效日期 + /// + public DateTime? expire_end_date { get; set; } + /// + /// 第一次开工日期 + /// + public DateTime? first_start_date { get; set; } } } diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs index 9efa7256..d6201972 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs @@ -265,4 +265,8 @@ public partial class PrdMoTask : BaseEntity /// 是否手动设置批号 /// public int is_hand_set_batch { get; set; } = 0; + /// + /// 失效日期 + /// + public DateTime? expire_end_date { get; set; } } diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs index a8b22004..c663576b 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs @@ -481,6 +481,7 @@ namespace Tnb.ProductionMgr mo_task_code = a.mo_task_code, material_code = b.code, material_name = b.name, + udi=b.di, workline_code = c.EnCode, workline_name = c.FullName, mo_task_status = a.mo_task_status, @@ -499,6 +500,8 @@ namespace Tnb.ProductionMgr dayshiftafter_worker_id = a.dayshiftafter_worker_id, nightshift_worker_id = a.nightshift_worker_id, nightshiftafter_worker_id = a.nightshiftafter_worker_id, + expire_end_date=a.expire_end_date, + first_start_date=a.first_start_date }) .Mapper(it => it.mo_task_status = dic.ContainsKey(it.mo_task_status) ? dic[it.mo_task_status].ToString()! : "") .OrderBy(a => a.mo_task_code, OrderByType.Asc) @@ -1603,12 +1606,14 @@ namespace Tnb.ProductionMgr string batch = $"{organizeEntity.EnCode.Substring(organizeEntity.EnCode.Length - 2, 2)}{DateTime.Now.ToString("yyMMdd")}"; PrdMoTask parent = await _db.Queryable().SingleAsync(x => x.id == item.parent_id); + if (parent.is_hand_set_batch == 1) + batch = parent.batch; BasMaterial basMaterial = await _db.Queryable().SingleAsync(x=>x.id==parent.material_id); BasMbom basMbom = await _db.Queryable().SingleAsync(x => x.id == item.bom_id); - + //string code = $"(01){basMaterial.di ?? ""}(11){DateTime.Now.ToString("yyMMdd")}(17){DateTime.Now.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd")}(10){batch}#{basMaterial.material_specification}*{batch}*{DateTime.Now.ToString("yyyyMMdd")}*{DateTime.Now.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.container_no}"; - string code1 = $"(01){basMaterial.di ?? ""}*(11){item.act_start_date.Value.ToString("yyMMdd")}*(17){item.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd")}*(10){batch}"; - string code2 = $"{basMaterial.material_specification}*{batch}*{item.act_start_date.Value.ToString("yyyyMMdd")}*{item.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.material_standard}"; + string code1 = $"(01){basMaterial.di ?? ""}*(11){item.act_start_date.Value.ToString("yyMMdd")}*(17){(item.expire_end_date.HasValue ? item.expire_end_date.Value.ToString("yyyyMMdd") : item.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd"))}*(10){batch}"; + string code2 = $"{basMaterial.material_specification}*{batch}*{item.act_start_date.Value.ToString("yyyyMMdd")}*{(item.expire_end_date.HasValue ? item.expire_end_date.Value.ToString("yyyyMMdd") : item.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd"))}*{basMaterial.material_standard}"; Dictionary dicCommand1 = new(StringComparer.OrdinalIgnoreCase) { ["DevName"] = "外包装箱码垛线", @@ -4070,7 +4075,8 @@ namespace Tnb.ProductionMgr BasMaterial basMaterial = await _db.Queryable().SingleAsync(x=>x.id==prdMoTask.material_id); string batch = prdMoTask.batch; - string code = $"(01){basMaterial.di ?? ""}*(11){prdMoTask.act_start_date.Value.ToString("yyMMdd")}*(17){prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd")}*(10){batch}#{basMaterial.material_specification}*{batch}*{prdMoTask.act_start_date.Value.ToString("yyyyMMdd")}*{prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.material_standard}"; + //2024/11/12 失效日期:把第一次开工日期换成实际开工日期 + string code = $"(01){basMaterial.di ?? ""}*(11){prdMoTask.act_start_date.Value.ToString("yyMMdd")}*(17){prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd")}*(10){batch}#{basMaterial.material_specification}*{batch}*{prdMoTask.act_start_date.Value.ToString("yyyyMMdd")}*{(prdMoTask.expire_end_date.HasValue ? prdMoTask.expire_end_date.Value.ToString("yyyyMMdd") : prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd"))}*{basMaterial.material_standard}"; return code; } } @@ -4137,8 +4143,12 @@ namespace Tnb.ProductionMgr string ids = input.GetOrDefault("ids"); string[] idList = ids.Split(","); string batch = input.GetOrDefault("batch"); + DateTime prdDate = Convert.ToDateTime(input.GetOrDefault("prd_date"));//生产日期 + DateTime expireEndDate = Convert.ToDateTime(input.GetOrDefault("expire_end_date"));//失效日期 int row = await _db.Updateable() .SetColumns(x => x.batch == batch) + .SetColumns(x=>x.expire_end_date==expireEndDate) + .SetColumns(x=>x.first_start_date==prdDate) .SetColumns(x => x.is_hand_set_batch == 1) .Where(x => idList.Contains(x.id)) .ExecuteCommandAsync(); @@ -4148,8 +4158,8 @@ namespace Tnb.ProductionMgr if (prdMoTask.mo_task_status == DictConst.InProgressEnCode && prdMoTask.schedule_type==2) { BasMaterial basMaterial = await _db.Queryable().Where(x=>x.id==prdMoTask.material_id).SingleAsync(); - string code1 = $"(01){basMaterial.di ?? ""}*(11){prdMoTask.act_start_date.Value.ToString("yyMMdd")}*(17){prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd")}*(10){batch}"; - string code2 = $"{basMaterial.material_specification}*{batch}*{prdMoTask.act_start_date.Value.ToString("yyyyMMdd")}*{prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.material_standard}"; + string code1 = $"(01){basMaterial.di ?? ""}*(11){prdMoTask.act_start_date.Value.ToString("yyMMdd")}*(17){(prdMoTask.expire_end_date.HasValue ? prdMoTask.expire_end_date.Value.ToString("yyyyMMdd") : prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd"))}*(10){batch}"; + string code2 = $"{basMaterial.material_specification}*{batch}*{prdMoTask.act_start_date.Value.ToString("yyyyMMdd")}*{(prdMoTask.expire_end_date.HasValue ? prdMoTask.expire_end_date.Value.ToString("yyyyMMdd") : prdMoTask.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd"))}*{basMaterial.material_standard}"; Dictionary dicCommand1 = new(StringComparer.OrdinalIgnoreCase) { ["DevName"] = "外包装箱码垛线",