From ff6a0b066a84dee4ba1b11512f6f34896a3c7dc7 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 08 一月 2025 13:28:19 +0800
Subject: [PATCH] 期初入库

---
 entity/MesInvItemIns.cs                          |    2 
 entity/MesDbck.cs                                |  201 ++++++++++++++
 entity/MesDbckEtail.cs                           |   94 ++++++
 service/Warehouse/MesCgthSqManager.cs            |    2 
 service/Warehouse/MesDbckManager.cs              |    7 
 Controllers/Warehouse/MesDbckController.cs       |  162 +++++++++++
 Dto/service/WarehouseQuery.cs                    |    1 
 service/Warehouse/InventoryManager.cs            |  259 ++++++++++++++++++
 service/Warehouse/MesInvItemInCDetailsManager.cs |    4 
 Controllers/Warehouse/InventoryController.cs     |   80 +++++
 service/Warehouse/MesItemQtrkManager.cs          |    2 
 11 files changed, 809 insertions(+), 5 deletions(-)

diff --git a/Controllers/Warehouse/InventoryController.cs b/Controllers/Warehouse/InventoryController.cs
new file mode 100644
index 0000000..7d7799f
--- /dev/null
+++ b/Controllers/Warehouse/InventoryController.cs
@@ -0,0 +1,80 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.service.Warehouse;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class InventoryController : ControllerBase
+{
+    private readonly InventoryManager m = new();
+
+    /// <summary>
+    /// 鎵弿搴撲綅鏉$爜鐨勬帶鍒跺櫒鏂规硶
+    /// </summary>
+    /// <param name="query">鍖呭惈搴撲綅浠g爜鐨勬煡璇㈠璞�</param>
+    /// <returns>鎵弿缁撴灉淇℃伅</returns>
+    /// <remarks>
+    /// 璇锋眰绀轰緥:
+    /// POST /api/Inventory/ScanDepotNo
+    /// {
+    ///     "DepotCode": "搴撲綅浠g爜"
+    /// }
+    /// </remarks>
+    [HttpPost("ScanDepotNo")]
+    public ResponseResult ScanDepotNo([FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.ScanDepotNo(query);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    /// 鎵弿鏉$爜鐨勬帶鍒跺櫒鏂规硶
+    /// </summary>
+    /// <param name="query">鍖呭惈鏉$爜銆佸簱浣嶄唬鐮佸拰鐢ㄦ埛鍚嶇殑鏌ヨ瀵硅薄</param>
+    /// <returns>鎵弿缁撴灉淇℃伅</returns>
+    /// <remarks>
+    /// 璇锋眰绀轰緥:
+    /// POST /api/Inventory/ScanBarcode
+    /// {
+    ///     "barcode": "鏉$爜",
+    ///     "DepotCode": "搴撲綅浠g爜",
+    ///     "userName": "鐢ㄦ埛鍚�"
+    /// }
+    /// </remarks>
+    [HttpPost("ScanBarcode")]
+    public ResponseResult ScanBarcode([FromBody] WarehouseQuery query)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.ScanBarcode(query);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Controllers/Warehouse/MesDbckController.cs b/Controllers/Warehouse/MesDbckController.cs
new file mode 100644
index 0000000..50e65e9
--- /dev/null
+++ b/Controllers/Warehouse/MesDbckController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.Warehouse;
+using NewPdaSqlServer.util;
+
+namespace NewPdaSqlServer.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesDbckController : ControllerBase
+{
+    private readonly MesDbckManager 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] MesDbck 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] MesDbck 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] MesDbck 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/WarehouseQuery.cs b/Dto/service/WarehouseQuery.cs
index 2245af7..278dccc 100644
--- a/Dto/service/WarehouseQuery.cs
+++ b/Dto/service/WarehouseQuery.cs
@@ -29,4 +29,5 @@
     public decimal? Fum { get; set; }
 
     public string? itemNo { get; set; }
+    public string? message { get; set; }
 }
