喷码贴标新增批号

This commit is contained in:
2024-06-14 09:28:52 +08:00
parent 726aea8912
commit ab0b4bedf4
2 changed files with 90 additions and 35 deletions

View File

@@ -0,0 +1,16 @@
using JNPF.Common.Contracts;
using JNPF.Common.Security;
using SqlSugar;
namespace Tnb.ProductionMgr.Entities
{
[SugarTable("label_record")]
public class LableRecord : BaseEntity<string>
{
public string last_day { get; set; }
public int num { get; set; }
}
}

View File

@@ -3039,19 +3039,14 @@ namespace Tnb.ProductionMgr
throw Oops.Bah("产线错误"); throw Oops.Bah("产线错误");
} }
PrdMoTask? prdMoTask = await _db.Queryable<PrdMoTask>().Where(x => x.workline_id == workline_id && x.parent_id == null && x.mo_task_status == DictConst.InProgressEnCode).FirstAsync(); PrdMoTask? prdMoTask = await _db.Queryable<PrdMoTask>().Where(x => x.workline_id == workline_id && x.mo_task_status == DictConst.InProgressEnCode && x.parent_id == null).FirstAsync();
PrdMoTask? childPrdMoTask = null;
if (prdMoTask != null) if (prdMoTask != null)
{ {
childPrdMoTask = await _db.Queryable<PrdMoTask>().Where(x => x.parent_id == prdMoTask.id && x.mo_task_status == DictConst.InProgressEnCode).FirstAsync(); BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
if (childPrdMoTask != null) prdMoTask.material_name = basMaterial.name;
{
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
childPrdMoTask.material_name = basMaterial.name;
}
} }
return childPrdMoTask; return prdMoTask;
} }
/// <summary> /// <summary>
@@ -3201,34 +3196,78 @@ namespace Tnb.ProductionMgr
}); });
if (prdMoTask == null) throw Oops.Bah("没找到对应任务单"); if (prdMoTask == null) throw Oops.Bah("没找到对应任务单");
if (await _db.Queryable<PrdOutPackMarkLabel>().Where(x => // if (await _db.Queryable<PrdOutPackMarkLabel>().Where(x =>
x.mo_task_code == prdMoTask.mo_task_code && x.status == "0" && x.is_label == null && x.is_mark==0).AnyAsync()) // x.mo_task_code == prdMoTask.mo_task_code && x.status == "0" && x.is_label == null && x.is_mark==0).AnyAsync())
{ // {
await _db.Updateable<PrdOutPackMarkLabel>() // await _db.Updateable<PrdOutPackMarkLabel>()
.SetColumns(x => x.is_label == 0) // .SetColumns(x => x.is_label == 0)
.Where(x => x.mo_task_code == prdMoTask.mo_task_code && x.status == "0" && x.is_label == null && // .Where(x => x.mo_task_code == prdMoTask.mo_task_code && x.status == "0" && x.is_label == null &&
x.is_mark == 0) // x.is_mark == 0)
.ExecuteCommandAsync(); // .ExecuteCommandAsync();
} // }
else // else
{ // {
BasMaterial bm = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id); // BasMaterial bm = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
PrdOutPackMarkLabel prdOutPackMarkLabel = new PrdOutPackMarkLabel() // PrdOutPackMarkLabel prdOutPackMarkLabel = new PrdOutPackMarkLabel()
{ // {
is_mark = null, // is_mark = null,
is_label = 0, // is_label = 0,
mo_task_code = prdMoTask.mo_task_code, // mo_task_code = prdMoTask.mo_task_code,
material_code = bm.code, // material_code = bm.code,
create_time = DateTime.Now, // create_time = DateTime.Now,
}; // };
//
await _db.Insertable<PrdOutPackMarkLabel>(prdOutPackMarkLabel).ExecuteCommandAsync(); // await _db.Insertable<PrdOutPackMarkLabel>(prdOutPackMarkLabel).ExecuteCommandAsync();
} // }
PrdMoTask parent = await _db.Queryable<PrdMoTask>().SingleAsync(x => x.id == prdMoTask.parent_id); //PrdMoTask parent = await _db.Queryable<PrdMoTask>().SingleAsync(x => x.id == prdMoTask.parent_id);
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x=>x.id==parent.material_id); BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x=>x.id==prdMoTask.material_id);
PrdMo mo = await _db.Queryable<PrdMo>().SingleAsync(x => x.id == prdMoTask.mo_id);
string batch = "";
if (mo.mo_type == DictConst.PrdMoTypeZS)
{
EqpEquipment equipment = await _db.Queryable<EqpEquipment>().SingleAsync(x => x.id == prdMoTask.eqp_id);
batch = $"{equipment.code}{DateTime.Now.ToString("yyMMdd")}";
}else if (mo.mo_type == DictConst.PrdMoTypeJC)
{
EqpEquipment equipment = await _db.Queryable<EqpEquipment>().SingleAsync(x => x.id == prdMoTask.eqp_id);
ToolMolds toolMolds = await _db.Queryable<ToolMolds>().SingleAsync(x => x.id == prdMoTask.mold_id);
batch = $"{toolMolds.mold_code}{equipment.code}{DateTime.Now.ToString("yyMMdd")}";
}else
{
LableRecord lableRecord = await _db.Queryable<LableRecord>().FirstAsync();
if (lableRecord == null)
{
batch = $"{DateTime.Now.ToString("yyMMdd")}5{"1".PadLeft(3,'0')}";
await _db.Insertable(new LableRecord()
{
id = SnowflakeIdHelper.NextId(),
last_day = DateTime.Now.ToString("yyyyMMdd"),
num = 1
}).ExecuteCommandAsync();
}
else
{
int num = 1;
if(DateTime.Now.ToString("yyyyMMdd") == lableRecord.last_day)
{
num = lableRecord.num+1;
batch = $"{DateTime.Now.ToString("yyMMdd")}5{(lableRecord.num+1).ToString().PadLeft(3,'0')}";
}
else
{
batch = $"{DateTime.Now.ToString("yyMMdd")}5{"1".PadLeft(3,'0')}";
}
string code = $"(01){basMaterial.di ?? ""}*(11){DateTime.Now.ToString("yyMMdd")}*(17){DateTime.Now.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyMMdd")}*(10){parent.batch??""}#{basMaterial.material_specification}*{parent.batch??""}*{DateTime.Now.ToString("yyyyMMdd")}*{DateTime.Now.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.container_no}"; await _db.Updateable<LableRecord>()
.SetColumns(x=>x.last_day==DateTime.Now.ToString("yyyyMMdd"))
.SetColumns(x=>x.num==num)
.Where(x=>x.id==lableRecord.id)
.ExecuteCommandAsync();
}
}
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}";
return code; return code;
} }
} }