获取产品追溯信息列表、获取子零件、获取检测平台功能实现
This commit is contained in:
parent
17f7348503
commit
d0632f9b1e
@ -1,5 +1,6 @@
|
||||
using DOAN.Model;
|
||||
using DOAN.Model.Dto;
|
||||
using DOAN.Model.MES.trace.Dto;
|
||||
using DOAN.Service.Business.IBusinessService;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
@ -22,6 +23,44 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
_TraceMainService = TraceMainService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取产品追溯信息列表
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("getPartSnList")]
|
||||
[AllowAnonymous]
|
||||
public IActionResult GetPartSnList([FromBody] TracePartSnQueryDto query)
|
||||
{
|
||||
var response = _TraceMainService.GetPartSnList(query);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取子零件
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("getSnSubScanList")]
|
||||
[AllowAnonymous]
|
||||
public IActionResult GetSnSubScanList([FromBody] TraceSnSubScanQueryDto query)
|
||||
{
|
||||
var response = _TraceMainService.GetSnSubScanList(query);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取检测平台(折叠:zd/终检:eol)
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("getSnQcRecordList")]
|
||||
[AllowAnonymous]
|
||||
public IActionResult GetSnQcRecordList([FromBody] TraceSnQcRecordQueryDto query) {
|
||||
var response = _TraceMainService.GetSnQcRecordList(query);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取配置
|
||||
/// </summary>
|
||||
|
||||
49
DOAN.Model/MES/trace/Dto/TraceQueryDto.cs
Normal file
49
DOAN.Model/MES/trace/Dto/TraceQueryDto.cs
Normal file
@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DOAN.Model.MES.trace.Dto
|
||||
{
|
||||
/// <summary>
|
||||
/// 追溯项目清单查询对象
|
||||
/// </summary>
|
||||
public class TracePartSnQueryDto : PagerInfo
|
||||
{
|
||||
public string PartSn { get; set; }
|
||||
|
||||
public string ProductionSn { get; set; }
|
||||
|
||||
public string ProjectCode { get; set; }
|
||||
|
||||
public string SubCode { get; set; }
|
||||
|
||||
public DateTime StartTime { get; set; }
|
||||
|
||||
public DateTime EndTime { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 产品追溯信息DTO
|
||||
/// </summary>
|
||||
public class TracePartSnDto : PagerInfo
|
||||
{
|
||||
public string Id { get; set; }
|
||||
public string ProjectCode { get; set; }
|
||||
|
||||
public string ProductionCode { get; set; }
|
||||
|
||||
public string ProductionName { get; set; }
|
||||
|
||||
public string Specification { get; set; }
|
||||
|
||||
public string ProductionSn { get; set; }
|
||||
|
||||
public string PartSN { get; set; }
|
||||
|
||||
public string Result { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
}
|
||||
@ -7,6 +7,9 @@ namespace DOAN.Model.Dto
|
||||
/// </summary>
|
||||
public class TraceSnQcRecordQueryDto : PagerInfo
|
||||
{
|
||||
public string PartSn { get; set; }
|
||||
|
||||
public string QcType { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -7,6 +7,7 @@ namespace DOAN.Model.Dto
|
||||
/// </summary>
|
||||
public class TraceSnSubScanQueryDto : PagerInfo
|
||||
{
|
||||
public string PartSn { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
using DOAN.Model;
|
||||
using DOAN.Model.Dto;
|
||||
using DOAN.Model.MES.trace.Dto;
|
||||
|
||||
namespace DOAN.Service.Business.IBusinessService
|
||||
{
|
||||
@ -8,6 +9,27 @@ namespace DOAN.Service.Business.IBusinessService
|
||||
/// </summary>
|
||||
public interface ITraceMainService : IBaseService<TraceLog>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取产品追溯信息列表
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
PagedInfo<TracePartSnDto> GetPartSnList(TracePartSnQueryDto query);
|
||||
|
||||
/// <summary>
|
||||
/// 获取子零件
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
PagedInfo<TraceSnSubScanDto> GetSnSubScanList(TraceSnSubScanQueryDto query);
|
||||
|
||||
/// <summary>
|
||||
/// 获取检测平台(折叠:zd/终检:eol)
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
PagedInfo<TraceSnQcRecordDto> GetSnQcRecordList(TraceSnQcRecordQueryDto query);
|
||||
|
||||
/// <summary>
|
||||
/// 获取配置列表
|
||||
/// </summary>
|
||||
|
||||
@ -1,13 +1,17 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Aliyun.OSS;
|
||||
using DOAN.Model;
|
||||
using DOAN.Model.Dto;
|
||||
using DOAN.Model.MES.dev;
|
||||
using DOAN.Model.MES.trace;
|
||||
using DOAN.Model.MES.trace.Dto;
|
||||
using DOAN.Repository;
|
||||
using DOAN.Service.Business.IBusinessService;
|
||||
using Infrastructure.Attribute;
|
||||
using Infrastructure.Extensions;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
|
||||
namespace DOAN.Service
|
||||
{
|
||||
@ -17,6 +21,143 @@ namespace DOAN.Service
|
||||
[AppService(ServiceType = typeof(ITraceMainService), ServiceLifetime = LifeTime.Transient)]
|
||||
public class TraceMainService : BaseService<TraceLog>, ITraceMainService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取产品追溯信息列表
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
public PagedInfo<TracePartSnDto> GetPartSnList(TracePartSnQueryDto query)
|
||||
{
|
||||
if (query == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(query));
|
||||
}
|
||||
var response = Context.Queryable<TraceSnScan>()
|
||||
.LeftJoin<TraceProductRecord>((s, r) => s.PartSn == r.PartSn)
|
||||
.LeftJoin<TraceSnSubScan>((s, r, t) => s.PartSn == t.PartSn)
|
||||
.WhereIF(!string.IsNullOrEmpty(query.PartSn), (s, r, t) => s.PartSn == query.PartSn)
|
||||
.WhereIF(!string.IsNullOrEmpty(query.ProductionSn), (s, r, t) => r.ProductionSn == query.ProductionSn)
|
||||
.WhereIF(!string.IsNullOrEmpty(query.ProjectCode), (s, r, t) => s.ProjectCode == query.ProjectCode)
|
||||
.WhereIF(!string.IsNullOrEmpty(query.SubCode), (s, r, t) => t.SubCode == query.SubCode)
|
||||
.WhereIF(query.StartTime > DateTime.MinValue, (s, r, t) => s.CreateTime >= query.StartTime)
|
||||
.WhereIF(query.EndTime > DateTime.MinValue, (s, r, t) => s.CreateTime >= query.EndTime)
|
||||
.OrderByDescending((s, r, t) => s.CreateTime)
|
||||
.Select((s, r, t) => new TracePartSnDto()
|
||||
{
|
||||
Id = XueHua,
|
||||
ProjectCode = s.ProjectCode,
|
||||
ProductionCode = r.ProductionCode,
|
||||
ProductionName = r.ProductionName,
|
||||
Specification = s.Specification,
|
||||
ProductionSn = r.ProductionSn,
|
||||
PartSN = s.PartSn,
|
||||
Result = r.Result,
|
||||
CreateTime = (DateTime)r.CreateTime
|
||||
})
|
||||
.ToPage(query);
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取子零件
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException"></exception>
|
||||
public PagedInfo<TraceSnSubScanDto> GetSnSubScanList(TraceSnSubScanQueryDto query)
|
||||
{
|
||||
if (query == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(query));
|
||||
}
|
||||
var response = Context.Queryable<TraceSnSubScan>()
|
||||
.Where(t => t.PartSn == query.PartSn)
|
||||
.Select(t => new TraceSnSubScanDto()
|
||||
{
|
||||
Id = t.Id,
|
||||
SubCode = t.SubCode,
|
||||
SubName = t.SubName,
|
||||
Specification = t.Specification,
|
||||
PartSn = t.PartSn,
|
||||
SubPartScanCode = t.SubPartScanCode,
|
||||
IsBack = t.IsBack,
|
||||
CreateTime = t.CreateTime
|
||||
})
|
||||
.ToPage(query);
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取检测平台(折叠:zd/终检:eol)
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException"></exception>
|
||||
public PagedInfo<TraceSnQcRecordDto> GetSnQcRecordList(TraceSnQcRecordQueryDto query)
|
||||
{
|
||||
if (query == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(query));
|
||||
}
|
||||
var response = Context.Queryable<TraceSnQcRecord>()
|
||||
.Where(r => r.PartSn == query.PartSn && r.QcType == query.QcType)
|
||||
.Select(r => new TraceSnQcRecordDto()
|
||||
{
|
||||
Id = r.Id,
|
||||
ProjectCode = r.ProjectCode,
|
||||
ProductionCode = r.ProductionCode,
|
||||
ProductionName = r.ProductionName,
|
||||
Specification = r.Specification,
|
||||
PartSn = r.PartSn,
|
||||
QcType = r.QcType,
|
||||
IsBack = r.IsBack,
|
||||
CreateBy = r.CreateBy,
|
||||
CreateTime = r.CreateTime,
|
||||
Value01 = r.Value01,
|
||||
Value02 = r.Value02,
|
||||
Value03 = r.Value03,
|
||||
Value04 = r.Value04,
|
||||
Value05 = r.Value05,
|
||||
Value06 = r.Value06,
|
||||
Value07 = r.Value07,
|
||||
Value08 = r.Value08,
|
||||
Value09 = r.Value09,
|
||||
Value10 = r.Value10,
|
||||
Value11 = r.Value11,
|
||||
Value12 = r.Value12,
|
||||
Value13 = r.Value13,
|
||||
Value14 = r.Value14,
|
||||
Value15 = r.Value15,
|
||||
Value16 = r.Value16,
|
||||
Value17 = r.Value17,
|
||||
Value18 = r.Value18,
|
||||
Value19 = r.Value19,
|
||||
Value20 = r.Value20,
|
||||
Value21 = r.Value21,
|
||||
Value22 = r.Value22,
|
||||
Value23 = r.Value23,
|
||||
Value24 = r.Value24,
|
||||
Value25 = r.Value25,
|
||||
Value26 = r.Value26,
|
||||
Value27 = r.Value27,
|
||||
Value28 = r.Value28,
|
||||
Value29 = r.Value29,
|
||||
Value30 = r.Value30,
|
||||
Value31 = r.Value31,
|
||||
Value32 = r.Value32,
|
||||
Value33 = r.Value33,
|
||||
Value34 = r.Value34,
|
||||
Value35 = r.Value35,
|
||||
Value36 = r.Value36,
|
||||
Value37 = r.Value37,
|
||||
Value38 = r.Value38,
|
||||
Value39 = r.Value39,
|
||||
Value40 = r.Value40,
|
||||
})
|
||||
.ToPage(query);
|
||||
return response;
|
||||
}
|
||||
|
||||
public List<TraceConfig> GetConfig(DeviceDownLoadTraceConfigQueryDto parm)
|
||||
{
|
||||
var response = Context
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user