排产至工位 pc端注塑挤出任务管理 组装包装任务管理添加工位过滤

This commit is contained in:
2023-09-05 16:36:57 +08:00
parent 9fe74c54b1
commit d0af0552a3
7 changed files with 149 additions and 6 deletions

View File

@@ -678,6 +678,13 @@ namespace Tnb.ProductionMgr
moTask.scheduled_qty = input.scheduled_qty;
moTask.unit_id = mo.unit_id;
if (!string.IsNullOrEmpty(input.eqp_id))
{
OrganizeRelationEntity organizeRelationEntity = await db.Queryable<OrganizeRelationEntity>()
.Where(x => x.ObjectId == input.eqp_id && x.ObjectType == "Eqp").FirstAsync();
moTask.workstation_id = organizeRelationEntity?.OrganizeId ?? "";
}
var moCode = mo?.mo_code;
var taskCode = await _billRuleService.GetBillNumber(Tnb.BasicData.CodeTemplateConst.PRDMOTASK_CODE);
moTask.mo_task_code = taskCode;
@@ -944,10 +951,19 @@ namespace Tnb.ProductionMgr
.ToListAsync();
if (subTaskList?.Count > 0)
{
List<string> workstationIds = await _db.Queryable<OrganizeEntity>().Where(x =>
x.Category == DictConst.RegionCategoryStationCode &&
x.OrganizeIdTree.Contains(input.workline_id)).Select(x=>x.Id).ToListAsync();
List<PrdMoTask> subMoTasks = new();
List<PrdTaskLog> subMoTaskLogs = new();
foreach (var item in subTaskList)
{
BasMbomProcess basMbomProcess = await _db.Queryable<BasMbomProcess>().SingleAsync(x=>x.id==item.mbom_process_id);
List<string> mbomProcessStationIds = JsonConvert.DeserializeObject<string[][]>(basMbomProcess.station).Select(x=>x[x.Length-1]).ToList();
List<string>? resultList = workstationIds.Intersect(mbomProcessStationIds).ToList();
PrdMoTask subMoTask = new();
subMoTask.mo_id = input.mo_id;
subMoTask.material_id = item.material_id;
@@ -956,6 +972,7 @@ namespace Tnb.ProductionMgr
subMoTask.bom_id = input.bom_id;
subMoTask.process_id = item.process_id;
subMoTask.mbom_process_id = item.mbom_process_id;
subMoTask.workstation_id = resultList?.FirstOrDefault() ?? "";
subMoTask.mo_task_status = DictConst.ToBeScheduledEncode;
subMoTask.workroute_id = item.route_id;
subMoTask.workline_id = input.workline_id;