diff --git a/DOAN.Admin.WebApi/Controllers/MES/Quality/FQC/QcFinishedproductDefectController.cs b/DOAN.Admin.WebApi/Controllers/MES/Quality/FQC/QcFinishedproductDefectController.cs
index 0afa0c4..b594c0c 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/Quality/FQC/QcFinishedproductDefectController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/Quality/FQC/QcFinishedproductDefectController.cs
@@ -60,6 +60,20 @@ namespace DOAN.WebApi.Controllers.MES.quality.FQC
return SUCCESS(response);
}
+ //TODO 分页查询缺陷统计
+ [HttpPost("search_defect_Statistics_page")]
+ public IActionResult SearchDefectStatisticsPage([FromBody]QueryFQCShowDto queryFQCShow)
+ {
+ if(queryFQCShow == null)
+ {
+ throw new CustomException("queryFQCShow为空");
+ }
+
+ var response = qcFinishedproductDefectService.SearchDefectStatisticsPage(queryFQCShow);
+ return SUCCESS(response);
+
+ }
+
}
}
diff --git a/DOAN.Model/MES/Quality/FQC/Dto/QueryFQCShowDto.cs b/DOAN.Model/MES/Quality/FQC/Dto/QueryFQCShowDto.cs
new file mode 100644
index 0000000..c8140fb
--- /dev/null
+++ b/DOAN.Model/MES/Quality/FQC/Dto/QueryFQCShowDto.cs
@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DOAN.Model.MES.Quality.FQC.Dto
+{
+ public class QueryFQCShowDto : PagerInfo
+ {
+ ///
+ ///搜索时间
+ ///
+ public DateTime[] SearchDateTime { get; set; }
+
+ ///
+ /// 工单号
+ ///
+ public string Workorder { get; set; }
+
+ public string ProductName { get; set; }
+
+ public string ProductCode { get; set; }
+
+ ///
+ /// 检查人员
+ ///
+ public string CheckName { get; set; }
+ ///
+ /// 缺陷名称
+ ///
+ public string DefectName { get; set; }
+
+ }
+
+
+ public class ResultFQCShowDto
+ {
+ ///
+ /// 工单号(一旦确定,不可更改)
+ ///
+ public string Workorder { get; set; }
+
+ ///
+ /// 主体品名
+ ///
+
+ public string productionName { get; set; }
+
+ ///
+ /// 主体型号
+ ///
+
+ public string productionCode { get; set; }
+
+
+ ///
+ /// 派发数量
+ ///
+
+ public int? DispatchNum { get; set; }
+
+ ///
+ /// 完成数量
+ ///
+
+ public int? FinishedNum { get; set; }
+
+ ///
+ /// 缺陷总数(不合适数)
+ ///
+ public int? DefectAllNum { get; set; }
+
+ ///
+ /// 合格数
+ ///
+ public int? QualifiedNum { get; set; }
+
+
+ ///
+ /// 缺陷详情
+ ///
+ public Dictionary DefectDetailDictionary { get; set; }
+
+
+ }
+}
diff --git a/DOAN.Service/MES/Quality/FQC/IService/IQcFinishedproductDefectService.cs b/DOAN.Service/MES/Quality/FQC/IService/IQcFinishedproductDefectService.cs
index 26fc38a..772aa4f 100644
--- a/DOAN.Service/MES/Quality/FQC/IService/IQcFinishedproductDefectService.cs
+++ b/DOAN.Service/MES/Quality/FQC/IService/IQcFinishedproductDefectService.cs
@@ -1,5 +1,6 @@
using DOAN.Model.MES.quality.FQC;
using DOAN.Model.MES.Quality.FQC.Dto;
+using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -13,5 +14,7 @@ namespace DOAN.Service.MES.quality.FQC.IService
bool AddDefectNum(QueryFQCDto queryFQCDto);
bool UpdateDefectNum(QueryFQCDto queryFQCDto);
List SearchDefectList(string WorkOrder);
+
+ PagedInfo SearchDefectStatisticsPage(QueryFQCShowDto queryFQCShow);
}
}
diff --git a/DOAN.Service/MES/Quality/FQC/QcFinishedproductDefectService.cs b/DOAN.Service/MES/Quality/FQC/QcFinishedproductDefectService.cs
index 958e41c..a743a8a 100644
--- a/DOAN.Service/MES/Quality/FQC/QcFinishedproductDefectService.cs
+++ b/DOAN.Service/MES/Quality/FQC/QcFinishedproductDefectService.cs
@@ -1,9 +1,11 @@
using DOAN.Model;
+using DOAN.Model.MES.product;
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.Model.System.Dto;
using DOAN.Repository;
using DOAN.Service.MES.quality.FQC.IService;
using Infrastructure.Attribute;
@@ -112,6 +114,29 @@ namespace DOAN.Service.MES.quality.FQC
return Context.Queryable().Where(it => it.Workorder == WorkOrder).ToList();
}
+ ///
+ /// 分页查询缺陷统计
+ ///
+ ///
+ ///
+ public PagedInfo SearchDefectStatisticsPage(QueryFQCShowDto queryFQCShow)
+ {
+ var predicate = Expressionable.Create()
+ .AndIF(!string.IsNullOrEmpty(queryFQCShow.Workorder), (t1, t2, t3) => t1.Workorder.Contains(queryFQCShow.Workorder))
+ .AndIF(!string.IsNullOrEmpty(queryFQCShow.ProductName), (t1, t2, t3) => t1.productionName.Contains(queryFQCShow.ProductName))
+ .AndIF(!string.IsNullOrEmpty(queryFQCShow.ProductCode), (t1, t2, t3) => t1.productionCode.Contains(queryFQCShow.ProductCode))
+ .AndIF(!string.IsNullOrEmpty(queryFQCShow.CheckName), (t1, t2, t3) => t3.CheckName.Contains(queryFQCShow.CheckName))
+ .AndIF(!string.IsNullOrEmpty(queryFQCShow.DefectName), (t1, t2, t3) => t3.CheckName.Contains(queryFQCShow.DefectName))
+ .AndIF(queryFQCShow.SearchDateTime != null && queryFQCShow.SearchDateTime.Length >= 2 && queryFQCShow.SearchDateTime[0] > DateTime.MinValue, (t1, t2, t3) => t3.CheckDatetime > queryFQCShow.SearchDateTime[0])
+ .AndIF(queryFQCShow.SearchDateTime != null && queryFQCShow.SearchDateTime.Length >= 2 && queryFQCShow.SearchDateTime[1] > DateTime.MinValue, (t1, t2, t3) => t3.CheckDatetime > queryFQCShow.SearchDateTime[1]);
+
+ Context.Queryable().RightJoin((t1,t2)=>t1.Workorder==t2.Workorder)
+ .RightJoin((t1,t2,t3)=>
+
+
+
+ }
+
}
}