From 4559800d63ef312b2fdbb4dd678a9d09f341a1ae Mon Sep 17 00:00:00 2001 From: chenwenkai <1084072318@qq.com> Date: Tue, 12 Nov 2024 16:23:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E8=A3=85=E7=94=9F=E4=BA=A7=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=A2=9E=E5=8A=A0=E5=BC=80=E5=B7=A5=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=92=8C=E5=A4=B1=E6=95=88=E6=97=A5=E6=9C=9F=EF=BC=8C=E8=B4=B4?= =?UTF-8?q?=E6=A0=87=E5=92=8C=E5=96=B7=E7=A0=81=E5=A4=B1=E6=95=88=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=8F=96=E5=A4=B1=E6=95=88=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PackSechelToBeIssueListOutput.cs | 12 ++++++++++ .../Entity/PrdMoTask.cs | 4 ++++ .../Tnb.ProductionMgr/PrdMoTaskService.cs | 22 ++++++++++++++----- 3 files changed, 32 insertions(+), 6 deletions(-) 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"] = "外包装箱码垛线",