From 02e1ab3c7488af48b728e154b846040a712ad6a4 Mon Sep 17 00:00:00 2001
From: kyy <3283105747@qq.com>
Date: 星期三, 15 十月 2025 11:00:18 +0800
Subject: [PATCH] pda周转箱调拨

---
 service/Warehouse/ZzxdbManager.cs        |  677 +++++++++++++++++++++++++++++++++++
 Controllers/Warehouse/ZzxdbController.cs |  411 +++++++++++++++++++++
 Dto/service/WarehouseQuery.cs            |    8 
 3 files changed, 1,096 insertions(+), 0 deletions(-)

diff --git a/Controllers/Warehouse/ZzxdbController.cs b/Controllers/Warehouse/ZzxdbController.cs
new file mode 100644
index 0000000..1ca8efb
--- /dev/null
+++ b/Controllers/Warehouse/ZzxdbController.cs
@@ -0,0 +1,411 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.service.@base;
+using NewPdaSqlServer.service.Warehouse;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Warehouse;
+
+/// <summary>
+///     璋冩嫧鍑哄簱鐩稿叧鎺ュ彛
+/// </summary>
+[Route("api/[controller]")]
+[ApiController]
+public class ZzxdbController : BaseController
+{
+    private readonly ZzxdbManager _manager = new();
+
+    private readonly MesPrintMangeer _mCf = new();
+
+    #region 鍩虹CRUD
+
+    /// <summary>
+    ///     鑾峰彇鎵�鏈夎皟鎷ㄥ嚭搴撳崟
+    /// </summary>
+    /// <returns>璋冩嫧鍑哄簱鍗曞垪琛�</returns>
+    [HttpPost("GetList")]
+    public ResponseResult GetList()
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = _manager.GetList();
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    #endregion
+
+    #region 璋冩嫧鍏ュ簱涓氬姟
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜璋冩嫧鍏ュ簱澶勭悊
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊缁撴灉鍜屽緟澶勭悊鏄庣粏</returns>
+    /// <remarks>
+    ///     璇锋眰绀轰緥:
+    ///     POST /api/TransferOut/ScanReceiveBarcode
+    ///     {
+    ///     "billNo": "DB202401010001",  // 璋冩嫧鍗曞彿(蹇呭~)
+    ///     "userName": "admin",          // 鐢ㄦ埛鍚�(蹇呭~)
+    ///     "barcode": "BC001"           // 鏉$爜鍙�(蹇呭~)
+    ///     }
+    ///     涓氬姟澶勭悊锛�
+    ///     - 楠岃瘉璋冩嫧鍗曠姸鎬�
+    ///     - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+    ///     - 楠岃瘉浠撳簱涓�鑷存��
+    ///     - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+    ///     - 鎵ц璋冩嫧鍏ュ簱浜嬪姟澶勭悊
+    ///     杩斿洖鏁版嵁鍖呭惈锛�
+    ///     - form: 澶勭悊缁撴灉琛ㄥ崟
+    ///     - items: 寰呭鐞嗘槑缁嗗垪琛�
+    /// </remarks>
+    /// <response code="200">鎵弿鎴愬姛</response>
+    /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+    [HttpPost("ScanReceiveBarcode")]
+    public ResponseResult ScanReceiveBarcode([FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var (form, items) = _manager.ScanReceiveBarcode(query);
+            resultInfos.form = form;
+            resultInfos.items = items;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    #endregion
+
+    #region 璋冩嫧涓氬姟
+
+    /// <summary>
+    ///     鑾峰彇鍛ㄨ浆绠辩墿鏂欏垪琛�
+    /// </summary>
+    /// <returns>鑾峰彇鍛ㄨ浆绠辩墿鏂欏垪琛�</returns>
+    /// <remarks>
+    ///     
+    /// </remarks>
+    /// <response code="200">鎴愬姛鑾峰彇鍛ㄨ浆绠辩墿鏂欏垪琛�</response>
+    /// <response code="400">鑾峰彇澶辫触</response>
+    [HttpPost("GetItemNoList")]
+    public ResponseResult GetItemNoList([FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = _manager.GetTransferOutNoList(query);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鏍规嵁鍗曟嵁鍙疯幏鍙栧簱浣嶆槑缁�
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟</param>
+    /// <returns></returns>
+    /// <remarks>
+    /// 
+    /// </remarks>
+    /// <response code="200">鎴愬姛鑾峰彇搴撲綅鏄庣粏</response>
+    /// <response code="400">鑾峰彇澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+    [HttpPost("GetKwByBillNo")]
+    public ResponseResult GetKwByBillNo(
+        [FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList =
+                _manager.GetTransferOutDetailListByBillNo(query);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鏍规嵁鐗╂枡缂栧彿鍜岃皟鍑哄簱浣嶈幏鍙栫墿鏂欏強瀵瑰簲搴撳瓨鏄庣粏
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟</param>
+    /// <returns></returns>
+    /// <remarks>
+    /// 
+    /// </remarks>
+    /// <response code="200">鎴愬姛鑾峰彇搴撲綅鏄庣粏</response>
+    /// <response code="400">鑾峰彇澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+    [HttpPost("GetMesItemByItemNo")]
+    public ResponseResult GetMesItemByItemNo(
+        [FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList =
+                _manager.GetMesItemByItemNo(query, RequestInfo);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("GetTransferInDetailListByBillNo")]
+    public ResponseResult GetTransferInDetailListByBillNo(
+    [FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList =
+                _manager.GetTransferInDetailListByBillNo(query);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜璋冩嫧鍑哄簱澶勭悊
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊缁撴灉鍜屽緟澶勭悊鏄庣粏</returns>
+    /// <remarks>
+    ///     璇锋眰绀轰緥:
+    ///     POST /api/TransferOut/ScanMoveBarcode
+    ///     {
+    ///     "billNo": "DB202401010001",  // 璋冩嫧鍗曞彿(蹇呭~)
+    ///     "userName": "admin",          // 鐢ㄦ埛鍚�(蹇呭~)
+    ///     "barcode": "BC001"           // 鏉$爜鍙�(蹇呭~)
+    ///     }
+    ///     涓氬姟澶勭悊锛�
+    ///     - 楠岃瘉璋冩嫧鍗曠姸鎬�
+    ///     - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+    ///     - 楠岃瘉浠撳簱涓�鑷存��
+    ///     - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+    ///     - 鎵ц璋冩嫧鍑哄簱浜嬪姟澶勭悊
+    ///     杩斿洖鏁版嵁鍖呭惈锛�
+    ///     - form: 澶勭悊缁撴灉琛ㄥ崟
+    ///     - items: 寰呭鐞嗘槑缁嗗垪琛�
+    /// </remarks>
+    /// <response code="200">鎵弿鎴愬姛</response>
+    /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+    [HttpPost("saveDbsq")]
+    public ResponseResult saveDbsq([FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = _manager.saveDbsq(query,RequestInfo);
+            if (resultInfos.tbBillList.result == "2")
+            {
+                return new ResponseResult
+                {
+                    status = Convert.ToInt32(resultInfos.tbBillList.result),
+                    message = resultInfos.tbBillList.strMsg,
+                    data = resultInfos
+                };
+            }
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜璋冩嫧鍑哄簱澶勭悊
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊缁撴灉鍜屽緟澶勭悊鏄庣粏</returns>
+    /// <remarks>
+    ///     璇锋眰绀轰緥:
+    ///     POST /api/TransferOut/ScanMoveBarcode
+    ///     {
+    ///     "billNo": "DB202401010001",  // 璋冩嫧鍗曞彿(蹇呭~)
+    ///     "userName": "admin",          // 鐢ㄦ埛鍚�(蹇呭~)
+    ///     "barcode": "BC001"           // 鏉$爜鍙�(蹇呭~)
+    ///     }
+    ///     涓氬姟澶勭悊锛�
+    ///     - 楠岃瘉璋冩嫧鍗曠姸鎬�
+    ///     - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+    ///     - 楠岃瘉浠撳簱涓�鑷存��
+    ///     - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+    ///     - 鎵ц璋冩嫧鍑哄簱浜嬪姟澶勭悊
+    ///     杩斿洖鏁版嵁鍖呭惈锛�
+    ///     - form: 澶勭悊缁撴灉琛ㄥ崟
+    ///     - items: 寰呭鐞嗘槑缁嗗垪琛�
+    /// </remarks>
+    /// <response code="200">鎵弿鎴愬姛</response>
+    /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+    [HttpPost("deleteDbsqMx")]
+    public ResponseResult deleteDbsqMx([FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = _manager.deleteDbsqMx(query);
+
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜璋冩嫧鍑哄簱澶勭悊
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊缁撴灉鍜屽緟澶勭悊鏄庣粏</returns>
+    /// <remarks>
+    ///     璇锋眰绀轰緥:
+    ///     POST /api/TransferOut/ScanMoveBarcode
+    ///     {
+    ///     "billNo": "DB202401010001",  // 璋冩嫧鍗曞彿(蹇呭~)
+    ///     "userName": "admin",          // 鐢ㄦ埛鍚�(蹇呭~)
+    ///     "barcode": "BC001"           // 鏉$爜鍙�(蹇呭~)
+    ///     }
+    ///     涓氬姟澶勭悊锛�
+    ///     - 楠岃瘉璋冩嫧鍗曠姸鎬�
+    ///     - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+    ///     - 楠岃瘉浠撳簱涓�鑷存��
+    ///     - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+    ///     - 鎵ц璋冩嫧鍑哄簱浜嬪姟澶勭悊
+    ///     杩斿洖鏁版嵁鍖呭惈锛�
+    ///     - form: 澶勭悊缁撴灉琛ㄥ崟
+    ///     - items: 寰呭鐞嗘槑缁嗗垪琛�
+    /// </remarks>
+    /// <response code="200">鎵弿鎴愬姛</response>
+    /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+    [HttpPost("submit")]
+    public ResponseResult submit([FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = _manager.submitDbBillNo(query, RequestInfo);
+
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鍒嗗壊鏉$爜杩涜璋冩嫧鍑哄簱澶勭悊
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊缁撴灉鍜屽緟澶勭悊鏄庣粏</returns>
+    /// <remarks>
+    ///     璇锋眰绀轰緥:
+    ///     POST /api/TransferOut/SplitBarcode
+    ///     {
+    ///     "billNo": "DB202401010001",  // 璋冩嫧鍗曞彿(蹇呭~)
+    ///     "userName": "admin",          // 鐢ㄦ埛鍚�(蹇呭~)
+    ///     "barcode": "BC001"           // 鏉$爜鍙�(蹇呭~)
+    ///     "fum": "1"                  // 鎷嗗垎鏁�(蹇呭~)
+    ///     }
+    ///     涓氬姟澶勭悊锛�
+    ///     - 楠岃瘉璋冩嫧鍗曠姸鎬�
+    ///     - 楠岃瘉鏉$爜搴撳瓨淇℃伅
+    ///     - 楠岃瘉浠撳簱涓�鑷存��
+    ///     - 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
+    ///     - 鎵ц鍒嗗壊鏉$爜鐨勮皟鎷ㄥ嚭搴撲簨鍔″鐞�
+    /// </remarks>
+    /// <response code="200">鍒嗗壊鎴愬姛</response>
+    /// <response code="400">鍒嗗壊澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
+    [HttpPost("ScanCodeCF")]
+    public ResponseResult ScanCodeCF(WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = new ExpandoObject();
+            resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(query);
+            var scanResult = _manager.ScanCodeCF(query);
+            resultInfos.tbBillList.cfBarInfo = _mCf.getCfInfo(scanResult);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    #endregion
+}
\ No newline at end of file
diff --git a/Dto/service/WarehouseQuery.cs b/Dto/service/WarehouseQuery.cs
index 9312733..4b6959b 100644
--- a/Dto/service/WarehouseQuery.cs
+++ b/Dto/service/WarehouseQuery.cs
@@ -40,6 +40,14 @@
 
     public string? itemNo { get; set; }
     public string? message { get; set; }
+    public string? orgid { get; set; }
+    public string? dckw { get; set; }
+    public decimal? dbNum { get; set; }
+    public string? remark { get; set; }
+    public string? drkw { get; set; }
 
+    
+                
+                
 
 }
\ No newline at end of file
diff --git a/service/Warehouse/ZzxdbManager.cs b/service/Warehouse/ZzxdbManager.cs
new file mode 100644
index 0000000..1cab262
--- /dev/null
+++ b/service/Warehouse/ZzxdbManager.cs
@@ -0,0 +1,677 @@
+锘縰sing MES.Service.Modes;
+using NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.entity.Base;
+using SqlSugar;
+using System.Data;
+using System.Data.SqlClient;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+/// <summary>
+///     璋冩嫧鍑哄叆搴撶鐞嗙被
+///     璐熻矗澶勭悊璋冩嫧鍑哄簱鐩稿叧鐨勪笟鍔¢�昏緫
+/// </summary>
+public class ZzxdbManager : Repository<MesDbck>
+{
+    /// <summary>
+    ///     鑾峰彇鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃
+    /// </summary>
+    /// <returns>鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃</returns>
+    public dynamic GetTransferOutNoList(WarehouseQuery query)
+    {
+        // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+        var ds = new DataSet();
+
+        // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            conn.Open();
+
+            using (var cmd = new SqlCommand("prc_pda_zzxdb_wllist", conn))
+            {
+                cmd.CommandType = CommandType.StoredProcedure;
+
+                // 娣诲姞鍙傛暟
+                cmd.Parameters.Add(new SqlParameter("@itemNo", query.itemNo));
+                cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
+
+                using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+                {
+                    adapter.Fill(ds);
+                }
+            }
+        }
+
+        // 杞崲缁撴灉
+        var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+        //var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+        //var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+        //var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
+
+        //var dto = new
+        //{
+        //    XcslItemList = XcslItem
+        //    //XcslWjsBarList = XcslWjsBar,
+        //    //XcslYjsBarList = XcslYjsBar,
+        //    //DaaInfoList = daaInfo
+        //};
+
+        return XcslItem;
+    }
+
+    /// <summary>
+    ///     鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
+    /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
+    public dynamic GetTransferOutDetailListByBillNo(
+        WarehouseQuery query)
+    {
+        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璋冩嫧鍗曞彿涓虹┖");
+
+        // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+        var ds = new DataSet();
+
+        // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            conn.Open();
+
+            using (var cmd = new SqlCommand("prc_pda_zzxdb_kw", conn))
+            {
+                cmd.CommandType = CommandType.StoredProcedure;
+
+                // 娣诲姞鍙傛暟
+                cmd.Parameters.Add(new SqlParameter("@billNo", query.billNo));
+                cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
+
+                using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+                {
+                    adapter.Fill(ds);
+                }
+            }
+        }
+
+        // 杞崲缁撴灉
+        var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+        //var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+        //var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+        //var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
+
+        var dto = new
+        {
+            XcslItemList = XcslItem
+            //XcslWjsBarList = XcslWjsBar,
+            //XcslYjsBarList = XcslYjsBar,
+            //DaaInfoList = daaInfo
+        };
+
+        return dto;
+    }
+
+    /// <summary>
+    ///     鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
+    /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
+    public dynamic GetMesItemByItemNo(
+        WarehouseQuery query, dynamic requestInfo)
+    {
+        if (string.IsNullOrEmpty(query.itemNo)) throw new Exception("鐗╂枡缂栧彿涓虹┖");
+
+        var orgId = requestInfo.OrgId;
+
+        if (orgId == null)
+            throw new Exception("缁勭粐涓嶅瓨鍦紒");
+
+        if (string.IsNullOrEmpty(query.dckw)) throw new Exception("璋冨嚭搴撲綅涓虹┖");
+
+        // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+        var ds = new DataSet();
+
+        // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            conn.Open();
+
+            using (var cmd = new SqlCommand("prc_pda_zzxdb_wlmx", conn))
+            {
+                cmd.CommandType = CommandType.StoredProcedure;
+
+                // 娣诲姞鍙傛暟
+                cmd.Parameters.Add(new SqlParameter("@itemNo", query.itemNo));
+                cmd.Parameters.Add(new SqlParameter("@pi_orgId", orgId));
+                cmd.Parameters.Add(new SqlParameter("@inP1", query.dckw));
+                cmd.Parameters.Add(new SqlParameter("@inP2", query.userName));
+                cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
+
+                using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+                {
+                    adapter.Fill(ds);
+                }
+            }
+        }
+
+        // 杞崲缁撴灉
+        var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+        var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+        //var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+        //var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
+
+        var dto = new
+        {
+            XcslItemList = XcslItem,
+            ItemDetail = XcslWjsBar,
+            //XcslYjsBarList = XcslYjsBar,
+            //DaaInfoList = daaInfo
+        };
+
+        return dto;
+    }
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜鐢熸垚璋冩嫧鐢宠鍗�
+    /// </summary>
+    /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+    public dynamic
+        saveDbsq(WarehouseQuery query, dynamic requestInfo)
+    {
+        var _strMsg = "";
+        var _intSum = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            if (string.IsNullOrEmpty(query.id)) throw new Exception("鐗╂枡id涓虹┖");
+
+            var orgId = requestInfo.OrgId;
+
+            if (orgId == null)
+                throw new Exception("缁勭粐涓嶅瓨鍦紒");
+
+            if (string.IsNullOrEmpty(query.userName)) throw new Exception("鐧诲綍璐﹀彿涓虹┖");
+
+            if (string.IsNullOrEmpty(query.drkw)) throw new Exception("璋冨叆浠撳簱涓虹┖");
+
+            if (string.IsNullOrEmpty(query.dckw)) throw new Exception("璋冨嚭浠撳簱涓虹┖");
+
+            using (var cmd = new SqlCommand("[prc_pda_zzxdb_save]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.NVarChar, 300),
+                        new("@itemId", query.id),
+                        new("@dbNum", query.dbNum),
+                        new("@remark", query.remark),
+                        new("@ACCOUNT", query.userName),
+                        new("@drkw", query.drkw),
+                        new("@dckw", query.dckw),
+                        new("@inP1", orgId),
+                        new("@inP2", DBNull.Value),
+                        new("@inP3", DBNull.Value)
+
+                };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    _strMsg = parameters[0].Value.ToString();
+                    _intSum = parameters[1].Value.ToString();
+
+                    var result = Convert.ToInt32(_intSum);
+                    if (result <= 0) throw new Exception(_strMsg);
+
+                    var dto = new
+                    {
+                        strMsg = _strMsg,
+                        result = _intSum
+                    };
+
+                    return dto;
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+    }
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜鐢熸垚璋冩嫧鐢宠鍗�
+    /// </summary>
+    /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+    public dynamic deleteDbsqMx(WarehouseQuery query)
+    {
+        var _strMsg = "";
+        var _intSum = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            if (string.IsNullOrEmpty(query.id)) throw new Exception("璋冩嫧鐢宠鏄庣粏璁板綍ID涓虹┖");
+
+            using (var cmd = new SqlCommand("[prc_pda_zzxdb_delete]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.NVarChar, 300),
+                        new("@DbmxId", query.id),
+                        new("@ACCOUNT", query.userName),
+                        new("@inP1", DBNull.Value),
+                        new("@inP2", DBNull.Value),
+                        new("@inP3", DBNull.Value)
+
+                };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    _strMsg = parameters[0].Value.ToString();
+                    _intSum = parameters[1].Value.ToString();
+
+                    var result = Convert.ToInt32(_intSum);
+                    if (result <= 0) throw new Exception(_strMsg);
+
+                    var dto = new
+                    {
+                        strMsg = _strMsg,
+                        result = _intSum
+                    };
+
+                    return dto;
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+    }
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜鐢熸垚璋冩嫧鐢宠鍗�
+    /// </summary>
+    /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+    public dynamic submitDbBillNo(WarehouseQuery query, dynamic requestInfo)
+    {
+        var _strMsg = "";
+        var _intSum = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            if (string.IsNullOrEmpty(query.id)) throw new Exception("璋冩嫧鐢宠璁板綍ID涓虹┖");
+
+            using (var cmd = new SqlCommand("[prc_pda_zzxdb_sure]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.NVarChar, 300),
+                        new("@DbdjId", query.id),
+                        new("@ACCOUNT", query.userName),
+                        new("@inP1", DBNull.Value),
+                        new("@inP2", DBNull.Value),
+                        new("@inP3", DBNull.Value)
+
+                };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    _strMsg = parameters[0].Value.ToString();
+                    _intSum = parameters[1].Value.ToString();
+
+                    var result = Convert.ToInt32(_intSum);
+                    if (result <= 0) throw new Exception(_strMsg);
+
+                    var dto = new
+                    {
+                        strMsg = _strMsg,
+                        result = _intSum
+                    };
+
+                    return dto;
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+    }
+
+    /// <summary>
+    ///     鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
+    /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
+    public ProductionPickDto GetTransferInDetailListByBillNo(
+        WarehouseQuery query)
+    {
+        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璋冩嫧鍗曞彿涓虹┖");
+
+        var sql1 = string.Format(@"SELECT * FROM MES_DBCK WHERE FDocumentStatus = 'C' AND FBillNo = '{0}'", query.billNo);
+
+        var dbck = Db.Ado.SqlQuery<ItemDetailModel>(sql1);
+
+        if (dbck.Count < 1) throw new Exception("璋冩嫧鍗曞彿涓嶅瓨鍦ㄦ垨鏈鏍革紒");
+
+        var sql2 = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.FQty FQty,b.SQty SQty,b.RQty RQty,b.SQty - b.RQty DSQty ,
+       dbo.F_QX_GETRECODEPOTSE(B.FMATERIALID,'','','') as RecoKw
+    FROM MES_DBCK_DETAIL B
+    LEFT JOIN MES_DBCK A ON A.ID = B.pid
+    LEFT JOIN MES_ITEMS C ON  B.FMATERIALID = C.item_id
+    LEFT JOIN WOMCAB D ON B.erpid = D.ERPID
+    WHERE A.FBillNo = '{0}'  ORDER BY FSEQ", query.billNo);
+
+        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql2);
+
+
+        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
+
+        var YS_list = womdabs.Where(s => s.RQty > 0).ToList();
+
+        //var p_bill_no = query.billNo;
+
+        //// 鏍规嵁SQL鏌ヨ鏉′欢鑾峰彇寰呭鐞嗙殑鍑哄簱鏄庣粏
+        //// 鍏宠仈鏌ヨTransferOutDetail銆乀ransferOut鍜孧esItems涓夊紶琛�
+        //// 绛涢�夋潯浠�:鏈畬鎴愭暟閲忓ぇ浜�0涓斿崟鎹凡瀹℃牳
+        //var result = Db.Queryable<MesDbckDetail, MesDbck, MesItems>(
+        //        (b, a, s) => new JoinQueryInfos(
+        //            JoinType.Left, b.Pid == a.Id,
+        //            JoinType.Left, b.FMaterialId == s.Id.ToString()))
+        //    .Where((b, a, s) =>
+        //        !((b.FQty ?? 0) == (b.SQty ?? 0) && (b.FQty ?? 0) == (b.RQty ?? 0))
+        //        && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
+        //        && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
+        //    .OrderBy((b, a, s) => s.ItemNo)
+        //    .Select((b, a, s) => new ItemDetailModel
+        //    {
+        //        ItemNo = s.ItemNo,
+        //        ItemName = s.ItemName,
+        //        ItemModel = s.ItemModel,
+        //        FQty = b.FQty, // 鐢宠鏁伴噺
+        //        SQty = b.SQty, // 宸叉壂鏁伴噺
+        //        RQty = b.RQty, // 宸叉壂鏁伴噺
+        //        // 淇濈暀鍏朵粬蹇呰瀛楁...
+        //        Pid = b.Pid.ToString(),
+        //        FMaterialId = b.FMaterialId,
+        //        Id = b.Id.ToString()
+        //    })
+        //    .ToList();
+
+        //if(result.Count < 1) throw new Exception("璇ヨ皟鎷ㄥ崟涓嶅瓨鍦ㄦ垨宸叉壂瀹岋紝璇烽噸鏂版壂鎻�");
+
+        var dto = new ProductionPickDto
+        {
+            items = DS_list,
+            Ysitems = YS_list
+            // yisao = mesInvItemOutCDetailsList
+        };
+
+        return dto;
+    }
+
+    public List<ItemDetailModel> GetDBCKDetal(
+        WarehouseQuery query)
+    {
+        var p_bill_no = query.billNo;
+
+        // 鏍规嵁SQL鏌ヨ鏉′欢鑾峰彇寰呭鐞嗙殑鍑哄簱鏄庣粏
+        // 鍏宠仈鏌ヨTransferOutDetail銆乀ransferOut鍜孧esItems涓夊紶琛�
+        // 绛涢�夋潯浠�:鏈畬鎴愭暟閲忓ぇ浜�0涓斿崟鎹凡瀹℃牳
+        var result = Db.Queryable<MesDbckDetail, MesDbck, MesItems>(
+                (b, a, s) => new JoinQueryInfos(
+                    JoinType.Left, b.Pid == a.Id,
+                    JoinType.Left, b.FMaterialId == s.Id.ToString()))
+            .Where((b, a, s) =>
+                !((b.FQty ?? 0) == (b.SQty ?? 0) && (b.FQty ?? 0) == (b.RQty ?? 0)) // 鏈畬鎴愭暟閲忓ぇ浜�0
+                && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
+                && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
+            .OrderBy((b, a, s) => s.ItemNo)
+            .Select((b, a, s) => new ItemDetailModel
+            {
+                ItemNo = s.ItemNo,
+                ItemName = s.ItemName,
+                ItemModel = s.ItemModel,
+                FQty = b.FQty, // 鐢宠鏁伴噺
+                SQty = b.SQty, // 宸叉壂鏁伴噺
+                RQty = b.RQty,
+                // 淇濈暀鍏朵粬蹇呰瀛楁...
+                Pid = b.Pid.ToString(),
+                FMaterialId = b.FMaterialId,
+                Id = b.Id.ToString()
+            })
+            .ToList();
+
+        return result;
+    }
+
+
+    /// <summary>
+    ///     鎵弿鏉$爜杩涜璋冩嫧鍏ュ簱澶勭悊
+    /// </summary>
+    /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
+    /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
+    public (WarehouseQuery form, List<ItemDetailModel> items)
+        ScanReceiveBarcode(WarehouseQuery query)
+    {
+        var p_bill_no = query.billNo;
+        var p_item_barcode = query.barcode;
+
+        var barinfo = Db.Queryable<MesInvItemStocks>()
+            .Where(x => x.ItemBarcode == p_item_barcode)
+            .First();
+
+
+        //// 楠岃瘉鍗曟嵁鍙�
+        //if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+        //// 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
+        //var transferOut = Db.Queryable<MesDbck>()
+        //    .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
+        //    .First();
+        //if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
+
+        // 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
+        var stock = Db.Queryable<MesDbckDetail>()
+            .Where(x => x.FMaterialId == barinfo.ItemId.ToString()
+                        && x.FQty > 0
+                        && !string.IsNullOrEmpty(x.FStockInId)
+                        && !string.IsNullOrEmpty(x.FOwnerInId))
+            .First();
+        if (stock == null) throw new Exception($"璋冩嫧鏄庣粏涓� 銆愮墿鏂欍�戞垨 銆愯皟鍏ヤ粨搴撱�戞垨銆愯皟鍏ヨ揣涓汇�戜俊鎭笉瀛樺湪锛岃鏍稿锛亄p_item_barcode}");
+
+        // 鏌ヨ鐗╂枡淇℃伅
+        var item = Db.Queryable<MesItems>()
+            .Where(x => x.Id.ToString() == stock.FMaterialId)
+            .First();
+        if (item == null) throw new Exception("鏈壘鍒扮墿鏂�");
+
+        var _strMsg = "";
+        var _intSum = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var cmd = new SqlCommand("[prc_pda_DBRK]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.NVarChar, 300),
+                        new("@barcode_num", SqlDbType.NVarChar, 300),
+                        new("@outBillNo", SqlDbType.NVarChar, 300),
+                        new("@c_user", query.userName),
+                        new("@p_bill_no", p_bill_no),
+                        new("@p_item_barcode", p_item_barcode),
+                        new("@p_depot_section_code", query.sectionCode),
+                    };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    parameters[2].Direction = ParameterDirection.Output;
+                    parameters[3].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    _strMsg = parameters[0].Value.ToString();
+                    _intSum = parameters[1].Value.ToString();
+
+                    var barcodeNum = parameters[2].Value.ToString();
+                    var outBillNo = parameters[3].Value.ToString();
+                    
+                    var result = Convert.ToInt32(_intSum);
+                    if (result <= 0) throw new Exception(_strMsg);
+
+                    query.itemNo = item.ItemNo;
+                    query.Num = Convert.ToDecimal(barcodeNum);
+                    //query.Fum = Convert.ToDecimal(splitNum);
+                    query.billNo = outBillNo;
+
+                    // 杩斿洖鏇存柊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏
+                    return (query, GetDBCKDetal(query));
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+    }
+
+    public ProductionPickDto ScanCodeCF(WarehouseQuery query)
+    {
+        var p_bill_no = query.daa001;
+        var p_item_barcode = query.barcode;
+
+        var barinfo = Db.Queryable<MesInvItemStocks>()
+            .Where(x => x.ItemBarcode == p_item_barcode)
+            .First();
+
+        // 楠岃瘉鍗曟嵁鍙�
+        if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+        // 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
+        var transferOut = Db.Queryable<MesDbck>()
+            .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
+            .First();
+        if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
+
+        // 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
+        var stock = Db.Queryable<MesDbckDetail>()
+            .Where(x => x.FMaterialId == barinfo.ItemId.ToString()
+                        && x.FQty > 0
+                        && !string.IsNullOrEmpty(x.FStockInId)
+                        && !string.IsNullOrEmpty(x.FOwnerInId))
+            .First();
+        if (stock == null) throw new Exception($"璋冩嫧鏄庣粏涓� 銆愮墿鏂欍�戞垨 銆愯皟鍏ヤ粨搴撱�戞垨銆愯皟鍏ヨ揣涓汇�戜俊鎭笉瀛樺湪锛岃鏍稿锛亄p_item_barcode}");
+
+        // 鏌ヨ鐗╂枡淇℃伅
+        var item = Db.Queryable<MesItems>()
+            .Where(x => x.Id.ToString() == stock.FMaterialId)
+            .First();
+        if (item == null) throw new Exception("鏈壘鍒扮墿鏂�");
+
+        var _strMsg = "";
+        var _intSum = "";
+        var _cfBar = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            using (var cmd = new SqlCommand("[prc_pda_DBCK_CF]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 2000),
+                        new("@outSum", SqlDbType.NVarChar, 300),
+                        new("@outCfBar", SqlDbType.NVarChar, 300),
+                        new("@c_User", query.userName),
+                        new("@p_biLL_no", query.daa001),
+                        new("@p_item_barcode", query.barcode),
+                        new("@num", query.Num)
+                    };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    parameters[2].Direction = ParameterDirection.Output;
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    _strMsg = parameters[0].Value.ToString();
+                    _intSum = parameters[1].Value.ToString();
+                    _cfBar = parameters[2].Value.ToString();
+
+
+                    var result = Convert.ToInt32(_intSum);
+                    if (result <= 0) throw new Exception(_strMsg);
+
+                    var dto = new ProductionPickDto
+                    {
+                        daa001 = query.daa001,
+                        barcode = query.barcode,//鍘熸潯鐮�
+                        cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮�
+                    };
+
+                    return dto;
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+    }
+
+}
\ No newline at end of file

--
Gitblit v1.9.3