Commit cac90faa by xin.yang

some update

parent cca0688f
......@@ -12,6 +12,8 @@ using Siger.Middlelayer.Redis;
using System;
using System.Collections.Generic;
using System.Linq;
using siger_check_sn_trace_detail = Siger.Middlelayer.QmsRepository.Entities.siger_check_sn_trace_detail;
using siger_check_sn_trace_inspection = Siger.Middlelayer.QmsRepository.Entities.siger_check_sn_trace_inspection;
namespace Siger.ApiACC.Tasks
{
......
......@@ -13,6 +13,8 @@ using Siger.Middlelayer.Redis;
using System;
using System.Collections.Generic;
using System.Linq;
using siger_check_sn_trace_detail = Siger.Middlelayer.QmsRepository.Entities.siger_check_sn_trace_detail;
using siger_check_sn_trace_inspection = Siger.Middlelayer.QmsRepository.Entities.siger_check_sn_trace_inspection;
namespace Siger.Schedule.DashboardModule
{
......
......@@ -13,7 +13,6 @@ using Siger.Middlelayer.Dapper;
using Siger.Middlelayer.DashboardRepository.Response;
using Siger.Middlelayer.Common.Helpers;
using Siger.Middlelayer.Common.ModuleEnum;
using Siger.Middlelayer.Dapper.CheckTrace.Repostriories;
using Siger.Middlelayer.TpmRepository;
using Siger.Middlelayer.QmsRepository;
using Siger.Middlelayer.Share.Enum.ModuleEnum;
......@@ -24,6 +23,10 @@ using Siger.ApiDashboard.Utilities;
using Siger.Middlelayer.Common.Extensions;
using Siger.DataSchedule.Infrastructure.Extend;
using Siger.ApiDashboard.Tasks;
using Siger.Middlelayer.QmsRepository.Response;
using Siger.Middlelayer.QmsRepository.Entities;
using Siger.Middlelayer.Repository.Extensions;
using siger_andon_info = Siger.Middlelayer.TpmRepository.Entities.siger_andon_info;
namespace Siger.Schedule.DashboardModule
{
......@@ -259,11 +262,9 @@ namespace Siger.Schedule.DashboardModule
{
try
{
var _traceRepostory = new TraceDetailRepository(companyId, projectId);
var _yieldRepository = new LocationYieldRepository(companyId, projectId);
var data = _traceRepostory.GetSnTracePageList(new List<int> { }, 0, 0, 0, 0,
"", "", new List<long> { }, begin.ToString(ParameterConstant.DateTimeFormat), end.ToString(ParameterConstant.DateTimeFormat), 1, 10, projectId, "1", 0).ToList();
var data = GetSnTraceList(new List<int> { }, 0, 0, 0, begin.ToString(ParameterConstant.DateTimeFormat), end.ToString(ParameterConstant.DateTimeFormat), projectId).ToList();
var lines = GetLine(projectId).ToList();
foreach (var line in lines)
{
......@@ -304,6 +305,57 @@ namespace Siger.Schedule.DashboardModule
}
}
private IEnumerable<SnTrace> GetSnTraceList(List<int> sectionIds, int productid, int materialid, int checktype, string starttime, string endtime, int projectid)
{
var query = from q in _qmsDbContext.siger_check_sn_trace_inspection
//join t in _context.siger_check_sn_trace_inspection on q.TraceID equals t.trace_id
where q.projectid == productid && q.status == (int)RowState.Valid //&& t.status == (int)RowState.Valid && q.projectid == productid
&& q.check_status == (int)SendCheckStatus.Completed
select new SnTrace
{
ID = q.trace_id,
ProductID = q.productid,
MaterialID = q.materialid,
SectionID = q.sectionid,
WorkOrder = q.workorder,
SN = q.sn,
Result = q.result == ((int)SendTestType.Unqualified).ToString() ? "NG" : "OK",
UserID = q.checking_mid,
CreateTime = q.check_time > DateTime.MinValue ? q.check_time.Value : DateTime.MinValue,
RouteID = q.routeid,
CheckType = q.check_type,
};
Expression<Func<SnTrace, bool>> materialExpression = q => true;
if (materialid > 0)
{
materialExpression = q => q.MaterialID == materialid;
}
Expression<Func<SnTrace, bool>> sectionExpression = q => true;
if (sectionIds.Any())
{
sectionExpression = q => sectionIds.Contains(q.SectionID);
}
Expression<Func<SnTrace, bool>> productExpression = q => true;
if (productid > 0)
{
productExpression = q => q.ProductID == productid;
}
Expression<Func<SnTrace, bool>> checkTypeExpression = q => true;
if (checktype > 0)
{
checkTypeExpression = q => q.CheckType == checktype;
}
Expression<Func<SnTrace, bool>> timeExpression = q => true;
if (!string.IsNullOrEmpty(starttime) && !string.IsNullOrEmpty(endtime))
{
timeExpression = q => q.CreateTime <= endtime.ToDateTime() && q.CreateTime >= starttime.ToDateTime();
}
var expression = materialExpression.And(sectionExpression).And(productExpression).And(checkTypeExpression).And(timeExpression);
return query.Where(expression);
}
/// <summary>
/// 设备MTTR,MTBF,停机时间,设备维护用时比
/// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment