BeizeValveBackend/DOAN.Service/MES/Quality/FQC/QcFinishedproductDefectService.cs

119 lines
5.1 KiB
C#
Raw Normal View History

2024-12-27 10:08:11 +08:00
using DOAN.Model;
using DOAN.Model.MES.quality.FQC;
using DOAN.Model.MES.quality.IQC;
using DOAN.Model.MES.quality.IQC.Dto;
2024-12-27 15:06:06 +08:00
using DOAN.Model.MES.Quality.FQC.Dto;
2024-12-27 15:28:05 +08:00
using DOAN.Model.System;
2024-12-27 10:08:11 +08:00
using DOAN.Repository;
using DOAN.Service.MES.quality.FQC.IService;
using Infrastructure.Attribute;
2024-12-27 15:28:05 +08:00
using SqlSugar.DistributedSystem.Snowflake;
2024-12-27 10:08:11 +08:00
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
{
2024-12-27 15:06:06 +08:00
public bool AddDefectNum(QueryFQCDto queryFQCDto)
2024-12-27 10:08:11 +08:00
{
int flag = 0;
2024-12-27 15:28:05 +08:00
if(!string.IsNullOrEmpty(queryFQCDto.CheckName))
{
string NickName = Context.Queryable<SysUser>().Where(it => it.UserName == queryFQCDto.CheckName).Select(it => it.NickName).First();
queryFQCDto.CheckName = string.IsNullOrEmpty(NickName) ? queryFQCDto.CheckName + "|异常人员|" : NickName;
}
2024-12-27 10:08:11 +08:00
// 检查 Workorder 是否存在
var existingRecord = Context.Queryable<QcFinishedproductDefectCollection>()
2024-12-27 15:06:06 +08:00
.Where(it => it.Workorder == queryFQCDto.WorkOrder)
.Where(it => it.DefectCode == queryFQCDto.DefectCode)
2024-12-27 10:08:11 +08:00
.First();
if (existingRecord != null)
{
// 更新 Number 字段
flag = Context.Updateable<QcFinishedproductDefectCollection>()
.SetColumns(it => new QcFinishedproductDefectCollection
{
Number = it.Number + 1,
2024-12-27 15:28:05 +08:00
UpdatedTime = DateTime.Now,
CheckDatetime = DateTime.Now,
CheckName=queryFQCDto.CheckName
2024-12-27 10:08:11 +08:00
})
2024-12-27 15:06:06 +08:00
.Where(it => it.Workorder == queryFQCDto.WorkOrder)
.Where(it => it.DefectCode == queryFQCDto.DefectCode)
2024-12-27 10:08:11 +08:00
.ExecuteCommand();
}
else
{
// 插入新记录
QcFinishedproductDefectCollection qcFinishedproductDefect = new QcFinishedproductDefectCollection();
qcFinishedproductDefect.Id = XueHua;
2024-12-27 15:06:06 +08:00
qcFinishedproductDefect.Workorder = queryFQCDto.WorkOrder;
qcFinishedproductDefect.DefectCode = queryFQCDto.DefectCode;
2024-12-27 15:28:05 +08:00
qcFinishedproductDefect.DefectName = Context.Queryable<QcDefectConfig>().Where(it => it.Code == queryFQCDto.DefectCode).Select(it => it.Name).First();
qcFinishedproductDefect.CheckName = queryFQCDto.CheckName;
qcFinishedproductDefect.CheckDatetime = DateTime.Now;
2024-12-27 10:08:11 +08:00
qcFinishedproductDefect.CreatedTime = DateTime.Now;
2024-12-27 15:28:05 +08:00
2024-12-27 10:08:11 +08:00
qcFinishedproductDefect.Number = 1;
flag = Context.Insertable(qcFinishedproductDefect).ExecuteCommand();
}
return flag > 0 ? true : false;
}
2024-12-27 15:06:06 +08:00
public bool UpdateDefectNum(QueryFQCDto queryFQCDto)
2024-12-27 10:08:11 +08:00
{
int flag = 0;
2024-12-27 15:28:05 +08:00
if (!string.IsNullOrEmpty(queryFQCDto.CheckName))
{
string NickName = Context.Queryable<SysUser>().Where(it => it.UserName == queryFQCDto.CheckName).Select(it => it.NickName).First();
queryFQCDto.CheckName = string.IsNullOrEmpty(NickName) ? queryFQCDto.CheckName + "|异常人员|" : NickName;
flag = Context.Updateable<QcFinishedproductDefectCollection>()
.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();
2024-12-27 10:08:11 +08:00
2024-12-27 15:28:05 +08:00
}
else
{
flag = Context.Updateable<QcFinishedproductDefectCollection>()
2024-12-27 10:08:11 +08:00
.SetColumns(it => new QcFinishedproductDefectCollection
{
2024-12-27 15:06:06 +08:00
Number = queryFQCDto.num,
2024-12-27 15:28:05 +08:00
UpdatedTime = DateTime.Now,
CheckDatetime = DateTime.Now,
2024-12-27 10:08:11 +08:00
})
2024-12-27 15:06:06 +08:00
.Where(it => it.Workorder == queryFQCDto.WorkOrder)
.Where(it => it.DefectCode == queryFQCDto.DefectCode)
2024-12-27 10:08:11 +08:00
.ExecuteCommand();
2024-12-27 15:28:05 +08:00
}
2024-12-27 10:08:11 +08:00
return flag > 0 ? true : false;
}
public List<QcFinishedproductDefectCollection> SearchDefectList(string WorkOrder)
{
return Context.Queryable<QcFinishedproductDefectCollection>().Where(it => it.Workorder == WorkOrder).ToList();
}
}
}