组装生产任务增加开工日期和失效日期,贴标和喷码失效时间取失效日期

This commit is contained in:
2024-11-12 16:23:26 +08:00
parent 71fd0d62d4
commit 4559800d63
3 changed files with 32 additions and 6 deletions

View File

@@ -115,6 +115,18 @@
public string? material_standard { get; set; } public string? material_standard { get; set; }
public string batch { get; set; } public string batch { get; set; }
/// <summary>
/// udi码
/// </summary>
public string udi { get; set; }
/// <summary>
/// 失效日期
/// </summary>
public DateTime? expire_end_date { get; set; }
/// <summary>
/// 第一次开工日期
/// </summary>
public DateTime? first_start_date { get; set; }
} }
} }

View File

@@ -265,4 +265,8 @@ public partial class PrdMoTask : BaseEntity<string>
/// 是否手动设置批号 /// 是否手动设置批号
/// </summary> /// </summary>
public int is_hand_set_batch { get; set; } = 0; public int is_hand_set_batch { get; set; } = 0;
/// <summary>
/// 失效日期
/// </summary>
public DateTime? expire_end_date { get; set; }
} }

View File

@@ -481,6 +481,7 @@ namespace Tnb.ProductionMgr
mo_task_code = a.mo_task_code, mo_task_code = a.mo_task_code,
material_code = b.code, material_code = b.code,
material_name = b.name, material_name = b.name,
udi=b.di,
workline_code = c.EnCode, workline_code = c.EnCode,
workline_name = c.FullName, workline_name = c.FullName,
mo_task_status = a.mo_task_status, mo_task_status = a.mo_task_status,
@@ -499,6 +500,8 @@ namespace Tnb.ProductionMgr
dayshiftafter_worker_id = a.dayshiftafter_worker_id, dayshiftafter_worker_id = a.dayshiftafter_worker_id,
nightshift_worker_id = a.nightshift_worker_id, nightshift_worker_id = a.nightshift_worker_id,
nightshiftafter_worker_id = a.nightshiftafter_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()! : "") .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) .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")}"; string batch = $"{organizeEntity.EnCode.Substring(organizeEntity.EnCode.Length - 2, 2)}{DateTime.Now.ToString("yyMMdd")}";
PrdMoTask parent = await _db.Queryable<PrdMoTask>().SingleAsync(x => x.id == item.parent_id); PrdMoTask parent = await _db.Queryable<PrdMoTask>().SingleAsync(x => x.id == item.parent_id);
if (parent.is_hand_set_batch == 1)
batch = parent.batch;
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x=>x.id==parent.material_id); BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x=>x.id==parent.material_id);
BasMbom basMbom = await _db.Queryable<BasMbom>().SingleAsync(x => x.id == item.bom_id); BasMbom basMbom = await _db.Queryable<BasMbom>().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 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 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.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.material_standard}"; 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<string, string> dicCommand1 = new(StringComparer.OrdinalIgnoreCase) Dictionary<string, string> dicCommand1 = new(StringComparer.OrdinalIgnoreCase)
{ {
["DevName"] = "外包装箱码垛线", ["DevName"] = "外包装箱码垛线",
@@ -4070,7 +4075,8 @@ namespace Tnb.ProductionMgr
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x=>x.id==prdMoTask.material_id); BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x=>x.id==prdMoTask.material_id);
string batch = prdMoTask.batch; 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; return code;
} }
} }
@@ -4137,8 +4143,12 @@ namespace Tnb.ProductionMgr
string ids = input.GetOrDefault("ids"); string ids = input.GetOrDefault("ids");
string[] idList = ids.Split(","); string[] idList = ids.Split(",");
string batch = input.GetOrDefault("batch"); 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<PrdMoTask>() int row = await _db.Updateable<PrdMoTask>()
.SetColumns(x => x.batch == batch) .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) .SetColumns(x => x.is_hand_set_batch == 1)
.Where(x => idList.Contains(x.id)) .Where(x => idList.Contains(x.id))
.ExecuteCommandAsync(); .ExecuteCommandAsync();
@@ -4148,8 +4158,8 @@ namespace Tnb.ProductionMgr
if (prdMoTask.mo_task_status == DictConst.InProgressEnCode && prdMoTask.schedule_type==2) if (prdMoTask.mo_task_status == DictConst.InProgressEnCode && prdMoTask.schedule_type==2)
{ {
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().Where(x=>x.id==prdMoTask.material_id).SingleAsync(); BasMaterial basMaterial = await _db.Queryable<BasMaterial>().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 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.first_start_date.Value.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.material_standard}"; 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<string, string> dicCommand1 = new(StringComparer.OrdinalIgnoreCase) Dictionary<string, string> dicCommand1 = new(StringComparer.OrdinalIgnoreCase)
{ {
["DevName"] = "外包装箱码垛线", ["DevName"] = "外包装箱码垛线",