Files
kunshan-bzfm-mes-backend/DOAN.Service/MES/Quality/FQC/QcFinishedproductDefectService.cs
2024-12-27 15:06:06 +08:00

84 lines
3.2 KiB
C#

using DOAN.Model;
using DOAN.Model.MES.quality.FQC;
using DOAN.Model.MES.quality.IQC;
using DOAN.Model.MES.quality.IQC.Dto;
using DOAN.Model.MES.Quality.FQC.Dto;
using DOAN.Repository;
using DOAN.Service.MES.quality.FQC.IService;
using Infrastructure.Attribute;
using static ICSharpCode.SharpZipLib.Zip.ExtendedUnixData;
namespace DOAN.Service.MES.quality.FQC
{
/// <summary>
/// 成品缺陷收集 Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IQcFinishedproductDefectService), ServiceLifetime = LifeTime.Transient)]
public class QcFinishedproductDefectService : BaseService<QcFinishedproductDefectCollection>, IQcFinishedproductDefectService
{
public bool AddDefectNum(QueryFQCDto queryFQCDto)
{
int flag = 0;
// 检查 Workorder 是否存在
var existingRecord = Context.Queryable<QcFinishedproductDefectCollection>()
.Where(it => it.Workorder == queryFQCDto.WorkOrder)
.Where(it => it.DefectCode == queryFQCDto.DefectCode)
.First();
if (existingRecord != null)
{
// 更新 Number 字段
flag = Context.Updateable<QcFinishedproductDefectCollection>()
.SetColumns(it => new QcFinishedproductDefectCollection
{
Number = it.Number + 1,
UpdatedTime = DateTime.Now
})
.Where(it => it.Workorder == queryFQCDto.WorkOrder)
.Where(it => it.DefectCode == queryFQCDto.DefectCode)
.ExecuteCommand();
}
else
{
// 插入新记录
QcFinishedproductDefectCollection qcFinishedproductDefect = new QcFinishedproductDefectCollection();
qcFinishedproductDefect.Id = XueHua;
qcFinishedproductDefect.Workorder = queryFQCDto.WorkOrder;
qcFinishedproductDefect.DefectCode = queryFQCDto.DefectCode;
qcFinishedproductDefect.CreatedTime = DateTime.Now;
qcFinishedproductDefect.UpdatedTime = DateTime.Now;
qcFinishedproductDefect.Number = 1;
flag = Context.Insertable(qcFinishedproductDefect).ExecuteCommand();
}
return flag > 0 ? true : false;
}
public bool UpdateDefectNum(QueryFQCDto queryFQCDto)
{
int flag = 0;
flag = Context.Updateable<QcFinishedproductDefectCollection>()
.SetColumns(it => new QcFinishedproductDefectCollection
{
Number = queryFQCDto.num,
UpdatedTime = DateTime.Now
})
.Where(it => it.Workorder == queryFQCDto.WorkOrder)
.Where(it => it.DefectCode == queryFQCDto.DefectCode)
.ExecuteCommand();
return flag > 0 ? true : false;
}
public List<QcFinishedproductDefectCollection> SearchDefectList(string WorkOrder)
{
return Context.Queryable<QcFinishedproductDefectCollection>().Where(it => it.Workorder == WorkOrder).ToList();
}
}
}