| | |
| | | using System.Collections.Generic; |
| | | using System.Dynamic; |
| | | using System.Linq; |
| | | using MES.Service.Dto.service; |
| | | using MES.Service.Modes; |
| | | using MES.Service.service; |
| | |
| | | private readonly MessageCenterManager _manager = new(); |
| | | private readonly SpiAoiService _service = new(); |
| | | |
| | | private readonly string METHOD = "POST"; |
| | | private readonly string TableName = "MES_SPI_AOI_HEADER"; |
| | | private readonly string URL = "http://localhost:10054/api/QC/SpiAoi/"; |
| | | private const string METHOD = "POST"; |
| | | private const string HeaderTableName = "MES_SPI_AOI_HEADER"; |
| | | private const string DetailTableName = "MES_SPI_AOI_DETAIL"; |
| | | private const string BaseUrl = "http://localhost:10054/api/QC/SpiAoi/"; |
| | | |
| | | /// <summary> |
| | | /// 上传SPI/AOI检测数据 |
| | | /// Upload AOI header data. |
| | | /// </summary> |
| | | /// <param name="request">上传请求</param> |
| | | /// <returns>上传结果</returns> |
| | | [HttpPost("Upload")] |
| | | public ResponseResult Upload([FromBody] SpiAoiUploadRequest request) |
| | | /// <param name="header">AOI header payload.</param> |
| | | /// <returns>Upload result.</returns> |
| | | [HttpPost("UploadAoiHeader")] |
| | | public ResponseResult UploadAoiHeader( |
| | | [FromBody] SpiAoiHeaderDto header) |
| | | { |
| | | var entity = new MessageCenter(); |
| | | entity.TableName = TableName; |
| | | entity.Url = URL + "Upload"; |
| | | entity.Method = METHOD; |
| | | entity.Data = JsonConvert.SerializeObject(request); |
| | | entity.Status = 1; |
| | | entity.CreateBy = "SPI_AOI_SYSTEM"; |
| | | var entity = new MessageCenter |
| | | { |
| | | TableName = HeaderTableName, |
| | | Url = BaseUrl + "UploadAoiHeader", |
| | | Method = METHOD, |
| | | Data = JsonConvert.SerializeObject(header), |
| | | Status = 1, |
| | | CreateBy = "SPI_AOI_SYSTEM" |
| | | }; |
| | | |
| | | try |
| | | { |
| | | var response = _service.UploadSpiAoiData(request); |
| | | var response = _service.UploadAoiHeader(header); |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.headerId = response.HeaderId; |
| | | resultInfos.message = "AOI header upload succeeded"; |
| | | |
| | | entity.Result = 1; |
| | | entity.DealWith = 1; |
| | | entity.ResultData = JsonConvert.SerializeObject(response); |
| | | _manager.save(entity); |
| | | |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = resultInfos |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | entity.Result = 0; |
| | | entity.DealWith = 0; |
| | | entity.ResultData = ex.Message; |
| | | _manager.save(entity); |
| | | |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Batch upload AOI header data. |
| | | /// </summary> |
| | | /// <param name="headers">AOI header payload collection.</param> |
| | | /// <returns>Upload result.</returns> |
| | | [HttpPost("UploadAoiHeaderBatch")] |
| | | public ResponseResult UploadAoiHeaderBatch( |
| | | [FromBody] List<SpiAoiHeaderDto> headers) |
| | | { |
| | | var entity = new MessageCenter |
| | | { |
| | | TableName = HeaderTableName, |
| | | Url = BaseUrl + "UploadAoiHeaderBatch", |
| | | Method = METHOD, |
| | | Data = JsonConvert.SerializeObject(headers), |
| | | Status = 1, |
| | | CreateBy = "SPI_AOI_SYSTEM" |
| | | }; |
| | | |
| | | try |
| | | { |
| | | var responses = _service.UploadAoiHeaderBatch(headers); |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.headerIds = responses.Select(r => r.HeaderId).ToList(); |
| | | resultInfos.message = "AOI header batch upload succeeded"; |
| | | |
| | | entity.Result = 1; |
| | | entity.DealWith = 1; |
| | | entity.ResultData = JsonConvert.SerializeObject(responses); |
| | | _manager.save(entity); |
| | | |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = resultInfos |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | entity.Result = 0; |
| | | entity.DealWith = 0; |
| | | entity.ResultData = ex.Message; |
| | | _manager.save(entity); |
| | | |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Upload SPI detail data. |
| | | /// </summary> |
| | | /// <param name="request">SPI detail payload.</param> |
| | | /// <returns>Upload result.</returns> |
| | | [HttpPost("UploadSpiDetails")] |
| | | public ResponseResult UploadSpiDetails( |
| | | [FromBody] SpiAoiDetailDto request) |
| | | { |
| | | var entity = new MessageCenter |
| | | { |
| | | TableName = DetailTableName, |
| | | Url = BaseUrl + "UploadSpiDetails", |
| | | Method = METHOD, |
| | | Data = JsonConvert.SerializeObject(request), |
| | | Status = 1, |
| | | CreateBy = "SPI_AOI_SYSTEM" |
| | | }; |
| | | |
| | | try |
| | | { |
| | | var response = _service.UploadSpiDetails(request); |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.detailCount = response.DetailCount; |
| | | resultInfos.message = "SPI/AOI检测数据上传成功"; |
| | | resultInfos.message = "SPI detail upload succeeded"; |
| | | |
| | | entity.Result = 1; |
| | | entity.DealWith = 1; |
| | | entity.ResultData = JsonConvert.SerializeObject(response); |
| | | _manager.save(entity); |
| | | |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = resultInfos |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | entity.Result = 0; |
| | | entity.DealWith = 0; |
| | | entity.ResultData = ex.Message; |
| | | _manager.save(entity); |
| | | |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Batch upload SPI detail data. |
| | | /// </summary> |
| | | /// <param name="requests">SPI detail payload collection.</param> |
| | | /// <returns>Upload result.</returns> |
| | | [HttpPost("UploadSpiDetailsBatch")] |
| | | public ResponseResult UploadSpiDetailsBatch( |
| | | [FromBody] List<SpiAoiDetailDto> requests) |
| | | { |
| | | var entity = new MessageCenter |
| | | { |
| | | TableName = DetailTableName, |
| | | Url = BaseUrl + "UploadSpiDetailsBatch", |
| | | Method = METHOD, |
| | | Data = JsonConvert.SerializeObject(requests), |
| | | Status = 1, |
| | | CreateBy = "SPI_AOI_SYSTEM" |
| | | }; |
| | | |
| | | try |
| | | { |
| | | var response = _service.UploadSpiDetailsBatch(requests); |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.detailCount = response.DetailCount; |
| | | resultInfos.message = "SPI detail batch upload succeeded"; |
| | | |
| | | entity.Result = 1; |
| | | entity.DealWith = 1; |