1
This commit is contained in:
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
87
DOAN.Model/MES/Quality/FQC/Dto/QueryFQCShowDto.cs
Normal file
87
DOAN.Model/MES/Quality/FQC/Dto/QueryFQCShowDto.cs
Normal file
@@ -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
|
||||
{
|
||||
/// <summary>
|
||||
///搜索时间
|
||||
/// </summary>
|
||||
public DateTime[] SearchDateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工单号
|
||||
/// </summary>
|
||||
public string Workorder { get; set; }
|
||||
|
||||
public string ProductName { get; set; }
|
||||
|
||||
public string ProductCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 检查人员
|
||||
/// </summary>
|
||||
public string CheckName { get; set; }
|
||||
/// <summary>
|
||||
/// 缺陷名称
|
||||
/// </summary>
|
||||
public string DefectName { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class ResultFQCShowDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 工单号(一旦确定,不可更改)
|
||||
/// </summary>
|
||||
public string Workorder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 主体品名
|
||||
/// </summary>
|
||||
|
||||
public string productionName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 主体型号
|
||||
/// </summary>
|
||||
|
||||
public string productionCode { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 派发数量
|
||||
/// </summary>
|
||||
|
||||
public int? DispatchNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 完成数量
|
||||
/// </summary>
|
||||
|
||||
public int? FinishedNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 缺陷总数(不合适数)
|
||||
/// </summary>
|
||||
public int? DefectAllNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 合格数
|
||||
/// </summary>
|
||||
public int? QualifiedNum { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 缺陷详情
|
||||
/// </summary>
|
||||
public Dictionary<string,int> DefectDetailDictionary { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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<QcFinishedproductDefectCollection> SearchDefectList(string WorkOrder);
|
||||
|
||||
PagedInfo<ResultFQCShowDto> SearchDefectStatisticsPage(QueryFQCShowDto queryFQCShow);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<QcFinishedproductDefectCollection>().Where(it => it.Workorder == WorkOrder).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询缺陷统计
|
||||
/// </summary>
|
||||
/// <param name="queryFQCShow"></param>
|
||||
/// <returns></returns>
|
||||
public PagedInfo<ResultFQCShowDto> SearchDefectStatisticsPage(QueryFQCShowDto queryFQCShow)
|
||||
{
|
||||
var predicate = Expressionable.Create<ProWorkorder, ProReportwork01, QcFinishedproductDefectCollection>()
|
||||
.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<ProWorkorder>().RightJoin<ProReportwork01>((t1,t2)=>t1.Workorder==t2.Workorder)
|
||||
.RightJoin<QcFinishedproductDefectCollection>((t1,t2,t3)=>
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user