From 918cd5915965bc708ea99c2b0d8ef9d8bc7c045a Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Wed, 5 Mar 2025 16:29:12 +0800 Subject: [PATCH] 123 --- .../Bydlms/BydWorkorderController.cs | 27 ++++++- DOAN.Model/Bydlms/BydWorkorder.cs | 6 ++ DOAN.Model/Bydlms/Dto/BydWorkorderDto.cs | 4 + DOAN.Service/Bydlms/BydWorkorderService.cs | 76 ++++++++++++++++++- .../IBydlmsService/IBydWorkorderService.cs | 6 +- 5 files changed, 114 insertions(+), 5 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/Bydlms/BydWorkorderController.cs b/DOAN.Admin.WebApi/Controllers/Bydlms/BydWorkorderController.cs index 0dbf50a..4985b85 100644 --- a/DOAN.Admin.WebApi/Controllers/Bydlms/BydWorkorderController.cs +++ b/DOAN.Admin.WebApi/Controllers/Bydlms/BydWorkorderController.cs @@ -37,7 +37,7 @@ namespace DOAN.Admin.WebApi.Controllers.Bydlms try { var modalList = parm.Data.Adapt>(); - var response = _BydWorkorderService.AddBydWorkorderList(modalList); + var response = _BydWorkorderService.AddBydWorkorderList(modalList,parm.LineCode); Dictionary result = new Dictionary(); if (response) @@ -145,5 +145,30 @@ namespace DOAN.Admin.WebApi.Controllers.Bydlms return ToResponse(_BydWorkorderService.Delete(idArr)); } + /// + /// 上移 + /// + /// + /// + [HttpGet("move_up")] + public IActionResult MOVEUP(string OrderCode) + { + var response = _BydWorkorderService.MOVEUP(OrderCode); + return SUCCESS(response); + } + + /// + /// 下移 + /// + /// + /// + [HttpGet("move_down")] + public IActionResult MOVEDOWN(string OrderCode) + { + var response = _BydWorkorderService.MOVEDOWN(OrderCode); + return SUCCESS(response); + } + + } } \ No newline at end of file diff --git a/DOAN.Model/Bydlms/BydWorkorder.cs b/DOAN.Model/Bydlms/BydWorkorder.cs index bd0c0f8..2a40500 100644 --- a/DOAN.Model/Bydlms/BydWorkorder.cs +++ b/DOAN.Model/Bydlms/BydWorkorder.cs @@ -63,6 +63,12 @@ namespace DOAN.Model.Bydlms /// public string OrderStartTime { get; set; } + + /// + /// 计划开始时间 + /// + public DateTime OrderStartTime01 { get; set; } + /// /// 计划结束时间 /// diff --git a/DOAN.Model/Bydlms/Dto/BydWorkorderDto.cs b/DOAN.Model/Bydlms/Dto/BydWorkorderDto.cs index bdd90de..c8db6e3 100644 --- a/DOAN.Model/Bydlms/Dto/BydWorkorderDto.cs +++ b/DOAN.Model/Bydlms/Dto/BydWorkorderDto.cs @@ -6,6 +6,10 @@ namespace DOAN.Model.Bydlms.Dto /// public class BydWorkorderQueryDto : PagerInfo { + + public DateTime OrderStartTimeQueryStart { get; set; } + public DateTime OrderStartTimeQueryEnd { get; set; } + public string LineCode { get; set; } } public class QueryParam diff --git a/DOAN.Service/Bydlms/BydWorkorderService.cs b/DOAN.Service/Bydlms/BydWorkorderService.cs index 1cb200a..60d1709 100644 --- a/DOAN.Service/Bydlms/BydWorkorderService.cs +++ b/DOAN.Service/Bydlms/BydWorkorderService.cs @@ -4,6 +4,8 @@ using DOAN.Model.Bydlms.Dto; using DOAN.Model.Bydlms; using DOAN.Repository; using DOAN.Service.Bydlms.IBydlmsService; +using MailKit.Search; +using Microsoft.AspNetCore.Http; namespace DOAN.Service.Bydlms { @@ -18,14 +20,25 @@ namespace DOAN.Service.Bydlms /// /// /// - public bool AddBydWorkorderList(List workorders) + public bool AddBydWorkorderList(List workorders,string LineCode) { + // 获取当前日期和时间 + DateTime now = DateTime.Now.Date; + + int sort=Context.Queryable().Where(it => it.OrderStartTime == now.ToString("yyyy-MM-dd HH:mm:ss")).Where(it => it.LineCode == LineCode).Max(it => it.Sort); + sort = sort > 0 ? sort : 0; foreach (var workorder in workorders) { workorder.Id = SnowFlakeSingle.Instance.NextId().ToString(); workorder.CreatedBy = "BYD_MES"; workorder.CreatedTime = DateTime.Now; + workorder.OrderStartTime01 = DateTime.Parse(workorder.OrderStartTime); + // 25030509001 + sort++; + workorder.Sort= sort; + + } return Context.Insertable(workorders).ExecuteCommand() > 0; @@ -37,7 +50,9 @@ namespace DOAN.Service.Bydlms /// public PagedInfo GetList(BydWorkorderQueryDto parm) { - var predicate = QueryExp(parm); + var predicate = QueryExp(parm) + + ; var response = Queryable() .Where(predicate.ToExpression()) @@ -89,7 +104,12 @@ namespace DOAN.Service.Bydlms /// private static Expressionable QueryExp(BydWorkorderQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.LineCode), it => it.LineCode.Contains(parm.LineCode)) + .AndIF(parm.OrderStartTimeQueryStart > DateTime.MinValue, it => it.OrderStartTime01 > parm.OrderStartTimeQueryStart) + .AndIF(parm.OrderStartTimeQueryStart > DateTime.MinValue, it => it.OrderStartTime01 < parm.OrderStartTimeQueryStart) + + ; return predicate; } @@ -102,5 +122,55 @@ namespace DOAN.Service.Bydlms } return Context.Insertable(parm).ExecuteCommand(); } + + + /// + /// 上移 + /// + /// + /// + public bool MOVEUP(string OrderCode) + { + int result = 0; + int cache = 0; + BydWorkorder fisrt= Context.Queryable().Where(it => it.OrderCode == OrderCode).First(); + + BydWorkorder upIndex = Context.Queryable().Where(it => it.Sort< fisrt.Sort).OrderByDescending(it => it.Sort).First(); + cache = fisrt.Sort; + fisrt.Sort = upIndex.Sort; + upIndex.Sort = fisrt.Sort; + + UseTran2(() => + { + result= Context.Updateable(fisrt).ExecuteCommand(); + result= result+ Context.Updateable(upIndex).ExecuteCommand(); + + }); + return result == 2; + } + /// + /// 下移 + /// + /// + /// + public bool MOVEDOWN(string OrderCode) + { + int result = 0; + int cache = 0; + BydWorkorder fisrt = Context.Queryable().Where(it => it.OrderCode == OrderCode).First(); + + BydWorkorder downIndex = Context.Queryable().Where(it => it.Sort > fisrt.Sort).OrderByDescending(it => it.Sort).First(); + cache = fisrt.Sort; + fisrt.Sort = downIndex.Sort; + downIndex.Sort = fisrt.Sort; + + UseTran2(() => + { + result = Context.Updateable(fisrt).ExecuteCommand(); + result = result + Context.Updateable(downIndex).ExecuteCommand(); + + }); + return result == 2; + } } } \ No newline at end of file diff --git a/DOAN.Service/Bydlms/IBydlmsService/IBydWorkorderService.cs b/DOAN.Service/Bydlms/IBydlmsService/IBydWorkorderService.cs index 0fdd3e1..0db8f38 100644 --- a/DOAN.Service/Bydlms/IBydlmsService/IBydWorkorderService.cs +++ b/DOAN.Service/Bydlms/IBydlmsService/IBydWorkorderService.cs @@ -12,7 +12,7 @@ namespace DOAN.Service.Bydlms.IBydlmsService BydWorkorder GetInfo(string Id); - bool AddBydWorkorderList(List workorders); + bool AddBydWorkorderList(List workorders,string LineCode); BydWorkorder AddBydWorkorder(BydWorkorder parm); int UpdateBydWorkorder(BydWorkorder parm); @@ -24,5 +24,9 @@ namespace DOAN.Service.Bydlms.IBydlmsService int BatchAddBydWorkorder(List parm); + bool MOVEUP(string OrderCode); + bool MOVEDOWN(string OrderCode); + + } }