From e328deb435c326025f3b7a510011e69d0353e69c Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期二, 24 十二月 2024 10:47:03 +0800
Subject: [PATCH] 生产报工和生产超领的后台逻辑

---
 Dto/service/ScanWorkRequest.cs                   |   10 
 service/Wom/MesWorkProdCDetailsManager.cs        |    9 
 Controllers/Wom/MesWorkProdController.cs         |  162 ++++
 Controllers/base/MesStaffController.cs           |  162 ++++
 Controllers/Wom/MesWorkProdCDetailsController.cs |  163 ++++
 entity/MesWorkProd.cs                            |  118 +++
 service/Wom/MesWorkProdManager.cs                |  331 +++++++++
 Controllers/Warehouse/MesItemBlController.cs     |   47 
 entity/MesItemBl.cs                              |  196 ++--
 entity/MesWorkProdCDetails.cs                    |  106 +++
 Dto/service/ScanWorkResult.cs                    |   18 
 service/Warehouse/MesItemBlManager.cs            |   71 -
 entity/Womdab.cs                                 |  164 ++--
 entity/Womdaa.cs                                 |  277 ++++----
 entity/MesItemBlDetail.cs                        |  176 ++--
 service/base/MesStaffManager.cs                  |   11 
 16 files changed, 1,539 insertions(+), 482 deletions(-)

diff --git a/Controllers/Warehouse/MesItemBlController.cs b/Controllers/Warehouse/MesItemBlController.cs
index 026fdca..99306e6 100644
--- a/Controllers/Warehouse/MesItemBlController.cs
+++ b/Controllers/Warehouse/MesItemBlController.cs
@@ -196,17 +196,17 @@
     /// <param name="query">鏌ヨ鍙傛暟锛屽繀椤诲寘鍚玝illNo</param>
     /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
     /// <remarks>
-    /// 璇锋眰绀轰緥:
-    /// 
+    ///     璇锋眰绀轰緥:
     ///     POST /api/MesItemBl/GetMesItemBlDetailByBillNo
     ///     {
-    ///        "billNo": "BL202401010001"
+    ///     "billNo": "BL202401010001"
     ///     }
     /// </remarks>
     /// <response code="200">鎴愬姛鑾峰彇琛ユ枡鍗曟槑缁�</response>
     /// <response code="400">鑾峰彇澶辫触锛屽彲鑳芥槸鍗曟嵁鍙蜂笉瀛樺湪鎴栧凡瀹屾垚</response>
     [HttpPost("GetMesItemBlDetailByBillNo")]