\ No newline at end of file
diff --git a/entity/MesDbck.cs b/entity/MesDbck.cs
new file mode 100644
index 0000000..0a91de7
--- /dev/null
+++ b/entity/MesDbck.cs
@@ -0,0 +1,201 @@
+锘縰sing SqlSugar;
+
+namespace NewPdaSqlServer.entity;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_DBCK")]
+public class MesDbck
+{
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+    public Guid Id { get; set; }
+
+    /// <summary>
+    ///     鍗曟嵁绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnName = "fbilltypeid")]
+    public string? Fbilltypeid { get; set; }
+
+    /// <summary>
+    ///     璋冩嫧鏂瑰悜
+    /// </summary>
+    [SugarColumn(ColumnName = "ftransferdirect")]
+    public string? Ftransferdirect { get; set; }
+
+    /// <summary>
+    ///     璋冩嫧绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnName = "ftransferbiztype")]
+    public string? Ftransferbiztype { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭搴撳瓨缁勭粐
+    /// </summary>
+    [SugarColumn(ColumnName = "fstockoutorgid")]
+    public string? Fstockoutorgid { get; set; }
+
+    /// <summary>
+    ///     璋冨叆搴撳瓨缁勭粐
+    /// </summary>
+    [SugarColumn(ColumnName = "fstockorgid")]
+    public string? Fstockorgid { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭璐т富绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnName = "fownertypeoutidhead")]
+    public string? Fownertypeoutidhead { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭璐т富
+    /// </summary>
+    [SugarColumn(ColumnName = "fowneroutidhead")]
+    public string? Fowneroutidhead { get; set; }
+
+    /// <summary>
+    ///     璋冨叆璐т富绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnName = "fownertypeidhead")]
+    public string? Fownertypeidhead { get; set; }
+
+    /// <summary>
+    ///     璋冨叆璐т富
+    /// </summary>
+    [SugarColumn(ColumnName = "fowneridhead")]
+    public string? Fowneridhead { get; set; }
+
+    /// <summary>
+    ///     閿�鍞粍缁�
+    /// </summary>
+    [SugarColumn(ColumnName = "fsaleorgid")]
+    public string? Fsaleorgid { get; set; }
+
+    /// <summary>
+    ///     鍒涘缓浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "create_by")]
+    public string? CreateBy { get; set; }
+
+    /// <summary>
+    ///     鍒涘缓鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnName = "cteate_data")]
+    public DateTime? CteateData { 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 = "sh_by")]
+    public string? ShBy { get; set; }
+
+    /// <summary>
+    ///     瀹℃牳鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnName = "sh_date")]
+    public DateTime? ShDate { get; set; }
+
+    /// <summary>
+    ///     瀹℃牳鐘舵��
+    ///     榛樿鍊�: ((0))
+    /// </summary>
+    [SugarColumn(ColumnName = "sh_state")]
+    public bool? ShState { get; set; }
+
+    /// <summary>
+    ///     璋冩嫧绫诲瀷缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "ftransferbiztype_no")]
+    public string? FtransferbiztypeNo { get; set; }
+
+    /// <summary>
+    ///     璋冩嫧鏂瑰悜缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "ftransferdirect_no")]
+    public string? FtransferdirectNo { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭浠撳簱
+    /// </summary>
+    [SugarColumn(ColumnName = "inv_fcode")]
+    public string? InvFcode { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭浠撳簱鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "inv_fname")]
+    public string? InvFname { get; set; }
+
+    /// <summary>
+    ///     璋冨叆浠撳簱
+    /// </summary>
+    [SugarColumn(ColumnName = "from_fcode")]
+    public string? FromFcode { get; set; }
+
+    /// <summary>
+    ///     璋冨叆浠撳簱鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "from_fname")]
+    public string? FromFname { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭搴撳瓨缁勭粐ID
+    /// </summary>
+    [SugarColumn(ColumnName = "fstockoutorgid_no")]
+    public int? FstockoutorgidNo { get; set; }
+
+    /// <summary>
+    ///     璋冨叆搴撳瓨缁勭粐ID
+    /// </summary>
+    [SugarColumn(ColumnName = "fstockorgid_no")]
+    public int? FstockorgidNo { get; set; }
+
+    /// <summary>
+    ///     璋冩嫧鐢宠鍗�
+    /// </summary>
+    [SugarColumn(ColumnName = "billno")]
+    public string? Billno { get; set; }
+
+    /// <summary>
+    ///     鍗曟嵁绫诲瀷缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "fbilltypeid_no")]
+    public string? FbilltypeidNo { get; set; }
+
+    /// <summary>
+    ///     鍑哄簱浠撳簱
+    /// </summary>
+    [SugarColumn(ColumnName = "ck_depot")]
+    public int? CkDepot { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱浠撳簱
+    /// </summary>
+    [SugarColumn(ColumnName = "rk_depot")]
+    public int? RkDepot { get; set; }
+
+    /// <summary>
+    ///     瀹岀粨鏍囪瘑
+    ///     榛樿鍊�: ((0))
+    /// </summary>
+    [SugarColumn(ColumnName = "is_wc")]
+    public bool? IsWc { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "remark")]
+    public string? Remark { get; set; }
+}
\ No newline at end of file
diff --git a/entity/MesDbckEtail.cs b/entity/MesDbckEtail.cs
new file mode 100644
index 0000000..915c144
--- /dev/null
+++ b/entity/MesDbckEtail.cs
@@ -0,0 +1,94 @@
+锘縰sing SqlSugar;
+
+namespace NewPdaSqlServer.entity;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_DBCK_ETAIL")]
+public class MesDbckEtail
+{
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+    public Guid Id { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "pid")]
+    public Guid? Pid { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "item_id")]
+    public int? ItemId { get; set; }
+
+    /// <summary>
+    ///     鐢宠鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "sh_num")]
+    public decimal? ShNum { get; set; }
+
+    /// <summary>
+    ///     宸叉壂鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "ys_num")]
+    public decimal? YsNum { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "item_unit")]
+    public string? ItemUnit { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "item_name")]
+    public string? ItemName { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "item_no")]
+    public string? ItemNo { get; set; }
+
+    /// <summary>
+    ///     瑙勬牸鍨嬪彿
+    /// </summary>
+    [SugarColumn(ColumnName = "item_mpdel")]
+    public string? ItemMpdel { get; set; }
+
+    /// <summary>
+    ///     褰撳墠搴撳瓨鏁�
+    /// </summary>
+    [SugarColumn(ColumnName = "kc")]
+    public decimal? Kc { get; set; }
+
+    /// <summary>
+    /// </summary>
+    [SugarColumn(ColumnName = "remark")]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    ///     鍗曚綅
+    /// </summary>
+    [SugarColumn(ColumnName = "unit_Id")]
+    public int? UnitId { get; set; }
+
+    /// <summary>
+    ///     椤哄簭
+    /// </summary>
+    [SugarColumn(ColumnName = "forder")]
+    public int? Forder { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "DC_NUM")]
+    public decimal? DcNum { get; set; }
+
+    /// <summary>
+    ///     璋冨叆鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "DR_NUM")]
+    public decimal? DrNum { get; set; }
+}
\ No newline at end of file
diff --git a/entity/MesInvItemIns.cs b/entity/MesInvItemIns.cs
index cf3b109..b1a8dc6 100644
--- a/entity/MesInvItemIns.cs
+++ b/entity/MesInvItemIns.cs
@@ -208,7 +208,7 @@
     ///     榛樿鍊�: ((0))
     /// </summary>
     [SugarColumn(ColumnName = "URGENT_FLAG")]
