服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-12-03 6cc05f3689e7616431886ec183948c433a30220c
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
101
102
103
104
105
106
107
108
109
110
111
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 Microsoft.AspNetCore.Http;
using Tiger.Model.Entitys.MES.BizMesWoBatch;
using Tiger.Model.Entitys.MES.BizMesWo;
using Tiger.Model.Entitys.MES.BizBasPkgRule;
using Tiger.Model.Entitys.MES.Position;
using Tiger.Model.Entitys.MES.U9C;
using Tiger.Model.Entitys.MES.BizPrintInstoreDoc;
 
namespace Tiger.Business.MES
{
    public partial class BizPrintInstoreDoc : IBizPrintInstoreDoc
    {
        /// <summary>
        /// 获取变量
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<List<BAS_LABEL_TEMP>>> GetPrintProcessValue(PrintInstoreDocInput input)
        {
            var result = new ApiAction<List<BAS_LABEL_TEMP>>();
            try
            {
                List<BAS_LABEL_TEMP> labels = new List<BAS_LABEL_TEMP>();
                int i = 1;
                int j = 1;
                foreach (var p in input.printJsons)
                {
                    BAS_LABEL_TEMP label = await Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == input.LabelCode).FirstAsync();
                    foreach (var item in label.Variables.OrderBy(q => q.VAR_TYPE == BAS_LABEL_VAR.VAR_TYPEs.BarcodeGenerate.GetValue() ? 0 : 1))
                    {
                        foreach (var v in p.Items) {
                            if (item.VAR_NAME.StartsWith("RcvDoc"))
                            {
                                item.Value = v.ORDER_NO;
                            }
                            if (item.VAR_NAME.StartsWith("SoDoc"))
                            {
                                item.Value = v.SALES_ORDER;
                            }
                            if (item.VAR_NAME.StartsWith("MoDoc"))
                            {
                                item.Value = v.WORK_ORDER;
                            }
                            if (item.VAR_NAME.StartsWith("ItemCode"))
                            {
                                item.Value = v.ITEM_CODE;
                            }
                            if (item.VAR_NAME.StartsWith("Description"))
                            {
                                item.Value = v.ITEM_NAME;
                            }
                            if (item.VAR_NAME.StartsWith("BoxQty"))
                            {
                                item.Value = v.PLAN_QTY.ToString();
                            }
                            if (item.VAR_NAME.StartsWith("InQty"))
                            {
                                item.Value = v.SCAN_QTY.ToString();
                            }
                            if (item.VAR_NAME.StartsWith("RcvQrCode"))
                            {
                                item.Value = v.ORDER_NO.ToString();
                            }
                            if (item.VAR_NAME.StartsWith("SapCode"))
                            {
                                item.Value = v.SapCode;
                            }
                            if (item.VAR_NAME.StartsWith("Seq"))
                            {
                                item.Value = i.ToString();
                            }
                            i++;
                        }
                        if (item.VAR_NAME == "PageNum")
                        {
                            item.Value = j.ToString();
                        }
                        if (item.VAR_NAME == "PageSize")
                        {
                            item.Value = input.printJsons.Count.ToString();
                        }
                        if (item.VAR_NAME == "BusinessDate")
                        {
                            item.Value = DateTime.Now.ToString("yyyyy.MM.dd");
                        }
                    }
                    labels.Add(label);
                    j++;
                }
                result.Data = labels;
            }
            catch (Exception ex)
            {
                result.CatchExceptionWithLog(ex, "获取变量异常");
            }
            return result;
        }
    }
}