diff --git a/ZR.Admin.WebApi/Controllers/mes/qc/FQC/QCStatisticsController.cs b/ZR.Admin.WebApi/Controllers/mes/qc/FQC/QCStatisticsController.cs
index f4cada1b..d6758774 100644
--- a/ZR.Admin.WebApi/Controllers/mes/qc/FQC/QCStatisticsController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/qc/FQC/QCStatisticsController.cs
@@ -25,9 +25,9 @@ namespace ZR.Admin.WebApi.Controllers.mes.qc.FQC
///
///
[HttpGet("queryQualityStatisticsTable_first")]
- public IActionResult GetQualityStatisticsTable_first(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public IActionResult GetQualityStatisticsTable_first(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize,int sortType)
{
- (List, int) list = qcStatistics.GetQualityStatisticsTable_first(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize);
+ (List, int) list = qcStatistics.GetQualityStatisticsTable_first(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize, sortType);
return SUCCESS(list);
}
@@ -36,9 +36,9 @@ namespace ZR.Admin.WebApi.Controllers.mes.qc.FQC
///
///
[HttpGet("queryQualityStatisticsTable_again")]
- public IActionResult GetQualityStatisticsTable_again(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public IActionResult GetQualityStatisticsTable_again(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize, int sortType)
{
- (List, int) list = qcStatistics.GetQualityStatisticsTable_again(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize);
+ (List, int) list = qcStatistics.GetQualityStatisticsTable_again(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize, sortType);
return SUCCESS(list);
}
@@ -48,9 +48,9 @@ namespace ZR.Admin.WebApi.Controllers.mes.qc.FQC
///
///
[HttpGet("queryQualityStatisticsTable_final")]
- public IActionResult GetQualityStatisticsTable_final(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public IActionResult GetQualityStatisticsTable_final(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize, int sortType)
{
- (List, int) list = qcStatistics.GetQualityStatisticsTable_final(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize);
+ (List, int) list = qcStatistics.GetQualityStatisticsTable_final(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize, sortType);
return SUCCESS(list);
}
@@ -60,9 +60,9 @@ namespace ZR.Admin.WebApi.Controllers.mes.qc.FQC
///
///
[HttpGet("queryQualityStatisticsTable_total")]
- public IActionResult GetQualityStatisticsTable_total(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public IActionResult GetQualityStatisticsTable_total(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize, int sortType)
{
- (List, int) list = qcStatistics.GetQualityStatisticsTable_total(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize);
+ (List, int) list = qcStatistics.GetQualityStatisticsTable_total(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize, sortType);
return SUCCESS(list);
}
diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json
index 9e26dfee..0b55ff4e 100644
--- a/ZR.Admin.WebApi/appsettings.json
+++ b/ZR.Admin.WebApi/appsettings.json
@@ -1 +1,3 @@
-{}
\ No newline at end of file
+{
+ //DOANtech123
+}
\ No newline at end of file
diff --git a/ZR.Service/Utils/MaterialUtils.cs b/ZR.Service/Utils/MaterialUtils.cs
index f2816fda..9e7549be 100644
--- a/ZR.Service/Utils/MaterialUtils.cs
+++ b/ZR.Service/Utils/MaterialUtils.cs
@@ -1,6 +1,6 @@
-using Microsoft.AspNetCore.Http.HttpResults;
-using System;
+using System;
using System.Text.RegularExpressions;
+using Microsoft.AspNetCore.Http.HttpResults;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
@@ -34,7 +34,8 @@ namespace ZR.Service.Utils
string quantity = "";
string batchCode = "";
// 判断解析是否成功
- if (!partnumberMatch.Success) {
+ if (!partnumberMatch.Success)
+ {
throw new Exception("解析零件号失败");
}
if (!quantityMatch.Success)
@@ -52,16 +53,18 @@ namespace ZR.Service.Utils
}
catch (Exception e)
{
-
throw new Exception("解析失败" + e.Message);
}
}
-
-
//解析外箱标签码
public ResultionPackageCodeDto ResolutionPackage(string code)
{
+ // 德国大众
+ if (code.Contains("MX2D") && code.Contains("MLX"))
+ {
+ return ResolutionPackagecode3(code);
+ }
if (code.Contains('^'))
{
// 初步进行解析检测,增加解析成功率
@@ -109,12 +112,18 @@ namespace ZR.Service.Utils
string workoderidid = splitstr[2].Substring(7);
resultionPackageCode.WorkoderID = workoderidid;
// 解析生产时间 工单号生产时间提取
- resultionPackageCode.ProductionTime = string.Concat("20", workoderidid.AsSpan(0, 6));
+ resultionPackageCode.ProductionTime = string.Concat(
+ "20",
+ workoderidid.AsSpan(0, 6)
+ );
// 解析箱子中产品数量
string product_num = splitstr[3].Substring(4);
resultionPackageCode.Quantity = int.Parse(product_num);
// 解析产品描述 partnumber 从物料列表抓取数据
- WmMaterial material = Context.Queryable().Where(it => it.Partnumber == partnumber).First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == partnumber)
+ .First();
if (material == null)
{
resultionPackageCode.ProductionDescribe = "物料记录未录入此零件号信息!";
@@ -138,7 +147,12 @@ namespace ZR.Service.Utils
return null;
}
}
- // 2-解析门把手
+
+ ///
+ /// 2-解析门把手
+ ///
+ ///
+ ///
private ResultionPackageCodeDto ResolutionPackagecode2(string packagecode)
{
ResultionPackageCodeDto resultionPackageCode = new ResultionPackageCodeDto();
@@ -162,7 +176,10 @@ namespace ZR.Service.Utils
string product_num = splitstr[4].Substring(3);
resultionPackageCode.Quantity = int.Parse(product_num);
// 解析产品描述 partnumber 从物料列表抓取数据
- WmMaterial material = Context.Queryable().Where(it => it.Partnumber == partnumber).First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == partnumber)
+ .First();
if (material == null)
{
resultionPackageCode.ProductionDescribe = "物料记录未录入此零件号信息!";
@@ -191,5 +208,100 @@ namespace ZR.Service.Utils
}
}
+ ///
+ /// 3-解析德国大众标签
+ ///
+ /// 原始标签码
+ ///
+ private ResultionPackageCodeDto ResolutionPackagecode3(string packagecode)
+ {
+ try
+ {
+ // 定义正则表达式模式
+ string partnumberPattern = @"1P(\d+)Q"; // 产品零件号
+ string quantityPattern = @"Q(\d+)S"; // 产品数量
+ string batchCodePattern = @"S(\d+)13Q"; // 批次号(工单号)
+ string serialNumberPattern = @"13Q(\d+)B"; // 流水号
+ string productionTimePattern = @"12D(\d+)4L"; // 生产日期
+ // 使用正则表达式进行匹配
+ Match partnumberMatch = Regex.Match(packagecode, partnumberPattern);
+ Match quantityMatch = Regex.Match(packagecode, quantityPattern);
+ Match batchCodeMatch = Regex.Match(packagecode, batchCodePattern);
+ Match serialNumberMatch = Regex.Match(packagecode, serialNumberPattern);
+ Match productionTimeMatch = Regex.Match(packagecode, productionTimePattern);
+ // 创建接收
+ string partnumber = "";
+ string quantityStr = "";
+ string batchCode = "";
+ string serialNumber = "";
+ string productionTime = "";
+ // 判断解析是否成功
+ if (!partnumberMatch.Success)
+ {
+ throw new Exception("解析零件号失败");
+ }
+ if (!quantityMatch.Success)
+ {
+ throw new Exception("解析产品数量失败");
+ }
+ if (!batchCodeMatch.Success)
+ {
+ throw new Exception("解析产品批次号失败");
+ }
+ if (!serialNumberMatch.Success)
+ {
+ throw new Exception("解析产品流水号失败");
+ }
+ if (!productionTimeMatch.Success)
+ {
+ throw new Exception("解析产品生产日期失败");
+ }
+ partnumber = partnumberMatch.Groups[1].Value;
+ quantityStr = quantityMatch.Groups[1].Value.TrimStart('0');
+ batchCode = batchCodeMatch.Groups[1].Value.TrimStart('0');
+ serialNumber = serialNumberMatch.Groups[1].Value.TrimStart('0');
+ productionTime = productionTimeMatch.Groups[1].Value;
+ string PatchCode = "BNW" + batchCode + '_' + serialNumber;
+ string WorkoderID = batchCode;
+ string ProductionTime = productionTime;
+ bool isSuccess1 = int.TryParse(quantityStr, out int quantity);
+ if (!isSuccess1)
+ {
+ quantity = 0;
+ }
+ // 产品描述
+ string ProductionDescribe = "";
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == partnumber)
+ .Where(it => it.Type == 1)
+ .Where(it => it.Status == 1)
+ .First();
+ if (material != null)
+ {
+ ProductionDescribe = !string.IsNullOrEmpty(material.Description)
+ ? material.Description
+ : material.ProductName;
+ }
+ ResultionPackageCodeDto resultionPackageCode =
+ new()
+ {
+ originalCode = packagecode,
+ PatchCode = PatchCode,
+ WorkoderID = WorkoderID,
+ PartNumner = partnumber,
+ ProductionTime = ProductionTime,
+ Quantity = quantity,
+ Team = "",
+ ProductionDescribe = ProductionDescribe,
+ Remark = "德国大众",
+ };
+ return resultionPackageCode;
+ }
+ catch (Exception e)
+ {
+ throw new Exception("解析失败" + e.Message);
+ }
+ }
}
}
diff --git a/ZR.Service/mes/qc/FirstFQCService.cs b/ZR.Service/mes/qc/FirstFQCService.cs
index 21104e22..442edef2 100644
--- a/ZR.Service/mes/qc/FirstFQCService.cs
+++ b/ZR.Service/mes/qc/FirstFQCService.cs
@@ -1509,6 +1509,7 @@ namespace ZR.Service.mes.qc
{
if (!string.IsNullOrEmpty(workorderID))
{
+ // 开始时间
ProWorkordertimeStep step = Context
.Queryable()
.Where(it => it.WorkoderId == workorderID)
@@ -1538,6 +1539,10 @@ namespace ZR.Service.mes.qc
first.StartTime = null;
}
}
+ else
+ {
+ throw new Exception("工单不存在!");
+ }
first.Team = team;
first.EndTime = DateTime.Now;
@@ -1723,8 +1728,6 @@ namespace ZR.Service.mes.qc
first.UpdatedTime = DateTime.Now;
#endregion
-
-
#region 打磨
QcQualityStatisticsFirst first2 = new QcQualityStatisticsFirst();
first2.Id = SnowFlakeSingle.Instance.NextId().ToString();
@@ -1933,7 +1936,6 @@ namespace ZR.Service.mes.qc
first2.UpdatedTime = DateTime.Now;
#endregion
-
#region 报废
QcQualityStatisticsFirst first3 = new QcQualityStatisticsFirst();
first3.Id = SnowFlakeSingle.Instance.NextId().ToString();
@@ -2144,7 +2146,6 @@ namespace ZR.Service.mes.qc
first3.UpdatedTime = DateTime.Now;
#endregion
-
#region 计算汇总
int qualifiedNumber_No_all = paoguang_total + damo_total + baofei_total;
@@ -2211,12 +2212,10 @@ namespace ZR.Service.mes.qc
x3.AsInsertable.ExecuteCommand(); //不存在插入
x3.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand(); //存在更新
#endregion
-
-
-
#endregion
- #region 二检
+
+ #region 二检
#region 打磨
QcQualityStatisticsAgain again2 = new QcQualityStatisticsAgain();
again2.Id = SnowFlakeSingle.Instance.NextId().ToString();
@@ -2427,6 +2426,7 @@ namespace ZR.Service.mes.qc
again2.UpdatedTime = DateTime.Now;
#endregion
+
#region 报废
QcQualityStatisticsAgain again3 = new QcQualityStatisticsAgain();
again3.Id = SnowFlakeSingle.Instance.NextId().ToString();
@@ -2666,6 +2666,7 @@ namespace ZR.Service.mes.qc
again3.UpdatedTime = DateTime.Now;
#endregion
+
#region 计算汇总
int qualifiedNumber_No_all_again = damo_total_again + baofei_total_again3;
@@ -2712,11 +2713,190 @@ namespace ZR.Service.mes.qc
x_again_3.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand(); //存在更新
#endregion
-
#endregion
- #region 三检
+
+ #region 三检
+ #region 三捡-抛光
+ QcQualityStatisticsFinal final1 = new QcQualityStatisticsFinal();
+ final1.Id = SnowFlakeSingle.Instance.NextId().ToString();
+ final1.WorkorderId = workorderID;
+ if (workorder_item != null)
+ {
+ final1.Color = workorder_item?.Colour;
+ final1.FinishedPartNumber = workorder_item.FinishedPartNumber;
+ final1.ProductDescription = workorder_item.ProductDescription;
+ final1.RequireNumber = first.QualifiedNumber + again2.QualifiedNumber;
+ if (step != null)
+ {
+ final1.StartTime = step.FirstInspectTime;
+ }
+ else
+ {
+ final1.StartTime = null;
+ }
+ }
+
+ final1.Team = team;
+ final1.EndTime = DateTime.Now;
+ final1.Remark = "抛光";
+ final1.Remark2 = 1;
+ // 三检抛光总数
+ int paoguang_final = 0;
+ List finalrecordList = Context
+ .Queryable()
+ .Where(it => it.FkWorkorderId == workorderID)
+ .Where(it => SqlFunc.Contains(it.FkInpectionId, "_1_"))
+ .ToList();
+ paoguang_final =
+ Context
+ .Queryable()
+ .Where(it => it.FkWorkorderId == workorderID)
+ .Where(it => SqlFunc.Contains(it.FkInpectionId, "_1_"))
+ .Sum(it => it.Counter) ?? 0;
+
+ if (finalrecordList != null && finalrecordList.Count > 0)
+ {
+ foreach (QcFinalinspectionRecord fianlRecord in finalrecordList)
+ {
+ if (fianlRecord.FkInpectionId == "111")
+ {
+ final1.PaintSuokong = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "112")
+ {
+ final1.PaintZhengkong = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "113")
+ {
+ final1.PaintShiguang = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "114")
+ {
+ final1.PaintSecha = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "115")
+ {
+ final1.PaintDianzi = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "116")
+ {
+ final1.PaintOther = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "211")
+ {
+ final1.DeviceShuiban = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "212")
+ {
+ final1.DeviceZandian = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "213")
+ {
+ final1.DeviceBianxing = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "214")
+ {
+ final1.DeviceYouzhu = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "215")
+ {
+ final1.DeviceTuoluo = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "216")
+ {
+ final1.DeviceZhuangshang = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "217")
+ {
+ final1.DeviceOther = fianlRecord.Counter;
+ }
+
+ if (fianlRecord.FkInpectionId == "311")
+ {
+ final1.BlankMaoci = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "312")
+ {
+ final1.BlankSuoyin = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "313")
+ {
+ final1.BlankCanshuang = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "314")
+ {
+ final1.BlankShaying = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "315")
+ {
+ final1.BlankZangdian = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "316")
+ {
+ final1.BlankDamo = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "411")
+ {
+ final1.ProgramLiuguang = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "412")
+ {
+ final1.ProgramSeqiqueqi = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "413")
+ {
+ final1.ProgramQingqiqueqi = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "414")
+ {
+ final1.ProgramJupi = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "415")
+ {
+ final1.ProgramOther = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "511")
+ {
+ final1.TeamTuoluocanshuang = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "512")
+ {
+ final1.TeamQingqiqikuai = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "513")
+ {
+ final1.TeamSeqiqikuai = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "514")
+ {
+ final1.TeamFahua = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "515")
+ {
+ final1.TeamLiangbang = fianlRecord.Counter;
+ }
+ if (fianlRecord.FkInpectionId == "516")
+ {
+ final1.TeamPenglou = fianlRecord.Counter;
+ }
+ }
+ }
+ final1.PaoguangTotal = paoguang_final;
+ final1.CreatedTime = DateTime.Now;
+ final1.UpdatedTime = DateTime.Now;
+ #endregion
+
#region 打磨
QcQualityStatisticsFinal final2 = new QcQualityStatisticsFinal();
final2.Id = SnowFlakeSingle.Instance.NextId().ToString();
@@ -2809,7 +2989,7 @@ namespace ZR.Service.mes.qc
}
if (finalrecordList2[i].FkInpectionId == "223")
{
- first2.DeviceBianxing = finalrecordList2[i].Counter;
+ final2.DeviceBianxing = finalrecordList2[i].Counter;
damo_total_final = damo_total_final + (int)finalrecordList2[i].Counter;
}
@@ -2918,7 +3098,7 @@ namespace ZR.Service.mes.qc
if (finalrecordList2[i].FkInpectionId == "526")
{
final2.TeamPenglou = finalrecordList2[i].Counter;
- damo_total_again = damo_total_again + (int)finalrecordList2[i].Counter;
+ damo_total_final = damo_total_final + (int)finalrecordList2[i].Counter;
}
}
}
@@ -2927,6 +3107,7 @@ namespace ZR.Service.mes.qc
final2.UpdatedTime = DateTime.Now;
#endregion
+
#region 报废
QcQualityStatisticsFinal final3 = new QcQualityStatisticsFinal();
final3.Id = SnowFlakeSingle.Instance.NextId().ToString();
@@ -2959,11 +3140,10 @@ namespace ZR.Service.mes.qc
final3.Remark = "报废";
final3.Remark2 = 3;
int baofei_total_final = 0;
-
List finalrecordList3 = Context
.Queryable()
.Where(it => it.FkWorkorderId == workorderID)
- .Where(it => SqlFunc.Contains(it.FkWorkorderId, "_3_"))
+ .Where(it => SqlFunc.Contains(it.FkInpectionId, "_3_"))
.ToList();
if (finalrecordList3 != null && finalrecordList3.Count > 0)
{
@@ -3166,20 +3346,48 @@ namespace ZR.Service.mes.qc
final3.UpdatedTime = DateTime.Now;
#endregion
+
#region 计算汇总
int qualifiedNumber_No_all_final = baofei_total_final + damo_total_final;
+ // 抛光表格插入
+ final1.QualifiedNumber = final1.RequireNumber - qualifiedNumber_No_all_final;
+ if (final1.RequireNumber == 0)
+ {
+ final1.QualifiedRate = 0;
+ }
+ else
+ {
+ final1.QualifiedRate = Math.Round(
+ ((decimal)final1.QualifiedNumber / (decimal)final1.RequireNumber) * 100,
+ 3
+ );
+ }
+ final1.PaoguangTotal = paoguang_final;
+ final1.DamoTotal = damo_total_final;
+ final1.BaofeiTotal = baofei_total_final;
+
+ var x_final_1 = Context
+ .Storageable(final1)
+ .WhereColumns(it => new { it.WorkorderId, it.Remark2 })
+ .ToStorage();
+ x_final_1.AsInsertable.ExecuteCommand(); //不存在插入
+ x_final_1.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand(); //存在更新
+ // 打磨表格插入
final2.QualifiedNumber = final3.RequireNumber - qualifiedNumber_No_all_final;
if (final2.RequireNumber == 0)
{
final2.QualifiedNumber = 0;
}
else
+ {
final2.QualifiedRate = Math.Round(
((decimal)final2.QualifiedNumber / (decimal)final2.RequireNumber) * 100,
3
);
+ }
+ final2.PaoguangTotal = paoguang_final;
final2.DamoTotal = damo_total_final;
final2.BaofeiTotal = baofei_total_final;
@@ -3189,13 +3397,20 @@ namespace ZR.Service.mes.qc
.ToStorage();
x_final_2.AsInsertable.ExecuteCommand(); //不存在插入
x_final_2.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand(); //存在更新
-
+ // 报废表格插入
final3.QualifiedNumber = final3.RequireNumber - qualifiedNumber_No_all_final;
- final3.QualifiedRate = Math.Round(
- ((decimal)final3.QualifiedNumber / (decimal)final3.RequireNumber) * 100,
- 3
- );
-
+ if (final3.RequireNumber == 0)
+ {
+ final3.QualifiedNumber = 0;
+ }
+ else
+ {
+ final3.QualifiedRate = Math.Round(
+ ((decimal)final3.QualifiedNumber / (decimal)final3.RequireNumber) * 100,
+ 3
+ );
+ }
+ final3.PaoguangTotal = paoguang_final;
final3.DamoTotal = damo_total_final;
final3.BaofeiTotal = baofei_total_final;
@@ -3206,17 +3421,80 @@ namespace ZR.Service.mes.qc
x_final_3.AsInsertable.ExecuteCommand(); //不存在插入
x_final_3.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand(); //存在更新
#endregion
-
-
#endregion
#region 总报表
+
+ #region 抛光 将首检的抛光和包装三检的抛光合并
+ QcQualityStatisticsTotal total1 = new QcQualityStatisticsTotal();
+ total1.Id = SnowFlakeSingle.Instance.NextId().ToString();
+ total1.WorkorderId = workorderID;
+ total1.FinishedPartNumber = workorder_item.FinishedPartNumber;
+ total1.ProductDescription = workorder_item.ProductDescription;
+ total1.Color = workorder_item.Colour;
+ //XXX:修改生产投入数为首检生产投入数 workorder_item
+ // total2.RequireNumber = again2.RequireNumber;
+ total1.RequireNumber = workorder_item.PreviousNumber;
+ if (step != null)
+ {
+ total1.StartTime = step.FirstInspectTime;
+ }
+ else
+ {
+ total1.StartTime = DateTime.Now;
+ }
+ total1.Team = team;
+ total1.EndTime = DateTime.Now;
+ total1.Remark = "抛光";
+ total1.Remark2 = 1;
+ total1.PaintSuokong = (final1.PaintSuokong ?? 0) + (first.PaintSuokong ?? 0);
+ total1.PaintZhengkong = (final1.PaintZhengkong ?? 0) + (first.PaintZhengkong ?? 0);
+ total1.PaintShiguang = (final1.PaintShiguang ?? 0) + (first.PaintShiguang ?? 0);
+ total1.PaintSecha = (final1.PaintSecha ?? 0) + (first.PaintSecha ?? 0);
+ total1.PaintDianzi = (final1.PaintDianzi ?? 0) + (first.PaintDianzi ?? 0);
+ total1.DeviceShuiban = (final1.DeviceShuiban ?? 0) + (first.DeviceShuiban ?? 0);
+ total1.PaintOther = (final1.PaintOther ?? 0) + (first.PaintOther ?? 0);
+ total1.DeviceZandian = (final1.DeviceZandian ?? 0) + (first.DeviceZandian ?? 0);
+ total1.DeviceBianxing = (final1.DeviceBianxing ?? 0) + (first.DeviceBianxing ?? 0);
+ total1.DeviceYouzhu = (final1.DeviceYouzhu ?? 0) + (first.DeviceYouzhu ?? 0);
+ total1.DeviceTuoluo = (final1.DeviceTuoluo ?? 0) + (first.DeviceTuoluo ?? 0);
+ total1.DeviceZhuangshang =
+ (final1.DeviceZhuangshang ?? 0) + (first.DeviceZhuangshang ?? 0);
+ total1.DeviceOther = final1.DeviceOther ?? 0 + first.DeviceOther ?? 0;
+ total1.BlankMaoci = (final1.BlankMaoci ?? 0) + (first.BlankMaoci ?? 0);
+ total1.BlankSuoyin = (final1.BlankSuoyin ?? 0) + (first.BlankSuoyin ?? 0);
+ total1.BlankCanshuang = (final1.BlankCanshuang ?? 0) + (first.BlankCanshuang ?? 0);
+ total1.BlankShaying = (final1.BlankShaying ?? 0) + (first.BlankShaying ?? 0);
+ total1.BlankZangdian = (final1.BlankZangdian ?? 0) + (first.BlankZangdian ?? 0);
+ total1.BlankDamo = (final1.BlankDamo ?? 0) + (first.BlankDamo ?? 0);
+ total1.ProgramLiuguang =
+ (final1.ProgramLiuguang ?? 0) + (first.ProgramLiuguang ?? 0);
+ total1.ProgramSeqiqueqi =
+ (final1.ProgramSeqiqueqi ?? 0) + (first.ProgramSeqiqueqi ?? 0);
+ total1.ProgramQingqiqueqi =
+ (final1.ProgramQingqiqueqi ?? 0) + (first.ProgramQingqiqueqi ?? 0);
+ total1.ProgramJupi = (final1.ProgramJupi ?? 0) + (first.ProgramJupi ?? 0);
+ total1.TeamTuoluocanshuang =
+ (final1.TeamTuoluocanshuang ?? 0) + (first.TeamTuoluocanshuang ?? 0);
+ total1.ProgramOther = (final1.ProgramOther ?? 0) + (first.ProgramOther ?? 0);
+ total1.TeamQingqiqikuai =
+ (final1.TeamQingqiqikuai ?? 0) + (first.TeamQingqiqikuai ?? 0);
+ total1.TeamSeqiqikuai = (final1.TeamSeqiqikuai ?? 0) + (first.TeamSeqiqikuai ?? 0);
+ total1.TeamFahua = (final1.TeamFahua ?? 0) + (first.TeamFahua ?? 0);
+ total1.TeamLiangbang = (final1.TeamLiangbang ?? 0) + (first.TeamLiangbang ?? 0);
+ total1.TeamPenglou = (final1.TeamPenglou ?? 0) + (first.TeamPenglou ?? 0);
+
+ total1.CreatedTime = DateTime.Now;
+ total1.UpdatedTime = DateTime.Now;
+
+ #endregion
+
#region 打磨 将二检的打磨和三检的打磨合并
QcQualityStatisticsTotal total2 = new QcQualityStatisticsTotal();
total2.Id = SnowFlakeSingle.Instance.NextId().ToString();
total2.WorkorderId = workorderID;
-
- total2.FinishedPartNumber = again2.FinishedPartNumber;
- total2.ProductDescription = again2.ProductDescription;
+ total2.FinishedPartNumber = workorder_item.FinishedPartNumber;
+ total2.ProductDescription = workorder_item.ProductDescription;
+ total2.Color = workorder_item.Colour;
//XXX:修改生产投入数为首检生产投入数 workorder_item
// total2.RequireNumber = again2.RequireNumber;
total2.RequireNumber = workorder_item.PreviousNumber;
@@ -3226,7 +3504,7 @@ namespace ZR.Service.mes.qc
}
else
{
- total2.StartTime = null;
+ total2.StartTime = DateTime.Now;
}
total2.Team = team;
@@ -3364,7 +3642,7 @@ namespace ZR.Service.mes.qc
}
else
{
- total3.StartTime = null;
+ total3.StartTime = DateTime.Now;
}
total3.Team = team;
@@ -3494,6 +3772,32 @@ namespace ZR.Service.mes.qc
+ qualifiedNumber_No_all_final;
//XXX:修改合格数公式:包装数
// total2.QualifiedNumber = (again2.RequireNumber ?? 0) - qualifiedNumber_No_all_total;
+
+
+ // 总报表-抛光记录插入
+ total1.QualifiedNumber = final1.QualifiedNumber;
+ if (total1.RequireNumber == 0)
+ {
+ total1.QualifiedRate = 0;
+ }
+ else
+ total1.QualifiedRate = Math.Round(
+ ((decimal)total1.QualifiedNumber / (decimal)total1.RequireNumber) * 100,
+ 3
+ );
+ // XXX:修改总报表打磨,报废数计算公式
+ total1.PaoguangTotal = first.PaoguangTotal + final1.PaoguangTotal;
+ total1.DamoTotal = damo_total + damo_total_again + damo_total_final;
+ total1.BaofeiTotal = baofei_total + baofei_total_again3 + baofei_total_final;
+ var x_total_1 = Context
+ .Storageable(total1)
+ .WhereColumns(it => new { it.WorkorderId, it.Remark2 })
+ .ToStorage();
+ x_total_1.AsInsertable.ExecuteCommand(); //不存在插入
+ x_total_1.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand(); //存在更新
+
+ // 总报表-打磨记录插入
+
total2.QualifiedNumber = final2.QualifiedNumber;
if (total2.RequireNumber == 0)
{
@@ -3505,6 +3809,7 @@ namespace ZR.Service.mes.qc
3
);
// XXX:修改总报表打磨,报废数计算公式
+ total2.PaoguangTotal = first.PaoguangTotal + final1.PaoguangTotal;
total2.DamoTotal = damo_total + damo_total_again + damo_total_final;
total2.BaofeiTotal = baofei_total + baofei_total_again3 + baofei_total_final;
// total2.DamoTotal = damo_total_again + damo_total_final;
@@ -3517,6 +3822,8 @@ namespace ZR.Service.mes.qc
.ToStorage();
x_total_2.AsInsertable.ExecuteCommand(); //不存在插入
x_total_2.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand(); //存在更新
+
+ // 总报表-报废记录插入
//XXX:修改合格数公式
// total3.QualifiedNumber = again3.RequireNumber ?? 0 - qualifiedNumber_No_all_total;
total3.QualifiedNumber = final2.QualifiedNumber;
@@ -3530,6 +3837,7 @@ namespace ZR.Service.mes.qc
3
);
// XXX:修改总报表打磨,报废数计算公式
+ total3.PaoguangTotal = first.PaoguangTotal + final1.PaoguangTotal;
total3.DamoTotal = damo_total + damo_total_again + damo_total_final;
total3.BaofeiTotal = baofei_total + baofei_total_again3 + baofei_total_final;
// total3.DamoTotal = damo_total_again + damo_total_final;
@@ -3546,6 +3854,10 @@ namespace ZR.Service.mes.qc
#endregion
+
+
+
+
// 产线报表生成后自动化操作
try
@@ -3558,7 +3870,7 @@ namespace ZR.Service.mes.qc
Partnumber = workorder_item.FinishedPartNumber,
WorkOrder = workorder_item.ClientWorkorder,
Type = workorder_item.Remark1.Contains("返工") ? 2 : 1,
- Quantity = paoguang_by_first,
+ Quantity = paoguang_by_first + paoguang_final,
ActionTime = DateTime.Now.ToLocalTime(),
CreatedBy = "包装" + team + "组",
Remark = "首检抛光自动入库。来源工单号:[" + workorder_item.ClientWorkorder + "]"
@@ -3568,7 +3880,8 @@ namespace ZR.Service.mes.qc
// 合格品检查是否是门把手,是进入成品库(仅出库),不是进入一次合格品库
string[] checkStrArray =
{
- "门把手","面盖",
+ "门把手",
+ "面盖",
"T22",
"T26",
"A58",
diff --git a/ZR.Service/mes/qc/IService/IQCStatisticsService.cs b/ZR.Service/mes/qc/IService/IQCStatisticsService.cs
index 61f98074..14d1e192 100644
--- a/ZR.Service/mes/qc/IService/IQCStatisticsService.cs
+++ b/ZR.Service/mes/qc/IService/IQCStatisticsService.cs
@@ -15,15 +15,57 @@ namespace ZR.Service.mes.qc.IService
#region 获取统计表
//获取 首检
- (List, int) GetQualityStatisticsTable_first(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize);
+ (List, int) GetQualityStatisticsTable_first(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType
+ );
//获取 二检
- (List, int) GetQualityStatisticsTable_again(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize);
+ (List, int) GetQualityStatisticsTable_again(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType
+ );
+
//获取 三检
- (List, int) GetQualityStatisticsTable_final(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize);
+ (List, int) GetQualityStatisticsTable_final(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType
+ );
+
//获取 总检
- (List, int) GetQualityStatisticsTable_total(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize);
+ (List, int) GetQualityStatisticsTable_total(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType
+ );
#endregion
public int DeleteStatisticsTable(string workorderid);
@@ -41,6 +83,16 @@ namespace ZR.Service.mes.qc.IService
///
///
///
- List DownloadStatisticsTableExcel(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize, int type);
+ List DownloadStatisticsTableExcel(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int type
+ );
}
}
diff --git a/ZR.Service/mes/qc/QCStatisticsService.cs b/ZR.Service/mes/qc/QCStatisticsService.cs
index c24107c9..c7c2e9e3 100644
--- a/ZR.Service/mes/qc/QCStatisticsService.cs
+++ b/ZR.Service/mes/qc/QCStatisticsService.cs
@@ -1,7 +1,7 @@
-using Infrastructure.Attribute;
-using SqlSugar;
-using System;
+using System;
using System.Linq;
+using Infrastructure.Attribute;
+using SqlSugar;
using ZR.Model.MES.qc;
using ZR.Model.MES.qc.DTO;
using ZR.Model.MES.wms;
@@ -15,13 +15,6 @@ namespace ZR.Service.mes.qc
[AppService(ServiceType = typeof(IQCStatisticsService), ServiceLifetime = LifeTime.Transient)]
public class QCStatisticsService : BaseService, IQCStatisticsService
{
-
-
-
-
-
-
-
///
/// 获取质量统计表 首检
///
@@ -35,44 +28,76 @@ namespace ZR.Service.mes.qc
///
///
///
- public (List, int) GetQualityStatisticsTable_first(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public (List, int) GetQualityStatisticsTable_first(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType = 0
+ )
{
starttime = starttime.ToLocalTime();
endTime = endTime.ToLocalTime();
int totalNum = 0;
- var predicate = Expressionable.Create()
+ var predicate = Expressionable
+ .Create()
//XXX:修改查询日期查询的字段
- .AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime.ToLocalTime())
- .AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime <= endTime.ToLocalTime())
- .AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Contains(workorderid))
- .AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Contains(partnumber))
+ .AndIF(
+ starttime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime >= starttime.ToLocalTime()
+ )
+ .AndIF(
+ endTime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime <= endTime.ToLocalTime()
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(workorderid),
+ it => it.WorkorderId.Contains(workorderid)
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(partnumber),
+ it => it.FinishedPartNumber.Contains(partnumber)
+ )
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
- .AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
+ .AndIF(
+ !string.IsNullOrEmpty(product_description),
+ it => it.ProductDescription.Contains(product_description)
+ )
.ToExpression();
-
- List data = Context.Queryable()
+ List data = Context
+ .Queryable()
.Where(predicate)
- .OrderBy(it => it.StartTime)
+ .OrderByIF(sortType == 0, it => it.StartTime, OrderByType.Asc)
+ .OrderByIF(sortType == 1, it => it.QualifiedRate, OrderByType.Desc)
+ .OrderByIF(sortType == 2, it => it.ProductDescription, OrderByType.Asc)
+ .OrderByIF(sortType == 3, it => it.FinishedPartNumber, OrderByType.Asc)
+ .OrderBy(it => it.WorkorderId)
.OrderBy(it => it.Remark2)
.ToPageList(pageNum, pageSize, ref totalNum);
foreach (QcQualityStatisticsFirst item in data)
{
- WmMaterial material = Context.Queryable()
- .Where(it => it.Partnumber == item.FinishedPartNumber)
- .First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == item.FinishedPartNumber)
+ .First();
if (material == null)
{
item.ProductDescription = "此零件号不在物料清单内!";
continue;
}
- item.ProductDescription = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
+ item.ProductDescription = !string.IsNullOrEmpty(material.Description)
+ ? material.Description
+ : material.ProductName;
}
return (data, totalNum);
}
-
///
/// 获取质量统计表 二检
///
@@ -86,34 +111,71 @@ namespace ZR.Service.mes.qc
///
///
///
- public (List, int) GetQualityStatisticsTable_again(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public (List, int) GetQualityStatisticsTable_again(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType = 0
+ )
{
starttime = starttime.ToLocalTime();
endTime = endTime.ToLocalTime();
int totalNum = 0;
- var predicate = Expressionable.Create()
+ var predicate = Expressionable
+ .Create()
//XXX:修改查询日期查询的字段
- .AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime.ToLocalTime())
- .AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime <= endTime.ToLocalTime())
- .AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Contains(workorderid))
- .AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Contains(partnumber))
+ .AndIF(
+ starttime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime >= starttime.ToLocalTime()
+ )
+ .AndIF(
+ endTime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime <= endTime.ToLocalTime()
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(workorderid),
+ it => it.WorkorderId.Contains(workorderid)
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(partnumber),
+ it => it.FinishedPartNumber.Contains(partnumber)
+ )
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
- .AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
+ .AndIF(
+ !string.IsNullOrEmpty(product_description),
+ it => it.ProductDescription.Contains(product_description)
+ )
.ToExpression();
-
- List data = Context.Queryable().Where(predicate).OrderBy(it => it.WorkorderId).OrderBy(it => it.Remark2).ToPageList(pageNum, pageSize, ref totalNum);
+ List data = Context
+ .Queryable()
+ .Where(predicate)
+ .OrderByIF(sortType == 0, it => it.StartTime, OrderByType.Asc)
+ .OrderByIF(sortType == 1, it => it.QualifiedRate, OrderByType.Desc)
+ .OrderByIF(sortType == 2, it => it.ProductDescription, OrderByType.Asc)
+ .OrderByIF(sortType == 3, it => it.FinishedPartNumber, OrderByType.Asc)
+ .OrderBy(it => it.WorkorderId)
+ .OrderBy(it => it.Remark2)
+ .ToPageList(pageNum, pageSize, ref totalNum);
foreach (QcQualityStatisticsAgain item in data)
{
- WmMaterial material = Context.Queryable()
- .Where(it => it.Partnumber == item.FinishedPartNumber)
- .First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == item.FinishedPartNumber)
+ .First();
if (material == null)
{
item.ProductDescription = "此零件号不在物料清单内!";
continue;
}
- item.ProductDescription = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
+ item.ProductDescription = !string.IsNullOrEmpty(material.Description)
+ ? material.Description
+ : material.ProductName;
}
return (data, totalNum);
@@ -132,40 +194,76 @@ namespace ZR.Service.mes.qc
///
///
///
- public (List, int) GetQualityStatisticsTable_final(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public (List, int) GetQualityStatisticsTable_final(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType = 0
+ )
{
starttime = starttime.ToLocalTime();
endTime = endTime.ToLocalTime();
int totalNum = 0;
- var predicate = Expressionable.Create()
+ var predicate = Expressionable
+ .Create()
//XXX:修改查询日期查询的字段
- .AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime.ToLocalTime())
- .AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime <= endTime.ToLocalTime())
- .AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Contains(workorderid))
- .AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Contains(partnumber))
+ .AndIF(
+ starttime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime >= starttime.ToLocalTime()
+ )
+ .AndIF(
+ endTime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime <= endTime.ToLocalTime()
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(workorderid),
+ it => it.WorkorderId.Contains(workorderid)
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(partnumber),
+ it => it.FinishedPartNumber.Contains(partnumber)
+ )
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
- .AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
+ .AndIF(
+ !string.IsNullOrEmpty(product_description),
+ it => it.ProductDescription.Contains(product_description)
+ )
.ToExpression();
-
- List data = Context.Queryable().Where(predicate).OrderBy(it => it.WorkorderId).OrderBy(it => it.Remark2).ToPageList(pageNum, pageSize, ref totalNum);
+ List data = Context
+ .Queryable()
+ .Where(predicate)
+ .OrderByIF(sortType == 0, it => it.StartTime, OrderByType.Asc)
+ .OrderByIF(sortType == 1, it => it.QualifiedRate, OrderByType.Desc)
+ .OrderByIF(sortType == 2, it => it.ProductDescription, OrderByType.Asc)
+ .OrderByIF(sortType == 3, it => it.FinishedPartNumber, OrderByType.Asc)
+ .OrderBy(it => it.WorkorderId)
+ .OrderBy(it => it.Remark2)
+ .ToPageList(pageNum, pageSize, ref totalNum);
foreach (QcQualityStatisticsFinal item in data)
{
- WmMaterial material = Context.Queryable()
- .Where(it => it.Partnumber == item.FinishedPartNumber)
- .First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == item.FinishedPartNumber)
+ .First();
if (material == null)
{
item.ProductDescription = "此零件号不在物料清单内!";
continue;
}
- item.ProductDescription = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
+ item.ProductDescription = !string.IsNullOrEmpty(material.Description)
+ ? material.Description
+ : material.ProductName;
}
return (data, totalNum);
}
-
///
/// 获取质量统计表 总表
///
@@ -179,33 +277,71 @@ namespace ZR.Service.mes.qc
///
///
///
- public (List, int) GetQualityStatisticsTable_total(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public (List, int) GetQualityStatisticsTable_total(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int sortType = 0
+ )
{
starttime = starttime.ToLocalTime();
endTime = endTime.ToLocalTime();
int totalNum = 0;
- var predicate = Expressionable.Create()
+ var predicate = Expressionable
+ .Create()
//XXX:修改查询日期查询的字段
- .AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime.ToLocalTime())
- .AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime <= endTime.ToLocalTime())
- .AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Contains(workorderid))
- .AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Contains(partnumber))
+ .AndIF(
+ starttime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime >= starttime.ToLocalTime()
+ )
+ .AndIF(
+ endTime > new DateTime(2023, 1, 1, 0, 0, 0),
+ it => it.StartTime <= endTime.ToLocalTime()
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(workorderid),
+ it => it.WorkorderId.Contains(workorderid)
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(partnumber),
+ it => it.FinishedPartNumber.Contains(partnumber)
+ )
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
- .AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
+ .AndIF(
+ !string.IsNullOrEmpty(product_description),
+ it => it.ProductDescription.Contains(product_description)
+ )
.ToExpression();
- List data = Context.Queryable().Where(predicate).OrderBy(it => it.WorkorderId).OrderBy(it => it.Remark2).ToPageList(pageNum, pageSize, ref totalNum);
+ List data = Context
+ .Queryable()
+ .Where(predicate)
+ .OrderByIF(sortType == 0, it => it.StartTime, OrderByType.Asc)
+ .OrderByIF(sortType == 1, it => it.QualifiedRate, OrderByType.Desc)
+ .OrderByIF(sortType == 2, it => it.ProductDescription, OrderByType.Asc)
+ .OrderByIF(sortType == 3, it => it.FinishedPartNumber, OrderByType.Asc)
+ .OrderBy(it => it.WorkorderId)
+ .OrderBy(it => it.Remark2)
+ .ToPageList(pageNum, pageSize, ref totalNum);
foreach (QcQualityStatisticsTotal item in data)
{
- WmMaterial material = Context.Queryable()
- .Where(it => it.Partnumber == item.FinishedPartNumber)
- .First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == item.FinishedPartNumber)
+ .First();
if (material == null)
{
item.ProductDescription = "此零件号不在物料清单内!";
continue;
}
- item.ProductDescription = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
+ item.ProductDescription = !string.IsNullOrEmpty(material.Description)
+ ? material.Description
+ : material.ProductName;
}
return (data, totalNum);
@@ -219,23 +355,48 @@ namespace ZR.Service.mes.qc
public int DeleteStatisticsTable(string workorderid)
{
int num = 0;
- num = num + Context.Deleteable()
- .Where(it => it.WorkorderId == workorderid).ExecuteCommand();
+ num =
+ num
+ + Context
+ .Deleteable()
+ .Where(it => it.WorkorderId == workorderid)
+ .ExecuteCommand();
+ num =
+ num
+ + Context
+ .Deleteable()
+ .Where(it => it.WorkorderId == workorderid)
+ .ExecuteCommand();
- num = num + Context.Deleteable().Where(it => it.WorkorderId == workorderid).ExecuteCommand();
-
-
- num = num + Context.Deleteable().Where(it => it.WorkorderId == workorderid).ExecuteCommand();
-
-
- num = num + Context.Deleteable().Where(it => it.WorkorderId == workorderid).ExecuteCommand();
+ num =
+ num
+ + Context
+ .Deleteable()
+ .Where(it => it.WorkorderId == workorderid)
+ .ExecuteCommand();
+ num =
+ num
+ + Context
+ .Deleteable()
+ .Where(it => it.WorkorderId == workorderid)
+ .ExecuteCommand();
return num;
-
}
- List IQCStatisticsService.DownloadStatisticsTableExcel(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize, int type)
+
+ List IQCStatisticsService.DownloadStatisticsTableExcel(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize,
+ int type
+ )
{
try
{
@@ -244,13 +405,53 @@ namespace ZR.Service.mes.qc
return type switch
{
// 首检
- 1 => DoFirstExcel(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize),
+ 1
+ => DoFirstExcel(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ),
// 抛光
- 2 => DoSecondExcel(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize),
+ 2
+ => DoSecondExcel(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ),
// 包装
- 3 => DoThirdExcel(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize),
+ 3
+ => DoThirdExcel(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ),
// 总表
- 4 => DoTotalExcel(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize),
+ 4
+ => DoTotalExcel(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ),
_ => throw new Exception("获取的报表类型错误!" + type),
};
}
@@ -258,236 +459,321 @@ namespace ZR.Service.mes.qc
{
throw new Exception(ex.Message);
}
-
}
- public List DoFirstExcel(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
- {
- List list = GetQualityStatisticsTable_first(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize).Item1;
- List newList = list.Select(item => new QcQualityStatisticsFirstDto()
- {
- WorkorderId = item.WorkorderId,
- FinishedPartNumber = item.FinishedPartNumber,
- ProductDescription = GetDescription(item.FinishedPartNumber),
- Color = item.Color,
- RequireNumber = item.RequireNumber,
- Team = item.Team,
- QualifiedNumber = item.QualifiedNumber,
- QualifiedRate = item.QualifiedRate ?? 0,
- PaoguangTotal = item.PaoguangTotal ?? 0,
- DamoTotal = item.DamoTotal ?? 0,
- BaofeiTotal = item.BaofeiTotal ?? 0,
- StartTime = item.StartTime,
- EndTime = item.EndTime,
- Remark = item.Remark ?? "",
- // 油漆(6)
- PaintSuokong = item.PaintSuokong ?? 0,
- PaintZhengkong = item.PaintZhengkong ?? 0,
- PaintShiguang = item.PaintShiguang ?? 0,
- PaintSecha = item.PaintSecha ?? 0,
- PaintDianzi = item.PaintDianzi ?? 0,
- PaintOther = item.PaintOther ?? 0,
- // 设备(7)
- DeviceShuiban = item.DeviceShuiban ?? 0,
- DeviceZandian = item.DeviceZandian ?? 0,
- DeviceBianxing = item.DeviceBianxing ?? 0,
- DeviceYouzhu = item.DeviceYouzhu ?? 0,
- DeviceTuoluo = item.DeviceTuoluo ?? 0,
- DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
- DeviceOther = item.DeviceOther ?? 0,
- // 毛坯(6)
- BlankMaoci = item.BlankMaoci ?? 0,
- BlankSuoyin = item.BlankSuoyin ?? 0,
- BlankCanshuang = item.BlankCanshuang ?? 0,
- BlankShaying = item.BlankShaying ?? 0,
- BlankZangdian = item.BlankZangdian ?? 0,
- BlankDamo = item.BlankDamo ?? 0,
- // 程序(5)
- ProgramLiuguang = item.ProgramLiuguang ?? 0,
- ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
- ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
- ProgramJupi = item.ProgramJupi ?? 0,
- ProgramOther = item.ProgramOther ?? 0,
- // 班组操作(6)
- TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
- TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
- TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
- TeamFahua = item.TeamFahua ?? 0,
- TeamLiangbang = item.TeamLiangbang ?? 0,
- TeamPenglou = item.TeamPenglou ?? 0,
- }).ToList();
- return newList;
- }
- public List DoSecondExcel(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public List DoFirstExcel(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize
+ )
{
- List list = GetQualityStatisticsTable_again(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize).Item1;
- List newList = list.Select(item => new QcQualityStatisticsFirstDto()
- {
- WorkorderId = item.WorkorderId,
- FinishedPartNumber = item.FinishedPartNumber,
- ProductDescription = GetDescription(item.FinishedPartNumber),
- Color = item.Color,
- RequireNumber = item.RequireNumber,
- Team = item.Team,
- QualifiedNumber = item.QualifiedNumber,
- QualifiedRate = item.QualifiedRate ?? 0,
- PaoguangTotal = item.PaoguangTotal ?? 0,
- DamoTotal = item.DamoTotal ?? 0,
- BaofeiTotal = item.BaofeiTotal ?? 0,
- StartTime = item.StartTime,
- EndTime = item.EndTime,
- Remark = item.Remark ?? "",
- // 油漆(6)
- PaintSuokong = item.PaintSuokong ?? 0,
- PaintZhengkong = item.PaintZhengkong ?? 0,
- PaintShiguang = item.PaintShiguang ?? 0,
- PaintSecha = item.PaintSecha ?? 0,
- PaintDianzi = item.PaintDianzi ?? 0,
- PaintOther = item.PaintOther ?? 0,
- // 设备(7)
- DeviceShuiban = item.DeviceShuiban ?? 0,
- DeviceZandian = item.DeviceZandian ?? 0,
- DeviceBianxing = item.DeviceBianxing ?? 0,
- DeviceYouzhu = item.DeviceYouzhu ?? 0,
- DeviceTuoluo = item.DeviceTuoluo ?? 0,
- DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
- DeviceOther = item.DeviceOther ?? 0,
- // 毛坯(6)
- BlankMaoci = item.BlankMaoci ?? 0,
- BlankSuoyin = item.BlankSuoyin ?? 0,
- BlankCanshuang = item.BlankCanshuang ?? 0,
- BlankShaying = item.BlankShaying ?? 0,
- BlankZangdian = item.BlankZangdian ?? 0,
- BlankDamo = item.BlankDamo ?? 0,
- // 程序(5)
- ProgramLiuguang = item.ProgramLiuguang ?? 0,
- ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
- ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
- ProgramJupi = item.ProgramJupi ?? 0,
- ProgramOther = item.ProgramOther ?? 0,
- // 班组操作(6)
- TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
- TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
- TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
- TeamFahua = item.TeamFahua ?? 0,
- TeamLiangbang = item.TeamLiangbang ?? 0,
- TeamPenglou = item.TeamPenglou ?? 0,
- }).ToList();
+ List list = GetQualityStatisticsTable_first(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ).Item1;
+ List newList = list.Select(
+ item => new QcQualityStatisticsFirstDto()
+ {
+ WorkorderId = item.WorkorderId,
+ FinishedPartNumber = item.FinishedPartNumber,
+ ProductDescription = GetDescription(item.FinishedPartNumber),
+ Color = item.Color,
+ RequireNumber = item.RequireNumber,
+ Team = item.Team,
+ QualifiedNumber = item.QualifiedNumber,
+ QualifiedRate = item.QualifiedRate ?? 0,
+ PaoguangTotal = item.PaoguangTotal ?? 0,
+ DamoTotal = item.DamoTotal ?? 0,
+ BaofeiTotal = item.BaofeiTotal ?? 0,
+ StartTime = item.StartTime,
+ EndTime = item.EndTime,
+ Remark = item.Remark ?? "",
+ // 油漆(6)
+ PaintSuokong = item.PaintSuokong ?? 0,
+ PaintZhengkong = item.PaintZhengkong ?? 0,
+ PaintShiguang = item.PaintShiguang ?? 0,
+ PaintSecha = item.PaintSecha ?? 0,
+ PaintDianzi = item.PaintDianzi ?? 0,
+ PaintOther = item.PaintOther ?? 0,
+ // 设备(7)
+ DeviceShuiban = item.DeviceShuiban ?? 0,
+ DeviceZandian = item.DeviceZandian ?? 0,
+ DeviceBianxing = item.DeviceBianxing ?? 0,
+ DeviceYouzhu = item.DeviceYouzhu ?? 0,
+ DeviceTuoluo = item.DeviceTuoluo ?? 0,
+ DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
+ DeviceOther = item.DeviceOther ?? 0,
+ // 毛坯(6)
+ BlankMaoci = item.BlankMaoci ?? 0,
+ BlankSuoyin = item.BlankSuoyin ?? 0,
+ BlankCanshuang = item.BlankCanshuang ?? 0,
+ BlankShaying = item.BlankShaying ?? 0,
+ BlankZangdian = item.BlankZangdian ?? 0,
+ BlankDamo = item.BlankDamo ?? 0,
+ // 程序(5)
+ ProgramLiuguang = item.ProgramLiuguang ?? 0,
+ ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
+ ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
+ ProgramJupi = item.ProgramJupi ?? 0,
+ ProgramOther = item.ProgramOther ?? 0,
+ // 班组操作(6)
+ TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
+ TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
+ TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
+ TeamFahua = item.TeamFahua ?? 0,
+ TeamLiangbang = item.TeamLiangbang ?? 0,
+ TeamPenglou = item.TeamPenglou ?? 0,
+ }
+ )
+ .ToList();
return newList;
}
- public List DoThirdExcel(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+ public List DoSecondExcel(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize
+ )
{
- List list = GetQualityStatisticsTable_final(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize).Item1;
- List newList = list.Select(item => new QcQualityStatisticsFirstDto()
- {
- WorkorderId = item.WorkorderId,
- FinishedPartNumber = item.FinishedPartNumber,
- ProductDescription = GetDescription(item.FinishedPartNumber),
- Color = item.Color,
- RequireNumber = item.RequireNumber,
- Team = item.Team,
- QualifiedNumber = item.QualifiedNumber,
- QualifiedRate = item.QualifiedRate ?? 0,
- PaoguangTotal = item.PaoguangTotal ?? 0,
- DamoTotal = item.DamoTotal ?? 0,
- BaofeiTotal = item.BaofeiTotal ?? 0,
- StartTime = item.StartTime,
- EndTime = item.EndTime,
- Remark = item.Remark ?? "",
- // 油漆(6)
- PaintSuokong = item.PaintSuokong ?? 0,
- PaintZhengkong = item.PaintZhengkong ?? 0,
- PaintShiguang = item.PaintShiguang ?? 0,
- PaintSecha = item.PaintSecha ?? 0,
- PaintDianzi = item.PaintDianzi ?? 0,
- PaintOther = item.PaintOther ?? 0,
- // 设备(7)
- DeviceShuiban = item.DeviceShuiban ?? 0,
- DeviceZandian = item.DeviceZandian ?? 0,
- DeviceBianxing = item.DeviceBianxing ?? 0,
- DeviceYouzhu = item.DeviceYouzhu ?? 0,
- DeviceTuoluo = item.DeviceTuoluo ?? 0,
- DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
- DeviceOther = item.DeviceOther ?? 0,
- // 毛坯(6)
- BlankMaoci = item.BlankMaoci ?? 0,
- BlankSuoyin = item.BlankSuoyin ?? 0,
- BlankCanshuang = item.BlankCanshuang ?? 0,
- BlankShaying = item.BlankShaying ?? 0,
- BlankZangdian = item.BlankZangdian ?? 0,
- BlankDamo = item.BlankDamo ?? 0,
- // 程序(5)
- ProgramLiuguang = item.ProgramLiuguang ?? 0,
- ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
- ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
- ProgramJupi = item.ProgramJupi ?? 0,
- ProgramOther = item.ProgramOther ?? 0,
- // 班组操作(6)
- TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
- TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
- TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
- TeamFahua = item.TeamFahua ?? 0,
- TeamLiangbang = item.TeamLiangbang ?? 0,
- TeamPenglou = item.TeamPenglou ?? 0,
- }).ToList();
+ List list = GetQualityStatisticsTable_again(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ).Item1;
+ List newList = list.Select(
+ item => new QcQualityStatisticsFirstDto()
+ {
+ WorkorderId = item.WorkorderId,
+ FinishedPartNumber = item.FinishedPartNumber,
+ ProductDescription = GetDescription(item.FinishedPartNumber),
+ Color = item.Color,
+ RequireNumber = item.RequireNumber,
+ Team = item.Team,
+ QualifiedNumber = item.QualifiedNumber,
+ QualifiedRate = item.QualifiedRate ?? 0,
+ PaoguangTotal = item.PaoguangTotal ?? 0,
+ DamoTotal = item.DamoTotal ?? 0,
+ BaofeiTotal = item.BaofeiTotal ?? 0,
+ StartTime = item.StartTime,
+ EndTime = item.EndTime,
+ Remark = item.Remark ?? "",
+ // 油漆(6)
+ PaintSuokong = item.PaintSuokong ?? 0,
+ PaintZhengkong = item.PaintZhengkong ?? 0,
+ PaintShiguang = item.PaintShiguang ?? 0,
+ PaintSecha = item.PaintSecha ?? 0,
+ PaintDianzi = item.PaintDianzi ?? 0,
+ PaintOther = item.PaintOther ?? 0,
+ // 设备(7)
+ DeviceShuiban = item.DeviceShuiban ?? 0,
+ DeviceZandian = item.DeviceZandian ?? 0,
+ DeviceBianxing = item.DeviceBianxing ?? 0,
+ DeviceYouzhu = item.DeviceYouzhu ?? 0,
+ DeviceTuoluo = item.DeviceTuoluo ?? 0,
+ DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
+ DeviceOther = item.DeviceOther ?? 0,
+ // 毛坯(6)
+ BlankMaoci = item.BlankMaoci ?? 0,
+ BlankSuoyin = item.BlankSuoyin ?? 0,
+ BlankCanshuang = item.BlankCanshuang ?? 0,
+ BlankShaying = item.BlankShaying ?? 0,
+ BlankZangdian = item.BlankZangdian ?? 0,
+ BlankDamo = item.BlankDamo ?? 0,
+ // 程序(5)
+ ProgramLiuguang = item.ProgramLiuguang ?? 0,
+ ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
+ ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
+ ProgramJupi = item.ProgramJupi ?? 0,
+ ProgramOther = item.ProgramOther ?? 0,
+ // 班组操作(6)
+ TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
+ TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
+ TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
+ TeamFahua = item.TeamFahua ?? 0,
+ TeamLiangbang = item.TeamLiangbang ?? 0,
+ TeamPenglou = item.TeamPenglou ?? 0,
+ }
+ )
+ .ToList();
return newList;
}
- public List DoTotalExcel(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
+
+ public List DoThirdExcel(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize
+ )
{
- List list = GetQualityStatisticsTable_total(starttime, endTime, workorderid, partnumber, product_description, team, pageNum, pageSize).Item1;
- List newList = list.Select(item => new QcQualityStatisticsFirstDto()
- {
- WorkorderId = item.WorkorderId,
- FinishedPartNumber = item.FinishedPartNumber,
- ProductDescription = GetDescription(item.FinishedPartNumber),
- Color = item.Color,
- RequireNumber = item.RequireNumber,
- Team = item.Team,
- QualifiedNumber = item.QualifiedNumber,
- QualifiedRate = item.QualifiedRate ?? 0,
- PaoguangTotal = item.PaoguangTotal ?? 0,
- DamoTotal = item.DamoTotal ?? 0,
- BaofeiTotal = item.BaofeiTotal ?? 0,
- StartTime = item.StartTime,
- EndTime = item.EndTime,
- Remark = item.Remark ?? "",
- // 油漆(6)
- PaintSuokong = item.PaintSuokong ?? 0,
- PaintZhengkong = item.PaintZhengkong ?? 0,
- PaintShiguang = item.PaintShiguang ?? 0,
- PaintSecha = item.PaintSecha ?? 0,
- PaintDianzi = item.PaintDianzi ?? 0,
- PaintOther = item.PaintOther ?? 0,
- // 设备(7)
- DeviceShuiban = item.DeviceShuiban ?? 0,
- DeviceZandian = item.DeviceZandian ?? 0,
- DeviceBianxing = item.DeviceBianxing ?? 0,
- DeviceYouzhu = item.DeviceYouzhu ?? 0,
- DeviceTuoluo = item.DeviceTuoluo ?? 0,
- DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
- DeviceOther = item.DeviceOther ?? 0,
- // 毛坯(6)
- BlankMaoci = item.BlankMaoci ?? 0,
- BlankSuoyin = item.BlankSuoyin ?? 0,
- BlankCanshuang = item.BlankCanshuang ?? 0,
- BlankShaying = item.BlankShaying ?? 0,
- BlankZangdian = item.BlankZangdian ?? 0,
- BlankDamo = item.BlankDamo ?? 0,
- // 程序(5)
- ProgramLiuguang = item.ProgramLiuguang ?? 0,
- ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
- ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
- ProgramJupi = item.ProgramJupi ?? 0,
- ProgramOther = item.ProgramOther ?? 0,
- // 班组操作(6)
- TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
- TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
- TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
- TeamFahua = item.TeamFahua ?? 0,
- TeamLiangbang = item.TeamLiangbang ?? 0,
- TeamPenglou = item.TeamPenglou ?? 0,
- }).ToList();
+ List list = GetQualityStatisticsTable_final(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ).Item1;
+ List newList = list.Select(
+ item => new QcQualityStatisticsFirstDto()
+ {
+ WorkorderId = item.WorkorderId,
+ FinishedPartNumber = item.FinishedPartNumber,
+ ProductDescription = GetDescription(item.FinishedPartNumber),
+ Color = item.Color,
+ RequireNumber = item.RequireNumber,
+ Team = item.Team,
+ QualifiedNumber = item.QualifiedNumber,
+ QualifiedRate = item.QualifiedRate ?? 0,
+ PaoguangTotal = item.PaoguangTotal ?? 0,
+ DamoTotal = item.DamoTotal ?? 0,
+ BaofeiTotal = item.BaofeiTotal ?? 0,
+ StartTime = item.StartTime,
+ EndTime = item.EndTime,
+ Remark = item.Remark ?? "",
+ // 油漆(6)
+ PaintSuokong = item.PaintSuokong ?? 0,
+ PaintZhengkong = item.PaintZhengkong ?? 0,
+ PaintShiguang = item.PaintShiguang ?? 0,
+ PaintSecha = item.PaintSecha ?? 0,
+ PaintDianzi = item.PaintDianzi ?? 0,
+ PaintOther = item.PaintOther ?? 0,
+ // 设备(7)
+ DeviceShuiban = item.DeviceShuiban ?? 0,
+ DeviceZandian = item.DeviceZandian ?? 0,
+ DeviceBianxing = item.DeviceBianxing ?? 0,
+ DeviceYouzhu = item.DeviceYouzhu ?? 0,
+ DeviceTuoluo = item.DeviceTuoluo ?? 0,
+ DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
+ DeviceOther = item.DeviceOther ?? 0,
+ // 毛坯(6)
+ BlankMaoci = item.BlankMaoci ?? 0,
+ BlankSuoyin = item.BlankSuoyin ?? 0,
+ BlankCanshuang = item.BlankCanshuang ?? 0,
+ BlankShaying = item.BlankShaying ?? 0,
+ BlankZangdian = item.BlankZangdian ?? 0,
+ BlankDamo = item.BlankDamo ?? 0,
+ // 程序(5)
+ ProgramLiuguang = item.ProgramLiuguang ?? 0,
+ ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
+ ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
+ ProgramJupi = item.ProgramJupi ?? 0,
+ ProgramOther = item.ProgramOther ?? 0,
+ // 班组操作(6)
+ TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
+ TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
+ TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
+ TeamFahua = item.TeamFahua ?? 0,
+ TeamLiangbang = item.TeamLiangbang ?? 0,
+ TeamPenglou = item.TeamPenglou ?? 0,
+ }
+ )
+ .ToList();
+ return newList;
+ }
+
+ public List DoTotalExcel(
+ DateTime starttime,
+ DateTime endTime,
+ string workorderid,
+ string partnumber,
+ string product_description,
+ string team,
+ int pageNum,
+ int pageSize
+ )
+ {
+ List list = GetQualityStatisticsTable_total(
+ starttime,
+ endTime,
+ workorderid,
+ partnumber,
+ product_description,
+ team,
+ pageNum,
+ pageSize
+ ).Item1;
+ List newList = list.Select(
+ item => new QcQualityStatisticsFirstDto()
+ {
+ WorkorderId = item.WorkorderId,
+ FinishedPartNumber = item.FinishedPartNumber,
+ ProductDescription = GetDescription(item.FinishedPartNumber),
+ Color = item.Color,
+ RequireNumber = item.RequireNumber,
+ Team = item.Team,
+ QualifiedNumber = item.QualifiedNumber,
+ QualifiedRate = item.QualifiedRate ?? 0,
+ PaoguangTotal = item.PaoguangTotal ?? 0,
+ DamoTotal = item.DamoTotal ?? 0,
+ BaofeiTotal = item.BaofeiTotal ?? 0,
+ StartTime = item.StartTime,
+ EndTime = item.EndTime,
+ Remark = item.Remark ?? "",
+ // 油漆(6)
+ PaintSuokong = item.PaintSuokong ?? 0,
+ PaintZhengkong = item.PaintZhengkong ?? 0,
+ PaintShiguang = item.PaintShiguang ?? 0,
+ PaintSecha = item.PaintSecha ?? 0,
+ PaintDianzi = item.PaintDianzi ?? 0,
+ PaintOther = item.PaintOther ?? 0,
+ // 设备(7)
+ DeviceShuiban = item.DeviceShuiban ?? 0,
+ DeviceZandian = item.DeviceZandian ?? 0,
+ DeviceBianxing = item.DeviceBianxing ?? 0,
+ DeviceYouzhu = item.DeviceYouzhu ?? 0,
+ DeviceTuoluo = item.DeviceTuoluo ?? 0,
+ DeviceZhuangshang = item.DeviceZhuangshang ?? 0,
+ DeviceOther = item.DeviceOther ?? 0,
+ // 毛坯(6)
+ BlankMaoci = item.BlankMaoci ?? 0,
+ BlankSuoyin = item.BlankSuoyin ?? 0,
+ BlankCanshuang = item.BlankCanshuang ?? 0,
+ BlankShaying = item.BlankShaying ?? 0,
+ BlankZangdian = item.BlankZangdian ?? 0,
+ BlankDamo = item.BlankDamo ?? 0,
+ // 程序(5)
+ ProgramLiuguang = item.ProgramLiuguang ?? 0,
+ ProgramSeqiqueqi = item.ProgramSeqiqueqi ?? 0,
+ ProgramQingqiqueqi = item.ProgramQingqiqueqi ?? 0,
+ ProgramJupi = item.ProgramJupi ?? 0,
+ ProgramOther = item.ProgramOther ?? 0,
+ // 班组操作(6)
+ TeamTuoluocanshuang = item.TeamTuoluocanshuang ?? 0,
+ TeamQingqiqikuai = item.TeamQingqiqikuai ?? 0,
+ TeamSeqiqikuai = item.TeamSeqiqikuai ?? 0,
+ TeamFahua = item.TeamFahua ?? 0,
+ TeamLiangbang = item.TeamLiangbang ?? 0,
+ TeamPenglou = item.TeamPenglou ?? 0,
+ }
+ )
+ .ToList();
return newList;
}
@@ -495,18 +781,20 @@ namespace ZR.Service.mes.qc
{
try
{
- WmMaterial material = Context.Queryable()
- .Where(it => it.Partnumber == partnumber)
- .First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.Partnumber == partnumber)
+ .First();
if (material == null)
{
return "此零件号不在物料清单内!";
}
else
{
- return !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
+ return !string.IsNullOrEmpty(material.Description)
+ ? material.Description
+ : material.ProductName;
}
-
}
catch (Exception ex)
{