From ccc519c681dacd75cd4079a1f3740c6f891430bd Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期三, 26 二月 2025 08:33:31 +0800
Subject: [PATCH] 1.MES->ERP调拨出库

---
 /dev/null                                  |   94 -------
 service/Warehouse/TransferOutManager.cs    |   94 +++++--
 entity/MesDbckDetail.cs                    |  152 ++++++++++++
 entity/MesDbck.cs                          |  209 +++++++---------
 service/Warehouse/MesDbckManager.cs        |    2 
 Controllers/Warehouse/MesDbckController.cs |  138 +++++-----
 entity/MesDbModel.cs                       |   17 +
 7 files changed, 396 insertions(+), 310 deletions(-)

diff --git a/Controllers/Warehouse/MesDbckController.cs b/Controllers/Warehouse/MesDbckController.cs
index 50e65e9..8556a00 100644
--- a/Controllers/Warehouse/MesDbckController.cs
+++ b/Controllers/Warehouse/MesDbckController.cs
@@ -88,75 +88,75 @@
         }
     }
 
-    /// <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("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("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);
-        }
-    }
+    ///// <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/entity/MesDbModel.cs b/entity/MesDbModel.cs
new file mode 100644
index 0000000..8f510ae
--- /dev/null
+++ b/entity/MesDbModel.cs
@@ -0,0 +1,17 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+//璋冩嫧鍑哄叆搴撳崟閫氱敤绫�
+public class TransferOutDetailModel
+{
+    public string ItemNo { get; set; } // 鐗╁搧缂栧彿
+    public string ItemName { get; set; } // 鐗╁搧鍚嶇О
+    public string ItemModel { get; set; } // 鐗╁搧鍨嬪彿
+    public decimal? FQty { get; set; } // 鐢宠鏁伴噺
+    public decimal? SQty { get; set; } // 璋冨嚭宸叉壂鏁伴噺
+    public decimal? RQty { get; set; } // 璋冨叆宸叉壂鏁伴噺
+    public string Pid { get; set; } // 鍏宠仈瀛楁
+    public string FMaterialId { get; set; } // 鏉愭枡 ID
+    public string Id { get; set; } // 涓婚敭 ID
+}
\ No newline at end of file
diff --git a/entity/MesDbck.cs b/entity/MesDbck.cs
index 0a91de7..e8ada26 100644
--- a/entity/MesDbck.cs
+++ b/entity/MesDbck.cs
@@ -1,201 +1,172 @@
 锘縰sing SqlSugar;
 
-namespace NewPdaSqlServer.entity;
+namespace MES.Service.Modes;
 
 /// <summary>
+///     璋冩嫧鍑哄簱鐢宠
 /// </summary>
 [SugarTable("MES_DBCK")]
 public class MesDbck
 {
     /// <summary>
+    ///     涓婚敭
     /// </summary>
     [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
-    public Guid Id { get; set; }
+    public Guid? Id { get; set; }
+
+    /// <summary>
+    ///     鍗曟嵁缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnName = "FBillNo")]
+    public string? FBillNo { get; set; }
+
+    /// <summary>
+    ///     鍗曟嵁鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnName = "FDocumentStatus")]
+    public string? FDocumentStatus { get; set; }
+
+    /// <summary>
+    ///     鐢宠鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "FDate")]
+    public DateTime? FDate { get; set; }
+
+    /// <summary>
+    ///     鐢宠缁勭粐
+    /// </summary>
+    [SugarColumn(ColumnName = "FAPPORGID")]
+    public string? FAppOrgId { get; set; }
 
     /// <summary>
     ///     鍗曟嵁绫诲瀷
     /// </summary>
-    [SugarColumn(ColumnName = "fbilltypeid")]
-    public string? Fbilltypeid { get; set; }
+    [SugarColumn(ColumnName = "FBillTypeID")]
+    public string? FBillTypeId { get; set; }
 
     /// <summary>
-    ///     璋冩嫧鏂瑰悜
+    ///     涓氬姟绫诲瀷
     /// </summary>
-    [SugarColumn(ColumnName = "ftransferdirect")]
-    public string? Ftransferdirect { get; set; }
+    [SugarColumn(ColumnName = "FBusinessType")]
+    public string? FBusinessType { get; set; }
 
     /// <summary>
     ///     璋冩嫧绫诲瀷
     /// </summary>
-    [SugarColumn(ColumnName = "ftransferbiztype")]
-    public string? Ftransferbiztype { get; set; }
+    [SugarColumn(ColumnName = "FTRANSTYPE")]
+    public string? FTransType { get; set; }
 
     /// <summary>
-    ///     璋冨嚭搴撳瓨缁勭粐
+    ///     璋冩嫧鏂瑰悜
     /// </summary>
-    [SugarColumn(ColumnName = "fstockoutorgid")]
-    public string? Fstockoutorgid { get; set; }
-
-    /// <summary>
-    ///     璋冨叆搴撳瓨缁勭粐
-    /// </summary>
-    [SugarColumn(ColumnName = "fstockorgid")]
-    public string? Fstockorgid { get; set; }
+    [SugarColumn(ColumnName = "FTransferDirect")]
+    public string? FTransferDirect { get; set; }
 
     /// <summary>
     ///     璋冨嚭璐т富绫诲瀷
     /// </summary>
-    [SugarColumn(ColumnName = "fownertypeoutidhead")]
-    public string? Fownertypeoutidhead { get; set; }
-
-    /// <summary>
-    ///     璋冨嚭璐т富
-    /// </summary>
-    [SugarColumn(ColumnName = "fowneroutidhead")]
-    public string? Fowneroutidhead { get; set; }
+    [SugarColumn(ColumnName = "FOwnerTypeIdHead")]
+    public string? FOwnerTypeIdHead { get; set; }
 
     /// <summary>
     ///     璋冨叆璐т富绫诲瀷
     /// </summary>
-    [SugarColumn(ColumnName = "fownertypeidhead")]
-    public string? Fownertypeidhead { get; set; }
+    [SugarColumn(ColumnName = "FOwnerTypeInIdHead")]
+    public string? FOwnerTypeInIdHead { get; set; }
 
     /// <summary>
-    ///     璋冨叆璐т富
+    ///     澶囨敞
     /// </summary>
-    [SugarColumn(ColumnName = "fowneridhead")]
-    public string? Fowneridhead { get; set; }
-
-    /// <summary>
-    ///     閿�鍞粍缁�
-    /// </summary>
-    [SugarColumn(ColumnName = "fsaleorgid")]
-    public string? Fsaleorgid { get; set; }
+    [SugarColumn(ColumnName = "FRemarks")]
+    public string? FRemarks { get; set; }
 
     /// <summary>
     ///     鍒涘缓浜�
     /// </summary>
-    [SugarColumn(ColumnName = "create_by")]
-    public string? CreateBy { get; set; }
+    [SugarColumn(ColumnName = "FCreatorId")]
+    public string? FCreatorId { get; set; }
 
     /// <summary>
-    ///     鍒涘缓鏃堕棿
+    ///     鍒涘缓鏃ユ湡
     /// </summary>
-    [SugarColumn(ColumnName = "cteate_data")]
-    public DateTime? CteateData { get; set; }
+    [SugarColumn(ColumnName = "FCreateDate")]
+    public DateTime? FCreateDate { get; set; }
 
     /// <summary>
-    ///     鏈�鍚庤窡鏂颁汉
+    ///     鏈�鍚庝慨鏀逛汉
     /// </summary>
-    [SugarColumn(ColumnName = "lastupdate_by")]
-    public string? LastupdateBy { get; set; }
+    [SugarColumn(ColumnName = "FModifierId")]
+    public string? FModifierId { get; set; }
 
     /// <summary>
-    ///     鏈�鍚庤窡鏂版椂闂�
+    ///     鏈�鍚庝慨鏀规棩鏈�
     /// </summary>
-    [SugarColumn(ColumnName = "lastupdate_date")]
-    public DateTime? LastupdateDate { get; set; }
+    [SugarColumn(ColumnName = "FModifyDate")]
+    public DateTime? FModifyDate { get; set; }
+
+    /// <summary>
+    ///     瀹℃牳鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "FAPPROVEDATE")]
+    public DateTime? FApproveDate { get; set; }
 
     /// <summary>
     ///     瀹℃牳浜�
     /// </summary>
-    [SugarColumn(ColumnName = "sh_by")]
-    public string? ShBy { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "sh_date")]
-    public DateTime? ShDate { get; set; }
+    [SugarColumn(ColumnName = "FAPPROVEBY")]
+    public string? FApproveBy { get; set; }
 
     /// <summary>
     ///     瀹℃牳鐘舵��
-    ///     榛樿鍊�: ((0))
     /// </summary>
-    [SugarColumn(ColumnName = "sh_state")]
-    public bool? ShState { get; set; }
+    [SugarColumn(ColumnName = "FAPPROVEStatus")]
+    public int? FApproveStatus { get; set; }
 
     /// <summary>
-    ///     璋冩嫧绫诲瀷缂栫爜
+    ///     鍏抽棴鐘舵��
     /// </summary>
-    [SugarColumn(ColumnName = "ftransferbiztype_no")]
-    public string? FtransferbiztypeNo { get; set; }
+    [SugarColumn(ColumnName = "FCloseStatus")]
+    public string? FCloseStatus { get; set; }
 
     /// <summary>
-    ///     璋冩嫧鏂瑰悜缂栫爜
+    ///     鍏抽棴浜�
     /// </summary>
-    [SugarColumn(ColumnName = "ftransferdirect_no")]
-    public string? FtransferdirectNo { get; set; }
+    [SugarColumn(ColumnName = "FCloserId")]
+    public string? FCloserId { get; set; }
 
     /// <summary>
-    ///     璋冨嚭浠撳簱
+    ///     鍏抽棴鏃ユ湡
     /// </summary>
-    [SugarColumn(ColumnName = "inv_fcode")]
-    public string? InvFcode { get; set; }
+    [SugarColumn(ColumnName = "FCloseDate")]
+    public DateTime? FCloseDate { get; set; }
 
     /// <summary>
-    ///     璋冨嚭浠撳簱鍚嶇О
+    ///     BOM鐗堟湰
     /// </summary>
-    [SugarColumn(ColumnName = "inv_fname")]
-    public string? InvFname { get; set; }
+    [SugarColumn(ColumnName = "F_UNW_Base_BOMBB")]
+    public string? FUnwBaseBomBb { get; set; }
 
     /// <summary>
-    ///     璋冨叆浠撳簱
+    ///     鐖堕」鐗╂枡缂栧彿
     /// </summary>
-    [SugarColumn(ColumnName = "from_fcode")]
-    public string? FromFcode { get; set; }
+    [SugarColumn(ColumnName = "F_UNW_Base_FXWLBM")]
+    public string? FUnwBaseFxwlBm { get; set; }
 
     /// <summary>
-    ///     璋冨叆浠撳簱鍚嶇О
+    ///     鏄惁瀹岀粨
     /// </summary>
-    [SugarColumn(ColumnName = "from_fname")]
-    public string? FromFname { get; set; }
+    [SugarColumn(ColumnName = "FINISHSTATUS")]
+    public int? FinishStatus { get; set; }
 
     /// <summary>
-    ///     璋冨嚭搴撳瓨缁勭粐ID
+    ///     鍋氬崟婧愬ご锛圗RP/MES锛�
     /// </summary>
-    [SugarColumn(ColumnName = "fstockoutorgid_no")]
-    public int? FstockoutorgidNo { get; set; }
+    [SugarColumn(ColumnName = "Source")]
+    public string? Source { get; set; }
 
     /// <summary>
-    ///     璋冨叆搴撳瓨缁勭粐ID
+    ///     ERP涓婚敭
     /// </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; }
+    [SugarColumn(ColumnName = "ERPID")]
+    public decimal? ErpID { get; set; }
 }
\ No newline at end of file
diff --git a/entity/MesDbckDetail.cs b/entity/MesDbckDetail.cs
new file mode 100644
index 0000000..61aa8c0
--- /dev/null
+++ b/entity/MesDbckDetail.cs
@@ -0,0 +1,152 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     璋冩嫧鍑哄簱鐢宠璇︽儏
+/// </summary>
+[SugarTable("MES_DBCK_DETAIL")]
+public class MesDbckDetail
+{
+    /// <summary>
+    ///     涓婚敭
+    /// </summary>
+    [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+    public Guid? Id { get; set; }
+
+    /// <summary>
+    ///     鐖剁骇ID
+    /// </summary>
+    [SugarColumn(ColumnName = "pid")]
+    public Guid? Pid { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FMATERIALID")]
+    public string? FMaterialId { get; set; }
+
+    /// <summary>
+    ///     鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "FQty")]
+    public decimal? FQty { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭宸叉壂鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "SQty")]
+    public decimal? SQty { get; set; }
+
+    /// <summary>
+    ///     璋冨叆宸叉壂鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "RQty")]
+    public decimal? RQty { get; set; }
+
+    /// <summary>
+    ///     鍗曚綅ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FUNITID")]
+    public string? FUnitId { get; set; }
+
+    /// <summary>
+    ///     涓氬姟鍏抽棴鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnName = "FBusinessClose")]
+    public string? FBusinessClose { get; set; }
+
+    /// <summary>
+    ///     鎵规鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "FLot")]
+    public string? FLot { get; set; }
+
+    /// <summary>
+    ///     鐢熶骇鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "FProduceDate")]
+    public DateTime? FProduceDate { get; set; }
+
+    /// <summary>
+    ///     鍑哄簱缁勭粐ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FStockOrgId")]
+    public string? FStockOrgId { get; set; }
+
+    /// <summary>
+    ///     鍑哄簱浠撳簱ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FStockId")]
+    public string? FStockId { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱缁勭粐ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FStockOrgInId")]
+    public string? FStockOrgInId { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱浠撳簱ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FStockInId")]
+    public string? FStockInId { get; set; }
+
+    /// <summary>
+    ///     MTO缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnName = "FMtoNo")]
+    public string? FMtoNo { get; set; }
+
+    /// <summary>
+    ///     璋冨嚭璐т富ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FOwnerId")]
+    public string? FOwnerId { get; set; }
+
+    /// <summary>
+    ///     璋冨叆璐т富ID
+    /// </summary>
+    [SugarColumn(ColumnName = "FOwnerInId")]
+    public string? FOwnerInId { get; set; }
+
+    /// <summary>
+    ///     鍑哄簱鐘舵�両D
+    /// </summary>
+    [SugarColumn(ColumnName = "FStockStatusId")]
+    public string? FStockStatusId { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱鐘舵�両D
+    /// </summary>
+    [SugarColumn(ColumnName = "FStockStatusInId")]
+    public string? FStockStatusInId { get; set; }
+
+    /// <summary>
+    ///     澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnName = "FNote")]
+    public string? FNote { get; set; }
+
+    /// <summary>
+    ///     搴忓彿
+    /// </summary>
+    [SugarColumn(ColumnName = "FSEQ")]
+    public int? FSeq { get; set; }
+
+    /// <summary>
+    ///     ERP涓婚敭
+    /// </summary>
+    [SugarColumn(ColumnName = "ERPID")]
+    public decimal? ErpID { get; set; }
+
+    /// <summary>
+    ///     ERP涓婚敭
+    /// </summary>
+    [SugarColumn(ColumnName = "EID")]
+    public decimal? Eid { get; set; }
+
+    //public string? ItemNo { get; set; }
+    //public string? ItemName { get; set; }
+    //public string? ItemModel { get; set; }
+}
\ No newline at end of file
diff --git a/entity/MesDbckEtail.cs b/entity/MesDbckEtail.cs
deleted file mode 100644
index 915c144..0000000
--- a/entity/MesDbckEtail.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-锘縰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/service/Warehouse/MesDbckManager.cs b/service/Warehouse/MesDbckManager.cs
index 5dd2376..d05f336 100644
--- a/service/Warehouse/MesDbckManager.cs
+++ b/service/Warehouse/MesDbckManager.cs
@@ -1,6 +1,6 @@
 锘縰sing NewPdaSqlServer.DB;
 using NewPdaSqlServer.entity;
-
+using MES.Service.Modes;
 namespace NewPdaSqlServer.service.Warehouse;
 
 public class MesDbckManager : Repository<MesDbck>
diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index 55ff835..a0d6fdc 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -1,5 +1,6 @@
 锘縰sing System.Data;
 using System.Data.SqlClient;
+using MES.Service.Modes;
 using NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
 using NewPdaSqlServer.entity;
@@ -11,7 +12,7 @@
 ///     璋冩嫧鍑哄叆搴撶鐞嗙被
 ///     璐熻矗澶勭悊璋冩嫧鍑哄簱鐩稿叧鐨勪笟鍔¢�昏緫
 /// </summary>
-public class TransferOutManager : Repository<TransferOut>
+public class TransferOutManager : Repository<MesDbck>
 {
     /// <summary>
     ///     鑾峰彇鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃
@@ -20,7 +21,7 @@
     public List<string> GetTransferOutNoList()
     {
         // 鍏堜粠鏁版嵁搴撹幏鍙朤ransfer_Out_ETAIL琛ㄧ殑鏁版嵁
-        var transferOutDetails = Db.Queryable<TransferOutDetail>().ToList();
+        var transferOutDetails = Db.Queryable<MesDbckDetail>().ToList();
 
         // 浣跨敤LINQ瀵硅幏鍙栫殑鏁版嵁杩涜鍒嗙粍鍜岀瓫閫�
         // 绛涢�夋潯浠�:鐢宠鏁伴噺(sq)涓嶇瓑浜庡凡鎵暟閲�(ys)鐨勮褰�
@@ -29,17 +30,18 @@
             .Select(g => new
             {
                 pid = g.Key,
-                sq = g.Sum(x => x.ShNum), // 鐢宠鏁伴噺鍚堣
-                ys = g.Sum(x => x.YsNum) // 宸叉壂鏁伴噺鍚堣
+                sq = g.Sum(x => x.FQty), // 鐢宠鏁伴噺鍚堣
+                ys = g.Sum(x => x.SQty), // 璋冨嚭宸叉壂鏁伴噺鍚堣
+                rs = g.Sum(x => x.RQty), // 璋冨叆宸叉壂鏁伴噺鍚堣
             })
-            .Where(x => (x.sq ?? 0) != (x.ys ?? 0))
+            .Where(x => !((x.sq ?? 0) == (x.ys ?? 0) && (x.sq ?? 0) == (x.rs ?? 0)))
             .Select(x => x.pid)
             .ToList();
 
         // 鏍规嵁pid鏌ヨ瀵瑰簲鐨勫嚭搴撳崟鍙�
-        var billNos = Db.Queryable<TransferOut>()
-            .Where(x => result.Contains(x.Guid))
-            .Select(x => x.BillNo)
+        var billNos = Db.Queryable<MesDbck>()
+            .Where(x => result.Contains(x.Id) && x.FApproveStatus == 1)
+            .Select(x => x.FBillNo)
             .ToList();
 
         return billNos;
@@ -50,7 +52,7 @@
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
     /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
-    public List<TransferOutDetail> GetTransferOutDetailListByBillNo(
+    public List<TransferOutDetailModel> GetTransferOutDetailListByBillNo(
         WarehouseQuery query)
     {
         var p_bill_no = query.billNo;
@@ -58,25 +60,63 @@
         // 鏍规嵁SQL鏌ヨ鏉′欢鑾峰彇寰呭鐞嗙殑鍑哄簱鏄庣粏
         // 鍏宠仈鏌ヨTransferOutDetail銆乀ransferOut鍜孧esItems涓夊紶琛�
         // 绛涢�夋潯浠�:鏈畬鎴愭暟閲忓ぇ浜�0涓斿崟鎹凡瀹℃牳
-        var result = Db.Queryable<TransferOutDetail, TransferOut, MesItems>(
+        var result = Db.Queryable<MesDbckDetail, MesDbck, MesItems>(
                 (b, a, s) => new JoinQueryInfos(
-                    JoinType.Left, b.Pid == a.Guid,
-                    JoinType.Left, b.ItemId == s.Id))
+                    JoinType.Left, b.Pid == a.Id,
+                    JoinType.Left, b.FMaterialId == s.Id.ToString()))
             .Where((b, a, s) =>
-                (b.ShNum ?? 0) - (b.YsNum ?? 0) > 0 // 鏈畬鎴愭暟閲忓ぇ浜�0
-                && a.BillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
-                && a.Status == 1) // 鍗曟嵁宸插鏍�
+                !((b.FQty ?? 0) == (b.SQty ?? 0) && (b.FQty ?? 0) == (b.RQty ?? 0))
+                && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
+                && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
             .OrderBy((b, a, s) => s.ItemNo)
-            .Select((b, a, s) => new TransferOutDetail
+            .Select((b, a, s) => new TransferOutDetailModel
             {
                 ItemNo = s.ItemNo,
+                ItemName = s.ItemName,
                 ItemModel = s.ItemModel,
-                ShNum = b.ShNum, // 鐢宠鏁伴噺
-                YsNum = b.YsNum, // 宸叉壂鏁伴噺
+                FQty = b.FQty, // 鐢宠鏁伴噺
+                SQty = b.SQty, // 宸叉壂鏁伴噺
+                RQty = b.RQty, // 宸叉壂鏁伴噺
                 // 淇濈暀鍏朵粬蹇呰瀛楁...
-                Pid = b.Pid,
-                ItemId = b.ItemId,
-                Guid = b.Guid
+                Pid = b.Pid.ToString(),
+                FMaterialId = b.FMaterialId,
+                Id = b.Id.ToString()
+            })
+            .ToList();
+
+        if(result.Count < 1) throw new Exception("璇ヨ皟鎷ㄥ崟涓嶅瓨鍦ㄦ垨宸叉壂瀹岋紝璇烽噸鏂版壂鎻�");
+
+        return result;
+    }
+
+    public List<TransferOutDetailModel> GetDBCKDetal(
+        WarehouseQuery query)
+    {
+        var p_bill_no = query.billNo;
+
+        // 鏍规嵁SQL鏌ヨ鏉′欢鑾峰彇寰呭鐞嗙殑鍑哄簱鏄庣粏
+        // 鍏宠仈鏌ヨTransferOutDetail銆乀ransferOut鍜孧esItems涓夊紶琛�
+        // 绛涢�夋潯浠�:鏈畬鎴愭暟閲忓ぇ浜�0涓斿崟鎹凡瀹℃牳
+        var result = Db.Queryable<MesDbckDetail, MesDbck, MesItems>(
+                (b, a, s) => new JoinQueryInfos(
+                    JoinType.Left, b.Pid == a.Id,
+                    JoinType.Left, b.FMaterialId == s.Id.ToString()))
+            .Where((b, a, s) =>
+                (b.FQty ?? 0) - (b.SQty ?? 0) > 0 // 鏈畬鎴愭暟閲忓ぇ浜�0
+                && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
+                && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
+            .OrderBy((b, a, s) => s.ItemNo)
+            .Select((b, a, s) => new TransferOutDetailModel
+            {
+                ItemNo = s.ItemNo,
+                ItemName = s.ItemName,
+                ItemModel = s.ItemModel,
+                FQty = b.FQty, // 鐢宠鏁伴噺
+                SQty = b.SQty, // 宸叉壂鏁伴噺
+                // 淇濈暀鍏朵粬蹇呰瀛楁...
+                Pid = b.Pid.ToString(),
+                FMaterialId = b.FMaterialId,
+                Id = b.Id.ToString()
             })
             .ToList();
 
@@ -88,7 +128,7 @@
     /// </summary>
     /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
     /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
-    public (WarehouseQuery form, List<TransferOutDetail> items)
+    public (WarehouseQuery form, List<TransferOutDetailModel> items)
         ScanMoveBarcode(WarehouseQuery query)
     {
         var p_bill_no = query.billNo;
@@ -98,8 +138,8 @@
         if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
 
         // 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
-        var transferOut = Db.Queryable<TransferOut>()
-            .Where(x => x.BillNo == p_bill_no && x.Status == 1)
+        var transferOut = Db.Queryable<MesDbck>()
+            .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
             .First();
         if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
 
@@ -158,7 +198,7 @@
                     query.Fum = Convert.ToDecimal(splitNum);
 
                     // 杩斿洖鏇存柊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏
-                    return (query, GetTransferOutDetailListByBillNo(query));
+                    return (query, GetDBCKDetal(query));
                 }
                 catch (Exception ex)
                 {
@@ -177,7 +217,7 @@
     /// </summary>
     /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
     /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
-    public (WarehouseQuery form, List<TransferOutDetail> items)
+    public (WarehouseQuery form, List<TransferOutDetailModel> items)
         ScanReceiveBarcode(WarehouseQuery query)
     {
         var p_bill_no = query.billNo;
@@ -248,7 +288,7 @@
                     query.Fum = Convert.ToDecimal(splitNum);
 
                     // 杩斿洖鏇存柊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏
-                    return (query, GetTransferOutDetailListByBillNo(query));
+                    return (query, GetDBCKDetal(query));
                 }
                 catch (Exception ex)
                 {

--
Gitblit v1.9.3