-    public byte? UrgentFlag { get; set; }
+    public string? UrgentFlag { get; set; }
 
     /// <summary>
     /// </summary>
diff --git a/service/Warehouse/InventoryManager.cs b/service/Warehouse/InventoryManager.cs
new file mode 100644
index 0000000..4107f50
--- /dev/null
+++ b/service/Warehouse/InventoryManager.cs
@@ -0,0 +1,259 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.util;
+using SqlSugar;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+// 鏈熷垵鏉$爜鍏ュ簱
+public class InventoryManager : RepositoryNoEntity
+{
+    // 杩欎釜鏂规硶鐢ㄤ簬鎵弿搴撲綅鏉$爜
+    public string ScanDepotNo(WarehouseQuery query)
+    {
+        var p_section_code = query.DepotCode;
+
+        // 妫�鏌ュ簱浣嶄唬鐮佹槸鍚︿负绌�
+        if (string.IsNullOrEmpty(p_section_code))
+        {
+            throw new Exception("002[璇锋壂搴撲綅鏉$爜锛�");
+        }
+
+        // 鏌ヨ搴撳尯搴撲綅淇℃伅
+        var depotSection = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
+                new JoinQueryInfos(
+                    JoinType.Inner, a.DepotGuid == b.Guid
+                ))
+            .Where((a, b) => a.DepotSectionCode == p_section_code)
+            .Select((a, b) => new
+                { a.DepotSectionName, b.DepotCode, b.DepotName })
+            .Single();
+
+        // 濡傛灉搴撲綅浠g爜涓嶅瓨鍦紝鍒欒繑鍥為敊璇俊鎭�
+        if (depotSection == null)
+        {
+            throw new Exception("搴撲綅缂栫爜 " + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
+        }
+
+        // 杩斿洖鎴愬姛淇℃伅
+        return "浠撳簱锛�" + depotSection.DepotName + "  搴撲綅锛�" +
+               depotSection.DepotSectionName;
+    }
+
+    // 杩欎釜鏂规硶鐢ㄤ簬鎵弿鏉$爜
+    public WarehouseQuery ScanBarcode(WarehouseQuery query)
+    {
+        var p_item_barcode = query.barcode;
+        var p_section_code = query.DepotCode;
+        var c_user = query.userName;
+        var p_bill_type_id = 100;
+        var p_transction_no = 601;
+
+        // 妫�鏌ュ簱浣嶄唬鐮佹槸鍚︿负绌�
+        if (string.IsNullOrEmpty(p_section_code))
+        {
+            throw new Exception("002[璇锋壂搴撲綅鏉$爜锛�");
+        }
+
+        // 鏌ヨ搴撳尯搴撲綅淇℃伅
+        var depotSection = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
+                new JoinQueryInfos(
+                    JoinType.Inner, a.DepotGuid == b.Guid
+                ))
+            .Where((a, b) => a.DepotSectionCode == p_section_code)
+            .Select((a, b) => new
+                { a.DepotSectionName, b.DepotCode, b.DepotName, b.DepotId })
+            .Single();
+
+        // 濡傛灉搴撲綅浠g爜涓嶅瓨鍦紝鍒欒繑鍥為敊璇俊鎭�
+        if (depotSection == null)
+        {
+            throw new Exception("搴撲綅缂栫爜 " + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
+        }
+
+        // 妫�鏌ユ槸鍚﹀凡缁忔敹璐�
+        var c_num = Db.Queryable<MesInvItemIns, MesInvItemInCDetails>((a, b) =>
+                new JoinQueryInfos(
+                    JoinType.Inner, a.Guid == b.ItemInId
+                ))
+            .Where((a, b) => b.ItemBarcode == p_item_barcode)
+            .Count();
+
+        if (c_num > 0)
+        {
+            throw new Exception("002[鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+        }
+
+        // 鏌ヨ鏉$爜淇℃伅
+        c_num = Db.Queryable<MesInvItemStocks>()
+            .Where(t => t.ItemBarcode == p_item_barcode)
+            .Count();
+
+        if (c_num > 0)
+        {
+            throw new Exception("002[鏉$爜宸插湪搴撳瓨涓紝璇锋牳瀵癸紒");
+        }
+
+        // 鏌ヨ鏉$爜璇︾粏淇℃伅
+        var c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>()
+            .Where(t => t.ItemBarcode == p_item_barcode)
+            .Single();
+
+        if (c_mes_inv_item_barcodes == null)
+        {
+            throw new Exception("002[鏉$爜涓嶅瓨鍦紝璇锋牳瀵癸紒");
+        }
+
+        if (c_mes_inv_item_barcodes.ComeFlg != 0)
+        {
+            throw new Exception("002[鏉$爜涓嶆槸鏈熷垵鏉$爜锛屾棤娉曠敤鏈熷垵鍏ュ簱锛�");
+        }
+
+        UseTransaction(db =>
+        {
+            // 鑷姩鐢熸垚鍏ュ簱鍗�
+            var c_id = db.Queryable<MesInvItemIns>()
+                .Where(d =>
+                    d.Sapstatus == 0 &&
+                    d.InsDate.Value.ToString("yyyy-MM-dd") ==
+                    DateTime.Now.ToString("yyyy-MM-dd") &&
+                    d.Status == 0 &&
+                    d.TransctionNo == p_transction_no.ToString() &&
+                    d.CbillNo == c_mes_inv_item_barcodes.BillNo &&
+                    (d.SuppId ?? "0") ==
+                    (c_mes_inv_item_barcodes.SuppId ?? "0") &&
+                    d.DepotsCode == depotSection.DepotCode)
+                .Single();
+
+            if (c_id == null)
+            {
+                var billNo = BillNo.GetBillNo("IN(鍏ュ簱鍗�)");
+                // 鐢熸垚鍏ュ簱鍗曞彿
+                var newMesInvItemIns = new MesInvItemIns
+                {
+                    Guid = Guid.NewGuid(),
+                    TransctionNo = p_transction_no.ToString(),
+                    DepotsCode = depotSection.DepotCode,
+                    DepotsId = depotSection.DepotId,
+                    BillTypeId = p_bill_type_id,
+                    CreateBy = c_user,
+                    CreateDate = DateTime.Now,
+                    LastupdateBy = c_user,
+                    LastupdateDate = DateTime.Now,
+                    BillNo = billNo,
+                    SuppId = c_mes_inv_item_barcodes.SuppId,
+                    SuppNo = c_mes_inv_item_barcodes.SuppNo,
+                    UrgentFlag = c_mes_inv_item_barcodes.UrgentFlag == null ? null : c_mes_inv_item_barcodes.UrgentFlag.Value ? "1" : "0",
+                    CbillNo = c_mes_inv_item_barcodes.BillNo,
+                    Fstatus = 0
+                };
+                db.Insertable(newMesInvItemIns)
+                    .IgnoreColumns(true)
+                    .ExecuteCommand();
+                c_id = newMesInvItemIns;
+            }
+
+            // 鎻掑叆鍏ュ簱鍗曟槑缁�
+            db.Insertable(new MesInvItemInCDetails
+            {
+                Guid = Guid.NewGuid(),
+                ItemInId = c_id.Guid,
+                BillNo = c_id.BillNo,
+                ItemBarcode = p_item_barcode,
+                Quantity = c_mes_inv_item_barcodes.Quantity,
+                BarcodeFlag = true,
+                EpFlag = true,
+                WorkType = 1,
+                ItemNo = c_mes_inv_item_barcodes.ItemNo,
+                LotNo = c_mes_inv_item_barcodes.LotNo,
+                SuppNo = c_mes_inv_item_barcodes.SuppNo,
+                DepotId = depotSection.DepotId,
+                DepotCode = depotSection.DepotCode,
+                DepotSectionCode = p_section_code,
+                ItemSname = c_mes_inv_item_barcodes.ItemSname,
+                Unit = c_mes_inv_item_barcodes.Unit,
+                CreateBy = c_user,
+                CreateDate = DateTime.Now,
+                LastupdateBy = c_user,
+                LastupdateDate = DateTime.Now,
+                Remark = c_mes_inv_item_barcodes.Memo,
+                Ebeln = c_mes_inv_item_barcodes.Mblnr,
+                EbelnLineNo = c_mes_inv_item_barcodes.Zeile,
+                WorkNo = c_mes_inv_item_barcodes.WorkNo,
+                WorkLine = c_mes_inv_item_barcodes.WorkLine,
+                CbillNo = c_mes_inv_item_barcodes.BillNo,
+                UrgentFlag = c_mes_inv_item_barcodes.UrgentFlag,
+                BoardStyle = c_mes_inv_item_barcodes.BoardStyle,
+                TaskNo = c_mes_inv_item_barcodes.TaskNo,
+                ItemId = c_mes_inv_item_barcodes.ItemId
+            }).IgnoreColumns(true).ExecuteCommand();
+
+
+            db.Insertable(new MesInvBusiness2
+            {
+                Guid = Guid.NewGuid(),
+                Status = 1,
+                BillTypeId = p_bill_type_id,
+                TransactionCode = p_transction_no.ToString(),
+                BusinessType = 1,
+                ItemBarcode = p_item_barcode,
+                ItemNo = c_mes_inv_item_barcodes.ItemNo,
+                LotNo = c_mes_inv_item_barcodes.LotNo,
+                EpFlag = true,
+                Quantity = c_mes_inv_item_barcodes.Quantity,
+                InvDepotId = depotSection.DepotId,
+                ToInvDepotsCode = depotSection.DepotCode,
+                ToInvDepotSectionsCode = p_section_code,
+                CreateBy = c_user,
+                CreateDate = DateTime.Now,
+                LastupdateBy = c_user,
+                LastupdateDate = DateTime.Now,
+                TaskNo = c_mes_inv_item_barcodes.TaskNo,
+                BillNo = c_id.BillNo,
+                WorkNo = c_mes_inv_item_barcodes.WorkNo,
+                WorkLine = c_mes_inv_item_barcodes.WorkLine,
+                SuppNo = c_mes_inv_item_barcodes.SuppNo,
+                ItemId = c_mes_inv_item_barcodes.ItemId
+            }).IgnoreColumns(true).ExecuteCommand();
+
+            // 鎻掑叆搴撳瓨淇℃伅
+            db.Insertable(new MesInvItemStocks
+            {
+                Guid = Guid.NewGuid(),
+                TaskNo = c_mes_inv_item_barcodes.TaskNo,
+                ItemBarcode = p_item_barcode,
+                ItemNo = c_mes_inv_item_barcodes.ItemNo,
+                LotNo = c_mes_inv_item_barcodes.LotNo,
+                Quantity = c_mes_inv_item_barcodes.Quantity,
+                EpFlag = c_mes_inv_item_barcodes.EpFlag == null ? null : (byte)(c_mes_inv_item_barcodes.EpFlag.Value ? 1 : 0),
+                DepotsCode = depotSection.DepotCode,
+                DepotsId = depotSection.DepotId,
+                DepotSectionsCode = p_section_code,
+                CheckDate = c_mes_inv_item_barcodes.CreateDate,
+                IndepDate = c_mes_inv_item_barcodes.CreateDate,
+                BoardStyle = c_mes_inv_item_barcodes.BoardStyle,
+                WorkNo = c_mes_inv_item_barcodes.WorkNo,
+                WorkLine = c_mes_inv_item_barcodes.WorkLine,
+                // ItemUnit = c_mes_inv_item_barcodes.Unit,
+                SuppNo = c_mes_inv_item_barcodes.SuppNo,
+                ItemId = c_mes_inv_item_barcodes.ItemId
+                // Fsubsidiary = c_organize
+            }).IgnoreColumns(true).ExecuteCommand();
+
+            return 1;
+        });
+
+        var mesItems = Db.Queryable<MesItems>()
+            .Where(s=>s.Id == c_mes_inv_item_barcodes.ItemId)
+            .First();
+
+        query.itemNo = mesItems.ItemNo;
+        query.Num = c_mes_inv_item_barcodes.Quantity;
+        query.message = "鐗╂枡 " +
+                        c_mes_inv_item_barcodes.ItemNo + " 鏈鏀惰揣鎬绘暟锛� " +
+                        c_mes_inv_item_barcodes.Quantity;
+        // 杩斿洖鎴愬姛淇℃伅
+        return query;
+    }
+}
\ No newline at end of file
diff --git a/service/Warehouse/MesCgthSqManager.cs b/service/Warehouse/MesCgthSqManager.cs
index 97ad55d..3c77c8c 100644
--- a/service/Warehouse/MesCgthSqManager.cs
+++ b/service/Warehouse/MesCgthSqManager.cs
@@ -73,7 +73,7 @@
                     ItemNo = s.ItemNo, // 浠嶮esItems琛ㄤ腑鑾峰彇ItemNo
                     ItemName = s.ItemName, // 浠嶮esItems琛ㄤ腑鑾峰彇ItemName
                     ItemModel = s.ItemModel, // 浠嶮esItems琛ㄤ腑鑾峰彇ItemModel
-                    ItemId = c.ItemId,
+                    ItemId = c.ItemId
                 }).ToList(); // 灏嗘煡璇㈢粨鏋滆浆鎹负鍒楄〃 
 
         return mesInvItemOutItemsList; // 杩斿洖澶勭悊鍚庣殑鍒楄〃
