喷码贴标新增批号
This commit is contained in:
@@ -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; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3039,19 +3039,14 @@ namespace Tnb.ProductionMgr
|
||||
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? childPrdMoTask = null;
|
||||
PrdMoTask? prdMoTask = await _db.Queryable<PrdMoTask>().Where(x => x.workline_id == workline_id && x.mo_task_status == DictConst.InProgressEnCode && x.parent_id == null).FirstAsync();
|
||||
if (prdMoTask != null)
|
||||
{
|
||||
childPrdMoTask = await _db.Queryable<PrdMoTask>().Where(x => x.parent_id == prdMoTask.id && x.mo_task_status == DictConst.InProgressEnCode).FirstAsync();
|
||||
if (childPrdMoTask != null)
|
||||
{
|
||||
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
|
||||
childPrdMoTask.material_name = basMaterial.name;
|
||||
}
|
||||
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
|
||||
prdMoTask.material_name = basMaterial.name;
|
||||
}
|
||||
|
||||
return childPrdMoTask;
|
||||
return prdMoTask;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -3201,34 +3196,78 @@ namespace Tnb.ProductionMgr
|
||||
});
|
||||
if (prdMoTask == null) throw Oops.Bah("没找到对应任务单");
|
||||
|
||||
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())
|
||||
{
|
||||
await _db.Updateable<PrdOutPackMarkLabel>()
|
||||
.SetColumns(x => x.is_label == 0)
|
||||
.Where(x => x.mo_task_code == prdMoTask.mo_task_code && x.status == "0" && x.is_label == null &&
|
||||
x.is_mark == 0)
|
||||
.ExecuteCommandAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
BasMaterial bm = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
|
||||
PrdOutPackMarkLabel prdOutPackMarkLabel = new PrdOutPackMarkLabel()
|
||||
{
|
||||
is_mark = null,
|
||||
is_label = 0,
|
||||
mo_task_code = prdMoTask.mo_task_code,
|
||||
material_code = bm.code,
|
||||
create_time = DateTime.Now,
|
||||
};
|
||||
|
||||
await _db.Insertable<PrdOutPackMarkLabel>(prdOutPackMarkLabel).ExecuteCommandAsync();
|
||||
}
|
||||
// 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())
|
||||
// {
|
||||
// await _db.Updateable<PrdOutPackMarkLabel>()
|
||||
// .SetColumns(x => x.is_label == 0)
|
||||
// .Where(x => x.mo_task_code == prdMoTask.mo_task_code && x.status == "0" && x.is_label == null &&
|
||||
// x.is_mark == 0)
|
||||
// .ExecuteCommandAsync();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// BasMaterial bm = await _db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
|
||||
// PrdOutPackMarkLabel prdOutPackMarkLabel = new PrdOutPackMarkLabel()
|
||||
// {
|
||||
// is_mark = null,
|
||||
// is_label = 0,
|
||||
// mo_task_code = prdMoTask.mo_task_code,
|
||||
// material_code = bm.code,
|
||||
// create_time = DateTime.Now,
|
||||
// };
|
||||
//
|
||||
// await _db.Insertable<PrdOutPackMarkLabel>(prdOutPackMarkLabel).ExecuteCommandAsync();
|
||||
// }
|
||||
|
||||
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);
|
||||
//PrdMoTask parent = await _db.Queryable<PrdMoTask>().SingleAsync(x => x.id == prdMoTask.parent_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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user