From 81fae3c184966eeaa3081e456b1fb2d0e25a3456 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期三, 06 八月 2025 16:57:55 +0800
Subject: [PATCH] 1.调拨入库取消选择申请单号

---
 service/Warehouse/TransferOutManager.cs        |   95 ++++++++++++++++++++++++++++++++++++++++++-----
 Controllers/Warehouse/TransferOutController.cs |   24 ++++++++++++
 2 files changed, 109 insertions(+), 10 deletions(-)

diff --git a/Controllers/Warehouse/TransferOutController.cs b/Controllers/Warehouse/TransferOutController.cs
index dacb59c..e4a02de 100644
--- a/Controllers/Warehouse/TransferOutController.cs
+++ b/Controllers/Warehouse/TransferOutController.cs
@@ -169,6 +169,30 @@
         }
     }
 
+
+    [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>
diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index 473982e..34119aa 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -121,6 +121,79 @@
         return dto;
     }
 
+
+    /// <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)
     {
@@ -270,14 +343,15 @@
             .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("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
+        //// 楠岃瘉鍗曟嵁鍙�
+        //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>()
@@ -309,7 +383,7 @@
                         new("@outMsg", SqlDbType.NVarChar, 300),
                         new("@outSum", SqlDbType.NVarChar, 300),
                         new("@barcode_num", SqlDbType.NVarChar, 300),
-                        new("@split_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),
@@ -326,14 +400,15 @@
                     _intSum = parameters[1].Value.ToString();
 
                     var barcodeNum = parameters[2].Value.ToString();
-                    var splitNum = parameters[3].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.Fum = Convert.ToDecimal(splitNum);
+                    query.billNo = outBillNo;
 
                     // 杩斿洖鏇存柊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏
                     return (query, GetDBCKDetal(query));

--
Gitblit v1.9.3