diff --git a/DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcFinishedproductDefectController.cs b/DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcFinishedproductDefectController.cs
new file mode 100644
index 0000000..884dd87
--- /dev/null
+++ b/DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcFinishedproductDefectController.cs
@@ -0,0 +1,55 @@
+using DOAN.Admin.WebApi.Filters;
+using DOAN.Model.MES.quality.IQC;
+using DOAN.Model.MES.quality.IQC.Dto;
+using DOAN.Service.MES.quality.FQC.IService;
+using Microsoft.AspNetCore.Mvc;
+
+//创建时间:2024-10-10
+namespace DOAN.WebApi.Controllers.MES.quality.FQC
+{
+ ///
+ /// 成品检验 缺陷收集
+ ///
+ [AllowAnonymous]
+ [Route("mes/qualityManagement/FQC/QcFinishedproductDefect")]
+ public class QcFinishedproductDefectController : BaseController
+ {
+ private readonly IQcFinishedproductDefectService qcFinishedproductDefectService;
+ public QcFinishedproductDefectController(IQcFinishedproductDefectService qcFinishedproductDefectService)
+ {
+ this.qcFinishedproductDefectService = qcFinishedproductDefectService;
+ }
+
+
+ //TODO 增加 缺陷数
+ [HttpGet("add_defect_num")]
+ public IActionResult AddDefectNum(string WorkOrder, string name)
+ {
+ if (string.IsNullOrEmpty(WorkOrder) || string.IsNullOrEmpty(name))
+ {
+ throw new CustomException("WorkOrder为空||name为空");
+ }
+ var response = qcFinishedproductDefectService.AddDefectNum(WorkOrder, name);
+ return SUCCESS(response);
+
+ }
+
+ //TODO 修改缺陷数
+ [HttpGet("update_defect_num")]
+ public IActionResult UpdateDefectNum(string WorkOrder, string name, int num)
+ {
+ if (string.IsNullOrEmpty(WorkOrder) || string.IsNullOrEmpty(name))
+ {
+ throw new CustomException("WorkOrder为空||name为空");
+ }
+ var response = qcFinishedproductDefectService.UpdateDefectNum(WorkOrder, name, num);
+ return SUCCESS(response);
+
+ }
+
+
+ }
+}
+
+
+
diff --git a/DOAN.Service/MES/quality/FQC/IService/IQcFinishedproductDefectService.cs b/DOAN.Service/MES/quality/FQC/IService/IQcFinishedproductDefectService.cs
new file mode 100644
index 0000000..21dfd5e
--- /dev/null
+++ b/DOAN.Service/MES/quality/FQC/IService/IQcFinishedproductDefectService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DOAN.Service.MES.quality.FQC.IService
+{
+ public interface IQcFinishedproductDefectService
+ {
+ bool AddDefectNum(string WorkOrder,string name);
+ bool UpdateDefectNum(string WorkOrder,string name,int num);
+ }
+}
diff --git a/DOAN.Service/MES/quality/FQC/QcFinishedproductDefectService.cs b/DOAN.Service/MES/quality/FQC/QcFinishedproductDefectService.cs
new file mode 100644
index 0000000..54273a7
--- /dev/null
+++ b/DOAN.Service/MES/quality/FQC/QcFinishedproductDefectService.cs
@@ -0,0 +1,76 @@
+using DOAN.Model;
+using DOAN.Model.MES.quality.FQC;
+using DOAN.Model.MES.quality.IQC;
+using DOAN.Model.MES.quality.IQC.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
+{
+ ///
+ /// 成品缺陷收集 Service业务层处理
+ ///
+ [AppService(ServiceType = typeof(IQcFinishedproductDefectService), ServiceLifetime = LifeTime.Transient)]
+ public class QcFinishedproductDefectService : BaseService, IQcFinishedproductDefectService
+ {
+ public bool AddDefectNum(string WorkOrder, string name)
+ {
+ int flag = 0;
+
+ // 检查 Workorder 是否存在
+ var existingRecord = Context.Queryable()
+ .Where(it => it.Workorder == WorkOrder)
+ .Where(it => it.DefectDescribe == name)
+ .First();
+
+ if (existingRecord != null)
+ {
+ // 更新 Number 字段
+ flag = Context.Updateable()
+ .SetColumns(it => new QcFinishedproductDefectCollection
+ {
+ Number = it.Number + 1,
+ UpdatedTime = DateTime.Now
+ })
+ .Where(it => it.Workorder == WorkOrder)
+ .Where(it => it.DefectDescribe == name)
+ .ExecuteCommand();
+ }
+ else
+ {
+ // 插入新记录
+ QcFinishedproductDefectCollection qcFinishedproductDefect = new QcFinishedproductDefectCollection();
+ qcFinishedproductDefect.Id = XueHua;
+ qcFinishedproductDefect.Workorder = WorkOrder;
+ qcFinishedproductDefect.DefectDescribe = name;
+ qcFinishedproductDefect.CreatedTime = DateTime.Now;
+ qcFinishedproductDefect.UpdatedTime = DateTime.Now;
+ qcFinishedproductDefect.Number = 1;
+ flag = Context.Insertable(qcFinishedproductDefect).ExecuteCommand();
+ }
+
+ return flag > 0 ? true : false;
+ }
+
+
+ public bool UpdateDefectNum(string WorkOrder, string name, int num)
+ {
+ int flag = 0;
+
+ flag = Context.Updateable()
+ .SetColumns(it => new QcFinishedproductDefectCollection
+ {
+ Number = num,
+ UpdatedTime = DateTime.Now
+ })
+ .Where(it => it.Workorder == WorkOrder)
+ .Where(it => it.DefectDescribe == name)
+ .ExecuteCommand();
+ return flag > 0 ? true : false;
+ }
+ }
+}
+
+
diff --git a/DOAN.ServiceCore/SqlSugar/SqlsugarSetup.cs b/DOAN.ServiceCore/SqlSugar/SqlsugarSetup.cs
index eeb0bfe..24147b6 100644
--- a/DOAN.ServiceCore/SqlSugar/SqlsugarSetup.cs
+++ b/DOAN.ServiceCore/SqlSugar/SqlsugarSetup.cs
@@ -76,28 +76,28 @@ namespace DOAN.ServiceCore.SqlSugar
////SQL执行前
db.GetConnectionScope(configId).Aop.OnLogExecuting = (sql, pars) =>
{
- //if (showDbLog)
- //{
- // string log = $"【db{configId} SQL】{UtilMethods.GetSqlString(config.DbType, sql, pars)}\n";
- // if (sql.TrimStart().StartsWith("SELECT", StringComparison.OrdinalIgnoreCase))
- // {
- // logger.Info(log);
- // }
- // else if (sql.StartsWith("UPDATE", StringComparison.OrdinalIgnoreCase) || sql.StartsWith("INSERT", StringComparison.OrdinalIgnoreCase))
- // {
- // logger.Warn(log);
- // }
- // else if (sql.StartsWith("DELETE", StringComparison.OrdinalIgnoreCase) || sql.StartsWith("TRUNCATE", StringComparison.OrdinalIgnoreCase))
- // {
- // logger.Error(log);
- // }
- // else
- // {
- // log = $"【db{configId} SQL语句】dbo.{sql} {string.Join(", ", pars.Select(x => x.ParameterName + " = " + GetParsValue(x)))};\n";
- // logger.Info(log);
- // }
- // // 计算所需时间
- //}
+ if (showDbLog)
+ {
+ string log = $"【db{configId} SQL】{UtilMethods.GetSqlString(config.DbType, sql, pars)}\n";
+ if (sql.TrimStart().StartsWith("SELECT", StringComparison.OrdinalIgnoreCase))
+ {
+ logger.Info(log);
+ }
+ else if (sql.StartsWith("UPDATE", StringComparison.OrdinalIgnoreCase) || sql.StartsWith("INSERT", StringComparison.OrdinalIgnoreCase))
+ {
+ logger.Warn(log);
+ }
+ else if (sql.StartsWith("DELETE", StringComparison.OrdinalIgnoreCase) || sql.StartsWith("TRUNCATE", StringComparison.OrdinalIgnoreCase))
+ {
+ logger.Error(log);
+ }
+ else
+ {
+ log = $"【db{configId} SQL语句】dbo.{sql} {string.Join(", ", pars.Select(x => x.ParameterName + " = " + GetParsValue(x)))};\n";
+ logger.Info(log);
+ }
+ // 计算所需时间
+ }
};
//SQL执行完
db.GetConnectionScope(configId).Aop.OnLogExecuted = (sql, pars) =>