From 87f516dbb2e9a10d0e6bb1cb15587c82c709e130 Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期五, 16 八月 2024 08:34:33 +0800
Subject: [PATCH] 增加注释

---
 MES.Service/service/Warehouse/MesInvItemMovesManager.cs |  483 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 481 insertions(+), 2 deletions(-)

diff --git a/MES.Service/service/Warehouse/MesInvItemMovesManager.cs b/MES.Service/service/Warehouse/MesInvItemMovesManager.cs
index 59d36c3..5e1cb86 100644
--- a/MES.Service/service/Warehouse/MesInvItemMovesManager.cs
+++ b/MES.Service/service/Warehouse/MesInvItemMovesManager.cs
@@ -1,6 +1,7 @@
 锘縰sing MES.Service.DB;
 using MES.Service.Dto.service;
 using MES.Service.Modes;
+using MES.Service.util;
 using SqlSugar;
 
 namespace MES.Service.service.Warehouse;
@@ -10,6 +11,149 @@
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
     //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemMovesManager.cs
+
+    public MovesDto ScanInBarcode(WarehouseQuery query)
+    {
+        if (string.IsNullOrEmpty(query.sectionCode))
+        {
+            throw new Exception("璇锋壂搴撲綅鏉$爜锛�");
+        }
+
+        int pBillTypeId = 300;
+        int pTransctionNo = 301;
+
+        var depotQuery = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
+                new JoinQueryInfos(
+                    JoinType.Inner, a.Zuid.ToString() == b.Zuid))
+            .Where((a, b) => a.DepotSectionCode == query.sectionCode)
+            .Select((a, b) => new { b.DepotCode })
+            .First();
+
+        if (depotQuery == null)
+        {
+            throw new Exception($"002[搴撲綅缂栫爜 {query.sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒");
+        }
+
+        var cDepotCode = depotQuery.DepotCode;
+
+        // 鏌ヨ璋冩嫈鍏ュ簱淇℃伅
+        var itemMoveQuery = Db
+            .Queryable<MesInvItemMoves, MesInvItemMovesCDetails>((a, b) =>
+                new JoinQueryInfos(
+                    JoinType.Inner, a.Id == b.ItemMoveId))
+            .Where((a, b) => b.ItemBarcode == query.barcode &&
+                             a.BillTypeId == pBillTypeId &&
+                             a.TransactionNo == pTransctionNo &&
+                             a.Status == 1 && SqlFunc.IsNull(b.MoveOk, 0) != 1)
+            .Select((a, b) => new { a.Id, a.BillNo, a.InvDepotsCode })
+            .First();
+
+        if (itemMoveQuery == null)
+        {
+            throw new Exception("鏉$爜鏈仛璋冩嫈鍑哄簱鎵爜锛岃鏍稿锛�");
+        }
+
+        var cBillNo = itemMoveQuery.BillNo;
+        var iDepotCode = itemMoveQuery.InvDepotsCode;
+
+        // 楠岃瘉搴撳尯涓庝粨搴�
+        var depotValidationQuery = Db.Queryable<MesDepotSections, MesDepots>(
+                (a, b) => new JoinQueryInfos(
+                    JoinType.Inner, a.Zuid.ToString() == b.Zuid))
+            .Where((a, b) => a.DepotSectionCode == query.sectionCode &&
+                             b.DepotCode == iDepotCode)
+            .Select((a, b) => new { b.DepotCode })
+            .First();
+
+        if (depotValidationQuery == null)
+        {
+            throw new Exception($"002[搴撲綅缂栫爜 {query.sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒");
+        }
+
+        if (iDepotCode != depotValidationQuery.DepotCode)
+        {
+            throw new Exception("瀹為檯浠撳簱涓庣敵璇疯皟鍏ヤ粨搴撲笉绗︼紝璇锋牳瀵癸紒");
+        }
+
+        var barcodeCount = Db.Queryable<MesInvItemMovesCDetails>()
+            .Where(b =>
+                b.ItemBarcode == query.barcode &&
+                b.ItemMoveId == itemMoveQuery.Id && b.MoveOk == 1)
+            .Count();
+
+        if (barcodeCount > 0)
+        {
+            throw new Exception("鏉$爜璋冩嫈宸插畬鎴愶紝璇锋牳瀵癸紒");
+        }
+
+        var barcodeInfo = Db.Queryable<MesInvItemBarcodes>()
+            .Where(t => t.ItemBarcode == query.barcode)
+            .First();
+
+        if (barcodeInfo == null)
+        {
+            throw new Exception("鏉$爜涓嶅瓨鍦紝璇锋牳瀵癸紒");
+        }
+
+        var isAudit = UseTransaction(db =>
+        {
+            // 鏇存柊涓氬姟銆佸簱瀛樺拰鏉$爜鏁版嵁
+            db.Updateable<MesInvBusiness2>()
+                .SetColumns(b => new MesInvBusiness2
+                {
+                    ToInvDepotsCode = cDepotCode,
+                    ToInvDepotSectionsCode = query.sectionCode
+                })
+                .Where(b =>
+                    b.BillNo == cBillNo && b.BillTypeId == pBillTypeId &&
+                    b.TransactionCode == pTransctionNo.ToString() &&
+                    b.ItemBarcode == query.barcode)
+                .ExecuteCommand();
+
+            db.Updateable<MesInvItemStocks>()
+                .SetColumns(b => new MesInvItemStocks
+                {
+                    DepotsCode = cDepotCode,
+                    DepotSectionsCode = query.sectionCode
+                })
+                .Where(b => b.ItemBarcode == query.barcode)
+                .ExecuteCommand();
+
+            db.Updateable<MesInvItemMovesCDetails>()
+                .SetColumns(b => new MesInvItemMovesCDetails
+                {
+                    MoveOk = 1,
+                    InvDepotsCode = cDepotCode,
+                    InvDepotSectionsCode = query.sectionCode
+                })
+                .Where(b =>
+                    b.ItemBarcode == query.barcode &&
+                    b.ItemMoveId == itemMoveQuery.Id)
+                .ExecuteCommand();
+
+            // 妫�鏌ユ槸鍚︽墍鏈夋潯鐮佸凡鎵爜绉诲簱
+            var totalQuantity = db.Queryable<MesInvItemOutItems>()
+                .Where(a => a.ItemOutId == itemMoveQuery.Id)
+                .Sum(a => SqlFunc.IsNull(a.Quantity, 0));
+
+            var scannedQuantity = db.Queryable<MesInvItemMovesCDetails>()
+                .Where(a => a.ItemMoveId == itemMoveQuery.Id && a.MoveOk == 1)
+                .Sum(a => SqlFunc.IsNull(a.Quantity, 0));
+
+            if (totalQuantity == scannedQuantity)
+            {
+                return 1;
+            }
+
+            return 0;
+        });
+
+        MovesDto dto = new MovesDto();
+        dto.InAudit = isAudit == 1;
+        dto.BarcodesInfo = barcodeInfo;
+        return dto;
+    }
+
 
     public List<MesInvItemMoves> GetBillNo(WarehouseQuery query)
     {
@@ -25,13 +169,260 @@
             .OrderBy(it => it.Id, OrderByType.Desc).ToList();
     }
 
