diff --git a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectConfigController.cs b/DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcDefectConfigController.cs
similarity index 93%
rename from DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectConfigController.cs
rename to DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcDefectConfigController.cs
index 9372ae1..53d1731 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectConfigController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcDefectConfigController.cs
@@ -1,17 +1,17 @@
using DOAN.Admin.WebApi.Filters;
-using DOAN.Model.MES.quality;
-using DOAN.Model.MES.quality.Dto;
-using DOAN.Service.MES.quality;
+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.Admin.WebApi.Controllers
+namespace DOAN.WebApi.Controllers.MES.quality.FQC
{
///
/// 缺陷类别
///
//[Verify]
- [Route("mes/productManagement/QcDefectConfig")]
+ [Route("mes/qualityManagement/QcDefectConfig")]
public class QcDefectConfigController : BaseController
{
///
@@ -48,7 +48,7 @@ namespace DOAN.Admin.WebApi.Controllers
public IActionResult GetQcDefectConfig(int Id)
{
var response = _QcDefectConfigService.GetInfo(Id);
-
+
var info = response.Adapt();
return SUCCESS(info);
}
diff --git a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectCollectionController.cs b/DOAN.Admin.WebApi/Controllers/MES/quality/IPQC/QcDefectCollectionController.cs
similarity index 93%
rename from DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectCollectionController.cs
rename to DOAN.Admin.WebApi/Controllers/MES/quality/IPQC/QcDefectCollectionController.cs
index 0ee2418..77887b1 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectCollectionController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/quality/IPQC/QcDefectCollectionController.cs
@@ -1,20 +1,20 @@
using Microsoft.AspNetCore.Mvc;
using DOAN.Model.Dto;
-using DOAN.Model.MES.quality;
-using DOAN.Model.MES.quality.Dto;
-using DOAN.Service.MES.quality;
using DOAN.Admin.WebApi.Filters;
using DOAN.Infrastructure;
using Aliyun.OSS;
+using DOAN.Service.MES.quality.IPQC.IService;
+using DOAN.Model.MES.quality.IPQC.Dto;
+using DOAN.Model.MES.quality.IPQC;
//创建时间:2024-09-30
-namespace DOAN.Admin.WebApi.Controllers
+namespace DOAN.WebApi.Controllers.MES.quality.IPQC
{
///
/// 缺陷收集
///
[Verify]
- [Route("mes/productManagement/QcDefectCollection")]
+ [Route("mes/qualityManagement/QcDefectCollection")]
public class QcDefectCollectionController : BaseController
{
///
@@ -87,9 +87,9 @@ namespace DOAN.Admin.WebApi.Controllers
//TODO 复制同种物料
[HttpGet("copySameMaterial")]
- public IActionResult CopySameMaterial(string id)
+ public IActionResult CopySameMaterial(string id)
{
- if(string.IsNullOrEmpty(id))
+ if (string.IsNullOrEmpty(id))
{
throw new CustomException("id为空");
}
diff --git a/DOAN.Admin.WebApi/Controllers/MES/quality/IQC/QcReportLossController.cs b/DOAN.Admin.WebApi/Controllers/MES/quality/IQC/QcReportLossController.cs
new file mode 100644
index 0000000..d75fa39
--- /dev/null
+++ b/DOAN.Admin.WebApi/Controllers/MES/quality/IQC/QcReportLossController.cs
@@ -0,0 +1,44 @@
+using Microsoft.AspNetCore.Mvc;
+using DOAN.Model.Dto;
+using DOAN.Admin.WebApi.Filters;
+using DOAN.Infrastructure;
+using Aliyun.OSS;
+using DOAN.Service.MES.quality.IPQC.IService;
+using DOAN.Model.MES.quality.IPQC.Dto;
+using DOAN.Model.MES.quality.IPQC;
+using DOAN.Service.MES.quality.IQC.IService;
+using DOAN.Service.MES.quality.IPQC;
+
+//创建时间:2024-09-30
+namespace DOAN.WebApi.Controllers.MES.quality.IQC
+{
+ ///
+ /// 缺陷收集
+ ///
+ [Verify]
+ [Route("mes/qualityManagement/QcDefectCollection")]
+ public class QcReportLossController : BaseController
+ {
+ private IQcReportService qcReportService;
+
+ public QcReportLossController(IQcReportService qcReportService)
+ {
+ this.qcReportService = qcReportService;
+
+
+
+ }
+ //TODO 获取报损单
+ [HttpGet("list")]
+ [ActionPermissionFilter(Permission = "qualityManagement:qcdefectcollection:list")]
+ public IActionResult QueryQcDefectCollection([FromQuery] QcDefectCollectionQueryDto2 parm)
+ {
+ var response = qcReportService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+ }
+}
+
+
+
diff --git a/DOAN.Model/DOAN.Model.csproj b/DOAN.Model/DOAN.Model.csproj
index c74796e..a884287 100644
--- a/DOAN.Model/DOAN.Model.csproj
+++ b/DOAN.Model/DOAN.Model.csproj
@@ -27,4 +27,8 @@
Never
+
+
+
+
diff --git a/DOAN.Model/MES/quality/QcFinishedproductDefectCollection.cs b/DOAN.Model/MES/quality/FQC/QcFinishedproductDefectCollection.cs
similarity index 97%
rename from DOAN.Model/MES/quality/QcFinishedproductDefectCollection.cs
rename to DOAN.Model/MES/quality/FQC/QcFinishedproductDefectCollection.cs
index a0bf1f4..1020f1f 100644
--- a/DOAN.Model/MES/quality/QcFinishedproductDefectCollection.cs
+++ b/DOAN.Model/MES/quality/FQC/QcFinishedproductDefectCollection.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace DOAN.Model.MES.quality
+namespace DOAN.Model.MES.quality.FQC
{
///
/// 成品缺陷
diff --git a/DOAN.Model/MES/quality/Dto/QcDefectCollectionDto.cs b/DOAN.Model/MES/quality/IPQC/Dto/QcDefectCollectionDto.cs
similarity index 78%
rename from DOAN.Model/MES/quality/Dto/QcDefectCollectionDto.cs
rename to DOAN.Model/MES/quality/IPQC/Dto/QcDefectCollectionDto.cs
index cbf7b27..3e3c727 100644
--- a/DOAN.Model/MES/quality/Dto/QcDefectCollectionDto.cs
+++ b/DOAN.Model/MES/quality/IPQC/Dto/QcDefectCollectionDto.cs
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
-namespace DOAN.Model.MES.quality.Dto
+namespace DOAN.Model.MES.quality.IPQC.Dto
{
///
/// 缺陷收集查询对象
@@ -13,7 +13,7 @@ namespace DOAN.Model.MES.quality.Dto
public DateTime? DateTime { get; set; }
-
+
public string LineCode { get; set; }
@@ -67,4 +67,22 @@ namespace DOAN.Model.MES.quality.Dto
}
+
+ ///
+ /// 报损单
+ ///
+ public class QcDefectCollectionQueryDto2 : PagerInfo
+ {
+ public string MaterialCode { get; set; }
+
+ public string MaterialName { get; set; }
+
+ public DateTime? DateTime { get; set; }
+
+
+
+ public string LineCode { get; set; }
+
+ //public int? Tqm { get; set; }
+ }
}
\ No newline at end of file
diff --git a/DOAN.Model/MES/quality/QcDefectCollection.cs b/DOAN.Model/MES/quality/IPQC/QcDefectCollection.cs
similarity index 98%
rename from DOAN.Model/MES/quality/QcDefectCollection.cs
rename to DOAN.Model/MES/quality/IPQC/QcDefectCollection.cs
index 7287591..4550eae 100644
--- a/DOAN.Model/MES/quality/QcDefectCollection.cs
+++ b/DOAN.Model/MES/quality/IPQC/QcDefectCollection.cs
@@ -1,4 +1,4 @@
-namespace DOAN.Model.MES.quality
+namespace DOAN.Model.MES.quality.IPQC
{
///
/// 缺陷收集
diff --git a/DOAN.Model/MES/quality/Dto/QcDefectConfigDto.cs b/DOAN.Model/MES/quality/IQC/Dto/QcDefectConfigDto.cs
similarity index 91%
rename from DOAN.Model/MES/quality/Dto/QcDefectConfigDto.cs
rename to DOAN.Model/MES/quality/IQC/Dto/QcDefectConfigDto.cs
index 818e724..f283e6d 100644
--- a/DOAN.Model/MES/quality/Dto/QcDefectConfigDto.cs
+++ b/DOAN.Model/MES/quality/IQC/Dto/QcDefectConfigDto.cs
@@ -1,11 +1,11 @@
using System.ComponentModel.DataAnnotations;
-namespace DOAN.Model.MES.quality.Dto
+namespace DOAN.Model.MES.quality.IQC.Dto
{
///
/// 缺陷类别查询对象
///
- public class QcDefectConfigQueryDto : PagerInfo
+ public class QcDefectConfigQueryDto : PagerInfo
{
public string Name { get; set; }
public string Code { get; set; }
diff --git a/DOAN.Model/MES/quality/QcDefectConfig.cs b/DOAN.Model/MES/quality/IQC/QcDefectConfig.cs
similarity index 97%
rename from DOAN.Model/MES/quality/QcDefectConfig.cs
rename to DOAN.Model/MES/quality/IQC/QcDefectConfig.cs
index cc685e8..6d5b1af 100644
--- a/DOAN.Model/MES/quality/QcDefectConfig.cs
+++ b/DOAN.Model/MES/quality/IQC/QcDefectConfig.cs
@@ -1,5 +1,4 @@
-
-namespace DOAN.Model.MES.quality
+namespace DOAN.Model.MES.quality.IQC
{
///
/// 缺陷类别
diff --git a/DOAN.Service/MES/quality/IService/IQcDefectConfigService.cs b/DOAN.Service/MES/quality/FQC/IService/IQcDefectConfigService.cs
similarity index 77%
rename from DOAN.Service/MES/quality/IService/IQcDefectConfigService.cs
rename to DOAN.Service/MES/quality/FQC/IService/IQcDefectConfigService.cs
index e70032a..2200366 100644
--- a/DOAN.Service/MES/quality/IService/IQcDefectConfigService.cs
+++ b/DOAN.Service/MES/quality/FQC/IService/IQcDefectConfigService.cs
@@ -1,8 +1,8 @@
using DOAN.Model;
-using DOAN.Model.MES.quality;
-using DOAN.Model.MES.quality.Dto;
+using DOAN.Model.MES.quality.IQC;
+using DOAN.Model.MES.quality.IQC.Dto;
-namespace DOAN.Service.MES.quality
+namespace DOAN.Service.MES.quality.FQC.IService
{
///
/// 缺陷类别service接口
diff --git a/DOAN.Service/MES/quality/QcDefectConfigService.cs b/DOAN.Service/MES/quality/FQC/QcDefectConfigService.cs
similarity index 91%
rename from DOAN.Service/MES/quality/QcDefectConfigService.cs
rename to DOAN.Service/MES/quality/FQC/QcDefectConfigService.cs
index 5f2a550..c76fa19 100644
--- a/DOAN.Service/MES/quality/QcDefectConfigService.cs
+++ b/DOAN.Service/MES/quality/FQC/QcDefectConfigService.cs
@@ -1,11 +1,11 @@
using DOAN.Model;
-using DOAN.Model.MES.quality;
-using DOAN.Model.MES.quality.Dto;
+using DOAN.Model.MES.quality.IQC;
+using DOAN.Model.MES.quality.IQC.Dto;
using DOAN.Repository;
-using DOAN.Service.MES.quality;
+using DOAN.Service.MES.quality.FQC.IService;
using Infrastructure.Attribute;
-namespace DOAN.Service.Business
+namespace DOAN.Service.MES.quality.FQC
{
///
/// 缺陷类别Service业务层处理
@@ -21,7 +21,7 @@ namespace DOAN.Service.Business
public PagedInfo GetList(QcDefectConfigQueryDto parm)
{
var predicate = Expressionable.Create()
- .AndIF(!string.IsNullOrEmpty(parm.Name),it=>it.Name.Contains(parm.Name))
+ .AndIF(!string.IsNullOrEmpty(parm.Name), it => it.Name.Contains(parm.Name))
.AndIF(!string.IsNullOrEmpty(parm.Code), it => it.Code.Contains(parm.Code))
.AndIF(!string.IsNullOrEmpty(parm.Group), it => it.Group.Contains(parm.Group))
.AndIF(!string.IsNullOrEmpty(parm.QcType), it => it.QcType.Contains(parm.QcType))
diff --git a/DOAN.Service/MES/quality/IService/IQcDefectCollectionService.cs b/DOAN.Service/MES/quality/IPQC/IService/IQcDefectCollectionService.cs
similarity index 85%
rename from DOAN.Service/MES/quality/IService/IQcDefectCollectionService.cs
rename to DOAN.Service/MES/quality/IPQC/IService/IQcDefectCollectionService.cs
index 00cbf06..facc29b 100644
--- a/DOAN.Service/MES/quality/IService/IQcDefectCollectionService.cs
+++ b/DOAN.Service/MES/quality/IPQC/IService/IQcDefectCollectionService.cs
@@ -1,13 +1,13 @@
using System;
using DOAN.Model;
using DOAN.Model.Dto;
-using DOAN.Model.MES.quality;
-using DOAN.Model.MES.quality.Dto;
using System.Collections.Generic;
using DOAN.Model.MES.base_;
+using DOAN.Model.MES.quality.IPQC.Dto;
+using DOAN.Model.MES.quality.IPQC;
-namespace DOAN.Service.MES.quality
+namespace DOAN.Service.MES.quality.IPQC.IService
{
///
/// 缺陷收集service接口
diff --git a/DOAN.Service/MES/quality/QcDefectCollectionService.cs b/DOAN.Service/MES/quality/IPQC/QcDefectCollectionService.cs
similarity index 96%
rename from DOAN.Service/MES/quality/QcDefectCollectionService.cs
rename to DOAN.Service/MES/quality/IPQC/QcDefectCollectionService.cs
index 18d30e5..fb67949 100644
--- a/DOAN.Service/MES/quality/QcDefectCollectionService.cs
+++ b/DOAN.Service/MES/quality/IPQC/QcDefectCollectionService.cs
@@ -4,8 +4,6 @@ using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model;
using DOAN.Model.Dto;
-using DOAN.Model.MES.quality;
-using DOAN.Model.MES.quality.Dto;
using DOAN.Repository;
using System.Linq;
@@ -16,8 +14,11 @@ using DOAN.Model.MES.mm;
using NPOI.SS.UserModel;
using MathNet.Numerics.Distributions;
using Microsoft.AspNetCore.Http.HttpResults;
+using DOAN.Service.MES.quality.IPQC.IService;
+using DOAN.Model.MES.quality.IPQC.Dto;
+using DOAN.Model.MES.quality.IPQC;
-namespace DOAN.Service.MES.quality
+namespace DOAN.Service.MES.quality.IPQC
{
///
/// 缺陷收集Service业务层处理
@@ -46,7 +47,7 @@ namespace DOAN.Service.MES.quality
.GroupBy((t, i) => i.MaterialCode)
.Select((t, i) => new
{
- MaterialCode = i.MaterialCode,
+ i.MaterialCode,
ActualNum = SqlFunc.AggregateSum(i.Quantity)
}).ToList();
@@ -148,7 +149,7 @@ namespace DOAN.Service.MES.quality
newqcDefect.PlanNum = qcDefect.PlanNum;
newqcDefect.ActualNum = qcDefect.ActualNum;
newqcDefect.CreatedBy = qcDefect.CreatedBy;
- newqcDefect.CreatedTime=DateTime.Now;
+ newqcDefect.CreatedTime = DateTime.Now;
int result = Context.Insertable(newqcDefect).ExecuteCommand();
if (result == 0)
{
diff --git a/DOAN.Service/MES/quality/IQC/IService/IQcReportService.cs b/DOAN.Service/MES/quality/IQC/IService/IQcReportService.cs
new file mode 100644
index 0000000..39ab896
--- /dev/null
+++ b/DOAN.Service/MES/quality/IQC/IService/IQcReportService.cs
@@ -0,0 +1,15 @@
+using DOAN.Model.MES.quality.IPQC.Dto;
+using DOAN.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DOAN.Service.MES.quality.IQC.IService
+{
+ public interface IQcReportService
+ {
+ PagedInfo GetList(QcDefectCollectionQueryDto2 parm);
+ }
+}
diff --git a/DOAN.Service/MES/quality/IQC/QcReportService.cs b/DOAN.Service/MES/quality/IQC/QcReportService.cs
new file mode 100644
index 0000000..977d0f2
--- /dev/null
+++ b/DOAN.Service/MES/quality/IQC/QcReportService.cs
@@ -0,0 +1,46 @@
+using DOAN.Infrastructure;
+using DOAN.Model;
+using DOAN.Model.MES.quality.IPQC;
+using DOAN.Model.MES.quality.IPQC.Dto;
+using DOAN.Repository;
+using DOAN.Service.MES.quality.IQC.IService;
+using Infrastructure.Attribute;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DOAN.Service.MES.quality.IQC
+{
+ [AppService(ServiceType = typeof(IQcReportService), ServiceLifetime = LifeTime.Transient)]
+ public class QcReportService : BaseService, IQcReportService
+ {
+
+
+ ///
+ /// 查询报损单
+ ///
+ ///
+ ///
+ public PagedInfo GetList(QcDefectCollectionQueryDto2 parm)
+ {
+ parm.DateTime = ConvertDateTime.ConvertLocalDate(parm.DateTime ?? DateTime.MinValue);
+ var predicate = Expressionable.Create()
+ .AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode))
+ .AndIF(!string.IsNullOrEmpty(parm.MaterialName), it => it.MaterialName.Contains(parm.MaterialName))
+ .AndIF(!string.IsNullOrEmpty(parm.LineCode), it => it.LineCode.Contains(parm.LineCode))
+ .AndIF(parm.DateTime != null && parm.DateTime > DateTime.MinValue.AddYears(1), it => it.DateTime == parm.DateTime)
+ .And(it => it.Tqm == 1||it.Tqm==2)
+ ;
+
+ var response = Queryable()
+ .Where(predicate.ToExpression())
+ .OrderBy(it => it.MaterialCode)
+ .ToPage(parm);
+
+ return response;
+ }
+ }
+
+}