diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMo.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMo.cs index 6b12ce6d..97ec51d8 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMo.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMo.cs @@ -53,6 +53,11 @@ public partial class PrdMo : BaseEntity /// 已完工数量 /// public int? complete_qty { get; set; } + + /// + /// 已报工数量 + /// + public int? reported_work_qty { get; set; } /// /// 报废数量 diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs index 326cb5fa..ab5ad11d 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs @@ -1364,6 +1364,7 @@ namespace Tnb.ProductionMgr var row = -1; var report = await db.Queryable().FirstAsync(it => it.mo_task_id == input.mo_task_id); var prdMoTask = await db.Queryable().SingleAsync(x => x.id == input.mo_task_id); + var prdMo = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mo_id); var mbomProcess = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mbom_process_id); if (prdMoTask.mo_task_status == DictConst.MoStatusPauseCode) @@ -1444,6 +1445,35 @@ namespace Tnb.ProductionMgr .Where(x => x.id == input.mo_task_id).ExecuteCommandAsync(); } + if (prdMoTask.schedule_type==1) + { + if (prdMo.reported_work_qty == null) + { + await db.Updateable() + .SetColumns(x => x.reported_work_qty == input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + else + { + await db.Updateable() + .SetColumns(x => x.reported_work_qty == x.reported_work_qty + input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + + if (prdMo.complete_qty == null) + { + await db.Updateable() + .SetColumns(x => x.complete_qty == input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + else + { + await db.Updateable() + .SetColumns(x => x.complete_qty == x.complete_qty + input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + } + if (prdMoTask.schedule_type == 2 && !string.IsNullOrEmpty(prdMoTask.mbom_process_id)) { if (mbomProcess.is_last==1 && prdMoTask != null && !string.IsNullOrEmpty(prdMoTask.parent_id)) @@ -1462,6 +1492,32 @@ namespace Tnb.ProductionMgr // .SetColumnsIF(flag,x=>x.mo_task_status==DictConst.ComplatedEnCode) .Where(x => x.id == prdMoTask.parent_id).ExecuteCommandAsync(); } + + if (prdMo.reported_work_qty == null) + { + await db.Updateable() + .SetColumns(x => x.reported_work_qty == input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + else + { + await db.Updateable() + .SetColumns(x => x.reported_work_qty == x.reported_work_qty + input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + + if (prdMo.complete_qty == null) + { + await db.Updateable() + .SetColumns(x => x.complete_qty == input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + else + { + await db.Updateable() + .SetColumns(x => x.complete_qty == x.complete_qty + input.reported_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } } } @@ -1595,6 +1651,7 @@ namespace Tnb.ProductionMgr { List destDefects = new(); var batch = DateTime.Now.ToString("yyyyMMddHHmmss"); + var prdMoTask = await db.Queryable().SingleAsync(x => x.id == input.mo_task_id); foreach (var categoryItem in input.categoryItems) { @@ -1619,7 +1676,7 @@ namespace Tnb.ProductionMgr { #region 质检模块 //质检模块 - var prdMoTask = await db.Queryable().SingleAsync(x => x.id == input.mo_task_id); + TriggerPlanEntity entity = new TriggerPlanEntity(); entity.materialid = prdMoTask.material_id; entity.processid = prdMoTask.process_id; @@ -1640,6 +1697,34 @@ namespace Tnb.ProductionMgr await db.Updateable(defectRecord).ExecuteCommandAsync(); } var reportMaster = await db.Queryable().FirstAsync(it => it.mo_task_id == input.mo_task_id); + var prdMo = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mo_id); + + if (prdMo.reported_work_qty == null) + { + await db.Updateable() + .SetColumns(x => x.scrap_qty == input.scrap_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + else + { + await db.Updateable() + .SetColumns(x => x.scrap_qty == x.scrap_qty + input.scrap_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + + if (prdMo.complete_qty == null) + { + await db.Updateable() + .SetColumns(x => x.complete_qty == input.scrap_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + else + { + await db.Updateable() + .SetColumns(x => x.complete_qty == x.complete_qty + input.scrap_qty) + .Where(x => x.id == prdMo.id).ExecuteCommandAsync(); + } + if (reportMaster != null) { reportMaster.completed_qty += input.scrap_qty;