diff --git a/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs b/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs index 6176426c..ada0fa11 100644 --- a/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using ZR.Admin.WebApi.Extensions; using ZR.Model.MES.mm.Dto; using ZR.Service.mes.mm; using ZR.Service.mes.mm.IService; @@ -58,5 +59,22 @@ namespace ZR.Admin.WebApi.Controllers.mes.mm var response = materialInputService.Getworkorderlist(query.datetimespan); return SUCCESS(response); } + + + /// + /// 生成配料任务 + /// + /// + [HttpPost("generatetask")] + public IActionResult Generatetask([FromBody] IngredientTaskDto task) + { + if(task==null||task.workorders==null) + { + SUCCESS(null); + } + task.ToCreate(); + int res = materialInputService.Generatetask(task, HttpContext.GetName()); + return SUCCESS(res); + } } } \ No newline at end of file diff --git a/ZR.Model/MES/mm/Dto/IngredientTaskDto.cs b/ZR.Model/MES/mm/Dto/IngredientTaskDto.cs new file mode 100644 index 00000000..f400cb67 --- /dev/null +++ b/ZR.Model/MES/mm/Dto/IngredientTaskDto.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.MES.mm.Dto +{ + public class IngredientTaskDto + { + + public string agv_position { set; get; } + public List workorders { set; get; } + + } + + public class Workerorder_Ingredient + { + public string workorder { set; get; } + public string partnumber { set; get; } + public int previousNumber { set; get; } + public int previousNumbered { set; get; } + } +} diff --git a/ZR.Model/MES/mm/MmIngredientTask.cs b/ZR.Model/MES/mm/MmIngredientTask.cs new file mode 100644 index 00000000..af056847 --- /dev/null +++ b/ZR.Model/MES/mm/MmIngredientTask.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.MES.mm +{ + /// + /// 配料任务清单 + /// + [SugarTable("mm_ingredient_task")] + public class MmIngredientTask + { + /// + /// id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 站点 + /// + [SugarColumn(ColumnName = "agv_position")] + public string AgvPosition { get; set; } + + /// + /// 配料任务id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "task_id")] + public long TaskId { get; set; } + + /// + /// 工单id + /// + public string Workorder { get; set; } + + /// + /// 零件号id + /// + public string Partnumber { get; set; } + + /// + /// 上件数 + /// + public int? PreviousNumber { get; set; } + + /// + /// 已经上件数 + /// + public int? PreviousNumbered { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + } +} diff --git a/ZR.Service/mes/mm/IService/IMaterialInputService.cs b/ZR.Service/mes/mm/IService/IMaterialInputService.cs index 456503ea..aec9c747 100644 --- a/ZR.Service/mes/mm/IService/IMaterialInputService.cs +++ b/ZR.Service/mes/mm/IService/IMaterialInputService.cs @@ -1,8 +1,10 @@ -using System; +using Microsoft.AspNetCore.Mvc; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using ZR.Model.MES.mm.Dto; using ZR.Model.MES.pro; namespace ZR.Service.mes.mm.IService @@ -13,6 +15,7 @@ namespace ZR.Service.mes.mm.IService string[] Getend_AGV_points(); List Getworkorderlist(DateTime datetimespan); + int Generatetask(IngredientTaskDto task,string name); } } diff --git a/ZR.Service/mes/mm/MaterialInputService.cs b/ZR.Service/mes/mm/MaterialInputService.cs index 67e4915e..846c4673 100644 --- a/ZR.Service/mes/mm/MaterialInputService.cs +++ b/ZR.Service/mes/mm/MaterialInputService.cs @@ -14,6 +14,8 @@ using ZR.Model.MES.mm; using ZR.Model.MES.pro; using System.Globalization; using static System.Runtime.InteropServices.JavaScript.JSType; +using ZR.Model.MES.mm.Dto; +using SqlSugar; namespace ZR.Service.mes.mm { @@ -73,10 +75,7 @@ namespace ZR.Service.mes.mm DayOfWeek dayOfWeek = datetimespan.DayOfWeek; int dayOfWeekNumber = (int)dayOfWeek + 1; // 将 DayOfWeek 枚举转换为从 1 开始的数字 - Console.WriteLine($"日期:{datetimespan}"); - Console.WriteLine($"年份:{year}"); - Console.WriteLine($"周数:{week}"); - Console.WriteLine($"这一周中的第几天:{dayOfWeekNumber}"); + List WorkorderList = Context.Queryable() .Where(it => it.Year == year) @@ -89,6 +88,36 @@ namespace ZR.Service.mes.mm return WorkorderList; } + /// + /// 生成任务单 + /// + /// + /// + public int Generatetask(IngredientTaskDto task,string name) + { + List ingredientTasks=new List (); + + foreach(var item in task.workorders) + { + MmIngredientTask ingredientTask = new MmIngredientTask(); + ingredientTask.AgvPosition = task.agv_position; + ingredientTask.TaskId = SnowFlakeSingle.Instance.NextId(); + ingredientTask.Workorder = item.workorder; + ingredientTask.Partnumber = item.partnumber; + ingredientTask.PreviousNumber = item.previousNumber; + ingredientTask.PreviousNumbered=item.previousNumbered; + ingredientTask.CreatedBy = name; + + + ingredientTasks.Add(ingredientTask); + + } + + return Context.Insertable(ingredientTasks).ExecuteCommand(); + + + } + } }