服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-05-31 d4c326deaa51e7d4897a84afc339684012b8cfbe
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 Apache.NMS.ActiveMQ.Commands;
using Rhea.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tiger.IBusiness;
using Tiger.Model;
using Tiger.Model.Minsun;
 
namespace Tiger.Business.WMS
{
    public class SrmDataToSiHua : ISrmDataToSiHua
    {
        /// <summary>
        /// Srm 数据接口,对外提供数据
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public async Task<ApiAction> GetSrmDlvys(iSrmToShParams param)
        {
            var action = new ApiAction();
            try
            {
                DbClient db = Biz.DataSource["WMS57"].Client;
                //switch (param.company)
                //{
                //    case "XCSJ":
                //        db = Biz.DataSource["Main"].Client;
                //        break;
                //    case "DGXC":
                //        db = Biz.DataSource["DGXC"].Client;
                //        break;
                //    case "AHXC":
                //        db = Biz.DataSource["AHXC"].Client;
                //        break;
                //}
                var dlvyList = await db.Queryable<BIZ_SRM_DLVY>().ByAuth(new AuthOption() { ByOrg = true,CurOrg = param.company, OrgCode = param.company,UserId="admin" }).IncludesAllFirstLayer()
                    .WhereIF(!string.IsNullOrEmpty(param.startDate), t => t.CREATE_TIME >= Convert.ToDateTime(param.startDate))
                    .WhereIF(!string.IsNullOrEmpty(param.endDate), t => t.CREATE_TIME < Convert.ToDateTime(param.endDate)).ToListAsync();
                List<iSrmDlvy> iSrmDlvies = new List<iSrmDlvy>();
                foreach (var item in dlvyList) {
                    //送货单明细
                    List<BookDeliveryItems> bookDeliveryItems = new List<BookDeliveryItems>();
                    foreach (var dtl in item.Dtls)
                    {
                        BookDeliveryItems bookDeliveryItem = new BookDeliveryItems {
                            itemNumber = dtl.PO_LINE_NO.ToString(),
                            orderNumber = dtl.ERP_PO_NO,
                            lotNum = dtl.BATCH_NUMBER,
                            purchaseType = dtl.PO_TYPE.ToString(),
                            materialNumber = dtl.ITEM_CODE,
                            itemStatus = dtl.STATUS.ToString(),
                            orderItemNumber = dtl.LINE_NO.ToString(),
                            deliveryQuantity = dtl.QTY.ToString(),
                        };
                        bookDeliveryItems.Add(bookDeliveryItem);
                    }
                    //送货条码
                    List<BarcodeDetailDatas> barcodeDetailDatas = new List<BarcodeDetailDatas>();
                    foreach (var b in item.SnList)
                    {
                        BarcodeDetailDatas BarcodeDetailData = new BarcodeDetailDatas
                        {
                            materialNumber = b.ITEM_CODE,
                            packetBarcodeNumber = b.SMALL_BARCODE,
                            bookDeliveryNumber = b.DELIVERY_NO,
                            cartonBarcodeNumber = b.OUTER_BARCODE,
                            materialQuantity = b.QTY.ToString(),
                            mediumBarcodeNumber = b.BIG_BARCODE
                        };
                        barcodeDetailDatas.Add(BarcodeDetailData);
                    }
                    iSrmDlvy _srmDlvy = new iSrmDlvy {
                        supplierName = item.SUPP_NAME,
                        address = item.ADDRESS,
                        supplierRemark = "",
                        documnetNumber = item.DELIVERY_NO,
                        supplierCode = item.SUPP_CODE,
                        documentStatus = item.STATUS.ToString(),
                        bookDeliveryDate= item.PLANARRIVED_DATE.ToString("yyyy-MM-dd HH:mm:ss"),
                        company = item.AUTH_ORG,
                        bookDeliveryItems = bookDeliveryItems,
                        deliveryDate = item.DELIVERY_DATE.ToString(),
                        barcodeDetailDatas = barcodeDetailDatas,
                    };
                    iSrmDlvies.Add(_srmDlvy);
                }
                action.Data = iSrmDlvies;
 
            }
            catch (System.Exception ex)
            {
                return action.GetResponse().CatchExceptionWithLog(ex, $"从WMS拉取Srm数据异常");
            }
            return action;
        }
    }
}