shgx_tz_mom/ZR.Service/mes/pro/ProWorkorderService.cs
2023-11-16 16:13:30 +08:00

54 lines
2.0 KiB
C#

using Infrastructure.Attribute;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZR.Model.mes.md;
using ZR.Model.mes.pro;
using ZR.Service.mes.pro.IService;
using ZR.Service.MES.md.IService;
namespace ZR.Service.mes.pro
{
[AppService(ServiceType = typeof(IProWorkorderService), ServiceLifetime = LifeTime.Transient)]
public class ProWorkorderService : BaseService<ProWorkorder>, IProWorkorderService
{
public (List<ProWorkorder>, int) GetWorkorderList(int pageNum, int pageSize, int year, int week, int date, string isSchedule)
{
var predicate = Expressionable.Create<ProWorkorder>()
.AndIF(year > 0, it => it.Year == year)
.AndIF(week > 0, it => it.Week == week)
.AndIF(date > 0, it => it.Date == date)
.AndIF(date > 0, it => it.Isarrange.Equals(isSchedule))
.ToExpression();
int totalCount = 0;
List<ProWorkorder> proWorkorderList = Context.Queryable<ProWorkorder>().Where(predicate).ToPageList(pageNum, pageSize, ref totalCount);
return (proWorkorderList, totalCount);
}
public int SetWorkorderSechedule(string id, DateTime arrange_starttime, DateTime arrange_endtime)
{
return Context.Updateable<ProWorkorder>()
.SetColumns(it => new ProWorkorder() { ArrangeStarttime = arrange_starttime, ArrangeEndtime = arrange_endtime, Isarrange = "1" })
.Where(it => it.Id.Equals(id))
.ExecuteCommand();
}
public int ResetWorkorderSechedule(string id)
{
return Context.Updateable<ProWorkorder>()
.SetColumns(it => it.Isarrange == "0")
.Where(it => it.Id.Equals(id))
.ExecuteCommand();
}
}
}