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.Model.System; using DOAN.Repository; using DOAN.Service.MES.quality.FQC.IService; using Infrastructure.Attribute; using SqlSugar.DistributedSystem.Snowflake; using static ICSharpCode.SharpZipLib.Zip.ExtendedUnixData; namespace DOAN.Service.MES.quality.FQC { /// /// 成品缺陷收集 Service业务层处理 /// [AppService(ServiceType = typeof(IQcFinishedproductDefectService), ServiceLifetime = LifeTime.Transient)] public class QcFinishedproductDefectService : BaseService, IQcFinishedproductDefectService { public bool AddDefectNum(QueryFQCDto queryFQCDto) { int flag = 0; if(!string.IsNullOrEmpty(queryFQCDto.CheckName)) { string NickName = Context.Queryable().Where(it => it.UserName == queryFQCDto.CheckName).Select(it => it.NickName).First(); queryFQCDto.CheckName = string.IsNullOrEmpty(NickName) ? queryFQCDto.CheckName + "|异常人员|" : NickName; } // 检查 Workorder 是否存在 var existingRecord = Context.Queryable() .Where(it => it.Workorder == queryFQCDto.WorkOrder) .Where(it => it.DefectCode == queryFQCDto.DefectCode) .First(); if (existingRecord != null) { // 更新 Number 字段 flag = Context.Updateable() .SetColumns(it => new QcFinishedproductDefectCollection { Number = it.Number + 1, UpdatedTime = DateTime.Now, CheckDatetime = DateTime.Now, CheckName=queryFQCDto.CheckName }) .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.DefectName = Context.Queryable().Where(it => it.Code == queryFQCDto.DefectCode).Select(it => it.Name).First(); qcFinishedproductDefect.CheckName = queryFQCDto.CheckName; qcFinishedproductDefect.CheckDatetime = DateTime.Now; qcFinishedproductDefect.CreatedTime = DateTime.Now; qcFinishedproductDefect.Number = 1; flag = Context.Insertable(qcFinishedproductDefect).ExecuteCommand(); } return flag > 0 ? true : false; } public bool UpdateDefectNum(QueryFQCDto queryFQCDto) { int flag = 0; if (!string.IsNullOrEmpty(queryFQCDto.CheckName)) { string NickName = Context.Queryable().Where(it => it.UserName == queryFQCDto.CheckName).Select(it => it.NickName).First(); queryFQCDto.CheckName = string.IsNullOrEmpty(NickName) ? queryFQCDto.CheckName + "|异常人员|" : NickName; flag = Context.Updateable() .SetColumns(it => new QcFinishedproductDefectCollection { Number = queryFQCDto.num, UpdatedTime = DateTime.Now, CheckDatetime = DateTime.Now, CheckName = queryFQCDto.CheckName, }) .Where(it => it.Workorder == queryFQCDto.WorkOrder) .Where(it => it.DefectCode == queryFQCDto.DefectCode) .ExecuteCommand(); } else { flag = Context.Updateable() .SetColumns(it => new QcFinishedproductDefectCollection { Number = queryFQCDto.num, UpdatedTime = DateTime.Now, CheckDatetime = DateTime.Now, }) .Where(it => it.Workorder == queryFQCDto.WorkOrder) .Where(it => it.DefectCode == queryFQCDto.DefectCode) .ExecuteCommand(); } return flag > 0 ? true : false; } public List SearchDefectList(string WorkOrder) { return Context.Queryable().Where(it => it.Workorder == WorkOrder).ToList(); } } }