| | |
| | | using System; |
| | | using System.Dynamic; |
| | | using MES.Service.Dto.service; |
| | | using MES.Service.Modes; |
| | |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | |
| | | namespace MESApplication.Controllers.QC |
| | | { |
| | | namespace MESApplication.Controllers.QC; |
| | | |
| | | /// <summary> |
| | | /// PCB检测数据控制器 |
| | | /// </summary> |
| | |
| | | /// <param name="dto">整板检测数据DTO</param> |
| | | /// <returns>保存结果</returns> |
| | | [HttpPost("SaveWholeboardData")] |
| | | public ResponseResult SaveWholeboardData([FromBody] WholeboardGenerateDto dto) |
| | | public ResponseResult SaveWholeboardData( |
| | | [FromBody] WholeboardGenerateDto dto) |
| | | { |
| | | var entity = new MessageCenter(); |
| | | entity.TableName = TableName; |
| | |
| | | /// <param name="dto">单板检测数据DTO</param> |
| | | /// <returns>保存结果</returns> |
| | | [HttpPost("SaveSingleBoardData")] |
| | | public ResponseResult SaveSingleBoardData([FromBody] SingleBoardGenerateDto dto) |
| | | public ResponseResult SaveSingleBoardData( |
| | | [FromBody] SingleBoardGenerateDto dto) |
| | | { |
| | | var entity = new MessageCenter(); |
| | | entity.TableName = TableName; |
| | |
| | | DateTime? startDateTime = null; |
| | | DateTime? endDateTime = null; |
| | | |
| | | if (StringUtil.IsNotNullOrEmpty(startTime) && DateTime.TryParse(startTime, out var start)) |
| | | if (StringUtil.IsNotNullOrEmpty(startTime) && |
| | | DateTime.TryParse(startTime, out var start)) |
| | | startDateTime = start; |
| | | |
| | | if (StringUtil.IsNotNullOrEmpty(endTime) && DateTime.TryParse(endTime, out var end)) |
| | | if (StringUtil.IsNotNullOrEmpty(endTime) && |
| | | DateTime.TryParse(endTime, out var end)) |
| | | endDateTime = end; |
| | | |
| | | var (items, totalCount) = _service.GetPcbTestDataPage( |
| | | dataType, deviceName, pcbSn, startDateTime, endDateTime, pageIndex, pageSize); |
| | | dataType, deviceName, pcbSn, startDateTime, endDateTime, |
| | | pageIndex, pageSize); |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.items = items; |
| | |
| | | { |
| | | var id = request["id"]?.ToObject<decimal>(); |
| | | if (!id.HasValue) |
| | | { |
| | | return new ResponseResult |
| | | { |
| | | status = 1, |
| | | message = "ID不能为空", |
| | | data = null |
| | | }; |
| | | } |
| | | |
| | | var testData = _service.GetPcbTestDataById(id.Value); |
| | | var componentData = _service.GetComponentDataByTestDataId(id.Value); |
| | |
| | | { |
| | | var pcbSn = request["pcbSn"]?.ToString(); |
| | | if (StringUtil.IsNullOrEmpty(pcbSn)) |
| | | { |
| | | return new ResponseResult |
| | | { |
| | | status = 1, |
| | | message = "PCB条码不能为空", |
| | | data = null |
| | | }; |
| | | } |
| | | |
| | | var testDataList = _service.GetPcbTestDataByPcbSn(pcbSn); |
| | | |
| | |
| | | { |
| | | var testDataId = request["testDataId"]?.ToObject<decimal>(); |
| | | if (!testDataId.HasValue) |
| | | { |
| | | return new ResponseResult |
| | | { |
| | | status = 1, |
| | | message = "测试数据ID不能为空", |
| | | data = null |
| | | }; |
| | | } |
| | | |
| | | var componentData = _service.GetComponentDataByTestDataId(testDataId.Value); |
| | | var componentData = |
| | | _service.GetComponentDataByTestDataId(testDataId.Value); |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.componentData = componentData; |
| | |
| | | DateTime? startDateTime = null; |
| | | DateTime? endDateTime = null; |
| | | |
| | | if (StringUtil.IsNotNullOrEmpty(startTime) && DateTime.TryParse(startTime, out var start)) |
| | | if (StringUtil.IsNotNullOrEmpty(startTime) && |
| | | DateTime.TryParse(startTime, out var start)) |
| | | startDateTime = start; |
| | | |
| | | if (StringUtil.IsNotNullOrEmpty(endTime) && DateTime.TryParse(endTime, out var end)) |
| | | if (StringUtil.IsNotNullOrEmpty(endTime) && |
| | | DateTime.TryParse(endTime, out var end)) |
| | | endDateTime = end; |
| | | |
| | | var statistics = _service.GetTestStatistics(dataType, deviceName, startDateTime, endDateTime); |
| | | var statistics = _service.GetTestStatistics(dataType, deviceName, |
| | | startDateTime, endDateTime); |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.statistics = statistics; |
| | |
| | | } |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | bool result = false; |
| | | string message = ""; |
| | | var result = false; |
| | | var message = ""; |
| | | |
| | | switch (dataType.ToUpper()) |
| | | { |
| | | case "WHOLE": |
| | | var wholeboardDto = request["data"]?.ToObject<WholeboardGenerateDto>(); |
| | | var wholeboardDto = request["data"] |
| | | ?.ToObject<WholeboardGenerateDto>(); |
| | | if (wholeboardDto == null) |
| | | { |
| | | entity.Result = 0; |
| | |
| | | data = null |
| | | }; |
| | | } |
| | | |
| | | result = _service.SaveWholeboardData(wholeboardDto); |
| | | message = result ? "整板检测数据保存成功" : "整板检测数据保存失败"; |
| | | break; |
| | | |
| | | case "SINGLE": |
| | | var singleBoardDto = request["data"]?.ToObject<SingleBoardGenerateDto>(); |
| | | var singleBoardDto = request["data"] |
| | | ?.ToObject<SingleBoardGenerateDto>(); |
| | | if (singleBoardDto == null) |
| | | { |
| | | entity.Result = 0; |
| | |
| | | data = null |
| | | }; |
| | | } |
| | | |
| | | result = _service.SaveSingleBoardData(singleBoardDto); |
| | | message = result ? "单板检测数据保存成功" : "单板检测数据保存失败"; |
| | | break; |
| | |
| | | _manager.save(entity); |
| | | |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | } |
| | | } |