-    public ResponseResult GetMesItemBlDetailByBillNo([FromBody] WarehouseQuery query)
+    public ResponseResult GetMesItemBlDetailByBillNo(
+        [FromBody] WarehouseQuery query)
     {
         try
         {
@@ -231,14 +231,13 @@
     /// <param name="query">鏌ヨ鍙傛暟</param>
     /// <returns>鎵弿缁撴灉鍜屽緟澶勭悊鍒楄〃</returns>
     /// <remarks>
-    /// 璇锋眰绀轰緥:
-    /// 
+    ///     璇锋眰绀轰緥:
     ///     POST /api/MesItemBl/SctlScanBarcode
     ///     {
-    ///        "billNo": "WO202401010001",
-    ///        "barcode": "1234567890",
-    ///        "userName": "admin",
-    ///        "blNo": "BL202401010001"
+    ///     "billNo": "WO202401010001",
+    ///     "barcode": "1234567890",
+    ///     "userName": "admin",
+    ///     "blNo": "BL202401010001"
     ///     }
     /// </remarks>
     /// <response code="200">鎵弿鎴愬姛</response>
@@ -301,22 +300,23 @@
     /// <param name="query">鏌ヨ鍙傛暟锛屽繀椤诲寘鍚玝illNo</param>
     /// <returns>瓒呴鍗曟槑缁嗗垪琛�</returns>
     /// <remarks>
-    /// 璇锋眰绀轰緥:
-    /// 
+    ///     璇锋眰绀轰緥:
     ///     POST /api/MesItemBl/GetMesItemBlDetailBySccBillNo
     ///     {
-    ///        "billNo": "SC202401010001"
+    ///     "billNo": "SC202401010001"
     ///     }
     /// </remarks>
     /// <response code="200">鎴愬姛鑾峰彇瓒呴鍗曟槑缁�</response>
     /// <response code="400">鑾峰彇澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
     [HttpPost("GetMesItemBlDetailBySccBillNo")]
-    public ResponseResult GetMesItemBlDetailBySccBillNo([FromBody] WarehouseQuery query)
+    public ResponseResult GetMesItemBlDetailBySccBillNo(
+        [FromBody] WarehouseQuery query)
     {
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = _manager.GetMesItemBlDetailBySccBillNo(query);
+            resultInfos.tbBillList =
+                _manager.GetMesItemBlDetailBySccBillNo(query);
             return new ResponseResult
             {
                 status = 0,
@@ -336,25 +336,26 @@
     /// <param name="query">鏌ヨ鍙傛暟</param>
     /// <returns>鎵弿缁撴灉鍜屽緟澶勭悊鍒楄〃</returns>
     /// <remarks>
-    /// 璇锋眰绀轰緥:
-    /// 
+    ///     璇锋眰绀轰緥:
     ///     POST /api/MesItemBl/ScanBarcodeForOverPicking
     ///     {
-    ///        "billNo": "WO202401010001",
-    ///        "barcode": "1234567890",
-    ///        "userName": "admin",
-    ///        "blNo": "SC202401010001"
+    ///     "billNo": "WO202401010001",
+    ///     "barcode": "1234567890",
+    ///     "userName": "admin",
+    ///     "blNo": "SC202401010001"
     ///     }
     /// </remarks>
     /// <response code="200">鎵弿鎴愬姛</response>
     /// <response code="400">鎵弿澶辫触锛岃繑鍥炲叿浣撻敊璇俊鎭�</response>
     [HttpPost("ScanBarcodeForOverPicking")]
-    public ResponseResult ScanBarcodeForOverPicking([FromBody] WarehouseQuery query)
+    public ResponseResult ScanBarcodeForOverPicking(
+        [FromBody] WarehouseQuery query)
     {
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            var (success, pendingList) = _manager.ScanBarcodeForOverPicking(query);
+            var (success, pendingList) =
+                _manager.ScanBarcodeForOverPicking(query);
             resultInfos.success = success;
             resultInfos.pendingList = pendingList;
             return new ResponseResult
diff --git a/Controllers/Wom/MesWorkProdCDetailsController.cs b/Controllers/Wom/MesWorkProdCDetailsController.cs
new file mode 100644
index 0000000..9b2c499
--- /dev/null
+++ b/Controllers/Wom/MesWorkProdCDetailsController.cs
@@ -0,0 +1,163 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.Wom;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Wom;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesWorkProdCDetailsController : ControllerBase
+{
+    private readonly MesWorkProdCDetailsManager m = new();
+
+
+    /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+    /// <summary>
+    ///     鑾峰彇鎵�鏈�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetList")]
+    public ResponseResult GetList()
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetList();
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鑾峰彇
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetById")]
+    public ResponseResult GetById(int id)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetById(id);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鍒犻櫎
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("DeleteByIds")]
+    public ResponseResult DeleteByIds([FromBody] object[] ids)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.DeleteByIds(ids);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Insert")]
+    public ResponseResult Add([FromBody] MesWorkProdCDetails data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Insert(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞杩斿洖鑷
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("InsertReturnIdentity")]
+    public ResponseResult InsertReturnIdentity(
+        [FromBody] MesWorkProdCDetails data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.InsertReturnIdentity(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     淇敼
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Update")]
+    public ResponseResult Update([FromBody] MesWorkProdCDetails data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Update(data);
+            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/Wom/MesWorkProdController.cs b/Controllers/Wom/MesWorkProdController.cs
new file mode 100644
index 0000000..0c571b7
--- /dev/null
+++ b/Controllers/Wom/MesWorkProdController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.Wom;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Wom;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesWorkProdController : ControllerBase
+{
+    private readonly MesWorkProdManager m = new();
+
+
+    /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+    /// <summary>
+    ///     鑾峰彇鎵�鏈�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetList")]
+    public ResponseResult GetList()
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetList();
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鑾峰彇
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetById")]
+    public ResponseResult GetById(int id)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetById(id);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鍒犻櫎
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("DeleteByIds")]
+    public ResponseResult DeleteByIds([FromBody] object[] ids)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.DeleteByIds(ids);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Insert")]
+    public ResponseResult Add([FromBody] MesWorkProd data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Insert(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞杩斿洖鑷
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("InsertReturnIdentity")]
+    public ResponseResult InsertReturnIdentity([FromBody] MesWorkProd data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.InsertReturnIdentity(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     淇敼
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Update")]
+    public ResponseResult Update([FromBody] MesWorkProd data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Update(data);
+            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/base/MesStaffController.cs b/Controllers/base/MesStaffController.cs
new file mode 100644
index 0000000..10c947b
--- /dev/null
+++ b/Controllers/base/MesStaffController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.@base;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.@base;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesStaffController : ControllerBase
+{
+    private readonly MesStaffManager m = new();
+
+
+    /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+    /// <summary>
+    ///     鑾峰彇鎵�鏈�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetList")]
+    public ResponseResult GetList()
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetList();
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鑾峰彇
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetById")]
+    public ResponseResult GetById(int id)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetById(id);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鏍规嵁涓婚敭鍒犻櫎
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("DeleteByIds")]
+    public ResponseResult DeleteByIds([FromBody] object[] ids)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.DeleteByIds(ids);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Insert")]
+    public ResponseResult Add([FromBody] MesStaff data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Insert(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     娣诲姞杩斿洖鑷
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("InsertReturnIdentity")]
+    public ResponseResult InsertReturnIdentity([FromBody] MesStaff data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.InsertReturnIdentity(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     淇敼
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("Update")]
+    public ResponseResult Update([FromBody] MesStaff data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.Update(data);
+            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/Dto/service/ScanWorkRequest.cs b/Dto/service/ScanWorkRequest.cs
new file mode 100644
index 0000000..ff70aef
--- /dev/null
+++ b/Dto/service/ScanWorkRequest.cs
@@ -0,0 +1,10 @@
+锘縩amespace NewPdaSqlServer.Dto.service;
+
+public class ScanWorkRequest
+{
+    public string? UserNo { get; set; }
+    public string? ItemBarcode { get; set; }
+    public string? StaffNo { get; set; }
+
+    public decimal? Quantity { get; set; }
+}
\ No newline at end of file
diff --git a/Dto/service/ScanWorkResult.cs b/Dto/service/ScanWorkResult.cs
new file mode 100644
index 0000000..cda78d6
--- /dev/null
+++ b/Dto/service/ScanWorkResult.cs
@@ -0,0 +1,18 @@
+锘縩amespace NewPdaSqlServer.Dto.service;
+
+
+/// <summary>
+/// 鐢熶骇鎶ュ伐鎵弿缁撴灉
+/// </summary>
+public class ScanWorkResult
+{
+    public string TaskNo { get; set; }
+    public string ItemNo { get; set; }
+    public decimal PlanQty { get; set; }
+    public decimal ReportedQty { get; set; }
+    public decimal CurrentQty { get; set; }
+    public decimal BarcodeQty { get; set; }
+    public string ItemName { get; set; }
+    public string ItemModel { get; set; }
+    public string Message { get; set; }
+}
\ No newline at end of file
diff --git a/entity/MesItemBl.cs b/entity/MesItemBl.cs
index 111e394..3810c6f 100644
--- a/entity/MesItemBl.cs
+++ b/entity/MesItemBl.cs
@@ -7,149 +7,149 @@
 [SugarTable("MES_ITEM_BL")]
 public class MesItemBl
 {
- /// <summary>
-   ///     ID
-   /// </summary>
-   [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+    /// <summary>
+    ///     ID
+    /// </summary>
+    [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
     public Guid Id { get; set; }
 
- /// <summary>
-   ///     琛ユ枡鍗曞彿
-   /// </summary>
-   [SugarColumn(ColumnName = "bl_no")]
+    /// <summary>
+    ///     琛ユ枡鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bl_no")]
     public string BlNo { get; set; }
 
- /// <summary>
-   ///     鐢熶骇宸ュ崟
-   /// </summary>
-   [SugarColumn(ColumnName = "bl001")]
+    /// <summary>
+    ///     鐢熶骇宸ュ崟
+    /// </summary>
+    [SugarColumn(ColumnName = "bl001")]
     public string Bl001 { get; set; }
 
- /// <summary>
-   ///     浜у搧缂栧彿
-   /// </summary>
-   [SugarColumn(ColumnName = "bl002")]
+    /// <summary>
+    ///     浜у搧缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bl002")]
     public string Bl002 { get; set; }
 
- /// <summary>
-   ///     浜ч噺
-   /// </summary>
-   [SugarColumn(ColumnName = "bl003")]
+    /// <summary>
+    ///     浜ч噺
+    /// </summary>
+    [SugarColumn(ColumnName = "bl003")]
     public int? Bl003 { get; set; }
 
- /// <summary>
-   ///     鐢宠浜�
-   /// </summary>
-   [SugarColumn(ColumnName = "bl004")]
+    /// <summary>
+    ///     鐢宠浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "bl004")]
     public string Bl004 { get; set; }
 
- /// <summary>
-   ///     棰嗘枡鏃ユ湡
-   /// </summary>
-   [SugarColumn(ColumnName = "bl005")]
+    /// <summary>
+    ///     棰嗘枡鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "bl005")]
     public DateTime? Bl005 { get; set; }
 
- /// <summary>
-   ///     瀹℃牳鏃ユ湡
-   /// </summary>
-   [SugarColumn(ColumnName = "bl006")]
+    /// <summary>
+    ///     瀹℃牳鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "bl006")]
     public DateTime? Bl006 { get; set; }
 
- /// <summary>
-   ///     琛ユ枡鍘熷洜
-   /// </summary>
-   [SugarColumn(ColumnName = "bl007")]
+    /// <summary>
+    ///     琛ユ枡鍘熷洜
+    /// </summary>
+    [SugarColumn(ColumnName = "bl007")]
     public string Bl007 { get; set; }
 
- /// <summary>
-   ///     鍑哄簱绫诲埆锛堣ˉ鏂�,瓒呴锛�
-   /// </summary>
-   [SugarColumn(ColumnName = "bl008")]
+    /// <summary>
+    ///     鍑哄簱绫诲埆锛堣ˉ鏂�,瓒呴锛�
+    /// </summary>
+    [SugarColumn(ColumnName = "bl008")]
     public string Bl008 { get; set; }
 
- /// <summary>
-   ///     涓氬姟绫诲瀷
-   /// </summary>
-   [SugarColumn(ColumnName = "bl009")]
+    /// <summary>
+    ///     涓氬姟绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnName = "bl009")]
     public string Bl009 { get; set; }
 
- /// <summary>
-   ///     鍙戞枡浠�
-   /// </summary>
-   [SugarColumn(ColumnName = "bl010")]
+    /// <summary>
+    ///     鍙戞枡浠�
+    /// </summary>
+    [SugarColumn(ColumnName = "bl010")]
     public string Bl010 { get; set; }
 
- /// <summary>
-   ///     琛ユ枡閮ㄩ棬
-   /// </summary>
-   [SugarColumn(ColumnName = "bl011")]
+    /// <summary>
+    ///     琛ユ枡閮ㄩ棬
+    /// </summary>
+    [SugarColumn(ColumnName = "bl011")]
     public string Bl011 { get; set; }
 
- /// <summary>
-   ///     琛ユ枡浜х嚎
-   /// </summary>
-   [SugarColumn(ColumnName = "bl012")]
+    /// <summary>
+    ///     琛ユ枡浜х嚎
+    /// </summary>
+    [SugarColumn(ColumnName = "bl012")]
     public string Bl012 { get; set; }
 
- /// <summary>
-   ///     浠诲姟鍗曞彿
-   /// </summary>
-   [SugarColumn(ColumnName = "bl013")]
+    /// <summary>
+    ///     浠诲姟鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bl013")]
     public string Bl013 { get; set; }
 
- /// <summary>
-   ///     浜у搧鍚嶇О
-   /// </summary>
-   [SugarColumn(ColumnName = "bl014")]
+    /// <summary>
+    ///     浜у搧鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "bl014")]
     public string Bl014 { get; set; }
 
- /// <summary>
-   ///     浜у搧鍨嬪彿
-   /// </summary>
-   [SugarColumn(ColumnName = "bl015")]
+    /// <summary>
+    ///     浜у搧鍨嬪彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bl015")]
     public string Bl015 { get; set; }
 
- /// <summary>
-   ///     瀹℃牳浜�
-   /// </summary>
-   [SugarColumn(ColumnName = "bl016")]
+    /// <summary>
+    ///     瀹℃牳浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "bl016")]
     public string Bl016 { get; set; }
 
- /// <summary>
-   ///     涓氬姟绫诲瀷缂栫爜
-   /// </summary>
-   [SugarColumn(ColumnName = "bl017")]
+    /// <summary>
+    ///     涓氬姟绫诲瀷缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "bl017")]
     public string Bl017 { get; set; }
 
- /// <summary>
-   ///     瀹℃牳鐘舵��
-   ///     榛樿鍊�: ((0))
-   /// </summary>
-   [SugarColumn(ColumnName = "bl018")]
+    /// <summary>
+    ///     瀹℃牳鐘舵��
+    ///     榛樿鍊�: ((0))
+    /// </summary>
+    [SugarColumn(ColumnName = "bl018")]
     public bool? Bl018 { get; set; }
 
- /// <summary>
-   ///     瀹岀粨鏍囪瘑
-   ///     榛樿鍊�: ((0))
-   /// </summary>
-   [SugarColumn(ColumnName = "bl019")]
+    /// <summary>
+    ///     瀹岀粨鏍囪瘑
+    ///     榛樿鍊�: ((0))
+    /// </summary>
+    [SugarColumn(ColumnName = "bl019")]
     public bool? Bl019 { get; set; }
 
- /// <summary>
-   ///     浜у搧id
-   /// </summary>
-   [SugarColumn(ColumnName = "item_id")]
+    /// <summary>
+    ///     浜у搧id
+    /// </summary>
+    [SugarColumn(ColumnName = "item_id")]
     public int? ItemId { get; set; }
 
- /// <summary>
-   ///     瀹屾垚浜�
-   /// </summary>
-   [SugarColumn(ColumnName = "wc_user")]
+    /// <summary>
+    ///     瀹屾垚浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "wc_user")]
     public string WcUser { get; set; }
 
- /// <summary>
-   ///     瀹屾垚鏃堕棿
-   /// </summary>
-   [SugarColumn(ColumnName = "wc_time")]
+    /// <summary>
+    ///     瀹屾垚鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnName = "wc_time")]
     public string WcTime { get; set; }
 }
\ No newline at end of file
diff --git a/entity/MesItemBlDetail.cs b/entity/MesItemBlDetail.cs
index 7a61806..3a5f95d 100644
--- a/entity/MesItemBlDetail.cs
+++ b/entity/MesItemBlDetail.cs
@@ -7,137 +7,137 @@
 [SugarTable("MES_ITEM_BL_DETAIL")]
 public class MesItemBlDetail
 {
- /// <summary>
-   ///     ID
-   /// </summary>
-   [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+    /// <summary>
+    ///     ID
+    /// </summary>
+    [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
     public Guid Id { get; set; }
 
- /// <summary>
-   ///     MID
-   /// </summary>
-   [SugarColumn(ColumnName = "mid")]
+    /// <summary>
+    ///     MID
+    /// </summary>
+    [SugarColumn(ColumnName = "mid")]
     public Guid? Mid { get; set; }
 
- /// <summary>
-   ///     宸ュ崟鍙�
-   /// </summary>
-   [SugarColumn(ColumnName = "bld001")]
+    /// <summary>
+    ///     宸ュ崟鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "bld001")]
     public string Bld001 { get; set; }
 
- /// <summary>
-   ///     鐗╂枡缂栧彿
-   /// </summary>
-   [SugarColumn(ColumnName = "bld002")]
+    /// <summary>
+    ///     鐗╂枡缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bld002")]
     public string Bld002 { get; set; }
 
- /// <summary>
-   ///     鐗╂枡鍚嶇О
-   /// </summary>
-   [SugarColumn(ColumnName = "bld003")]
+    /// <summary>
+    ///     鐗╂枡鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "bld003")]
     public string Bld003 { get; set; }
 
- /// <summary>
-   ///     瑙勬牸鍨嬪彿
-   /// </summary>
-   [SugarColumn(ColumnName = "bld004")]
+    /// <summary>
+    ///     瑙勬牸鍨嬪彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bld004")]
     public string Bld004 { get; set; }
 
- /// <summary>
-   ///     棰滆壊
-   /// </summary>
-   [SugarColumn(ColumnName = "bld005")]
+    /// <summary>
+    ///     棰滆壊
+    /// </summary>
+    [SugarColumn(ColumnName = "bld005")]
     public string Bld005 { get; set; }
 
- /// <summary>
-   ///     璁″垝鏁伴噺
-   /// </summary>
-   [SugarColumn(ColumnName = "bld006")]
+    /// <summary>
+    ///     璁″垝鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "bld006")]
     public int? Bld006 { get; set; }
 
- /// <summary>
-   ///     鐢宠鏁伴噺
-   /// </summary>
-   [SugarColumn(ColumnName = "bld007")]
+    /// <summary>
+    ///     鐢宠鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "bld007")]
     public int? Bld007 { get; set; }
 
- /// <summary>
-   ///     宸查鏁伴噺
-   ///     榛樿鍊�: ((0))
-   /// </summary>
-   [SugarColumn(ColumnName = "bld008")]
+    /// <summary>
+    ///     宸查鏁伴噺
+    ///     榛樿鍊�: ((0))
+    /// </summary>
+    [SugarColumn(ColumnName = "bld008")]
     public int? Bld008 { get; set; }
 
- /// <summary>
-   ///     鍗曚綅
-   /// </summary>
-   [SugarColumn(ColumnName = "bld009")]
+    /// <summary>
+    ///     鍗曚綅
+    /// </summary>
+    [SugarColumn(ColumnName = "bld009")]
     public string Bld009 { get; set; }
 
- /// <summary>
-   ///     澶囨敞
-   /// </summary>
-   [SugarColumn(ColumnName = "bld010")]
+    /// <summary>
+    ///     澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnName = "bld010")]
     public string Bld010 { get; set; }
 
- /// <summary>
-   ///     瀹岀粨鏍囪瘑
-   ///     榛樿鍊�: ((0))
-   /// </summary>
-   [SugarColumn(ColumnName = "bld011")]
+    /// <summary>
+    ///     瀹岀粨鏍囪瘑
+    ///     榛樿鍊�: ((0))
+    /// </summary>
+    [SugarColumn(ColumnName = "bld011")]
     public int? Bld011 { get; set; }
 
- /// <summary>
-   ///     鐗╂枡id
-   /// </summary>
-   [SugarColumn(ColumnName = "bld012")]
+    /// <summary>
+    ///     鐗╂枡id
+    /// </summary>
+    [SugarColumn(ColumnName = "bld012")]
     public int? Bld012 { get; set; }
 
- /// <summary>
-   ///     椤规
-   /// </summary>
-   [SugarColumn(ColumnName = "bld013")]
+    /// <summary>
+    ///     椤规
+    /// </summary>
+    [SugarColumn(ColumnName = "bld013")]
     public int? Bld013 { get; set; }
 
- /// <summary>
-   ///     ERP鎶曟枡鍗曡id
-   /// </summary>
-   [SugarColumn(ColumnName = "bld014")]
+    /// <summary>
+    ///     ERP鎶曟枡鍗曡id
+    /// </summary>
+    [SugarColumn(ColumnName = "bld014")]
     public int? Bld014 { get; set; }
 
- /// <summary>
-   /// </summary>
-   [SugarColumn(ColumnName = "bld015")]
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "bld015")]
     public string Bld015 { get; set; }
 
- /// <summary>
-   /// </summary>
-   [SugarColumn(ColumnName = "bld016")]
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "bld016")]
     public string Bld016 { get; set; }
 
- /// <summary>
-   /// </summary>
-   [SugarColumn(ColumnName = "bld017")]
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "bld017")]
     public string Bld017 { get; set; }
 
- /// <summary>
-   /// </summary>
-   [SugarColumn(ColumnName = "bld018")]
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "bld018")]
     public string Bld018 { get; set; }
 
- /// <summary>
-   /// </summary>
-   [SugarColumn(ColumnName = "bld019")]
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "bld019")]
     public string Bld019 { get; set; }
 
- /// <summary>
-   /// </summary>
-   [SugarColumn(ColumnName = "bld020")]
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "bld020")]
     public string Bld020 { get; set; }
 
- /// <summary>
-   ///     鍏宠仈鐨刣ab琛ㄤ富閿�
-   /// </summary>
-   [SugarColumn(ColumnName = "dabGuid")]
+    /// <summary>
+    ///     鍏宠仈鐨刣ab琛ㄤ富閿�
+    /// </summary>
+    [SugarColumn(ColumnName = "dabGuid")]
     public Guid? DabGuid { get; set; }
 }
\ No newline at end of file
diff --git a/entity/MesWorkProd.cs b/entity/MesWorkProd.cs
new file mode 100644
index 0000000..a0a4971
--- /dev/null
+++ b/entity/MesWorkProd.cs
@@ -0,0 +1,118 @@
+锘縰sing SqlSugar;
+
+namespace NewPdaSqlServer.entity;
+
+/// <summary>
+///     鎶ュ伐涓昏〃
+/// </summary>
+[SugarTable("MES_WORK_PROD")]
+public class MesWorkProd
+{
+    /// <summary>
+    ///     鍞竴鏍囪瘑绗�
+    ///     榛樿鍊�: (newid())
+    /// </summary>
+    [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+    public Guid Id { get; set; }
+
+    /// <summary>
+    ///     鎶ュ伐鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bill_no")]
+    public string BillNo { get; set; }
+
+    /// <summary>
+    ///     鐢熶骇绾�
+    /// </summary>
+    [SugarColumn(ColumnName = "line_no")]
+    public string LineNo { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "company")]
+    public string Company { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "factory")]
+    public string Factory { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "create_by")]
+    public string CreateBy { get; set; }
+
+    /// <summary>
+    ///     鍒涘缓鏃ユ湡
+    ///     榛樿鍊�: (getdate())
+    /// </summary>
+    [SugarColumn(ColumnName = "create_date")]
+    public DateTime? CreateDate { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "lastupdate_by")]
+    public string LastupdateBy { get; set; }
+
+    /// <summary>
+    ///     榛樿鍊�: (getdate())
+    /// </summary>
+    [SugarColumn(ColumnName = "lastupdate_date")]
+    public DateTime? LastupdateDate { get; set; }
+
+    /// <summary>
+    ///     鐝
+    /// </summary>
+    [SugarColumn(ColumnName = "class_no")]
+    public string ClassNo { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "check_user")]
+    public string CheckUser { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "check_date")]
+    public DateTime? CheckDate { get; set; }
+
+    /// <summary>
+    ///     榛樿鍊�: ((0))
+    /// </summary>
+    [SugarColumn(ColumnName = "status")]
+    public int? Status { get; set; }
+
+    /// <summary>
+    ///     娲惧伐鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "pbill_no")]
+    public string PbillNo { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "bill_type_id")]
+    public decimal? BillTypeId { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "transaction_no")]
+    public decimal? TransactionNo { get; set; }
+
+    /// <summary>
+    ///     浠诲姟鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "task_no")]
+    public string TaskNo { get; set; }
+
+    /// <summary>
+    ///     鍗℃澘鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "kb_qty")]
+    public decimal? KbQty { get; set; }
+
+    /// <summary>
+    ///     姣忕鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "box_qty")]
+    public decimal? BoxQty { get; set; }
+}
\ No newline at end of file
diff --git a/entity/MesWorkProdCDetails.cs b/entity/MesWorkProdCDetails.cs
new file mode 100644
index 0000000..e4cfe4e
--- /dev/null
+++ b/entity/MesWorkProdCDetails.cs
@@ -0,0 +1,106 @@
+锘縰sing SqlSugar;
+
+namespace NewPdaSqlServer.entity;
+
+/// <summary>
+///     鎶ュ伐鏉$爜琛�
+/// </summary>
+[SugarTable("MES_WORK_PROD_C_DETAILS")]
+public class MesWorkProdCDetails
+{
+    /// <summary>
+    ///     鍞竴鏍囪瘑绗�
+    ///     榛樿鍊�: (newid())
+    /// </summary>
+    [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+    public Guid Id { get; set; }
+
+    /// <summary>
+    ///     鎶ュ伐鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "bill_no")]
+    public string BillNo { get; set; }
+
+    /// <summary>
+    ///     鎶ュ伐鏉$爜
+    /// </summary>
+    [SugarColumn(ColumnName = "item_barcode")]
+    public string ItemBarcode { get; set; }
+
+    /// <summary>
+    ///     鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "quantity")]
+    public int? Quantity { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "company")]
+    public string Company { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "factory")]
+    public string Factory { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "create_by")]
+    public string CreateBy { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "create_date")]
+    public DateTime? CreateDate { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "lastupdate_by")]
+    public string LastupdateBy { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "lastupdate_date")]
+    public DateTime? LastupdateDate { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnName = "item_no")]
+    public string ItemNo { get; set; }
+
+    /// <summary>
+    ///     娲惧伐鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "pbill_no")]
+    public string PbillNo { get; set; }
+
+    /// <summary>
+    ///     鏈�鍚庡伐搴�
+    /// </summary>
+    [SugarColumn(ColumnName = "work_last")]
+    public decimal? WorkLast { get; set; }
+
+    /// <summary>
+    ///     涓濆嵃娆℃暟
+    /// </summary>
+    [SugarColumn(ColumnName = "silk_pqty")]
+    public decimal? SilkPqty { get; set; }
+
+    /// <summary>
+    ///     娲惧伐浠庤〃ID
+    /// </summary>
+    [SugarColumn(ColumnName = "silk_id")]
+    public decimal? SilkId { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "silk")]
+    public string Silk { get; set; }
+
+    /// <summary>
+    ///     鎶ュ伐鍛樺伐
+    /// </summary>
+    [SugarColumn(ColumnName = "bg_yg")]
+    public decimal? BgYg { get; set; }
+}
\ No newline at end of file
diff --git a/entity/Womdaa.cs b/entity/Womdaa.cs
index 3d8aff8..91d69a7 100644
--- a/entity/Womdaa.cs
+++ b/entity/Womdaa.cs
@@ -8,418 +8,415 @@
 public class Womdaa
 {
     /// <summary>
-    ///  
-    /// 榛樿鍊�: (newid())
-    ///</summary>
+    ///     榛樿鍊�: (newid())
+    /// </summary>
     [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)]
     public Guid Guid { get; set; }
 
     /// <summary>
