From 5707166c5a14d97627621c25ba8d8c5e3ef24074 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 23 8月 2024 16:29:36 +0800
Subject: [PATCH] 2
---
iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs | 121 +++++++++++++++-------------------------
1 files changed, 46 insertions(+), 75 deletions(-)
diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs
index ca9e64d..deb9131 100644
--- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs
+++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs
@@ -16,7 +16,9 @@
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Text;
+using System.Text.RegularExpressions;
using System.Web;
+using static OfficeOpenXml.FormulaParsing.EpplusExcelDataProvider;
namespace iWare.Wms.Application
{
@@ -106,7 +108,7 @@
QualityDataInfoID = process.QualityDataInfoID,
OperationType = process.OperationType,
CreateUserName = process.CreatedUserName
- }).OrderBy(o => o.StartTime)
+ }).OrderByDescending(o => o.StartTime)
.ProjectToType<WorkPieceProcessOutput>()
.ToADPagedListAsync(input.PageNo, input.PageSize);
@@ -204,7 +206,7 @@
EndTime = process.EndTime.ToString(),
//QualityState = process.QualityState,
CreateUserName = process.CreatedUserName
- }).OrderBy(o => o.StartTime).Distinct()
+ }).OrderByDescending(o => o.StartTime).Distinct()
.ProjectToType<WorkPieceProcessExcelOutput>()
.ToListAsync();
@@ -261,41 +263,44 @@
[HttpGet("queryYield")]
public async Task<PageResult<QueryYieldOutput>> QueryYield([FromQuery] WorkPieceProcessSearch input)
{
-
- var workPieceProcesss = await (from process in _workPieceProcessRep.DetachedEntities
- join baseinfo in _equipmentBaseInfoRep.DetachedEntities on process.EquipmentID equals baseinfo.EquipmentId into joinedEmpty
- from baseinfo2 in joinedEmpty.DefaultIfEmpty()
- join workPiece in _workPieceInfoRep.DetachedEntities on process.WorkPieceID equals workPiece.WorkPieceID into joined2Empty
- from workPiece2 in joined2Empty.DefaultIfEmpty()
- where process.IsDeleted == false && process.WorkPieceID.Contains(string.IsNullOrEmpty(input.WorkPieceID) ? "" : input.WorkPieceID)
- && process.QualityState == (input.QualityState.HasValue ? input.QualityState.Value : process.QualityState)
- && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
- && process.WorkingProcedureCurrent == (string.IsNullOrEmpty(input.WorkingProcedureCurrent) ? process.WorkingProcedureCurrent : input.WorkingProcedureCurrent)
- && workPiece2.OP80NewCode == (string.IsNullOrEmpty(input.OP80NewCode) ? workPiece2.OP80NewCode : input.OP80NewCode)
- && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
- && process.OperationType == (string.IsNullOrEmpty(input.OperationType) ? process.OperationType : input.OperationType)
- && !string.IsNullOrEmpty(process.WorkPieceID)
- && process.StartTime >= (input.StartTimeBeginTime.HasValue ? input.StartTimeBeginTime : DateTime.MinValue)
- && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue)
- select new WorkPieceProcessOutput
- {
- Id = process.Id,
- WorkPieceID = process.WorkPieceID,
- EquipmentID = process.EquipmentID,
- EquipmentName = (baseinfo2 == null ? "" : baseinfo2.EquipmentName),
- OP80NewCode = workPiece2.OP80NewCode,
+ var workPieceProcesss2 = await (from process in _workPieceProcessRep.DetachedEntities
+ //join baseinfo in _equipmentBaseInfoRep.DetachedEntities on process.EquipmentID equals baseinfo.EquipmentId into joinedEmpty
+ //from baseinfo2 in joinedEmpty.DefaultIfEmpty()
+ //join workPiece in _workPieceInfoRep.DetachedEntities on process.WorkPieceID equals workPiece.WorkPieceID into joined2Empty
+ //from workPiece2 in joined2Empty.DefaultIfEmpty()
+ where process.IsDeleted == false && process.WorkPieceID.Contains(string.IsNullOrEmpty(input.WorkPieceID) ? "" : input.WorkPieceID)
+ && process.QualityState == (input.QualityState.HasValue ? input.QualityState.Value : process.QualityState)
+ && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
+ && process.WorkingProcedureCurrent == (string.IsNullOrEmpty(input.WorkingProcedureCurrent) ? process.WorkingProcedureCurrent : input.WorkingProcedureCurrent)
+ //&& workPiece2.OP80NewCode == (string.IsNullOrEmpty(input.OP80NewCode) ? workPiece2.OP80NewCode : input.OP80NewCode)
+ && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
+ && process.OperationType == (string.IsNullOrEmpty(input.OperationType) ? process.OperationType : input.OperationType)
+ && !string.IsNullOrEmpty(process.WorkPieceID)
+ && process.StartTime >= (input.StartTimeBeginTime.HasValue ? input.StartTimeBeginTime : DateTime.MinValue)
+ && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue)
+ select new QueryYieldOutput
+ {
+ //EquipmentID = process.EquipmentID,
+ //EquipmentName = baseinfo2.EquipmentName,
+ WorkingProcedureCurrent = process.WorkingProcedureCurrent,
+ WorkPieceID = process.WorkPieceID,
+ //StartTime = grouped.Key.StartTime,
+ YieldCount = 0
+ }).Distinct().ToListAsync();
- WorkingProcedureCurrent = process.WorkingProcedureCurrent,
- StartTime = process.StartTime,
- EndTime = process.EndTime,
- QualityState = process.QualityState,
- QualityDataInfoID = process.QualityDataInfoID,
- OperationType = process.OperationType,
- CreateUserName = process.CreatedUserName
- }).OrderBy(o => o.StartTime)
- .ProjectToType<QueryYieldOutput>()
- .ToADPagedListAsync(input.PageNo, input.PageSize);
+
+ var workPieceProcesss = workPieceProcesss2.GroupBy(x => new { x.WorkingProcedureCurrent }).Select(y => new QueryYieldOutput
+ {
+ //EquipmentID = y.Key.EquipmentID,
+ //EquipmentName = y.Key.EquipmentName,
+ WorkingProcedureCurrent = y.Key.WorkingProcedureCurrent,
+ //StartTime = grouped.Key.StartTime,
+ YieldCount = y.ToList().Count
+ })
+ .OrderBy(x => x.WorkingProcedureCurrent)
+ .ToADPagedList(input.PageNo, input.PageSize);
+
return workPieceProcesss;
}
@@ -308,48 +313,14 @@
[HttpGet("exportYield")]
public async Task<IActionResult> ExportYield([FromQuery] WorkPieceProcessSearch input)
{
- var workPieceMachiningInfos = await (from process in _workPieceProcessRep.DetachedEntities
- join baseinfo in _equipmentBaseInfoRep.DetachedEntities
- on process.EquipmentID equals baseinfo.EquipmentId into joinedEmpty
- from baseinfo2 in joinedEmpty.DefaultIfEmpty()
- join workPiece in _workPieceInfoRep.DetachedEntities on process.WorkPieceID equals workPiece.WorkPieceID into joined2Empty
- from workPiece2 in joined2Empty.DefaultIfEmpty()
- where process.IsDeleted == false && process.WorkPieceID.Contains(string.IsNullOrEmpty(input.WorkPieceID) ? "" : input.WorkPieceID)
- && process.QualityState == (input.QualityState.HasValue ? input.QualityState.Value : process.QualityState)
- && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
- && process.WorkingProcedureCurrent == (string.IsNullOrEmpty(input.WorkingProcedureCurrent) ? process.WorkingProcedureCurrent : input.WorkingProcedureCurrent)
- && process.EquipmentID == (string.IsNullOrEmpty(input.EquipmentID) ? process.EquipmentID : input.EquipmentID)
- && workPiece2.OP80NewCode == (string.IsNullOrEmpty(input.OP80NewCode) ? workPiece2.OP80NewCode : input.OP80NewCode)
- && process.OperationType == (string.IsNullOrEmpty(input.OperationType) ? process.OperationType : input.OperationType)
- && !string.IsNullOrEmpty(process.WorkPieceID)
- && process.StartTime >= (input.StartTimeBeginTime.HasValue ? input.StartTimeBeginTime : DateTime.MinValue)
- && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue)
- select new WorkPieceProcessExcelOutput
- {
- OP80NewCode = workPiece2.OP80NewCode,
-
- Id = process.Id,
- WorkPieceID = process.WorkPieceID,
- //EquipmentID = process.EquipmentID,
- EquipmentName = (baseinfo2 == null ? "" : baseinfo2.EquipmentName),
- WorkingProcedureCurrent = process.WorkingProcedureCurrent,
- StartTime = process.StartTime.ToString(),
- EndTime = process.EndTime.ToString(),
- //QualityState = process.QualityState,
- CreateUserName = process.CreatedUserName
- }).OrderBy(o => o.StartTime).Distinct()
- .ProjectToType<WorkPieceProcessExcelOutput>()
- .ToListAsync();
-
-
- foreach (WorkPieceProcessExcelOutput item in workPieceMachiningInfos)
- {
- item.StartTime = string.IsNullOrEmpty(item.StartTime) ? "" : Convert.ToDateTime(item.StartTime).ToString("yyyy-MM-dd hh:mm:ss");
- item.EndTime = string.IsNullOrEmpty(item.EndTime) ? "" : Convert.ToDateTime(item.EndTime).ToString("yyyy-MM-dd hh:mm:ss");
- }
+ input.PageNo = 1;
+ input.PageSize = 1000000;
+ var workPieceMachiningInfos2 = QueryYield(input);
+ var workPieceMachiningInfos = workPieceMachiningInfos2.Result.Rows.ToList();
+ var daList = workPieceMachiningInfos.Adapt<List<ExportYieldOutput>>();
MemoryStream ms = new();
- DataConvertUtil.ToExcelData(workPieceMachiningInfos, _sysDictTypeRep, _sysDictDataRep, out List<string> headers,
+ DataConvertUtil.ToExcelData(daList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers,
out List<List<object>> data, out string sheetName);
ExcelUtil.ToExcel(headers, data, sheetName, ms);
--
Gitblit v1.9.3