服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-05-29 04f06cc5578208caeebc126e74b909921ceb7789
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
using Tiger.Model;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using Rhea.Common;
using System.Net;
using System.Linq;
using Newtonsoft.Json;
using Tiger.IBusiness;
using static Tiger.Business.Biz;
using Microsoft.AspNetCore.Http;
 
namespace Tiger.Business
{
    public partial class Biz
    {
        /// <summary>
        /// 工单
        /// </summary>
        public partial class BizMesWo : IBIZ_MES_WO
        {
            /// <summary>
            /// 保存
            /// </summary>
            /// <param name="wo"></param>
            /// <returns></returns>
            public async Task<ApiAction> SaveMesWo(BIZ_MES_WO wo)
            {
                var result = new ApiAction();
                try
                {
                    var _wo = Db.Queryable<BIZ_MES_WO>().Where(x=>x.ORDER_NO == wo.ORDER_NO).First();
                    if (_wo != null && _wo.STATUS!= (int)BIZ_MES_WO.STATUSs.Init)
                    {
                        result.IsSuccessed = false;
                        result.LocaleMsg = new($"工单已经存在且不是初始化状态,不能保存修改!"); 
                        return result;
                    }
                    var db = Db;
                    var dbTran = db.UseTran(() =>
                    {
                        var y = db.Storageable(wo)
                           .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW })
                           .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
                    });
                    if (!dbTran.IsSuccess)
                    {
                        result.IsSuccessed = false;
                        result.Message = $"保存工单异常";
                    }
                }
                catch (Exception ex)
                {
                    result.CatchExceptionWithLog(ex, "保存工单异常");
                }
                return await Task.FromResult(result);
            }
 
            /// <summary>
            /// 删除工单
            /// </summary>
            /// <param name="woId"></param>
            /// <returns></returns>
            public async Task<ApiAction> DeleteMesWo(string woId) {
                var result = new ApiAction();
                try
                {
                    //查询是否已经有工单在用
                    var _wo = Db.Queryable<BIZ_MES_WO>().Where(x => x.ID == woId).First();
                    if (_wo != null && _wo.STATUS != (int)BIZ_MES_WO.STATUSs.Init)
                    {
                        result.IsSuccessed = false;
                        result.LocaleMsg = new($"工单不是初始化状态,不能删除!");
                        return result;
                    }
                    var db = Db;
                    var dbTran = db.UseTran(() =>
                    {
                        db.Deleteable<BIZ_MES_WO>().Where(x => x.ID == woId).ExecuteCommand();
                    });
                    if (!dbTran.IsSuccess)
                    {
                        result.IsSuccessed = false;
                        result.LocaleMsg = new($"删除工单异常");
                    }
                }
                catch (Exception ex)
                {
                    result.CatchExceptionWithLog(ex, "删除工单异常");
                }
                return await Task.FromResult(result);
            }
        }
    }
}