From 2ae755baa729beb7a24d8ba982a8ee02f492366e Mon Sep 17 00:00:00 2001 From: clovejunti Date: Thu, 30 May 2024 10:11:52 +0800 Subject: [PATCH] 3 --- .../Controllers/MaintenanceController.cs | 21 ++++ .../PublishProfiles/FolderProfile.pubxml.user | 16 +-- DeviceRepair.DataAccess/DeviceAccess.cs | 12 +- DeviceRepair.DataAccess/MaintenanceAccess.cs | 105 +++++++++++++----- DeviceRepair.Models/APIResponseData.cs | 1 - DeviceRepairAndOptimization/App.config | 8 +- .../Biz/MaintenanceManager.cs | 34 ++++++ .../CustomField/pageFieldCode.Designer.cs | 6 +- .../Pages/CustomField/pageFieldCode.resx | 4 +- .../Pages/Maintain/dlgAccessoriesEdit.resx | 4 +- .../Pages/Maintain/pageMaintainEdit.cs | 7 +- .../page_DriveTypeTree.Designer.cs | 10 +- .../Properties/AssemblyInfo.cs | 4 +- .../ServiceRouteConstValue.cs | 5 + TsSFCDeivceClient/DowntimeFormAdd.cs | 4 +- 15 files changed, 181 insertions(+), 60 deletions(-) diff --git a/DeviceRepair.Api/Controllers/MaintenanceController.cs b/DeviceRepair.Api/Controllers/MaintenanceController.cs index 49cf0db..644f8c8 100644 --- a/DeviceRepair.Api/Controllers/MaintenanceController.cs +++ b/DeviceRepair.Api/Controllers/MaintenanceController.cs @@ -426,5 +426,26 @@ namespace DeviceRepair.Api.Controllers } return apiResponseData; } + + /// + /// 判断维修单是否提交 + /// + /// + /// + [HttpGet, HttpAuthorize, Route("MaintionDataIsSubmit")] + public APIResponseData MaintionDataIsSubmit(int AutoID) + { + APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "查询失败!" }; + try + { + return MaintenanceAccess.Instance.MaintionDataIsSubmit(AutoID); + } + catch (Exception ex) + { + apiResponseData.Code = -1; + apiResponseData.Message = ex.Message; + } + return apiResponseData; + } } } diff --git a/DeviceRepair.Api/Properties/PublishProfiles/FolderProfile.pubxml.user b/DeviceRepair.Api/Properties/PublishProfiles/FolderProfile.pubxml.user index dd8f56b..9316c66 100644 --- a/DeviceRepair.Api/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/DeviceRepair.Api/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -78,37 +78,37 @@ https://go.microsoft.com/fwlink/?LinkID=208121. 05/28/2024 22:39:54 - 05/29/2024 13:43:16 + 05/30/2024 09:50:08 - 05/29/2024 13:43:16 + 05/30/2024 09:50:08 - 05/29/2024 13:43:15 + 05/30/2024 09:50:07 05/21/2024 00:58:04 - 05/29/2024 13:43:15 + 05/30/2024 09:50:07 - 05/29/2024 10:07:57 + 05/30/2024 09:50:07 04/16/2024 11:52:33 - 05/29/2024 10:07:57 + 05/30/2024 09:50:07 - 05/29/2024 13:43:15 + 05/30/2024 09:50:07 05/21/2024 00:58:03 - 05/29/2024 13:43:15 + 05/30/2024 09:50:07 05/28/2024 22:39:54 diff --git a/DeviceRepair.DataAccess/DeviceAccess.cs b/DeviceRepair.DataAccess/DeviceAccess.cs index c8d65c3..7e41453 100644 --- a/DeviceRepair.DataAccess/DeviceAccess.cs +++ b/DeviceRepair.DataAccess/DeviceAccess.cs @@ -325,15 +325,21 @@ namespace DeviceRepair.DataAccess }).Where(exp) .ToList(); + if ((Datas?.Count ?? 0) == 0) + { + apiResponseData.Code = 1; + apiResponseData.Data = new List(); + apiResponseData.Message = ""; + return apiResponseData; + } + foreach (DeviceInformationInfoTree item in Datas) { item.ParentRouteId = RouteIds.Contains(item.Route) ? Root[item.Route].GUID : Guid.Empty; } - - List HasValues = new List(); - Guid[] gids = Datas.Select(x => x.ParentRouteId).Distinct().ToArray(); ; + Guid[] gids = Datas.Select(x => x.ParentRouteId).Distinct().ToArray(); do { diff --git a/DeviceRepair.DataAccess/MaintenanceAccess.cs b/DeviceRepair.DataAccess/MaintenanceAccess.cs index 2ab8527..96e3cf7 100644 --- a/DeviceRepair.DataAccess/MaintenanceAccess.cs +++ b/DeviceRepair.DataAccess/MaintenanceAccess.cs @@ -120,10 +120,6 @@ namespace DeviceRepair.DataAccess } DateTime CurrentTime = DateTime.Now; - - db.ChangeDatabase("main"); - db.BeginTran(); - if (Entity.AutoID > 0) { /// 修改 @@ -145,33 +141,48 @@ namespace DeviceRepair.DataAccess Entity.SubmitOn = CurrentTime; } - DeviceWarrantyRequestMaintaionInfo MaintaionInfo = db.Saveable(Entity).ExecuteReturnEntity(); - if (MaintaionInfo != null) + try { - bool IsSuccess = true; - if (AccessoriesItems != null) + db.ChangeDatabase("main"); + db.BeginTran(); + + if (db.Queryable().Any(x => x.FormID == Entity.AutoID && x.SubmitBy > 0)) + throw new Exception($"当前数据已被处理,请刷新后再试!"); + + DeviceWarrantyRequestMaintaionInfo MaintaionInfo = db.Saveable(Entity).ExecuteReturnEntity(); + if (MaintaionInfo != null) { - foreach (var item in AccessoriesItems) + bool IsSuccess = true; + if (AccessoriesItems != null) { - item.Guid = Guid.NewGuid(); - item.MaintaionID = MaintaionInfo.AutoID; - item.CreatBy = Operation.Operator; - item.CreatOn = CurrentTime; + foreach (var item in AccessoriesItems) + { + item.Guid = Guid.NewGuid(); + item.MaintaionID = MaintaionInfo.AutoID; + item.CreatBy = Operation.Operator; + item.CreatOn = CurrentTime; + } + + IsSuccess = db.Saveable(AccessoriesItems).ExecuteCommand() == AccessoriesItems.Count; } - IsSuccess = db.Saveable(AccessoriesItems).ExecuteCommand() == AccessoriesItems.Count; + if (IsSuccess) + { + db.CommitTran(); + apiResponseData.Code = 1; + apiResponseData.Message = string.Empty; + } } - - if (IsSuccess) + else { - db.CommitTran(); - apiResponseData.Code = 1; - apiResponseData.Message = string.Empty; + db.RollbackTran(); } } - else + catch (Exception) { + db.RollbackTran(); + throw; } } @@ -234,17 +245,25 @@ namespace DeviceRepair.DataAccess Form.CreatorName = Operation.OperatorName; Form.CreatOn = CurrentTime; - int AutoID = db.Saveable(Form).ExecuteReturnEntity()?.AutoID ?? 0; - if (AutoID > 0) + try { - db.CommitTran(); - apiResponseData.Code = 1; - apiResponseData.Message = string.Empty; - apiResponseData.Data = AutoID; + int AutoID = db.Saveable(Form).ExecuteReturnEntity()?.AutoID ?? 0; + if (AutoID > 0) + { + db.CommitTran(); + apiResponseData.Code = 1; + apiResponseData.Message = string.Empty; + apiResponseData.Data = AutoID; + } + else + { + db.RollbackTran(); + } } - else + catch (Exception) { db.RollbackTran(); + throw; } } catch (SqlSugarException e) @@ -509,5 +528,37 @@ namespace DeviceRepair.DataAccess } return apiResponseData; } + + /// + /// 判断维修单是否提交 + /// + /// + /// + public APIResponseData MaintionDataIsSubmit(int FormAutoId) + { + APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = $"数据插入失败!" }; + try + { + if (FormAutoId == 0) + throw new Exception("待查询的维修单编号不能为空!"); + + db.ChangeDatabase("main"); + + int Count = db.Queryable().With(SqlWith.NoLock).Count(x => x.FormID == FormAutoId && x.SubmitBy > 0); + apiResponseData.Code = 1; + apiResponseData.Data = Count; + } + catch (SqlSugarException e) + { + apiResponseData.Code = -1; + apiResponseData.Message = e.Message; + } + catch (Exception ex) + { + apiResponseData.Code = -1; + apiResponseData.Message = ex.Message; + } + return apiResponseData; + } } } diff --git a/DeviceRepair.Models/APIResponseData.cs b/DeviceRepair.Models/APIResponseData.cs index 4cefa2c..342f70b 100644 --- a/DeviceRepair.Models/APIResponseData.cs +++ b/DeviceRepair.Models/APIResponseData.cs @@ -49,7 +49,6 @@ namespace DeviceRepair.Models } catch (Exception) { - throw; } } diff --git a/DeviceRepairAndOptimization/App.config b/DeviceRepairAndOptimization/App.config index 04dbe87..3c41296 100644 --- a/DeviceRepairAndOptimization/App.config +++ b/DeviceRepairAndOptimization/App.config @@ -72,14 +72,14 @@ - - + - + + diff --git a/DeviceRepairAndOptimization/Biz/MaintenanceManager.cs b/DeviceRepairAndOptimization/Biz/MaintenanceManager.cs index 7cc022b..19775da 100644 --- a/DeviceRepairAndOptimization/Biz/MaintenanceManager.cs +++ b/DeviceRepairAndOptimization/Biz/MaintenanceManager.cs @@ -179,5 +179,39 @@ namespace DeviceRepairAndOptimization.Biz } return apiResponseData; } + + /// + /// 判断维修单是否提交 + /// + /// + /// + public APIResponseData MaintionDataIsSubmit(int AutoID) + { + APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "查询失败!" }; + try + { + switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) + { + case "api": + apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem + { + URL = $"{ServiceRouteConstValue.MaintionDataIsSubmit}?AutoID={AutoID}", + Method = "Get", + ContentType = "application/json; charset=utf-8", + }); + break; + + default: + apiResponseData = MaintenanceAccess.Instance.MaintionDataIsSubmit(AutoID); + break; + } + } + catch (Exception ex) + { + apiResponseData.Code = -1; + apiResponseData.Message = ex.Message; + } + return apiResponseData; + } } } diff --git a/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.Designer.cs b/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.Designer.cs index aa9fc33..013c3a9 100644 --- a/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.Designer.cs +++ b/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.Designer.cs @@ -175,13 +175,13 @@ // gridControl1 // this.gridControl1.EmbeddedNavigator.Margin = new System.Windows.Forms.Padding(2); - this.gridControl1.Location = new System.Drawing.Point(12, 12); + this.gridControl1.Location = new System.Drawing.Point(12, 13); this.gridControl1.MainView = this.gridView1; this.gridControl1.Margin = new System.Windows.Forms.Padding(2); this.gridControl1.Name = "gridControl1"; this.gridControl1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { this.reposBtnStatus}); - this.gridControl1.Size = new System.Drawing.Size(1011, 531); + this.gridControl1.Size = new System.Drawing.Size(1011, 529); this.gridControl1.TabIndex = 4; this.gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { this.gridView1}); @@ -337,7 +337,7 @@ this.layoutControlItem1.Control = this.gridControl1; this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); this.layoutControlItem1.Name = "layoutControlItem1"; - this.layoutControlItem1.Size = new System.Drawing.Size(1015, 535); + this.layoutControlItem1.Size = new System.Drawing.Size(1015, 533); this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); this.layoutControlItem1.TextVisible = false; // diff --git a/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.resx b/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.resx index 1de29c3..46027ba 100644 --- a/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.resx +++ b/DeviceRepairAndOptimization/Pages/CustomField/pageFieldCode.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 205, 17 + 17, 55 @@ -142,7 +142,7 @@ - 391, 17 + 17, 93 diff --git a/DeviceRepairAndOptimization/Pages/Maintain/dlgAccessoriesEdit.resx b/DeviceRepairAndOptimization/Pages/Maintain/dlgAccessoriesEdit.resx index 3d9ce75..3e2e3cb 100644 --- a/DeviceRepairAndOptimization/Pages/Maintain/dlgAccessoriesEdit.resx +++ b/DeviceRepairAndOptimization/Pages/Maintain/dlgAccessoriesEdit.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 205, 17 + 17, 55 @@ -302,7 +302,7 @@ - 336, 17 + 17, 93 diff --git a/DeviceRepairAndOptimization/Pages/Maintain/pageMaintainEdit.cs b/DeviceRepairAndOptimization/Pages/Maintain/pageMaintainEdit.cs index 32579c9..8865b47 100644 --- a/DeviceRepairAndOptimization/Pages/Maintain/pageMaintainEdit.cs +++ b/DeviceRepairAndOptimization/Pages/Maintain/pageMaintainEdit.cs @@ -298,6 +298,10 @@ namespace DeviceRepairAndOptimization.Pages.Maintain try { + APIResponseData apiResponseData = MaintenanceManager.Instance.MaintionDataIsSubmit(CurrentRequestForm.AutoID); + if (!apiResponseData.IsSuccess || apiResponseData.ToInt() > 0) + return; + DeviceWarrantyRequestMaintaionView Entity = new DeviceWarrantyRequestMaintaionView { AccessoriesItems = Accessories, @@ -319,13 +323,12 @@ namespace DeviceRepairAndOptimization.Pages.Maintain Entity.AutoID = CurrentRequestForm.MaintaionItems.AutoID; } - APIResponseData apiResponseData = MaintenanceManager.Instance.DeviceMaintion(Entity); + apiResponseData = MaintenanceManager.Instance.DeviceMaintion(Entity); if (!apiResponseData.IsSuccess) throw new Exception(apiResponseData.Message); } catch (Exception ex) { - throw; } } diff --git a/DeviceRepairAndOptimization/Pages/Maintenance/page_DriveTypeTree.Designer.cs b/DeviceRepairAndOptimization/Pages/Maintenance/page_DriveTypeTree.Designer.cs index 3ca6f5f..eac47c6 100644 --- a/DeviceRepairAndOptimization/Pages/Maintenance/page_DriveTypeTree.Designer.cs +++ b/DeviceRepairAndOptimization/Pages/Maintenance/page_DriveTypeTree.Designer.cs @@ -79,7 +79,7 @@ tableLayoutPanel1.RowCount = 2; tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 48F)); tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - tableLayoutPanel1.Size = new System.Drawing.Size(1839, 854); + tableLayoutPanel1.Size = new System.Drawing.Size(0, 0); tableLayoutPanel1.TabIndex = 0; tableLayoutPanel1.Paint += new System.Windows.Forms.PaintEventHandler(this.tableLayoutPanel1_Paint); // @@ -123,7 +123,7 @@ this.tvDevices.OptionsSelection.KeepSelectedOnClick = false; this.tvDevices.OptionsView.AutoWidth = false; this.tvDevices.OptionsView.BestFitNodes = DevExpress.XtraTreeList.TreeListBestFitNodes.All; - this.tvDevices.Size = new System.Drawing.Size(1831, 798); + this.tvDevices.Size = new System.Drawing.Size(1, 1); this.tvDevices.TabIndex = 13; this.tvDevices.TreeLevelWidth = 23; // @@ -290,12 +290,12 @@ stackPanel1.LayoutDirection = DevExpress.Utils.Layout.StackPanelLayoutDirection.RightToLeft; stackPanel1.Location = new System.Drawing.Point(3, 3); stackPanel1.Name = "stackPanel1"; - stackPanel1.Size = new System.Drawing.Size(1833, 42); + stackPanel1.Size = new System.Drawing.Size(1, 42); stackPanel1.TabIndex = 0; // // EditSearch // - this.EditSearch.Location = new System.Drawing.Point(1528, 5); + this.EditSearch.Location = new System.Drawing.Point(-304, 5); this.EditSearch.Margin = new System.Windows.Forms.Padding(5, 7, 5, 7); this.EditSearch.Name = "EditSearch"; this.EditSearch.Properties.Appearance.Font = new System.Drawing.Font("Verdana", 10F); @@ -318,7 +318,7 @@ // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.ClientSize = new System.Drawing.Size(1839, 854); + this.ClientSize = new System.Drawing.Size(0, 0); this.Controls.Add(tableLayoutPanel1); this.Name = "page_DriveTypeTree"; this.Text = "page_DriveTypeTree"; diff --git a/DeviceRepairAndOptimization/Properties/AssemblyInfo.cs b/DeviceRepairAndOptimization/Properties/AssemblyInfo.cs index 6c02aa2..e45e48e 100644 --- a/DeviceRepairAndOptimization/Properties/AssemblyInfo.cs +++ b/DeviceRepairAndOptimization/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.1.8")] -[assembly: AssemblyFileVersion("2.0.1.8")] +[assembly: AssemblyVersion("2.0.1.9")] +[assembly: AssemblyFileVersion("2.0.1.9")] diff --git a/DeviceRepairAndOptimization/ServiceRouteConstValue.cs b/DeviceRepairAndOptimization/ServiceRouteConstValue.cs index 2b261ad..ea072ff 100644 --- a/DeviceRepairAndOptimization/ServiceRouteConstValue.cs +++ b/DeviceRepairAndOptimization/ServiceRouteConstValue.cs @@ -309,6 +309,11 @@ /// public const string DoubleValidateMaintenance = "Api/Maintenance/ValidateMaintenance"; + /// + /// 判断维修单是否提交 + /// + public const string MaintionDataIsSubmit = "Api/Maintenance/MaintionDataIsSubmit"; + #endregion #region 枚举字段 diff --git a/TsSFCDeivceClient/DowntimeFormAdd.cs b/TsSFCDeivceClient/DowntimeFormAdd.cs index 4f5e989..9e070b8 100644 --- a/TsSFCDeivceClient/DowntimeFormAdd.cs +++ b/TsSFCDeivceClient/DowntimeFormAdd.cs @@ -19,7 +19,7 @@ namespace TsSFCDeivceClient public partial class DowntimeFormAdd : ToolbarForm { MailKitHelp mail = new MailKitHelp(); - string emailPattern = @"^(?("")("".+?(?