-    ///  
-    ///</summary>
+    /// </summary>
     [SugarColumn(ColumnName = "pbaGuid")]
     public Guid? PbaGuid { get; set; }
 
     /// <summary>
-    ///  
-    ///</summary>
+    /// </summary>
     [SugarColumn(ColumnName = "caaGuid")]
     public Guid? CaaGuid { get; set; }
 
     /// <summary>
-    /// 鑷鍒� 
-    ///</summary>
+    ///     鑷鍒�
+    /// </summary>
     [SugarColumn(ColumnName = "id")]
     public int? Id { get; set; }
 
     /// <summary>
-    /// 鎺掍骇ID 
-    ///</summary>
+    ///     鎺掍骇ID
+    /// </summary>
     [SugarColumn(ColumnName = "pid")]
     public int? Pid { get; set; }
 
     /// <summary>
-    /// 鍗曞彿 
-    ///</summary>
+    ///     鍗曞彿
+    /// </summary>
     [SugarColumn(ColumnName = "daa001")]
     public string? Daa001 { get; set; }
 
     /// <summary>
-    /// 浜у搧ID 
-    ///</summary>
+    ///     浜у搧ID
+    /// </summary>
     [SugarColumn(ColumnName = "daa002")]
     public string? Daa002 { get; set; }
 
     /// <summary>
-    /// 浜у搧鍚嶇О 
-    ///</summary>
+    ///     浜у搧鍚嶇О
+    /// </summary>
     [SugarColumn(ColumnName = "daa003")]
     public string? Daa003 { get; set; }
 
     /// <summary>