-    //scan_out_show_DB
-    public List<InventoryItem> ScanOutShowDb(WarehouseQuery query)
+    public List<MesInvItemMoves> GetPage(WarehouseQuery query)
+    {
+        return Db.Queryable<MesInvItemMoves>()
+            .WhereIF(!string.IsNullOrEmpty(query.billNo),
+                s => s.BillNo == query.billNo)
+            .OrderByDescending(s => s.Id)
+            .ToPageList(query.PageIndex, query.Limit);
+    }
+
+    public MovesDto GetItems(WarehouseQuery query)
+    {
+        MovesDto dto = new MovesDto();
+
+        dto.BarcodeList = GetItemMovesCDetails(query);
+        dto.OutItems = GetItemOutItems(query);
+
+        return dto;
+    }
+
+    private List<MesInvItemOutItems> GetItemOutItems(WarehouseQuery query)
+    {
+        var sql = string.Format(
+            "SELECT C.ITEM_NO, C.QUANTITY, C.REMARK,         C.REMARK,         S.ITEM_NAME, S.ITEM_MODEL, U.FNAME ITEM_UNIT, D.QUANTITY_OK,         NVL(ST.QUANTITY, 0)      WLKC  FROM MES_INV_ITEM_OUT_ITEMS C           JOIN MES_ITEMS S ON C.ITEM_ID = S.ID           LEFT JOIN MES_UNIT U                     ON U.ID = S.ITEM_UNIT           LEFT JOIN MES_DEPOTS P ON P.DEPOT_CODE = C.DEPOT_CODE           LEFT JOIN MES_DEPOT_SECTIONS E ON E.DEPOT_SECTION_CODE = C.DEPOT_SECTION_CODE           LEFT JOIN (SELECT ITEM_MOVE_ID, ITEM_NO, SUM(QUANTITY) QUANTITY_OK                      FROM MES_INV_ITEM_MOVES_C_DETAILS                   GROUP BY ITEM_MOVE_ID, ITEM_NO) D ON D.ITEM_MOVE_ID = C.ITEM_OUT_ID AND D.ITEM_NO = C.ITEM_NO         LEFT JOIN MES_INV_ITEM_MOVES A         ON A.ID = C.ITEM_OUT_ID       left join (SELECT ITEM_ID, SUM(QUANTITY) QUANTITY, DEPOTS_CODE                 FROM MES_INV_ITEM_STOCKS GROUP BY ITEM_ID, DEPOTS_CODE) ST ON C.ITEM_ID = ST.ITEM_ID AND ST.DEPOTS_CODE = A.FROM_DEPOTS_CODE where C.ITEM_OUT_ID = {0}",
+            query.id);
+
+        return Db.Ado.SqlQuery<MesInvItemOutItems>(sql);
+    }
+
+    private List<MesInvItemMovesCDetails> GetItemMovesCDetails(
+        WarehouseQuery query)
+    {
+        return Db.Queryable<MesInvItemMovesCDetails, MesItems, MesSupplier>(
+                (b, c, f) => new JoinQueryInfos(
+                    JoinType.Left,
+                    b.ItemNo == c.ItemNo && b.Company == c.Company &&
+                    b.Factory == c.Factory,
+                    JoinType.Left, b.SuppNo == f.SuppNo
+                ))
+            .Where((b, c, f) => b.ItemMoveId == query.id)
+            .Select((b, c, f) => new MesInvItemMovesCDetails
+            {
+                FromDepotSectionsCode = b.FromDepotSectionsCode,
+                BoardStyle = b.BoardStyle,
+                FromDepotsCode = b.FromDepotsCode,
+                InvDepotSectionsCode = b.InvDepotSectionsCode,
+                InvDepotsCode = b.InvDepotsCode,
+                Quantity = b.Quantity,
+                LotNo = b.LotNo,
+                ItemNo = b.ItemNo,
+                ItemBarcode = b.ItemBarcode,
+                ItemName = c.ItemName,
+                ItemModel = c.ItemModel,
+                ItemUnit = c.ItemUnit,
+                SuppName = f.SuppName,
+                MoveOk =
+                    SqlFunc.IsNull(b.MoveOk, 0) // 浣跨敤 SqlFunc.IsNull 瀹炵幇 NVL 鐨勬晥鏋�
+            }).ToList();
+    }
+
+    public OutItemDto ScanMoveBarcode(WarehouseQuery query)
     {
         var BillTypeId = 300;
         var TransctionNo = 301;
         query.Factory = "1000";
         query.Company = "1000";
+
+        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璇烽�夊崟鎹彿锛�");
+
+        var mesInvItemStocks = Db.Queryable<MesInvItemStocks>()
+            .Where(s => s.ItemBarcode == query.barcode &&
+                        s.Quantity > 0 && s.DepotsCode != null).First();
+        if (mesInvItemStocks == null)
+            throw new Exception("搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒" + query.barcode);
+
+        var mesInvItemMoves = Db.Queryable<MesInvItemMoves>()
+            .Where(d => d.TransactionNo == TransctionNo
+                        && SqlFunc.IsNull(d.Status, 0) == 1).First();
+
+        if (mesInvItemMoves == null)
+            throw new Exception("鍑哄簱鍗� " + query.billNo + "涓嶅瓨鍦紝璇风‘璁わ紒");
+
+        var count = Db.Queryable<MesInvItemMoves, MesInvItemMovesCDetails>(
+                (a, b) =>
+                    new JoinQueryInfos(JoinType.Inner, a.Id == b.ItemMoveId))
+            .Where((a, b) => b.ItemBarcode == query.barcode
+                             && a.TransactionNo == TransctionNo &&
+                             SqlFunc.IsNull(a.Status, 0) == 0).Count();
+        if (count > 0) throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+
+        count = Db.Queryable<MesInvItemMoves, MesInvItemMovesCDetails>((a, b) =>
+                new JoinQueryInfos(JoinType.Inner, a.Id == b.ItemMoveId))
+            .Where((a, b) => b.ItemBarcode == query.barcode
+                             && a.TransactionNo == TransctionNo &&
+                             SqlFunc.IsNull(b.MoveOk, 0) == 0).Count();
+
+        if (count > 0) throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+
+        if (mesInvItemMoves.FromDepotsCode != mesInvItemStocks.DepotsCode)
+            throw new Exception("鏉$爜鐜板瓨浠撳簱涓庣敵璇峰嚭璐т粨搴撲笉涓�鑷达紝璇锋牳瀵癸紒");
+
+        var quantity = Db.Queryable<MesInvItemOutItems>()
+            .Where(b => b.ItemNo == mesInvItemStocks.ItemNo
+                        && b.ItemOutId == mesInvItemMoves.Id)
+            .Sum(b => b.Quantity);
+
+        if (quantity == null)
+            throw new Exception("鎵爜鐗╂枡闈炴湰娆$敵璇风墿鏂欙紝璇锋牳瀵癸紒" + query.barcode);
+
+        var sum = Db.Queryable<MesInvItemMovesCDetails>()
+            .Where(b => b.ItemNo == mesInvItemStocks.ItemNo
+                        && b.ItemMoveId == mesInvItemMoves.Id)
+            .Sum(b => b.Quantity) ?? 0;
+
+        var sumqty = sum + (mesInvItemStocks.Quantity ?? 0);
+
+        if (sumqty > quantity)
+            throw new Exception(
+                "宸叉壂鏉$爜鏁伴噺鎴栨湰娆℃壂鐮佹暟閲忥細" + sumqty + " 澶т簬鐢宠鏁伴噺锛�" + quantity + "锛岃鏍稿锛�");
+
+        List<InventoryItem> scanOutShowDb = null;
+
+        UseTransaction(db =>
+        {
+            SaveMesInvItemMovesCDetails(db, query, mesInvItemMoves,
+                mesInvItemStocks);
+
+            // Insert into mes_inv_business2
+            SaveMesInvBusiness2(db, query, BillTypeId, TransctionNo,
+                mesInvItemStocks, mesInvItemMoves);
+
+            if (TransctionNo == 303)
+                db.Updateable<MesInvItemStocks>()
+                    .SetColumns(s =>
+                        s.DepotSectionsCode == mesInvItemMoves.InvDepotsCode)
+                    .SetColumns(s =>
+                        s.DepotsCode == mesInvItemMoves.InvDepotsCode)
+                    .Where(s => s.Id == mesInvItemStocks.Id)
+                    .ExecuteCommand();
+            else
+                db.Updateable<MesInvItemStocks>()
+                    .SetColumns(s => s.DepotSectionsCode == null)
+                    .SetColumns(s => s.DepotsCode == null)
+                    .Where(s => s.Id == mesInvItemStocks.Id)
+                    .ExecuteCommand();
+
+            scanOutShowDb = ScanOutShowDb(query);
+            if (CollectionUtil.IsNullOrEmpty(scanOutShowDb))
+                db.Updateable<MesInvItemMoves>()
+                    .SetColumns(s => s.Status == 1)
+                    .SetColumns(s => s.Checkdate == DateTime.Now)
+                    .SetColumns(s => s.Checkuser == query.userName)
+                    .Where(s => s.BillNo == query.billNo).ExecuteCommand();
+
+            return 1;
+        });
+
+        var itemDto = new OutItemDto();
+        itemDto.SumItem = scanOutShowDb;
+
+        if (TransctionNo == 201) itemDto.Quantity = mesInvItemStocks.Quantity;
+
+        itemDto.ItemNo = mesInvItemStocks.ItemNo;
+
+        return itemDto;
+    }
+
+    private void SaveMesInvBusiness2(SqlSugarScope Db, WarehouseQuery query,
+        int BillTypeId,
+        int TransctionNo, MesInvItemStocks mesInvItemStocks,
+        MesInvItemMoves mesInvItemMoves)
+    {
+        var executeCommand = Db.Insertable(new MesInvBusiness2
+        {
+            Status = 1,
+            BillTypeId = BillTypeId,
+            TransactionCode = TransctionNo.ToString(),
+            BusinessType = 1,
+            ItemBarcode = query.barcode,
+            ItemNo = mesInvItemStocks.ItemNo,
+            LotNo = mesInvItemStocks.LotNo,
+            EpFlag = 1,
+            Quantity = mesInvItemStocks.Quantity,
+            FromInvDepotsCode = mesInvItemStocks.DepotsCode,
+            FromInvDepotSectionsCode = mesInvItemStocks.DepotSectionsCode,
+            ToInvDepotsCode = TransctionNo == 303
+                ? mesInvItemMoves.InvDepotsCode
+                : null,
+            ToInvDepotSectionsCode = TransctionNo == 303
+                ? mesInvItemMoves.InvDepotsCode
+                : null,
+            CreateBy = query.userName,
+            CreateDate = DateTime.Now,
+            LastupdateBy = query.userName,
+            LastupdateDate = DateTime.Now,
+            Factory = query.Factory,
+            Company = query.Company,
+            TaskNo = mesInvItemStocks.TaskNo,
+            BillNo = query.billNo,
+            WorkNo = mesInvItemStocks.WorkNo,
+            WorkLine = mesInvItemStocks.WorkLine,
+            SuppNo = mesInvItemStocks.SuppNo
+        }).ExecuteCommand();
+
+        if (executeCommand <= 0) throw new Exception("鍐欏叆MesInvBusiness2琛ㄥけ璐�");
+    }
+
+    private void SaveMesInvItemMovesCDetails(SqlSugarScope Db,
+        WarehouseQuery query,
+        MesInvItemMoves mesInvItemMoves, MesInvItemStocks mesInvItemStocks)
+    {
+        var executeCommand = Db.Insertable(new MesInvItemMovesCDetails
+        {
+            ItemMoveId = mesInvItemMoves.Id,
+            ItemBarcode = query.barcode,
+            CItemCode = mesInvItemStocks.CItemCode,
+            ItemNo = mesInvItemStocks.ItemNo,
+            LotNo = mesInvItemStocks.LotNo,
+            Quantity = mesInvItemStocks.Quantity,
+            EpFlag = mesInvItemStocks.EpFlag,
+            CreateBy = query.userName,
+            CreateDate = DateTime.Now,
+            LastupdateBy = query.userName,
+            LastupdateDate = DateTime.Now,
+            CustNo = mesInvItemStocks.CustomerNo,
+            TaskNo = mesInvItemStocks.TaskNo,
+            FromDepotsCode = mesInvItemStocks.DepotsCode,
+            FromDepotSectionsCode = mesInvItemStocks.DepotSectionsCode,
+            Factory = mesInvItemStocks.Factory,
+            Company = mesInvItemStocks.Company,
+            IqcStatus = mesInvItemStocks.IqcStatus,
+            Fcar = mesInvItemStocks.Fcar,
+            IndepDate = mesInvItemStocks.IndepDate,
+            VisableSubmit = mesInvItemStocks.VisableSubmit,
+            VisableSubmitBy = mesInvItemStocks.VisableSubmitBy,
+            VisableSubmitDate = mesInvItemStocks.VisableSubmitDate,
+            BoardStyle = mesInvItemStocks.BoardStyle,
+            WorkNo = mesInvItemStocks.WorkNo,
+            WorkLine = mesInvItemStocks.WorkLine,
+            SuppNo = mesInvItemStocks.SuppNo
+        }).ExecuteCommand();
+
+        if (executeCommand <= 0)
+            throw new Exception("鍐欏叆MesInvItemMovesCDetails琛ㄥけ璐�");
+    }
+
+    //scan_out_show_DB
+    private List<InventoryItem> ScanOutShowDb(WarehouseQuery query)
+    {
+        var BillTypeId = 300;
+        var TransctionNo = 301;
+        query.Factory = "1000";
+        query.Company = "1000";
+
+        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璇烽�夊崟鎹彿锛�");
 
         var sql = string.Format(
             "select f_get_sections_code({0}, {1}, b.item_no)                       sections_code , s.erp_item_no , S.ITEM_MODEL , to_char(nvl(b.quantity, 0) - nvl(quantity_ok, 0), 'FM9999999990.00') flist from mes_inv_item_moves a join mes_inv_item_out_items b on b.item_out_id = a.id join mes_items s on b.item_no = s.item_no left join (select ITEM_MOVE_ID, item_no, sum(quantity) quantity_ok             from MES_INV_ITEM_MOVES_C_DETAILS group by ITEM_MOVE_ID, item_no) c                    on c.ITEM_MOVE_ID = a.id and b.item_no = c.item_no where 1 = 1 and a.bill_type_id = {2} and a.transaction_no = {3} and a.bill_no = {4} and nvl(b.quantity, 0) - nvl(quantity_ok, 0) > 0   and rownum < 500   AND A.STATUS = 1 order by f_get_sections_code({0}, {1}, b.item_no), s.erp_item_no ",
@@ -42,4 +433,92 @@
 
         return results;
     }
+
+    public bool Audit(WarehouseQuery query)
+    {
+        return Db.Updateable<MesInvItemMoves>()
+            .SetColumns(a => new MesInvItemMoves { Ts = 1 })
+            .Where(a => a.Id == query.id)
+            .ExecuteCommand() > 0;
+    }
+
+    public MessageCenter SaveMessageCenter(WarehouseQuery query)
+    {
+        var message = MesToErpParam(query);
+
+        var executeReturnIdentity =
+            Db.Insertable(message).ExecuteReturnIdentity();
+        if (executeReturnIdentity > 0)
+        {
+            message.Id = executeReturnIdentity;
+            message.Pid = executeReturnIdentity;
+            return message;
+        }
+
+        throw new Exception("鑾峰彇鏁版嵁澶辫触");
+    }
+
+    public MessageCenter MesToErpParam(WarehouseQuery query)
+    {
+        var erpParameters = "";
+        var title = "";
+        var tableName = "MES_INV_ITEM_MOVES_" + query.Type;
+        if ("A".Equals(query.Type))
+        {
+            erpParameters = GetErpParameters(query.billNo);
+            title = "璋冩嫧鍏ュ簱鍗�" + query.billNo + "瀹℃牳";
+        }
+        else if ("B".Equals(query.Type))
+        {
+            erpParameters = GetDeApprovePam(query.id);
+            title = "璋冩嫧鍏ュ簱鍗�" + query.billNo + "鍙嶅鏍�";
+        }
+
+        var ErpUrl = AppsettingsUtility.Settings.ProductionErpUrl;
+        var message = new MessageCenter
+        {
+            TableName = tableName,
+            Url = ErpUrl,
+            Status = 1,
+            CreateBy = query.userName,
+            Route = query.billNo,
+            Title = title,
+            PageName = "Allocation/Add?id=" + query.id +
+                       "&billNo=" + query.billNo,
+            CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+            Method = "POST",
+            Seq = 1,
+            Data = erpParameters,
+            IsMessage = 0,
+            ContentType = "application/x-www-form-urlencoded"
+        };
+        return message;
+    }
+
+    private string GetErpParameters(string? billNo)
+    {
+        // var invItemIns = Db.Queryable<MesInvItemOuts>()
+        //     .Single(x => x.ItemOutNo == billNo);
+        //
+        // //璋冪敤function鍑芥暟
+        // var sql =
+        //     $"SELECT F_GENERATE_DATA_INSERTED('{billNo}') FROM DUAL;";
+        // var jsonString = Db.Ado.SqlQuerySingle<string>(sql);
+        //
+        // var encodedUrl = "taskname=CGTL&mesid=" + invItemIns.Id +
+        //                  "&optype=create&datajson=" + jsonString;
+        //
+        // return encodedUrl;
+        return null;
+    }
+
+    private string GetDeApprovePam(decimal? id)
+    {
+        // var sid = (int)id;
+        // var encodedUrl = "taskname=CGTL&mesid=" + sid +
+        //                  "&optype=delete&datajson={}";
+        //
+        // return encodedUrl;
+        return null;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3