From e24a6de4c8c02df8a97d779ae41befcd2fb0a20b Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 13 May 2024 10:05:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Model/MES/mm/Dto/IngredientTaskDto.cs | 4 +- ZR.Model/MES/mm/MmFkWorkorderIngredient.cs | 12 ++++- ZR.Model/MES/mm/MmIngredientTask.cs | 5 +- ZR.Service/mes/mm/MaterialInputService.cs | 62 +++++++++++++--------- 4 files changed, 53 insertions(+), 30 deletions(-) diff --git a/ZR.Model/MES/mm/Dto/IngredientTaskDto.cs b/ZR.Model/MES/mm/Dto/IngredientTaskDto.cs index 72c04664..90f71add 100644 --- a/ZR.Model/MES/mm/Dto/IngredientTaskDto.cs +++ b/ZR.Model/MES/mm/Dto/IngredientTaskDto.cs @@ -17,7 +17,9 @@ namespace ZR.Model.MES.mm.Dto public class Workerorder_Ingredient { public string workorder { set; get; } - public string partnumber { set; get; } + + public string blanknumber { set; get; } + public int previousNumber { set; get; } public int previousNumbered { set; get; } } diff --git a/ZR.Model/MES/mm/MmFkWorkorderIngredient.cs b/ZR.Model/MES/mm/MmFkWorkorderIngredient.cs index 8f2b44fc..fe0a9c69 100644 --- a/ZR.Model/MES/mm/MmFkWorkorderIngredient.cs +++ b/ZR.Model/MES/mm/MmFkWorkorderIngredient.cs @@ -25,6 +25,12 @@ namespace ZR.Service.mes.mm [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_workorder")] public string FkWorkorder { get; set; } + /// + /// 毛坯号 + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_blanknumber")] + public string FkBlanknumber { get; set; } + /// /// 是否完成配料 /// @@ -33,7 +39,11 @@ namespace ZR.Service.mes.mm /// /// 剩余的待上件数量 /// - public int? Remian { get; set; } + [SugarColumn(ColumnName = "previous_numbered")] + public int? Previous_numbered { get; set; } + + + /// /// CreatedBy diff --git a/ZR.Model/MES/mm/MmIngredientTask.cs b/ZR.Model/MES/mm/MmIngredientTask.cs index 78c467c8..cde4a646 100644 --- a/ZR.Model/MES/mm/MmIngredientTask.cs +++ b/ZR.Model/MES/mm/MmIngredientTask.cs @@ -36,9 +36,10 @@ namespace ZR.Model.MES.mm public string Workorder { get; set; } /// - /// 零件号id + /// 毛坯号 /// - public string Partnumber { get; set; } + [SugarColumn(ColumnName = "blanknumber")] + public string Blanknumber { get; set; } /// /// 上件数 diff --git a/ZR.Service/mes/mm/MaterialInputService.cs b/ZR.Service/mes/mm/MaterialInputService.cs index 13c4f80d..719456c4 100644 --- a/ZR.Service/mes/mm/MaterialInputService.cs +++ b/ZR.Service/mes/mm/MaterialInputService.cs @@ -78,7 +78,7 @@ namespace ZR.Service.mes.mm /// /// /// - public (List,int) Getworkorderlist(WorkorderqueryDto query) + public (List, int) Getworkorderlist(WorkorderqueryDto query) { DateTime datetimespan = query.datetimespan; @@ -97,19 +97,21 @@ namespace ZR.Service.mes.mm .Where(it => it.Year == year) .Where(it => it.Week == week) .Where(it => it.Date == dayOfWeekNumber) + .Where(it=>it.Status==0) .Where(it => it.Remark3 == "是" || it.Remark1 == "调试") .ToList(); - // .ToPageList(query.pageNum??1, query.pageSize??10, ref total); + // .ToPageList(query.pageNum??1, query.pageSize??10, ref total); foreach (ProWorkorder_v2 workorder in WorkorderList) { - if(string.IsNullOrEmpty(workorder.ClientWorkorder)) + if (string.IsNullOrEmpty(workorder.ClientWorkorder)) { workorder.ClientWorkorder = "调试:" + workorder.Id; } // 配料任务 bool isExist = Context.Queryable() .Where(it => it.FkWorkorder == workorder.ClientWorkorder) + .Where(it => it.FkBlanknumber == workorder.BlankNumber) .Any(); if (!isExist) @@ -117,28 +119,33 @@ namespace ZR.Service.mes.mm //插入配料任务 MmFkWorkorderIngredient ingredient = new MmFkWorkorderIngredient(); ingredient.FkWorkorder = workorder.ClientWorkorder ?? ("调试:" + workorder.Id); + ingredient.FkBlanknumber = workorder.BlankNumber; ingredient.Isingredient = 0; - ingredient.Remian = workorder.PreviousNumber; + ingredient.Previous_numbered = workorder.PreviousNumber; ingredient.CreatedTime = DateTime.Now; Context.Insertable(ingredient).ExecuteCommand(); } else { + // todo 有个漏洞 如果计划单 修改数量 remian 就不对 var ingredient = Context.Queryable() .Where(it => it.FkWorkorder == workorder.ClientWorkorder) - .First(); + .Where(it => it.FkBlanknumber == workorder.BlankNumber) + .First(); + if (ingredient != null) { - workorder.PreviousNumber = ingredient.Remian ?? 0; - + workorder.PreviousNumber = workorder.PreviousNumber - ingredient.Previous_numbered ?? 0; } + + } } WorkorderList.RemoveAll(num => num.PreviousNumber <= 0); - total= WorkorderList.Count; + total = WorkorderList.Count; - int skip = ((query.pageNum ?? 1)-1)*(query.pageSize ?? 10); - var returndata= WorkorderList + int skip = ((query.pageNum ?? 1) - 1) * (query.pageSize ?? 10); + var returndata = WorkorderList .OrderBy(it => it.ClientWorkorder) .Skip(skip) .Take(query.pageSize ?? 10) @@ -164,7 +171,8 @@ namespace ZR.Service.mes.mm { Context.Updateable() .Where(it => it.FkWorkorder == item.workorder) - .SetColumns(it => it.Remian == remian) + .Where(it => it.FkBlanknumber == item.blanknumber) + .SetColumns(it => it.Previous_numbered == item.previousNumbered) .SetColumns(it => it.Isingredient == 1) .SetColumns(it => it.UpdatedTime == DateTime.Now) .ExecuteCommand(); @@ -174,8 +182,10 @@ namespace ZR.Service.mes.mm { Context.Updateable() .Where(it => it.FkWorkorder == item.workorder) - .SetColumns(it => it.Remian == remian) + .Where(it => it.FkBlanknumber == item.blanknumber) + .SetColumns(it => it.Previous_numbered == item.previousNumbered) .SetColumns(it => it.UpdatedTime == DateTime.Now) + .SetColumns(it => it.Isingredient == 0) .ExecuteCommand(); } @@ -185,7 +195,7 @@ namespace ZR.Service.mes.mm ingredientTask.AgvPosition = task.agv_position; ingredientTask.TaskId = taskid.ToString(); ingredientTask.Workorder = item.workorder; - ingredientTask.Partnumber = item.partnumber; + ingredientTask.Blanknumber = item.blanknumber; ingredientTask.Isfinal = 0; ingredientTask.PreviousNumber = item.previousNumber; ingredientTask.PreviousNumbered = item.previousNumbered; @@ -260,22 +270,22 @@ namespace ZR.Service.mes.mm /// public string AGV_schedule(string start_point, string end_point) { - // Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand(); - // Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand(); + // Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand(); + // Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand(); string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/genAgvSchedulingTask"; logger.Info(" 1.任务调度请求url " + url); AGVtask_third task = new AGVtask_third(); task.reqCode = SnowFlakeSingle.Instance.NextId().ToString(); task.taskTyp = "F01"; - // MmAgvLocation start_object = Context.Queryable().Where(it => it.Coordinate == start_point).First(); - // MmAgvLocation end_object = Context.Queryable().Where(it => it.Coordinate == end_point).First(); + // MmAgvLocation start_object = Context.Queryable().Where(it => it.Coordinate == start_point).First(); + // MmAgvLocation end_object = Context.Queryable().Where(it => it.Coordinate == end_point).First(); //判断是否跨楼层 - if(end_point=="R1"|| start_point == "R1") + if (end_point == "R1" || start_point == "R1") { task.taskTyp = "KLC"; } - + task.positionCodePath = new List { new AGV_location_third() @@ -311,7 +321,7 @@ namespace ZR.Service.mes.mm /// public string EmergencyStopAgv(string reqCode) { - logger.Info("\n 0.取消任务taskcode= "+ reqCode); + logger.Info("\n 0.取消任务taskcode= " + reqCode); string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/cancelTask"; logger.Info(" 1.紧急终止AGV请求url " + url); @@ -345,15 +355,15 @@ namespace ZR.Service.mes.mm int result = 0; UseTran2(() => { - // Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand(); - // Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand(); - result = Context.Updateable().Where(it => it.TaskId.Equals(taskId)).SetColumns(it => it.Isfinal == 1).ExecuteCommand(); - List tasks= Context.Queryable().Where(it => it.TaskId.Equals(taskId)).ToList(); - for(int i=0; i().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand(); + // Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand(); + result = Context.Updateable().Where(it => it.TaskId.Equals(taskId)).SetColumns(it => it.Isfinal == 1).ExecuteCommand(); + List tasks = Context.Queryable().Where(it => it.TaskId.Equals(taskId)).ToList(); + for (int i = 0; i < tasks.Count; i++) { if (!string.IsNullOrEmpty(tasks[i].Workorder)) { - Context.Updateable().Where(it=>it.ClientWorkorder== tasks[i].Workorder).SetColumns(it => it.Status == 1).ExecuteCommand(); + Context.Updateable().Where(it => it.ClientWorkorder == tasks[i].Workorder).SetColumns(it => it.Status == 1).ExecuteCommand(); } }