diff --git a/ZR.Admin.WebApi/Controllers/mes/mm/MmIngredientTaskController.cs b/ZR.Admin.WebApi/Controllers/mes/mm/MmIngredientTaskController.cs
new file mode 100644
index 00000000..f055ce8d
--- /dev/null
+++ b/ZR.Admin.WebApi/Controllers/mes/mm/MmIngredientTaskController.cs
@@ -0,0 +1,111 @@
+using Microsoft.AspNetCore.Mvc;
+using ZR.Model.Dto;
+using ZR.Service.mes.mm.IService;
+using ZR.Service.mes.mm;
+using ZR.Admin.WebApi.Extensions;
+using ZR.Admin.WebApi.Filters;
+using ZR.Model.MES.mm.Dto;
+using ZR.Model.MES.mm;
+
+//创建时间:2024-06-05
+namespace ZR.Admin.WebApi.Controllers
+{
+ ///
+ /// 配料任务清单
+ ///
+ [Verify]
+ [Route("mes/mm/MmIngredientTask")]
+ public class MmIngredientTaskController : BaseController
+ {
+ ///
+ /// 配料任务清单接口
+ ///
+ private readonly IMmIngredientTaskService _MmIngredientTaskService;
+
+ public MmIngredientTaskController(IMmIngredientTaskService MmIngredientTaskService)
+ {
+ _MmIngredientTaskService = MmIngredientTaskService;
+ }
+
+ ///
+ /// 查询配料任务清单列表
+ ///
+ ///
+ ///
+ [HttpGet("list")]
+ [ActionPermissionFilter(Permission = "business:mmingredienttask:list")]
+ public IActionResult QueryMmIngredientTask([FromQuery] MmIngredientTaskQueryDto parm)
+ {
+ var response = _MmIngredientTaskService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 查询配料任务清单详情
+ ///
+ ///
+ ///
+ [HttpGet("{Id}")]
+ [ActionPermissionFilter(Permission = "business:mmingredienttask:query")]
+ public IActionResult GetMmIngredientTask(int Id)
+ {
+ var response = _MmIngredientTaskService.GetInfo(Id);
+
+ var info = response.Adapt();
+ return SUCCESS(info);
+ }
+
+ ///
+ /// 添加配料任务清单
+ ///
+ ///
+ [HttpPost]
+ [ActionPermissionFilter(Permission = "business:mmingredienttask:add")]
+ [Log(Title = "配料任务清单", BusinessType = BusinessType.INSERT)]
+ public IActionResult AddMmIngredientTask([FromBody] MmIngredientTaskDto parm)
+ {
+ var modal = parm.Adapt().ToCreate(HttpContext);
+
+ var response = _MmIngredientTaskService.AddMmIngredientTask(modal);
+
+ return SUCCESS(response);
+ }
+
+ ///
+ /// 更新配料任务清单
+ ///
+ ///
+ [HttpPut]
+ [ActionPermissionFilter(Permission = "business:mmingredienttask:edit")]
+ [Log(Title = "配料任务清单", BusinessType = BusinessType.UPDATE)]
+ public IActionResult UpdateMmIngredientTask([FromBody] MmIngredientTaskDto parm)
+ {
+ var modal = parm.Adapt().ToUpdate(HttpContext);
+ var response = _MmIngredientTaskService.UpdateMmIngredientTask(modal);
+
+ return ToResponse(response);
+ }
+
+ ///
+ /// 删除配料任务清单
+ ///
+ ///
+ [HttpDelete("{ids}")]
+ [ActionPermissionFilter(Permission = "business:mmingredienttask:delete")]
+ [Log(Title = "配料任务清单", BusinessType = BusinessType.DELETE)]
+ public IActionResult DeleteMmIngredientTask(string ids)
+ {
+ int[] idsArr = Tools.SpitIntArrary(ids);
+ if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
+
+ var response = _MmIngredientTaskService.Delete(idsArr);
+
+ return ToResponse(response);
+ }
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-agv任务-0605181937.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-agv任务-0605181937.zip
new file mode 100644
index 00000000..f09df83d
Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-agv任务-0605181937.zip differ
diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-配料任务清单-0605182515.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-配料任务清单-0605182515.zip
new file mode 100644
index 00000000..d345dc2c
Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-配料任务清单-0605182515.zip differ
diff --git a/ZR.Model/MES/mm/Dto/MmIngredientTaskDto.cs b/ZR.Model/MES/mm/Dto/MmIngredientTaskDto.cs
new file mode 100644
index 00000000..21fe8751
--- /dev/null
+++ b/ZR.Model/MES/mm/Dto/MmIngredientTaskDto.cs
@@ -0,0 +1,54 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace ZR.Model.MES.mm.Dto
+{
+ ///
+ /// 配料任务清单查询对象
+ ///
+ public class MmIngredientTaskQueryDto : PagerInfo
+ {
+ public string Workorder { get; set; }
+
+ public DateTime Starttime { get; set; }
+ public DateTime Endtime { get; set; }
+
+
+ }
+
+ ///
+ /// 配料任务清单输入输出对象
+ ///
+ public class MmIngredientTaskDto
+ {
+ [Required(ErrorMessage = "id不能为空")]
+ public int Id { get; set; }
+
+ public string AgvPosition { get; set; }
+
+ public string AgvPositionEnd { get; set; }
+
+ [Required(ErrorMessage = "配料任务id不能为空")]
+ public string TaskId { get; set; }
+
+ public string Workorder { get; set; }
+
+ public string Blanknumber { get; set; }
+
+ public int? Isfinal { get; set; }
+
+ public int? PreviousNumber { get; set; }
+
+ public int? PreviousNumbered { get; set; }
+
+ public string CreatedBy { get; set; }
+
+ public DateTime? CreatedTime { get; set; }
+
+ public string UpdatedBy { get; set; }
+
+ public DateTime? UpdatedTime { get; set; }
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/ZR.Service/mes/mm/IService/IMmIngredientTaskService.cs b/ZR.Service/mes/mm/IService/IMmIngredientTaskService.cs
new file mode 100644
index 00000000..b428bb87
--- /dev/null
+++ b/ZR.Service/mes/mm/IService/IMmIngredientTaskService.cs
@@ -0,0 +1,24 @@
+using System;
+using ZR.Model;
+using ZR.Model.Dto;
+using ZR.Model.MES.mm;
+using ZR.Model.MES.mm.Dto;
+using System.Collections.Generic;
+
+namespace ZR.Service.mes.mm.IService
+{
+ ///
+ /// 配料任务清单service接口
+ ///
+ public interface IMmIngredientTaskService : IBaseService
+ {
+ PagedInfo GetList(MmIngredientTaskQueryDto parm);
+
+ MmIngredientTask GetInfo(int Id);
+
+ MmIngredientTask AddMmIngredientTask(MmIngredientTask parm);
+
+ int UpdateMmIngredientTask(MmIngredientTask parm);
+
+ }
+}
diff --git a/ZR.Service/mes/mm/MmIngredientTaskService.cs b/ZR.Service/mes/mm/MmIngredientTaskService.cs
new file mode 100644
index 00000000..7cc05015
--- /dev/null
+++ b/ZR.Service/mes/mm/MmIngredientTaskService.cs
@@ -0,0 +1,92 @@
+using System;
+using SqlSugar;
+using Infrastructure.Attribute;
+using Infrastructure.Extensions;
+using ZR.Model;
+
+using ZR.Repository;
+using ZR.Model.MES.mm;
+using ZR.Service.mes.mm.IService;
+using System.Linq;
+using ZR.Model.MES.mm.Dto;
+
+namespace ZR.Service.mes.mm
+{
+ ///
+ /// 配料任务清单Service业务层处理
+ ///
+ [AppService(ServiceType = typeof(IMmIngredientTaskService), ServiceLifetime = LifeTime.Transient)]
+ public class MmIngredientTaskService : BaseService, IMmIngredientTaskService
+ {
+ ///
+ /// 查询配料任务清单列表
+ ///
+ ///
+ ///
+ public PagedInfo GetList(MmIngredientTaskQueryDto parm)
+ {
+ var predicate = Expressionable.Create()
+ .AndIF(parm.Starttime!=null&&parm.Starttime>new DateTime(1899,1,1),it=>it.CreatedTime>=parm.Starttime)
+ .AndIF(parm.Endtime!=null&&parm.Starttime>new DateTime(1899,1,1),it=>it.CreatedTime<=parm.Endtime)
+ .AndIF(!string.IsNullOrEmpty(parm.Workorder),it=>it.Workorder.Contains(parm.Workorder));
+
+ var response = Queryable()
+ .OrderByDescending(it=>it.CreatedTime)
+ .Where(predicate.ToExpression())
+ .ToPage(parm);
+
+ return response;
+ }
+
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ public MmIngredientTask GetInfo(int Id)
+ {
+ var response = Queryable()
+ .Where(x => x.Id == Id)
+ .First();
+
+ return response;
+ }
+
+ ///
+ /// 添加配料任务清单
+ ///
+ ///
+ ///
+ public MmIngredientTask AddMmIngredientTask(MmIngredientTask model)
+ {
+ return Context.Insertable(model).ExecuteReturnEntity();
+ }
+
+ ///
+ /// 修改配料任务清单
+ ///
+ ///
+ ///
+ public int UpdateMmIngredientTask(MmIngredientTask model)
+ {
+ //var response = Update(w => w.Id == model.Id, it => new MmIngredientTask()
+ //{
+ // AgvPosition = model.AgvPosition,
+ // AgvPositionEnd = model.AgvPositionEnd,
+ // Workorder = model.Workorder,
+ // Blanknumber = model.Blanknumber,
+ // Isfinal = model.Isfinal,
+ // PreviousNumber = model.PreviousNumber,
+ // PreviousNumbered = model.PreviousNumbered,
+ // CreatedBy = model.CreatedBy,
+ // CreatedTime = model.CreatedTime,
+ // UpdatedBy = model.UpdatedBy,
+ // UpdatedTime = model.UpdatedTime,
+ //});
+ //return response;
+ return Update(model, true);
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/server/ZR.Admin.WebApi/Extensions/SqlSugarCache.cs b/server/ZR.Admin.WebApi/Extensions/SqlSugarCache.cs
new file mode 100644
index 00000000..72cb5e7d
--- /dev/null
+++ b/server/ZR.Admin.WebApi/Extensions/SqlSugarCache.cs
@@ -0,0 +1,132 @@
+<<<<<<< HEAD:ZR.Admin.WebApi/Extensions/SqlSugarCache.cs
+namespace ZR.Admin.WebApi.Extensions
+{
+ public class SqlSugarCache : SqlSugar.ICacheService
+ {
+ public void Add(string key, V value)
+ {
+ //RedisServer.Cache.Set(key, value, 3600 + RedisHelper.RandomExpired(5, 30));
+ CacheHelper.SetCache(key, value);
+ }
+
+ public void Add(string key, V value, int cacheDurationInSeconds)
+ {
+ //RedisServer.Cache.Set(key, value, cacheDurationInSeconds);
+ CacheHelper.SetCaches(key, value, cacheDurationInSeconds);
+ }
+
+ public bool ContainsKey(string key)
+ {
+ //return RedisServer.Cache.Exists(key);
+ return CacheHelper.Exists(key);
+ }
+
+ public V Get(string key)
+ {
+ //return RedisServer.Cache.Get(key);
+ return (V)CacheHelper.Get(key);
+ }
+
+ public IEnumerable GetAllKey()
+ {
+ //return RedisServer.Cache.Keys("*");
+ return CacheHelper.GetCacheKeys();
+ }
+
+ public V GetOrCreate(string cacheKey, Func create, int cacheDurationInSeconds = int.MaxValue)
+ {
+ if (ContainsKey(cacheKey))
+ {
+ var result = Get(cacheKey);
+ if (result == null)
+ {
+ return create();
+ }
+ else
+ {
+ return result;
+ }
+ }
+ else
+ {
+ var restul = create();
+
+ Add(cacheKey, restul, cacheDurationInSeconds);
+ return restul;
+ }
+ }
+
+ public void Remove(string key)
+ {
+ //RedisServer.Cache.Del(key);
+ CacheHelper.Remove(key);
+ }
+ }
+=======
+using ZR.Common;
+
+namespace ZR.Admin.WebApi.Extensions
+{
+ public class SqlSugarCache : SqlSugar.ICacheService
+ {
+ public void Add(string key, V value)
+ {
+ //RedisServer.Cache.Set(key, value, 3600 + RedisHelper.RandomExpired(5, 30));
+ CacheHelper.SetCache(key, value);
+ }
+
+ public void Add(string key, V value, int cacheDurationInSeconds)
+ {
+ //RedisServer.Cache.Set(key, value, cacheDurationInSeconds);
+ CacheHelper.SetCaches(key, value, cacheDurationInSeconds);
+ }
+
+ public bool ContainsKey(string key)
+ {
+ //return RedisServer.Cache.Exists(key);
+ return CacheHelper.Exists(key);
+ }
+
+ public V Get(string key)
+ {
+ //return RedisServer.Cache.Get(key);
+ return (V)CacheHelper.Get(key);
+ }
+
+ public IEnumerable GetAllKey()
+ {
+ //return RedisServer.Cache.Keys("*");
+ return CacheHelper.GetCacheKeys();
+ }
+
+ public V GetOrCreate(string cacheKey, Func create, int cacheDurationInSeconds = int.MaxValue)
+ {
+ if (ContainsKey(cacheKey))
+ {
+ var result = Get(cacheKey);
+ if (result == null)
+ {
+ return create();
+ }
+ else
+ {
+ return result;
+ }
+ }
+ else
+ {
+ var restul = create();
+
+ Add(cacheKey, restul, cacheDurationInSeconds);
+ return restul;
+ }
+ }
+
+ public void Remove(string key)
+ {
+ //RedisServer.Cache.Del(key);
+ CacheHelper.Remove(key);
+ }
+ }
+>>>>>>> 80b1bbccf9a33424c3a3126c05ea829a35a78c2c:server/ZR.Admin.WebApi/Extensions/SqlSugarCache.cs
+}
\ No newline at end of file
diff --git a/server/ZR.Admin.WebApi/wwwroot/export/2024年3周1日计划-01-20-142515.xlsx b/server/ZR.Admin.WebApi/wwwroot/export/2024年3周1日计划-01-20-142515.xlsx
new file mode 100644
index 00000000..e69de29b