Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -579,7 +579,7 @@ namespace Tnb.ProductionMgr
|
||||
mo_code = a.mo_code,
|
||||
material_code = b.code,
|
||||
material_name = b.name,
|
||||
material_standard = b.material_standard,
|
||||
material_standard = b.material_specification,
|
||||
mo_type = c.FullName,
|
||||
mo_status = d.FullName,
|
||||
plan_qty = a.plan_qty.Value.ToString(),
|
||||
@@ -615,7 +615,7 @@ namespace Tnb.ProductionMgr
|
||||
mo_code = h.mo_code,
|
||||
material_code = i.code,
|
||||
material_name = i.name,
|
||||
material_standard = i.material_standard,
|
||||
material_standard = i.material_specification,
|
||||
mo_type = j.FullName,
|
||||
mo_status = k.FullName,
|
||||
plan_qty = h.plan_qty.Value.ToString(),
|
||||
@@ -778,7 +778,7 @@ namespace Tnb.ProductionMgr
|
||||
eqp_code = (await db.Queryable<EqpEquipment>().FirstAsync(it => it.id == input.eqp_id))?.code!,
|
||||
mold_code = (await db.Queryable<ToolMolds>().FirstAsync(it => it.id == input.mold_id))?.mold_code!,
|
||||
item_code = material?.code!,
|
||||
item_standard = material?.material_standard!,
|
||||
item_standard = material?.material_specification!,
|
||||
status = DictConst.ToBeScheduledEncode,
|
||||
operator_name = _userManager.RealName,
|
||||
create_id = _userManager.UserId,
|
||||
@@ -894,7 +894,7 @@ namespace Tnb.ProductionMgr
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
mo_code = (await _db.Queryable<PrdMo>().FirstAsync(it => it.id == input.mo_id))?.mo_code!,
|
||||
item_code = material_h?.code!,
|
||||
item_standard = material_h?.material_standard!,
|
||||
item_standard = material_h?.material_specification!,
|
||||
status = DictConst.ToBeScheduledEncode,
|
||||
operator_name = _userManager.RealName,
|
||||
create_id = _userManager.UserId,
|
||||
@@ -1019,7 +1019,7 @@ namespace Tnb.ProductionMgr
|
||||
subTaskLog.id = SnowflakeIdHelper.NextId();
|
||||
subTaskLog.mo_code = (await _db.Queryable<PrdMo>().FirstAsync(it => it.id == input.mo_id))?.mo_code!;
|
||||
subTaskLog.item_code = subMaterial?.code!;
|
||||
subTaskLog.item_standard = subMaterial?.material_standard!;
|
||||
subTaskLog.item_standard = subMaterial?.material_specification!;
|
||||
subTaskLog.status = DictConst.ToBeScheduledEncode;
|
||||
subTaskLog.operator_name = _userManager.RealName;
|
||||
subTaskLog.create_id = _userManager.UserId;
|
||||
@@ -1159,13 +1159,13 @@ namespace Tnb.ProductionMgr
|
||||
throw Oops.Bah("已开始的不能再开始");
|
||||
}
|
||||
|
||||
if (item.schedule_type == 2)
|
||||
{
|
||||
if (await db.Queryable<PrdMoTask>().AnyAsync(x => x.workstation_id == item.workstation_id && x.mo_task_status == DictConst.InProgressEnCode && x.id != item.id))
|
||||
// if (item.schedule_type == 2)
|
||||
// {
|
||||
if (await db.Queryable<PrdMoTask>().AnyAsync(x => x.workline_id == item.workline_id && x.mo_task_status == DictConst.InProgressEnCode && x.id != item.id))
|
||||
{
|
||||
throw Oops.Bah("该工位已有生产中的任务单");
|
||||
throw Oops.Bah("该产线已有生产中的任务单");
|
||||
}
|
||||
}
|
||||
// }
|
||||
|
||||
if (item.mo_task_status is not DictConst.ToBeStartedEnCode and not DictConst.MoStatusPauseCode)
|
||||
{
|
||||
@@ -1283,7 +1283,7 @@ namespace Tnb.ProductionMgr
|
||||
{
|
||||
BasMaterial? material = await db.Queryable<BasMaterial>().FirstAsync(it => it.id == taskItem.material_id);
|
||||
taskLog.item_code = material?.code!;
|
||||
taskLog.item_standard = material?.material_standard!;
|
||||
taskLog.item_standard = material?.material_specification!;
|
||||
}
|
||||
taskLog.operator_name = _userManager.RealName;
|
||||
taskLog.status = status;
|
||||
@@ -1410,7 +1410,7 @@ namespace Tnb.ProductionMgr
|
||||
PrdMoTask parent = await _db.Queryable<PrdMoTask>().SingleAsync(x => x.id == item.parent_id);
|
||||
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().SingleAsync(x=>x.id==parent.material_id);
|
||||
|
||||
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_standard}*{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){parent.batch??""}#{basMaterial.material_specification}*{DateTime.Now.ToString("yyyyMMdd")}*{DateTime.Now.AddMonths(basMaterial.quality_guarantee_period ?? 0).ToString("yyyyMMdd")}*{basMaterial.container_no}";
|
||||
Dictionary<string, string> dicCommand1 = new(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["DevName"] = "外包装箱码垛线",
|
||||
@@ -1664,12 +1664,30 @@ namespace Tnb.ProductionMgr
|
||||
location = await db.Queryable<BasLocation>().SingleAsync(x=>x.id==equip.downmat_location_id);
|
||||
report.location_code = location.location_code;
|
||||
}
|
||||
|
||||
string batch = "";
|
||||
|
||||
PrdMo mo = await _db.Queryable<PrdMo>().SingleAsync(x => x.id == prdMoTask.mo_id);
|
||||
if (mo.mo_type == DictConst.PrdMoTypeZS)
|
||||
{
|
||||
EqpEquipment equipment = await _db.Queryable<EqpEquipment>().SingleAsync(x => x.id == prdMoTask.eqp_id);
|
||||
batch = $"{equipment.code.Substring(equipment.code.Length - 2, 2)}{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.Substring(toolMolds.mold_code.Length - 2, 2)}{equipment.code.Substring(equipment.code.Length - 2, 2)}{DateTime.Now.ToString("yyMMdd")}";
|
||||
}else
|
||||
{
|
||||
OrganizeEntity organizeEntity = await _db.Queryable<OrganizeEntity>().SingleAsync(x => x.Id == prdMoTask.workline_id);
|
||||
batch = $"{organizeEntity.EnCode.Substring(organizeEntity.EnCode.Length - 2, 2)}{DateTime.Now.ToString("yyMMdd")}";
|
||||
}
|
||||
|
||||
|
||||
// report.location_code = input.location_code;
|
||||
report.create_id = _userManager.UserId;
|
||||
report.create_time = DateTime.Now;
|
||||
// report.batch = input.mo_task_code + DateTimeOffset.Now.ToUnixTimeSeconds().ToString();
|
||||
report.batch = batch;
|
||||
report.barcode = input.mo_task_code + DateTimeOffset.Now.ToUnixTimeSeconds().ToString();
|
||||
report.barqty = mbom.full_qty;
|
||||
// report.barcode = input.mo_task_code+"0001";
|
||||
@@ -1907,6 +1925,7 @@ namespace Tnb.ProductionMgr
|
||||
bindCarryCodeInput.location_code = location.location_code;
|
||||
bindCarryCodeInput.code_batch = prdMoTask.batch;
|
||||
|
||||
Log.Information($"载具绑定参数:${JsonConvert.SerializeObject(bindCarryCodeInput)}");
|
||||
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result1 = await _wmsCarryService.BindCarryMaterial(bindCarryCodeInput);
|
||||
if (result1.code != HttpStatusCode.OK)
|
||||
{
|
||||
@@ -1918,7 +1937,7 @@ namespace Tnb.ProductionMgr
|
||||
wmsPrdInstockInput.material_id = prdMoTask.material_id;
|
||||
wmsPrdInstockInput.material_code = prdMoTask.material_code;
|
||||
wmsPrdInstockInput.material_name = basMaterial.name;
|
||||
wmsPrdInstockInput.material_spec = basMaterial.material_standard;
|
||||
wmsPrdInstockInput.material_spec = basMaterial.material_specification;
|
||||
wmsPrdInstockInput.planqty = prdMoTask.scheduled_qty.Value;
|
||||
wmsPrdInstockInput.pqty = input.reported_qty;
|
||||
wmsPrdInstockInput.rqty = 0;
|
||||
@@ -1937,12 +1956,13 @@ namespace Tnb.ProductionMgr
|
||||
{
|
||||
planqty = prdMoTask.scheduled_qty.Value,
|
||||
pqty = input.reported_qty,
|
||||
code_batch = prdMoTask.batch,
|
||||
code_batch = batch,
|
||||
code = report.barcode,
|
||||
unit_id = prdMoTask.unit_id,
|
||||
carry_id = wmsCarryH.id,
|
||||
});
|
||||
|
||||
Log.Information($"生产入库参数:${JsonConvert.SerializeObject(wmsPrdInstockInput)}");
|
||||
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsPrdInstockHService.PrdInstock(wmsPrdInstockInput);
|
||||
if (result2 != null)
|
||||
{
|
||||
@@ -2523,7 +2543,7 @@ namespace Tnb.ProductionMgr
|
||||
eqp_code = (await db.Queryable<EqpEquipment>().FirstAsync(it => it.id == input.equip_id))?.code!,
|
||||
mold_code = "",
|
||||
item_code = material?.code!,
|
||||
item_standard = material?.material_standard!,
|
||||
item_standard = material?.material_specification!,
|
||||
status = "更换机台",
|
||||
operator_name = _userManager.RealName,
|
||||
create_id = _userManager.UserId,
|
||||
@@ -2570,7 +2590,7 @@ namespace Tnb.ProductionMgr
|
||||
eqp_code = "",
|
||||
mold_code = mold?.mold_code,
|
||||
item_code = material?.code!,
|
||||
item_standard = material?.material_standard!,
|
||||
item_standard = material?.material_specification!,
|
||||
status = "更换模具",
|
||||
operator_name = _userManager.RealName,
|
||||
create_id = _userManager.UserId,
|
||||
@@ -2617,7 +2637,7 @@ namespace Tnb.ProductionMgr
|
||||
eqp_code = "",
|
||||
mold_code = "",
|
||||
item_code = material?.code!,
|
||||
item_standard = material?.material_standard!,
|
||||
item_standard = material?.material_specification!,
|
||||
status = "更换产线",
|
||||
operator_name = _userManager.RealName,
|
||||
create_id = _userManager.UserId,
|
||||
@@ -3037,19 +3057,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>
|
||||
@@ -3199,34 +3214,80 @@ 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.Substring(equipment.code.Length - 2, 2)}{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.Substring(toolMolds.mold_code.Length - 2, 2)}{equipment.code.Substring(equipment.code.Length - 2, 2)}{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')}";
|
||||
// }
|
||||
//
|
||||
// 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();
|
||||
// }
|
||||
OrganizeEntity organizeEntity = await _db.Queryable<OrganizeEntity>().SingleAsync(x => x.Id == prdMoTask.workline_id);
|
||||
batch = $"{organizeEntity.EnCode.Substring(organizeEntity.EnCode.Length - 2, 2)}{DateTime.Now.ToString("yyMMdd")}";
|
||||
}
|
||||
|
||||
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_standard}*{parent.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}";
|
||||
return code;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user