From 661e24b717604dfc5c0f1c6385931943c2a9192e Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期六, 02 八月 2025 18:04:21 +0800 Subject: [PATCH] 代码提交 --- StandardPda/MES.Service/Modes/MesItemQtrrDetail.cs | 118 ++ StandardPda/MES.Service/Modes/MesItemQtDatall.cs | 122 ++ StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs | 113 ++ StandardPda/MESApplication/Controllers/Warehouse/MesItemQtrkController.cs | 214 ++++ StandardPda/MESApplication/Controllers/Warehouse/MesItemQtController.cs | 216 ++++ StandardPda/MES.Service/Dto/service/MesMiddleBox.cs | 43 StandardPda/MES.Service/service/Warehouse/MesItemQtManager.cs | 430 ++++++++ StandardPda/MES.Service/Modes/MesItemQtrk.cs | 162 +++ StandardPda/MES.Service/Dto/service/MesItemQtFrom.cs | 193 +++ StandardPda/MES.Service/Dto/service/MesItemQtRKList.cs | 103 ++ StandardPda/MES.Service/Dto/service/AsnInfo.cs | 38 StandardPda/MES.Service/Dto/service/MesItemQtDto.cs | 9 StandardPda/MES.Service/service/Warehouse/MesItemQtrkManager.cs | 424 ++++++++ StandardPda/MES.Service/Dto/service/MesItemQtRKFrom.cs | 188 +++ StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs | 281 +++++ StandardPda/MES.Service/Dto/service/MesPalletBinding.cs | 50 StandardPda/MES.Service/Dto/service/MesItemQtRKDto.cs | 9 StandardPda/MES.Service/DB/OracleSQLHelper.cs | 19 StandardPda/MES.Service/Dto/service/MesItemQtList.cs | 99 + StandardPda/MES.Service/Modes/MesItemQt.cs | 171 +++ 20 files changed, 2,988 insertions(+), 14 deletions(-) diff --git a/StandardPda/MES.Service/DB/OracleSQLHelper.cs b/StandardPda/MES.Service/DB/OracleSQLHelper.cs index 9a36dba..ae4fccc 100644 --- a/StandardPda/MES.Service/DB/OracleSQLHelper.cs +++ b/StandardPda/MES.Service/DB/OracleSQLHelper.cs @@ -228,4 +228,23 @@ // } // return result; // } + // 鎵撳紑杩炴帴骞跺紑鍚簨鍔� + public (OracleConnection, OracleTransaction) BeginTransaction() + { + var connection = new OracleConnection(_connectionString); + connection.Open(); + var transaction = connection.BeginTransaction(); + return (connection, transaction); + } + + // 鍏抽棴杩炴帴锛堟彁浜ゆ垨鍥炴粴鍚庣敤锛� + public void CloseConnection(OracleConnection connection) + { + if (connection != null && connection.State != ConnectionState.Closed) + { + connection.Close(); + connection.Dispose(); + } + } + } \ No newline at end of file diff --git a/StandardPda/MES.Service/Dto/service/AsnInfo.cs b/StandardPda/MES.Service/Dto/service/AsnInfo.cs index f21dd93..decf16a 100644 --- a/StandardPda/MES.Service/Dto/service/AsnInfo.cs +++ b/StandardPda/MES.Service/Dto/service/AsnInfo.cs @@ -19,6 +19,44 @@ /// </summary> public string snState { get; set; } + /// <summary> + /// 浜ф祴鐧婚檰鍙� + /// </summary> + public string loginId { get; set; } + /// <summary> + /// 澶辫触椤圭洰 + /// </summary> + public List<CcFailItems> failItems { get; set; } + } + /// <summary> + /// 浜ф祴SN澶辫触椤规槑缁嗚〃 + /// </summary> + public class CcFailItems + { + + /// <summary> + /// 涓嶈壇闂 + /// </summary> + public string DefectIssue { get; set; } + + /// <summary> + /// 鍒濇鍘熷洜 + /// </summary> + public string RootCause { get; set; } + + /// <summary> + /// 缁翠慨鏂规/鏂规硶 + /// </summary> + public string RepairMethod { get; set; } + + /// <summary> + /// 涓嶈壇鐗╂枡澶勭悊 + /// </summary> + public string MaterialHandling { get; set; } + + + } + } diff --git a/StandardPda/MES.Service/Dto/service/MesItemQtDto.cs b/StandardPda/MES.Service/Dto/service/MesItemQtDto.cs new file mode 100644 index 0000000..9c018db --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesItemQtDto.cs @@ -0,0 +1,9 @@ +锘縩amespace MES.Service.Dto.service +{ + public class MesItemQtDto + { + public MesItemQtFrom from { get; set; } + + public List<MesItemQtList> items { get; set; } + } +} diff --git a/StandardPda/MES.Service/Dto/service/MesItemQtFrom.cs b/StandardPda/MES.Service/Dto/service/MesItemQtFrom.cs new file mode 100644 index 0000000..54809b1 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesItemQtFrom.cs @@ -0,0 +1,193 @@ +锘縩amespace MES.Service.Dto.service +{ + public class MesItemQtFrom + { + + public string Type { get; set; } + /// <summary> + /// 鐢宠鍗曞彿 + /// </summary> + public string ApplyNumber { get; set; } + + /// <summary> + /// 鐢宠鏃ユ湡 + /// </summary> + public DateTime? ApplyDate { get; set; } + + /// <summary> + /// 瀹℃牳鏃ユ湡 + /// </summary> + public DateTime? AuditDate { get; set; } + + /// <summary> + /// 鍗曟嵁绫诲瀷 + /// </summary> + public string DocumentType { get; set; } + + /// <summary> + /// 涓氬姟绫诲瀷 + /// </summary> + public string BusinessType { get; set; } + + /// <summary> + /// 鍒跺崟浜� + /// </summary> + public string CreatedBy { get; set; } + + /// <summary> + /// 鐢熶骇宸ュ崟 + /// </summary> + public string WorkOrder { get; set; } + + /// <summary> + /// 鍙戞枡浠撳簱 + /// </summary> + public string FromWarehouse { get; set; } + + /// <summary> + /// 鐢宠閮ㄩ棬 + /// </summary> + public string ApplyDept { get; set; } + + /// <summary> + /// 鍑哄簱绫诲瀷 + /// </summary> + public string StockOutType { get; set; } + + /// <summary> + /// 浠撳簱缂栫爜 + /// </summary> + public string WarehouseCode { get; set; } + + /// <summary> + /// 閮ㄩ棬缂栫爜 + /// </summary> + public string DeptCode { get; set; } + + /// <summary> + /// 鍑哄簱鏁伴噺 + /// </summary> + public decimal Quantity { get; set; } + + /// <summary> + /// 瀹℃牳浜� + /// </summary> + public string Auditor { get; set; } + + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + public string TaskNumber { get; set; } + + /// <summary> + /// 渚涘簲鍟嗙紪鐮� + /// </summary> + public string SupplierCode { get; set; } + + /// <summary> + /// 鍑哄簱鏂瑰悜锛堥��璐э紝鏅�氾級 + /// </summary> + public string Direction { get; set; } + + /// <summary> + /// 璐т富绫诲瀷 + /// </summary> + public string OwnerType { get; set; } + + /// <summary> + /// 鍑哄簱鍘熷洜 + /// </summary> + public string Reason { get; set; } + + /// <summary> + /// 瀹㈡埛缂栫爜 + /// </summary> + public string CustomerCode { get; set; } + + /// <summary> + /// 棰嗘枡浜� + /// </summary> + public string Receiver { get; set; } + + /// <summary> + /// 閮ㄩ棬 + /// </summary> + public string Department { get; set; } + + /// <summary> + /// 搴撶鍛� + /// </summary> + public string StockKeeper { get; set; } + + /// <summary> + /// 鏉ユ簮绫诲埆 + /// </summary> + public string SourceType { get; set; } + + /// <summary> + /// 鏉ユ簮鍗曟嵁 + /// </summary> + public string SourceDocument { get; set; } + + /// <summary> + /// 鐢熶骇鐩稿叧 + /// </summary> + public string ProductionRelated { get; set; } + + /// <summary> + /// 鐢熶骇绾挎棩璁″垝 + /// </summary> + public string ProductionLine { get; set; } + + /// <summary> + /// 鐢熶骇娲诲姩 + /// </summary> + public string ProductionActivity { get; set; } + + /// <summary> + /// 浜ф垚鍝� + /// </summary> + public string FinishedGoods { get; set; } + + /// <summary> + /// 閫嗗悜鐧昏处 + /// </summary> + public string ReversePosting { get; set; } + + /// <summary> + /// 璁拌处鏈熼棿 + /// </summary> + public string AccountingPeriod { get; set; } + + /// <summary> + /// 鍛樺伐 + /// </summary> + public string Employee { get; set; } + + /// <summary> + /// 鍋囬��鏂� + /// </summary> + public string FalseReturn { get; set; } + + /// <summary> + /// 椤圭洰 + /// </summary> + public string ProjectCode { get; set; } + + /// <summary> + /// 浠诲姟 + /// </summary> + public string TaskCode { get; set; } + + /// <summary> + /// 鐘舵�� + /// </summary> + public string Status { get; set; } + + /// <summary> + /// 璐т富缁勭粐 + /// </summary> + public string OwnerOrganization { get; set; } + + } +} diff --git a/StandardPda/MES.Service/Dto/service/MesItemQtList.cs b/StandardPda/MES.Service/Dto/service/MesItemQtList.cs new file mode 100644 index 0000000..278ef10 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesItemQtList.cs @@ -0,0 +1,99 @@ +锘縩amespace MES.Service.Dto.service +{ + public class MesItemQtList + { + + + /// <summary> + /// 鐗╂枡缂栧彿 + /// </summary> + public string ItemId { get; set; } + + /// <summary> + /// 璁″垝鏁伴噺 + /// </summary> + public decimal PlannedQuantity { get; set; } + + /// <summary> + /// 鐢宠鏁伴噺 + /// </summary> + public decimal AppliedQuantity { get; set; } + + + + /// <summary> + /// 澶囨敞璇存槑 + /// </summary> + public string Remark { get; set; } + + /// <summary> + /// 琛屽彿(鐗╂枡椤哄簭) + /// </summary> + public int? LineNumber { get; set; } + + /// <summary> + /// 鐢熶骇鐩稿叧 + /// </summary> + public string ProductionRelated { get; set; } + + /// <summary> + /// 瀛樺偍绫诲瀷 + /// </summary> + public string StorageType { get; set; } + + /// <summary> + /// 璐т富缁勭粐 + /// </summary> + public string OwnerOrganization { get; set; } + + /// <summary> + /// 瀛樺偍鍦扮偣 + /// </summary> + public string StorageLocation { get; set; } + + /// <summary> + /// 渚涘簲鍟嗙紪鐮� + /// </summary> + public string SupplierCode { get; set; } + + /// <summary> + /// 瀹㈡埛缂栫爜 + /// </summary> + public string CustomerCode { get; set; } + + /// <summary> + /// 鍏宠仈椤圭洰缂栫爜 + /// </summary> + public string ProjectCode { get; set; } + + /// <summary> + /// 鍏宠仈浠诲姟缂栫爜 + /// </summary> + public string TaskCode { get; set; } + + /// <summary> + /// 鐢熶骇璁㈠崟鍙� + /// </summary> + public string ProductionOrder { get; set; } + + /// <summary> + /// 鐢熶骇绾挎棩璁″垝缂栧彿 + /// </summary> + public string DailyPlan { get; set; } + + /// <summary> + /// 鐢熶骇娲诲姩 + /// </summary> + public string ProductionActivity { get; set; } + + /// <summary> + /// 浜ф垚鍝佺紪鐮� + /// </summary> + public string FinishedProduct { get; set; } + + /// <summary> + /// 棰嗘枡鐢ㄩ�� + /// </summary> + public string PickingUsage { get; set; } + } +} diff --git a/StandardPda/MES.Service/Dto/service/MesItemQtRKDto.cs b/StandardPda/MES.Service/Dto/service/MesItemQtRKDto.cs new file mode 100644 index 0000000..e9e82e8 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesItemQtRKDto.cs @@ -0,0 +1,9 @@ +锘縩amespace MES.Service.Dto.service +{ + public class MesItemQtRKDto + { + public MesItemQtRKFrom from { get; set; } + + public List<MesItemQtRKList> items { get; set; } + } +} diff --git a/StandardPda/MES.Service/Dto/service/MesItemQtRKFrom.cs b/StandardPda/MES.Service/Dto/service/MesItemQtRKFrom.cs new file mode 100644 index 0000000..f78ba74 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesItemQtRKFrom.cs @@ -0,0 +1,188 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MES.Service.Dto.service +{ + public class MesItemQtRKFrom + { + public string Type { get; set; } + + /// <summary> + /// 鐢宠鍗曞彿 + /// </summary> + public string ApplyNumber { get; set; } + + /// <summary> + /// 鐢宠鏃ユ湡 + /// </summary> + public DateTime? ApplyDate { get; set; } + + /// <summary> + /// 瀹℃牳鏃ユ湡 + /// </summary> + public DateTime? AuditDate { get; set; } + + /// <summary> + /// 鍗曟嵁绫诲瀷 + /// </summary> + public string DocumentType { get; set; } + + /// <summary> + /// 鍏ュ簱绫诲瀷 + /// </summary> + public string StockInType { get; set; } + + /// <summary> + /// 鍒跺崟浜� + /// </summary> + public string CreatedBy { get; set; } + + /// <summary> + /// 鐢熶骇宸ュ崟 + /// </summary> + public string WorkOrder { get; set; } + + /// <summary> + /// 鍙戞枡浠撳簱 + /// </summary> + public string FromWarehouse { get; set; } + + /// <summary> + /// 鐢宠閮ㄩ棬 + /// </summary> + public string ApplyDept { get; set; } + + /// <summary> + /// 鍏ュ簱鍘熷洜 + /// </summary> + public string Reason { get; set; } + + /// <summary> + /// 浠撳簱缂栫爜 + /// </summary> + public string WarehouseCode { get; set; } + + /// <summary> + /// 閮ㄩ棬缂栫爜 + /// </summary> + public string DeptCode { get; set; } + + /// <summary> + /// 瀹℃牳浜� + /// </summary> + public string Auditor { get; set; } + + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + public string TaskNumber { get; set; } + + /// <summary> + /// 渚涘簲鍟嗙紪鐮� + /// </summary> + public string SupplierCode { get; set; } + + /// <summary> + /// 鍏ュ簱鏂瑰悜锛堥��璐э紝鏅�氾級 + /// </summary> + public string Direction { get; set; } + + /// <summary> + /// 璐т富绫诲瀷(缁勭粐銆佷緵搴斿晢銆佸鎴�) + /// </summary> + public string OwnerType { get; set; } + + /// <summary> + /// 瀹㈡埛 + /// </summary> + public string CustomerCode { get; set; } + + /// <summary> + /// 鍏ュ簱浜� + /// </summary> + public string Receiver { get; set; } + + /// <summary> + /// 閮ㄩ棬 + /// </summary> + public string Department { get; set; } + + /// <summary> + /// 搴撶鍛� + /// </summary> + public string StockKeeper { get; set; } + + /// <summary> + /// 鏉ユ簮绫诲埆 + /// </summary> + public string SourceType { get; set; } + + /// <summary> + /// 鏉ユ簮鍗曟嵁 + /// </summary> + public string SourceDocument { get; set; } + + /// <summary> + /// 鐢熶骇鐩稿叧 + /// </summary> + public string ProductionRelated { get; set; } + + /// <summary> + /// 鐢熶骇绾挎棩璁″垝 + /// </summary> + public string ProductionLine { get; set; } + + /// <summary> + /// 鐢熶骇娲诲姩 + /// </summary> + public string ProductionActivity { get; set; } + + /// <summary> + /// 浜ф垚鍝� + /// </summary> + public string FinishedGoods { get; set; } + + /// <summary> + /// 閫嗗悜鐧昏处 + /// </summary> + public string ReversePosting { get; set; } + + /// <summary> + /// 璁拌处鏈熼棿 + /// </summary> + public string AccountingPeriod { get; set; } + + /// <summary> + /// 鍛樺伐 + /// </summary> + public string Employee { get; set; } + + /// <summary> + /// 鍋囬��鏂� + /// </summary> + public string FalseReturn { get; set; } + + /// <summary> + /// 椤圭洰 + /// </summary> + public string ProjectCode { get; set; } + + /// <summary> + /// 浠诲姟 + /// </summary> + public string TaskCode { get; set; } + + /// <summary> + /// 鐘舵�� + /// </summary> + public string Status { get; set; } + + /// <summary> + /// 璐т富缁勭粐 + /// </summary> + public string OwnerOrganization { get; set; } + } +} diff --git a/StandardPda/MES.Service/Dto/service/MesItemQtRKList.cs b/StandardPda/MES.Service/Dto/service/MesItemQtRKList.cs new file mode 100644 index 0000000..f98b441 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesItemQtRKList.cs @@ -0,0 +1,103 @@ +锘縩amespace MES.Service.Dto.service +{ + public class MesItemQtRKList + { + + + /// <summary> + /// 鐗╂枡缂栧彿 + /// </summary> + public string ItemId { get; set; } + + /// <summary> + /// 璁″垝鏁伴噺 + /// </summary> + public decimal PlannedQuantity { get; set; } + + /// <summary> + /// 鐢宠鏁伴噺 + /// </summary> + public decimal AppliedQuantity { get; set; } + + /// <summary> + /// 宸插叆搴撴暟閲忥紙榛樿鍊硷細0锛� + /// </summary> + public decimal ReceivedQuantity { get; set; } = 0; + + + /// <summary> + /// 澶囨敞璇存槑 + /// </summary> + public string Remark { get; set; } + + + + /// <summary> + /// 琛屽彿(鐗╂枡椤哄簭) + /// </summary> + public int? LineNumber { get; set; } + + /// <summary> + /// 鐢熶骇鐩稿叧 + /// </summary> + public string ProductionRelated { get; set; } + + /// <summary> + /// 瀛樺偍绫诲瀷 + /// </summary> + public string StorageType { get; set; } + + /// <summary> + /// 璐т富缁勭粐 + /// </summary> + public string OwnerOrganization { get; set; } + + /// <summary> + /// 瀛樺偍鍦扮偣 + /// </summary> + public string StorageLocation { get; set; } + + /// <summary> + /// 渚涘簲鍟嗙紪鐮� + /// </summary> + public string SupplierCode { get; set; } + + /// <summary> + /// 瀹㈡埛缂栫爜 + /// </summary> + public string CustomerCode { get; set; } + + /// <summary> + /// 鍏宠仈椤圭洰缂栫爜 + /// </summary> + public string ProjectCode { get; set; } + + /// <summary> + /// 鍏宠仈浠诲姟缂栫爜 + /// </summary> + public string TaskCode { get; set; } + + /// <summary> + /// 鐢熶骇璁㈠崟鍙� + /// </summary> + public string ProductionOrder { get; set; } + + /// <summary> + /// 鐢熶骇绾挎棩璁″垝缂栧彿 + /// </summary> + public string DailyPlan { get; set; } + + /// <summary> + /// 鐢熶骇娲诲姩 + /// </summary> + public string ProductionActivity { get; set; } + + /// <summary> + /// 浜ф垚鍝佺紪鐮� + /// </summary> + public string FinishedProduct { get; set; } + + + + } +} diff --git a/StandardPda/MES.Service/Dto/service/MesMiddleBox.cs b/StandardPda/MES.Service/Dto/service/MesMiddleBox.cs new file mode 100644 index 0000000..0f00368 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesMiddleBox.cs @@ -0,0 +1,43 @@ +锘縩amespace MES.Service.Dto.service +{ + /// <summary> + /// 涓鐮佽〃 + /// </summary> + public class MesMiddleBox + { + + /// <summary> + /// 绫诲瀷锛堟搷浣滐細A缁戝畾锛孎瑙g粦锛� + /// </summary> + public string type { get; set; } + /// <summary> + /// 涓鐮� + /// </summary> + public string MediumBoxCode { get; set; } + + /// <summary> + /// 鐧诲綍鍙� + /// </summary> + public string LoginId { get; set; } + /// <summary> + /// sn鍒楄〃 + /// </summary> + public List<snList> SnList { get; set; } + + public class snList + { + /// <summary> + /// SN鍙� + /// </summary> + public string SnNo { get; set; } + + /// <summary> + /// 宸ュ崟鍗曞彿 + /// </summary> + public string TicketNo { get; set; } + } + + } + + +} diff --git a/StandardPda/MES.Service/Dto/service/MesPalletBinding.cs b/StandardPda/MES.Service/Dto/service/MesPalletBinding.cs new file mode 100644 index 0000000..1ff16dc --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/MesPalletBinding.cs @@ -0,0 +1,50 @@ +锘縩amespace MES.Service.Dto.service +{ + /// <summary> + /// 鏍堟澘缁戝畾琛� + /// </summary> + public class MesPalletBinding + { + + /// <summary> + /// 鎿嶄綔锛欰缁戝畾锛孎瑙g粦 + /// </summary> + public string Type { get; set; } + /// <summary> + /// 鏍堟澘鐮� + /// </summary> + public string StackCode { get; set; } + + /// <summary> + /// 鐧诲綍鍙� + /// </summary> + public string LoginId { get; set; } + + /// <summary> + /// sn鍒楄〃 + /// </summary> + public List<snList1> SnList { get; set; } + public class snList1 + { + /// <summary> + /// SN鍙� + /// </summary> + public string SnNo { get; set; } + + /// <summary> + /// 宸ュ崟鍗曞彿 + /// </summary> + public string TicketNo { get; set; } + + /// <summary> + /// 涓鐮� + /// </summary> + public string MediumBoxCode { get; set; } + } + + + } + + + +} diff --git a/StandardPda/MES.Service/Modes/MesItemQt.cs b/StandardPda/MES.Service/Modes/MesItemQt.cs new file mode 100644 index 0000000..e3edbac --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesItemQt.cs @@ -0,0 +1,171 @@ +锘縰sing SqlSugar; +using System; +using System.ComponentModel; + +namespace MES.Service.Modes +{ + [SugarTable("MES_ITEM_QT")] + public class MesItemQt + { + [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)] + [Description("ID")] + public decimal Id { get; set; } + + [SugarColumn(ColumnName = "QTCK" )] + [Description("鐢宠鍗曞彿")] + public string Qtck { get; set; } + + [SugarColumn(ColumnName = "QT001")] + [Description("鐢宠鏃ユ湡")] + public DateTime? Qt001 { get; set; } + + [SugarColumn(ColumnName = "QT002")] + [Description("瀹℃牳鏃ユ湡")] + public DateTime? Qt002 { get; set; } + + [SugarColumn(ColumnName = "QT003")] + [Description("鍗曟嵁绫诲瀷")] + public string Qt003 { get; set; } + + [SugarColumn(ColumnName = "QT004")] + [Description("涓氬姟绫诲瀷")] + public string Qt004 { get; set; } + + [SugarColumn(ColumnName = "QT005")] + [Description("鍒跺崟浜�")] + public string Qt005 { get; set; } + + [SugarColumn(ColumnName = "QT006")] + [Description("鐢熶骇宸ュ崟")] + public string Qt006 { get; set; } + + [SugarColumn(ColumnName = "QT008")] + [Description("鍙戞枡浠撳簱")] + public string Qt008 { get; set; } + + [SugarColumn(ColumnName = "QT009")] + [Description("鐢宠閮ㄩ棬")] + public string Qt009 { get; set; } + + [SugarColumn(ColumnName = "QT010")] + [Description("鍑哄簱绫诲瀷")] + public string Qt010 { get; set; } + + [SugarColumn(ColumnName = "QT011")] + [Description("浠撳簱缂栫爜")] + public string Qt011 { get; set; } + + [SugarColumn(ColumnName = "QT012")] + [Description("閮ㄩ棬缂栫爜")] + public string Qt012 { get; set; } + + [SugarColumn(ColumnName = "QT013")] + [Description("鏁伴噺")] + public decimal? Qt013 { get; set; } + + [SugarColumn(ColumnName = "QT014", DefaultValue = "0")] + [Description("瀹岀粨鏍囪瘑")] + public decimal Qt014 { get; set; } = 0; + + [SugarColumn(ColumnName = "QT015", DefaultValue = "0")] + [Description("瀹℃牳鐘舵��")] + public decimal Qt015 { get; set; } = 0; + + [SugarColumn(ColumnName = "QT016")] + [Description("瀹℃牳浜�")] + public string Qt016 { get; set; } + + [SugarColumn(ColumnName = "QT017")] + [Description("浠诲姟鍗曞彿")] + public string Qt017 { get; set; } + + [SugarColumn(ColumnName = "QT018")] + [Description("渚涘簲鍟嗙紪鐮�")] + public string Qt018 { get; set; } + + [SugarColumn(ColumnName = "QT019")] + [Description("鍑哄簱鏂瑰悜(閫�璐э紝鏅��)")] + public string Qt019 { get; set; } + + [SugarColumn(ColumnName = "QT020")] + [Description("璐т富绫诲瀷")] + public string Qt020 { get; set; } + [SugarColumn(ColumnName = "CUSTOMER_CODE")] + [Description("瀹㈡埛")] + public string CustomerCode { get; set; } + + [SugarColumn(ColumnName = "REMARK")] + [Description("鍑哄簱鍘熷洜")] + public string Remark { get; set; } + + [SugarColumn(ColumnName = "QT021")] + [Description("瀹㈡埛缂栫爜")] + public string Qt021 { get; set; } + [SugarColumn(ColumnName = "DEPARTMENT")] + [Description("閮ㄩ棬")] + public string Department { get; set; } + + [SugarColumn(ColumnName = "STOCK_KEEPER")] + [Description("搴撶鍛�")] + public string StockKeeper { get; set; } + + [SugarColumn(ColumnName = "SOURCE_TYPE")] + [Description("鏉ユ簮绫诲埆")] + public string SourceType { get; set; } + + [SugarColumn(ColumnName = "SOURCE_DOCUMENT")] + [Description("鏉ユ簮鍗曟嵁")] + public string SourceDocument { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_RELATED")] + [Description("鐢熶骇鐩稿叧")] + public string ProductionRelated { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_LINE")] + [Description("鐢熶骇绾挎棩璁″垝")] + public string ProductionLine { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_ACTIVITY")] + [Description("鐢熶骇娲诲姩")] + public string ProductionActivity { get; set; } + + [SugarColumn(ColumnName = "FINISHED_GOODS")] + [Description("浜ф垚鍝�")] + public string FinishedGoods { get; set; } + + [SugarColumn(ColumnName = "REVERSE_POSTING")] + [Description("閫嗗悜鐧昏处")] + public string ReversePosting { get; set; } + + [SugarColumn(ColumnName = "ACCOUNTING_PERIOD")] + [Description("璁拌处鏈熼棿")] + public string AccountingPeriod { get; set; } + + [SugarColumn(ColumnName = "EMPLOYEE")] + [Description("鍛樺伐")] + public string Employee { get; set; } + + [SugarColumn(ColumnName = "FALSE_RETURN")] + [Description("鍋囬��鏂�")] + public string FalseReturn { get; set; } + + [SugarColumn(ColumnName = "PROJECT_CODE")] + [Description("椤圭洰")] + public string ProjectCode { get; set; } + + [SugarColumn(ColumnName = "TASK_CODE")] + [Description("浠诲姟")] + public string TaskCode { get; set; } + + [SugarColumn(ColumnName = "STATUS")] + [Description("鐘舵��")] + public string Status { get; set; } + + [SugarColumn(ColumnName = "OWNER_ORGANIZATION")] + [Description("璐т富缁勭粐")] + public string OwnerOrganization { get; set; } + [SugarColumn(ColumnName = "RECEIVER")] + [Description("鍑哄簱浜�")] + public string Receiver { get; set; } + } +} diff --git a/StandardPda/MES.Service/Modes/MesItemQtDatall.cs b/StandardPda/MES.Service/Modes/MesItemQtDatall.cs new file mode 100644 index 0000000..a9e9f10 --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesItemQtDatall.cs @@ -0,0 +1,122 @@ +锘縰sing SqlSugar; +using System.ComponentModel; + +namespace MES.Service.Modes +{ + [SugarTable("MES_ITEM_QT_DATALL")] + public class MesItemQtDatall + { + [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_QTCKD")] + [Description("ID")] + public decimal Id { get; set; } + + [SugarColumn(ColumnName = "MID")] + [Description("MID")] + public decimal Mid { get; set; } + + [SugarColumn(ColumnName = "QD001")] + [Description("宸ュ崟鍙�")] + public string Qd001 { get; set; } + + [SugarColumn(ColumnName = "QD002")] + [Description("鐗╂枡缂栧彿")] + public string Qd002 { get; set; } + + [SugarColumn(ColumnName = "QD003")] + [Description("鐗╂枡鍚嶇О")] + public string Qd003 { get; set; } + + [SugarColumn(ColumnName = "QD004")] + [Description("瑙勬牸鍨嬪彿")] + public string Qd004 { get; set; } + + [SugarColumn(ColumnName = "QD005")] + [Description("棰滆壊")] + public string Qd005 { get; set; } + + [SugarColumn(ColumnName = "QD006")] + [Description("璁″垝鏁伴噺")] + public decimal? Qd006 { get; set; } + + [SugarColumn(ColumnName = "QD007")] + [Description("鐢宠鏁伴噺")] + public decimal? Qd007 { get; set; } + + [SugarColumn(ColumnName = "QD008", DefaultValue = "0")] + [Description("宸查鏁伴噺")] + public decimal Qd008 { get; set; } = 0; + + [SugarColumn(ColumnName = "QD009")] + [Description("鍗曚綅")] + public string Qd009 { get; set; } + + [SugarColumn(ColumnName = "QD010")] + [Description("澶囨敞")] + public string Qd010 { get; set; } + + [SugarColumn(ColumnName = "QD011", DefaultValue = "0")] + [Description("瀹岀粨鏍囪瘑")] + public decimal Qd011 { get; set; } = 0; + + [SugarColumn(ColumnName = "QD012")] + [Description("鐗╂枡鍐呯爜")] + public decimal? Qd012 { get; set; } + + /* 鏂板瀛楁 */ + + [SugarColumn(ColumnName = "LINE_NUMBER")] + [Description("琛屽彿(鐗╂枡椤哄簭)")] + public int? LineNumber { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_RELATED")] + [Description("鐢熶骇鐩稿叧")] + public string ProductionRelated { get; set; } + + [SugarColumn(ColumnName = "STORAGE_TYPE")] + [Description("瀛樺偍绫诲瀷")] + public string StorageType { get; set; } + + [SugarColumn(ColumnName = "OWNER_ORGANIZATION")] + [Description("璐т富缁勭粐")] + public string OwnerOrganization { get; set; } + + [SugarColumn(ColumnName = "STORAGE_LOCATION")] + [Description("瀛樺偍鍦扮偣")] + public string StorageLocation { get; set; } + + [SugarColumn(ColumnName = "SUPPLIER_CODE")] + [Description("渚涘簲鍟嗙紪鐮�")] + public string SupplierCode { get; set; } + + [SugarColumn(ColumnName = "CUSTOMER_CODE")] + [Description("瀹㈡埛缂栫爜")] + public string CustomerCode { get; set; } + + [SugarColumn(ColumnName = "PROJECT_CODE")] + [Description("鍏宠仈椤圭洰缂栫爜")] + public string ProjectCode { get; set; } + + [SugarColumn(ColumnName = "TASK_CODE")] + [Description("鍏宠仈浠诲姟缂栫爜")] + public string TaskCode { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_ORDER")] + [Description("鐢熶骇璁㈠崟鍙�")] + public string ProductionOrder { get; set; } + + [SugarColumn(ColumnName = "DAILY_PLAN")] + [Description("鐢熶骇绾挎棩璁″垝缂栧彿")] + public string DailyPlan { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_ACTIVITY")] + [Description("鐢熶骇娲诲姩")] + public string ProductionActivity { get; set; } + + [SugarColumn(ColumnName = "FINISHED_PRODUCT")] + [Description("浜ф垚鍝佺紪鐮�")] + public string FinishedProduct { get; set; } + [SugarColumn(ColumnName = "PICKING_USAGE")] + [Description("棰嗘枡鐢ㄩ��")] + public string PickingUsage { get; set; } + } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/MesItemQtrk.cs b/StandardPda/MES.Service/Modes/MesItemQtrk.cs new file mode 100644 index 0000000..4b3fab0 --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesItemQtrk.cs @@ -0,0 +1,162 @@ +锘縰sing SqlSugar; +using System; +using System.ComponentModel; + +namespace MES.Service.Modes; + + + [SugarTable("MES_ITEM_QTRK")] + public class MesItemQtrk + { + [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)] + [Description("ID")] + public decimal Id { get; set; } + + [SugarColumn(ColumnName = "QTCK")] + [Description("鐢宠鍗曞彿")] + public string Qtck { get; set; } + + [SugarColumn(ColumnName = "QT001")] + [Description("鐢宠鏃ユ湡")] + public DateTime? Qt001 { get; set; } + + [SugarColumn(ColumnName = "QT002")] + [Description("瀹℃牳鏃ユ湡")] + public DateTime? Qt002 { get; set; } + + [SugarColumn(ColumnName = "QT003")] + [Description("鍗曟嵁绫诲瀷")] + public string Qt003 { get; set; } + + [SugarColumn(ColumnName = "QT004")] + [Description("鍏ュ簱绫诲瀷")] + public string Qt004 { get; set; } + + [SugarColumn(ColumnName = "QT005")] + [Description("鍒跺崟浜�")] + public string Qt005 { get; set; } + + [SugarColumn(ColumnName = "QT006")] + [Description("鐢熶骇宸ュ崟")] + public string Qt006 { get; set; } + + [SugarColumn(ColumnName = "QT008")] + [Description("鍙戞枡浠撳簱")] + public string Qt008 { get; set; } + + [SugarColumn(ColumnName = "QT009")] + [Description("鐢宠閮ㄩ棬")] + public string Qt009 { get; set; } + + [SugarColumn(ColumnName = "QT010", Length = 300)] + [Description("鍏ュ簱鍘熷洜")] + public string Qt010 { get; set; } + + [SugarColumn(ColumnName = "QT011")] + [Description("浠撳簱缂栫爜")] + public string Qt011 { get; set; } + + [SugarColumn(ColumnName = "QT012")] + [Description("閮ㄩ棬缂栫爜")] + public string Qt012 { get; set; } + + + [SugarColumn(ColumnName = "QT014", DefaultValue = "0")] + [Description("瀹岀粨鏍囪瘑")] + public decimal Qt014 { get; set; } = 0; + + [SugarColumn(ColumnName = "QT015", DefaultValue = "0")] + [Description("瀹℃牳鐘舵��")] + public decimal Qt015 { get; set; } = 0; + + [SugarColumn(ColumnName = "QT016")] + [Description("瀹℃牳浜�")] + public string Qt016 { get; set; } + + [SugarColumn(ColumnName = "QT017")] + [Description("浠诲姟鍗曞彿")] + public string Qt017 { get; set; } + + [SugarColumn(ColumnName = "QT018", Length = 50)] + [Description("渚涘簲鍟嗙紪鐮�")] + public string Qt018 { get; set; } + + [SugarColumn(ColumnName = "QT019", Length = 50)] + [Description("鍏ュ簱鏂瑰悜(閫�璐э紝鏅��)")] + public string Qt019 { get; set; } + + [SugarColumn(ColumnName = "QT020", Length = 50)] + [Description("璐т富绫诲瀷")] + public string Qt020 { get; set; } + [SugarColumn(ColumnName = "CUSTOMER_CODE")] + [Description("瀹㈡埛")] + public string CustomerCode { get; set; } + + [SugarColumn(ColumnName = "RECEIVER")] + [Description("鍏ュ簱浜�")] + public string Receiver { get; set; } + + [SugarColumn(ColumnName = "DEPARTMENT")] + [Description("閮ㄩ棬")] + public string Department { get; set; } + + [SugarColumn(ColumnName = "STOCK_KEEPER")] + [Description("搴撶鍛�")] + public string StockKeeper { get; set; } + + [SugarColumn(ColumnName = "SOURCE_TYPE")] + [Description("鏉ユ簮绫诲埆")] + public string SourceType { get; set; } + + [SugarColumn(ColumnName = "SOURCE_DOCUMENT")] + [Description("鏉ユ簮鍗曟嵁")] + public string SourceDocument { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_RELATED")] + [Description("鐢熶骇鐩稿叧")] + public string ProductionRelated { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_LINE")] + [Description("鐢熶骇绾挎棩璁″垝")] + public string ProductionLine { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_ACTIVITY")] + [Description("鐢熶骇娲诲姩")] + public string ProductionActivity { get; set; } + + [SugarColumn(ColumnName = "FINISHED_GOODS")] + [Description("浜ф垚鍝�")] + public string FinishedGoods { get; set; } + + [SugarColumn(ColumnName = "REVERSE_POSTING")] + [Description("閫嗗悜鐧昏处")] + public string ReversePosting { get; set; } + + [SugarColumn(ColumnName = "ACCOUNTING_PERIOD")] + [Description("璁拌处鏈熼棿")] + public string AccountingPeriod { get; set; } + + [SugarColumn(ColumnName = "EMPLOYEE")] + [Description("鍛樺伐")] + public string Employee { get; set; } + + [SugarColumn(ColumnName = "FALSE_RETURN")] + [Description("鍋囬��鏂�")] + public string FalseReturn { get; set; } + + [SugarColumn(ColumnName = "PROJECT_CODE")] + [Description("椤圭洰")] + public string ProjectCode { get; set; } + + [SugarColumn(ColumnName = "TASK_CODE")] + [Description("浠诲姟")] + public string TaskCode { get; set; } + + [SugarColumn(ColumnName = "STATUS")] + [Description("鐘舵��")] + public string Status { get; set; } + + [SugarColumn(ColumnName = "OWNER_ORGANIZATION")] + [Description("璐т富缁勭粐")] + public string OwnerOrganization { get; set; } +} diff --git a/StandardPda/MES.Service/Modes/MesItemQtrrDetail.cs b/StandardPda/MES.Service/Modes/MesItemQtrrDetail.cs new file mode 100644 index 0000000..846a164 --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesItemQtrrDetail.cs @@ -0,0 +1,118 @@ +锘縰sing SqlSugar; +using System.ComponentModel; + +namespace MES.Service.Modes; + +[SugarTable("MES_ITEM_QTRR_DETAIL")] + public class MesItemQtrrDetail + { + [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_QTRKD")] + [Description("ID")] + public decimal Id { get; set; } + + [SugarColumn(ColumnName = "MID")] + [Description("MID")] + public decimal Mid { get; set; } + + [SugarColumn(ColumnName = "QD001")] + [Description("宸ュ崟鍙�")] + public string Qd001 { get; set; } + + [SugarColumn(ColumnName = "QD002")] + [Description("鐗╂枡缂栧彿")] + public string Qd002 { get; set; } + + [SugarColumn(ColumnName = "QD003")] + [Description("鐗╂枡鍚嶇О")] + public string Qd003 { get; set; } + + [SugarColumn(ColumnName = "QD004")] + [Description("瑙勬牸鍨嬪彿")] + public string Qd004 { get; set; } + + [SugarColumn(ColumnName = "QD005")] + [Description("棰滆壊")] + public string Qd005 { get; set; } + + [SugarColumn(ColumnName = "QD006")] + [Description("璁″垝鏁伴噺")] + public decimal? Qd006 { get; set; } + + [SugarColumn(ColumnName = "QD007")] + [Description("鐢宠鏁伴噺")] + public decimal? Qd007 { get; set; } + + [SugarColumn(ColumnName = "QD008", DefaultValue = "0")] + [Description("宸插叆鏁伴噺")] + public decimal Qd008 { get; set; } = 0; + + [SugarColumn(ColumnName = "QD009", Length = 30)] + [Description("鍗曚綅")] + public string Qd009 { get; set; } + + [SugarColumn(ColumnName = "QD010", Length = 500)] + [Description("澶囨敞")] + public string Qd010 { get; set; } + + [SugarColumn(ColumnName = "QD011", DefaultValue = "0")] + [Description("瀹岀粨鏍囪瘑")] + public decimal Qd011 { get; set; } = 0; + + [SugarColumn(ColumnName = "QD012")] + [Description("鐗╂枡鍐呯爜")] + public decimal? Qd012 { get; set; } + + /* 鏂板瀛楁 */ + + [SugarColumn(ColumnName = "LINE_NUMBER")] + [Description("琛屽彿(鐗╂枡椤哄簭)")] + public int? LineNumber { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_RELATED")] + [Description("鐢熶骇鐩稿叧")] + public string ProductionRelated { get; set; } + + [SugarColumn(ColumnName = "STORAGE_TYPE")] + [Description("瀛樺偍绫诲瀷")] + public string StorageType { get; set; } + + [SugarColumn(ColumnName = "OWNER_ORGANIZATION")] + [Description("璐т富缁勭粐")] + public string OwnerOrganization { get; set; } + + [SugarColumn(ColumnName = "STORAGE_LOCATION")] + [Description("瀛樺偍鍦扮偣")] + public string StorageLocation { get; set; } + + [SugarColumn(ColumnName = "SUPPLIER_CODE")] + [Description("渚涘簲鍟嗙紪鐮�")] + public string SupplierCode { get; set; } + + [SugarColumn(ColumnName = "CUSTOMER_CODE")] + [Description("瀹㈡埛缂栫爜")] + public string CustomerCode { get; set; } + + [SugarColumn(ColumnName = "PROJECT_CODE")] + [Description("鍏宠仈椤圭洰缂栫爜")] + public string ProjectCode { get; set; } + + [SugarColumn(ColumnName = "TASK_CODE")] + [Description("鍏宠仈浠诲姟缂栫爜")] + public string TaskCode { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_ORDER")] + [Description("鐢熶骇璁㈠崟鍙�")] + public string ProductionOrder { get; set; } + + [SugarColumn(ColumnName = "DAILY_PLAN")] + [Description("鐢熶骇绾挎棩璁″垝缂栧彿")] + public string DailyPlan { get; set; } + + [SugarColumn(ColumnName = "PRODUCTION_ACTIVITY")] + [Description("鐢熶骇娲诲姩")] + public string ProductionActivity { get; set; } + + [SugarColumn(ColumnName = "FINISHED_PRODUCT")] + [Description("浜ф垚鍝佺紪鐮�")] + public string FinishedProduct { get; set; } +} diff --git a/StandardPda/MES.Service/service/Warehouse/MesItemQtManager.cs b/StandardPda/MES.Service/service/Warehouse/MesItemQtManager.cs new file mode 100644 index 0000000..958c3ec --- /dev/null +++ b/StandardPda/MES.Service/service/Warehouse/MesItemQtManager.cs @@ -0,0 +1,430 @@ +锘縰sing MES.Service.DB; +using MES.Service.Dto.service; +using MES.Service.Modes; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MES.Service.service.Warehouse +{ + public class MesItemQtManager:Repository<MesItemQt> + { + public bool MiscellaneousIssues(MesItemQtDto mesItemQtDto) + { + var itemQtFrom = mesItemQtDto.from; + var itemQtLists = mesItemQtDto.items; + + // 鏍规嵁AsnNo鍜孧esNo瀵规槑缁嗚繘琛屽垎缁� + //var groupedItems = itemOutLists + // .GroupBy(item => new { item.AsnNo, item.MesNo, item.SqNo }) + // .ToList(); + + bool result = true; + //foreach (var group in itemQtRKLists) + //{ + //if (group.Key.AsnNo == null) + //{ + // throw new NotImplementedException("AsnNo涓嶈兘涓虹┖"); + //} + + //if (group.Key.MesNo == null) + //{ + // throw new NotImplementedException("鍏ュ簱鍗曞崟鍙蜂笉鑳戒负绌�"); + //} + + //if (group.Key.SqNo == null) + //{ + // throw new NotImplementedException("閫�璐х敵璇峰崟琛屽彿涓嶈兘涓虹┖"); + //} + + // 鍒涘缓涓�涓复鏃剁殑itemOutFrom瀵硅薄锛屼娇鐢ㄥ垎缁勭殑Key浣滀负涓昏灞炴�� + //var tempItemOutFrom = new ItemOutFrom + //{ + // AsnNo = group.Key.AsnNo, + // MesNo = group.Key.MesNo, + // SqNo = group.Key.SqNo, + // // 缁ф壙鍘熷itemOutFrom鐨勫叾浠栧睘鎬� + // RtnNo = itemOutFrom.RtnNo, + // Type = itemOutFrom.Type, + // CreateBy = itemOutFrom.CreateBy, + // FMRMODE = itemOutFrom.FMRMODE, + // DepotId = itemOutFrom.DepotId, + // SupperId = itemOutFrom.SupperId + //}; + + // 鏍规嵁Type鎵ц涓嶅悓鐨勯�昏緫 + switch (itemQtFrom.Type) + { + case "1": + { + var mesInvItemOuts = Db.Queryable<MesItemQt>() + .Where(s => s.Qtck == itemQtFrom.ApplyNumber + + ) + .Count(); + + if (mesInvItemOuts > 0) + { + throw new NotImplementedException( + itemQtFrom.ApplyNumber + + "鐨勬潅鍙戠敵璇峰崟宸茬粡瀛樺湪"); + } + + // 涓哄綋鍓嶅垎缁勪繚瀛樻暟鎹� + var groupResult = Save(itemQtFrom, itemQtLists); + if (!groupResult) + { + result = false; + } + + break; + } + case "4": + var removeResult = Remove(itemQtFrom); + if (!removeResult) + { + result = false; + } + + break; + default: + result = false; + break; + } + //} + + return result; + } + + + private bool Save(MesItemQtFrom from, List<MesItemQtList> items) + { + //var mesInvItemIns = Db.Queryable<MesInvItemIns>() + // .Where(s => s.BillTypeId == 100 + // && s.TransctionNo == "101" + // && s.BillNo == from.MesNo + // ).First(); + + //if (mesInvItemIns == null) + //{ + // throw new NotImplementedException("閲囪喘鍏ュ簱涓嶅瓨鍦�"); + //} + + + string SuppNo = ""; + if (from.SupplierCode != "" && from.SupplierCode != null) + { + var mesLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_SUPPLIER" + && s.U9Id == from.SupplierCode).First(); + + if (mesLinkU9 == null) + { + throw new NotImplementedException("渚涘簲鍟咺D涓嶅瓨鍦ㄦ垨鏈悓姝ヤ簬U9"); + } + + var mesSupplier = Db.Queryable<MesSupplier>() + .Where(s => s.Id == Decimal.Parse(mesLinkU9.MesId)) + .First(); + if (mesSupplier == null) + { + throw new NotImplementedException("[" + from.SupplierCode + + "]渚涘簲鍟嗕笉瀛樺湪锛岃鍚屾缁橫ES"); + } + SuppNo = mesSupplier.SuppNo; + } + var mesDepots = Db.Queryable<MesDepots>() + .Where(s => s.DepotId == Decimal.Parse(from.FromWarehouse)).First(); + + if (mesDepots == null) + { + throw new NotImplementedException("[" + from.FromWarehouse + + "]浠撳簱涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + + var sysDepartment = Db.Queryable<SysDepartment>() + .Where(s => s.Departmentid == Decimal.Parse(from.ApplyDept)).First(); + + if (sysDepartment == null) + { + throw new NotImplementedException("[" + from.ApplyDept + + "]閮ㄩ棬涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + + + var nextSequenceValue = + Db.Ado.SqlQuery<decimal>("SELECT SEQ_QTCK.NEXTVAL FROM DUAL") + .First(); + + // var billCode = + // Db.Ado.SqlQuery<string>( + // "SELECT GETBILLCODE1('1000', '1000', 'TLSQ') FROM DUAL") + // .First(); + //var billCode = from.RtnNo; + + // 鍒涘缓鏉傚彂鐢宠鍗曡褰� + var MesItemQtrk = new MesItemQt + { + Id = nextSequenceValue, + Qtck = from.ApplyNumber, + Qt001 = from.Equals(null) ? DateTime.Now : from.ApplyDate, + Qt002 = from.Equals(null) ? DateTime.Now : from.AuditDate, + Qt003 = from.DocumentType, + Qt004 = from.StockOutType, + Qt005 = from.CreatedBy, + Qt006 = from.WorkOrder, + Qt009 = sysDepartment.Departmentname, + Qt012 = sysDepartment.Departmentcode, + Qt010 = from.Reason, + Qt011 = mesDepots.DepotCode, + Qt008 = mesDepots.DepotName, + + Qt015 = 1, + Qt016 = from.Auditor, + Qt017 = from.TaskNumber, + Qt018 = SuppNo, + Qt019 = from.Direction, + Qt020 = from.OwnerType, + CustomerCode = from.CustomerCode, + Receiver = from.Receiver, + Department = from.Department, + StockKeeper = from.StockKeeper, + SourceType = from.SourceType, + SourceDocument = from.SourceDocument, + ProductionRelated = from.ProductionRelated, + ProductionLine = from.ProductionLine, + ProductionActivity = from.ProductionActivity, + FinishedGoods = from.FinishedGoods, + ReversePosting = from.ReversePosting, + AccountingPeriod = from.AccountingPeriod, + Employee = from.Employee, + FalseReturn = from.FalseReturn, + ProjectCode = from.ProjectCode, + TaskCode = from.TaskCode, + Status = from.Status, + OwnerOrganization = from.OwnerOrganization + + + }; + + // 鍒涘缓鏉傚彂鐢宠鍗曡璁板綍 + var mesItemQtDetail = new List<MesItemQtDatall>(); + + foreach (var ItemQtRKList in items) + { + // 妫�鏌ュ繀瑕佸瓧娈垫槸鍚︿负绌� + //if (string.IsNullOrEmpty(itemOutList.SrcDocNo)) + //{ + // throw new NotImplementedException("閲囪喘璁㈠崟鍙蜂笉鑳戒负绌�"); + //} + + + + //var mesRohInData = Db.Queryable<MesRohInData>() + // .Where(s => s.BillNo == itemOutList.SrcDocNo + // && s.OrderLineId == itemOutList.SrcDocLineNo) + // .First(); + + //if (mesRohInData == null) + //{ + // throw new NotImplementedException("閲囪喘璁㈠崟涓嶅瓨鍦�"); + //} + + //var deliveryDetail = Db.Queryable<DeliveryDetail>() + // .Where(a => a.Zzasn == from.AsnNo + // && Int32.Parse(a.ZzitemId) == + // Int32.Parse(itemOutList.AsnLineNo)) + // .Count(); + + //if (deliveryDetail <= 0) + //{ + // throw new NotImplementedException("[" + from.AsnNo + "]鐨勬槑缁嗚[" + + // itemOutList.AsnLineNo + + // "]涓嶅瓨鍦�"); + //} + + var itemIdLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_ITEMS" + && s.U9Id == ItemQtRKList.ItemId).First(); + + if (itemIdLinkU9 == null) + { + throw new NotImplementedException("鐗╂枡ID涓嶅瓨鍦ㄦ垨鏈悓姝ヤ簬U9"); + } + + var mesItems = Db.Queryable<MesItems>() + .Where(s => s.Id == Decimal.Parse(itemIdLinkU9.MesId)) + .First(); + + if (mesItems == null) + { + throw new NotImplementedException("[" + ItemQtRKList.ItemId + + "]鐗╂枡涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + var mesDepot = ""; + if (ItemQtRKList.StorageLocation != null && ItemQtRKList.StorageLocation != null) + { + mesDepots = Db.Queryable<MesDepots>() + .Where(s => s.DepotId == Decimal.Parse(ItemQtRKList.StorageLocation)).First(); + if (mesDepots == null) + { + throw new NotImplementedException("[" + ItemQtRKList.StorageLocation + + "]浠撳簱涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + mesDepot = mesDepots.DepotCode; + } + string supplierCode = ""; + if (ItemQtRKList.SupplierCode != null && ItemQtRKList.SupplierCode != "") + { + var mesLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_SUPPLIER" + && s.U9Id == ItemQtRKList.SupplierCode).First(); + + if (mesLinkU9 == null) + { + throw new NotImplementedException("[" + ItemQtRKList.SupplierCode + + "]渚涘簲鍟嗕笉瀛樺湪锛岃鍚屾缁橫ES"); + } + var mesSupplier = Db.Queryable<MesSupplier>() + .Where(s => s.Id == Decimal.Parse(mesLinkU9.MesId)) + .First(); + if (mesSupplier == null) + { + throw new NotImplementedException("[" + ItemQtRKList.SupplierCode + + "]渚涘簲鍟嗕笉瀛樺湪锛岃鍚屾缁橫ES"); + } + supplierCode = mesSupplier.SuppNo; + } + + + //var mesInvItemInCItems = Db.Queryable<MesInvItemInCItems>() + // .Where(s => s.ItemInId == mesInvItemIns.Id + // && s.ItemNo == mesItems.ItemNo + // && s.Ebeln == itemOutList.SrcDocNo + // && s.EbelnLineNo == + // Decimal.Parse(itemOutList.SrcDocLineNo) + // && s.SuppNo == mesSupplier.SuppNo + // && Convert.ToInt32(s.ZzitemId) == + // Convert.ToInt32(itemOutList.AsnLineNo)).First(); + + //if (mesInvItemInCItems == null) + //{ + // throw new NotImplementedException("娌℃湁瀵瑰簲鐨勫叆搴撴槑缁�"); + //} + + + // 纭繚CbillNo涓嶄负绌� + if (ItemQtRKList.AppliedQuantity <= 0 || ItemQtRKList.AppliedQuantity == null) + { + throw new NotImplementedException("鐢宠鏁伴噺涓嶈兘涓�0鎴朜ULL鍊硷紒"); + } + + mesItemQtDetail.Add(new MesItemQtDatall + { + Mid = nextSequenceValue, + Qd002 = mesItems.ItemNo, + Qd003 = mesItems.ItemName, + Qd004 = mesItems.ItemModel, + Qd005 = mesItems.ColorName, + Qd006 = ItemQtRKList.PlannedQuantity, + Qd007 = ItemQtRKList.AppliedQuantity, + Qd008 = 0, // 宸插叆鏁伴噺榛樿涓�0 + Qd009 = mesItems.ItemUnit, + Qd010 = ItemQtRKList.Remark, + Qd012 = mesItems.Id, // 鐗╂枡鍐呯爜 + LineNumber = ItemQtRKList.LineNumber, + ProductionRelated = ItemQtRKList.ProductionRelated, + StorageType = ItemQtRKList.StorageType, + OwnerOrganization = ItemQtRKList.OwnerOrganization, + StorageLocation = mesDepot, + SupplierCode = supplierCode, + CustomerCode = ItemQtRKList.CustomerCode, + ProjectCode = ItemQtRKList.ProjectCode, + TaskCode = ItemQtRKList.TaskCode, + ProductionOrder = ItemQtRKList.ProductionOrder, + DailyPlan = ItemQtRKList.DailyPlan, + ProductionActivity = ItemQtRKList.ProductionActivity, + FinishedProduct = ItemQtRKList.FinishedProduct, + PickingUsage= ItemQtRKList.PickingUsage + + + }); + } + + var outItemCommand = Db.Insertable(mesItemQtDetail) + .PageSize(1).IgnoreColumnsNull().ExecuteCommand(); + if (outItemCommand <= 0) + { + throw new Exception("鍒涘缓鏉傚彂鍗曞瓙琛ㄥけ璐�"); + } + + // 鎻掑叆閲囪喘閫�鏂欏崟璁板綍 + var insertResult = Db.Insertable(MesItemQtrk).IgnoreColumns(true) + .ExecuteCommand(); + if (insertResult <= 0) + { + throw new Exception("鍒涘缓鏉傚彂鍗曞け璐�"); + } + + return outItemCommand + insertResult >= 2; + } + + private bool Remove(MesItemQtFrom from) + { + // 鏌ユ壘瑕佸垹闄ょ殑鏉傚彂鍗� + var mesItemQtrk = Db.Queryable<MesItemQt>() + .Where(s => s.Qtck == from.ApplyNumber + ).ToList(); + + if (mesItemQtrk == null || mesItemQtrk.Count == 0) + { + throw new NotImplementedException("鎵句笉鍒板搴旂殑鏉傚彂鍗�: " + from.ApplyNumber); + } + + // 妫�鏌ユ槸鍚︽湁宸插鏍哥殑鍗曟嵁锛屽鏋滃瓨鍦ㄥ凡瀹℃牳(Status=1)鍒欎笉鍏佽鍒犻櫎 + //if (mesInvItemOuts.Any(item => item.Status == 1)) + //{ + // throw new NotImplementedException("瀛樺湪宸插鏍哥殑閲囪喘閫�鏂欏崟锛屼笉鍏佽鍒犻櫎"); + //} + + // 鍒犻櫎鎵�鏈夌浉鍏冲崟鎹� + foreach (var itemRK in mesItemQtrk) + { + // 鏌ユ壘瑕佸垹闄ょ殑鏉傚彂鍗曟槑缁� + var mesInvItemOutItems = Db.Queryable<MesItemQtDatall>() + .Where(s => s.Mid == itemRK.Id) + .ToList(); + + if (mesInvItemOutItems == null || mesInvItemOutItems.Count == 0) + { + throw new NotImplementedException( + $"鎵句笉鍒版潅鍙戝崟[{from.ApplyNumber}]瀵瑰簲鐨勬槑缁�"); + } + + // 鍒犻櫎鏉傚彂鍗曟槑缁� + var deleteItemsResult = Db.Deleteable<MesItemQtDatall>() + .Where(s => s.Mid == itemRK.Id) + .ExecuteCommand(); + + if (deleteItemsResult <= 0) + { + throw new Exception($"鎵句笉鍒版潅鍙戝崟[ {from.ApplyNumber}]鏄庣粏锛屽垹闄ゅけ璐�"); + } + + // 鍒犻櫎鏉傚彂鍗� + var deleteResult = Db.Deleteable<MesItemQt>() + .Where(s => s.Id == itemRK.Id) + .ExecuteCommand(); + + if (deleteResult <= 0) + { + throw new Exception($"鍒犻櫎鏉傚彂鍗昜{from.ApplyNumber}]澶辫触"); + } + } + + return true; + } + } +} diff --git a/StandardPda/MES.Service/service/Warehouse/MesItemQtrkManager.cs b/StandardPda/MES.Service/service/Warehouse/MesItemQtrkManager.cs new file mode 100644 index 0000000..268fe67 --- /dev/null +++ b/StandardPda/MES.Service/service/Warehouse/MesItemQtrkManager.cs @@ -0,0 +1,424 @@ +锘縰sing Masuit.Tools; +using MES.Service.DB; +using MES.Service.Dto.service; +using MES.Service.Modes; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MES.Service.service.Warehouse +{ + public class MesItemQtrkManager : Repository<MesItemQtrk> + { + public bool MiscellaneousReceipts(MesItemQtRKDto mesItemQtRKDto) + { + var itemQtRKFrom = mesItemQtRKDto.from; + var itemQtRKLists = mesItemQtRKDto.items; + + // 鏍规嵁AsnNo鍜孧esNo瀵规槑缁嗚繘琛屽垎缁� + //var groupedItems = itemOutLists + // .GroupBy(item => new { item.AsnNo, item.MesNo, item.SqNo }) + // .ToList(); + + bool result = true; + //foreach (var group in itemQtRKLists) + //{ + //if (group.Key.AsnNo == null) + //{ + // throw new NotImplementedException("AsnNo涓嶈兘涓虹┖"); + //} + + //if (group.Key.MesNo == null) + //{ + // throw new NotImplementedException("鍏ュ簱鍗曞崟鍙蜂笉鑳戒负绌�"); + //} + + //if (group.Key.SqNo == null) + //{ + // throw new NotImplementedException("閫�璐х敵璇峰崟琛屽彿涓嶈兘涓虹┖"); + //} + + // 鍒涘缓涓�涓复鏃剁殑itemOutFrom瀵硅薄锛屼娇鐢ㄥ垎缁勭殑Key浣滀负涓昏灞炴�� + //var tempItemOutFrom = new ItemOutFrom + //{ + // AsnNo = group.Key.AsnNo, + // MesNo = group.Key.MesNo, + // SqNo = group.Key.SqNo, + // // 缁ф壙鍘熷itemOutFrom鐨勫叾浠栧睘鎬� + // RtnNo = itemOutFrom.RtnNo, + // Type = itemOutFrom.Type, + // CreateBy = itemOutFrom.CreateBy, + // FMRMODE = itemOutFrom.FMRMODE, + // DepotId = itemOutFrom.DepotId, + // SupperId = itemOutFrom.SupperId + //}; + + // 鏍规嵁Type鎵ц涓嶅悓鐨勯�昏緫 + switch (itemQtRKFrom.Type) + { + case "1": + { + var mesInvItemOuts = Db.Queryable<MesItemQtrk>() + .Where(s => s.Qtck == itemQtRKFrom.ApplyNumber + + ) + .Count(); + + if (mesInvItemOuts > 0) + { + throw new NotImplementedException( + itemQtRKFrom.ApplyNumber + + "鐨勬潅鏀剁敵璇峰崟宸茬粡瀛樺湪"); + } + + // 涓哄綋鍓嶅垎缁勪繚瀛樻暟鎹� + var groupResult = Save(itemQtRKFrom, itemQtRKLists); + if (!groupResult) + { + result = false; + } + + break; + } + case "4": + var removeResult = Remove(itemQtRKFrom); + if (!removeResult) + { + result = false; + } + + break; + default: + result = false; + break; + } + //} + + return result; + } + + + private bool Save(MesItemQtRKFrom from, List<MesItemQtRKList> items) + { + //var mesInvItemIns = Db.Queryable<MesInvItemIns>() + // .Where(s => s.BillTypeId == 100 + // && s.TransctionNo == "101" + // && s.BillNo == from.MesNo + // ).First(); + + //if (mesInvItemIns == null) + //{ + // throw new NotImplementedException("閲囪喘鍏ュ簱涓嶅瓨鍦�"); + //} + + + string SuppNo = ""; + if (from.SupplierCode!="" && from.SupplierCode!=null) + { + var mesLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_SUPPLIER" + && s.U9Id == from.SupplierCode).First(); + + if (mesLinkU9 == null) + { + throw new NotImplementedException("渚涘簲鍟咺D涓嶅瓨鍦ㄦ垨鏈悓姝ヤ簬U9"); + } + + var mesSupplier = Db.Queryable<MesSupplier>() + .Where(s => s.Id == Decimal.Parse(mesLinkU9.MesId)) + .First(); + if (mesSupplier == null) + { + throw new NotImplementedException("[" + from.SupplierCode + + "]渚涘簲鍟嗕笉瀛樺湪锛岃鍚屾缁橫ES"); + } + SuppNo= mesSupplier.SuppNo; + } + var mesDepots = Db.Queryable<MesDepots>() + .Where(s => s.DepotId == Decimal.Parse(from.FromWarehouse)).First(); + + if (mesDepots == null) + { + throw new NotImplementedException("[" + from.FromWarehouse + + "]浠撳簱涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + + var sysDepartment = Db.Queryable<SysDepartment>() + .Where(s => s.Departmentid == Decimal.Parse(from.ApplyDept)).First(); + + if (sysDepartment == null) + { + throw new NotImplementedException("[" + from.ApplyDept + + "]閮ㄩ棬涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + + + var nextSequenceValue = + Db.Ado.SqlQuery<decimal>("SELECT SEQ_QTRK.NEXTVAL FROM DUAL") + .First(); + + // var billCode = + // Db.Ado.SqlQuery<string>( + // "SELECT GETBILLCODE1('1000', '1000', 'TLSQ') FROM DUAL") + // .First(); + //var billCode = from.RtnNo; + + // 鍒涘缓鏉傛敹鐢宠鍗曡褰� + var MesItemQtrk = new MesItemQtrk + { + Id = nextSequenceValue, + Qtck= from.ApplyNumber, + Qt001= from.Equals(null) ? DateTime.Now : from.ApplyDate, + Qt002= from.Equals(null) ? DateTime.Now : from.AuditDate, + Qt003= from.DocumentType, + Qt004= from.StockInType, + Qt005= from.CreatedBy, + Qt006= from.WorkOrder, + Qt009= sysDepartment.Departmentname, + Qt012 = sysDepartment.Departmentcode, + Qt010 = from.Reason, + Qt011= mesDepots.DepotCode, + Qt008 = mesDepots.DepotName, + + Qt015= 1, + Qt016= from.Auditor, + Qt017= from.TaskNumber, + Qt018= SuppNo, + Qt019= from.Direction, + Qt020= from.OwnerType, + CustomerCode= from.CustomerCode, + Receiver= from.Receiver, + Department = from.Department, + StockKeeper=from.StockKeeper, + SourceType = from.SourceType, + SourceDocument = from.SourceDocument, + ProductionRelated = from.ProductionRelated, + ProductionLine = from.ProductionLine, + ProductionActivity = from.ProductionActivity, + FinishedGoods = from.FinishedGoods, + ReversePosting = from.ReversePosting, + AccountingPeriod= from.AccountingPeriod, + Employee= from.Employee, + FalseReturn = from.FalseReturn, + ProjectCode = from.ProjectCode, + TaskCode = from.TaskCode, + Status=from.Status, + OwnerOrganization= from.OwnerOrganization + + + }; + + // 鍒涘缓鏉傛敹鐢宠鍗曡璁板綍 + var mesItemQtrrDetail = new List<MesItemQtrrDetail>(); + + foreach (var ItemQtRKList in items) + { + // 妫�鏌ュ繀瑕佸瓧娈垫槸鍚︿负绌� + //if (string.IsNullOrEmpty(itemOutList.SrcDocNo)) + //{ + // throw new NotImplementedException("閲囪喘璁㈠崟鍙蜂笉鑳戒负绌�"); + //} + + + + //var mesRohInData = Db.Queryable<MesRohInData>() + // .Where(s => s.BillNo == itemOutList.SrcDocNo + // && s.OrderLineId == itemOutList.SrcDocLineNo) + // .First(); + + //if (mesRohInData == null) + //{ + // throw new NotImplementedException("閲囪喘璁㈠崟涓嶅瓨鍦�"); + //} + + //var deliveryDetail = Db.Queryable<DeliveryDetail>() + // .Where(a => a.Zzasn == from.AsnNo + // && Int32.Parse(a.ZzitemId) == + // Int32.Parse(itemOutList.AsnLineNo)) + // .Count(); + + //if (deliveryDetail <= 0) + //{ + // throw new NotImplementedException("[" + from.AsnNo + "]鐨勬槑缁嗚[" + + // itemOutList.AsnLineNo + + // "]涓嶅瓨鍦�"); + //} + + var itemIdLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_ITEMS" + && s.U9Id == ItemQtRKList.ItemId).First(); + + if (itemIdLinkU9 == null) + { + throw new NotImplementedException("鐗╂枡ID涓嶅瓨鍦ㄦ垨鏈悓姝ヤ簬U9"); + } + + var mesItems = Db.Queryable<MesItems>() + .Where(s => s.Id == Decimal.Parse(itemIdLinkU9.MesId)) + .First(); + + if (mesItems == null) + { + throw new NotImplementedException("[" + ItemQtRKList.ItemId + + "]鐗╂枡涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + var mesDepot = ""; + if (ItemQtRKList.StorageLocation != null && ItemQtRKList.StorageLocation!=null) + { + mesDepots = Db.Queryable<MesDepots>() + .Where(s => s.DepotId == Decimal.Parse(ItemQtRKList.StorageLocation)).First(); + if (mesDepots == null) + { + throw new NotImplementedException("[" + ItemQtRKList.StorageLocation + + "]浠撳簱涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + mesDepot = mesDepots.DepotCode; + } + string supplierCode = ""; + if (ItemQtRKList.SupplierCode!=null && ItemQtRKList.SupplierCode != "") + { + var mesLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_SUPPLIER" + && s.U9Id == ItemQtRKList.SupplierCode).First(); + + var mesSupplier = Db.Queryable<MesSupplier>() + .Where(s => s.Id == Decimal.Parse(mesLinkU9.MesId)) + .First(); + if (mesSupplier == null) + { + throw new NotImplementedException("[" + ItemQtRKList.SupplierCode + + "]渚涘簲鍟嗕笉瀛樺湪锛岃鍚屾缁橫ES"); + } + supplierCode = mesSupplier.SuppNo; + } + + + //var mesInvItemInCItems = Db.Queryable<MesInvItemInCItems>() + // .Where(s => s.ItemInId == mesInvItemIns.Id + // && s.ItemNo == mesItems.ItemNo + // && s.Ebeln == itemOutList.SrcDocNo + // && s.EbelnLineNo == + // Decimal.Parse(itemOutList.SrcDocLineNo) + // && s.SuppNo == mesSupplier.SuppNo + // && Convert.ToInt32(s.ZzitemId) == + // Convert.ToInt32(itemOutList.AsnLineNo)).First(); + + //if (mesInvItemInCItems == null) + //{ + // throw new NotImplementedException("娌℃湁瀵瑰簲鐨勫叆搴撴槑缁�"); + //} + + + // 纭繚CbillNo涓嶄负绌� + if (ItemQtRKList.AppliedQuantity<=0 || ItemQtRKList.AppliedQuantity==null) + { + throw new NotImplementedException("鐢宠鏁伴噺涓嶈兘涓�0鎴朜ULL鍊硷紒"); + } + + mesItemQtrrDetail.Add(new MesItemQtrrDetail + { + Mid = nextSequenceValue, + Qd002= mesItems.ItemNo, + Qd003= mesItems.ItemName, + Qd004= mesItems.ItemModel, + Qd005= mesItems.ColorName, + Qd006= ItemQtRKList.PlannedQuantity, + Qd007= ItemQtRKList.AppliedQuantity, + Qd008=0, // 宸插叆鏁伴噺榛樿涓�0 + Qd009= mesItems.ItemUnit, + Qd010= ItemQtRKList.Remark, + Qd012= mesItems.Id, // 鐗╂枡鍐呯爜 + LineNumber= ItemQtRKList.LineNumber, + ProductionRelated= ItemQtRKList.ProductionRelated, + StorageType= ItemQtRKList.StorageType, + OwnerOrganization = ItemQtRKList.OwnerOrganization, + StorageLocation= mesDepot, + SupplierCode= supplierCode, + CustomerCode = ItemQtRKList.CustomerCode, + ProjectCode = ItemQtRKList.ProjectCode, + TaskCode = ItemQtRKList.TaskCode, + ProductionOrder = ItemQtRKList.ProductionOrder, + DailyPlan = ItemQtRKList.DailyPlan, + ProductionActivity = ItemQtRKList.ProductionActivity, + FinishedProduct = ItemQtRKList.FinishedProduct + + }); + } + + var outItemCommand = Db.Insertable(mesItemQtrrDetail) + .PageSize(1).IgnoreColumnsNull().ExecuteCommand(); + if (outItemCommand <= 0) + { + throw new Exception("鍒涘缓鏉傛敹鍗曞瓙琛ㄥけ璐�"); + } + + // 鎻掑叆閲囪喘閫�鏂欏崟璁板綍 + var insertResult = Db.Insertable(MesItemQtrk).IgnoreColumns(true) + .ExecuteCommand(); + if (insertResult <= 0) + { + throw new Exception("鍒涘缓鏉傛敹鍗曞け璐�"); + } + + return outItemCommand + insertResult >= 2; + } + + private bool Remove(MesItemQtRKFrom from) + { + // 鏌ユ壘瑕佸垹闄ょ殑鏉傛敹鍗� + var mesItemQtrk = Db.Queryable<MesItemQtrk>() + .Where(s => s.Qtck == from.ApplyNumber + ).ToList(); + + if (mesItemQtrk == null || mesItemQtrk.Count == 0) + { + throw new NotImplementedException("鎵句笉鍒板搴旂殑鏉傛敹鍗�: " + from.ApplyNumber); + } + + // 妫�鏌ユ槸鍚︽湁宸插鏍哥殑鍗曟嵁锛屽鏋滃瓨鍦ㄥ凡瀹℃牳(Status=1)鍒欎笉鍏佽鍒犻櫎 + //if (mesInvItemOuts.Any(item => item.Status == 1)) + //{ + // throw new NotImplementedException("瀛樺湪宸插鏍哥殑閲囪喘閫�鏂欏崟锛屼笉鍏佽鍒犻櫎"); + //} + + // 鍒犻櫎鎵�鏈夌浉鍏冲崟鎹� + foreach (var itemRK in mesItemQtrk) + { + // 鏌ユ壘瑕佸垹闄ょ殑鏉傛敹鍗曟槑缁� + var mesInvItemOutItems = Db.Queryable<MesItemQtrrDetail>() + .Where(s => s.Mid == itemRK.Id) + .ToList(); + + if (mesInvItemOutItems == null || mesInvItemOutItems.Count == 0) + { + throw new NotImplementedException( + $"鎵句笉鍒版潅鏀跺崟[{from.ApplyNumber}]瀵瑰簲鐨勬槑缁�"); + } + + // 鍒犻櫎鏉傛敹鍗曟槑缁� + var deleteItemsResult = Db.Deleteable<MesItemQtrrDetail>() + .Where(s => s.Mid == itemRK.Id) + .ExecuteCommand(); + + if (deleteItemsResult <= 0) + { + throw new Exception($"鎵句笉鍒版潅鏀跺崟[ {from.ApplyNumber}]鏄庣粏锛屽垹闄ゅけ璐�"); + } + + // 鍒犻櫎鏉傛敹鍗� + var deleteResult = Db.Deleteable<MesItemQtrk>() + .Where(s => s.Id == itemRK.Id) + .ExecuteCommand(); + + if (deleteResult <= 0) + { + throw new Exception($"鍒犻櫎鏉傛敹鍗昜{from.ApplyNumber}]澶辫触"); + } + } + + return true; + } + } +} diff --git a/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs b/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs index edc8bea..b0d1277 100644 --- a/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs +++ b/StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs @@ -2,12 +2,13 @@ using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Modes; +using MES.Service.service.BasicData; using System; using System.Collections.Generic; +using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; -using System.Data; namespace MES.Service.service.Warehouse { @@ -22,11 +23,11 @@ { OracleSQLHelper SQLHelper = new(); //鏌ュ伐鍗曚俊鎭� - var sql1 = @"select DAA001 tickeNo,s.ITEM_NO itemNo,s.ITEM_NAME itemName,s.ITEM_MODEL itemModel,DAA008 plannedNum from MESLINE_LIKE_CCLOGIN A - join MES_LINE b on A.LINEID=b.ID - left join WOMDAA C on C.DAA015=B.LINE_NO - left join mes_items s on s.id = C.daa002 - where LOGINID='" + id + "' and DAA018='宸插紑宸�' order by DAA016 asc"; + //var sql1 = @"select DAA001 tickeNo,s.ITEM_NO itemNo,s.ITEM_NAME itemName,s.ITEM_MODEL itemModel,DAA008 plannedNum from MESLINE_LIKE_CCLOGIN A + // join MES_LINE b on A.LINEID=b.ID + // left join WOMDAA C on C.DAA015=B.LINE_NO + // left join mes_items s on s.id = C.daa002 + // where LOGINID='" + id + "' and DAA018='宸插紑宸�' order by DAA016 asc"; //鏀逛负鎸夌珯浣嶅彿鍙嶆煡浜х嚎锛屽啀閫氳繃浜х嚎鏌ュ嚭宸ュ崟淇℃伅 //var sql1 = @"select DAA001 tickeNo,s.ITEM_NO itemNo,s.ITEM_NAME itemName,s.ITEM_MODEL itemModel,DAA008 plannedNum from MESLINE_LIKE_CCLOGIN A @@ -34,8 +35,16 @@ // join MES_LINE b on A.LINEID=b.ID // left join WOMDAA C on C.DAA015=B.LINE_NO // left join mes_items s on s.id = C.daa002 - // where WORKSNO='" + id+ "' and DAA018='宸插紑宸�' order by DAA016 asc"; + // where WORKSNO='" + id + "' and DAA018='宸插紑宸�' order by DAA016 asc"; + + //鍙栫洿鎺ュ叧鑱旂嚎浣撶殑浜ф祴鐧诲綍鍙锋暟鎹紝鍘诲彇鑾峰彇宸ュ崟 + var sql1 = "select DAA001 tickeNo,s.ITEM_NO itemNo,s.ITEM_NAME itemName,s.ITEM_MODEL itemModel,DAA008 plannedNum from " + + "MESLINE_LIKE_CCLOGIN_WORKS A1" + + " join MES_LINE b on A1.LOGINID=b.ID" + + " left join WOMDAA C on C.DAA015=B.LINE_NO" + + " left join mes_items s on s.id = C.daa002" + + " where WORKSNO='" + id + "' and DAA018='宸插紑宸�' order by DAA016 asc"; return SQLHelper.ExecuteQuery(sql1); } @@ -45,19 +54,265 @@ /// </summary> /// <param name="id"></param> /// <returns></returns> + //public bool AddAsnInfo(AsnInfo asnInfo) + //{ + // OracleSQLHelper SQLHelper = new(); + // //璁板綍浜ф祴杩囩珯淇℃伅 + // var sql1 = @"INSERT INTO MES_SN_STATUS_DETAILS (ID,TICKET_NO,SN_NO,WORKSTATION_NO,SN_STATE,LOGIN_ID) VALUES (SEQ_MES_SN_STATUS_DETAILS_ID.NEXTVAL,'" + asnInfo.tickeNo+ "','"+ asnInfo.snNo+ "','"+ asnInfo.workstationNo+ "','"+ asnInfo.snState+ "','"+asnInfo.loginId+"')"; + // bool result = true; + // int i= SQLHelper.ExecuteNonQuery(sql1); + // //涓昏〃淇℃伅鎻掑叆鎴愬姛锛岀户缁彃鍏ラ」鐩� + // if (i > 0) { + // //鍒ゆ柇椤圭洰鏄惁涓虹┖锛屼负绌轰笉鎻掑叆 + // if (asnInfo.failItems.Count>0) + // { + // //鎻掑叆閫昏緫 + + // } + // else + // { + // result = true; + // } + + + // } else { result = false; } + + // return result; + //} public bool AddAsnInfo(AsnInfo asnInfo) { - OracleSQLHelper SQLHelper = new(); - //璁板綍浜ф祴杩囩珯淇℃伅 - var sql1 = @"INSERT INTO MES_SN_STATUS_DETAILS (ID,TICKET_NO,SN_NO,WORKSTATION_NO,SN_STATE) VALUES (SEQ_MES_SN_STATUS_DETAILS_ID.NEXTVAL,'"+ asnInfo.tickeNo+ "','"+ asnInfo.snNo+ "','"+ asnInfo.workstationNo+ "','"+ asnInfo.snState+ "')"; + var sqlHelper = new OracleSQLHelper(); bool result = true; - int i= SQLHelper.ExecuteNonQuery(sql1); - if (i > 0) {result = true;} else { result = false; } - + // + var (connection, transaction) = sqlHelper.BeginTransaction(); + + try + { + // 涓昏〃鎻掑叆 + var sql1 = $@"INSERT INTO MES_SN_STATUS_DETAILS + (ID, TICKET_NO, SN_NO, WORKSTATION_NO, SN_STATE, LOGIN_ID) + VALUES (SEQ_MES_SN_STATUS_DETAILS_ID.NEXTVAL, + '{asnInfo.tickeNo}', + '{asnInfo.snNo}', + '{asnInfo.workstationNo}', + '{asnInfo.snState}', + '{asnInfo.loginId}')"; + + int i = sqlHelper.ExecuteNonQueryWithTransaction(connection, transaction, sql1); + + if (i > 0 && asnInfo.failItems?.Count > 0) + { + foreach (var item in asnInfo.failItems) + { + var sql2 = $@"INSERT INTO CC_FAIL_ITEMS + (ID, MID, DEFECT_ISSUE, ROOT_CAUSE, REPAIR_METHOD, MATERIAL_HANDLING, CREATE_DATE, CREATED_BY) + VALUES (SEQ_CC_FAIL_ITEMS.NEXTVAL, + SEQ_MES_SN_STATUS_DETAILS_ID.CURRVAL, + '{item.DefectIssue}', + '{item.RootCause}', + '{item.RepairMethod}', + '{item.MaterialHandling}', + SYSDATE, + '{asnInfo.loginId}')"; + + sqlHelper.ExecuteNonQueryWithTransaction(connection, transaction, sql2); + } + } + + // 鍏ㄩ儴鎴愬姛鎻愪氦 + transaction.Commit(); + } + catch (Exception ex) + { + transaction.Rollback(); + result = false; + throw; // 寤鸿璁板綍鏃ュ織 + } + finally + { + sqlHelper.CloseConnection(connection); + } + return result; } + /// <summary> + /// 璁剧疆涓鐮� + /// </summary> + /// <param name="mesMiddleBox"></param> + /// <returns></returns> + public string[] SetMediumBoxCode(MesMiddleBox mesMiddleBox) + { + var sqlHelper = new OracleSQLHelper(); + string[] msg= new string[2]; + msg[0] = "true"; + // + var (connection, transaction) = sqlHelper.BeginTransaction(); + try + { + if (mesMiddleBox.type.ToUpper() =="A") { + if (mesMiddleBox.SnList.Count > 0) + { + string sql1 = "select count(*) count from MES_MIDDLE_BOX where MEDIUMBOXCODE='"+ mesMiddleBox.MediumBoxCode + "'"; + DataTable data= sqlHelper.ExecuteQuery(sql1); + if (data.Rows[0]["COUNT"].ToString() != "0") { + msg[0] = "false"; + msg[1] = "璇ヤ腑绠辩爜宸茬粡缁戝畾SN鏁版嵁锛屽闇�鍐嶆缁戝畾璇峰厛瑙g粦锛佷腑绠辩爜锛�" + mesMiddleBox.MediumBoxCode; + transaction.Rollback(); + + return msg; + } + foreach (var item in mesMiddleBox.SnList) + { + var sql2 = $@"INSERT INTO MES_MIDDLE_BOX + ( + ID, + MEDIUMBOXCODE, + LOGIN_ID, + SN_NO, + TICKET_NO, + CREATE_DATE, + CREATED_BY + ) + VALUES + ( + SEQ_MES_MIDDLE_BOX_ID.NEXTVAL, -- 搴忓垪鐢熸垚涓婚敭 + '{mesMiddleBox.MediumBoxCode.ToString()}', -- 涓鐮� + '{mesMiddleBox.LoginId}', -- 鐧诲綍鍙� + '{item.SnNo}', -- SN鍙� + '{item.TicketNo}', -- 宸ュ崟鍗曞彿 + SYSDATE, -- 鍒涘缓鏃堕棿 + '{mesMiddleBox.LoginId}' -- 鍒涘缓浜� + ) + "; + + sqlHelper.ExecuteNonQueryWithTransaction(connection, transaction, sql2); + } + } + else + { + msg[0] = "false"; + } + } else if(mesMiddleBox.type.ToUpper() == "F") { + //瑙g粦锛屾牴鎹腑绠辩爜鍏ㄩ儴鍒犻櫎 + var sql2 = $@"delete MES_MIDDLE_BOX where MEDIUMBOXCODE='{mesMiddleBox.MediumBoxCode}'"; + + sqlHelper.ExecuteNonQueryWithTransaction(connection, transaction, sql2); + } + else + { + msg[1] = "SN鏄庣粏涓虹┖锛岃纭锛�"; + msg[0] = "false"; + } + + + // 鍏ㄩ儴鎴愬姛鎻愪氦 + transaction.Commit(); + } + catch (Exception ex) + { + transaction.Rollback(); + msg[0] = "false"; + msg[1] = ex.Message; + throw; // 寤鸿璁板綍鏃ュ織 + } + finally + { + sqlHelper.CloseConnection(connection); + } + + return msg; + } + + + public string[] SetStackCode(MesPalletBinding mesPalletBinding) + { + var sqlHelper = new OracleSQLHelper(); + string[] msg = new string[2]; + msg[0] = "true"; + // + var (connection, transaction) = sqlHelper.BeginTransaction(); + + try + { + //缁戝畾 + if (mesPalletBinding.Type.ToUpper() == "A") { + if (mesPalletBinding.SnList.Count > 0) + { + string sql1 = "select count(*) count from MES_PALLET_BINDING where STACKCODE='" + mesPalletBinding.StackCode + "'"; + DataTable data = sqlHelper.ExecuteQuery(sql1); + if (data.Rows[0]["COUNT"].ToString() != "0") + { + msg[0] = "false"; + msg[1] = "璇ユ爤鏉跨爜宸茬粡缁戝畾SN鏁版嵁锛屽闇�鍐嶆缁戝畾璇峰厛瑙g粦锛佹爤鏉跨爜锛�" + mesPalletBinding.StackCode; + transaction.Rollback(); + + return msg; + } + foreach (var item in mesPalletBinding.SnList) + { + var sql2 = $@"INSERT INTO MES_PALLET_BINDING + ( + ID, + STACKCODE, + LOGIN_ID, + SN_NO, + TICKET_NO, + MEDIUMBOXCODE, + CREATE_DATE, + CREATED_BY + ) + VALUES + ( + SEQ_MES_PALLET_BINDING_ID.NEXTVAL, -- 搴忓垪鐢熸垚涓婚敭 + '{mesPalletBinding.StackCode}', -- 鏍堟澘鐮� + '{mesPalletBinding.LoginId}', -- 鐧诲綍鍙� + '{item.SnNo}', -- SN鍙� + '{item.TicketNo}', -- 宸ュ崟鍗曞彿 + '{item.MediumBoxCode}', -- 涓鐮� + SYSDATE, -- 鍒涘缓鏃堕棿 + '{mesPalletBinding.LoginId}' -- 鍒涘缓浜� + ) + + "; + + sqlHelper.ExecuteNonQueryWithTransaction(connection, transaction, sql2); + } + } + else + { + msg[1] = "SN鏄庣粏涓虹┖锛岃纭锛�"; + msg[0] = "false"; + } + } + //瑙g粦 + else if(mesPalletBinding.Type.ToUpper() == "F") + { + //瑙g粦锛屾牴鎹腑绠辩爜鍏ㄩ儴鍒犻櫎 + var sql2 = $@"delete MES_PALLET_BINDING where STACKCODE='" + mesPalletBinding.StackCode + "'"; + + sqlHelper.ExecuteNonQueryWithTransaction(connection, transaction, sql2); + } + + + // 鍏ㄩ儴鎴愬姛鎻愪氦 + transaction.Commit(); + } + catch (Exception ex) + { + transaction.Rollback(); + msg[0] = "false"; + msg[1] = ex.Message; + throw; // 寤鸿璁板綍鏃ュ織 + } + finally + { + sqlHelper.CloseConnection(connection); + } + + return msg; + } } } diff --git a/StandardPda/MESApplication/Controllers/Warehouse/MesItemQtController.cs b/StandardPda/MESApplication/Controllers/Warehouse/MesItemQtController.cs new file mode 100644 index 0000000..32d28c1 --- /dev/null +++ b/StandardPda/MESApplication/Controllers/Warehouse/MesItemQtController.cs @@ -0,0 +1,216 @@ +锘縰sing MES.Service.Dto.service; +using MES.Service.Modes; +using MES.Service.service; +using MES.Service.service.BasicData; +using MES.Service.service.Warehouse; +using MES.Service.util; +using Microsoft.AspNetCore.Mvc; +using System.Dynamic; + +// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 + +namespace MESApplication.Controllers.Warehouse +{ + [Route("api/[controller]")] + [ApiController] + public class MesItemQtController : ControllerBase + { + private readonly MesItemQtManager m = new(); + + private readonly MessageCenterManager _manager = new(); + + private readonly string METHOD = "POST"; + + private readonly string TableName = "MesItemQt"; + + private readonly string URL = "http://localhost:10054/api/MesItemQt/"; + + /// <summary> + /// 鍏朵粬鍑哄簱鐢宠鍗曪紙鏉傚彂锛� + /// </summary> + /// <returns></returns> + [HttpPost("MiscellaneousIssues")] + public ResponseResult MiscellaneousIssues(MesItemQtDto oItemOut) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "MiscellaneousIssues"; + entity.Method = METHOD; + entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(oItemOut); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var result = m.MiscellaneousIssues(oItemOut); + resultInfos.tbBillList = result; + + entity.Result = 0; + if (result) entity.Result = 1; + entity.DealWith = 1; + _manager.save(entity); + + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + entity.Result = 0; + entity.DealWith = 0; + entity.ResultData = ex.Message; + _manager.save(entity); + + 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] MesItemQt 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] MesItemQt 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] MesItemQt 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); + } + } + } +} diff --git a/StandardPda/MESApplication/Controllers/Warehouse/MesItemQtrkController.cs b/StandardPda/MESApplication/Controllers/Warehouse/MesItemQtrkController.cs new file mode 100644 index 0000000..836e7d6 --- /dev/null +++ b/StandardPda/MESApplication/Controllers/Warehouse/MesItemQtrkController.cs @@ -0,0 +1,214 @@ +锘縰sing MES.Service.Dto.service; +using MES.Service.Modes; +using MES.Service.service; +using MES.Service.service.Warehouse; +using MES.Service.util; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using System.Dynamic; + +namespace MESApplication.Controllers.Warehouse +{ + [Route("api/[controller]")] + [ApiController] + public class MesItemQtrkController : ControllerBase + { + private readonly MesItemQtrkManager m = new(); + + private readonly MessageCenterManager _manager = new(); + + private readonly string METHOD = "POST"; + + private readonly string TableName = "MesItemQtrk"; + + private readonly string URL = "http://localhost:10054/api/MesItemQtrk/"; + + /// <summary> + /// 鍏朵粬鍏ュ簱鐢宠鍗曪紙鏉傛敹锛� + /// </summary> + /// <returns></returns> + [HttpPost("MiscellaneousReceipts")] + public ResponseResult MiscellaneousReceipts(MesItemQtRKDto mesItemQtRKDto) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "MiscellaneousReceipts"; + entity.Method = METHOD; + entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(mesItemQtRKDto); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var result = m.MiscellaneousReceipts(mesItemQtRKDto); + resultInfos.tbBillList = result; + + entity.Result = 0; + if (result) entity.Result = 1; + entity.DealWith = 1; + _manager.save(entity); + + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + entity.Result = 0; + entity.DealWith = 0; + entity.ResultData = ex.Message; + _manager.save(entity); + + 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] MesItemQtrk 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] MesItemQtrk 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] MesItemQtrk 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); + } + } + } +} diff --git a/StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs b/StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs index b0c5720..dfdcdd9 100644 --- a/StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs +++ b/StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs @@ -1,4 +1,5 @@ -锘縰sing MES.Service.Dto.service; +锘縰sing AngleSharp.Text; +using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.Warehouse; @@ -111,6 +112,116 @@ } } + /// <summary> + ///璁剧疆涓鐮� + /// </summary> + /// <returns></returns> + [HttpPost("SetMediumBoxCode")] + public ResponseResult SetMediumBoxCode(MesMiddleBox MesMiddleBox) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "SetMediumBoxCode"; + entity.Method = METHOD; + entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(MesMiddleBox); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var result = m.SetMediumBoxCode(MesMiddleBox); + resultInfos.tbBillList = result; + + entity.Result = 0; + if (result[0].ToBoolean()) entity.Result = 1; + entity.DealWith = 1; + _manager.save(entity); + + if (result[0].ToBoolean()) + { + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + else { + return new ResponseResult + { + status = 1, + message = result[1], + data = resultInfos + }; + } + + } + catch (Exception ex) + { + entity.Result = 0; + entity.DealWith = 0; + entity.ResultData = ex.Message; + _manager.save(entity); + + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + ///璁剧疆鏍堟澘鐮� + /// </summary> + /// <returns></returns> + [HttpPost("SetStackCode")] + public ResponseResult SetStackCode(MesPalletBinding mesPalletBinding) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "SetStackCode"; + entity.Method = METHOD; + entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(mesPalletBinding); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var result = m.SetStackCode(mesPalletBinding); + resultInfos.tbBillList = result; + + entity.Result = 0; + if (result[0].ToBoolean()) entity.Result = 1; + entity.DealWith = 1; + _manager.save(entity); + + if (result[0].ToBoolean()) + { + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + else + { + return new ResponseResult + { + status = 1, + message = result[1], + data = resultInfos + }; + } + } + catch (Exception ex) + { + entity.Result = 0; + entity.DealWith = 0; + entity.ResultData = ex.Message; + _manager.save(entity); + + return ResponseResult.ResponseError(ex); + } + } + } } -- Gitblit v1.9.3