Files
kunshan-bzfm-mes-backend/DOAN.Service/Mobile/ReportFlowService.cs
qianhao.xu d77e2953b7 1
2024-12-04 14:41:33 +08:00

84 lines
2.8 KiB
C#

using DOAN.Model.MES.base_;
using DOAN.Model.MES.product;
using DOAN.Model.Mobile.ReportFlow.Dto;
using DOAN.Model.Public;
using DOAN.Service.Mobile.IService;
using DOAN.Service.Public.IPublicService;
using Infrastructure.Attribute;
using Microsoft.AspNetCore.Mvc;
namespace DOAN.Service.Mobile;
/// <summary>
/// 广告管理Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IReportFlowService), ServiceLifetime = LifeTime.Transient)]
public class ReportFlowService : BaseService<ProReportwork01>, IReportFlowService
{
public ProWorkorder GetWorkOrderDetail(string workorder)
{
return Context.Queryable<ProWorkorder>().Where(x => x.Workorder == workorder).First();
}
public ProReportwork01 GetProcessReportWorkDetail(string workorder, int process)
{
return Context.Queryable<ProReportwork01>().Where(x => x.Workorder == workorder && x.ProcessId == process).First();
}
public bool ProcessReportWork(string workorder, int process, int finish_num,int bad_num,string Worker)
{
int result = 0;
bool Exist= Context.Queryable<ProReportwork01>().Where(it => it.Workorder == workorder&&it.ProcessId==process).Any();
if (Exist)
{
result= Context.Updateable<ProReportwork01>().Where(it => it.Workorder == workorder && it.ProcessId == process)
.SetColumns(it => it.FinishNum == finish_num)
.SetColumns(it => it.BadNum == bad_num)
.SetColumns(it => it.Worker == Worker)
.SetColumns(it => it.JobDate == DateTime.Now)
.SetColumns(it => it.UpdatedBy == Worker)
.SetColumns(it => it.UpdatedTime == DateTime.Now)
.ExecuteCommand();
}
else
{
ProReportwork01 proReportwork01=new ProReportwork01();
proReportwork01.Id = XueHua;
proReportwork01.Workorder = workorder;
proReportwork01.ProcessId = process;
proReportwork01.FinishNum = finish_num;
proReportwork01.BadNum = bad_num;
proReportwork01.Worker = Worker;
proReportwork01.JobDate = DateTime.Now;
proReportwork01.CreatedBy = Worker;
proReportwork01.CreatedTime = DateTime.Now;
result= Context.Insertable(proReportwork01).ExecuteCommand();
}
return result>0;
}
public List<ProReportWorkDetialDto> GetWorkOrderReportWorkList(string workorder)
{
return Context.Queryable<ProReportwork01>()
.LeftJoin<BaseWorkProcesses>((rw, wp) => rw.ProcessId == wp.Id)
.Where((rw, wp) => rw.Workorder == workorder)
.OrderBy(rw => rw.ProcessId)
.Select((rw, wp) => new ProReportWorkDetialDto()
{
ProcessName = wp.Name,
}, true)
.ToList();
}
}