diff --git a/service/Warehouse/MesDbckManager.cs b/service/Warehouse/MesDbckManager.cs
new file mode 100644
index 0000000..5dd2376
--- /dev/null
+++ b/service/Warehouse/MesDbckManager.cs
@@ -0,0 +1,7 @@
+锘縰sing NewPdaSqlServer.DB;
+using NewPdaSqlServer.entity;
+
+namespace NewPdaSqlServer.service.Warehouse;
+
+public class MesDbckManager : Repository<MesDbck>
+{}
\ No newline at end of file
diff --git a/service/Warehouse/MesInvItemInCDetailsManager.cs b/service/Warehouse/MesInvItemInCDetailsManager.cs
index 1e9d456..97dc403 100644
--- a/service/Warehouse/MesInvItemInCDetailsManager.cs
+++ b/service/Warehouse/MesInvItemInCDetailsManager.cs
@@ -171,8 +171,8 @@
                     LastupdateBy = user,
                     LastupdateDate = DateTime.Now,
                     UrgentFlag = itemBarcodeDetails.UrgentFlag.Value
-                        ? (byte)1
-                        : (byte)0,
+                        ? "1"
+                        : "0",
                     CbillNo = itemBarcodeDetails.BillNo,
                     Fstatus = 0,
                     Status = 0,
diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs
index b5d74c2..801cc32 100644
--- a/service/Warehouse/MesItemQtrkManager.cs
+++ b/service/Warehouse/MesItemQtrkManager.cs
@@ -200,7 +200,7 @@
                     CreateDate = DateTime.Now,
                     LastupdateBy = c_user,
                     LastupdateDate = DateTime.Now,
-                    UrgentFlag = barcode.UrgentFlag.Value ? (byte)1 : (byte)0,
+                    UrgentFlag = barcode.UrgentFlag.Value ? "1" : "0",
                     CbillNo = p_bill_no,
                     Fstatus = 0,
                     Status = 0,

--
Gitblit v1.9.3