From 8f28ca63dde584e5fefe51a07e69fd9b1af76fd2 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期一, 09 六月 2025 12:28:27 +0800
Subject: [PATCH] 1.生产补料/超领优化 2.委外补料/超领优化 3.巡检检验新增工单查询选择 4.巡检优化新增时间段字段

---
 service/Warehouse/MesItemBlManager.cs        |   69 ++++++++++++++++++++++
 service/QC/IpqcService.cs                    |   32 ++++++++++
 service/Wom/WwGdManager.cs                   |    4 
 Controllers/Warehouse/MesItemBlController.cs |   36 ++++++++++++
 entity/VIpqcXj.cs                            |   12 ++++
 Controllers/QC/IpqcController.cs             |   27 ++++++++
 6 files changed, 176 insertions(+), 4 deletions(-)

diff --git a/Controllers/QC/IpqcController.cs b/Controllers/QC/IpqcController.cs
index ed93146..5d5eb0d 100644
--- a/Controllers/QC/IpqcController.cs
+++ b/Controllers/QC/IpqcController.cs
@@ -323,5 +323,30 @@
         }
     }
 
-    
+
+    /// <summary>
+    /// 鐜板満鏀舵枡鑾峰彇鍙�夊伐鍗曚俊鎭�
+    /// </summary>
+    /// <param name="query"></param>
+    /// <returns></returns>
+    [HttpPost("GetIpqcXjDaa")]
+    public ResponseResult GetIpqcXjDaa([FromBody] dynamic query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetIpqcXjDaa(query);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/Controllers/Warehouse/MesItemBlController.cs b/Controllers/Warehouse/MesItemBlController.cs
index 2800b1f..ee7123a 100644
--- a/Controllers/Warehouse/MesItemBlController.cs
+++ b/Controllers/Warehouse/MesItemBlController.cs
@@ -459,5 +459,41 @@
         }
     }
 
+
+    /// <summary>
+    ///     鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁�
+    /// </summary>
+    /// <param name="query">鏌ヨ鍙傛暟锛屽繀椤诲寘鍚玝illNo</param>
+    /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
+    /// <remarks>
+    ///     璇锋眰绀轰緥:
+    ///     POST /api/MesItemBl/GetMesItemBlDetailByBillNo
+    ///     {
+    ///     "billNo": "BL202401010001"
+    ///     }
+    /// </remarks>
+    /// <response code="200">鎴愬姛鑾峰彇琛ユ枡鍗曟槑缁�</response>
+    /// <response code="400">鑾峰彇澶辫触锛屽彲鑳芥槸鍗曟嵁鍙蜂笉瀛樺湪鎴栧凡瀹屾垚</response>
+    [HttpPost("GetMesItemWWBlDetailByBillNo")]
+    public ResponseResult GetMesItemWWBlDetailByBillNo(
+        [FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = _manager.GetMesItemWWBlDetailByBillNo(query);
+            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/entity/VIpqcXj.cs b/entity/VIpqcXj.cs
index 8fc4c7a..e22fbd5 100644
--- a/entity/VIpqcXj.cs
+++ b/entity/VIpqcXj.cs
@@ -157,4 +157,16 @@
     /// </summary>
     [SugarColumn(ColumnName = "CREATE_DATE")]
     public string CreateDate { get; set; }
+
+    /// <summary>
+    ///     浜х嚎id
+    /// </summary>
+    [SugarColumn(ColumnName = "line_id")]
+    public string lineId { get; set; }
+
+    /// <summary>
+    ///     鏃堕棿娈� 
+    /// </summary>
+    [SugarColumn(ColumnName = "check_time_slot")]
+    public string checkTimeSlot { get; set; }
 }
\ No newline at end of file
diff --git a/service/QC/IpqcService.cs b/service/QC/IpqcService.cs
index 8964b18..d6c87f0 100644
--- a/service/QC/IpqcService.cs
+++ b/service/QC/IpqcService.cs
@@ -7,6 +7,7 @@
 using SqlSugar;
 using System.Data;
 using System.Data.SqlClient;
+using System.Text;
 using static Azure.Core.HttpHeader;
 using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
 
@@ -152,6 +153,7 @@
                 a => a.Guid == parsedGuid.ToString())
             .Where(a => (a.FSubmit ?? 0) == 0)
             .OrderByDescending(a => a.CreateDate)
+            .OrderBy(a => a.checkTimeSlot)
             .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
 
         return (pageList, totalCount);
@@ -337,4 +339,34 @@
 
         return Db.Ado.ExecuteCommand(sql, sqlParams);
     }
