zjh
2025-09-18 31c9cb02f04a654d3517237860464c75f6bfdbc4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using AngleSharp.Text;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.service;
using MES.Service.service.Warehouse;
using MES.Service.util;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using System.Dynamic;
 
namespace MESApplication.Controllers.Warehouse
{
    [Route("api/[controller]")]
    [ApiController]
    public class WorkflowController : ControllerBase
    {
 
        private readonly WorkflowManager m = new();
 
        private readonly MessageCenterManager _manager = new();
        
        private readonly string METHOD = "POST";
 
        private readonly string TableName = "Workflow";
 
        private readonly string URL = "http://localhost:10054/api/Workflow/";
      
       
        /// <summary>
        ///更新实验室测试委托状态
        /// </summary>
        /// <returns></returns>
        [HttpPost("TestResult")]
        public ResponseResult TestResult(TestResultDto testResultDto)
        {
            var entity = new MessageCenter();
            entity.TableName = TableName;
            entity.Url = URL + "TestResult";
            entity.Method = METHOD;
            entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(testResultDto);
            entity.Status = 1;
            entity.CreateBy = "PL017";
            try
            {
                dynamic resultInfos = new ExpandoObject();
                var result = m.SetTestResultDto(testResultDto);
                resultInfos.tbBillList = result;
 
                entity.Result = 0;
                if (result[0].ToBoolean()) entity.Result = 1;
                entity.DealWith = 1;
                _manager.save(entity);
 
                if (result[0].ToBoolean())
                {
                    return new ResponseResult
                    {
                        status = 0,
                        message = "OK",
                        data = resultInfos
                    };
                }
                else {
                    return new ResponseResult
                    {
                        status = 1,
                        message = result[1],
                        data = resultInfos
                    };
                }
               
            }
            catch (Exception ex)
            {
                entity.Result = 0;
                entity.DealWith = 0;
                entity.ResultData = ex.Message;
                _manager.save(entity);
 
                return ResponseResult.ResponseError(ex);
            }
        }
         
    }
}