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