This commit is contained in:
qianhao.xu 2025-03-05 16:29:12 +08:00
parent a5080794a6
commit 918cd59159
5 changed files with 114 additions and 5 deletions

View File

@ -37,7 +37,7 @@ namespace DOAN.Admin.WebApi.Controllers.Bydlms
try
{
var modalList = parm.Data.Adapt<List<BydWorkorder>>();
var response = _BydWorkorderService.AddBydWorkorderList(modalList);
var response = _BydWorkorderService.AddBydWorkorderList(modalList,parm.LineCode);
Dictionary<string, string> result = new Dictionary<string, string>();
if (response)
@ -145,5 +145,30 @@ namespace DOAN.Admin.WebApi.Controllers.Bydlms
return ToResponse(_BydWorkorderService.Delete(idArr));
}
/// <summary>
/// 上移
/// </summary>
/// <param name="OrderCode"></param>
/// <returns></returns>
[HttpGet("move_up")]
public IActionResult MOVEUP(string OrderCode)
{
var response = _BydWorkorderService.MOVEUP(OrderCode);
return SUCCESS(response);
}
/// <summary>
/// 下移
/// </summary>
/// <param name="OrderCode"></param>
/// <returns></returns>
[HttpGet("move_down")]
public IActionResult MOVEDOWN(string OrderCode)
{
var response = _BydWorkorderService.MOVEDOWN(OrderCode);
return SUCCESS(response);
}
}
}

View File

@ -63,6 +63,12 @@ namespace DOAN.Model.Bydlms
/// </summary>
public string OrderStartTime { get; set; }
/// <summary>
/// 计划开始时间
/// </summary>
public DateTime OrderStartTime01 { get; set; }
/// <summary>
/// 计划结束时间
/// </summary>

View File

@ -6,6 +6,10 @@ namespace DOAN.Model.Bydlms.Dto
/// </summary>
public class BydWorkorderQueryDto : PagerInfo
{
public DateTime OrderStartTimeQueryStart { get; set; }
public DateTime OrderStartTimeQueryEnd { get; set; }
public string LineCode { get; set; }
}
public class QueryParam

View File

@ -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
/// </summary>
/// <param name="workorders"></param>
/// <returns></returns>
public bool AddBydWorkorderList(List<BydWorkorder> workorders)
public bool AddBydWorkorderList(List<BydWorkorder> workorders,string LineCode)
{
// 获取当前日期和时间
DateTime now = DateTime.Now.Date;
int sort=Context.Queryable<BydWorkorder>().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
/// <returns></returns>
public PagedInfo<BydWorkorderDto> 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
/// <returns></returns>
private static Expressionable<BydWorkorder> QueryExp(BydWorkorderQueryDto parm)
{
var predicate = Expressionable.Create<BydWorkorder>();
var predicate = Expressionable.Create<BydWorkorder>()
.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();
}
/// <summary>
/// 上移
/// </summary>
/// <param name="OrderCode"></param>
/// <returns></returns>
public bool MOVEUP(string OrderCode)
{
int result = 0;
int cache = 0;
BydWorkorder fisrt= Context.Queryable<BydWorkorder>().Where(it => it.OrderCode == OrderCode).First();
BydWorkorder upIndex = Context.Queryable<BydWorkorder>().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;
}
/// <summary>
/// 下移
/// </summary>
/// <param name="OrderCode"></param>
/// <returns></returns>
public bool MOVEDOWN(string OrderCode)
{
int result = 0;
int cache = 0;
BydWorkorder fisrt = Context.Queryable<BydWorkorder>().Where(it => it.OrderCode == OrderCode).First();
BydWorkorder downIndex = Context.Queryable<BydWorkorder>().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;
}
}
}

View File

@ -12,7 +12,7 @@ namespace DOAN.Service.Bydlms.IBydlmsService
BydWorkorder GetInfo(string Id);
bool AddBydWorkorderList(List<BydWorkorder> workorders);
bool AddBydWorkorderList(List<BydWorkorder> workorders,string LineCode);
BydWorkorder AddBydWorkorder(BydWorkorder parm);
int UpdateBydWorkorder(BydWorkorder parm);
@ -24,5 +24,9 @@ namespace DOAN.Service.Bydlms.IBydlmsService
int BatchAddBydWorkorder(List<BydWorkorder> parm);
bool MOVEUP(string OrderCode);
bool MOVEDOWN(string OrderCode);
}
}