-    /// 浜у搧瑙勬牸 
-    ///</summary>
+    ///     浜у搧瑙勬牸
+    /// </summary>
     [SugarColumn(ColumnName = "daa004")]
     public string? Daa004 { get; set; }
 
     /// <summary>
-    /// 鍗曚綅 
-    ///</summary>
+    ///     鍗曚綅
+    /// </summary>
     [SugarColumn(ColumnName = "daa005")]
     public string? Daa005 { get; set; }
 
     /// <summary>
-    /// ERP棰勮寮�宸ユ椂闂� 
-    ///</summary>
+    ///     ERP棰勮寮�宸ユ椂闂�
+    /// </summary>
     [SugarColumn(ColumnName = "daa006")]
     public DateTime? Daa006 { get; set; }
 
     /// <summary>
-    /// ERP棰勮瀹屽伐鏃堕棿 
-    ///</summary>
+    ///     ERP棰勮瀹屽伐鏃堕棿
+    /// </summary>
     [SugarColumn(ColumnName = "daa007")]
     public DateTime? Daa007 { get; set; }
 
     /// <summary>
-    /// 宸ュ崟鏁伴噺 
-    ///</summary>
+    ///     宸ュ崟鏁伴噺
+    /// </summary>
     [SugarColumn(ColumnName = "daa008")]
     public int? Daa008 { get; set; }
 
     /// <summary>
-    /// 澶囨敞 
-    ///</summary>
+    ///     澶囨敞
+    /// </summary>
     [SugarColumn(ColumnName = "daa009")]
     public string? Daa009 { get; set; }
 
     /// <summary>
-    /// 鍏ュ簱鏁伴噺 
-    ///</summary>
+    ///     鍏ュ簱鏁伴噺
+    /// </summary>
     [SugarColumn(ColumnName = "daa010")]
     public int? Daa010 { get; set; }
 
     /// <summary>
-    /// 宸茬敓浜ч噺 
-    ///</summary>
+    ///     宸茬敓浜ч噺
+    /// </summary>
     [SugarColumn(ColumnName = "daa011")]
     public int? Daa011 { get; set; }
 
     /// <summary>
-    /// 鎶ュ簾鏁伴噺 
-    ///</summary>
+    ///     鎶ュ簾鏁伴噺
+    /// </summary>
     [SugarColumn(ColumnName = "daa012")]
     public int? Daa012 { get; set; }
 
     /// <summary>
-    /// 宸ヤ綔杞﹂棿 
-    ///</summary>
+    ///     宸ヤ綔杞﹂棿
+    /// </summary>
     [SugarColumn(ColumnName = "daa013")]
     public string? Daa013 { get; set; }
 
     /// <summary>
-    /// 鎶曟枡鍗曞崟鍙� 
-    ///</summary>
+    ///     鎶曟枡鍗曞崟鍙�
+    /// </summary>
     [SugarColumn(ColumnName = "daa014")]
     public string? Daa014 { get; set; }
 
     /// <summary>
-    /// 鐢熶骇绾垮埆 
-    ///</summary>
+    ///     鐢熶骇绾垮埆
+    /// </summary>
     [SugarColumn(ColumnName = "daa015")]
     public string? Daa015 { get; set; }
 
     /// <summary>
-    /// 瀹為檯寮�宸ユ棩 
-    ///</summary>
+    ///     瀹為檯寮�宸ユ棩
+    /// </summary>
     [SugarColumn(ColumnName = "daa016")]
     public DateTime? Daa016 { get; set; }
 
     /// <summary>
-    /// 瀹為檯瀹屽伐鏃� 
-    ///</summary>
+    ///     瀹為檯瀹屽伐鏃�
+    /// </summary>
     [SugarColumn(ColumnName = "daa017")]
     public DateTime? Daa017 { get; set; }
 
     /// <summary>
-    /// 宸ュ崟鐘舵�� 
-    ///</summary>
+    ///     宸ュ崟鐘舵��
+    /// </summary>
     [SugarColumn(ColumnName = "daa018")]
     public string? Daa018 { get; set; }
 
     /// <summary>
-    /// 榻愬鐘舵�� 
-    ///</summary>
+    ///     榻愬鐘舵��
+    /// </summary>
     [SugarColumn(ColumnName = "daa019")]
     public string? Daa019 { get; set; }
 
     /// <summary>
-    /// 瀹℃牳鐮� 
-    ///</summary>
+    ///     瀹℃牳鐮�
+    /// </summary>
     [SugarColumn(ColumnName = "fstatus")]
     public int? Fstatus { get; set; }
 
     /// <summary>
-    /// 瀹℃牳鏃ユ湡 
-    ///</summary>
+    ///     瀹℃牳鏃ユ湡
+    /// </summary>
     [SugarColumn(ColumnName = "check_date")]
     public DateTime? CheckDate { get; set; }
 
     /// <summary>
-    /// 瀹℃牳浜� 
-    ///</summary>
+    ///     瀹℃牳浜�
+    /// </summary>
     [SugarColumn(ColumnName = "check_user")]
     public string? CheckUser { get; set; }
 
     /// <summary>
-    /// 绾垮埆缂栫爜 
-    ///</summary>
+    ///     绾垮埆缂栫爜
+    /// </summary>
     [SugarColumn(ColumnName = "daa020")]
     public string? Daa020 { get; set; }
 
     /// <summary>
-    /// 浠诲姟鍗曞崟鍙� 
-    ///</summary>
+    ///     浠诲姟鍗曞崟鍙�
+    /// </summary>
     [SugarColumn(ColumnName = "daa021")]
     public string? Daa021 { get; set; }
 
     /// <summary>
-    /// 閫氱煡澶囨枡锛�0-鏈�氱煡锛�1-閫氱煡 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     閫氱煡澶囨枡锛�0-鏈�氱煡锛�1-閫氱煡
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "daa022")]
     public int? Daa022 { get; set; }
 
     /// <summary>
-    /// 鐢熶骇搴忓彿 
-    ///</summary>
+    ///     鐢熶骇搴忓彿
+    /// </summary>
     [SugarColumn(ColumnName = "daa023")]
     public int? Daa023 { get; set; }
 
     /// <summary>
-    /// 鎺掍骇鏃ユ湡 
-    ///</summary>
+    ///     鎺掍骇鏃ユ湡
+    /// </summary>
     [SugarColumn(ColumnName = "daa024")]
     public string? Daa024 { get; set; }
 
     /// <summary>
-    /// 棣栦欢鏄惁妫�楠�1-妫�楠岋紝0鏈楠� 
-    ///</summary>
+    ///     棣栦欢鏄惁妫�楠�1-妫�楠岋紝0鏈楠�
+    /// </summary>
     [SugarColumn(ColumnName = "daa025")]
     public string? Daa025 { get; set; }
 
     /// <summary>
-    /// 棣栦欢妫�楠岀粨鏋� 
-    ///</summary>
+    ///     棣栦欢妫�楠岀粨鏋�
+    /// </summary>
     [SugarColumn(ColumnName = "daa026")]
     public string? Daa026 { get; set; }
 
     /// <summary>
-    /// 宸叉姤妫�锛�0-鏈姤妫�锛�1-宸叉姤妫� 
-    ///</summary>
+    ///     宸叉姤妫�锛�0-鏈姤妫�锛�1-宸叉姤妫�
+    /// </summary>
     [SugarColumn(ColumnName = "is_reportcheck")]
     public int? IsReportcheck { get; set; }
 
     /// <summary>
-    /// 鎶ユ浜� 
-    ///</summary>
+    ///     鎶ユ浜�
+    /// </summary>
     [SugarColumn(ColumnName = "usname")]
     public string? Usname { get; set; }
 
     /// <summary>
-    /// 鎶ユ鏃堕棿 
-    ///</summary>
+    ///     鎶ユ鏃堕棿
+    /// </summary>
     [SugarColumn(ColumnName = "reporttime")]
     public DateTime? Reporttime { get; set; }
 
     /// <summary>
-    /// 鏈哄彴缂栧彿 
-    ///</summary>
+    ///     鏈哄彴缂栧彿
+    /// </summary>
     [SugarColumn(ColumnName = "machine_no")]
     public string? MachineNo { get; set; }
 
     /// <summary>
-    /// 澶囨枡瀹屾垚1-瀹屾垚锛�0鏈畬鎴� 
-    ///</summary>
+    ///     澶囨枡瀹屾垚1-瀹屾垚锛�0鏈畬鎴�
+    /// </summary>
     [SugarColumn(ColumnName = "daa027")]
     public int? Daa027 { get; set; }
 
     /// <summary>
-    /// 澶囨枡瀹屾垚鏃堕棿 
-    ///</summary>
+    ///     澶囨枡瀹屾垚鏃堕棿
+    /// </summary>
     [SugarColumn(ColumnName = "daa028")]
     public string? Daa028 { get; set; }
 
     /// <summary>
-    /// 鏍囧噯宸ユ椂 
-    ///</summary>
+    ///     鏍囧噯宸ユ椂
+    /// </summary>
     [SugarColumn(ColumnName = "prod_hour")]
     public int? ProdHour { get; set; }
 
     /// <summary>
-    /// 鍗曚汉灏忔椂浜ц兘 
-    ///</summary>
+    ///     鍗曚汉灏忔椂浜ц兘
+    /// </summary>
     [SugarColumn(ColumnName = "person_hour_capacity")]
     public int? PersonHourCapacity { get; set; }
 
     /// <summary>
-    /// 鐞嗚鏍囦骇 
-    ///</summary>
+    ///     鐞嗚鏍囦骇
+    /// </summary>
     [SugarColumn(ColumnName = "the_capacity")]
     public int? TheCapacity { get; set; }
 
     /// <summary>
-    /// 璁″垝鐢ㄤ汉鏁� 
-    ///</summary>
+    ///     璁″垝鐢ㄤ汉鏁�
+    /// </summary>
     [SugarColumn(ColumnName = "plan_personnel")]
     public int? PlanPersonnel { get; set; }
 
     /// <summary>
-    /// 璁″垝鏍囧噯浜ц兘 
-    ///</summary>
+    ///     璁″垝鏍囧噯浜ц兘
+    /// </summary>
     [SugarColumn(ColumnName = "plan_capacity")]
     public int? PlanCapacity { get; set; }
 
     /// <summary>
-    /// 鐞嗚鐢ㄦ椂/M 
-    ///</summary>
+    ///     鐞嗚鐢ㄦ椂/M
+    /// </summary>
     [SugarColumn(ColumnName = "the_min")]
     public int? TheMin { get; set; }
 
     /// <summary>
-    /// 鐞嗚鐢ㄦ椂/H 
-    ///</summary>
+    ///     鐞嗚鐢ㄦ椂/H
+    /// </summary>
     [SugarColumn(ColumnName = "the_hour")]
     public int? TheHour { get; set; }
 
     /// <summary>
-    /// 绾夸綋绫诲埆 
-    ///</summary>
+    ///     绾夸綋绫诲埆
+    /// </summary>
     [SugarColumn(ColumnName = "line_type")]
     public string? LineType { get; set; }
 
     /// <summary>
-    /// 鏍囧噯浜烘暟 
-    ///</summary>
+    ///     鏍囧噯浜烘暟
+    /// </summary>
     [SugarColumn(ColumnName = "personnel")]
     public int? Personnel { get; set; }
 
     /// <summary>
-    /// 鎹㈢嚎鏃堕棿 
-    ///</summary>
+    ///     鎹㈢嚎鏃堕棿
+    /// </summary>
     [SugarColumn(ColumnName = "change_line_time")]
     public int? ChangeLineTime { get; set; }
 
     /// <summary>
-    /// 浼戞伅鏃堕棿 
-    ///</summary>
+    ///     浼戞伅鏃堕棿
+    /// </summary>
     [SugarColumn(ColumnName = "rest_time")]
     public int? RestTime { get; set; }
 
     /// <summary>
-    /// 鎺掍骇搴忓彿 
-    ///</summary>
+    ///     鎺掍骇搴忓彿
+    /// </summary>
     [SugarColumn(ColumnName = "schedule_order")]
     public int? ScheduleOrder { get; set; }
 
     /// <summary>
-    /// MES棰勮寮�宸ユ椂闂� 
-    ///</summary>
+    ///     MES棰勮寮�宸ユ椂闂�
+    /// </summary>
     [SugarColumn(ColumnName = "mes_start_prod")]
     public DateTime? MesStartProd { get; set; }
 
     /// <summary>
-    /// MES棰勮瀹屽伐鏃堕棿 
-    ///</summary>
+    ///     MES棰勮瀹屽伐鏃堕棿
+    /// </summary>
     [SugarColumn(ColumnName = "mes_end_prod")]
     public DateTime? MesEndProd { get; set; }
 
     /// <summary>
-    /// 鎺掍骇鎺ㄩ�佹爣璇� 
-    ///</summary>
+    ///     鎺掍骇鎺ㄩ�佹爣璇�
+    /// </summary>
     [SugarColumn(ColumnName = "prodts")]
     public int? Prodts { get; set; }
 
     /// <summary>
-    /// 棰勮澶囨枡鏃堕棿 
-    ///</summary>
+    ///     棰勮澶囨枡鏃堕棿
+    /// </summary>
     [SugarColumn(ColumnName = "prepare_time")]
     public DateTime? PrepareTime { get; set; }
 
     /// <summary>
-    /// 鎻掍欢鎶曞叆浜烘暟 
-    ///</summary>
+    ///     鎻掍欢鎶曞叆浜烘暟
+    /// </summary>
     [SugarColumn(ColumnName = "cj_worker")]
     public int? CjWorker { get; set; }
 
     /// <summary>
-    /// 鎻掍欢璁″垝鎶曞叆浜烘暟 
-    ///</summary>
+    ///     鎻掍欢璁″垝鎶曞叆浜烘暟
+    /// </summary>
     [SugarColumn(ColumnName = "p_cj_worker")]
     public int? PCjWorker { get; set; }
 
     /// <summary>
-    /// 鎻掍欢鏃ヤ骇閲� 
-    ///</summary>
+    ///     鎻掍欢鏃ヤ骇閲�
+    /// </summary>
     [SugarColumn(ColumnName = "cj_daily_out")]
     public int? CjDailyOut { get; set; }
 
     /// <summary>
-    /// 鎻掍欢鏍囧噯宸ユ椂 
-    ///</summary>
+    ///     鎻掍欢鏍囧噯宸ユ椂
+    /// </summary>
     [SugarColumn(ColumnName = "cj_std_hour")]
     public int? CjStdHour { get; set; }
 
     /// <summary>
-    /// 閿$剨鎶曞叆浜烘暟 
-    ///</summary>
+    ///     閿$剨鎶曞叆浜烘暟
+    /// </summary>
     [SugarColumn(ColumnName = "hx_worker")]
     public int? HxWorker { get; set; }
 
     /// <summary>
-    /// 閿$剨璁″垝鎶曞叆浜烘暟 
-    ///</summary>
+    ///     閿$剨璁″垝鎶曞叆浜烘暟
+    /// </summary>
     [SugarColumn(ColumnName = "p_hx_worker")]
     public int? PHxWorker { get; set; }
 
     /// <summary>
-    /// 閿$剨鏃ヤ骇閲� 
-    ///</summary>
+    ///     閿$剨鏃ヤ骇閲�
+    /// </summary>
     [SugarColumn(ColumnName = "hx_daily_out")]
     public int? HxDailyOut { get; set; }
 
     /// <summary>
-    /// 閿$剨鏍囧噯宸ユ椂 
-    ///</summary>
+    ///     閿$剨鏍囧噯宸ユ椂
+    /// </summary>
     [SugarColumn(ColumnName = "hx_std_hour")]
     public int? HxStdHour { get; set; }
 
     /// <summary>
-    /// 鎻掍欢鏁伴噺 
-    ///</summary>
+    ///     鎻掍欢鏁伴噺
+    /// </summary>
     [SugarColumn(ColumnName = "cj_num")]
     public int? CjNum { get; set; }
 
     /// <summary>
-    /// 瀹㈡埛 
-    ///</summary>
+    ///     瀹㈡埛
+    /// </summary>
     [SugarColumn(ColumnName = "cust")]
     public string? Cust { get; set; }
 
     /// <summary>
-    /// 鏄惁棣栨 
-    ///</summary>
+    ///     鏄惁棣栨
+    /// </summary>
     [SugarColumn(ColumnName = "IS_SJ")]
     public int? IsSj { get; set; }
 
     /// <summary>
-    /// 浜у搧缂栫爜 
-    ///</summary>
+    ///     浜у搧缂栫爜
+    /// </summary>
     [SugarColumn(ColumnName = "daa029")]
     public string? Daa029 { get; set; }
 
     /// <summary>
-    /// 瀹為檯绾夸綋缂栫爜 
-    ///</summary>
+    ///     瀹為檯绾夸綋缂栫爜
+    /// </summary>
     [SugarColumn(ColumnName = "sj_xt")]
     public string? SjXt { get; set; }
 }
\ No newline at end of file
diff --git a/entity/Womdab.cs b/entity/Womdab.cs
index c3f1fc6..89709cc 100644
--- a/entity/Womdab.cs
+++ b/entity/Womdab.cs
@@ -8,233 +8,231 @@
 public class Womdab
 {
     /// <summary>
-    ///  
-    /// 榛樿鍊�: (newid())
-    ///</summary>
+    ///     榛樿鍊�: (newid())
+    /// </summary>
     [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)]
     public Guid Guid { get; set; }
 
     /// <summary>
-    ///  
-    ///</summary>
+    /// </summary>
     [SugarColumn(ColumnName = "daaGuid")]
     public Guid? DaaGuid { get; set; }
 
     /// <summary>
-    /// 鑷鍒� 
-    ///</summary>
+    ///     鑷鍒�
+    /// </summary>
     [SugarColumn(ColumnName = "id")]
     public int? Id { get; set; }
 
     /// <summary>
-    /// PID 
-    ///</summary>
+    ///     PID
+    /// </summary>
     [SugarColumn(ColumnName = "pid")]
     public int? Pid { get; set; }
 
     /// <summary>
-    /// 宸ュ崟鍗曞彿 
-    ///</summary>
+    ///     宸ュ崟鍗曞彿
+    /// </summary>
     [SugarColumn(ColumnName = "dab001")]
     public string? Dab001 { get; set; }
 
     /// <summary>
-    /// 搴忓彿 
-    ///</summary>
+    ///     搴忓彿
+    /// </summary>
     [SugarColumn(ColumnName = "dab002")]
     public int? Dab002 { get; set; }
 
     /// <summary>
-    /// 鏉愭枡id 
-    ///</summary>
+    ///     鏉愭枡id
+    /// </summary>
     [SugarColumn(ColumnName = "dab003")]
     public string? Dab003 { get; set; }
 
     /// <summary>
-    /// 鏉愭枡鍚嶇О 
-    ///</summary>
+    ///     鏉愭枡鍚嶇О
+    /// </summary>
     [SugarColumn(ColumnName = "dab004")]
     public string? Dab004 { get; set; }
 
     /// <summary>
-    /// 鏉愭枡瑙勬牸 
-    ///</summary>
+    ///     鏉愭枡瑙勬牸
+    /// </summary>
     [SugarColumn(ColumnName = "dab005")]
     public string? Dab005 { get; set; }
 
     /// <summary>
-    /// 闇�棰嗙敤閲� 
-    ///</summary>
+    ///     闇�棰嗙敤閲�
+    /// </summary>
     [SugarColumn(ColumnName = "dab006")]
     public decimal? Dab006 { get; set; }
 
     /// <summary>
-    /// 宸查鐢ㄩ噺 
-    ///</summary>
+    ///     宸查鐢ㄩ噺
+    /// </summary>
     [SugarColumn(ColumnName = "dab007")]
     public decimal? Dab007 { get; set; }
 
     /// <summary>
-    /// 宸ヨ壓 
-    ///</summary>
+    ///     宸ヨ壓
+    /// </summary>
     [SugarColumn(ColumnName = "dab008")]
     public string? Dab008 { get; set; }
 
     /// <summary>
-    /// 鍗曚綅 
-    ///</summary>
+    ///     鍗曚綅
+    /// </summary>
     [SugarColumn(ColumnName = "dab009")]
     public string? Dab009 { get; set; }
 
     /// <summary>
-    /// 鏉愭枡绫诲瀷 
-    ///</summary>
+    ///     鏉愭枡绫诲瀷
+    /// </summary>
     [SugarColumn(ColumnName = "dab010")]
     public string? Dab010 { get; set; }
 
     /// <summary>
-    /// 涓绘枡 
-    ///</summary>
+    ///     涓绘枡
+    /// </summary>
     [SugarColumn(ColumnName = "dab011")]
     public string? Dab011 { get; set; }
 
     /// <summary>
-    /// 缁勬垚鐢ㄩ噺 
-    ///</summary>
+    ///     缁勬垚鐢ㄩ噺
+    /// </summary>
     [SugarColumn(ColumnName = "dab012")]
     public int? Dab012 { get; set; }
 
     /// <summary>
-    /// 搴曟暟 
-    ///</summary>
+    ///     搴曟暟
+    /// </summary>
     [SugarColumn(ColumnName = "dab013")]
     public int? Dab013 { get; set; }
 
     /// <summary>
-    /// 鏄惁鏇挎枡 
-    ///</summary>
+    ///     鏄惁鏇挎枡
+    /// </summary>
     [SugarColumn(ColumnName = "dab014")]
     public string? Dab014 { get; set; }
 
     /// <summary>
-    /// 鐐逛綅 
-    ///</summary>
+    ///     鐐逛綅
+    /// </summary>
     [SugarColumn(ColumnName = "dab015")]
     public string? Dab015 { get; set; }
 
     /// <summary>
-    /// 鎶曟枡鍗曞彿 
-    ///</summary>
+    ///     鎶曟枡鍗曞彿
+    /// </summary>
     [SugarColumn(ColumnName = "dab016")]
     public string? Dab016 { get; set; }
 
     /// <summary>
-    /// 浠撳簱缂栫爜 
-    ///</summary>
+    ///     浠撳簱缂栫爜
+    /// </summary>
     [SugarColumn(ColumnName = "dab017")]
     public string? Dab017 { get; set; }
 
     /// <summary>
-    /// 浠撳簱鍚嶇О 
-    ///</summary>
+    ///     浠撳簱鍚嶇О
+    /// </summary>
     [SugarColumn(ColumnName = "dab018")]
     public string? Dab018 { get; set; }
 
     /// <summary>
-    /// 棰嗘枡鏂瑰紡 
-    ///</summary>
+    ///     棰嗘枡鏂瑰紡
+    /// </summary>
     [SugarColumn(ColumnName = "dab019")]
     public string? Dab019 { get; set; }
 
     /// <summary>
-    /// 鍥哄畾鎹熻�� 
-    ///</summary>
+    ///     鍥哄畾鎹熻��
+    /// </summary>
     [SugarColumn(ColumnName = "scrapqty")]
     public int? Scrapqty { get; set; }
 
     /// <summary>
-    /// 鍙樺姩鎹熻�楃巼 
-    ///</summary>
+    ///     鍙樺姩鎹熻�楃巼
+    /// </summary>
     [SugarColumn(ColumnName = "scraprate")]
     public int? Scraprate { get; set; }
 
     /// <summary>
-    /// 鎶曟枡鍗曡id 
-    ///</summary>
+    ///     鎶曟枡鍗曡id
+    /// </summary>
     [SugarColumn(ColumnName = "erpid")]
     public int? Erpid { get; set; }
 
     /// <summary>
-    /// 鎶曟枡鍗曞ごid 
-    ///</summary>
+    ///     鎶曟枡鍗曞ごid
+    /// </summary>
     [SugarColumn(ColumnName = "eid")]
     public int? Eid { get; set; }
 
     /// <summary>
-    /// 瀹為鐢ㄩ噺 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     瀹為鐢ㄩ噺
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "dab020")]
     public decimal? Dab020 { get; set; }
 
     /// <summary>
-    /// 琛ラ鏁伴噺 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     琛ラ鏁伴噺
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "dab021")]
     public decimal? Dab021 { get; set; }
 
     /// <summary>
-    /// 閫�鏂欐暟閲� 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     閫�鏂欐暟閲�
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "dab022")]
     public decimal? Dab022 { get; set; }
 
     /// <summary>
-    /// 瓒呴鏁伴噺 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     瓒呴鏁伴噺
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "dab023")]
     public decimal? Dab023 { get; set; }
 
     /// <summary>
-    /// 鑹搧閫�鏂� 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     鑹搧閫�鏂�
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "lp_tl")]
     public int? LpTl { get; set; }
 
     /// <summary>
-    /// 鏉ユ枡涓嶈壇 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     鏉ユ枡涓嶈壇
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "ll_bl")]
     public int? LlBl { get; set; }
 
     /// <summary>
-    /// 浣滀笟涓嶈壇 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     浣滀笟涓嶈壇
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "zy_bl")]
     public int? ZyBl { get; set; }
 
     /// <summary>
-    /// 鍚堝苟鏍囪瘑 
-    /// 榛樿鍊�: ((0))
-    ///</summary>
+    ///     鍚堝苟鏍囪瘑
+    ///     榛樿鍊�: ((0))
+    /// </summary>
     [SugarColumn(ColumnName = "hb_flag")]
     public int? HbFlag { get; set; }
 
     /// <summary>
-    /// 鍚堝苟鍗曞彿 
-    ///</summary>
+    ///     鍚堝苟鍗曞彿
+    /// </summary>
     [SugarColumn(ColumnName = "hb_no")]
     public string? HbNo { get; set; }
 
     /// <summary>
-    /// 鐗╂枡缂栫爜 
-    ///</summary>
+    ///     鐗╂枡缂栫爜
+    /// </summary>
     [SugarColumn(ColumnName = "dab024")]
     public string? Dab024 { get; set; }
 
diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index 13d439f..690c1d7 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -235,7 +235,6 @@
                 .Count();
 
             if (itemCount > 0)
-            {
                 // 鏇存柊宸插瓨鍦ㄧ殑鐗╂枡鏄庣粏鏁伴噺
                 db.Updateable<MesInvItemOutItems>()
                     .SetColumns(i =>
@@ -243,9 +242,7 @@
                     .Where(i =>
                         i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId)
                     .ExecuteCommand();
-            }
             else
-            {
                 // 鎻掑叆鏂扮殑鐗╂枡鏄庣粏璁板綍
                 db.Insertable(new MesInvItemOutItems
                 {
@@ -267,11 +264,10 @@
                     ErpId = womdab.Eid,
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
-                    ItemId = blDetail.Bld012,
+                    ItemId = blDetail.Bld012
                     // Unit = blDetail.Bld009,
                     // DepotId = (int)stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
-            }
 
             // 鎻掑叆鍑哄簱鍗曟潯鐮佹槑缁�
             db.Insertable(new MesInvItemOutCDetails
@@ -332,7 +328,7 @@
                 WorkNo = blDetail.Bld001, // Matches C_QTCK_D.Bld001
                 WorkLine = blDetail.Bld013, // Matches C_QTCK_D.Bld013
                 SuppNo = stockBarcode.SuppNo,
-                ItemId = stockBarcode.ItemId,
+                ItemId = stockBarcode.ItemId
                 // CkDepot = stockBarcode.DepotsId
             }).IgnoreColumns(true).ExecuteCommand();
 
@@ -363,13 +359,11 @@
                 .First();
 
             if ((blDetail1.Bld007 ?? 0) <= (blDetail1.Bld008 ?? 0))
-            {
                 // 鏇存柊鏄庣粏瀹屾垚鐘舵��
                 db.Updateable<MesItemBlDetail>()
                     .SetColumns(it => it.Bld011 == 1)
                     .Where(it => it.Id == blDetail1.Id)
                     .ExecuteCommand();
-            }
 
             // 鏇存柊搴撳瓨鏁伴噺涓�0
             db.Updateable<MesInvItemStocks>()
@@ -386,7 +380,6 @@
                 .First();
 
             if (unfinishedDetail == null)
-            {
                 // 濡傛灉娌℃湁鏈畬鎴愮殑鏄庣粏锛屾洿鏂拌ˉ鏂欏崟鐘舵�佷负宸插畬鎴�
                 db.Updateable<MesItemBl>()
                     .SetColumns(it => new MesItemBl
@@ -397,7 +390,6 @@
                     })
                     .Where(it => it.Id == mesItemBl.Id)
                     .ExecuteCommand();
-            }
 
             return 1;
         });
@@ -471,7 +463,7 @@
 
         if (stockBarcode == null)
             throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮�,璇锋牳瀵癸紒{query.barcode}");
-        
+
         var totalQty = stockBarcode.Quantity;
         string newBarcode = null;
 
@@ -527,7 +519,7 @@
                     // Memo = stockBarcode.Memo,
                     SuppNo = stockBarcode.SuppNo,
                     // InsDate = stockBarcode.InsDate, // Added InsDate
-                    ItemId = stockBarcode.ItemId,
+                    ItemId = stockBarcode.ItemId
                     // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit
                 }).IgnoreColumns(true).ExecuteCommand();
 
@@ -567,7 +559,7 @@
                     WorkNo = stockBarcode.WorkNo,
                     WorkLine = stockBarcode.WorkLine,
                     SuppNo = stockBarcode.SuppNo,
-                    ItemId = stockBarcode.ItemId,
+                    ItemId = stockBarcode.ItemId
                     // UnitId = stockBarcode.ItemUnit
                 }).IgnoreColumns(true).ExecuteCommand();
 
@@ -601,7 +593,7 @@
                     WorkLine = stockBarcode.WorkLine,
                     SuppNo = stockBarcode.SuppNo,
                     SuppId = stockBarcode.SuppId,
-                    ItemId = stockBarcode.ItemId,
+                    ItemId = stockBarcode.ItemId
                     // CkDepot = stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
             }
@@ -611,7 +603,7 @@
             }
 
             if (string.IsNullOrEmpty(newBarcode)) newBarcode = query.barcode;
-            
+
             // 妫�鏌ヨˉ鏂欏崟鐘舵��
             var mesItemBl = Db.Queryable<MesItemBl>()
                 .Where(a => a.BlNo == query.blNo && (a.Bl018 ?? false) == false)
@@ -652,7 +644,8 @@
                 throw new Exception($"宸ュ崟 {query.billNo} 涓嶅瓨鍦紝璇风‘璁わ紒");
 
             var womdab = Db.Queryable<Womdab>()
-                .Where(b => b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014)
+                .Where(b =>
+                    b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014)
                 .First();
 
             if (womdab == null)
@@ -660,13 +653,13 @@
 
             // 妫�鏌ュ凡鍙戞枡鏁伴噺鏄惁瓒呰繃寰呭彂鏂欐暟閲�
             var sumQty = db.Queryable<MesInvItemOutCDetails>()
-                .Where(it => it.TaskNo == query.blNo && it.ItemId == stockBarcode.ItemId)
+                .Where(it =>
+                    it.TaskNo == query.blNo && it.ItemId == stockBarcode.ItemId)
                 .Sum(it => it.Quantity);
 
             if (sumQty > remainingQty)
-            {
-                throw new Exception($"鎷嗗垎鏁伴噺锛歿sumQty} 澶т簬寰呭彂鏂欐暟閲忥細{remainingQty}锛岃鏍稿锛�");
-            }
+                throw new Exception(
+                    $"鎷嗗垎鏁伴噺锛歿sumQty} 澶т簬寰呭彂鏂欐暟閲忥細{remainingQty}锛岃鏍稿锛�");
 
             // 鑾峰彇鎴栧垱寤哄嚭搴撳崟
             var itemOut = db.Queryable<MesInvItemOuts>()
@@ -720,7 +713,6 @@
                 .Count();
 
             if (itemOutItemCount == 0)
-            {
                 // 鎻掑叆鏂扮殑鍑哄簱鍗曟槑缁�
                 executeCommand += db.Insertable(new MesInvItemOutItems
                 {
@@ -742,13 +734,11 @@
                     ErpId = womdab.Eid,
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
-                    ItemId = blDetail.Bld012,
+                    ItemId = blDetail.Bld012
                     // Unit = blDetail.Bld009,
                     // DepotId = (int)stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
-            }
             else
-            {
                 // 鏇存柊宸叉湁鍑哄簱鍗曟槑缁嗘暟閲�
                 executeCommand += db.Updateable<MesInvItemOutItems>()
                     .SetColumns(it => it.Quantity == it.Quantity + query.Num)
@@ -756,7 +746,6 @@
                         it.ItemOutId == itemOut.Guid &&
                         it.ItemId == stockBarcode.ItemId)
                     .ExecuteCommand();
-            }
 
             // 鎻掑叆鍑哄簱鏉$爜鏄庣粏
             executeCommand += db.Insertable(new MesInvItemOutCDetails
@@ -816,7 +805,7 @@
                 WorkNo = blDetail.Bld001,
                 WorkLine = blDetail.Bld013,
                 SuppNo = stockBarcode.SuppNo,
-                ItemId = stockBarcode.ItemId,
+                ItemId = stockBarcode.ItemId
                 // CkDepot = stockBarcode.DepotsId
             }).IgnoreColumns(true).ExecuteCommand();
 
@@ -848,13 +837,11 @@
                 .First();
 
             if ((updatedDetail.Bld007 ?? 0) <= (updatedDetail.Bld008 ?? 0))
-            {
                 // 鏇存柊鏄庣粏瀹屾垚鐘舵��
                 executeCommand += db.Updateable<MesItemBlDetail>()
                     .SetColumns(it => new MesItemBlDetail { Bld011 = 1 })
                     .Where(it => it.Id == blDetail.Id)
                     .ExecuteCommand();
-            }
 
             // 妫�鏌ユ槸鍚﹁繕鏈夋湭瀹屾垚鐨勬槑缁�
 
@@ -863,7 +850,6 @@
                 .First();
 
             if (unfinishedDetail == null)
-            {
                 // 濡傛灉娌℃湁鎵惧埌鏈畬鎴愭槑缁嗭紝鍒欐洿鏂拌ˉ鏂欏崟鐘舵�佷负宸插畬鎴�
                 executeCommand += db.Updateable<MesItemBl>()
                     .SetColumns(it => new MesItemBl
@@ -874,8 +860,7 @@
                     })
                     .Where(it => it.Id == mesItemBl.Id)
                     .ExecuteCommand();
-            }
-            
+
             if (executeCommand <= 1) throw new Exception("鏇存柊澶辫触");
 
             return executeCommand;