+
+
+    public dynamic GetIpqcXjDaa(dynamic unity)
+    {
+
+        var sqlParams = new List<SugarParameter> { };
+        sqlParams.Add(new("@xt", unity.xt));
+
+        var sql2 = new StringBuilder(@"
+        SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021
+        FROM WOMDAA
+        WHERE DAA015 = @xt AND daa018 NOT IN ('W:瀹屽伐', 'D:寰呭紑宸�')");
+
+        if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString()))
+        {
+            sqlParams.Add(new("@selectKey", unity.selectKey));
+            sql2.Append(@"
+            AND (DAA001 LIKE '%' + @selectKey + '%' 
+            OR DAA021 LIKE '%' + @selectKey + '%')");
+        }
+
+        var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);
+
+        if (XcslItem == null)
+        {
+            throw new Exception("璇ユ潯浠朵笅鏃犲搴斿伐鍗曚俊鎭紝璇烽噸鏂拌緭鍏ワ紒");
+        }
+
+        return XcslItem;
+    }
 }
\ No newline at end of file
diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index 762d934..0f0b52d 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -323,7 +323,7 @@
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
                     ItemId = blDetail.Bld012,
-                    DepotId = stockBarcode.DepotsId.ToString(),
+                    DepotId = stockBarcode.DepotId.ToString(),
                     ItemDabid = blDetail.Id,
                     // Unit = blDetail.Bld009,
                     // DepotId = (int)stockBarcode.DepotsId
@@ -1815,5 +1815,72 @@
         return (true, pendingList);
     }
 
+
+    /// <summary>
+    ///     鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁�  prc_rf_pda_scan_zout_showbl
+    /// </summary>
+    /// <param name="billNo">琛ユ枡鍗曞彿</param>
+    /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
+    public ProductionPickDto
+        GetMesItemWWBlDetailByBillNo(
+            WarehouseQuery query)
+    {
+        if (string.IsNullOrEmpty(query.billNo))
+            throw new Exception("璇烽�夊崟鎹彿锛�");
+
+        // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷
+        var mesItemBl = Db.Queryable<MesItemBl>()
+            .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true)
+            .First();
+
+        if (mesItemBl == null)
+            throw new Exception("鍗曟嵁鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛�");
+
+        //if (mesItemBl.Bl019 == true)
+        //    throw new Exception("鍗曟嵁鍙峰凡瀹屾垚锛�");
+
+        //// 鑾峰彇鏈畬鎴愮殑琛ユ枡鍗曟槑缁�
+        //var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+        //        new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+        //    .Where((a, b) => a.BlNo == query.billNo
+        //                     && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+        //    .Select((a, b) => new MesItemBlDetail
+        //    {
+        //        Bld012 = b.Bld012,
+        //        Bld002 = b.Bld002,
+        //        Bld003 = b.Bld003,
+        //        Bld004 = b.Bld004,
+        //        Bld007 = b.Bld007,
+        //        Bld008 = b.Bld008
+        //    })
+        //    .ToList();
+
+        //return (mesItemBl.Bl001, blDetails);
+        var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
+       dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001
+fROM MES_ITEM_BL_DETAIL A
+         LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID
+         LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50))
+         LEFT JOIN WW_GD D ON B.about_guid = D.ID
+WHERE B.bl_no = '{0}'", query.billNo);
+
+        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
+
+
+        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
+
+        var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
+
+        var dto = new ProductionPickDto
+        {
+            daa001 = womdabs[0].DAA001,
+            //PlanNo = womcaa.Caa020,
+            items = DS_list,
+            Ysitems = YS_list
+        };
+
+        return dto;
+    }
+
     #endregion
 }
\ No newline at end of file
diff --git a/service/Wom/WwGdManager.cs b/service/Wom/WwGdManager.cs
index 09de0e9..777d7dc 100644
--- a/service/Wom/WwGdManager.cs
+++ b/service/Wom/WwGdManager.cs
@@ -939,7 +939,7 @@
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
                     ItemId = blDetail.Bld012,
-                    DepotId = stockBarcode.DepotsId.ToString(),
+                    DepotId = stockBarcode.DepotId.ToString(),
                     ItemDabid = blDetail.Id,
                     //AboutGuid = womdab.Id
                     // Unit = blDetail.Bld009,
@@ -1071,7 +1071,7 @@
 
             // 鍒涘缓 鎻掑叆鏃ュ織
             var logService = new LogService();
-            var LogMsg = "[PDA]"+query.Type + "銆傛潯鐮併��" +query.barcode+"銆� 鍑哄簱鍗曞彿銆�"+ outNo +"銆�";
+            var LogMsg = "[PDA]"+query.Type + "銆傛潯鐮併��" +query.barcode+"銆� 鏁伴噺銆�"+ stockBarcode.Quantity.ToString() + "銆� 鍑哄簱鍗曞彿銆�"+ outNo +"銆�";
             logService.CreateLog(db,query.userName,wwgd.Id.ToString(), "WW_GD", LogMsg,wwgd.Daa001);
 
             return 1;

--
Gitblit v1.9.3