From 239ccfc7325cfc83e72a4ff1e7375a772017e936 Mon Sep 17 00:00:00 2001 From: clovejunti Date: Mon, 5 Aug 2024 17:21:06 +0800 Subject: [PATCH] 17 --- DeviceRepair.Api/Web.config | 2 +- .../CheckForm/CheckFormDa.cs | 16 + DeviceRepair.DataAccess/Device/DeviceDa.cs | 154 +---- .../DeviceRepair.DataAccess.csproj | 6 +- DeviceRepair.DataAccess/PLAN/PlanDa.cs | 183 ++---- .../Preserve/PreserveDa.cs | 35 +- DeviceRepair.DataAccess/SFC/BatchDa.cs | 8 +- .../Script/5.0/Func/SplitIn.sql | 6 +- .../func_GetDailyPlanProccScheduleDetail.sql | 116 ++++ ...Proc_AnnualEquipmentMaintenanceProgram.sql | 8 +- .../Script/5.0/Proc/Proc_DeviceTreeViews.sql | 242 ++++---- .../5.0/Proc/proc_EquipmentPlanIsComplete.sql | 211 +++++++ DeviceRepair.DataAccess/Tag/TagDa.cs | 47 +- .../page_DriveTypeTree.Designer.cs | 14 +- TsSFCDevice.Client.Biz/Impl/DevRepository.cs | 4 +- TsSFCDevice.Client.Biz/Impl/PlanRepository.cs | 24 + TsSFCDevice.Client.Biz/Scheduler.cs | 62 ++ .../TsSFCDevice.Client.Biz.csproj | 1 + .../Web References/DeviceSvc/MainService.wsdl | 49 ++ .../Web References/DeviceSvc/Reference.cs | 64 ++ .../page_AssignDriveTree.Designer.cs | 3 + .../CheckForm/page_AssignDriveTree.resx | 168 ++--- .../Device/Page_DriveInfoEdit.Designer.cs | 87 +-- .../Device/Page_DriveInfoEdit.cs | 20 +- .../Device/Page_DriveInfoEdit.resx | 2 +- .../Device/Page_FormVersionDialog.cs | 13 +- .../Device/pageDeviceTreeView.Designer.cs | 578 ++++++++++++++++++ .../Device/pageDeviceTreeView.cs | 236 +++++++ .../Device/pageDeviceTreeView.resx | 393 ++++++++++++ .../Device/pageDeviceView.Designer.cs | 24 +- .../OperationAuthConstValue.cs | 7 + .../TsSFCDevice.Client.Launch.csproj | 18 + .../frm_Launch.Designer.cs | 47 +- TsSFCDevice.Client.Launch/frm_Launch.cs | 66 +- TsSFCDevice.Client.Launch/frm_Launch.resx | 83 ++- TsSFCDevice.Client.Launch/page_PlanDialog.cs | 19 +- .../sysConfig/pageJumpCheckView.Designer.cs | 103 ++++ .../sysConfig/pageJumpCheckView.cs | 21 + .../sysConfig/pageJumpCheckView.resx | 120 ++++ TsSFCDeviceSvc/MainService.asmx.cs | 31 + 40 files changed, 2651 insertions(+), 640 deletions(-) create mode 100644 DeviceRepair.DataAccess/Script/5.0/Func/func_GetDailyPlanProccScheduleDetail.sql create mode 100644 DeviceRepair.DataAccess/Script/5.0/Proc/proc_EquipmentPlanIsComplete.sql create mode 100644 TsSFCDevice.Client.Biz/Scheduler.cs create mode 100644 TsSFCDevice.Client.Launch/Device/pageDeviceTreeView.Designer.cs create mode 100644 TsSFCDevice.Client.Launch/Device/pageDeviceTreeView.cs create mode 100644 TsSFCDevice.Client.Launch/Device/pageDeviceTreeView.resx create mode 100644 TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.Designer.cs create mode 100644 TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.cs create mode 100644 TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.resx diff --git a/DeviceRepair.Api/Web.config b/DeviceRepair.Api/Web.config index 5b9001c..ac55795 100644 --- a/DeviceRepair.Api/Web.config +++ b/DeviceRepair.Api/Web.config @@ -15,7 +15,7 @@ - + diff --git a/DeviceRepair.DataAccess/CheckForm/CheckFormDa.cs b/DeviceRepair.DataAccess/CheckForm/CheckFormDa.cs index 4a72622..eab1976 100644 --- a/DeviceRepair.DataAccess/CheckForm/CheckFormDa.cs +++ b/DeviceRepair.DataAccess/CheckForm/CheckFormDa.cs @@ -88,6 +88,10 @@ FROM dbo.MaintenanceRecord WHERE PlanPrimaryID = @PlanPrimaryID"; if (item != null) { MaintenanceFormVersionInfo formData = devMain.Queryable().First(x => x.AutoID == item.FormPrimaryID); + if (formData == null) + { + throw new ArgumentException("当前设备的点检表不存在!"); + } DataTable table2 = new List { formData }.ToDataTable(); dsDatas.Tables.Add(table2); } @@ -95,6 +99,10 @@ FROM dbo.MaintenanceRecord WHERE PlanPrimaryID = @PlanPrimaryID"; { MaintenanceFormVersionInfo formData = devMain.Queryable((t1, t2) => new object[] { JoinType.Inner, t1.MaintenanceAMFormVersion == t2.AutoID }) .Where((t1, t2) => t1.AutoID == plan.EquipmentID).Select((t1, t2) => t2).First(); + if (formData == null) + { + throw new ArgumentException("当前设备的点检表不存在!"); + } DataTable table2 = new List { formData }.ToDataTable(); dsDatas.Tables.Add(table2); } @@ -106,6 +114,10 @@ FROM dbo.MaintenanceRecord WHERE PlanPrimaryID = @PlanPrimaryID"; { MaintenanceFormVersionInfo formData = devMain.Queryable((t1, t2) => new object[] { JoinType.Inner, t1.FormPrimaryID == t2.AutoID }) .Where((t1, t2) => t1.EquipmentPrimaryID == plan.EquipmentID).Select((t1, t2) => t2).First(); + if (formData == null) + { + throw new ArgumentException("当前设备的点检表不存在!"); + } DataTable table2 = new List { formData }.ToDataTable(); dsDatas.Tables.Add(table2); } @@ -113,6 +125,10 @@ FROM dbo.MaintenanceRecord WHERE PlanPrimaryID = @PlanPrimaryID"; { MaintenanceFormVersionInfo formData = devMain.Queryable((t1, t2) => new object[] { JoinType.Inner, t1.MaintenanceFormVersion == t2.AutoID }) .Where((t1, t2) => t1.AutoID == plan.EquipmentID).Select((t1, t2) => t2).First(); + if (formData == null) + { + throw new ArgumentException("当前设备的点检表不存在!"); + } DataTable table2 = new List { formData }.ToDataTable(); dsDatas.Tables.Add(table2); } diff --git a/DeviceRepair.DataAccess/Device/DeviceDa.cs b/DeviceRepair.DataAccess/Device/DeviceDa.cs index b430065..e126ee4 100644 --- a/DeviceRepair.DataAccess/Device/DeviceDa.cs +++ b/DeviceRepair.DataAccess/Device/DeviceDa.cs @@ -15,10 +15,9 @@ namespace DeviceRepair.DataAccess.Device public class DeviceDa : BaseDa { private static readonly Logger log = LogManager.GetCurrentClassLogger(); - + public DeviceDa(IDictionary apiParams) : base(apiParams) { - } /// @@ -38,7 +37,9 @@ namespace DeviceRepair.DataAccess.Device var AuthString = GetParamString("Auths", "权限"); var auths = AuthString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - var devIds = devMain.Ado.SqlQuery("SELECT AutoID FROM dbo.View_DeviceRoot WHERE RootName IN (@RootName)", new { RootName = auths }).ToArray(); + var devIds = devMain.Ado + .SqlQuery("SELECT AutoID FROM dbo.View_DeviceRoot WHERE RootName IN (@RootName)", + new { RootName = auths }).ToArray(); var Datas = devMain.Queryable() .Where(x => SqlFunc.ContainsArray(devIds, x.AutoID)).ToList(); @@ -66,143 +67,26 @@ namespace DeviceRepair.DataAccess.Device dsDatas = new DataSet("Datas"); try { - if (!ApiParameters.ContainsKey("Auths")) { return new APIResponseData { Code = -1, Message = "没有设备信息查看权限!" }; } var AuthString = GetParamString("Auths", "权限"); - var auths = AuthString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - + var FilterValue = string.Empty; if (ApiParameters.ContainsKey("FilterValue")) + FilterValue = GetParamString("FilterValue", "检索条件"); + + var Datas2 = devMain.Ado.UseStoredProcedure().GetDataTable("Proc_DeviceTreeViews", new { RootName = AuthString }); + var Datas = Datas2.ToList(); + + if (!FilterValue.IsNull()) { - FilterValue = ApiParameters["FilterValue"]; + Datas = Datas.Where(x => x.EquipmentID == FilterValue).ToList(); } - /* 获取权限分组 */ - var route = devMain.Ado.SqlQuery(@";WITH cte - AS (SELECT AutoID, - Name - FROM dbo.DeviceRoute - WHERE (ParentID = 0) - UNION ALL - SELECT dr.AutoID, - cte_1.Name - FROM dbo.DeviceRoute AS dr - INNER JOIN cte AS cte_1 - ON dr.ParentID = cte_1.AutoID) - SELECT DeviceRoute.* - FROM dbo.DeviceRoute - INNER JOIN cte ON cte.AutoID = DeviceRoute.AutoID WHERE cte.Name IN (@Name) AND Status = 1", new { Name = auths }).ToList(); - - var aid = 0; - int.TryParse(FilterValue, out aid); - var Root = route.ToDictionary(x => x.AutoID, x => x); - - var Menus = new List(); - - foreach (KeyValuePair item in Root) - { - var dev = item.Value; - Menus.Add(new DeviceInformationInfoTree - { - EquipmentName = dev.Name, - RouteAutoId = dev.GUID, - ParentRouteId = dev.ParentID != 0 ? Root[dev.ParentID].GUID : Guid.Empty - }); - } - - var RouteIds = Root.Keys.ToArray(); - - var exp = Expressionable.Create() - .OrIF(aid > 0, t1 => t1.AutoID == aid) - .OrIF(!string.IsNullOrEmpty(FilterValue), - t1 => t1.EquipmentID.Equals(FilterValue, StringComparison.CurrentCultureIgnoreCase) - || t1.EquipmentName.Contains(FilterValue) - || t1.Remarks.Contains(FilterValue) - || t1.Specification.Contains(FilterValue)) - .And(t1 => SqlFunc.ContainsArray(RouteIds, t1.Route)).ToExpression();//拼接表达式 - - - var Datas = devMain.Queryable( - (t1, t2, t3, t4) => new object[] { - JoinType.Left, t1.MaintenanceFormVersion == t2.AutoID, - JoinType.Left, t1.Route == t3.AutoID, - JoinType.Left,t1.MaintenanceAMFormVersion == t4.AutoID - } - ).With(SqlWith.NoLock).Select((t1, t2, t3, t4) => new DeviceInformationInfoTree - { - AutoID = t1.AutoID, - ChangeDate = t1.ChangeDate, - ChangeUser = t1.ChangeUser, - CreatDate = t1.CreatDate, - CreatUser = t1.CreatUser, - EquipmentCategory = t1.EquipmentCategory, - EquipmentID = t1.EquipmentID, - EquipmentName = t1.EquipmentName, - EquipmentOriginalvalue = t1.EquipmentOriginalvalue, - EquipmentStatus = t1.EquipmentStatus, - InstallationLocation = t1.InstallationLocation, - MaintenanceFormVersion = t1.MaintenanceFormVersion, - MaintenanceFormVersionName = t2.FormName, - MaintenanceAMFormVersion = t1.MaintenanceAMFormVersion, - MaintenanceAMFormVersionName = t4.FormName, - Manufacturer = t1.Manufacturer, - OperatingParameters = t1.OperatingParameters, - OwningUnit = t1.OwningUnit, - Remarks = t1.Remarks, - SerialNumber = t1.SerialNumber, - Specification = t1.Specification, - Totalcapacity = t1.Totalcapacity, - UsingDate = t1.UsingDate, - VersionCode = t2.VersionCode, - VersionRev = t2.VersionRev, - WarrantyPeriod = t1.WarrantyPeriod, - Weight = t1.Weight, - Route = t3.AutoID, - RouteAutoId = t1.GUID, - //ParentRouteId = SqlFunc.ContainsArray(RouteIds, t1.Route) ? Root[t1.Route].Guid : Guid.Empty - }).Where(exp) - .ToList(); - - var hasEmpty = Menus.Any(x => x.RouteAutoId == Guid.Empty); - - foreach (DeviceInformationInfoTree item in Datas) - { - item.ParentRouteId = RouteIds.Contains(item.Route) ? Root[item.Route].GUID : Guid.Empty; - } - - var HasValues = new List(); - var gids = Datas.Select(x => x.ParentRouteId).Distinct().ToArray(); - - do - { - if (HasValues.Count == 0) - HasValues.AddRange(gids); - - gids = Menus.Where(x => gids.Contains(x.RouteAutoId)).Select(s => s.ParentRouteId).Distinct().ToArray(); - HasValues.AddRange(gids); - } while (gids.All(x => x == Guid.Empty)); - - Menus.RemoveAll(x => !HasValues.Contains(x.RouteAutoId) && x.ParentRouteId != Guid.Empty); - Menus.AddRange(Datas); - - - foreach (DeviceRouteInfo item in route) - { - DeviceInformationInfoTree Node = Menus.FirstOrDefault(x => x.RouteAutoId == item.GUID); - List Child = Menus.Where(x => x.Route == item.AutoID).ToList(); - if (Node != null && Child.Count > 0) - { - Node.Totalcapacity = Child.Sum(x => x.Totalcapacity); - Node.Weight = Child.Sum(x => x.Weight); - Node.EquipmentOriginalvalue = Child.Sum(x => x.EquipmentOriginalvalue); - } - } - - var table = Menus.ToDataTable(); + var table = Datas.ToDataTable(); dsDatas.Tables.Add(table); return new APIResponseData { Code = 1, Message = "操作成功!" }; @@ -256,10 +140,12 @@ namespace DeviceRepair.DataAccess.Device ON dr.ParentID = cte_1.AutoID) SELECT DeviceRoute.* FROM dbo.DeviceRoute - INNER JOIN cte ON cte.AutoID = DeviceRoute.AutoID WHERE cte.Name IN (@Name) AND Status = 1", new { Name = auths }).ToList(); + INNER JOIN cte ON cte.AutoID = DeviceRoute.AutoID WHERE cte.Name IN (@Name) AND Status = 1", + new { Name = auths }).ToList(); int[] routeIds = route.Select(x => x.AutoID).ToArray(); - List Data = devMain.Queryable().Where(x => x.Status && SqlFunc.ContainsArray(routeIds, x.AutoID)).ToList(); + List Data = devMain.Queryable() + .Where(x => x.Status && SqlFunc.ContainsArray(routeIds, x.AutoID)).ToList(); DataTable table = Data.ToDataTable(); dsDatas.Tables.Add(table); @@ -377,7 +263,8 @@ namespace DeviceRepair.DataAccess.Device throw new ArgumentException("传入的操作员对象参数不正确!"); devMain.BeginTran(); - DeviceInformationInfo Item = devMain.Queryable().First(x => x.AutoID == Data.AutoID); + DeviceInformationInfo Item = devMain.Queryable() + .First(x => x.AutoID == Data.AutoID); if (Item == null) throw new ArgumentException($"没有获取到设备编号为:【{Data.EquipmentID}】的设备信息!"); @@ -397,6 +284,7 @@ namespace DeviceRepair.DataAccess.Device Item.OwningUnit = Data.OwningUnit; Item.OperatingParameters = Data.OperatingParameters; Item.MaintenanceFormVersion = Data.MaintenanceFormVersion; + Item.MaintenanceAMFormVersion = Data.MaintenanceAMFormVersion; Item.Route = Data.Route; Data.ChangeDate = CurrentDate; Data.ChangeUser = Operation; @@ -480,4 +368,4 @@ namespace DeviceRepair.DataAccess.Device } } } -} +} \ No newline at end of file diff --git a/DeviceRepair.DataAccess/DeviceRepair.DataAccess.csproj b/DeviceRepair.DataAccess/DeviceRepair.DataAccess.csproj index 29f9ae5..ee40dc3 100644 --- a/DeviceRepair.DataAccess/DeviceRepair.DataAccess.csproj +++ b/DeviceRepair.DataAccess/DeviceRepair.DataAccess.csproj @@ -99,9 +99,11 @@ + + @@ -110,9 +112,7 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIwLjIsIFZlcnNpb249MjAuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPwCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ + LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yOS43LDI3 + LjNMMjIsMTkuNmwtMC4xLTAuMWMxLjMtMS44LDIuMS00LjEsMi4xLTYuNWMwLTYuMS00LjktMTEtMTEt + MTFTMiw2LjksMiwxM3M0LjksMTEsMTEsMTEgICBjMi40LDAsNC43LTAuOCw2LjUtMi4xYzAsMCwwLDAu + MSwwLjEsMC4xbDcuNyw3LjdjMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwyOC4yLDMw + LjEsMjcuNiwyOS43LDI3LjN6IE00LDEzICAgYzAtNSw0LTksOS05czksNCw5LDlzLTQsOS05LDlTNCwx + OCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACN0RVh0VGl0 + bGUAQWRkO0ZpbGU7QWRkRmlsZTtCYXJzO1JpYmJvbjsV3KoKAAADJElEQVQ4T02TaUhUURiGr2tqFkUF + /fFHOLbaRgtTFFqhWaE1KhFlppHiMla2KIrlWi5NTo6OuYJaQaWSUhnZItnmaFoUgaH5ozQxLXNWvTPj + 23fOJHTguR/33Ps+9zvn3ivQsCuo6nx+paoTjIIqDfIrNSgg8io6iQ7klmuQW/YWl8s6kFP6so0y9gAE + Bhv2+RUaTNMZhw42pjnWGaw2sopfsZTD/wKHS+Vvecg0aYGRMJhs6I1mjs5ogZYQLVakK9tZyvF/gSOz + MoHeZAvYQmYuM5LINEXCSTNEswW5at6BU1a9v8Bgwyld+YK3qzOK0BlEEokY/j2E5s5rUD44AroRhVSb + NYVofqZhAheL1SBk3PHjAudURRtf58S/p3/+psGlxv141FOM72MfYbboeG3pViHzdiDirm6RUc4+7eYu + LpiVnPeUC/7ozfgxNoicu0HoG+6AaP0NdVMqzpUeRMm9c9BOfUHv0HOk1OzQRmZu9KKsHRO4JmY/hoV2 + WEvt321X4GFXCQziN4wYXiOxOAS9A2M4rQrB1z/1GJhoQuObHMiLtlZQ1pEJ3OTpLVwwoZvEhZr96B1p + huKOHCeVwUgg2L7IqcYXypB9KxxP+pMQp5QOU3YWE8yOTbtP6ySBfhIJqm14N5KJOMUBfOr7iXGSjuum + eGUjJj8INz774ET+JpGyLkzgHp3SBLPZinGtiVregyd9ciRV+yMqLxBRuYEYnTAi6nIgThBnK/2g6tiA + sIx1rAMumHs8uYnesRWj40aUNmag+GEoqj5uhrpnDY5n7+VPjszci9IP3lC/90bq7fU4cGZlLWWdueDY + 2UZMkUCrFzEw2I+ILCmuv/SFqns5EtS+OHoxAPISHxR1L0VO6zKEJK0ySGUeaynrwARuh2Lr2sNO1+Pw + qXooKtpRVFuH0PPrkFi9GlmtEhR2eVL1RHyZF2SJ3lZpsEcY5Zz3yZeyvGDPJMQ8Yj6xgFi8TLrQZ2fE + koaAGMlYQJwX/GMkv3zDlzSs2L5oC113Jex2x0gE/kPMsDtWIvBJ2wfC2mOb5E7MJeb8O2fzdn7RnoJf + tKfwF7guZQwBlVFoAAAAAElFTkSuQmCC + + + + + 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 + /wBqkiSvivDUAgAAAABJRU5ErkJggg== + + + + + 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 + RK5CYII= + + + + + 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 + + + \ No newline at end of file diff --git a/TsSFCDevice.Client.Launch/Device/pageDeviceView.Designer.cs b/TsSFCDevice.Client.Launch/Device/pageDeviceView.Designer.cs index 2213d72..700e00a 100644 --- a/TsSFCDevice.Client.Launch/Device/pageDeviceView.Designer.cs +++ b/TsSFCDevice.Client.Launch/Device/pageDeviceView.Designer.cs @@ -71,6 +71,8 @@ this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn(); ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.ipsEquipmentID)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.gridControl1)).BeginInit(); @@ -291,6 +293,8 @@ this.OperatingParameters, this.colVersionCode, this.colVersionRev, + this.gridColumn1, + this.gridColumn2, this.Remarks}); this.gridView1.CustomizationFormBounds = new System.Drawing.Rectangle(1635, 636, 252, 286); this.gridView1.GridControl = this.gridControl1; @@ -542,7 +546,7 @@ this.colVersionCode.AppearanceCell.Options.UseFont = true; this.colVersionCode.AppearanceHeader.Font = new System.Drawing.Font("Tahoma", 12F); this.colVersionCode.AppearanceHeader.Options.UseFont = true; - this.colVersionCode.Caption = "点检表编号"; + this.colVersionCode.Caption = "PM的点检表编号"; this.colVersionCode.FieldName = "VersionCode"; this.colVersionCode.Name = "colVersionCode"; this.colVersionCode.OptionsColumn.AllowEdit = false; @@ -556,7 +560,7 @@ this.colVersionRev.AppearanceCell.Options.UseFont = true; this.colVersionRev.AppearanceHeader.Font = new System.Drawing.Font("Tahoma", 12F); this.colVersionRev.AppearanceHeader.Options.UseFont = true; - this.colVersionRev.Caption = "点检表版本"; + this.colVersionRev.Caption = "PM的点检表版本"; this.colVersionRev.FieldName = "VersionRev"; this.colVersionRev.Name = "colVersionRev"; this.colVersionRev.Visible = true; @@ -611,6 +615,20 @@ this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); this.layoutControlItem1.TextVisible = false; // + // gridColumn1 + // + this.gridColumn1.Caption = "AM的点检表编号"; + this.gridColumn1.Name = "gridColumn1"; + this.gridColumn1.Visible = true; + this.gridColumn1.VisibleIndex = 18; + // + // gridColumn2 + // + this.gridColumn2.Caption = "AM的点检表版本"; + this.gridColumn2.Name = "gridColumn2"; + this.gridColumn2.Visible = true; + this.gridColumn2.VisibleIndex = 19; + // // pageDeviceView // this.Appearance.Options.UseFont = true; @@ -679,5 +697,7 @@ private DevExpress.XtraLayout.LayoutControl layoutControl1; private DevExpress.XtraLayout.LayoutControlGroup Root; private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraGrid.Columns.GridColumn gridColumn1; + private DevExpress.XtraGrid.Columns.GridColumn gridColumn2; } } \ No newline at end of file diff --git a/TsSFCDevice.Client.Launch/OperationAuthConstValue.cs b/TsSFCDevice.Client.Launch/OperationAuthConstValue.cs index 0d75b93..abc0ab1 100644 --- a/TsSFCDevice.Client.Launch/OperationAuthConstValue.cs +++ b/TsSFCDevice.Client.Launch/OperationAuthConstValue.cs @@ -33,6 +33,12 @@ namespace TsSFCDevice.Client.Launch #endregion + + /// + /// 跳过当天保养计划校验 + /// + public readonly static string PLAN_JUMP_CHECK = "BIZ_EQUIP_PM_PLAN_06"; + #region PM 保养计划 /// /// PM 保养计划 @@ -63,6 +69,7 @@ namespace TsSFCDevice.Client.Launch /// PM 保养计划删除 /// public readonly static string PM_PLAN_DELETE = "BIZ_EQUIP_PM_PLAN_05"; + #endregion #region PM 点检表 diff --git a/TsSFCDevice.Client.Launch/TsSFCDevice.Client.Launch.csproj b/TsSFCDevice.Client.Launch/TsSFCDevice.Client.Launch.csproj index a347825..bdbd597 100644 --- a/TsSFCDevice.Client.Launch/TsSFCDevice.Client.Launch.csproj +++ b/TsSFCDevice.Client.Launch/TsSFCDevice.Client.Launch.csproj @@ -217,6 +217,12 @@ pageFieldEdit.cs + + Form + + + pageDeviceTreeView.cs + Form @@ -400,6 +406,12 @@ + + Form + + + pageJumpCheckView.cs + Form @@ -462,6 +474,9 @@ pageFieldEdit.cs + + pageDeviceTreeView.cs + pageDeviceView.cs @@ -560,6 +575,9 @@ Resources.resx True + + pageJumpCheckView.cs + pageSytemSetting.cs diff --git a/TsSFCDevice.Client.Launch/frm_Launch.Designer.cs b/TsSFCDevice.Client.Launch/frm_Launch.Designer.cs index 78d75d5..a93092d 100644 --- a/TsSFCDevice.Client.Launch/frm_Launch.Designer.cs +++ b/TsSFCDevice.Client.Launch/frm_Launch.Designer.cs @@ -73,7 +73,9 @@ namespace TsSFCDevice.Client.Launch this.barButtonItem17 = new DevExpress.XtraBars.BarButtonItem(); this.btnTagMgr = new DevExpress.XtraBars.BarButtonItem(); this.barButtonItem7 = new DevExpress.XtraBars.BarButtonItem(); + this.btn_treeView = new DevExpress.XtraBars.BarButtonItem(); this.barButtonItem5 = new DevExpress.XtraBars.BarButtonItem(); + this.btnPlanCheckJump = new DevExpress.XtraBars.BarButtonItem(); this.page_Main = new DevExpress.XtraBars.Ribbon.RibbonPage(); this.pg_Main = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); @@ -173,9 +175,11 @@ namespace TsSFCDevice.Client.Launch this.barButtonItem17, this.btnTagMgr, this.barButtonItem7, - this.barButtonItem5}); + this.btn_treeView, + this.barButtonItem5, + this.btnPlanCheckJump}); this.ribbonControl.Location = new System.Drawing.Point(0, 0); - this.ribbonControl.MaxItemId = 79; + this.ribbonControl.MaxItemId = 81; this.ribbonControl.Name = "ribbonControl"; this.ribbonControl.OptionsMenuMinWidth = 385; this.ribbonControl.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { @@ -201,8 +205,8 @@ namespace TsSFCDevice.Client.Launch // this.batBtnRefresh.Caption = "清理缓存"; this.batBtnRefresh.Id = 78; - this.batBtnRefresh.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("barButtonItem8.ImageOptions.Image"))); - this.batBtnRefresh.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("barButtonItem8.ImageOptions.LargeImage"))); + this.batBtnRefresh.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("batBtnRefresh.ImageOptions.Image"))); + this.batBtnRefresh.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("batBtnRefresh.ImageOptions.LargeImage"))); this.batBtnRefresh.Name = "batBtnRefresh"; this.batBtnRefresh.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.batBtnRefresh_ItemClick); // @@ -539,15 +543,31 @@ namespace TsSFCDevice.Client.Launch this.barButtonItem7.Tag = "BIZ_EQUIP_REPAIRRECORD_01"; this.barButtonItem7.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barButtonItem7_ItemClick_1); // + // btn_treeView + // + this.btn_treeView.Caption = "设备总台账树"; + this.btn_treeView.Id = 77; + this.btn_treeView.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("btn_treeView.ImageOptions.Image"))); + this.btn_treeView.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("btn_treeView.ImageOptions.LargeImage"))); + this.btn_treeView.Name = "btn_treeView"; + this.btn_treeView.Tag = "BIZ_EQUIP_DEVICE123"; + this.btn_treeView.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + this.btn_treeView.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_treeView_ItemClick); + // // barButtonItem5 // - this.barButtonItem5.Caption = "设备总台账树"; - this.barButtonItem5.Id = 77; - this.barButtonItem5.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("barButtonItem5.ImageOptions.Image"))); - this.barButtonItem5.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("barButtonItem5.ImageOptions.LargeImage"))); + this.barButtonItem5.Caption = "barButtonItem5"; + this.barButtonItem5.Id = 79; this.barButtonItem5.Name = "barButtonItem5"; - this.barButtonItem5.Tag = ""; - this.barButtonItem5.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + // + // btnPlanCheckJump + // + this.btnPlanCheckJump.Caption = "计划完成校验关闭"; + this.btnPlanCheckJump.Id = 80; + this.btnPlanCheckJump.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("barButtonItem8.ImageOptions.Image"))); + this.btnPlanCheckJump.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("barButtonItem8.ImageOptions.LargeImage"))); + this.btnPlanCheckJump.Name = "btnPlanCheckJump"; + this.btnPlanCheckJump.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnPlanCheckJump_ItemClick); // // page_Main // @@ -685,12 +705,13 @@ namespace TsSFCDevice.Client.Launch // ribbonPageGroup2 // this.ribbonPageGroup2.ItemLinks.Add(this.btn_Report01); - this.ribbonPageGroup2.ItemLinks.Add(this.barButtonItem5); + this.ribbonPageGroup2.ItemLinks.Add(this.btn_treeView); this.ribbonPageGroup2.Name = "ribbonPageGroup2"; this.ribbonPageGroup2.Text = "设备数据"; // // ribbonPageGroup11 // + this.ribbonPageGroup11.ItemLinks.Add(this.btnPlanCheckJump); this.ribbonPageGroup11.ItemLinks.Add(this.btnSystemSetting); this.ribbonPageGroup11.Name = "ribbonPageGroup11"; this.ribbonPageGroup11.Text = "设置"; @@ -831,7 +852,9 @@ namespace TsSFCDevice.Client.Launch private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage7; private DevExpress.XtraBars.BarButtonItem btnTagMgr; private DevExpress.XtraBars.BarButtonItem barButtonItem7; - private DevExpress.XtraBars.BarButtonItem barButtonItem5; + private DevExpress.XtraBars.BarButtonItem btn_treeView; private DevExpress.XtraBars.BarButtonItem batBtnRefresh; + private DevExpress.XtraBars.BarButtonItem barButtonItem5; + private DevExpress.XtraBars.BarButtonItem btnPlanCheckJump; } } \ No newline at end of file diff --git a/TsSFCDevice.Client.Launch/frm_Launch.cs b/TsSFCDevice.Client.Launch/frm_Launch.cs index ae50e28..a8f4524 100644 --- a/TsSFCDevice.Client.Launch/frm_Launch.cs +++ b/TsSFCDevice.Client.Launch/frm_Launch.cs @@ -1,12 +1,16 @@ using DevExpress.XtraBars; using DevExpress.XtraBars.Ribbon; +using DevExpress.XtraEditors; +using DeviceRepair.Models; using DeviceRepair.Models.Common; using DeviceRepair.Models.Enum; using DeviceRepair.Utils; using System; using System.Linq; using System.Windows.Forms; +using TsSFCDevice.Client.Biz; using TsSFCDevice.Client.Biz.Base.Utils; +using TsSFCDevice.Client.Biz.Impl; using TsSFCDevice.Client.Launch.Plan; using TsSFCDevice.Client.Launch.sysConfig; @@ -24,8 +28,8 @@ namespace TsSFCDevice.Client.Launch private void frm_Launch_Load(object sender, EventArgs e) { - //Scheduler.Instance.CallBack += InvokeChangeFormText; - //Scheduler.Instance.Run(); + Scheduler.Instance.CallBack += InvokeChangeFormText; + Scheduler.Instance.Run(); this.FormClosing += (ss, ee) => { @@ -108,15 +112,6 @@ namespace TsSFCDevice.Client.Launch case "SchedulerPlanTips": btn_PlanCount.Caption = Value + ""; break; - case "CurrentYearPlanSchedule": - if (Value != null) - { - if (Value is CurrentYearPlanSchedule) - barLb_Schedule.Caption = ((CurrentYearPlanSchedule)Value).ToString(); - else - barLb_Schedule.Caption = Value + ""; - } - break; default: break; } @@ -940,5 +935,54 @@ namespace TsSFCDevice.Client.Launch Utility.SystemRuntimeInfo.CurrentDeviceCaches = null; Utility.SystemRuntimeInfo.CurrentDevRootCaches = null; } + + /// + /// 树形视图 + /// + /// + /// + private void btn_treeView_ItemClick(object sender, ItemClickEventArgs e) + { + try + { + if (!Utility.SystemRuntimeInfo.AuthValidate(OperationAuthConstValue.PM_Device_KH) + && !Utility.SystemRuntimeInfo.AuthValidate(OperationAuthConstValue.PM_Device_OEM) + ) + { + throw new Exception($"当前账号缺少此操作的权限"); + } + + using (Device.pageDeviceTreeView view = new Device.pageDeviceTreeView()) + { + view.ShowDialog(this); + } + } + catch (Exception ex) + { + XtraMessageBoxHelper.Error(ex.Message); + } + } + + /// + /// 跳过当前日期生成设备校验计划 + /// + /// + /// + private void btnPlanCheckJump_ItemClick(object sender, ItemClickEventArgs e) + { + try + { + if (!Utility.SystemRuntimeInfo.AuthValidate(OperationAuthConstValue.PLAN_JUMP_CHECK)) + { + throw new Exception($"当前账号缺少此操作的权限"); + } + + + } + catch (Exception ex) + { + XtraMessageBoxHelper.Error(ex.Message); + } + } } } \ No newline at end of file diff --git a/TsSFCDevice.Client.Launch/frm_Launch.resx b/TsSFCDevice.Client.Launch/frm_Launch.resx index c29ef06..f0e0b97 100644 --- a/TsSFCDevice.Client.Launch/frm_Launch.resx +++ b/TsSFCDevice.Client.Launch/frm_Launch.resx @@ -201,7 +201,7 @@ - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACd0RVh0VGl0 bGUAUmVmcmVzaDtSZXBlYXQ7QmFycztSaWJib247UmVsb2FkzU326QAAAwFJREFUOE+lk3sslWEcxx/k @@ -220,7 +220,7 @@ yEckJ2/AQITNhixOCaOGIa+pg1Hf0Mi9X2ezX/TfAfQdAvawuvfdXuIAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACd0RVh0VGl0 bGUAUmVmcmVzaDtSZXBlYXQ7QmFycztSaWJib247UmVsb2FkzU326QAACWhJREFUWEfFlwlUk1cWgB/W @@ -1120,7 +1120,7 @@ T8b7/XCa++SfYzx6ji0+TvBM8H7ggpfB6zUUxspgn/viAVPMYcP/AGBDyOsdZH9HAAAAAElFTkSuQmCC - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAUdEVYdFRpdGxlAFRyZWVWaWV3O1RyZWU7X0Ij1wAA @@ -1133,7 +1133,7 @@ FGQA6bHgFVJ83jO46L9HUOF/t4A80mMBGYNsITkWkDEQEIiF/wwAEzc5In1OcF0AAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAUdEVYdFRpdGxlAFRyZWVWaWV3O1RyZWU7X0Ij1wAA @@ -1165,9 +1165,78 @@ q6y9RcvvZHEJIj7KGs2/P84ZFqX5IpcAAAAASUVORK5CYII= - - 205, 17 - + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAATdEVYdFRpdGxlAEhpc3Rvcnk7SXRlbTuQPSVvAAADmklEQVQ4T2WSe0yTZxSHX5i3ZcmYcVu2 + /bHMuSk6mDNR2OayRTJQLgGHFkRRWDKjDpjgwJA4YcCEdpRyESm36KwhgO1sK1rl0tLSGy1QWpFysdIG + QltoOxw355blt/dr3B/LTvLk5Ms5vyd58x2S1mAmJ+qHyXG+iaTWDRFagUkV6vjkKkM9i9c/wKo0PDvM + 619O5OpG4znKEjp/gRIQW6YmMZdUhAkWDMw/ZYIBsReEbyZV6aX5wjE0amcgtXqhd69A51rBfdsCiqQT + iCvtc0ac/zWU2d9frCTkaO0QjtQYCuN/uheczh/y3DC6oHEuo9uxiFLZJI7X6pHAUSG7xQLRmBeCQRcS + y7V/f5bdsoeRkORqI7hddrB4BmebeR6yx7/jqtGNQ1wNTlerwBZoUX5DhzM1KkT+KMflvmlUKOzYd7Hb + RQXryOFKA+SOJVT3TkNsXUClchZJFVp0GexYWvnDj9Xmhui+BezrOuwvkUMwPIdTV034NFfMJ19x9bgz + 8QT1hjlU97kQx1bDOO7G8uqz/zDnXYJAMojvrqiRKbCg+M4kwvM6PCSerUGrxQeu0okC2QyOXDGBJ3kI + l2cRbsqk3envUzNeCO+Z0SAaQExZH/i6WezOFq+SLwsV+PxCFz7Ok2HXWSlCM8TYcUqEgmv9UOosSIhN + gWRvCBShb0H2zkYIOx8gorgXjf1u7MoQ/sX8vhcjC3t8NaoZxHDUaO96CJXRhlsyPeIOnURdsxAK7Qg6 + VWbc7h5CG51H02eW9zgQ8k2LhxFs+CL/tiLvphXp9YMoaR1Gj/oBohLS0HT9FsZtTjxyzGP0kQuDI9P+ + +dfNZmT+YkJwagM9BELWhp25lpXwsxqFHTZE/NCJDu1jyLq1mJ71wuNbgtu7CMesD7J+O6I5GhTdncK+ + 8xJsjivKYASBL73+7ivhOeKxk00mnG0ZQVSpBhVSKyxTPqw+/RMW+2/gdUwgqkyLnPZxpF/W4X1WtZxm + g8gnuXcZyZot0bnhu7NE3pQqHb5vt+Io34QDbD0iLmlwgKOn38PIaR0Fi6PA9mONvld3HvyQyZE92RJG + EEBZ90ZY8vYdaY3yvefESKsz4FybFflimz94gp50WEYrtiSW9276IDqE2ffnPvpWSHaebv9XsoYStDn2 + YubW5BrNtmNNC8Gpzdiawn/yHr3ttyPzsuh8I2Uts78tqZa2/xcjWk95mbKJ8trzHkTZQAmkPC9C/gFM + gks/ML6Z5gAAAABJRU5ErkJggg== + + + + + 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 + /03icbjO+DeTqe1BwSGzrQAAAABJRU5ErkJggg== + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIwLjIsIFZlcnNpb249MjAuMi4z diff --git a/TsSFCDevice.Client.Launch/page_PlanDialog.cs b/TsSFCDevice.Client.Launch/page_PlanDialog.cs index 706a14a..d7a6cba 100644 --- a/TsSFCDevice.Client.Launch/page_PlanDialog.cs +++ b/TsSFCDevice.Client.Launch/page_PlanDialog.cs @@ -150,26 +150,23 @@ namespace TsSFCDevice.Client.Launch int handle = item.RowHandle; View_CurrentMonthPlanTips dmp = (View_CurrentMonthPlanTips)tileView1.GetRow(handle); + /* 保养类型 */ + EnumDeviceBelong Belong = dmp.MaintenanceType.Equals("Daily", StringComparison.OrdinalIgnoreCase) ? EnumDeviceBelong.AM : EnumDeviceBelong.PM; + if (dmp != null) { - if (dmp.FormAutoID == 0) - { - XtraMessageBoxHelper.Error($"当前设备未绑定点检表表单!"); - return; - } - this.Hide(); //获取设备信息 DeviceInformationInfo entity = Utility.SystemRuntimeInfo.CurrentDeviceCaches.FirstOrDefault(x => x.EquipmentID.Equals(dmp.EquipmentID, StringComparison.CurrentCultureIgnoreCase)); - if (entity == null || entity.MaintenanceFormVersion == 0) + if (entity == null || (Belong == EnumDeviceBelong.AM ? entity.MaintenanceAMFormVersion : entity.MaintenanceFormVersion) == 0) { - XtraMessageBox.Show("该设备未绑定点检表,请先绑定点检表。", "出错", MessageBoxButtons.OK, MessageBoxIcon.Error); + XtraMessageBoxHelper.Error("该设备未绑定点检表,请先绑定点检表。"); this.Show(); return; } - page_DriveMaintenance view = new page_DriveMaintenance(entity, (EnumDeviceBelong)Enum.Parse(typeof(EnumDeviceBelong), dmp.Belong), dmp.AutoID); + page_DriveMaintenance view = new page_DriveMaintenance(entity, Belong, dmp.AutoID); if (dmp.MaintenanceType == EnumMaintenanceType.Daily.ToString()) { view.DaylyMaintenanceDate = DateTime.Today; @@ -189,13 +186,13 @@ namespace TsSFCDevice.Client.Launch } else { - XtraMessageBox.Show("未能获取到设备信息,请重试。", "出错", MessageBoxButtons.OK, MessageBoxIcon.Error); + XtraMessageBoxHelper.Error("未能获取到设备信息,请重试。"); this.Show(); } } catch (Exception ex) { - XtraMessageBox.Show(ex.Message, "出错", MessageBoxButtons.OK, MessageBoxIcon.Error); + XtraMessageBoxHelper.Error(ex.Message); this.Show(); } } diff --git a/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.Designer.cs b/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.Designer.cs new file mode 100644 index 0000000..b20d686 --- /dev/null +++ b/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.Designer.cs @@ -0,0 +1,103 @@ +namespace TsSFCDevice.Client.Launch.sysConfig +{ + partial class pageJumpCheckView + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl(); + this.ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage(); + this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + this.ribbonStatusBar = new DevExpress.XtraBars.Ribbon.RibbonStatusBar(); + ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit(); + this.SuspendLayout(); + // + // ribbon + // + this.ribbon.AllowMinimizeRibbon = false; + this.ribbon.ExpandCollapseItem.Id = 0; + this.ribbon.Location = new System.Drawing.Point(0, 0); + this.ribbon.Margin = new System.Windows.Forms.Padding(4); + this.ribbon.MaxItemId = 4; + this.ribbon.Name = "ribbon"; + this.ribbon.OptionsMenuMinWidth = 424; + this.ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { + this.ribbonPage1}); + this.ribbon.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False; + this.ribbon.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.False; + this.ribbon.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.False; + this.ribbon.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.False; + this.ribbon.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide; + this.ribbon.ShowQatLocationSelector = false; + this.ribbon.ShowToolbarCustomizeItem = false; + this.ribbon.Size = new System.Drawing.Size(1331, 134); + this.ribbon.StatusBar = this.ribbonStatusBar; + this.ribbon.Toolbar.ShowCustomizeItem = false; + // + // ribbonPage1 + // + this.ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { + this.ribbonPageGroup1}); + this.ribbonPage1.Name = "ribbonPage1"; + this.ribbonPage1.Text = "ribbonPage1"; + // + // ribbonPageGroup1 + // + this.ribbonPageGroup1.Name = "ribbonPageGroup1"; + this.ribbonPageGroup1.Text = "ribbonPageGroup1"; + // + // ribbonStatusBar + // + this.ribbonStatusBar.Location = new System.Drawing.Point(0, 662); + this.ribbonStatusBar.Name = "ribbonStatusBar"; + this.ribbonStatusBar.Ribbon = this.ribbon; + this.ribbonStatusBar.Size = new System.Drawing.Size(1489, 24); + // + // pageJumpCheckView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1489, 686); + this.Controls.Add(this.ribbonStatusBar); + this.Controls.Add(this.ribbon); + this.Name = "pageJumpCheckView"; + this.Ribbon = this.ribbon; + this.StatusBar = this.ribbonStatusBar; + this.Text = "pageJumpCheckView"; + ((System.ComponentModel.ISupportInitialize)(this.ribbon)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private DevExpress.XtraBars.Ribbon.RibbonControl ribbon; + private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1; + private DevExpress.XtraBars.Ribbon.RibbonStatusBar ribbonStatusBar; + } +} \ No newline at end of file diff --git a/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.cs b/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.cs new file mode 100644 index 0000000..f30e0bf --- /dev/null +++ b/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; +using DevExpress.XtraBars; + +namespace TsSFCDevice.Client.Launch.sysConfig +{ + public partial class pageJumpCheckView : DevExpress.XtraBars.Ribbon.RibbonForm + { + public pageJumpCheckView() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.resx b/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/TsSFCDevice.Client.Launch/sysConfig/pageJumpCheckView.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/TsSFCDeviceSvc/MainService.asmx.cs b/TsSFCDeviceSvc/MainService.asmx.cs index 4320e8e..f44426a 100644 --- a/TsSFCDeviceSvc/MainService.asmx.cs +++ b/TsSFCDeviceSvc/MainService.asmx.cs @@ -216,6 +216,36 @@ namespace TsSFCDeviceSvc } } + [WebMethod(Description = "判断当前开工设备是否存在未完成的保养计划")] + [SoapHeader("auth")] + public APIResponseData Get_EquipmentPlanIsComplete(string inParams) + { + HttpAuthtication(); + Dictionary Parameters = GetParameters(inParams); + + try + { + #region 检查APP版本是否是最新版本,否则返回错误 + + AppVersionValid(Parameters); + + #endregion + + if (!Parameters.ContainsKey("EquipmentID")) + { + throw new ArgumentException("缺少传入参数设备编号(EquipmentID)"); + } + + PlanDa cmd = new PlanDa(Parameters); + return cmd.Get_EquipmentPlanIsComplete(Parameters["EquipmentID"]); + } + catch (Exception ex) + { + log.Error(ex); + return new APIResponseData { Code = -1, Message = ex.Message }; + } + } + #region 设备信息 [WebMethod(Description = "获取树形结构")] @@ -1766,5 +1796,6 @@ namespace TsSFCDeviceSvc { return JsonConvert.DeserializeObject>(inParameter); } + } } \ No newline at end of file