From 00b6ee0318f62da3ca5200f6a1eb7aeaddf42433 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期四, 16 十月 2025 13:40:07 +0800
Subject: [PATCH] 数据库字段做映射

---
 Services/WomdaaManager.cs |   68 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 6 deletions(-)

diff --git a/Services/WomdaaManager.cs b/Services/WomdaaManager.cs
index 091be12..71ce8fc 100644
--- a/Services/WomdaaManager.cs
+++ b/Services/WomdaaManager.cs
@@ -1,6 +1,7 @@
 锘縰sing PadApplication.DB;
 using PadApplication.Entites.DbModels;
 using PadApplication.Entites.Dto;
+using SqlSugar;
 
 namespace PadApplication.Services;
 
@@ -183,17 +184,72 @@
     }
 
     /// <summary>
-    ///     鏍规嵁宸ュ崟ID鑾峰彇鎵撳嵃淇℃伅
+    ///     鏍规嵁宸ュ崟ID鑾峰彇鎶ュ伐淇℃伅
     /// </summary>
     /// <param name="query">鍖呭惈宸ュ崟ID鐨勬煡璇㈡潯浠�</param>
-    /// <returns>宸ュ崟鎵撳嵃淇℃伅</returns>
+    /// <returns>宸ュ崟鎶ュ伐淇℃伅</returns>
     public VPrint GetWomdaaPrintById(OrderMachineDto query)
     {
         var vPrint = Db.Queryable<VPrint>()
-            .Where(s => s.Id == query.OrderId).First();
-        vPrint.RmiPrQty =
-            (int)Math.Ceiling(
-                (double)((vPrint.Bqty - vPrint.SQuantity) / vPrint.Qqty));
+            .Where(s => s.Id == query.OrderId)
+            .First();
+
+        if (vPrint == null)
+            return null;
+
+        // 闃叉闄ら浂鍜岀┖鍊煎紓甯�
+        var bqty = vPrint.Bqty ?? 0;
+        var sQuantity = vPrint.SQuantity ?? 0;
+        var qqty = vPrint.Qqty ?? 0;
+
+        if (qqty == 0)
+        {
+            vPrint.RmiPrQty = 0;
+        }
+        else
+        {
+            // 鍓╀綑鍙墦鍗板紶鏁� = (鍙墦鍗版�绘暟閲� - 宸叉墦鍗版暟閲�) / 鏍囧噯鍖呰鏁帮紝鍚戜笂鍙栨暣
+            var remain = bqty - sQuantity;
+            vPrint.RmiPrQty = remain > 0 ? (int)Math.Ceiling((double)remain / (double)qqty) : 0;
+        }
+
         return vPrint;
     }
+
+    public (List<MesReportingBgDto> tbBillList, int totalCount) GetByBillNoBG(
+    string billNo, string machineNo, DateTime? from, DateTime? to, int pageIndex, int pageSize)
+    {
+        var query = Db.Queryable<MesReporting>()
+            .Where(x => x.BillNo == billNo);
+
+        if (!string.IsNullOrWhiteSpace(machineNo))
+            query = query.Where(x => x.MachineNo == machineNo);
+
+        if (from.HasValue)
+            query = query.Where(x => x.BgDate >= from.Value);
+
+        if (to.HasValue)
+            query = query.Where(x => x.BgDate < to.Value.AddDays(1));
+
+        var totalCount = query.Count();
+
+        var tbBillList = query.OrderBy(x => x.BgDate, OrderByType.Desc)
+            .Select(x => new MesReportingBgDto
+            {
+                Id = (long)x.Id,
+                BillNo = x.BillNo,
+                ItemNo = x.ItemNo,
+                MachineNo = x.MachineNo,
+                StaffNo = x.BgPerson,//鎶ュ伐浜虹紪鍙�
+                StaffName = x.BgPerson, // 濡傛湁鐙珛濮撳悕瀛楁鍙浛鎹�
+                BgDate = x.BgDate,//鎶ュ伐鏃堕棿
+                CsQty = SqlFunc.ToInt32(x.CsQty),//鍒濆閲囬泦鏁�
+                CjQty = SqlFunc.ToInt32(x.CjQty),//鎶ュ伐鏃堕噰闆嗘暟
+                BfQty = SqlFunc.ToInt32(x.BfQty),//涓嶈壇鏁伴噺
+                OkQty = SqlFunc.ToInt32(x.OkQty)//鑹搧鏁伴噺
+            })
+            .ToPageList((pageIndex < 1 ? 1 : pageIndex), (pageSize < 1 ? 200 : (pageSize > 1000 ? 1000 : pageSize)), ref totalCount);
+
+        return (tbBillList, totalCount);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3