From 7f6c27ee8f386ec45a94277033b0b4b78f275705 Mon Sep 17 00:00:00 2001
From: 展杰 <1240968267@qq.com>
Date: 星期二, 13 八月 2024 10:02:55 +0800
Subject: [PATCH] 测试
---
MESApplication/Controllers/Warehouse/PurdkbController.cs | 162 +
MES.Service/Dto/service/OutItemDto.cs | 17
MES.Service/Dto/service/InventoryItemDetail.cs | 40
MES.Service/Dto/service/PurchaseInventory.cs | 15
MES.Service/service/GetErpParametersServer.cs | 179 +
MES.Service/Modes/MesInvItemBarcodes.cs | 460 +++
MES.Service/service/Warehouse/MesInvItemOutsManager.cs | 706 +++++
MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs | 78
MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs | 78
MES.Service/Modes/MesInvItemArn.cs | 243 +
MESApplication/Controllers/Warehouse/MesInvItemStocksController.cs | 162 +
MES.Service/DB/OracleSQLHelper.cs | 4
MES.Service/Modes/MesInvItemOuts.cs | 307 ++
MES.Service/service/Warehouse/MesInvItemInCItemsManager.cs | 82
MES.Service/Dto/service/MESInvItemOutItems.cs | 44
MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs | 206 +
MES.Service/Modes/MesInvItemStocks.cs | 201 +
MES.Service/Dto/service/InventoryItem.cs | 19
MES.Service/Dto/service/Material.cs | 19
MES.Service/Dto/service/WarehouseQuery.cs | 22
MESApplication/Controllers/Warehouse/MesInvItemArnController.cs | 202 +
MES.Service/service/Warehouse/PurdkbManager.cs | 11
MESApplication/Controllers/Warehouse/PurdkaController.cs | 162 +
MES.Service/service/Warehouse/PurdhbManager.cs | 11
MES.Service/Modes/MesInvItemInCItems.cs | 148 +
MES.Service/service/Warehouse/MesQaItemsDetect01Manager.cs | 78
MESApplication/Controllers/Warehouse/MesInvItemOutItemsController.cs | 163 +
MESApplication/Controllers/Warehouse/MesQaItemsDetect01Controller.cs | 163 +
MES.Service/Modes/Purdhb.cs | 274 ++
MESApplication/Controllers/Warehouse/MesInvItemInCItemsController.cs | 163 +
MES.Service/service/Warehouse/MesInvItemStocksManager.cs | 78
MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs | 163 +
MESApplication/Controllers/Warehouse/MesInvItemOutCDetailsController.cs | 163 +
MESApplication/Controllers/Warehouse/PurdhbController.cs | 162 +
MES.Service/Modes/MesInvItemOutItems.cs | 210 +
MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs | 288 ++
MES.Service/Dto/base/AppSettings.cs | 8
MES.Service/DB/SqlSugarHelper.cs | 2
MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs | 78
MES.Service/Modes/Purdka.cs | 130
MESApplication/Controllers/Warehouse/MesInvItemArnDetailController.cs | 223 +
MES.Service/Modes/MesQaItemsDetect01.cs | 331 ++
MES.Service/Modes/MesInvItemArnDetail.cs | 225 +
MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs | 292 ++
MES.Service/Modes/MesInvItemInCDetails.cs | 361 ++
MES.Service/util/AppsettingsUtility.cs | 19
MES.Service/service/Warehouse/MesInvItemArnManager.cs | 66
MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs | 453 +++
MES.Service/Modes/MesInvItemOutCDetails.cs | 242 +
MES.Service/DB/DbContext.cs | 2
MES.Service/Modes/Purdkb.cs | 142 +
MES.Service/service/Warehouse/PurdkaManager.cs | 11
52 files changed, 8,064 insertions(+), 4 deletions(-)
diff --git a/MES.Service/DB/DbContext.cs b/MES.Service/DB/DbContext.cs
index cdaad87..cd0ad78 100644
--- a/MES.Service/DB/DbContext.cs
+++ b/MES.Service/DB/DbContext.cs
@@ -12,7 +12,7 @@
//mesQaItemXj02Context.Db.Queryable<MesQaItemXj02>().ToList();
private static readonly string connectionString =
- "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.251)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = sg_prd; Password=sgprd"; // 杩欓噷鏇挎崲鎴愪綘鐨勫疄闄呰繛鎺ュ瓧绗︿覆;
+ "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.107)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = xm_dev; Password=xmdev"; // 杩欓噷鏇挎崲鎴愪綘鐨勫疄闄呰繛鎺ュ瓧绗︿覆;
/// <summary>
/// 娉ㄦ剰锛氫笉鑳藉啓鎴愰潤鎬佺殑 //鐢ㄦ潵澶勭悊浜嬪姟澶氳〃鏌ヨ鍜屽鏉傜殑鎿嶄綔
diff --git a/MES.Service/DB/OracleSQLHelper.cs b/MES.Service/DB/OracleSQLHelper.cs
index 65b0219..3efbc3f 100644
--- a/MES.Service/DB/OracleSQLHelper.cs
+++ b/MES.Service/DB/OracleSQLHelper.cs
@@ -9,13 +9,13 @@
public class OracleSQLHelper
{
public const string ConnectionString =
- "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.251)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = sg_prd; Password=sgprd";
+ "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.107)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = xm_dev; Password=xmdev";
private readonly string _connectionString;
//public static string connectionString = "Data Source = 192.168.1.19; Persist Security Info=True;User ID = abtdev; Password=abt_dev";
public string connectionString =
- "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.251)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = sg_prd; Password=sgprd"; // 杩欓噷鏇挎崲鎴愪綘鐨勫疄闄呰繛鎺ュ瓧绗︿覆
+ "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.107)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = xm_dev; Password=xmdev"; // 杩欓噷鏇挎崲鎴愪綘鐨勫疄闄呰繛鎺ュ瓧绗︿覆
public OracleSQLHelper()
{
diff --git a/MES.Service/DB/SqlSugarHelper.cs b/MES.Service/DB/SqlSugarHelper.cs
index baedcea..d2d8900 100644
--- a/MES.Service/DB/SqlSugarHelper.cs
+++ b/MES.Service/DB/SqlSugarHelper.cs
@@ -5,7 +5,7 @@
public class SqlSugarHelper
{
private static readonly string _connectionString =
- "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.251)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = sg_prd; Password=sgprd"; // 杩欓噷鏇挎崲鎴愪綘鐨勫疄闄呰繛鎺ュ瓧绗︿覆
+ "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.107)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = xm_dev; Password=xmdev"; // 杩欓噷鏇挎崲鎴愪綘鐨勫疄闄呰繛鎺ュ瓧绗︿覆
public static SqlSugarClient GetInstance()
{
diff --git a/MES.Service/Dto/base/AppSettings.cs b/MES.Service/Dto/base/AppSettings.cs
new file mode 100644
index 0000000..3989c37
--- /dev/null
+++ b/MES.Service/Dto/base/AppSettings.cs
@@ -0,0 +1,8 @@
+锘縩amespace MES.Service.Dto.@base;
+
+public class AppSettings
+{
+ public string TestErpUrl { get; set; }
+ public string ProductionErpUrl { get; set; }
+ public string DataBaseConn { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/InventoryItem.cs b/MES.Service/Dto/service/InventoryItem.cs
new file mode 100644
index 0000000..ca5767f
--- /dev/null
+++ b/MES.Service/Dto/service/InventoryItem.cs
@@ -0,0 +1,19 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Dto.service;
+
+public class InventoryItem
+{
+ [SugarColumn(ColumnName = "DEPOT")] public string Depot { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_NO")] public string ItemNo { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_MODEL")]
+ public string ItemModel { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_NAME")]
+ public string ItemName { get; set; }
+
+ [SugarColumn(ColumnName = "QTY")]
+ public decimal Qty { get; set; } // 浣跨敤 decimal 鏉ヨ〃绀烘暟閲�
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/InventoryItemDetail.cs b/MES.Service/Dto/service/InventoryItemDetail.cs
new file mode 100644
index 0000000..360126b
--- /dev/null
+++ b/MES.Service/Dto/service/InventoryItemDetail.cs
@@ -0,0 +1,40 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Dto.service;
+
+public class InventoryItemDetail
+{
+ [SugarColumn(ColumnName = "WORK_NO")] public string WorkNo { get; set; }
+
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public string WorkLine { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_NO")] public string ItemNo { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_NAME")]
+ public string ItemName { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_MODEL")]
+ public string ItemModel { get; set; }
+
+ [SugarColumn(ColumnName = "SUM_QUANTITY")]
+ public decimal SumQuantity { get; set; }
+
+ [SugarColumn(ColumnName = "UNIT")] public string Unit { get; set; }
+
+ [SugarColumn(ColumnName = "SUPP_NO")] public string SuppNo { get; set; }
+
+ [SugarColumn(ColumnName = "QUANTITY")] public decimal Quantity { get; set; }
+
+ [SugarColumn(ColumnName = "REFUNDABLE_QUANTITY")]
+ public decimal RefundableQuantity { get; set; }
+
+ [SugarColumn(ColumnName = "CBILL_NO")] public string CbillNo { get; set; }
+
+ [SugarColumn(ColumnName = "TASK_NO")] public string TaskNo { get; set; }
+
+ [SugarColumn(ColumnName = "BILL_NO")] public string BillNo { get; set; }
+
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public string CreateDate { get; set; } // 濡傛灉闇�瑕佹棩鏈熷鐞嗭紝鍙互鑰冭檻浣跨敤 DateTime 绫诲瀷
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/MESInvItemOutItems.cs b/MES.Service/Dto/service/MESInvItemOutItems.cs
new file mode 100644
index 0000000..e399091
--- /dev/null
+++ b/MES.Service/Dto/service/MESInvItemOutItems.cs
@@ -0,0 +1,44 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Dto.service;
+
+public class MESInvItemOutItems
+{
+ [SugarColumn(ColumnName = "REMARK")] public string Remark { get; set; }
+
+ [SugarColumn(ColumnName = "PBILL_NO")] public string PbillNo { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_OUT_ID")]
+ public string ItemOutId { get; set; }
+
+ [SugarColumn(ColumnName = "RK_QTY")] public decimal RkQty { get; set; }
+
+ [SugarColumn(ColumnName = "TL_QTY")] public decimal TlQty { get; set; }
+
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public string WorkLine { get; set; }
+
+ [SugarColumn(ColumnName = "QUANTITY")] public decimal Quantity { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_NO")] public string ItemNo { get; set; }
+
+ [SugarColumn(ColumnName = "KT_QTY")]
+ public decimal KtQty { get; set; } // 鍓╀綑鍙��
+
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string DepotSectionCode { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_MODEL")]
+ public string ItemModel { get; set; }
+
+ [SugarColumn(ColumnName = "ITEM_NAME")]
+ public string ItemName { get; set; }
+
+ [SugarColumn(ColumnName = "CGB014")] public string Cgb014 { get; set; }
+
+ [SugarColumn(ColumnName = "STAFF_NAME")]
+ public string StaffName { get; set; }
+
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string DepotCode { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/Material.cs b/MES.Service/Dto/service/Material.cs
new file mode 100644
index 0000000..183cedf
--- /dev/null
+++ b/MES.Service/Dto/service/Material.cs
@@ -0,0 +1,19 @@
+锘縩amespace MES.Service.Dto.service;
+
+public class Material
+{
+ public string? FmrMode { get; set; }
+ public string? FngDesc { get; set; }
+ public decimal? FsrcEntryId { get; set; }
+ public decimal? FrmRealQty { get; set; }
+ public string? FmaterialId { get; set; }
+ public string? FstockId { get; set; }
+ public string? Funit { get; set; }
+ public decimal? FmesEntryId { get; set; }
+ public decimal? Mid { get; set; }
+ public string? UserName { get; set; }
+ public string? DepotSectionCode { get; set; }
+ public string? WorkNo { get; set; }
+ public decimal? Frealqty { get; set; }
+ public string? FuintId { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/OutItemDto.cs b/MES.Service/Dto/service/OutItemDto.cs
new file mode 100644
index 0000000..804bb9c
--- /dev/null
+++ b/MES.Service/Dto/service/OutItemDto.cs
@@ -0,0 +1,17 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.service;
+
+public class OutItemDto
+{
+ public MesInvItemOuts? Form { get; set; }
+ public List<MesInvItemOutItems>? SaveItems { get; set; }
+ public List<MESInvItemOutItems>? SelectItems { get; set; }
+
+
+ public string? ItemNo { get; set; }
+
+ public decimal? Quantity { get; set; }
+
+ public List<InventoryItem>? SumItem { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/PurchaseInventory.cs b/MES.Service/Dto/service/PurchaseInventory.cs
new file mode 100644
index 0000000..bb590d6
--- /dev/null
+++ b/MES.Service/Dto/service/PurchaseInventory.cs
@@ -0,0 +1,15 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.service;
+
+public class PurchaseInventory
+{
+ public string? ItemNo { get; set; }
+
+ public decimal? SumQuantity { get; set; }
+
+ public MesInvItemIns? ItemIns { get; set; }
+ public List<MesInvItemInCDetails>? InvItemInCDetails { get; set; }
+
+ public List<MesInvItemInCItems>? ItemInDetails { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/WarehouseQuery.cs b/MES.Service/Dto/service/WarehouseQuery.cs
new file mode 100644
index 0000000..ea3e707
--- /dev/null
+++ b/MES.Service/Dto/service/WarehouseQuery.cs
@@ -0,0 +1,22 @@
+锘縰sing MES.Service.Dto.@base;
+
+namespace MES.Service.Dto.service;
+
+public class WarehouseQuery : Page
+{
+ public decimal? id { get; set; }
+
+ public decimal[]? ItemArnDetailIds { get; set; }
+
+ public string? itemInId { get; set; }
+
+ public string? sectionCode { get; set; }
+ public string? barcode { get; set; }
+ public string? userName { get; set; }
+ public string? billNo { get; set; }
+ public short? status { get; set; }
+ public DateTime? date { get; set; }
+ public string? Type { get; set; }
+ public string? DepotCode { get; set; }
+ public string? SuppNo { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemArn.cs b/MES.Service/Modes/MesInvItemArn.cs
new file mode 100644
index 0000000..518f09f
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemArn.cs
@@ -0,0 +1,243 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鍏ュ簱涓昏〃
+/// </summary>
+[SugarTable("MES_INV_ITEM_ARN")]
+public class MesInvItemArn
+{
+ /// <summary>
+ /// ID(SEQ_INV_ID)
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鐘舵�亅0-鏈鏍�1-瀹℃牳鍏ュ簱\缁撴
+ /// </summary>
+ [SugarColumn(ColumnName = "STATUS")]
+ public short? Status { get; set; }
+
+ /// <summary>
+ /// 鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "REASON")]
+ public string Reason { 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>
+ /// 鍗曟嵁绫诲瀷ID
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_TYPE_ID")]
+ public decimal? BillTypeId { get; set; }
+
+ /// <summary>
+ /// 浜嬪姟绫诲瀷ID
+ /// </summary>
+ [SugarColumn(ColumnName = "TRANSACTION_ID")]
+ public decimal? TransactionId { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 閫佽揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "PAPER_BILL_NO")]
+ public string PaperBillNo { get; set; }
+
+ /// <summary>
+ /// 閫�鏂欎汉宸ュ彿
+ /// </summary>
+ [SugarColumn(ColumnName = "USER_NO_BACK")]
+ public string UserNoBack { 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>
+ /// 鍏ュ簱鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "INS_DATE")]
+ public DateTime? InsDate { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_RES")]
+ public string CheckRes { get; set; }
+
+ /// <summary>
+ /// 宸叉崱鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+ public decimal? CheckQty { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOTS_CODE")]
+ public string DepotsCode { get; set; }
+
+ /// <summary>
+ /// 浜嬪姟绫诲瀷缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "TRANSCTION_NO")]
+ public string TransctionNo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "FSTATUS")]
+ public short? Fstatus { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鏄惁宸插洖鍐橲AP
+ /// </summary>
+ [SugarColumn(ColumnName = "SAPSTATUS")]
+ public short? Sapstatus { get; set; }
+
+ /// <summary>
+ /// 纭鍏ュ簱鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "INS_DATE")]
+ public DateTime? Insdate { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠�
+ /// </summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public decimal? Ischeck { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鍏ュ簱浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "INSBY")]
+ public string Insby { get; set; }
+
+ /// <summary>
+ /// 鍏徃浠g爜
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ /// </summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public short? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 鍐查攢浜嬪姟绫诲瀷缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "MTTRANSCTION_NO")]
+ public decimal? MttransctionNo { get; set; }
+
+ /// <summary>
+ /// IQC妫�楠屽崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "IQC_RELEASE_NO")]
+ public string IqcReleaseNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鏄剧ず
+ /// </summary>
+ [SugarColumn(ColumnName = "IS_VISUAL")]
+ public decimal? IsVisual { get; set; }
+
+ /// <summary>
+ /// 0=閲囪喘锛�1=濮斿
+ /// </summary>
+ [SugarColumn(ColumnName = "F_TYPE")]
+ public decimal? FType { get; set; }
+
+ /// <summary>
+ /// ERP鍒拌揣鍗旾D
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public string EbelnK3id { get; set; }
+
+ /// <summary>
+ /// 鏉$爜鏉″嵃杩涘害
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODE_RATIO")]
+ public decimal? BarcodeRatio { get; set; }
+
+ /// <summary>
+ /// ERP鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "ERPNO")]
+ public string Erpno { get; set; }
+
+ /// <summary>
+ /// 鏄惁宸查��璐�0-鏈��璐э紝1-閫�璐�
+ /// </summary>
+ [SugarColumn(ColumnName = "THSTATUS")]
+ public short? Thstatus { get; set; }
+
+ /// <summary>
+ /// ERP閫�璐у崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "ERPTHNO")]
+ public string Erpthno { get; set; }
+
+
+ [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? SuppName { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemArnDetail.cs b/MES.Service/Modes/MesInvItemArnDetail.cs
new file mode 100644
index 0000000..7be265c
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemArnDetail.cs
@@ -0,0 +1,225 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// </summary>
+[SugarTable("MES_INV_ITEM_ARN_DETAIL")]
+public class MesInvItemArnDetail
+{
+ /// <summary>
+ /// SEQ_INV_ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 涓昏〃ID
+ /// </summary>
+ [SugarColumn(ColumnName = "MID")]
+ public decimal? Mid { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string Ebeln { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_LINE")]
+ public decimal? EbelnLine { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_QTY")]
+ public decimal? EbelnQty { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鏀惰揣鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { 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 = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃浠g爜
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗旾D
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public decimal? EbelnK3id { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗曡ID
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_K3ID")]
+ public decimal? LineK3id { get; set; }
+
+ /// <summary>
+ /// 鏈搴旀敹鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "SUB_QTY")]
+ public decimal? SubQty { get; set; }
+
+ /// <summary>
+ /// 浣欓噺
+ /// </summary>
+ [SugarColumn(ColumnName = "MARGIN_QTY")]
+ public decimal? MarginQty { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ /// </summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public decimal? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+ public string Memo { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_RES")]
+ public string CheckRes { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀姸鎬� 锛堝緟妫�銆佸垎閫夈�佺壒閲囥�佸凡妫�锛�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_STATES")]
+ public string CheckStates { get; set; }
+
+ /// <summary>
+ /// 鏀惰揣浣欓噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY_M")]
+ public decimal? QuantityM { get; set; }
+
+ /// <summary>
+ /// 鏈搴旀敹浣欓噺
+ /// </summary>
+ [SugarColumn(ColumnName = "SUB_MQTY")]
+ public decimal? SubMqty { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠�
+ /// </summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public short? Ischeck { get; set; }
+
+ /// <summary>
+ /// 宸叉敹鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "OK_QTY")]
+ public decimal? OkQty { get; set; }
+
+ /// <summary>
+ /// 宸叉敹浣欓噺
+ /// </summary>
+ [SugarColumn(ColumnName = "OK_MQTY")]
+ public decimal? OkMqty { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 0銆侀噰璐崟锛�1銆佸澶栧崟
+ /// </summary>
+ [SugarColumn(ColumnName = "F_TYPE")]
+ public decimal? FType { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏ュ簱
+ /// </summary>
+ [SugarColumn(ColumnName = "ISDEPS_IN")]
+ public short? IsdepsIn { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHA001")]
+ public string Dha001 { get; set; }
+
+ /// <summary>
+ /// 宸插叆搴撴暟閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "OK_RKQTY")]
+ public decimal? OkRkqty { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "CBILL_NO")]
+ public string CbillNo { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? itemModel { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? itemName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? Fname { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemBarcodes.cs b/MES.Service/Modes/MesInvItemBarcodes.cs
new file mode 100644
index 0000000..078ac04
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemBarcodes.cs
@@ -0,0 +1,460 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鏉$爜琛�
+/// </summary>
+[SugarTable("MES_INV_ITEM_BARCODES")]
+public class MesInvItemBarcodes
+{
+ /// <summary>
+ /// SEQ_BARCODE_PSN_ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鎴愬搧缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_PRODUCT_CODE")]
+ public string CProductCode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+ public string CItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string CItemCode { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鏄惁鐜繚(0:鍚�,1:鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public short? EpFlag { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { 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 = "CUST_NO")]
+ public string CustNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜娉ㄩ噴琛孾鍐椾綑锛屾潯鐮侀噸鎵撲娇鐢╙
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE_TEXT")]
+ public string ItemBarcodeText { get; set; }
+
+ /// <summary>
+ /// 鍘烶SN鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "OLD_ITEM_BARCODE")]
+ public string OldItemBarcode { get; set; }
+
+ /// <summary>
+ /// SAP鏀惰揣鐗╂枡鍑瘉鍙� --閲囪喘鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "MBLNR")]
+ public string Mblnr { get; set; }
+
+ /// <summary>
+ /// SAP鏀惰揣鐗╂枡鍑瘉琛屽彿 --閲囪喘鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "ZEILE")]
+ public decimal? Zeile { get; set; }
+
+ /// <summary>
+ /// 鏀舵枡琛↖D
+ /// </summary>
+ [SugarColumn(ColumnName = "ROH_IN_ID")]
+ public decimal? RohInId { get; set; }
+
+ /// <summary>
+ /// 0涓烘湁鏁堟潯鐮侊紱1涓烘棤鏁堟潯鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODESTATUS")]
+ public short? Barcodestatus { get; set; }
+
+ /// <summary>
+ /// 鍘熷鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "OLDQTY")]
+ public decimal? Oldqty { get; set; }
+
+ /// <summary>
+ /// 浣跨敤鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "USEQTY")]
+ public decimal? Useqty { get; set; }
+
+ /// <summary>
+ /// 0鍦ㄥ簱锛�1鍦ㄧ嚎锛�2浣滃簾
+ /// </summary>
+ [SugarColumn(ColumnName = "LOCATION")]
+ public short? Location { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "UNIT")]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 閲嶉噺锛堝崟浣嶏細鍏枻锛�
+ /// </summary>
+ [SugarColumn(ColumnName = "WEIGHT_UNIT")]
+ public decimal? WeightUnit { get; set; }
+
+ /// <summary>
+ /// 鍗曚环
+ /// </summary>
+ [SugarColumn(ColumnName = "PRICE")]
+ public decimal? Price { get; set; }
+
+ /// <summary>
+ /// 鍘熸潯鐮佹暟閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "OLD_BAR_QUANTITY")]
+ public decimal? OldBarQuantity { get; set; }
+
+ /// <summary>
+ /// 姹囨�绘潯鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUM_BARCODE")]
+ public string SumBarcode { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_DATE")]
+ public string LotDate { get; set; }
+
+ /// <summary>
+ /// 妯″彿
+ /// </summary>
+ [SugarColumn(ColumnName = "MOCODE")]
+ public string Mocode { get; set; }
+
+ /// <summary>
+ /// 鏉ユ簮
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+ public string Memo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 妗d綅浣庡��
+ /// </summary>
+ [SugarColumn(ColumnName = "SPOSTION")]
+ public string Spostion { get; set; }
+
+ /// <summary>
+ /// 妗d綅楂樺��
+ /// </summary>
+ [SugarColumn(ColumnName = "EPOSTION")]
+ public string Epostion { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡绠�绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_SNAME")]
+ public string ItemSname { get; set; }
+
+ /// <summary>
+ /// 鏄惁宸插喕缁�,1鍐荤粨
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE")]
+ public short? Visable { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗘壒娆�
+ /// </summary>
+ [SugarColumn(ColumnName = "TR_LOTNO")]
+ public string TrLotno { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "FLEZZ_DATE")]
+ public DateTime? FlezzDate { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "FLEZZ_REASON")]
+ public string FlezzReason { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "FLEZZ_BY")]
+ public string FlezzBy { get; set; }
+
+ /// <summary>
+ /// 寤堕暱淇濊川鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "DELANY_MONTH")]
+ public decimal? DelanyMonth { get; set; }
+
+ /// <summary>
+ /// 鏈�灏忓寘瑁呮爣璇�
+ /// </summary>
+ [SugarColumn(ColumnName = "MINPACK_FLAG")]
+ public short? MinpackFlag { get; set; }
+
+ /// <summary>
+ /// 鎵撳嵃ID锛岀敤鏉ュ尯鍒嗘墦鍗版鏁�
+ /// </summary>
+ [SugarColumn(ColumnName = "PRINT_ID")]
+ public string PrintId { get; set; }
+
+ /// <summary>
+ /// 鐜繚椤圭洰
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_ITEM")]
+ public string EpItem { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 鍗℃澘缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CB_NO")]
+ public string CbNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鐢熶骇绾�
+ /// </summary>
+ [SugarColumn(ColumnName = "LINFLINE")]
+ public string Linfline { get; set; }
+
+ /// <summary>
+ /// 鏈夋晥鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "VALID_TIME")]
+ public DateTime? ValidTime { get; set; }
+
+ /// <summary>
+ /// 璐ㄦ缁撴灉
+ /// </summary>
+ [SugarColumn(ColumnName = "IQC_STATUS")]
+ public string IqcStatus { get; set; }
+
+ /// <summary>
+ /// 灏忚溅鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FCAR")]
+ public string Fcar { get; set; }
+
+ /// <summary>
+ /// 姣涢噸
+ /// </summary>
+ [SugarColumn(ColumnName = "GWEIGHT")]
+ public string Gweight { get; set; }
+
+ /// <summary>
+ /// 鍑�閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "NWEIGHT")]
+ public string Nweight { get; set; }
+
+ /// <summary>
+ /// 淇濊川鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "EXT_DATE")]
+ public decimal? ExtDate { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗐�佽禒鍝併�佸渚涙枡銆佸澶�
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODETYPE")]
+ public string Barcodetype { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗗悕绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NAME")]
+ public string SuppName { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿/鍏ュ簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ /// </summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public short? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 棰滆壊
+ /// </summary>
+ [SugarColumn(ColumnName = "COLOR_NAME")]
+ public string ColorName { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 鏉ユ枡鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "INS_DATE")]
+ public DateTime? InsDate { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 涓嶈壇鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO_BAD")]
+ public string MemoBad { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 鏉$爜鏉ユ簮鏍囪瘑锛�0-鍒濇湡鐗╂枡,1-閲囪喘鍏ュ簱锛�2銆佺敓浜ч��鏂欙紝3銆佸叾瀹冨叆搴擄紝4-瀹緵鏂�,5-鍦ㄥ簱鍒嗘枡锛�6-鍒剁▼鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "COME_FLG")]
+ public short? ComeFlg { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绾夸綋
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string LineNo { get; set; }
+
+ /// <summary>
+ /// 涓濆嵃娆℃暟
+ /// </summary>
+ [SugarColumn(ColumnName = "SILK_PQTY")]
+ public decimal? SilkPqty { get; set; }
+
+ /// <summary>
+ /// 涓濆嵃娆℃暟姣�
+ /// </summary>
+ [SugarColumn(ColumnName = "SILK")]
+ public string Silk { get; set; }
+
+ /// <summary>
+ /// 涓濆嵃娲惧伐浠庤〃ID
+ /// </summary>
+ [SugarColumn(ColumnName = "SILK_ID")]
+ public decimal? SilkId { get; set; }
+
+ /// <summary>
+ /// 宸叉姤宸ユ爣璇�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_FLG")]
+ public decimal? WorkFlg { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庡伐搴�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LAST")]
+ public decimal? WorkLast { get; set; }
+
+ /// <summary>
+ /// 0-鏈悎骞舵墦鍗帮紝1-鍚堝苟鎵撳嵃
+ /// </summary>
+ [SugarColumn(ColumnName = "HBDY")]
+ public decimal? Hbdy { get; set; }
+
+ /// <summary>
+ /// 0-鏈夋晥鏉$爜锛�1-鍚堝苟鎷嗗垎鐨勬潯鐮侊紝鏃犳晥
+ /// </summary>
+ [SugarColumn(ColumnName = "HBDYTM")]
+ public decimal? Hbdytm { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_FLGTIME")]
+ public string WorkFlgtime { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemInCDetails.cs b/MES.Service/Modes/MesInvItemInCDetails.cs
new file mode 100644
index 0000000..258cb34
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemInCDetails.cs
@@ -0,0 +1,361 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鍏ュ簱鏉$爜鏄庣粏
+/// </summary>
+[SugarTable("MES_INV_ITEM_IN_C_DETAILS")]
+public class MesInvItemInCDetails
+{
+ /// <summary>
+ /// SEQ_OUT
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗昳d
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_IN_ID", IsPrimaryKey = true)]
+ public decimal ItemInId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜PSN
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string CItemCode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+ public string CItemBarcode { get; set; }
+
+ /// <summary>
+ /// 楠屾敹鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏂瑰紡(1:鏈夋潯鐮�,0:鏃犳潯鐮�)
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODE_FLAG")]
+ public short? BarcodeFlag { get; set; }
+
+ /// <summary>
+ /// 鐜繚鏍囧織锛�0-闈炵幆淇�,1-鐜繚.鏃犳潯鐮佹墜宸ュ綍鍏ワ紝鏈夋潯鐮佷负鍐椾綑瀛楁锛�
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public short? EpFlag { 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>
+ /// 浣滀笟鏂瑰紡0-鏈夌嚎鏉$爜鏋�1-鏃犵嚎鏉$爜鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_TYPE")]
+ public decimal? WorkType { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏辩鐗╂枡(0:鍚︼紝1:鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "COMANAGEMENT_FLAG")]
+ public short? ComanagementFlag { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CUST_NO")]
+ public string CustNo { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_RES")]
+ public string CheckRes { get; set; }
+
+ /// <summary>
+ /// 杩涜揣鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+ public decimal? CheckQty { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀姸鎬�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_STATES")]
+ public string CheckStates { get; set; }
+
+ /// <summary>
+ /// 寮哄埗鍏ュ簱鏍囪0鏃狅紝1-寮哄埗鍏ュ簱 閫�鏂欏崟浣跨敤
+ /// </summary>
+ [SugarColumn(ColumnName = "FORCE_IN_FLAG")]
+ public short? ForceInFlag { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string DepotCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// 鐗硅浜嬮」
+ /// </summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE2")]
+ public string ItemBarcode2 { get; set; }
+
+ /// <summary>
+ /// 鏂版潯鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE3")]
+ public string ItemBarcode3 { get; set; }
+
+ /// <summary>
+ /// 浣跨敤鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "USE_QTY")]
+ public decimal? UseQty { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_QTY")]
+ public decimal? OutQty { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡绠�绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_SNAME")]
+ public string ItemSname { get; set; }
+
+ /// <summary>
+ /// 妗d綅浣庡��
+ /// </summary>
+ [SugarColumn(ColumnName = "SPOSTION")]
+ public decimal? Spostion { get; set; }
+
+ /// <summary>
+ /// 妗d綅楂樺��
+ /// </summary>
+ [SugarColumn(ColumnName = "EPOSTION")]
+ public decimal? Epostion { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "UNIT")]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠�
+ /// </summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public decimal? Ischeck { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string Ebeln { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_DATE")]
+ public string LotDate { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱瀹℃牳鏍囧織
+ /// </summary>
+ [SugarColumn(ColumnName = "STOCK_OK")]
+ public short? StockOk { get; set; }
+
+ /// <summary>
+ /// 鍒嗗巶缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃浠g爜
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 鍗℃澘缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CB_NO")]
+ public string CbNo { get; set; }
+
+ /// <summary>
+ /// 绠卞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOX_NO")]
+ public string BoxNo { get; set; }
+
+ /// <summary>
+ /// 浠撳簱ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_ID")]
+ public decimal? DepotId { get; set; }
+
+ /// <summary>
+ /// 璐т綅ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_ID")]
+ public decimal? DepotSectionId { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NUM")]
+ public string LineNum { get; set; }
+
+ /// <summary>
+ /// 鎵爜鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "SM_QTY")]
+ public decimal? SmQty { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗�
+ /// </summary>
+ [SugarColumn(ColumnName = "VGBEL")]
+ public string Vgbel { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "KDPOS")]
+ public decimal? Kdpos { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_LINE_NO")]
+ public decimal? EbelnLineNo { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "CBILL_NO")]
+ public string CbillNo { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ /// </summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public decimal? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟姹囨姤鍗�
+ /// </summary>
+ [SugarColumn(ColumnName = "RBILL_NO")]
+ public string RbillNo { get; set; }
+
+ // 娣诲姞鐨勫瓧娈碉紝骞朵笖瀹冧滑涓嶅睘浜庢暟鎹簱琛�
+ [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? ItemUnit { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public decimal? SumQuantity { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemInCItems.cs b/MES.Service/Modes/MesInvItemInCItems.cs
new file mode 100644
index 0000000..05e3293
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemInCItems.cs
@@ -0,0 +1,148 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鍏ュ簱鏄庣粏
+/// </summary>
+[SugarTable("MES_INV_ITEM_IN_C_ITEMS")]
+public class MesInvItemInCItems
+{
+ /// <summary>
+ /// SEQ_OUT
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗昳d
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_IN_ID", IsPrimaryKey = true)]
+ public decimal ItemInId { get; set; }
+
+ /// <summary>
+ /// 楠屾敹鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { 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 = "DEPOT_CODE")]
+ public string DepotCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// 鐗硅浜嬮」
+ /// </summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡绠�绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_SNAME")]
+ public string ItemSname { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "UNIT")]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string Ebeln { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鍒嗗巶缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃浠g爜
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_LINE_NO")]
+ public decimal? EbelnLineNo { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "CBILL_NO")]
+ public string CbillNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemOutCDetails.cs b/MES.Service/Modes/MesInvItemOutCDetails.cs
new file mode 100644
index 0000000..13835d9
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemOutCDetails.cs
@@ -0,0 +1,242 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鍑哄簱鏉$爜鏄庣粏
+/// </summary>
+[SugarTable("MES_INV_ITEM_OUT_C_DETAILS")]
+public class MesInvItemOutCDetails
+{
+ /// <summary>
+ /// SEQ_INV_ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍑哄簱鍗昳d
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_OUT_ID")]
+ public decimal? ItemOutId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string CItemCode { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鎸枡鏍囧織锛�0锛嶅惁锛�1锛嶆槸锛�
+ /// </summary>
+ [SugarColumn(ColumnName = "FORCE_OUT_FLAG")]
+ public decimal? ForceOutFlag { 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 = "CUST_NO")]
+ public string CustNo { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string DepotCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鍏嶆鏍囪瘑(0-鍚︼紝1-鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "FORCE_EXEMPT_FLAG")]
+ public short? ForceExemptFlag { get; set; }
+
+ /// <summary>
+ /// 鎶曟枡鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "PRD_LOT_NO")]
+ public string PrdLotNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍋氭帴鏀舵鏌�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_STATUS")]
+ public short? CheckStatus { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 鍘熺敓浜у伐鍗�
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NOY")]
+ public string TaskNoy { get; set; }
+
+ /// <summary>
+ /// 绠卞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOX_NO")]
+ public string BoxNo { get; set; }
+
+ /// <summary>
+ /// 鍖呰鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_PACK")]
+ public string TaskPack { get; set; }
+
+ /// <summary>
+ /// 鍗℃澘
+ /// </summary>
+ [SugarColumn(ColumnName = "KB_NO")]
+ public string KbNo { get; set; }
+
+ /// <summary>
+ /// 浜у搧鏈哄瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡鍗曞彿/濮斿璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "PBILL_NO")]
+ public string PbillNo { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹鏍囪瘑/1宸叉帴鏀�
+ /// </summary>
+ [SugarColumn(ColumnName = "RECEIVE")]
+ public decimal? Receive { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "RTIME")]
+ public DateTime? Rtime { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "RCV_BY")]
+ public string RcvBy { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹杞﹂棿
+ /// </summary>
+ [SugarColumn(ColumnName = "RCV_PART")]
+ public string RcvPart { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "RK_NO")]
+ public string RkNo { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟id
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public decimal? EbelnK3id { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟琛宨d
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_K3ID")]
+ public decimal? LineK3id { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; }
+ [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
+ [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; }
+ [SugarColumn(IsIgnore = true)] public string? Unit { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemOutItems.cs b/MES.Service/Modes/MesInvItemOutItems.cs
new file mode 100644
index 0000000..1e640a8
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemOutItems.cs
@@ -0,0 +1,210 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鍑哄簱鐢宠鐗╂枡琛�
+/// </summary>
+[SugarTable("MES_INV_ITEM_OUT_ITEMS")]
+public class MesInvItemOutItems
+{
+ /// <summary>
+ /// SEQ_ITEM_ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_INV_ID",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍑哄簱ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_OUT_ID")]
+ public decimal? ItemOutId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 鐢宠鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { 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 = "REMARK")]
+ public string? Remark { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string? Factory { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string? Company { get; set; }
+
+ /// <summary>
+ /// 鎺ㄤ粙浠撳簱
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string? DepotCode { get; set; }
+
+ /// <summary>
+ /// 鎺ㄤ粙搴撲綅
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string? DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string? TaskNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string? WorkNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// ERP 涓昏〃ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ERP_ID")]
+ public decimal? ErpId { get; set; }
+
+ /// <summary>
+ /// ERP 浠庤〃ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ERP_AUTOID")]
+ public decimal? ErpAutoid { get; set; }
+
+ /// <summary>
+ /// ERP_鏂欏彿
+ /// </summary>
+ [SugarColumn(ColumnName = "ERP_ITEM_NO")]
+ public string? ErpItemNo { get; set; }
+
+ /// <summary>
+ /// 棰滆壊
+ /// </summary>
+ [SugarColumn(ColumnName = "COLOR_NAME")]
+ public string? ColorName { get; set; }
+
+ /// <summary>
+ /// 鏈�鏂颁笅杞芥洿鏂版爣璇�
+ /// </summary>
+ [SugarColumn(ColumnName = "UPDATE_FLG")]
+ public decimal? UpdateFlg { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗旾D
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public decimal? EbelnK3id { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗曡ID
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_K3ID")]
+ public decimal? LineK3id { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string? Ebeln { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_LINE")]
+ public decimal? EbelnLine { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_QTY")]
+ public decimal? EbelnQty { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_ITEM")]
+ public string? BoardItem { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "F_TYPE")]
+ public decimal? FType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "STATUS")]
+ public decimal? Status { get; set; }
+
+ /// <summary>
+ /// 瀛愬瓙琛↖D
+ /// </summary>
+ [SugarColumn(ColumnName = "ALLOCATEID")]
+ public decimal? Allocateid { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "PBILL_NO")]
+ public string? PbillNo { get; set; }
+
+ /// <summary>
+ /// erp鎺ュ彛杩斿洖
+ /// </summary>
+ [SugarColumn(ColumnName = "ERP_MARK")]
+ public string? ErpMark { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "RK_NO")]
+ public string? RkNo { get; set; }
+
+ /// <summary>
+ /// 宸插叆搴撴暟
+ /// </summary>
+ [SugarColumn(ColumnName = "RK_QTY")]
+ public decimal? RkQty { get; set; }
+
+ /// <summary>
+ /// 宸叉壂鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "TL_QTY")]
+ public decimal? TlQty { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemOuts.cs b/MES.Service/Modes/MesInvItemOuts.cs
new file mode 100644
index 0000000..eeae84c
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemOuts.cs
@@ -0,0 +1,307 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鍑哄簱琛�
+/// </summary>
+[SugarTable("MES_INV_ITEM_OUTS")]
+public class MesInvItemOuts
+{
+ /// <summary>
+ /// SEQ_INV_ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_INV_ID",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍑哄簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_OUT_NO")]
+ public string? ItemOutNo { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string? TaskNo { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "PROC_NO")]
+ public string? ProcNo { get; set; }
+
+ /// <summary>
+ /// 鐘舵�亅0-鏈鏍�1-瀹℃牳
+ /// </summary>
+ [SugarColumn(ColumnName = "STATUS")]
+ public decimal? Status { 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>
+ /// 鍗曟嵁绫诲瀷ID
+ /// </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 = "REMARK")]
+ public string? Remark { get; set; }
+
+ /// <summary>
+ /// 鍑哄簱鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "REASON")]
+ public string? Reason { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绾跨紪鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "PRODUCE_LINE_NO")]
+ public string? ProduceLineNo { 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>
+ /// 棰嗘枡鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_DATE")]
+ public DateTime? OutDate { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡宸ユ
+ /// </summary>
+ [SugarColumn(ColumnName = "MMLIST")]
+ public string? Mmlist { get; set; }
+
+ /// <summary>
+ /// 瀛愬簱CODE
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string? DepotCode { get; set; }
+
+ /// <summary>
+ /// SAP杩斿洖鍗曟嵁
+ /// </summary>
+ [SugarColumn(ColumnName = "SAPNO")]
+ public string? Sapno { get; set; }
+
+ /// <summary>
+ /// 鏄惁宸插洖鍐橲AP
+ /// </summary>
+ [SugarColumn(ColumnName = "SAPSTATUS")]
+ public short? Sapstatus { get; set; }
+
+ /// <summary>
+ /// SAP杩斿洖骞翠唤
+ /// </summary>
+ [SugarColumn(ColumnName = "SAPYEAR")]
+ public short? Sapyear { get; set; }
+
+ /// <summary>
+ /// SAP杩斿洖淇℃伅
+ /// </summary>
+ [SugarColumn(ColumnName = "SAPTEXT")]
+ public string? Saptext { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭绾夸綋
+ /// </summary>
+ [SugarColumn(ColumnName = "PROC_LINE_NO")]
+ public string? ProcLineNo { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡閮ㄩ棬
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_PART")]
+ public string? OutPart { get; set; }
+
+ /// <summary>
+ /// 0 鐢熶骇,1 濮斿
+ /// </summary>
+ [SugarColumn(ColumnName = "F_TYPE")]
+ public long? FType { get; set; }
+
+ /// <summary>
+ /// 褰曞叆鎻愪氦
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_STATUS")]
+ public decimal? OutStatus { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍙
+ /// </summary>
+ [SugarColumn(ColumnName = "IS_VISUAL")]
+ public decimal? IsVisual { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "RECEIVER")]
+ public string? Receiver { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string? Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string? Company { get; set; }
+
+ /// <summary>
+ /// 鍐查攢浜嬪姟绫诲瀷缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "MTRANSCTION_NO")]
+ public decimal? MtransctionNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string? WorkNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string? SuppNo { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "CMPOCODE")]
+ public string? Cmpocode { get; set; }
+
+ /// <summary>
+ /// 鍘熺墿鏂欏嚭璐ф爣璇�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_FLAG")]
+ public decimal? ItemFlag { get; set; }
+
+ /// <summary>
+ /// 1=鍗婃垚鍝佸嚭璐�
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_FLAG")]
+ public decimal? BoardFlag { get; set; }
+
+ /// <summary>
+ /// 鍑哄簱绫诲埆
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_TYPE")]
+ public string? OutType { get; set; }
+
+ /// <summary>
+ /// 涓氬姟绫诲瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "BUSINESS_TYPE")]
+ public string? BusinessType { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_ITEM")]
+ public string? BoardItem { get; set; }
+
+ /// <summary>
+ /// 浜ч噺
+ /// </summary>
+ [SugarColumn(ColumnName = "PLAN_QTY")]
+ public decimal? PlanQty { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡缂栧彿/濮斿璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "PBILL_NO")]
+ public string? PbillNo { get; set; }
+
+ /// <summary>
+ /// 琛ユ枡鐢宠鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BBILL_NO")]
+ public string? BbillNo { get; set; }
+
+ /// <summary>
+ /// 鏍囪瘑 /1宸叉帹閫�
+ /// </summary>
+ [SugarColumn(ColumnName = "NFLAG")]
+ public short? Nflag { get; set; }
+
+ /// <summary>
+ /// 閫�鏂欐柟寮�
+ /// </summary>
+ [SugarColumn(ColumnName = "FMRMODE")]
+ public string? Fmrmode { get; set; }
+
+ /// <summary>
+ /// erp杩斿洖淇℃伅
+ /// </summary>
+ [SugarColumn(ColumnName = "MSG")]
+ public string? Msg { get; set; }
+
+ /// <summary>
+ /// 鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "STATES")]
+ public string? States { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? SuppName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? CreateByFname { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? CheckUserFname { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemStocks.cs b/MES.Service/Modes/MesInvItemStocks.cs
new file mode 100644
index 0000000..87babea
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemStocks.cs
@@ -0,0 +1,201 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡搴撳瓨琛�
+/// </summary>
+[SugarTable("MES_INV_ITEM_STOCKS")]
+public class MesInvItemStocks
+{
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string CItemCode { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 瀛愬簱id
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOTS_ID")]
+ public decimal? DepotsId { get; set; }
+
+ /// <summary>
+ /// 璐т綅id
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTIONS_ID")]
+ public decimal? DepotSectionsId { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鐜繚鏍囧織锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級(0-鍚︼紝1-鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public short? EpFlag { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CUSTOMER_NO")]
+ public string CustomerNo { get; set; }
+
+ /// <summary>
+ /// 閲嶉噺
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_WT")]
+ public decimal? ItemWt { get; set; }
+
+ /// <summary>
+ /// 瀛愬簱CODE
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOTS_CODE")]
+ public string DepotsCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅CODE
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTIONS_CODE")]
+ public string DepotSectionsCode { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 0 鐗╂枡 1 鍗婃垚鍝� 2 鎴愬搧
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_TYPE")]
+ public short? ItemType { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "INDEP_DATE")]
+ public DateTime? IndepDate { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 璐ㄦ鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "IQC_STATUS")]
+ public string IqcStatus { get; set; }
+
+ /// <summary>
+ /// 灏忚溅鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FCAR")]
+ public string Fcar { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨鎻愪氦閲嶆锛�0锛氬喕缁撴湭鎻愪氦閲嶆锛�1锛氬喕缁撳苟鎻愪氦閲嶆
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE_SUBMIT")]
+ public short? VisableSubmit { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦閲嶆浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE_SUBMIT_BY")]
+ public string VisableSubmitBy { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦閲嶆鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE_SUBMIT_DATE")]
+ public DateTime? VisableSubmitDate { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绾�
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string LineNo { get; set; }
+
+ /// <summary>
+ /// 鍗婃垚鍝佸叆搴撳崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟id
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public decimal? EbelnK3id { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟琛宨d
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_K3ID")]
+ public decimal? LineK3id { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesQaItemsDetect01.cs b/MES.Service/Modes/MesQaItemsDetect01.cs
new file mode 100644
index 0000000..2a26d0c
--- /dev/null
+++ b/MES.Service/Modes/MesQaItemsDetect01.cs
@@ -0,0 +1,331 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鏉ユ枡鍏ュ簱妫�楠岃〃澶�
+/// </summary>
+[SugarTable("MES_QA_ITEMS_DETECT_01")]
+public class MesQaItemsDetect01
+{
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 妫�楠屽崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "RELEASE_NO")]
+ public string ReleaseNo { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_DATE")]
+ public DateTime? FcheckDate { get; set; }
+
+ /// <summary>
+ /// 妫�楠屼汉鍛�
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_BY")]
+ public string FcheckBy { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鏉ユ枡鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "FBATCH_QTY")]
+ public decimal? FbatchQty { get; set; }
+
+ /// <summary>
+ /// 鍒ゅ畾缁撴灉
+ /// </summary>
+ [SugarColumn(ColumnName = "FRECE_QTY")]
+ public string FreceQty { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FNG_DESC")]
+ public string FngDesc { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_RESU")]
+ public string FcheckResu { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FREVIEW")]
+ public string Freview { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾按鍑�
+ /// </summary>
+ [SugarColumn(ColumnName = "SAMPLE_SIZE_NO")]
+ public string SampleSizeNo { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾按骞�
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_LEVEL")]
+ public string FcheckLevel { get; set; }
+
+ /// <summary>
+ /// 鎷掓敹姘村钩
+ /// </summary>
+ [SugarColumn(ColumnName = "FAC_LEVEL")]
+ public string FacLevel { get; set; }
+
+ /// <summary>
+ /// 鎶芥鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+ public string CheckQty { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙� --鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鎺ㄩ��
+ /// </summary>
+ [SugarColumn(ColumnName = "FMOVE")]
+ public string Fmove { get; set; }
+
+ /// <summary>
+ /// 鏄惁澶勭悊
+ /// </summary>
+ [SugarColumn(ColumnName = "FHANDLE")]
+ public string Fhandle { 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 = "MODIFY1_FLAG")]
+ public decimal? Modify1Flag { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFY1_BY")]
+ public string Modify1By { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFY1_DATE")]
+ public DateTime? Modify1Date { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// XRF娴嬭瘯鎶ュ憡缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_REPNO")]
+ public string FcheckRepno { get; set; }
+
+ /// <summary>
+ /// 绗笁鏂规姤鍛�
+ /// </summary>
+ [SugarColumn(ColumnName = "FTHIRD_REP")]
+ public string FthirdRep { get; set; }
+
+ /// <summary>
+ /// 鏄惁浣滃簾
+ /// </summary>
+ [SugarColumn(ColumnName = "FCANCEL")]
+ public decimal? Fcancel { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦鏍囪瘑
+ /// </summary>
+ [SugarColumn(ColumnName = "FSUBMIT")]
+ public decimal? Fsubmit { get; set; }
+
+ /// <summary>
+ /// 妫�楠屼緷鎹�
+ /// </summary>
+ [SugarColumn(ColumnName = "FCHECK_ACCORD")]
+ public string FcheckAccord { get; set; }
+
+ /// <summary>
+ /// 绫诲瀷(0 鏉ユ枡 1 鍦ㄥ簱)
+ /// </summary>
+ [SugarColumn(ColumnName = "FTYPE")]
+ public short? Ftype { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_UNIT")]
+ public string ItemUnit { get; set; }
+
+ /// <summary>
+ /// 鍑鸿揣鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_DATE")]
+ public string OutDate { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏嶆
+ /// </summary>
+ [SugarColumn(ColumnName = "FEXEMPTION")]
+ public decimal? Fexemption { get; set; }
+
+ /// <summary>
+ /// 妗d綅鏍囧噯
+ /// </summary>
+ [SugarColumn(ColumnName = "FGEAR_STAND")]
+ public string FgearStand { get; set; }
+
+ /// <summary>
+ /// 涓嶈壇澶勭悊鏂规硶
+ /// </summary>
+ [SugarColumn(ColumnName = "FNG_HANDLE")]
+ public string FngHandle { get; set; }
+
+ /// <summary>
+ /// 绠$悊缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FMANAGE_NO")]
+ public string FmanageNo { get; set; }
+
+ /// <summary>
+ /// 杞崲鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "FCOVERT_QTY")]
+ public string FcovertQty { get; set; }
+
+ /// <summary>
+ /// 鐗堟湰
+ /// </summary>
+ [SugarColumn(ColumnName = "FVERSION")]
+ public decimal? Fversion { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FSECOND_RESU")]
+ public string FsecondResu { get; set; }
+
+ /// <summary>
+ /// 鏈�澶ф娊妫�鏁�
+ /// </summary>
+ [SugarColumn(ColumnName = "MAX_CHECK_QTY")]
+ public decimal? MaxCheckQty { get; set; }
+
+ /// <summary>
+ /// 鐗瑰畾淇敼鏄惁瀹℃牳
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFY1_FLAG1")]
+ public decimal? Modify1Flag1 { get; set; }
+
+ /// <summary>
+ /// 鐗瑰畾淇敼瀹℃牳浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFY1_BY1")]
+ public string Modify1By1 { get; set; }
+
+ /// <summary>
+ /// 鐗瑰畾淇敼瀹℃牳鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFY1_DATE1")]
+ public DateTime? Modify1Date1 { get; set; }
+
+ /// <summary>
+ /// 灏忔壒娆″彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO1")]
+ public string LotNo1 { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO2")]
+ public string LotNo2 { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHA018")]
+ public string Dha018 { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB002")]
+ public decimal? Dhb002 { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB001")]
+ public string Dhb001 { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ /// </summary>
+ [SugarColumn(ColumnName = "LIFNR")]
+ public string Lifnr { get; set; }
+
+ /// <summary>
+ /// 閫�鏂欐柟寮�
+ /// </summary>
+ [SugarColumn(ColumnName = "FMRMODE")]
+ public string Fmrmode { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/Purdhb.cs b/MES.Service/Modes/Purdhb.cs
new file mode 100644
index 0000000..7fff6ee
--- /dev/null
+++ b/MES.Service/Modes/Purdhb.cs
@@ -0,0 +1,274 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 閲囪喘鍒拌揣鍗曡〃韬�
+/// </summary>
+[SugarTable("PURDHB")]
+public class Purdhb
+{
+ /// <summary>
+ /// 鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB001")]
+ public string Dhb001 { get; set; }
+
+ /// <summary>
+ /// 搴忓彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB002")]
+ public string Dhb002 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB003")]
+ public string Dhb003 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB004")]
+ public string Dhb004 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB005")]
+ public string Dhb005 { get; set; }
+
+ /// <summary>
+ /// 浜よ揣鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB006")]
+ public decimal? Dhb006 { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB007")]
+ public string Dhb007 { get; set; }
+
+ /// <summary>
+ /// 浠撳簱
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB008")]
+ public string Dhb008 { get; set; }
+
+ /// <summary>
+ /// 浠撳簱鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB009")]
+ public string Dhb009 { get; set; }
+
+ /// <summary>
+ /// 鎵瑰彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB010")]
+ public string Dhb010 { get; set; }
+
+ /// <summary>
+ /// 鏉ユ簮鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB011")]
+ public string Dhb011 { get; set; }
+
+ /// <summary>
+ /// 鏉ユ簮搴忓彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB012")]
+ public decimal? Dhb012 { get; set; }
+
+ /// <summary>
+ /// 娓呯偣鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB013")]
+ public decimal? Dhb013 { get; set; }
+
+ /// <summary>
+ /// 鍒板巶鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB014")]
+ public string Dhb014 { get; set; }
+
+ /// <summary>
+ /// 楠屾敹鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB015")]
+ public decimal? Dhb015 { get; set; }
+
+ /// <summary>
+ /// 楠岄��鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB016")]
+ public decimal? Dhb016 { get; set; }
+
+ /// <summary>
+ /// 杩涜揣鍗曚环
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB017")]
+ public decimal? Dhb017 { get; set; }
+
+ /// <summary>
+ /// 杩涜揣閲戦
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB018")]
+ public decimal? Dhb018 { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鏂欏彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB019")]
+ public string Dhb019 { get; set; }
+
+ /// <summary>
+ /// 閮ㄩ棬缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB020")]
+ public string Dhb020 { get; set; }
+
+ /// <summary>
+ /// 璧犲搧鏁�
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB021")]
+ public decimal? Dhb021 { get; set; }
+
+ /// <summary>
+ /// 鏇存柊ERP
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB022")]
+ public string Dhb022 { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀姸鎬�
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB023")]
+ public string Dhb023 { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB024")]
+ public string Dhb024 { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳
+ /// </summary>
+ [SugarColumn(ColumnName = "AUDITING")]
+ public decimal? Auditing { get; set; }
+
+ /// <summary>
+ /// ERP閲囪喘鍗曞彿ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB026")]
+ public decimal? Dhb026 { get; set; }
+
+ /// <summary>
+ /// ERP閲囪喘搴忓彿ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB027")]
+ public decimal? Dhb027 { get; set; }
+
+ /// <summary>
+ /// ERP鐗╂枡ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB028")]
+ public decimal? Dhb028 { get; set; }
+
+ /// <summary>
+ /// 寰呮鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB029")]
+ public decimal? Dhb029 { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB030")]
+ public string Dhb030 { get; set; }
+
+ /// <summary>
+ /// 妫�楠屽憳
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB031")]
+ public string Dhb031 { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB032")]
+ public decimal? Dhb032 { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB033")]
+ public string Dhb033 { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB034")]
+ public string Dhb034 { get; set; }
+
+ /// <summary>
+ /// 閫�璐ф暟閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB035")]
+ public decimal? Dhb035 { get; set; }
+
+ /// <summary>
+ /// ERPID
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB037")]
+ public decimal? Dhb037 { get; set; }
+
+ /// <summary>
+ /// 閫�璐т汉
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB036")]
+ public string Dhb036 { get; set; }
+
+ /// <summary>
+ /// ERP鍘熷垎褰曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB038")]
+ public decimal? Dhb038 { get; set; }
+
+ /// <summary>
+ /// ERP婧愬崟鍐呯爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB039")]
+ public decimal? Dhb039 { get; set; }
+
+ /// <summary>
+ /// ERP婧愬崟绫诲瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB040")]
+ public decimal? Dhb040 { get; set; }
+
+ /// <summary>
+ /// ERP璁㈠崟鍐呯爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB041")]
+ public decimal? Dhb041 { get; set; }
+
+ /// <summary>
+ /// 鑷鍒�
+ /// </summary>
+ [SugarColumn(ColumnName = "ID")]
+ public decimal? Id { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠岋紝1涓哄凡妫�
+ /// </summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public decimal? Ischeck { get; set; }
+
+ /// <summary>
+ /// 浠撳簱
+ /// </summary>
+ [SugarColumn(ColumnName = "DHB042")]
+ public string Dhb042 { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/Purdka.cs b/MES.Service/Modes/Purdka.cs
new file mode 100644
index 0000000..1c3ea40
--- /dev/null
+++ b/MES.Service/Modes/Purdka.cs
@@ -0,0 +1,130 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 閫�鏂欏崟澶�
+/// </summary>
+[SugarTable("PURDKA")]
+public class Purdka
+{
+ /// <summary>
+ /// 鑷鍒�
+ /// </summary>
+ [SugarColumn(ColumnName = "ID")]
+ public decimal? Id { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜哄憳
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATEUSER")]
+ public string Createuser { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATETIME")]
+ public string Createtime { get; set; }
+
+ /// <summary>
+ /// 淇敼鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFYTIME")]
+ public string Modifytime { get; set; }
+
+ /// <summary>
+ /// 淇敼浜哄憳
+ /// </summary>
+ [SugarColumn(ColumnName = "MODIFYUSER")]
+ public string Modifyuser { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳
+ /// </summary>
+ [SugarColumn(ColumnName = "AUDITING")]
+ public string Auditing { get; set; }
+
+ /// <summary>
+ /// 閫�璐у崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA001")]
+ public string Dka001 { get; set; }
+
+ /// <summary>
+ /// 閫�璐х被鍨�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA002")]
+ public string Dka002 { get; set; }
+
+ /// <summary>
+ /// 閫�璐ф棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA003")]
+ public string Dka003 { get; set; }
+
+ /// <summary>
+ /// 閫�璐ф椂闂�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA004")]
+ public string Dka004 { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA005")]
+ public string Dka005 { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗗悕绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA006")]
+ public string Dka006 { get; set; }
+
+ /// <summary>
+ /// 閮ㄩ棬
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA007")]
+ public string Dka007 { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鑰�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA008")]
+ public string Dka008 { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA009")]
+ public string Dka009 { get; set; }
+
+ /// <summary>
+ /// 閫�璐х姸鎬侊紝0鎴栫┖涓烘湭閫�璐э紝1涓哄凡閫�瀹�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA010")]
+ public string Dka010 { get; set; }
+
+ /// <summary>
+ /// ERPID
+ /// </summary>
+ [SugarColumn(ColumnName = "ERPID")]
+ public decimal? Erpid { get; set; }
+
+ /// <summary>
+ /// 淇濈鍛樼紪鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA011")]
+ public string Dka011 { get; set; }
+
+ /// <summary>
+ /// 楠屾敹鍛樼紪鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA012")]
+ public string Dka012 { get; set; }
+
+ /// <summary>
+ /// 鏄惁鎺ㄩ�佺孩瀛楀叆搴�1-鎺ㄩ�侊紝0-鏈帹閫�
+ /// </summary>
+ [SugarColumn(ColumnName = "DKA013")]
+ public decimal? Dka013 { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/Purdkb.cs b/MES.Service/Modes/Purdkb.cs
new file mode 100644
index 0000000..6a0cb38
--- /dev/null
+++ b/MES.Service/Modes/Purdkb.cs
@@ -0,0 +1,142 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 閫�鏂欏崟瀛愯〃
+/// </summary>
+[SugarTable("PURDKB")]
+public class Purdkb
+{
+ /// <summary>
+ /// 鑷鍒�
+ /// </summary>
+ [SugarColumn(ColumnName = "ID")]
+ public decimal? Id { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳
+ /// </summary>
+ [SugarColumn(ColumnName = "AUDITING")]
+ public string Auditing { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATETIME")]
+ public string Createtime { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜哄憳
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATEUSER")]
+ public string Createuser { get; set; }
+
+ /// <summary>
+ /// 鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB001")]
+ public string Dkb001 { get; set; }
+
+ /// <summary>
+ /// 搴忓彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB002")]
+ public string Dkb002 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB003")]
+ public string Dkb003 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB004")]
+ public string Dkb004 { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB005")]
+ public string Dkb005 { get; set; }
+
+ /// <summary>
+ /// 搴旈��鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB006")]
+ public decimal? Dkb006 { get; set; }
+
+ /// <summary>
+ /// 瀹為��鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB007")]
+ public decimal? Dkb007 { get; set; }
+
+ /// <summary>
+ /// 寰呴��鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB008")]
+ public decimal? Dkb008 { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB009")]
+ public string Dkb009 { get; set; }
+
+ /// <summary>
+ /// 鍗曚环
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB010")]
+ public decimal? Dkb010 { get; set; }
+
+ /// <summary>
+ /// 閲戦
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB011")]
+ public decimal? Dkb011 { get; set; }
+
+ /// <summary>
+ /// 鏉ユ簮鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB012")]
+ public string Dkb012 { get; set; }
+
+ /// <summary>
+ /// 鏉ユ簮搴忓彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB013")]
+ public string Dkb013 { get; set; }
+
+ /// <summary>
+ /// 涓嶈壇鍒嗙被
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB014")]
+ public string Dkb014 { get; set; }
+
+ /// <summary>
+ /// 涓嶈壇椤圭洰
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB015")]
+ public string Dkb015 { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB016")]
+ public string Dkb016 { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB017")]
+ public string Dkb017 { get; set; }
+
+ /// <summary>
+ /// 浠撳簱鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "DKB018")]
+ public string Dkb018 { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/service/GetErpParametersServer.cs b/MES.Service/service/GetErpParametersServer.cs
new file mode 100644
index 0000000..0c7ab66
--- /dev/null
+++ b/MES.Service/service/GetErpParametersServer.cs
@@ -0,0 +1,179 @@
+锘縰sing System.Text;
+using System.Web;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace MES.Service.service;
+
+public class GetErpParametersServer
+{
+ private readonly MesInvItemInCDetailsManager _invItemInCDetailsServer =
+ new();
+
+ private readonly MesInvItemOutsManager _invItemOutsServer =
+ new();
+
+ private readonly MessageCenterManager _messageCenterServer = new();
+
+ public List<MessageCenter> GetErpParameters(List<MessageCenter> data)
+ {
+ var centers = new List<MessageCenter>();
+
+ //鑾峰彇涓昏姹�
+ var center = data.Find(p => p.Seq == 1);
+
+ //瑙f瀽URL
+ var queryString =
+ center.PageName.Substring(center.PageName.IndexOf('?') + 1);
+ //鎻愬彇鍙傛暟
+ var queryParameters = HttpUtility.ParseQueryString(queryString);
+
+ var strings = center.TableName.Split("_");
+
+ MessageCenter mesToErp = null;
+ var query = new WarehouseQuery();
+ switch (center.TableName)
+ {
+ //閲囪喘鍏ュ簱鍗曞鏍�
+ case "MES_INV_ITEM_INS_A":
+ //閲囪喘鍏ュ簱鍗曞弽瀹℃牳
+ case "MES_INV_ITEM_INS_B":
+
+ //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
+ query.Type = strings[^1];
+ //鑾峰彇url涓檮甯︾殑鍙傛暟
+ query.id = Convert.ToDecimal(queryParameters["id"]);
+ query.billNo = queryParameters["billNo"];
+ //閲嶆柊鑾峰彇璇锋眰鐨勬暟鎹�
+ mesToErp = _invItemInCDetailsServer.MesToErpParam(query);
+ //璧嬪�间富id
+ mesToErp.Id = center.Id;
+ centers.Add(mesToErp);
+
+ //鏇存柊鍓╀笅鐨勮姹傜殑鍙傛暟
+ var messageCenter = data[0];
+ var json = new JObject
+ {
+ new JProperty("id", query.id),
+ new JProperty("billNo", query.billNo)
+ };
+ messageCenter.Data = json.ToString();
+ centers.Add(messageCenter);
+
+ break;
+
+ //閲囪喘閫�鏂欏崟瀹℃牳
+ case "MES_INV_ITEM_OUTS_A":
+ //閲囪喘閫�鏂欏崟鍙嶅鏍�
+ case "MES_INV_ITEM_OUTS_B":
+
+ //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
+ query.Type = strings[^1];
+ query.id = Convert.ToDecimal(queryParameters["id"]);
+ query.billNo = queryParameters["itemOutNo"];
+
+ //閲嶆柊鑾峰彇璇锋眰鐨勬暟鎹�
+ mesToErp = _invItemOutsServer.MesToErpParam(query);
+ //鏇存涓轰富id
+ mesToErp.Id = center.Id;
+ //娣诲姞鍒拌姹傞泦鍚堜腑
+ centers.Add(mesToErp);
+
+ //鑾峰彇鍓╀綑鐨勮姹�
+ var find = data.FindAll(s => s.Seq != 1);
+ var result = new JObject
+ {
+ new JProperty("id", query.id),
+ new JProperty("billNo", query.billNo)
+ };
+ find.ForEach(s =>
+ {
+ s.Data = result.ToString();
+ centers.Add(s);
+ });
+ break;
+ default:
+ throw new Exception("鏃犳硶璇嗗埆TableName绫诲瀷");
+ }
+
+ //鏍规嵁椤哄簭杩斿洖
+ return centers.OrderBy(p => p.Seq).ToList();
+ }
+
+
+ public string Resend(MessageCenter data)
+ {
+ //鑾峰彇鎵�鏈夌殑鍥炶皟
+ var messageCenters =
+ _messageCenterServer.GetList(it => it.Pid == data.Id);
+ messageCenters.Add(data);
+ var erpParameters = GetErpParameters(messageCenters);
+
+ return sendHttp(erpParameters).Result;
+ }
+
+
+ private async Task<string> sendHttp(List<MessageCenter> requestList)
+ {
+ var sortedRequests = requestList.OrderBy(r => r.Seq).ToList();
+
+ using var httpClient = new HttpClient();
+
+ var responses = "";
+
+ foreach (var request in sortedRequests)
+ {
+ var httpRequestMessage = new HttpRequestMessage
+ {
+ Method = new HttpMethod(request.Method),
+ RequestUri = new Uri(request.Url),
+ Content = new StringContent(request.Data, Encoding.UTF8,
+ request.ContentType)
+ };
+
+ var response =
+ await httpClient.SendAsync(httpRequestMessage);
+ var responseData = await response.Content.ReadAsStringAsync();
+
+ var result = JsonConvert.DeserializeObject<Result>(responseData);
+
+ responses += result.msg + "!!!";
+ responses += result.message + "!!!";
+
+ if ("500".Equals(result.state))
+ {
+ responses = "杩斿洖鎶ラ敊锛�" + responses;
+ return responses;
+ }
+
+ if ("1".Equals(result.status))
+ {
+ responses = "杩斿洖鎶ラ敊锛�" + responses;
+ return responses;
+ }
+
+ request.Result = 1;
+ request.ResultData = result.msg;
+ request.Status = 1;
+ request.DealWith = 1;
+
+ _messageCenterServer.ResetUpdate(request);
+ }
+
+ responses = "閲嶆帹鎴愬姛锛�" + responses;
+ return responses;
+ }
+}
+
+public class Result
+{
+ public string? state { get; set; }
+ public string? msg { get; set; }
+
+ public string? status { get; set; }
+
+ public string? message { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs b/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs
new file mode 100644
index 0000000..c827092
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs
@@ -0,0 +1,206 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemArnDetailManager : Repository<MesInvItemArnDetail>
+{
+ //var result = db.Ado.GetString($"SELECT f_getseqnextvalue('{sequenceName}') FROM DUAL");
+
+ private readonly PurdhbManager purdhbManager = new();
+ private readonly PurdkaManager purdkaManager = new();
+ private readonly PurdkbManager purdkbManager = new();
+
+ private readonly MesQaItemsDetect01Manager rohInDataManager = new();
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemArnDetailManager.cs
+
+ public List<MesInvItemArnDetail> GetDetails(WarehouseQuery query)
+ {
+ // 鏌ヨ
+ return Db.Queryable<MesInvItemArnDetail, MesItems, MesUnit>(
+ (c, t, u) => new object[]
+ {
+ JoinType.Left,
+ c.ItemNo == t.ItemNo && c.Company == t.Company &&
+ c.Factory == t.Factory,
+ JoinType.Left,
+ t.Fpurchaseunitid == u.Id && t.Factory == u.Factory &&
+ t.Company == u.Company
+ })
+ .Where((c, t, u) => c.Mid == query.id)
+ .Select((c, t, u) => new MesInvItemArnDetail
+ {
+ CheckRes = c.CheckRes,
+ itemModel = t.ItemModel,
+ itemName = t.ItemName,
+ UrgentFlag = c.UrgentFlag,
+ Memo = c.Memo,
+ Quantity = c.Quantity,
+ SubQty = c.SubQty,
+ CheckStates = c.CheckStates,
+ WorkLine = c.WorkLine,
+ IsdepsIn = c.IsdepsIn,
+ OkRkqty = c.OkRkqty,
+ Fname = u.Fname,
+ EbelnQty = c.EbelnQty,
+ ItemNo = c.ItemNo,
+ Id = c.Id,
+ Ebeln = c.Ebeln
+ })
+ .ToList();
+ }
+
+ public List<Material> GetMaterial(WarehouseQuery query)
+ {
+ // 鏌ヨ
+ var result = Db
+ .Queryable<MesQaItemsDetect01, MesInvItemArn, MesInvItemArnDetail,
+ MesItems, MesUnit>(
+ (a, d, b, c, t) => new object[]
+ {
+ JoinType.Inner, d.BillNo == a.LotNo,
+ JoinType.Inner, d.Id == b.Mid && b.ItemNo == a.ItemNo,
+ JoinType.Inner,
+ a.ItemNo == c.ItemNo && a.Company == c.Company &&
+ a.Factory == c.Factory,
+ JoinType.Inner, c.Fpurchaseunitid == t.Id
+ })
+ .Where((a, d, b, c, t) => a.FngHandle == "閫�璐�" &&
+ query.ItemArnDetailIds.Contains(b.Id))
+ .Select((a, d, b, c, t) => new Material
+ {
+ FmrMode = a.Fmrmode,
+ FngDesc = a.FngDesc,
+ FsrcEntryId = b.Id,
+ FrmRealQty = b.Quantity,
+ FmaterialId = a.ItemNo,
+ FstockId = d.DepotsCode,
+ Funit = t.Fnumber,
+ FmesEntryId = a.Id,
+ Mid = d.Id
+ })
+ .ToList();
+
+ return result;
+ }
+
+ public bool SetMaterial(Material material)
+ {
+ var b1 = UseTransaction(db =>
+ {
+ var executeCommand = db.Updateable<MesInvItemArnDetail>()
+ .SetColumns(s => s.CheckRes == "涓嶅悎鏍�")
+ .SetColumns(s => s.CheckStates == "閫�璐�")
+ .SetColumns(s => s.Ischeck == 1)
+ .Where(s =>
+ s.Mid == material.Mid && s.ItemNo == material.FmaterialId)
+ .ExecuteCommand();
+
+ var mesQaItemsDetect01 = db.Queryable<MesQaItemsDetect01>()
+ .Where(a => a.Id == material.FmesEntryId).Single();
+
+ if (mesQaItemsDetect01 == null) return 0;
+
+ var suppName = db.Queryable<MesSupplier>()
+ .Where(b => b.SuppNo == mesQaItemsDetect01.SuppNo)
+ .Select<string>(b => b.SuppName).First();
+
+ var CIdt = db.Ado.GetString(
+ "SELECT f_getseqnextvalue('mes_inv_item_ins') FROM DUAL");
+
+ var billNo = db.Ado.GetString(
+ "SELECT getbillcode1('1000', '1000', 'INV_IN_BACK') FROM DUAL");
+
+ // PURDKA
+ var purdka = GetPurdka(CIdt, billNo, mesQaItemsDetect01, suppName);
+
+ executeCommand += db.Insertable(purdka).ExecuteCommand();
+
+ executeCommand += InsertPurdkbs(db, mesQaItemsDetect01, billNo);
+
+ executeCommand += db.Updateable<MesQaItemsDetect01>()
+ .SetColumns(c => c.Modify1Flag == 1)
+ .SetColumns(c => c.Modify1By == material.UserName)
+ .SetColumns(c => c.Modify1Date == DateTime.Now)
+ .SetColumns(c => c.FngHandle == "閫�璐�")
+ .Where(c => c.ReleaseNo == mesQaItemsDetect01.ReleaseNo)
+ .ExecuteCommand();
+
+ return executeCommand;
+ }) >= 4;
+
+ if (b1 == false) throw new NotImplementedException("鎺ㄩ�佸け璐ワ紝Mes鏂归潰鍑虹幇闂");
+
+ return b1;
+ }
+
+ private int InsertPurdkbs(SqlSugarScope db,
+ MesQaItemsDetect01 mesQaItemsDetect01, string billNo)
+ {
+ var purdhbs = db.Queryable<Purdhb>()
+ .Where(c => c.Dhb001 == mesQaItemsDetect01.LotNo
+ && c.Dhb003 == mesQaItemsDetect01.ItemNo)
+ .Select(c => new Purdhb
+ {
+ Dhb002 = c.Dhb002,
+ Dhb003 = c.Dhb003,
+ Dhb006 = c.Dhb006,
+ Dhb007 = c.Dhb007,
+ Dhb017 = c.Dhb017,
+ Dhb018 = c.Dhb018,
+ Dhb001 = c.Dhb001,
+ Dhb042 = c.Dhb042
+ }).ToList();
+
+ var list = new List<Purdkb>();
+
+ purdhbs.ForEach(s =>
+ {
+ var id = db.Ado.GetString(
+ "SELECT f_getseqnextvalue('MES_INV_ITEM_IN_C_DETAILS') FROM DUAL");
+
+ var purdkb = new Purdkb();
+ purdkb.Id = Convert.ToDecimal(id);
+ purdkb.Dkb001 = billNo;
+ purdkb.Dkb002 = s.Dhb002;
+ purdkb.Dkb003 = s.Dhb003;
+ purdkb.Dkb006 = s.Dhb006;
+ purdkb.Dkb007 = s.Dhb006;
+ purdkb.Dkb008 = 0;
+ purdkb.Dkb009 = s.Dhb007;
+ purdkb.Dkb010 = s.Dhb017;
+ purdkb.Dkb011 = s.Dhb018;
+ purdkb.Dkb012 = s.Dhb001;
+ purdkb.Dkb013 = s.Dhb002;
+ purdkb.Dkb016 = s.Dhb042;
+
+ list.Add(purdkb);
+ });
+
+ var insertRange = db.Insertable(list).ExecuteCommand();
+
+ return insertRange == purdhbs.Count ? 1 : 0;
+ }
+
+ private static Purdka GetPurdka(string CIdt, string billNo,
+ MesQaItemsDetect01 mesQaItemsDetect01, string suppName)
+ {
+ var date = DateTime.Now.ToString("yyyy-MM-dd");
+ var purdka = new Purdka();
+ purdka.Id = Convert.ToDecimal(CIdt);
+ purdka.Dka001 = billNo;
+ purdka.Dka002 = "閲囪喘閫�璐�";
+ purdka.Dka003 = date;
+ purdka.Dka004 = date;
+ purdka.Dka005 = mesQaItemsDetect01.SuppNo;
+ purdka.Dka006 = suppName;
+ purdka.Dka010 = "1";
+ purdka.Dka013 = 0;
+ purdka.Createuser = mesQaItemsDetect01.LastupdateBy;
+ return purdka;
+ }
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemArnManager.cs b/MES.Service/service/Warehouse/MesInvItemArnManager.cs
new file mode 100644
index 0000000..c382c5c
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemArnManager.cs
@@ -0,0 +1,66 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemArnManager : Repository<MesInvItemArn>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemArnManager.cs
+ public List<MesInvItemArn> GetPagedResults(WarehouseQuery query)
+ {
+ // 鏌ヨ骞跺垎椤�
+ var result = Db.Queryable<MesInvItemArn, MesDepots, MesSupplier>(
+ (a, d, f) => new object[]
+ {
+ JoinType.Left,
+ a.DepotsCode == d.DepotCode && d.Factory == a.Factory &&
+ d.Company == a.Company,
+ JoinType.Left, a.SuppNo == f.SuppNo
+ })
+ .Where((a, d, f) => a.BillTypeId == 700
+ && a.TransctionNo == "701"
+ && a.Factory == "1000"
+ && a.Company == "1000"
+ && a.IsVisual == 0)
+ .WhereIF(query.id != null, (a, d, f) => a.Id == query.id)
+ .Select((a, d, f) => new MesInvItemArn
+ {
+ Status = a.Status,
+ SuppNo = a.SuppNo,
+ FType = a.FType,
+ Fstatus = a.Fstatus,
+ Remark = a.Remark,
+ Insdate = a.Insdate,
+ CheckDate = a.CheckDate,
+ DepotsCode = a.DepotsCode,
+ Id = a.Id,
+ UrgentFlag = a.UrgentFlag,
+ CreateBy = a.CreateBy,
+ BillNo = a.BillNo,
+ PaperBillNo = a.PaperBillNo,
+ DepotName = d.DepotName,
+ SuppName = f.SuppName
+ }).OrderByDescending(a => a.BillNo)
+ .ToPageList(query.PageIndex, query.Limit);
+
+ return result;
+ }
+
+ public List<MesSupplier> GetSuppliers()
+ {
+ return Db.Queryable<MesInvItemArn, MesSupplier>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.SuppNo == b.SuppNo))
+ .GroupBy((a, b) => new { b.Id, a.SuppNo, b.SuppName })
+ .Select((a, b) => new MesSupplier
+ {
+ SuppNo = a.SuppNo,
+ SuppName = b.SuppName,
+ Id = b.Id
+ })
+ .ToList();
+ }
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs b/MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs
new file mode 100644
index 0000000..836f395
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs
@@ -0,0 +1,78 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemBarcodesManager : Repository<MesInvItemBarcodes>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemBarcodesManager.cs
+
+
+ #region 鏁欏鏂规硶
+
+ /// <summary>
+ /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
+ /// </summary>
+ public void Study()
+ {
+ /*********鏌ヨ*********/
+
+ var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
+ var data2 = base.GetList(); //鏌ヨ鎵�鏈�
+ var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ
+ //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
+
+ var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
+ var data5 = base.GetPageList(it => 1 == 1, p);
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var data6 =
+ base.GetPageList(it => 1 == 1, p,
+ it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
+ conModels.Add(new ConditionalModel
+ {
+ FieldName = typeof(MesInvItemBarcodes).GetProperties()[0].Name,
+ ConditionalType = ConditionalType.Equal, FieldValue = "1"
+ }); //id=1
+ var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
+
+ AsQueryable().Where(x => 1 == 1)
+ .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
+
+
+ /*********鎻掑叆*********/
+ var insertData = new MesInvItemBarcodes(); //娴嬭瘯鍙傛暟
+ var insertArray = new[] { insertData };
+ base.Insert(insertData); //鎻掑叆
+ base.InsertRange(insertArray); //鎵归噺鎻掑叆
+ var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
+ AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+ /*********鏇存柊*********/
+ var updateData = new MesInvItemBarcodes(); //娴嬭瘯鍙傛暟
+ var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
+ base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
+ base.UpdateRange(updateArray); //鎵归噺鏇存柊
+ //base.Update(it => new MesInvItemBarcodes() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+ AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+ /*********鍒犻櫎*********/
+ var deldata = new MesInvItemBarcodes(); //娴嬭瘯鍙傛暟
+ base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
+ base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
+ base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+ base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
+ AsDeleteable().Where(it => 1 == 2)
+ .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs b/MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs
new file mode 100644
index 0000000..48f5973
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs
@@ -0,0 +1,292 @@
+锘縰sing System.Data;
+using MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.util;
+using Newtonsoft.Json;
+using SqlSugar;
+using DbType = System.Data.DbType;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemInCDetailsManager : Repository<MesInvItemInCDetails>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ public PurchaseInventory SaveBarCodes(WarehouseQuery entity)
+ {
+ // 閲囪喘鍏ュ簱[FILED3[userName[sectionCode[barcode
+ var inputParam = "閲囪喘鍏ュ簱[FILED3[" + entity.userName + "[" +
+ entity.sectionCode + "[" + entity.barcode;
+
+ // 瀹氫箟杈撳嚭鍙傛暟
+ var outputParam = new SugarParameter("c_result", null,
+ DbType.String, ParameterDirection.Output,
+ 4000);
+
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ Db.Ado.ExecuteCommand(
+ "BEGIN prc_rf_pda_scan_in_barcode_N(:c_in_str, :c_result); END;",
+ new SugarParameter("c_in_str", inputParam,
+ DbType.String), outputParam);
+
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ var resultValue = outputParam.Value?.ToString();
+
+// 鏍规嵁杩斿洖鍊煎鐞嗛�昏緫
+ if (resultValue.StartsWith("001"))
+ {
+ // 鎴彇骞跺鐞嗙粨鏋�
+ // 鍘绘帀鍓嶇紑 "001[" 鍜屾渶鍚庣殑 "]"
+ var content = resultValue.Substring(4).TrimEnd(']');
+ // 鎻愬彇绗竴涓�楀彿涔嬪墠鐨勯儴鍒�
+ var parts = content.Split(',');
+
+
+ var mesInvItemInCDetails =
+ base.GetSingle(it => it.ItemBarcode == entity.barcode);
+
+ if (mesInvItemInCDetails == null)
+ throw new Exception("鐗╂枡鍏ュ簱鏉$爜鏄庣粏涓嶅瓨鍦�"); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
+
+ var itemInId = mesInvItemInCDetails.ItemInId;
+ entity.id = itemInId;
+ entity.PageIndex = 1;
+ entity.Limit = 1;
+
+ var inventory = getPurchaseInventory(entity);
+ inventory.ItemNo = parts[0];
+ inventory.SumQuantity = Convert.ToDecimal(parts[1]);
+ return inventory;
+ }
+
+ if (resultValue.StartsWith("002"))
+ {
+ // 鎻愬彇骞舵姏鍑哄紓甯镐俊鎭�
+ var errorMessage = resultValue.Substring(4); // 鑾峰彇 "002" 鍚庨潰鐨勯儴鍒�
+ throw new Exception(errorMessage); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
+ }
+
+ throw new Exception("鏈煡閿欒: " + resultValue);
+ }
+
+
+ public PurchaseInventory getPurchaseInventory(WarehouseQuery query)
+ {
+ return new PurchaseInventory
+ {
+ ItemIns = GetInvItemInsList(query)[0],
+ ItemInDetails = GetItemInDetails(query.id),
+ InvItemInCDetails = GetInvItemInCDetails(query.id)
+ };
+ }
+
+ public List<MesInvItemIns> GetInvItemInsList(WarehouseQuery query)
+ {
+ return Db.Queryable<MesInvItemIns, MesDepots, MesSupplier>((a, b, c) =>
+ new JoinQueryInfos(JoinType.Left, a.DepotsCode == b.DepotCode
+ && b.Factory == a.Factory
+ && b.Company == a.Company,
+ JoinType.Left, a.SuppNo == c.SuppNo))
+ .WhereIF(query.id > 0, (a, b, c) => a.Id == query.id)
+ .Select((a, b, c) => new MesInvItemIns
+ {
+ Id = a.Id,
+ SuppNo = a.SuppNo,
+ InsDate = a.InsDate,
+ PaperBillNo = a.PaperBillNo,
+ Remark = a.Remark,
+ DepotsCode = a.DepotsCode,
+ CbillNo = a.CbillNo,
+ Status = a.Status,
+ BillNo = a.BillNo,
+ CreateDate = a.CreateDate,
+ CreateBy = a.CreateBy,
+ DepotName = b.DepotName,
+ SuppName = c.SuppName
+ }).ToPageList(query.PageIndex, query.Limit);
+ }
+
+ public List<MesInvItemInCItems> GetItemInDetails(decimal? pid)
+ {
+ var result = Db.Queryable<MesInvItemInCItems>()
+ .WhereIF(pid > 0, g => g.ItemInId == pid).ToList();
+
+ return result;
+ }
+
+ public List<MesInvItemInCDetails> GetInvItemInCDetails(decimal? pid)
+ {
+ var result = Db.Queryable<MesInvItemInCDetails, MesItems, MesUnit>(
+ (g, c, d) => new JoinQueryInfos(
+ JoinType.Left,
+ g.ItemNo == c.ItemNo && g.Company == c.Company &&
+ g.Factory == c.Factory, JoinType.Inner,
+ d.Id == Convert.ToDecimal(c.ItemUnit)
+ )
+ ).WhereIF(pid > 0, (g, c, d) => g.ItemInId == pid)
+ .Select((g, c, d) => new MesInvItemInCDetails
+ {
+ Id = g.Id,
+ ItemName = c.ItemName,
+ ItemModel = c.ItemModel,
+ ItemUnit = d.Fname,
+ DepotSectionCode = g.DepotSectionCode,
+ CbillNo = g.CbillNo,
+ ItemBarcode = g.ItemBarcode,
+ UrgentFlag = g.UrgentFlag,
+ ItemNo = g.ItemNo,
+ WorkNo = g.WorkNo,
+ Quantity = g.Quantity
+ })
+ .ToList();
+
+ return result;
+ }
+
+ public MessageCenter MesToErpParam(WarehouseQuery query)
+ {
+ var erpParameters = "";
+ var title = "";
+ var tableName = "MES_INV_ITEM_INS_" + query.Type;
+ if ("A".Equals(query.Type))
+ {
+ erpParameters = GetErpParameters(query.billNo);
+ title = "閲囪喘鍏ュ簱鍗�" + query.billNo + "瀹℃牳";
+ }
+ else if ("B".Equals(query.Type))
+ {
+ erpParameters = GetDeApprovePam(query.id);
+ title = "閲囪喘鍏ュ簱鍗�" + query.billNo + "鍙嶅鏍�";
+ }
+
+ var ErpUrl = AppsettingsUtility.Settings.ProductionErpUrl;
+ var message = new MessageCenter
+ {
+ TableName = tableName,
+ Url = ErpUrl,
+ Status = 1,
+ CreateBy = query.userName,
+ Route = query.billNo,
+ Title = title,
+ PageName = "Warehouse/PurchaseInventory/Add?id=" + query.id +
+ "&billNo=" + query.billNo,
+ CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ Method = "POST",
+ Seq = 1,
+ Data = erpParameters,
+ IsMessage = 0,
+ ContentType = "application/x-www-form-urlencoded"
+ };
+ return message;
+ }
+
+ public MessageCenter SaveMessageCenter(WarehouseQuery query)
+ {
+ var message = MesToErpParam(query);
+
+ var executeReturnIdentity =
+ Db.Insertable(message).ExecuteReturnIdentity();
+ if (executeReturnIdentity > 0)
+ {
+ message.Id = executeReturnIdentity;
+ message.Pid = executeReturnIdentity;
+ return message;
+ }
+
+ throw new Exception("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ //audit
+ public bool audit(WarehouseQuery entity)
+ {
+ entity.date = DateTime.Now;
+ entity.status = 1;
+ return Update(entity);
+ }
+
+ public bool deApprove(WarehouseQuery entity)
+ {
+ entity.date = null;
+ entity.status = 0;
+ return Update(entity);
+ }
+
+ private bool Update(WarehouseQuery entity)
+ {
+ return Db.Updateable<MesInvItemIns>()
+ .SetColumns(x => x.Status == entity.status)
+ .SetColumns(x => x.InsDate == entity.date)
+ .Where(x => x.BillNo == entity.billNo)
+ .ExecuteCommand() > 0;
+ }
+
+ private string GetErpParameters(string? billNo)
+ {
+ var invItemIns = Db.Queryable<MesInvItemIns>()
+ .Single(x => x.BillNo == billNo);
+
+ if (invItemIns == null) throw new Exception("鍏ュ簱鍗曞彿涓嶅瓨鍦�");
+
+ if (invItemIns.Status == 1) throw new Exception("鍏ュ簱鍗曞凡瀹℃牳锛屼笉鑳介噸澶嶆帹閫�");
+
+ var materials = Db.Queryable<MesInvItemInCItems, MesItems, MesUnit,
+ MesInvItemArnDetail>(
+ (g, c, d, a) => new JoinQueryInfos(
+ JoinType.Left,
+ g.ItemNo == c.ItemNo && g.Company == c.Company &&
+ g.Factory == c.Factory, JoinType.Inner,
+ d.Id == Convert.ToDecimal(c.ItemUnit),
+ JoinType.Inner,
+ a.Ebeln == g.WorkNo && a.WorkLine == g.EbelnLineNo
+ && g.CbillNo == a.CbillNo
+ )
+ ).Where((g, c, d, a) => g.BillNo == billNo).Select<Material>(
+ (g, c, d, a) => new Material
+ {
+ FstockId = g.DepotCode,
+ FuintId = d.Fnumber,
+ FsrcEntryId = a.Id,
+ FmesEntryId = g.Id,
+ FmaterialId = a.ItemNo,
+ DepotSectionCode = g.DepotSectionCode,
+ WorkNo = g.WorkNo,
+ Frealqty = g.Quantity
+ }).ToList();
+
+
+ if (materials == null || materials.Count == 0)
+ throw new Exception("娌℃湁鎵惧埌鐩稿叧鏁版嵁"); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
+ // 鏋勯�� JSON
+
+ var jsonEntries = materials.Select(d => new
+ {
+ FMaterialId = d.FmaterialId,
+ FUintId = d.FuintId,
+ FRealQty = d.Frealqty,
+ FStockId = d.FstockId,
+ FSRCENTRYID = d.FsrcEntryId.ToString(),
+ F_MES_ENTRYID = d.FmesEntryId.ToString()
+ }).ToList();
+
+ var fdate = DateTime.Now.ToString("yyyy-MM-dd");
+
+ var jsonString = JsonConvert.SerializeObject(jsonEntries);
+ var encodedUrl = "taskname=CGRK&mesid=" + invItemIns.Id +
+ "&optype=create&datajson={\"F_MES_ID\":\"" +
+ invItemIns.Id + "\",\"FDate\":\"" + fdate +
+ "\",\"cgrkentry\":" + jsonString + "}";
+
+ return encodedUrl;
+ }
+
+
+ private string GetDeApprovePam(decimal? id)
+ {
+ var sid = (int)id;
+ var encodedUrl = "taskname=CGRK&mesid=" + sid +
+ "&optype=delete&datajson={}";
+
+ return encodedUrl;
+ }
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemInCItemsManager.cs b/MES.Service/service/Warehouse/MesInvItemInCItemsManager.cs
new file mode 100644
index 0000000..fee3845
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemInCItemsManager.cs
@@ -0,0 +1,82 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemInCItemsManager : Repository<MesInvItemInCItems>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemInCItemsManager.cs
+
+
+ #region 鏁欏鏂规硶
+
+ /// <summary>
+ /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
+ /// </summary>
+ public void Study()
+ {
+ /*********鏌ヨ*********/
+
+ var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
+ var data2 = base.GetList(); //鏌ヨ鎵�鏈�
+ var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ
+ //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
+
+ var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
+ var data5 = base.GetPageList(it => 1 == 1, p);
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var data6 = base.GetPageList(it => 1 == 1, p,
+ it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var
+ conModels =
+ new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
+ conModels.Add(new ConditionalModel
+ {
+ FieldName = typeof(MesInvItemInCItems).GetProperties()[0].Name,
+ ConditionalType = ConditionalType.Equal, FieldValue = "1"
+ }); //id=1
+ var data7 = base.GetPageList(conModels, p,
+ it => SqlFunc.GetRandom());
+
+ AsQueryable().Where(x => 1 == 1)
+ .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
+
+
+ /*********鎻掑叆*********/
+ var insertData = new MesInvItemInCItems(); //娴嬭瘯鍙傛暟
+ var insertArray = new[] { insertData };
+ base.Insert(insertData); //鎻掑叆
+ base.InsertRange(insertArray); //鎵归噺鎻掑叆
+ var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
+ AsInsertable(insertData)
+ .ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+ /*********鏇存柊*********/
+ var updateData = new MesInvItemInCItems(); //娴嬭瘯鍙傛暟
+ var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
+ base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
+ base.UpdateRange(updateArray); //鎵归噺鏇存柊
+ //base.Update(it => new MesInvItemInCItems() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+ AsUpdateable(updateData)
+ .ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+ /*********鍒犻櫎*********/
+ var deldata = new MesInvItemInCItems(); //娴嬭瘯鍙傛暟
+ base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
+ base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
+ base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+ base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
+ AsDeleteable().Where(it => 1 == 2)
+ .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs b/MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs
new file mode 100644
index 0000000..4d40c63
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs
@@ -0,0 +1,78 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemOutCDetailsManager : Repository<MesInvItemOutCDetails>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemOutCDetailsManager.cs
+
+
+ #region 鏁欏鏂规硶
+
+ /// <summary>
+ /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
+ /// </summary>
+ public void Study()
+ {
+ /*********鏌ヨ*********/
+
+ var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
+ var data2 = base.GetList(); //鏌ヨ鎵�鏈�
+ var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ
+ //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
+
+ var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
+ var data5 = base.GetPageList(it => 1 == 1, p);
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var data6 =
+ base.GetPageList(it => 1 == 1, p,
+ it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
+ conModels.Add(new ConditionalModel
+ {
+ FieldName = typeof(MesInvItemOutCDetails).GetProperties()[0].Name,
+ ConditionalType = ConditionalType.Equal, FieldValue = "1"
+ }); //id=1
+ var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
+
+ AsQueryable().Where(x => 1 == 1)
+ .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
+
+
+ /*********鎻掑叆*********/
+ var insertData = new MesInvItemOutCDetails(); //娴嬭瘯鍙傛暟
+ var insertArray = new[] { insertData };
+ base.Insert(insertData); //鎻掑叆
+ base.InsertRange(insertArray); //鎵归噺鎻掑叆
+ var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
+ AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+ /*********鏇存柊*********/
+ var updateData = new MesInvItemOutCDetails(); //娴嬭瘯鍙傛暟
+ var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
+ base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
+ base.UpdateRange(updateArray); //鎵归噺鏇存柊
+ //base.Update(it => new MesInvItemOutCDetails() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+ AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+ /*********鍒犻櫎*********/
+ var deldata = new MesInvItemOutCDetails(); //娴嬭瘯鍙傛暟
+ base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
+ base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
+ base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+ base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
+ AsDeleteable().Where(it => 1 == 2)
+ .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs b/MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs
new file mode 100644
index 0000000..ec0d8cd
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs
@@ -0,0 +1,78 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemOutItemsManager : Repository<MesInvItemOutItems>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemOutItemsManager.cs
+
+
+ #region 鏁欏鏂规硶
+
+ /// <summary>
+ /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
+ /// </summary>
+ public void Study()
+ {
+ /*********鏌ヨ*********/
+
+ var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
+ var data2 = base.GetList(); //鏌ヨ鎵�鏈�
+ var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ
+ //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
+
+ var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
+ var data5 = base.GetPageList(it => 1 == 1, p);
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var data6 =
+ base.GetPageList(it => 1 == 1, p,
+ it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
+ conModels.Add(new ConditionalModel
+ {
+ FieldName = typeof(MesInvItemOutItems).GetProperties()[0].Name,
+ ConditionalType = ConditionalType.Equal, FieldValue = "1"
+ }); //id=1
+ var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
+
+ AsQueryable().Where(x => 1 == 1)
+ .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
+
+
+ /*********鎻掑叆*********/
+ var insertData = new MesInvItemOutItems(); //娴嬭瘯鍙傛暟
+ var insertArray = new[] { insertData };
+ base.Insert(insertData); //鎻掑叆
+ base.InsertRange(insertArray); //鎵归噺鎻掑叆
+ var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
+ AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+ /*********鏇存柊*********/
+ var updateData = new MesInvItemOutItems(); //娴嬭瘯鍙傛暟
+ var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
+ base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
+ base.UpdateRange(updateArray); //鎵归噺鏇存柊
+ //base.Update(it => new MesInvItemOutItems() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+ AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+ /*********鍒犻櫎*********/
+ var deldata = new MesInvItemOutItems(); //娴嬭瘯鍙傛暟
+ base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
+ base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
+ base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+ base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
+ AsDeleteable().Where(it => 1 == 2)
+ .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemOutsManager.cs b/MES.Service/service/Warehouse/MesInvItemOutsManager.cs
new file mode 100644
index 0000000..08b04e2
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemOutsManager.cs
@@ -0,0 +1,706 @@
+锘縰sing System.Data;
+using MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.util;
+using SqlSugar;
+using DbType = System.Data.DbType;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemOutsManager : Repository<MesInvItemOuts>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemOutsManager.cs
+
+ public bool ScanCode(WarehouseQuery query)
+ {
+ decimal billTypeId = 200;
+ decimal transactionNo = 203;
+
+ var count = Db.Queryable<MesInvItemOutCDetails>()
+ .Where(a =>
+ a.ItemBarcode == query.barcode && a.TaskNo == query.billNo)
+ .Count();
+
+ if (count > 0) throw new Exception("鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+
+ //楠岃瘉鏉$爜
+ var mesInvItemStocks = Db.Queryable<MesInvItemStocks>()
+ .Where(a => a.ItemBarcode == query.barcode
+ && a.Quantity > 0).Single();
+
+ if (mesInvItemStocks == null)
+ throw new Exception(query.barcode + "搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒");
+
+ //楠岃瘉鍑哄簱鍗昺es_inv_item_outs
+ var mesInvItemOuts = Db.Queryable<MesInvItemOuts>()
+ .Where(d => d.ItemOutNo == query.billNo
+ && d.BillTypeId == billTypeId &&
+ d.TransactionNo == transactionNo).Single();
+
+ //鍑哄簱鍗曠殑鏍¢獙
+ if (mesInvItemOuts == null)
+ throw new Exception("鍑哄簱鍗� " + query.billNo + " 涓嶅瓨鍦紝璇风‘璁わ紒");
+
+ //鏈鏍哥殑涓嶅厑璁哥户缁�
+ if (mesInvItemOuts.Status == null || mesInvItemOuts.Status == 0)
+ throw new Exception("鍑哄簱鍗� " + query.billNo + "鏈鏍�");
+
+ //宸叉帹閫佺殑涓嶅厑璁哥户缁�
+ if (mesInvItemOuts.Nflag == 1)
+ throw new Exception("鍑哄簱鍗� " + query.billNo + "宸茬粡鎺ㄩ�侊紝鏃犳硶閲嶅鎺ㄩ��");
+
+ var depotCodeOut = mesInvItemOuts.DepotCode ?? "0";
+ var depotsCodeStock = mesInvItemStocks.DepotsCode ?? "0";
+
+ if (!depotCodeOut.Equals(depotsCodeStock))
+ {
+ // 鍒涘缓閿欒娑堟伅
+ var errorMessage =
+ $"002[鏉$爜浠撳簱{depotsCodeStock}涓庣敵璇蜂粨搴搟depotCodeOut}涓嶄竴鑷达紝璇锋牳瀵癸紒";
+
+ throw new Exception(errorMessage);
+ }
+
+ var StocksNum = mesInvItemStocks.Quantity;
+
+ var sql = string.Format(
+ @"select nvl(SUM(S.QUANTITY),0) - nvl(SUM(S.TL_QTY),0)
+ from MES_INV_ITEM_OUT_ITEMS S
+ LEFT JOIN mes_inv_item_outs d
+ ON S.ITEM_OUT_ID = D.ID
+ where d.item_out_no = '{0}'
+ and d.bill_type_id = {1}
+ and d.transaction_no = {2}
+ AND S.item_no = '{3}'
+ and nvl(d.status, 0) = 1
+ and nvl(d.nflag, 0) = 0", query.billNo, billTypeId,
+ transactionNo,
+ mesInvItemStocks.ItemNo);
+
+ var cqty = Db.Ado.SqlQuerySingle<decimal>(sql);
+
+ if (cqty == null)
+ throw new Exception("鐗╂枡" + mesInvItemStocks.ItemNo +
+ "鐨勮緟鍔╁睘鎬т笌鏉$爜涓嶄竴鑷达紒璇锋鏌�");
+
+ if (cqty < StocksNum) throw new Exception("璇风‘璁ゅ彂鏂欐暟閲�");
+
+ //璋冪敤瀛樺偍杩囩▼
+ try
+ {
+ // 瀹氫箟杈撳嚭鍙傛暟
+ var outputResult = new SugarParameter("C_RESULT", null,
+ DbType.Int32, ParameterDirection.Output,
+ 4000);
+
+ var outputMessage = new SugarParameter("MSG", null, DbType.String,
+ ParameterDirection.Output, 4000);
+
+ // 瀹氫箟杈撳叆鍙傛暟
+ var parameters = new List<SugarParameter>
+ {
+ new("p_item_barcode", query.barcode,
+ DbType.String, ParameterDirection.Input),
+ new("p_bill_no", query.billNo, DbType.String,
+ ParameterDirection.Input),
+ new("pi_factory", "1000", DbType.String,
+ ParameterDirection.Input),
+ new("pi_company", "1000", DbType.String,
+ ParameterDirection.Input),
+ new("c_user", query.userName, DbType.String,
+ ParameterDirection.Input),
+ outputResult,
+ outputMessage
+ };
+
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ Db.Ado.ExecuteCommand(
+ "BEGIN MES_CG_UPDATE_BARCODES(:p_item_barcode, :p_bill_no, :pi_factory, :pi_company, :c_user, :C_RESULT, :MSG); END;",
+ parameters.ToArray());
+
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ var resultValue = outputResult.Value?.ToString();
+ var messageValue = outputMessage.Value?.ToString();
+
+ if ("1".Equals(resultValue)) throw new Exception("鏉$爜鎵i櫎澶辫触");
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+
+ // 鍙橀噺鐢ㄤ簬淇濆瓨鏌ヨ缁撴灉
+ decimal? C_SQ_QTY = 0;
+ decimal? C_OK_QTY = 0;
+ var c_result = string.Empty;
+ var C_COUNT = 0;
+
+
+ sql = string.Format(@"
+ SELECT SUM(C.QUANTITY) AS SQ_QTY, SUM(D.QUANTITY_OK) AS OK_QTY
+ FROM MES_INV_ITEM_OUT_ITEMS C
+ LEFT JOIN (
+ SELECT ITEM_OUT_ID, ITEM_NO, PBILL_NO, RK_NO, SUM(QUANTITY) AS QUANTITY_OK
+ FROM MES_INV_ITEM_OUT_C_DETAILS
+ GROUP BY ITEM_OUT_ID, ITEM_NO, PBILL_NO, RK_NO
+ ) D
+ ON D.ITEM_OUT_ID = C.ITEM_OUT_ID
+ AND D.ITEM_NO = C.ITEM_NO
+ AND D.RK_NO = C.RK_NO
+ AND NVL(C.PBILL_NO, '0') = NVL(D.PBILL_NO, '0')
+ WHERE C.ITEM_OUT_ID = {0}", mesInvItemOuts.Id);
+
+ var queryResult = Db.Ado.SqlQuerySingle<dynamic>(sql);
+
+ C_SQ_QTY = queryResult?.SQ_QTY;
+ C_OK_QTY = queryResult?.OK_QTY;
+
+ // 鍒ゆ柇閫昏緫
+ if (C_SQ_QTY < C_OK_QTY) throw new Exception("鎵弿鏁伴噺瓒呰繃鐢宠鏁伴噺,璇烽噸鏂版壂鎻忥紒");
+
+ if (C_SQ_QTY == C_OK_QTY) return true;
+
+ return false;
+ }
+
+
+ public bool Audit(WarehouseQuery query)
+ {
+ // 瀹℃牳鍓嶆牎楠�
+ Validate(query);
+ query.status = 1;
+ //瀹℃牳
+ return Update(query);
+ }
+
+ public bool SetNFlag(WarehouseQuery query)
+ {
+ return Db.Updateable<MesInvItemOuts>()
+ .SetColumns(s => s.Nflag == 1)
+ .Where(s => s.ItemOutNo == query.billNo)
+ .ExecuteCommand() > 0;
+ }
+
+ public bool DeApprove(WarehouseQuery query)
+ {
+ query.date = null;
+ query.status = 0;
+ return Update(query);
+ }
+
+ private bool Update(WarehouseQuery entity)
+ {
+ var userName = entity.userName ?? "system";
+ return Db.Updateable<MesInvItemOuts>()
+ .SetColumns(s => s.Status == entity.status)
+ .SetColumns(s => s.CheckUser == userName)
+ .SetColumns(s => s.CheckDate == DateTime.Now)
+ .Where(s => s.Id == entity.id).ExecuteCommand() > 0;
+ }
+
+
+ public void Validate(WarehouseQuery query)
+ {
+ // 鏍¢獙鍗曞彿鏄惁姝g‘
+ var mesInvItemOuts = Db.Queryable<MesInvItemOuts>()
+ .Where(o => o.ItemOutNo == query.billNo)
+ .Single();
+
+ if (mesInvItemOuts == null)
+ throw new Exception("娌℃壘鍒�" + query.billNo + " 瀵瑰簲鐨勯噰璐��璐у崟锛岃妫�鏌�");
+
+ // 鏍¢獙瀛愯〃鏁版嵁
+ var itemOutItems = Db.Queryable<MesInvItemOutItems>()
+ .Where(o => o.ItemOutId == mesInvItemOuts.Id)
+ .ToList();
+
+ var sql = string.Empty;
+ var P_Msg = string.Empty;
+
+ foreach (var item in itemOutItems)
+ {
+ // 鍒ゆ柇鐢宠鏁伴噺鏄惁澶т簬鍓╀綑鍙��鏁伴噺
+ sql = string.Format(
+ @"SELECT NVL(s1.RK_QTY, 0) - NVL(KT_QTY, 0) KT_QTY --鍓╀綑鍙��
+ FROM MES_INV_ITEM_OUT_ITEMS C
+ LEFT JOIN (SELECT SUM(QUANTITY) KT_QTY,
+ ITEM_NO,
+ PBILL_NO,
+ RK_NO,
+ WORK_LINE
+ FROM MES_INV_ITEM_OUT_ITEMS
+ GROUP BY ITEM_NO, PBILL_NO, WORK_LINE,RK_NO) U
+ ON U.ITEM_NO = C.ITEM_NO
+ AND U.WORK_LINE = C.WORK_LINE
+ AND U.PBILL_NO = C.PBILL_NO
+ AND U.RK_NO = C.RK_NO
+ LEFT JOIN (SELECT SUM(QUANTITY) RK_QTY,
+ ITEM_NO,
+ EBELN,
+ WORK_LINE,BILL_NO
+ FROM MES_INV_ITEM_IN_C_ITEMS
+ GROUP BY ITEM_NO, EBELN, WORK_LINE,BILL_NO) s1
+ ON S1.ITEM_NO = C.ITEM_NO
+ AND S1.WORK_LINE = C.WORK_LINE
+ AND S1.EBELN = C.PBILL_NO
+ AND S1.BILL_NO = C.RK_NO
+ WHERE C.ID = {0}", item.Id);
+ var sy_Qty = Db.Ado.SqlQuery<decimal>(sql);
+
+ if (sy_Qty != null && sy_Qty[0] < 0)
+ {
+ P_Msg =
+ $"閲囪喘璁㈠崟锛歿item.PbillNo}锛岃锛歿item.WorkLine}锛岀墿鏂欙細{item.ItemNo} 鐢宠鏁伴噺澶т簬鍓╀綑鍙敹鏁伴噺";
+ throw new Exception(P_Msg);
+ }
+
+ // 鍒ゆ柇琛屾槸鍚﹂噸澶�
+ var cf_Num = Db.Queryable<MesInvItemOutItems>()
+ .Where(s1 => s1.ItemNo == item.ItemNo &&
+ s1.WorkLine == item.WorkLine &&
+ s1.PbillNo == item.PbillNo &&
+ s1.ItemOutId == mesInvItemOuts.Id &&
+ s1.RkNo == item.RkNo)
+ .Count();
+
+ if (cf_Num > 1)
+ {
+ P_Msg =
+ $"閲囪喘璁㈠崟锛歿item.PbillNo}锛岃锛歿item.WorkLine}锛岀墿鏂欙細{item.ItemNo}閲嶅璇峰垹闄ゅ叾涓竴鏉℃暟鎹�";
+ throw new Exception(P_Msg);
+ }
+ }
+
+ // 鏍¢獙涓昏〃鍐呭鏄惁琚垹鎺�
+ // 涓昏〃浠撳簱缂栫爜
+ if (string.IsNullOrEmpty(mesInvItemOuts.DepotCode))
+ {
+ P_Msg = "浠撳簱缂栫爜涓虹┖锛岃妫�鏌�";
+ throw new Exception(P_Msg);
+ }
+
+ var supplierExists = Db.Queryable<MesSupplier>()
+ .Any(supplier => supplier.SuppNo == mesInvItemOuts.SuppNo);
+
+ if (!supplierExists)
+ {
+ P_Msg = $"渚涘簲鍟嗙紪鐮� {mesInvItemOuts.SuppNo} 鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇锋鏌�";
+ throw new Exception(P_Msg);
+ }
+
+ // 瀛愯〃琛屼笌涓昏〃绗﹀悎鎬ф牎楠�
+ foreach (var j in itemOutItems)
+ {
+ // 鏍¢獙瀛愯〃瀵瑰簲閲囪喘璁㈠崟鐨勪緵搴斿晢缂栫爜
+ var c_SuppNo = Db.Queryable<MesRohIn, MesSupplier>(
+ (roh, supp) => new JoinQueryInfos(
+ JoinType.Left,
+ roh.Supplier == supp.Id.ToString()
+ ))
+ .Where(roh => roh.BillNo == j.PbillNo)
+ .Select((roh, supp) => supp.SuppNo)
+ .Single();
+
+ if (c_SuppNo == null)
+ {
+ P_Msg = $"瀛愯〃琛屼緵搴斿晢缂栫爜 {c_SuppNo} 鍦ㄧ郴缁熶腑鏈壘鍒�";
+ throw new Exception(P_Msg);
+ }
+
+ if (mesInvItemOuts.SuppNo != c_SuppNo)
+ {
+ P_Msg =
+ $"瀛愯〃閲囪喘璁㈠崟琛岀殑渚涘簲鍟嗙紪鐮� {c_SuppNo} 涓庝富琛ㄤ緵搴斿晢缂栫爜 {mesInvItemOuts.SuppNo} 涓嶄竴鑷达紝璇锋鏌�";
+ throw new Exception(P_Msg);
+ }
+
+ // 鏍¢獙瀛愯〃濮斿閲囪喘绫诲瀷鍜屼富琛ㄧ被鍨嬫槸鍚︿竴鑷�
+ if (j.FType != mesInvItemOuts.FType)
+ {
+ P_Msg =
+ $"瀛愯〃濮斿绫诲瀷锛歿j.FType}锛屼笌涓昏〃濮斿绫诲瀷锛歿mesInvItemOuts.FType}锛屼笉涓�鑷达紝璇锋鏌�";
+ throw new Exception(P_Msg);
+ }
+
+ // 妫�鏌ュ瓙琛ㄤ粨搴撴槸鍚﹀拰涓昏〃浠撳簱涓�鑷�
+ if (j.DepotCode != mesInvItemOuts.DepotCode)
+ {
+ P_Msg =
+ $"瀛愯〃浠撳簱缂栫爜锛歿j.DepotCode} 涓庝富琛ㄤ粨搴撶紪鐮侊細{mesInvItemOuts.DepotCode}锛屼笉涓�鑷达紝璇锋鏌�";
+ throw new Exception(P_Msg);
+ }
+ }
+ }
+
+ public OutItemDto SaveCombination(OutItemDto dto)
+ {
+ var mesInvItemOuts = dto.Form;
+ mesInvItemOuts.Status = 0;
+ mesInvItemOuts.BoardFlag = 0;
+ mesInvItemOuts.Sapstatus = 0;
+ mesInvItemOuts.OutStatus = 0;
+ mesInvItemOuts.ItemFlag = 0;
+ mesInvItemOuts.IsVisual = 1;
+ mesInvItemOuts.TransactionNo = 203;
+ mesInvItemOuts.Factory = "1000";
+ mesInvItemOuts.Company = "1000";
+
+ //杩斿洖ID
+ var id = Db.Insertable(mesInvItemOuts)
+ .ExecuteReturnIdentity();
+
+ if (id <= 0) throw new Exception("鎻掑叆閿欒");
+
+ mesInvItemOuts.Id = id;
+ dto.SaveItems.ForEach(s =>
+ {
+ s.ItemOutId = id;
+ s.Factory = "1000";
+ s.Company = "1000";
+ s.Status = 0;
+ s.DepotCode = mesInvItemOuts.DepotCode;
+ s.FType = mesInvItemOuts.FType;
+ s.CreateBy = mesInvItemOuts.CreateBy;
+ s.CreateDate = mesInvItemOuts.CreateDate;
+ });
+
+ var insertable = Db.Insertable(dto.SaveItems)
+ .ExecuteCommand();
+
+ if (insertable < 0) throw new Exception("鎻掑叆閿欒");
+
+ var query = new WarehouseQuery();
+ query.id = id;
+ dto.SelectItems = GetItems(query);
+
+ return dto;
+ }
+
+ public List<MesInvItemOuts> GetPage(WarehouseQuery query)
+ {
+ return
+ Db.Queryable<MesInvItemOuts, MesDepots, MesSupplier, SysUser,
+ SysUser>((a, e, i, u1, u3) =>
+ new JoinQueryInfos(
+ JoinType.Left,
+ a.DepotCode == e.DepotCode
+ && e.Factory == a.Factory
+ && e.Company == a.Company,
+ JoinType.Left,
+ a.SuppNo == i.SuppNo,
+ JoinType.Left,
+ a.CreateBy == u1.Fcode,
+ JoinType.Left,
+ a.CheckUser == u3.Fcode))
+ .WhereIF(query.id > 0,
+ (a, e, i, u1, u3) => a.Id == query.id)
+ .WhereIF(!string.IsNullOrEmpty(query.billNo),
+ (a, e, i, u1, u3) => a.ItemOutNo == query.billNo)
+ .Select((a, e, i, u1, u3) => new MesInvItemOuts
+ {
+ Id = a.Id,
+ DepotCode = a.DepotCode,
+ Fmrmode = a.Fmrmode,
+ CheckDate = a.CheckDate,
+ CheckUser = a.CheckUser,
+ States = a.States,
+ Reason = a.Reason,
+ Remark = a.Remark,
+ Nflag = a.Nflag,
+ FType = a.FType,
+ SuppNo = a.SuppNo,
+ DepotName = e.DepotName,
+ SuppName = i.SuppName,
+ CreateByFname = u1.Fname,
+ CheckUserFname = u3.Fname,
+ CreateDate = a.CreateDate,
+ CreateBy = a.CreateBy,
+ Status = a.Status,
+ ItemOutNo = a.ItemOutNo
+ }).ToPageList(query.PageIndex, query.Limit);
+ }
+
+ public List<MesInvItemOutCDetails> GetScanBarcode(WarehouseQuery query)
+ {
+ return Db.Queryable<MesInvItemOutCDetails, MesInvItemBarcodes, MesItems,
+ MesDepots>(
+ (b, bar, c, d) => new
+ JoinQueryInfos(
+ JoinType.Left, b.ItemBarcode == bar.ItemBarcode,
+ JoinType.Left, b.ItemNo == c.ItemNo &&
+ b.Company == c.Company &&
+ b.Factory == c.Factory,
+ JoinType.Left, b.DepotCode == d.DepotCode &&
+ b.Company == d.Company &&
+ b.Factory == d.Factory
+ ))
+ .Where((b, bar, c, d) => b.ItemOutId == query.id)
+ .Select((b, bar, c, d) => new MesInvItemOutCDetails
+ {
+ Quantity = b.Quantity,
+ DepotSectionCode = b.DepotSectionCode,
+ DepotCode = b.DepotCode,
+ ItemNo = b.ItemNo,
+ ItemBarcode = b.ItemBarcode,
+ ItemName = c.ItemName,
+ ItemModel = c.ItemModel,
+ DepotName = d.DepotName,
+ Unit = bar.Unit
+ }).ToList();
+ }
+
+ //MESInvItemOutItems
+ public List<MESInvItemOutItems> GetItems(WarehouseQuery query)
+ {
+ var where = "and 1=1";
+ if (query.id != null) where = "and ITEM_OUT_ID = '" + query.id + "'";
+
+ var sql = string.Format(@"select * from (
+ SELECT C.REMARK, C.PBILL_NO, C.ITEM_OUT_ID, C.RK_QTY,
+ C.TL_QTY, C.WORK_LINE, C.QUANTITY, C.ITEM_NO,
+ NVL(s1.RK_QTY, 0) - NVL(KT_QTY, 0) KT_QTY,
+ R.DEPOT_SECTION_CODE, S.ITEM_MODEL, S.ITEM_NAME,
+ K.CGB014, Q.STAFF_NAME, R.DEPOT_CODE
+ FROM MES_INV_ITEM_OUT_ITEMS C JOIN MES_ITEMS S ON C.ITEM_NO = S.ITEM_NO
+ LEFT JOIN (SELECT SUM(QUANTITY) KT_QTY, ITEM_NO, PBILL_NO, WORK_LINE, RK_NO
+ FROM MES_INV_ITEM_OUT_ITEMS
+ GROUP BY ITEM_NO, PBILL_NO, WORK_LINE, RK_NO) U
+ ON U.ITEM_NO = C.ITEM_NO AND U.WORK_LINE = C.WORK_LINE
+ AND U.PBILL_NO = C.PBILL_NO AND U.RK_NO = C.RK_NO
+ LEFT JOIN (SELECT SUM(QUANTITY) RK_QTY, ITEM_NO, EBELN, WORK_LINE, BILL_NO
+ FROM mes_inv_item_in_c_details
+ GROUP BY ITEM_NO, EBELN, WORK_LINE, BILL_NO) s1
+ ON S1.ITEM_NO = C.ITEM_NO AND S1.WORK_LINE = C.WORK_LINE
+ AND S1.EBELN = C.PBILL_NO AND S1.BILL_NO = C.RK_NO
+ LEFT JOIN MES_ROH_IN_DATA K
+ ON K.BILL_NO = C.PBILL_NO AND C.WORK_LINE = K.PURCHASE_ORDER_LINE_NUMBER
+ left join MES_ROH_IN H on H.BILL_NO = K.BILL_NO
+ left join MES_STAFF Q on H.PURCHASER = Q.STAFF_NAME
+ LEFT JOIN MES_SUPPLIER T ON H.SUPPLIER = T.ID
+ LEFT JOIN (select *
+ from (SELECT row_number() over (partition by DEPOT_CODE, ITEM_NO, EBELN order by CREATE_DATE) rn, DEPOT_CODE, DEPOT_SECTION_CODE, ITEM_NO,
+ EBELN FROM mes_inv_item_in_c_details
+ where EBELN is not null)
+ where rn = 1 and ROWNUM = 1) R ON R.ITEM_NO = C.ITEM_NO) where 1=1 {0}",
+ where);
+ var results = Db.Ado.SqlQuery<MESInvItemOutItems>(sql);
+ return results;
+ }
+
+ public OutItemDto GetSumItem(WarehouseQuery query)
+ {
+ var mesInvItemOuts = base.GetSingle(it => it.ItemOutNo == query.billNo);
+ if (mesInvItemOuts == null) throw new Exception("閲囪喘閫�璐у崟涓嶅瓨鍦�");
+
+ var sql = string.Format(@"SELECT DEPOT ,ITEM_NO,ITEM_MODEL,
+ ITEM_NAME,QTY FROM (SELECT SUM(QTY) QTY, DEPOT, ITEM_NO, ITEM_MODEL, ITEM_NAME
+ FROM (SELECT f_get_section_code2('1000', '1000', b.ITEM_NO,'{0}') DEPOT,
+ B.ITEM_NO, A.ITEM_MODEL,A.ITEM_NAME,to_char(nvl(b.QUANTITY, 0) - nvl(D.QUANTITY_OK, 0),'FM9999999990.00') QTY
+ FROM MES_INV_ITEM_OUT_ITEMS B LEFT JOIN mes_ITEMS A
+ ON B.ITEM_NO = A.ITEM_NO LEFT JOIN (SELECT ITEM_OUT_ID,
+ ITEM_NO,PBILL_NO,SUM(QUANTITY) QUANTITY_OK,RK_NO
+ FROM MES_INV_ITEM_OUT_C_DETAILS
+ WHERE ITEM_OUT_ID = {1}
+ GROUP BY ITEM_OUT_ID,ITEM_NO,PBILL_NO,RK_NO) D
+ ON D.ITEM_OUT_ID = B.ITEM_OUT_ID
+ AND D.ITEM_NO = B.ITEM_NO
+ AND D.PBILL_NO = B.PBILL_NO
+ AND D.RK_NO = B.RK_NO
+ WHERE B.ITEM_OUT_ID = {1}
+ AND nvl(b.QUANTITY, 0) - nvl(D.QUANTITY_OK, 0) > 0
+ ORDER BY f_get_section_code2('1000','1000',b.ITEM_NO,'{0}'),
+ A.ITEM_MODEL,A.ITEM_NAME)
+ GROUP BY DEPOT, ITEM_NO, ITEM_MODEL, ITEM_NAME)",
+ mesInvItemOuts.DepotCode,
+ mesInvItemOuts.Id);
+
+ var results = Db.Ado.SqlQuery<InventoryItem>(sql);
+
+ var mesInvItemStocks = Db.Queryable<MesInvItemStocks>()
+ .Where(a => a.ItemBarcode == query.barcode).Single();
+
+ var dto = new OutItemDto();
+ dto.SumItem = results;
+
+ if (mesInvItemStocks != null)
+ {
+ dto.ItemNo = mesInvItemStocks.ItemNo;
+ dto.Quantity = mesInvItemStocks.Quantity;
+ }
+
+ return dto;
+ }
+
+ public List<InventoryItemDetail> SelectMaterials(WarehouseQuery query)
+ {
+ var sql = string.Format(@"select B.WORK_NO, b.work_line,
+ b.item_no, s2.item_name, s2.item_model,
+ sum(b.quantity) sum_Quantity,
+ b.unit, b.supp_no,
+ nvl(s1.quantity, 0) quantity,
+ sum(b.quantity) - nvl(U.KT_QTY, 0) Refundable_Quantity,
+ B.cbill_no, B.task_no, A.BILL_NO,
+ to_char(b.CREATE_DATE, 'yyyy-mm-dd') as CREATE_DATE
+ from mes_inv_item_in_c_details b
+ left join mes_inv_item_ins a on b.item_in_id = a.id
+ LEFT JOIN (select s.item_no, s.work_line, s.Work_no,
+ sum(s.quantity) quantity, S.RK_NO
+ from mes_inv_item_out_c_details s
+ group by s.item_no, s.work_line, s.work_no, S.RK_NO) s1
+ ON NVL(B.work_LINE, '0') = NVL(s1.work_LINE, '0')
+ and B.work_no = s1.work_no
+ and B.item_no = s1.item_no
+ AND B.BILL_NO = S1.RK_NO
+ LEFT JOIN (SELECT SUM(QUANTITY) KT_QTY, ITEM_NO, PBILL_NO, WORK_LINE, RK_NO
+ FROM MES_INV_ITEM_OUT_ITEMS
+ GROUP BY ITEM_NO, PBILL_NO, WORK_LINE, RK_NO) U
+ ON U.ITEM_NO = B.ITEM_NO
+ AND U.WORK_LINE = B.WORK_LINE
+ AND U.PBILL_NO = B.WORK_NO AND U.RK_NO = B.BILL_NO
+ left join mes_items s2 on b.item_no = s2.item_no
+ left join purdha da on da.dha001 = b.cbill_no
+ WHERE A.BILL_NO LIKE 'Q%'
+ AND A.CBILL_NO like 'L%'
+ group by b.item_no, b.work_line, b.supp_no, b.remark, s1.quantity, b.unit,
+ s2.item_name, s2.item_model, da.dha003, B.WORK_NO, B.cbill_no, B.task_no,
+ to_char(b.CREATE_DATE, 'yyyy-mm-dd'), A.BILL_NO, U.KT_QTY, A.CBILL_NO
+ having b.remark = '閲囪喘鍏ュ簱'
+ and sum(b.quantity) - nvl(U.KT_QTY, 0) > 0
+ and b.supp_no = '{0}'
+ order by to_char(b.CREATE_DATE, 'yyyy-mm-dd')",
+ query.SuppNo);
+
+ var results = Db.Ado.SqlQuery<InventoryItemDetail>(sql);
+ return results;
+ }
+
+ public string GetMaxItemOutNo()
+ {
+ var date = DateTime.Now.ToString("yyyyMMdd");
+ var par = "NTL" + date;
+ var sql =
+ $"select max(ITEM_OUT_NO) from MES_INV_ITEM_OUTS where ITEM_OUT_NO like '{par}%'";
+ var maxBillNo = Db.Ado.SqlQuerySingle<string>(sql);
+
+ var number = "0001";
+ if (maxBillNo != null)
+ {
+ maxBillNo = maxBillNo.Substring(11);
+ var no = Convert.ToInt32(maxBillNo);
+ no++;
+ number = no.ToString().PadLeft(4, '0');
+ }
+
+ return "NTL" + date + number;
+ }
+
+ public MessageCenter SaveMessageCenter(WarehouseQuery query)
+ {
+ var message = MesToErpParam(query);
+
+ var executeReturnIdentity =
+ Db.Insertable(message).ExecuteReturnIdentity();
+ if (executeReturnIdentity > 0)
+ {
+ message.Id = executeReturnIdentity;
+ message.Pid = executeReturnIdentity;
+ return message;
+ }
+
+ throw new Exception("鑾峰彇鏁版嵁澶辫触");
+ }
+
+
+ public MessageCenter MesToErpParam(WarehouseQuery query)
+ {
+ var erpParameters = "";
+ var title = "";
+ var tableName = "MES_INV_ITEM_OUTS_" + query.Type;
+ if ("A".Equals(query.Type))
+ {
+ erpParameters = GetErpParameters(query.billNo);
+ title = "閲囪喘閫�璐у崟" + query.billNo + "瀹℃牳";
+ }
+ else if ("B".Equals(query.Type))
+ {
+ erpParameters = GetDeApprovePam(query.id);
+ title = "閲囪喘閫�璐у崟" + query.billNo + "鍙嶅鏍�";
+ }
+
+ var ErpUrl = AppsettingsUtility.Settings.ProductionErpUrl;
+ var message = new MessageCenter
+ {
+ TableName = tableName,
+ Url = ErpUrl,
+ Status = 1,
+ CreateBy = query.userName,
+ Route = query.billNo,
+ Title = title,
+ PageName = "Warehouse/PurchaseReturn/Add?id=" + query.id +
+ "&itemOutNo=" + query.billNo,
+ CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ Method = "POST",
+ Seq = 1,
+ Data = erpParameters,
+ IsMessage = 0,
+ ContentType = "application/x-www-form-urlencoded"
+ };
+ return message;
+ }
+
+ public bool DeApproveBefore(WarehouseQuery query)
+ {
+ var mesInvItemOuts = base.GetById(query.id);
+ if (mesInvItemOuts == null) throw new Exception("鍑哄簱鍗曚笉瀛樺湪");
+
+ var nflag = mesInvItemOuts.Nflag ?? 0;
+
+ if (nflag != 0) return true;
+
+ return false;
+ }
+
+ private string GetDeApprovePam(decimal? id)
+ {
+ var sid = (int)id;
+ var encodedUrl = "taskname=CGTL&mesid=" + sid +
+ "&optype=delete&datajson={}";
+
+ return encodedUrl;
+ }
+
+ private string GetErpParameters(string? billNo)
+ {
+ var invItemIns = Db.Queryable<MesInvItemOuts>()
+ .Single(x => x.ItemOutNo == billNo);
+
+ //璋冪敤function鍑芥暟
+ var sql =
+ $"SELECT F_GENERATE_DATA_INSERTED('{billNo}') FROM DUAL;";
+ var jsonString = Db.Ado.SqlQuerySingle<string>(sql);
+
+ var encodedUrl = "taskname=CGTL&mesid=" + invItemIns.Id +
+ "&optype=create&datajson=" + jsonString;
+
+ return encodedUrl;
+ }
+
+ public List<string> GetItemOutNo()
+ {
+ var data5 = Db.Queryable<MesInvItemOuts>().Where(it =>
+ it.BillTypeId == 200 && it.TransactionNo == 203 &&
+ it.Status == 1)
+ .OrderBy(it => it.Id, OrderByType.Desc)
+ .ToPageList(1, 20);
+
+ var ItemOutNos = data5.FindAll(a => a.Nflag == null || a.Nflag == 0)
+ .Select(s => s.ItemOutNo).ToList();
+ //
+ // var ItemOutNos = data5
+ // .Select(s => s.ItemOutNo).ToList();
+
+ return ItemOutNos;
+ }
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemStocksManager.cs b/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
new file mode 100644
index 0000000..57a4b41
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
@@ -0,0 +1,78 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemStocksManager : Repository<MesInvItemStocks>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemStocksManager.cs
+
+
+ #region 鏁欏鏂规硶
+
+ /// <summary>
+ /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
+ /// </summary>
+ public void Study()
+ {
+ /*********鏌ヨ*********/
+
+ var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
+ var data2 = base.GetList(); //鏌ヨ鎵�鏈�
+ var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ
+ //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
+
+ var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
+ var data5 = base.GetPageList(it => 1 == 1, p);
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var data6 =
+ base.GetPageList(it => 1 == 1, p,
+ it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
+ conModels.Add(new ConditionalModel
+ {
+ FieldName = typeof(MesInvItemStocks).GetProperties()[0].Name,
+ ConditionalType = ConditionalType.Equal, FieldValue = "1"
+ }); //id=1
+ var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
+
+ AsQueryable().Where(x => 1 == 1)
+ .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
+
+
+ /*********鎻掑叆*********/
+ var insertData = new MesInvItemStocks(); //娴嬭瘯鍙傛暟
+ var insertArray = new[] { insertData };
+ base.Insert(insertData); //鎻掑叆
+ base.InsertRange(insertArray); //鎵归噺鎻掑叆
+ var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
+ AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+ /*********鏇存柊*********/
+ var updateData = new MesInvItemStocks(); //娴嬭瘯鍙傛暟
+ var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
+ base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
+ base.UpdateRange(updateArray); //鎵归噺鏇存柊
+ //base.Update(it => new MesInvItemStocks() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+ AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+ /*********鍒犻櫎*********/
+ var deldata = new MesInvItemStocks(); //娴嬭瘯鍙傛暟
+ base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
+ base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
+ base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+ base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
+ AsDeleteable().Where(it => 1 == 2)
+ .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesQaItemsDetect01Manager.cs b/MES.Service/service/Warehouse/MesQaItemsDetect01Manager.cs
new file mode 100644
index 0000000..a6dfa66
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesQaItemsDetect01Manager.cs
@@ -0,0 +1,78 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesQaItemsDetect01Manager : Repository<MesQaItemsDetect01>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesQaItemsDetect01Manager.cs
+
+
+ #region 鏁欏鏂规硶
+
+ /// <summary>
+ /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
+ /// </summary>
+ public void Study()
+ {
+ /*********鏌ヨ*********/
+
+ var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
+ var data2 = base.GetList(); //鏌ヨ鎵�鏈�
+ var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ
+ //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
+
+ var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
+ var data5 = base.GetPageList(it => 1 == 1, p);
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var data6 =
+ base.GetPageList(it => 1 == 1, p,
+ it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
+ Console.Write(p.TotalCount); //杩斿洖鎬绘暟
+
+ var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
+ conModels.Add(new ConditionalModel
+ {
+ FieldName = typeof(MesQaItemsDetect01).GetProperties()[0].Name,
+ ConditionalType = ConditionalType.Equal, FieldValue = "1"
+ }); //id=1
+ var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
+
+ AsQueryable().Where(x => 1 == 1)
+ .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
+
+
+ /*********鎻掑叆*********/
+ var insertData = new MesQaItemsDetect01(); //娴嬭瘯鍙傛暟
+ var insertArray = new[] { insertData };
+ base.Insert(insertData); //鎻掑叆
+ base.InsertRange(insertArray); //鎵归噺鎻掑叆
+ var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
+ AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+ /*********鏇存柊*********/
+ var updateData = new MesQaItemsDetect01(); //娴嬭瘯鍙傛暟
+ var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
+ base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
+ base.UpdateRange(updateArray); //鎵归噺鏇存柊
+ //base.Update(it => new MesQaItemsDetect01() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+ AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+ /*********鍒犻櫎*********/
+ var deldata = new MesQaItemsDetect01(); //娴嬭瘯鍙傛暟
+ base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
+ base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
+ base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+ base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
+ AsDeleteable().Where(it => 1 == 2)
+ .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/PurdhbManager.cs b/MES.Service/service/Warehouse/PurdhbManager.cs
new file mode 100644
index 0000000..b2b70f3
--- /dev/null
+++ b/MES.Service/service/Warehouse/PurdhbManager.cs
@@ -0,0 +1,11 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+
+namespace MES.Service.service.Warehouse;
+
+public class PurdhbManager : Repository<Purdhb>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 PurdhbManager.cs
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/PurdkaManager.cs b/MES.Service/service/Warehouse/PurdkaManager.cs
new file mode 100644
index 0000000..e17aa76
--- /dev/null
+++ b/MES.Service/service/Warehouse/PurdkaManager.cs
@@ -0,0 +1,11 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+
+namespace MES.Service.service.Warehouse;
+
+public class PurdkaManager : Repository<Purdka>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 PurdkaManager.cs
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/PurdkbManager.cs b/MES.Service/service/Warehouse/PurdkbManager.cs
new file mode 100644
index 0000000..881e38f
--- /dev/null
+++ b/MES.Service/service/Warehouse/PurdkbManager.cs
@@ -0,0 +1,11 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+
+namespace MES.Service.service.Warehouse;
+
+public class PurdkbManager : Repository<Purdkb>
+{
+ //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 PurdkbManager.cs
+}
\ No newline at end of file
diff --git a/MES.Service/util/AppsettingsUtility.cs b/MES.Service/util/AppsettingsUtility.cs
new file mode 100644
index 0000000..eabb6b4
--- /dev/null
+++ b/MES.Service/util/AppsettingsUtility.cs
@@ -0,0 +1,19 @@
+锘縰sing MES.Service.Dto.@base;
+using Microsoft.Extensions.Configuration;
+
+namespace MES.Service.util;
+
+public class AppsettingsUtility
+{
+ public static AppSettings Settings { get; private set; }
+
+ public void Initial(IConfiguration configuration)
+ {
+ var myOwn = new AppSettings();
+ //娉ㄦ剰锛氬彲浠ヤ娇鐢ㄥ啋鍙锋潵鑾峰彇鍐呭眰鐨勯厤缃」
+ myOwn.TestErpUrl = configuration["AppSettings:TestErpUrl"];
+ myOwn.ProductionErpUrl = configuration["AppSettings:ProductionErpUrl"];
+ myOwn.DataBaseConn = configuration["AppSettings:DataBaseConn"];
+ Settings = myOwn;
+ }
+}
\ No newline at end of file
diff --git a/MESApplication/Controllers/Warehouse/MesInvItemArnController.cs b/MESApplication/Controllers/Warehouse/MesInvItemArnController.cs
new file mode 100644
index 0000000..ab5eb43
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemArnController.cs
@@ -0,0 +1,202 @@
+锘縰sing System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemArnController : ControllerBase
+{
+ private readonly MesInvItemArnManager m = new();
+
+
+ [HttpPost("GetPageList")]
+ public ResponseResult GetPageList(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetPagedResults(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //GetSuppliers()
+ [HttpPost("GetSuppliers")]
+ public ResponseResult GetSuppliers()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetSuppliers();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <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] MesInvItemArn 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] MesInvItemArn 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] MesInvItemArn 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/MESApplication/Controllers/Warehouse/MesInvItemArnDetailController.cs b/MESApplication/Controllers/Warehouse/MesInvItemArnDetailController.cs
new file mode 100644
index 0000000..5972239
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemArnDetailController.cs
@@ -0,0 +1,223 @@
+锘縰sing System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemArnDetailController : ControllerBase
+{
+ private readonly MesInvItemArnDetailManager m = new();
+
+ [HttpPost("GetDetails")]
+ public ResponseResult GetDetails(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetDetails(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //
+ [HttpPost("GetMaterial")]
+ public ResponseResult GetMaterial(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetMaterial(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //SetMaterial
+ [HttpPost("SetMaterial")]
+ public ResponseResult SetMaterial(Material material)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.SetMaterial(material);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <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] MesInvItemArnDetail 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] MesInvItemArnDetail 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] MesInvItemArnDetail 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/MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs b/MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs
new file mode 100644
index 0000000..b783353
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs
@@ -0,0 +1,163 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemBarcodesController : ControllerBase
+{
+ private readonly MesInvItemBarcodesManager 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] MesInvItemBarcodes 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] MesInvItemBarcodes 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] MesInvItemBarcodes 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/MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs b/MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs
new file mode 100644
index 0000000..7cc9221
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs
@@ -0,0 +1,288 @@
+锘縰sing System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemInCDetailsController : ControllerBase
+{
+ private readonly MesInvItemInCDetailsManager m = new();
+
+ //audit
+ [HttpPost("Audit")]
+ public ResponseResult Audit(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.audit(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //deApprove
+ [HttpPost("DeApprove")]
+ public ResponseResult DeApprove(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.deApprove(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getPurchaseInventory
+ [HttpPost("GetPurchaseInventory")]
+ public ResponseResult GetPurchaseInventory(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.getPurchaseInventory(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("GetInvItemInsList")]
+ public ResponseResult GetInvItemInsList(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetInvItemInsList(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //SaveBarCodes
+ [HttpPost("SaveBarCodes")]
+ public ResponseResult SaveBarCodes(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.SaveBarCodes(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //MesToErp
+ [HttpPost("SaveMessageCenter")]
+ public ResponseResult SaveMessageCenter(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.SaveMessageCenter(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+ /// <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] MesInvItemInCDetails 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] MesInvItemInCDetails 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] MesInvItemInCDetails 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/MESApplication/Controllers/Warehouse/MesInvItemInCItemsController.cs b/MESApplication/Controllers/Warehouse/MesInvItemInCItemsController.cs
new file mode 100644
index 0000000..e849ce3
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemInCItemsController.cs
@@ -0,0 +1,163 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemInCItemsController : ControllerBase
+{
+ private readonly MesInvItemInCItemsManager 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] MesInvItemInCItems 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] MesInvItemInCItems 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] MesInvItemInCItems 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/MESApplication/Controllers/Warehouse/MesInvItemOutCDetailsController.cs b/MESApplication/Controllers/Warehouse/MesInvItemOutCDetailsController.cs
new file mode 100644
index 0000000..91c79f4
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemOutCDetailsController.cs
@@ -0,0 +1,163 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemOutCDetailsController : ControllerBase
+{
+ private readonly MesInvItemOutCDetailsManager 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] MesInvItemOutCDetails 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] MesInvItemOutCDetails 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] MesInvItemOutCDetails 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/MESApplication/Controllers/Warehouse/MesInvItemOutItemsController.cs b/MESApplication/Controllers/Warehouse/MesInvItemOutItemsController.cs
new file mode 100644
index 0000000..405bdb7
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemOutItemsController.cs
@@ -0,0 +1,163 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemOutItemsController : ControllerBase
+{
+ private readonly MesInvItemOutItemsManager 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] MesInvItemOutItems 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] MesInvItemOutItems 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] MesInvItemOutItems 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/MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs b/MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs
new file mode 100644
index 0000000..908f78a
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs
@@ -0,0 +1,453 @@
+锘縰sing System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemOutsController : ControllerBase
+{
+ private readonly MesInvItemOutsManager m = new();
+
+
+ [HttpPost("ScanCode")]
+ public ResponseResult ScanCode(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.ScanCode(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("GetScanBarcode")]
+ public ResponseResult GetScanBarcode(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetScanBarcode(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("SaveMessageCenter")]
+ public ResponseResult SaveMessageCenter(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.SaveMessageCenter(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //GetItemOutNo
+ [HttpPost("GetItemOutNo")]
+ public ResponseResult GetItemOutNo()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetItemOutNo();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ //Audit
+ [HttpPost("Audit")]
+ public ResponseResult Audit(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.Audit(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //SetNFlag
+ [HttpPost("SetNFlag")]
+ public ResponseResult SetNFlag(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.SetNFlag(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //DeApproveBefore
+ [HttpPost("DeApproveBefore")]
+ public ResponseResult DeApproveBefore(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.DeApproveBefore(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("DeApprove")]
+ public ResponseResult DeApprove(WarehouseQuery entity)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.DeApprove(entity);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //SaveCombination
+ [HttpPost("SaveCombination")]
+ public ResponseResult SaveCombination(OutItemDto dto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.SaveCombination(dto);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //GetMaxItemOutNo
+ [HttpPost("GetMaxItemOutNo")]
+ public ResponseResult GetMaxItemOutNo()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetMaxItemOutNo();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("GetPage")]
+ public ResponseResult GetPage(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetPage(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //GetItems
+ [HttpPost("GetItems")]
+ public ResponseResult GetItems(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetItems(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("GetSumItem")]
+ public ResponseResult GetSumItem(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetSumItem(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //SelectMaterials
+ [HttpPost("SelectMaterials")]
+ public ResponseResult SelectMaterials(WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.SelectMaterials(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+ /// <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] MesInvItemOuts 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] MesInvItemOuts 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] MesInvItemOuts 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/MESApplication/Controllers/Warehouse/MesInvItemStocksController.cs b/MESApplication/Controllers/Warehouse/MesInvItemStocksController.cs
new file mode 100644
index 0000000..43605be
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemStocksController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemStocksController : ControllerBase
+{
+ private readonly MesInvItemStocksManager 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] MesInvItemStocks 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] MesInvItemStocks 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] MesInvItemStocks 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/MESApplication/Controllers/Warehouse/MesQaItemsDetect01Controller.cs b/MESApplication/Controllers/Warehouse/MesQaItemsDetect01Controller.cs
new file mode 100644
index 0000000..8ede063
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesQaItemsDetect01Controller.cs
@@ -0,0 +1,163 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesQaItemsDetect01Controller : ControllerBase
+{
+ private readonly MesQaItemsDetect01Manager 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] MesQaItemsDetect01 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] MesQaItemsDetect01 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] MesQaItemsDetect01 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/MESApplication/Controllers/Warehouse/PurdhbController.cs b/MESApplication/Controllers/Warehouse/PurdhbController.cs
new file mode 100644
index 0000000..3687f1d
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/PurdhbController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class PurdhbController : ControllerBase
+{
+ private readonly PurdhbManager 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] Purdhb 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] Purdhb 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] Purdhb 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/MESApplication/Controllers/Warehouse/PurdkaController.cs b/MESApplication/Controllers/Warehouse/PurdkaController.cs
new file mode 100644
index 0000000..3f0b71d
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/PurdkaController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class PurdkaController : ControllerBase
+{
+ private readonly PurdkaManager 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] Purdka 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] Purdka 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] Purdka 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/MESApplication/Controllers/Warehouse/PurdkbController.cs b/MESApplication/Controllers/Warehouse/PurdkbController.cs
new file mode 100644
index 0000000..8ebf009
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/PurdkbController.cs
@@ -0,0 +1,162 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class PurdkbController : ControllerBase
+{
+ private readonly PurdkbManager 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] Purdkb 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] Purdkb 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] Purdkb 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
--
Gitblit v1.9.3