| | |
| | | [Route("api/[Controller]")] |
| | | public class QualityDataInfoService : IQualityDataInfoService, IDynamicApiController, ITransient |
| | | { |
| | | private readonly IRepository<QualityDataInfo,MasterDbContextLocator> _qualityDataInfoRep; |
| | | private readonly IRepository<QualityDataInfo, MasterDbContextLocator> _qualityDataInfoRep; |
| | | private readonly IRepository<EquipmentBaseInfo, MasterDbContextLocator> _equipmentBaseInfoRep; |
| | | private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; |
| | | private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; |
| | |
| | | /// <param name="sysDictTypeRep"></param> |
| | | /// <param name="sysDictDataRep"></param> |
| | | public QualityDataInfoService( |
| | | IRepository<QualityDataInfo,MasterDbContextLocator> qualityDataInfoRep, |
| | | IRepository<QualityDataInfo, MasterDbContextLocator> qualityDataInfoRep, |
| | | IRepository<EquipmentBaseInfo, MasterDbContextLocator> equipmentBaseInfoRep, |
| | | IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep, |
| | | IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep, |
| | |
| | | public async Task<AddQualityDataInfoInputV2> GetQualityInfoSPCForID([FromQuery] QualityDataInfoSearch2 input) |
| | | { |
| | | var interfaceLog = _accessInterfaceLogRep.DetachedEntities.Where(o => o.Id == input.QualityDataInfoID).FirstOrDefault(); |
| | | if(interfaceLog==null|| interfaceLog.Id<1) |
| | | if (interfaceLog == null || interfaceLog.Id < 1) |
| | | {//没有查询到 |
| | | throw Oops.Oh($"当前工件{input.WorkPieceID??""}没有SPC反馈信息!"); |
| | | throw Oops.Oh($"当前工件{input.WorkPieceID ?? ""}没有SPC反馈信息!"); |
| | | } |
| | | var output = JsonConvert.DeserializeObject<AddQualityDataInfoInputV2>(interfaceLog.ParaJSON); |
| | | return output; |
| | |
| | | /// <returns></returns> |
| | | [HttpGet("GetQualityInfoForID")] |
| | | public async Task<QualityDataInfoOutput> GetQualityInfoForID([FromQuery] QualityDataInfoSearch2 input) |
| | | { |
| | | { |
| | | QualityDataInfoOutput qualityDataInfo = new QualityDataInfoOutput(); |
| | | if(input==null|| string.IsNullOrEmpty(input.OperationType)) |
| | | if (input == null || string.IsNullOrEmpty(input.OperationType)) |
| | | { |
| | | throw Oops.Oh("传参异常!"); |
| | | } |
| | |
| | | .ProjectToType<QualityDataInfoOutput>() |
| | | .FirstOrDefaultAsync(); |
| | | } |
| | | |
| | | |
| | | return qualityDataInfo; |
| | | } |
| | | |
| | |
| | | [HttpGet("page")] |
| | | public async Task<PageResult<QualityDataInfoOutput>> Page([FromQuery] QualityDataInfoSearch input) |
| | | { |
| | | if(!input.StartTime.HasValue|| !input.EndTime.HasValue||input.StartTime>input.EndTime) |
| | | if (!input.StartTime.HasValue || !input.EndTime.HasValue || input.StartTime > input.EndTime) |
| | | { |
| | | throw Oops.Oh("传参异常:日期范围必须传值!"); |
| | | } |
| | |
| | | //} |
| | | var qualityDataInfos = await _qualityDataInfoRep.DetachedEntities |
| | | .Join(_equipmentBaseInfoRep.DetachedEntities, a => a.EquipmentID, b => b.EquipmentId, (a, b) => new { a, b }) |
| | | //.Where(o => o.a.CreatedTime.Value.Date >= input.StartTime.Value) |
| | | //.Where(o => o.a.UpdatedTime.Value.Date <= input.EndTime.Value) |
| | | //.Where(o => o.a.CreatedTime.Value.Date >= input.StartTime.Value) |
| | | //.Where(o => o.a.UpdatedTime.Value.Date <= input.EndTime.Value) |
| | | .Where(!string.IsNullOrEmpty(input.WorkPieceID), w => w.a.WorkPieceID.Contains(input.WorkPieceID)) |
| | | .Where(input.EquipmentID.Equals("EOP10") && string.IsNullOrEmpty(input.WorkingProcedure), o => (o.a.OP10QualityReceiveTime.Value.Date >= input.StartTime.Value |
| | | && o.a.OP10QualityReceiveTime.Value.Date <= input.EndTime.Value&&o.a.OP10QualityState==(input.QualityState.HasValue?input.QualityState.ToString():o.a.OP10QualityState)) || (o.a.OP40QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP40QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP40QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP40QualityState))) |
| | | .Where(input.EquipmentID.Equals("EOP10") && string.IsNullOrEmpty(input.WorkingProcedure), o => (o.a.OP10QualityReceiveTime.Value.Date >= input.StartTime.Value |
| | | && o.a.OP10QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP10QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP10QualityState)) || (o.a.OP40QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP40QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP40QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP40QualityState))) |
| | | .Where(input.EquipmentID.Equals("EOP10") && !string.IsNullOrEmpty(input.WorkingProcedure) && input.WorkingProcedure.Equals("OP10"), o => (o.a.OP10QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP10QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP10QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP10QualityState))) |
| | | .Where(input.EquipmentID.Equals("EOP10") && !string.IsNullOrEmpty(input.WorkingProcedure) && input.WorkingProcedure.Equals("OP40"), o => (o.a.OP40QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP40QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP40QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP40QualityState))) |
| | | .Where(input.EquipmentID.Equals("EOP20"), o => o.a.OP20QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP20QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP20QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP20QualityState)) |
| | |
| | | OP20QualityReceiveTime = m.a.OP20QualityReceiveTime, |
| | | OP30QualityReceiveTime = m.a.OP30QualityReceiveTime, |
| | | OP35QualityReceiveTime = m.a.OP35QualityReceiveTime, |
| | | OP40QualityReceiveTime= m.a.OP40QualityReceiveTime, |
| | | OP40QualityReceiveTime = m.a.OP40QualityReceiveTime, |
| | | OP60QualityReceiveTime = m.a.OP60QualityReceiveTime, |
| | | OP80QualityReceiveTime = m.a.OP80QualityReceiveTime, |
| | | OP10QualityState = m.a.OP10QualityState, |
| | |
| | | OP35QualityState = m.a.OP35QualityState, |
| | | OP60QualityState = m.a.OP60QualityState, |
| | | OP80QualityState = m.a.OP80QualityState, |
| | | |
| | | OP30QualityStateCH3 = m.a.OP30QualityStateCH3, |
| | | OP30QualityStateCH4 = m.a.OP30QualityStateCH4, |
| | | OP30QualityStateCH5 = m.a.OP30QualityStateCH5, |
| | | OP30QualityStateCH6 = m.a.OP30QualityStateCH6, |
| | | |
| | | Remarks = m.a.Remarks, |
| | | UpdateTime = m.a.UpdatedTime, |
| | | }) |
| | |
| | | return qualityDataInfos; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据质量数据导出Excel |
| | | /// </summary> |
| | |
| | | .Where(input.EquipmentID.Equals("EOP35"), o => o.a.OP35QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP35QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP35QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP35QualityState)) |
| | | .Where(input.EquipmentID.Equals("EOP60"), o => o.a.OP60QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP60QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP60QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP60QualityState)) |
| | | .Where(input.EquipmentID.Equals("EOP80"), o => o.a.OP80QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP80QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP80QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP80QualityState)) |
| | | .Where(o=>!string.IsNullOrEmpty(o.a.WorkPieceID)) |
| | | .Where(o => !string.IsNullOrEmpty(o.a.WorkPieceID)) |
| | | .Select(m => new QualityDataInfoOutput |
| | | { |
| | | Id = m.a.Id, |
| | |
| | | var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); |
| | | return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |