¶Ô±ÈÐÂÎļþ |
| | |
| | | using MES.Service.Dto.webApi; |
| | | using MES.Service.Dto.webApi.QcIssueResult; |
| | | using MES.Service.Modes; |
| | | using MES.Service.Modes.QcIssueResult; |
| | | //using MES.Service.Modes.SentLaboratory; |
| | | using MES.Service.service; |
| | | using MES.Service.service.QcIssueResult; |
| | | using MES.Service.util; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System.Diagnostics; |
| | | using System.Dynamic; |
| | | using System.Net; |
| | | using System.Text; |
| | | using System.Text.Json.Nodes; |
| | | using System.Web; |
| | | |
| | | namespace MESApplication.Controllers.QcIssueResult; |
| | | |
| | | [ApiController] |
| | | [Route("api/[controller]")] |
| | | public class QcIssueResultController : ControllerBase |
| | | { |
| | | private readonly MessageCenterManager _manager = new(); |
| | | private readonly QcIssueResultManager m = new(); |
| | | |
| | | private readonly string METHOD = "POST"; |
| | | |
| | | private readonly string TableName = "MES_QCISSUE_RESULT"; |
| | | |
| | | private readonly string URL = "http://localhost:10054/api/QcIssueResult/"; |
| | | |
| | | |
| | | [HttpPost("GetProcessNo")] |
| | | public IActionResult StartDingtalkProcess([FromBody] GetQcIssueResultDetail getQcIssueResultDetail) |
| | | { |
| | | |
| | | try |
| | | { |
| | | // æ°å¢URLè§£ç å¤çé»è¾ |
| | | DecodeUrlEncodedProperties(getQcIssueResultDetail); |
| | | |
| | | // è°ç¨ QcIssueResultManager ä¸ç GetProcessNo æ¹æ³æ¥å¯å¨éé工使µå®ä¾ |
| | | string result = m.GetProcessNo(getQcIssueResultDetail); |
| | | |
| | | string getLaboratoryDetailsJson = JsonConvert.SerializeObject(getQcIssueResultDetail, Formatting.Indented); |
| | | Debug.WriteLine("getQcIssueResultDetail: " + getLaboratoryDetailsJson); |
| | | |
| | | string jsonPart = result.Substring(result.IndexOf("{")); |
| | | JObject jsonObject = JObject.Parse(jsonPart); |
| | | // æåinstanceIdçå¼ |
| | | string instanceId = jsonObject["InstanceId"].ToString(); |
| | | |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | string ProcessNo = instanceId; |
| | | var save = m.SaveProcessNo(getQcIssueResultDetail.ReleaseNo, instanceId,getQcIssueResultDetail.StaffNo,getQcIssueResultDetail.Department); |
| | | resultInfos.tbBillList = save; |
| | | |
| | | return Ok(result); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // æè·å¼å¸¸å¹¶è¿åéè¯¯ä¿¡æ¯ |
| | | return StatusCode(500, $"å¯å¨éé工使µå®ä¾å¤±è´¥: {ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | // æ°å¢è§£ç æ¹æ³ |
| | | private void DecodeUrlEncodedProperties(object obj) |
| | | { |
| | | if (obj == null) return; |
| | | |
| | | var properties = obj.GetType().GetProperties(); |
| | | foreach (var prop in properties) |
| | | { |
| | | // åªå¤çå符串类åç屿§ |
| | | if (prop.PropertyType == typeof(string) && prop.CanWrite) |
| | | { |
| | | var value = prop.GetValue(obj) as string; |
| | | if (!string.IsNullOrEmpty(value)) |
| | | { |
| | | // 使ç¨UTF8ç¼ç è¿è¡è§£ç |
| | | var decodedValue = HttpUtility.UrlDecode(value, Encoding.UTF8); |
| | | prop.SetValue(obj, decodedValue); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | [HttpPost("Save")] |
| | | public ResponseResult Save(ErpQcIssueResult erpQcIssueResult) |
| | | { |
| | | var entity = new MessageCenter(); |
| | | entity.TableName = TableName; |
| | | entity.Url = URL + "Save"; |
| | | entity.Method = METHOD; |
| | | entity.Data = JsonConvert.SerializeObject(erpQcIssueResult); |
| | | entity.Status = 1; |
| | | entity.CreateBy = "PL017"; |
| | | try |
| | | { |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | var save = m.Save(erpQcIssueResult); |
| | | //resultInfos.tbBillList = save; |
| | | |
| | | //entity.Result = 0; |
| | | //if (save) entity.Result = 1; |
| | | |
| | | //entity.DealWith = 1; |
| | | //_manager.save(entity); |
| | | |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = save |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | entity.Result = 0; |
| | | |
| | | entity.DealWith = 0; |
| | | |
| | | entity.ResultData = ex.Message; |
| | | |
| | | _manager.save(entity); |
| | | |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |