From 8dd9fc1a302394e1511f44ec35127e42fd20c1ea Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期五, 07 二月 2025 08:10:38 +0800
Subject: [PATCH] 1.条码拆分

---
 service/Warehouse/MesBarCFManager.cs        |   83 +++++++++++++++++++++++++++
 Dto/service/WarehouseQuery.cs               |    3 +
 Controllers/Warehouse/MesBarCFController.cs |   64 +++++++++++++++++++++
 3 files changed, 150 insertions(+), 0 deletions(-)

diff --git a/Controllers/Warehouse/MesBarCFController.cs b/Controllers/Warehouse/MesBarCFController.cs
new file mode 100644
index 0000000..adfe372
--- /dev/null
+++ b/Controllers/Warehouse/MesBarCFController.cs
@@ -0,0 +1,64 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.Warehouse;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesBarCFController : ControllerBase
+{
+    private readonly MesBarCFManager m = new();
+
+    /// <summary>
+    ///     鑾峰彇鏉$爜淇℃伅鍜岀墿鏂欎俊鎭�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("GetBarInfo")]
+    public ResponseResult GetBarInfo(WarehouseQuery unity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetBarInfo(unity);
+            resultInfos.tbMesItems = m.GetItemNo(resultInfos.tbBillList.ItemId);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鑾峰彇鏉$爜淇℃伅鍜岀墿鏂欎俊鎭�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost("BarCF")]
+    public ResponseResult BarCF(WarehouseQuery unity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.BarCF(unity);
+            return new ResponseResult
+            {
+                status = 0,
+                message = resultInfos.tbBillList,
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Dto/service/WarehouseQuery.cs b/Dto/service/WarehouseQuery.cs
index 278dccc..a16ba74 100644
--- a/Dto/service/WarehouseQuery.cs
+++ b/Dto/service/WarehouseQuery.cs
@@ -28,6 +28,9 @@
     public decimal? Num { get; set; }
     public decimal? Fum { get; set; }
 
+    //鎷嗗垎鏁伴噺
+    public decimal? CfNum { get; set; }
+
     public string? itemNo { get; set; }
     public string? message { get; set; }
 }
\ No newline at end of file
diff --git a/service/Warehouse/MesBarCFManager.cs b/service/Warehouse/MesBarCFManager.cs
new file mode 100644
index 0000000..5929a7a
--- /dev/null
+++ b/service/Warehouse/MesBarCFManager.cs
@@ -0,0 +1,83 @@
+锘縰sing System.Data;
+using System.Data.SqlClient;
+using Masuit.Tools;
+using NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using SqlSugar;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+public class MesBarCFManager : Repository<MesCgthSq>
+{
+    public MesInvItemStocks GetBarInfo(WarehouseQuery unity)
+    {
+        return Db.Queryable<MesInvItemStocks>()
+            .Where(s => s.ItemBarcode == unity.barcode)
+            .First(); // 杩斿洖绗竴琛屾暟鎹紝濡傛灉娌℃湁鍒欒繑鍥� null
+    }
+
+    public MesItems GetItemNo(decimal strItemId)
+    {
+        return Db.Queryable<MesItems>()
+            .Where(s => s.Id == strItemId)
+            .First();
+    }
+
+    public string BarCF(WarehouseQuery unity)
+    {
+        var _strMsg = "";
+        var _intSum = "";
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            if (unity.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
+            if (unity.CfNum <= 0) throw new Exception("鎷嗗垎鏁伴噺闇�澶т簬绛変簬0");
+            if (unity.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
+
+            using (var cmd = new SqlCommand("[prc_pda_bar_cf]", conn))
+            {
+                try
+                {
+                    conn.Open();
+                    cmd.CommandType = CommandType.StoredProcedure;
+                    SqlParameter[] parameters =
+                    {
+                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outSum", SqlDbType.NVarChar, 300),
+                        new("@barcode_new", SqlDbType.NVarChar, 300),
+                        new("@c_user", unity.userName),
+                        new("@p_old_barcode", unity.barcode),
+                        new("@p_qty", unity.CfNum),
+
+                    };
+                    parameters[0].Direction = ParameterDirection.Output;
+                    parameters[1].Direction = ParameterDirection.Output;
+                    parameters[2].Direction = ParameterDirection.Output;
+
+                    foreach (var parameter in parameters)
+                        cmd.Parameters.Add(parameter);
+                    cmd.ExecuteNonQuery();
+                    _strMsg = parameters[0].Value.ToString();
+                    _intSum = parameters[1].Value.ToString();
+
+                    var result = Convert.ToInt32(_intSum);
+                    if (result <= 0) throw new Exception(_strMsg);
+
+                    return _strMsg;
+
+                    //return 0;
+
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception(ex.Message);
+                }
+                finally
+                {
+                    conn.Close();
+                }
+            }
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3