@@ -1103,7 +1088,7 @@
         UseTransaction(db =>
         {
             // 鐢熸垚鎴栬幏鍙栧嚭搴撳崟
-            Guid outId = Guid.Empty;
+            var outId = Guid.Empty;
             var outNo = "";
             var outRecord = db.Queryable<MesInvItemOuts>()
                 .Where(a => a.BbillNo == query.blNo
@@ -1157,7 +1142,6 @@
                 .First();
 
             if (outItem == null)
-            {
                 // 鎻掑叆鍑哄簱鍗曟槑缁�
                 db.Insertable(new MesInvItemOutItems
                 {
@@ -1177,13 +1161,11 @@
                     ErpId = womdab.Eid,
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
-                    ItemId = blDetail.Bld012,
+                    ItemId = blDetail.Bld012
                     // Unit = blDetail.Bld009,
                     // DepotId = stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
-            }
             else
-            {
                 // 鏇存柊鍑哄簱鍗曟槑缁嗘暟閲�
                 db.Updateable<MesInvItemOutItems>()
                     .SetColumns(it => new MesInvItemOutItems
@@ -1194,7 +1176,6 @@
                         it.ItemOutId == outId &&
                         it.ItemId == stockBarcode.ItemId)
                     .ExecuteCommand();
-            }
 
             // 鎻掑叆鍑哄簱鏉$爜鏄庣粏
             db.Insertable(new MesInvItemOutCDetails
@@ -1247,7 +1228,7 @@
                 WorkLine = blDetail.Bld013,
                 SuppNo = stockBarcode.SuppNo,
                 SuppId = stockBarcode.SuppId,
-                ItemId = stockBarcode.ItemId,
+                ItemId = stockBarcode.ItemId
                 // CkDepot = stockBarcode.DepotsId
             }).IgnoreColumns(true).ExecuteCommand();
 
@@ -1287,12 +1268,10 @@
 
             // 濡傛灉鎵�鏈夋槑缁嗗畬鎴�,鏇存柊瓒呴鍗曠姸鎬佷负宸插畬鎴�
             if (!hasUnfinished)
-            {
                 db.Updateable<MesItemBl>()
                     .SetColumns(it => it.Bl019 == true)
                     .Where(it => it.Id == mesItemBl.Id)
                     .ExecuteCommand();
-            }
 
             return 1;
         });
@@ -1317,7 +1296,7 @@
     }
 
     /// <summary>
-    /// 鐢熶骇瓒呴鎵撳嵃鏉$爜
+    ///     鐢熶骇瓒呴鎵撳嵃鏉$爜
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟</param>
     /// <returns>澶勭悊缁撴灉</returns>
@@ -1560,7 +1539,6 @@
                 .Count();
 
             if (itemOutItemCount == 0)
-            {
                 // 鎻掑叆鏂扮殑鍑哄簱鍗曟槑缁�
                 db.Insertable(new MesInvItemOutItems
                 {
@@ -1582,13 +1560,11 @@
                     ErpId = workOrderDetail.Eid,
                     ErpAutoid = workOrderDetail.Erpid,
                     PbillNo = query.billNo,
-                    ItemId = blDetail.Bld012,
+                    ItemId = blDetail.Bld012
                     // Unit = blDetail.Bld009,
                     // DepotId = stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
-            }
             else
-            {
                 // 鏇存柊宸叉湁鍑哄簱鍗曟槑缁嗘暟閲�
                 db.Updateable<MesInvItemOutItems>()
                     .SetColumns(it => it.Quantity == it.Quantity + query.Num)
@@ -1596,7 +1572,6 @@
                         it.ItemOutId == itemOut.Guid &&
                         it.ItemId == stockBarcode.ItemId)
                     .ExecuteCommand();
-            }
 
             // 鎻掑叆鍑哄簱鏄庣粏璁板綍
             db.Insertable(new MesInvItemOutCDetails
@@ -1685,13 +1660,11 @@
                 .First();
 
             if ((blDetail1.Bld007 ?? 0) <= (blDetail1.Bld008 ?? 0))
-            {
                 // 鏇存柊鏄庣粏瀹屾垚鐘舵��
                 db.Updateable<MesItemBlDetail>()
                     .SetColumns(it => it.Bld011 == 1)
                     .Where(it => it.Id == blDetail1.Id)
                     .ExecuteCommand();
-            }
 
             // 妫�鏌ユ槸鍚︽墍鏈夋槑缁嗛兘宸插畬鎴�
             var hasUnfinished = db.Queryable<MesItemBlDetail>()
@@ -1700,12 +1673,10 @@
 
             // 濡傛灉鎵�鏈夋槑缁嗗畬鎴�,鏇存柊琛ユ枡鍗曠姸鎬佷负宸插畬鎴�
             if (!hasUnfinished)
-            {
                 db.Updateable<MesItemBl>()
                     .SetColumns(it => it.Bl019 == true)
                     .Where(it => it.Id == mesItemBl.Id)
                     .ExecuteCommand();
-            }
 
             return 1;
         });
diff --git a/service/Wom/MesWorkProdCDetailsManager.cs b/service/Wom/MesWorkProdCDetailsManager.cs
new file mode 100644
index 0000000..6c5aae3
--- /dev/null
+++ b/service/Wom/MesWorkProdCDetailsManager.cs
@@ -0,0 +1,9 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.entity;
+
+namespace NewPdaSqlServer.service.Wom;
+
+public class MesWorkProdCDetailsManager : Repository<MesWorkProdCDetails>
+{
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+}
\ No newline at end of file
diff --git a/service/Wom/MesWorkProdManager.cs b/service/Wom/MesWorkProdManager.cs
new file mode 100644
index 0000000..04a170c
--- /dev/null
+++ b/service/Wom/MesWorkProdManager.cs
@@ -0,0 +1,331 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.util;
+using SqlSugar;
+
+namespace NewPdaSqlServer.service.Wom;
+
+public class MesWorkProdManager : Repository<MesWorkProd>
+{
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+    /// <summary>
+    /// PDA鎵弿鐢熶骇鎶ュ伐
+    /// </summary>
+    public ScanWorkResult ScanWorkAsync(ScanWorkRequest request)
+    {
+        // 鏌ヨ浜哄憳淇℃伅
+        var staff = Db.Queryable<MesStaff>()
+            .Where(x => x.StaffNo == request.StaffNo)
+            .First();
+        if (staff == null)
+            throw new Exception("璇峰厛閫夋嫨浜哄憳");
+
+        // 鏌ヨ鏉$爜淇℃伅
+        var barcode = Db.Queryable<MesInvItemBarcodes>()
+            .Where(x => x.ItemBarcode == request.ItemBarcode)
+            .First();
+        if (barcode == null)
+            throw new Exception($"鏃犳鏉$爜锛岃鏍稿锛亄request.ItemBarcode}");
+
+        // 鏌ヨ鐗╂枡淇℃伅
+        var item = Db.Queryable<MesItems>()
+            .Where(x => x.Id == barcode.ItemId)
+            .First();
+        if (item == null)
+            throw new Exception($"鏃犳鐗╂枡锛岃鏍稿锛亄request.ItemBarcode}");
+
+        // 纭畾鍗曟嵁绫诲瀷
+        int billTypeId = 900;
+        int transactionNo = 902;
+        switch (barcode.Memo?.Trim() ?? "0")
+        {
+            case "涓濆嵃":
+                transactionNo = 901;
+                break;
+            case "鍗婃垚鍝�":
+                transactionNo = 902;
+                break;
+            case "鍖呰":
+            case "鎴愬搧":
+                transactionNo = 903;
+                break;
+        }
+
+        // 妫�鏌ユ潯鐮佹槸鍚﹂噸澶嶆壂鎻�
+        var exists = Db.Queryable<MesWorkProd, MesWorkProdCDetails>(
+                (a, b) =>
+                    new JoinQueryInfos(JoinType.Inner,
+                        a.BillNo == b.BillNo))
+            .Where((a, b) => b.ItemBarcode == request.ItemBarcode
+                             && a.BillTypeId == billTypeId
+                             && a.TransactionNo == transactionNo)
+            .Any();
+
+        if (exists)
+            throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+
+        // 鑾峰彇宸叉姤宸ユ暟閲�
+        var reportedQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>(
+                (a, b) =>
+                    new JoinQueryInfos(JoinType.Inner,
+                        a.BillNo == b.BillNo))
+            .Where((a, b) => a.BillTypeId == billTypeId
+                             && a.TransactionNo == transactionNo
+                             && a.TaskNo == barcode.BillNo)
+            .Sum((a, b) => b.Quantity);
+
+        // 鑾峰彇宸ュ崟璁″垝鏁伴噺鍜屽瀷鍙�
+        var workOrder = Db.Queryable<Womdaa>()
+            .Where(x => x.Daa001 == barcode.BillNo)
+            .First();
+        if (workOrder == null)
+            throw new Exception($"鏃犲伐鍗曟槑缁嗭紝璇锋牳瀵癸紒{request.ItemBarcode}");
+
+        var planQty = workOrder.Daa008;
+        var itemModel = workOrder.Daa004;
+
+        UseTransaction(db =>
+        {
+            // 鏈夋暟閲忔潯鐮佽嚜鍔ㄦ姤宸�
+            if (barcode.Quantity > 0)
+            {
+                var reportQty = barcode.Quantity;
+                if (reportQty <= 0)
+                    throw new Exception(
+                        $"鎶ュ伐鏁伴噺涓嶈兘灏忎簬绛変簬0锛岃鏍稿锛亄request.ItemBarcode}");
+
+                var totalQty = (reportedQty ?? 0) + reportQty;
+                if (totalQty > workOrder.Daa008)
+                    throw new Exception(
+                        $"鏈鎶ュ伐鏁伴噺锛歿reportQty} 澶т簬鍓╀綑鎶ュ伐鏁伴噺锛歿workOrder.Daa008 - reportedQty ?? 0}锛岃鏍稿锛�");
+
+                // 鏇存柊鏉$爜鐘舵��
+                db.Updateable<MesInvItemBarcodes>()
+                    .SetColumns(x => new MesInvItemBarcodes
+                    {
+                        WorkFlg = true,
+                        Quantity = reportQty
+                    })
+                    .Where(x => x.Guid == barcode.Guid)
+                    .ExecuteCommandAsync();
+
+                // 鑾峰彇鎴栧垱寤烘姤宸ュ崟
+                var workProd = db.Queryable<MesWorkProd>()
+                    .Where(x => x.TaskNo == barcode.BillNo
+                                && x.CreateDate.Value.Date.ToString(
+                                    "yyyy-MM-dd") ==
+                                DateTime.Now.Date.ToString("yyyy-MM-dd")
+                                && x.BillTypeId == billTypeId
+                                && x.TransactionNo == transactionNo
+                                && x.Status == 0)
+                    .First();
+
+                if (workProd == null)
+                {
+                    var id = Guid.NewGuid();
+                    var billNo = BillNo.GetBillNo("MES_WORK");
+
+                    workProd = new MesWorkProd
+                    {
+                        Id = id,
+                        BillNo = billNo,
+                        LineNo = barcode.LineNo,
+                        Company = barcode.Company,
+                        Factory = barcode.Factory,
+                        CreateBy = request.UserNo,
+                        CreateDate = DateTime.Now,
+                        LastupdateBy = request.UserNo,
+                        LastupdateDate = DateTime.Now,
+                        BillTypeId = billTypeId,
+                        TransactionNo = transactionNo,
+                        TaskNo = barcode.BillNo
+                    };
+
+                    db.Insertable(workProd).IgnoreColumns(true)
+                        .ExecuteCommand();
+                }
+
+                // 鎻掑叆鎶ュ伐鏄庣粏
+                var detailId = Guid.NewGuid();
+                db.Insertable(new MesWorkProdCDetails
+                {
+                    Id = detailId,
+                    BillNo = workProd.BillNo,
+                    ItemBarcode = request.ItemBarcode,
+                    Quantity = (int)reportQty,
+                    Company = barcode.Company,
+                    Factory = barcode.Factory,
+                    CreateBy = request.UserNo,
+                    CreateDate = DateTime.Now,
+                    LastupdateBy = request.UserNo,
+                    LastupdateDate = DateTime.Now,
+                    ItemNo = item.ItemNo,
+                    WorkLast = barcode.WorkLast,
+                    SilkPqty = barcode.SilkPqty,
+                    SilkId = barcode.SilkId,
+                    Silk = barcode.Silk,
+                    BgYg = staff.Id
+                }).IgnoreColumns(true).ExecuteCommand();
+
+                // 鏇存柊宸ュ崟宸叉姤宸ユ暟閲�
+                db.Updateable<Womdaa>()
+                    .SetColumns(x =>
+                        x.Daa011 == (x.Daa011 ?? 0) + (int)barcode.Quantity
+                    )
+                    .Where(x => x.Daa001 == barcode.BillNo)
+                    .ExecuteCommandAsync();
+
+                // 閲嶆柊鑾峰彇宸叉姤宸ユ暟閲�
+                reportedQty = db.Queryable<MesWorkProd, MesWorkProdCDetails>(
+                        (a, b) =>
+                            new JoinQueryInfos(JoinType.Inner,
+                                a.BillNo == b.BillNo))
+                    .Where((a, b) => a.BillTypeId == billTypeId
+                                     && a.TransactionNo == transactionNo
+                                     && a.TaskNo == barcode.BillNo)
+                    .Sum((a, b) => b.Quantity);
+            }
+
+            return 1;
+        });
+
+        return new ScanWorkResult
+        {
+            TaskNo = barcode.TaskNo,
+            ItemNo = item.ItemNo,
+            PlanQty = planQty ?? 0,
+            ReportedQty = reportedQty ?? 0,
+            CurrentQty = barcode.Quantity.Value,
+            BarcodeQty = barcode.Quantity.Value,
+            ItemName = item.ItemName,
+            ItemModel = itemModel,
+            Message = "鎵爜鎴愬姛锛�"
+        };
+    }
+
+
+    /// <summary>
+    /// PDA鎵弿鐢熶骇鎶ュ伐  prc_rf_pda_scan_work_prod
+    /// </summary>
+    public bool ScanWorkProdAsync(ScanWorkRequest request)
+    {
+        if (request.Quantity <= 0)
+            throw new Exception("鎶ュ伐鏁伴噺涓嶈兘灏忎簬绛変簬 0锛岃鏍稿锛�");
+
+        // 鏌ヨ鏉$爜淇℃伅
+        var barcode = Db.Queryable<MesInvItemBarcodes>()
+            .Where(x => x.ItemBarcode == request.ItemBarcode)
+            .First();
+        if (barcode == null)
+            throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{request.ItemBarcode}");
+
+        // 鏌ヨ宸ュ崟淇℃伅
+        var womdaa = Db.Queryable<Womdaa>()
+            .Where(x => x.Daa001 == barcode.BillNo)
+            .First();
+        if (womdaa == null)
+            throw new Exception($"鏉$爜涓嶆槸鎶ュ伐鏉$爜/鏃犲搴斿伐鍗曪紝璇锋牳瀵癸紒{request.ItemBarcode}");
+
+        // 纭畾鍗曟嵁绫诲瀷
+        int billTypeId = 900;
+        int transactionNo = 902;
+        switch (barcode.Memo?.Trim() ?? "0")
+        {
+            case "涓濆嵃":
+                transactionNo = 901;
+                break;
+            case "鍗婃垚鍝�":
+                transactionNo = 902;
+                break;
+            case "鎴愬搧":
+            case "鍖呰":
+                transactionNo = 903;
+                break;
+        }
+
+        // 姹囨�诲凡鎵潯鐮佹暟閲�
+        var sumQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>((a, b) =>
+                new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo))
+            .Where((a, b) => a.BillTypeId == billTypeId
+                             && a.TransactionNo == transactionNo
+                             && b.SilkId == barcode.SilkId
+                             && a.TaskNo == barcode.BillNo)
+            .Sum((a, b) => b.Quantity);
+
+        sumQty = (sumQty ?? 0) + (int)request.Quantity;
+
+        if (sumQty > womdaa.Daa008)
+            throw new Exception(
+                $"鏈鎶ュ伐鏁伴噺锛歿request.Quantity} 澶т簬鍓╀綑鎶ュ伐鏁伴噺锛歿womdaa.Daa008 - (sumQty - request.Quantity)}锛岃鏍稿锛�");
+
+        return UseTransaction(db =>
+        {
+            // 鏇存柊鏉$爜淇℃伅
+            db.Updateable<MesInvItemBarcodes>()
+                .SetColumns(x => x.WorkFlg == true)
+                .SetColumns(x => x.Quantity == request.Quantity)
+                .Where(x => x.Guid == barcode.Guid)
+                .ExecuteCommand();
+
+            // 鑾峰彇鎴栧垱寤烘姤宸ュ崟
+            var workProd = db.Queryable<MesWorkProd>()
+                .Where(x => x.TaskNo == barcode.BillNo
+                            && x.CreateDate.Value.Date.ToString("yyyy-MM-dd") ==
+                            DateTime.Now.Date.ToString("yyyy-MM-dd")
+                            && x.BillTypeId == billTypeId
+                            && x.TransactionNo == transactionNo
+                            && x.Status == 0)
+                .First();
+
+            if (workProd == null)
+            {
+                var billNo = BillNo.GetBillNo("MES_WORK");
+                workProd = new MesWorkProd
+                {
+                    Id = Guid.NewGuid(), 
+                    BillNo = billNo,
+                    LineNo = barcode.LineNo,
+                    Company = barcode.Company,
+                    Factory = barcode.Factory,
+                    CreateBy = request.UserNo,
+                    CreateDate = DateTime.Now,
+                    LastupdateBy = request.UserNo,
+                    LastupdateDate = DateTime.Now,
+                    PbillNo = barcode.BillNo, // Added PbillNo field
+                    BillTypeId = billTypeId,
+                    TransactionNo = transactionNo,
+                    TaskNo = barcode.BillNo
+                };
+
+                db.Insertable(workProd).IgnoreColumns(true).ExecuteCommand();
+            }
+
+            // 鎻掑叆鎶ュ伐鏄庣粏
+            var detail = new MesWorkProdCDetails
+            {
+                Id = Guid.NewGuid(), 
+                BillNo = workProd.BillNo,
+                ItemBarcode = request.ItemBarcode,
+                Quantity = (int)request.Quantity,
+                Company = barcode.Company,
+                Factory = barcode.Factory,
+                CreateBy = request.UserNo,
+                CreateDate = DateTime.Now,
+                LastupdateBy = request.UserNo,
+                LastupdateDate = DateTime.Now,
+                ItemNo = barcode.ItemNo,
+                PbillNo = barcode.BillNo, // Added PbillNo from barcode
+                WorkLast = barcode.WorkLast,
+                SilkPqty = barcode.SilkPqty,
+                SilkId = barcode.SilkId,
+                Silk = barcode.Silk
+            };
+
+            db.Insertable(detail).IgnoreColumns(true).ExecuteCommand();
+
+            return 1;
+        }) > 0;
+    }
+}
\ No newline at end of file
diff --git a/service/base/MesStaffManager.cs b/service/base/MesStaffManager.cs
new file mode 100644
index 0000000..5505b7c
--- /dev/null
+++ b/service/base/MesStaffManager.cs
@@ -0,0 +1,11 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.entity;
+
+namespace NewPdaSqlServer.service.@base;
+
+public class MesStaffManager : Repository<MesStaff>
+{
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+    //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesStaffManager.cs
+}
\ No newline at end of file

--
Gitblit v1.9.3