From 33ac66653f123619543bf278344f0337ffaba8e6 Mon Sep 17 00:00:00 2001 From: LiJiaWen Date: Fri, 12 Jun 2026 10:51:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.蒙自中医的CA部分逻辑调整 2.添加HIS项目到体检时同步ClassName, 用于判断是否迪安外送 --- PEIS/App.config | 4 +- PEIS/Entity/FeeItem.cs | 1 + PEIS/LoginForm.cs | 2 + .../Enrollment/EnrollmentPatientModel.cs | 1 + PEIS/Model/Exam/PartModel.cs | 1 + PEIS/Utils/CAHelper.cs | 4 +- .../EnrollmentSearchForm.Designer.cs | 33 +++++++++++---- PEIS/View/Exam/PartForm.Designer.cs | 7 ++-- PEIS/View/Exam/TotalForm.cs | 42 ++++--------------- PEIS/View/Setting/FeeItemForm.cs | 3 +- 10 files changed, 50 insertions(+), 48 deletions(-) diff --git a/PEIS/App.config b/PEIS/App.config index bc982f7..f42e7b5 100644 --- a/PEIS/App.config +++ b/PEIS/App.config @@ -11,7 +11,7 @@ - + @@ -24,6 +24,8 @@ + + diff --git a/PEIS/Entity/FeeItem.cs b/PEIS/Entity/FeeItem.cs index 4d93103..7ab4105 100644 --- a/PEIS/Entity/FeeItem.cs +++ b/PEIS/Entity/FeeItem.cs @@ -17,6 +17,7 @@ namespace PEIS.Entity public String KeyNo { get; set; } public String FeeItemTips { get; set; } public Boolean IsHide { get; set; } + public String ClassName { get; set; } /// /// 是否启用微信预约 diff --git a/PEIS/LoginForm.cs b/PEIS/LoginForm.cs index 16c771e..0735a38 100644 --- a/PEIS/LoginForm.cs +++ b/PEIS/LoginForm.cs @@ -221,6 +221,8 @@ namespace PEIS Global.UpdateAppConfig("UserCode", Global.currentUser.Code); Global.UpdateAppConfig("UserName", Global.currentUser.Name); + Global.CASignDataId = null; + DialogResult = DialogResult.OK; Dispose(); Close(); diff --git a/PEIS/Model/Enrollment/EnrollmentPatientModel.cs b/PEIS/Model/Enrollment/EnrollmentPatientModel.cs index 401c1fc..108018b 100644 --- a/PEIS/Model/Enrollment/EnrollmentPatientModel.cs +++ b/PEIS/Model/Enrollment/EnrollmentPatientModel.cs @@ -322,6 +322,7 @@ namespace PEIS.Model.Enrollment SEX, CAST(AGE AS VARCHAR) + AgeClass AS AgeClass, CardNo, + Tel1, CreateTime, SignTime, OEID, diff --git a/PEIS/Model/Exam/PartModel.cs b/PEIS/Model/Exam/PartModel.cs index 360dbda..895755d 100644 --- a/PEIS/Model/Exam/PartModel.cs +++ b/PEIS/Model/Exam/PartModel.cs @@ -256,6 +256,7 @@ FROM StatusData;"; LEFT JOIN Dict_ReportItem C ON C.ID = B.RID WHERE A.EID = {eid} AND A.DeptCode = '{deptCode}' + AND B.FID NOT IN (SELECT Code FROM Dict_Config WHERE [Key]='IgnoreFeeItem') AND ( C.IsAddSummary = 1 OR B.UnusualFlag <> '' diff --git a/PEIS/Utils/CAHelper.cs b/PEIS/Utils/CAHelper.cs index 1c68cbb..89609eb 100644 --- a/PEIS/Utils/CAHelper.cs +++ b/PEIS/Utils/CAHelper.cs @@ -96,12 +96,12 @@ namespace PEIS.Utils } } - public static AutoSignResponse AutoSign(string userId, string signToken, string data, string clientType = "PEIS") + public static AutoSignResponse AutoSign(string userId, string signToken, string data, string signID, string clientType = "PEIS") { try { string url = $"{BaseUrl}/Client/AutoSign?clientType={clientType}"; - string requestData = $"{{\"UserId\":\"{userId}\",\"SignToken\":\"{signToken}\",\"Data\":\"{data}\"}}"; + string requestData = $"{{\"UserId\":\"{userId}\",\"SignToken\":\"{signToken}\",\"Data\":\"{data}\",\"signID\":\"TJ {signID}\"}}"; string response = PostRequest(url, requestData); return JsonConvert.DeserializeObject(response); } diff --git a/PEIS/View/Enrollment/EnrollmentSearchForm.Designer.cs b/PEIS/View/Enrollment/EnrollmentSearchForm.Designer.cs index 261b426..155ae52 100644 --- a/PEIS/View/Enrollment/EnrollmentSearchForm.Designer.cs +++ b/PEIS/View/Enrollment/EnrollmentSearchForm.Designer.cs @@ -43,6 +43,7 @@ this.gridColumn4 = new DevExpress.XtraGrid.Columns.GridColumn(); this.gridColumn7 = new DevExpress.XtraGrid.Columns.GridColumn(); this.gridColumn8 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gridColumn11 = new DevExpress.XtraGrid.Columns.GridColumn(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.DgcRegItem)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.DgvRegItem)).BeginInit(); @@ -56,7 +57,7 @@ this.panel1.Dock = System.Windows.Forms.DockStyle.Top; this.panel1.Location = new System.Drawing.Point(0, 0); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(1520, 40); + this.panel1.Size = new System.Drawing.Size(1184, 40); this.panel1.TabIndex = 0; // // NameSearch @@ -85,7 +86,7 @@ this.DgcRegItem.Location = new System.Drawing.Point(0, 40); this.DgcRegItem.MainView = this.DgvRegItem; this.DgcRegItem.Name = "DgcRegItem"; - this.DgcRegItem.Size = new System.Drawing.Size(1520, 919); + this.DgcRegItem.Size = new System.Drawing.Size(1184, 321); this.DgcRegItem.TabIndex = 135; this.DgcRegItem.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { this.DgvRegItem}); @@ -107,6 +108,7 @@ this.gridColumn9, this.gridColumn5, this.gridColumn6, + this.gridColumn11, this.gridColumn3, this.gridColumn4, this.gridColumn7, @@ -231,7 +233,7 @@ this.gridColumn3.OptionsColumn.ReadOnly = true; this.gridColumn3.OptionsFilter.AllowFilter = false; this.gridColumn3.Visible = true; - this.gridColumn3.VisibleIndex = 5; + this.gridColumn3.VisibleIndex = 6; this.gridColumn3.Width = 109; // // gridColumn4 @@ -250,7 +252,7 @@ this.gridColumn4.OptionsColumn.ReadOnly = true; this.gridColumn4.OptionsFilter.AllowFilter = false; this.gridColumn4.Visible = true; - this.gridColumn4.VisibleIndex = 6; + this.gridColumn4.VisibleIndex = 7; this.gridColumn4.Width = 109; // // gridColumn7 @@ -267,7 +269,7 @@ this.gridColumn7.OptionsColumn.ReadOnly = true; this.gridColumn7.OptionsFilter.AllowFilter = false; this.gridColumn7.Visible = true; - this.gridColumn7.VisibleIndex = 7; + this.gridColumn7.VisibleIndex = 8; this.gridColumn7.Width = 69; // // gridColumn8 @@ -284,13 +286,29 @@ this.gridColumn8.OptionsColumn.ReadOnly = true; this.gridColumn8.OptionsFilter.AllowFilter = false; this.gridColumn8.Visible = true; - this.gridColumn8.VisibleIndex = 8; + this.gridColumn8.VisibleIndex = 9; this.gridColumn8.Width = 271; // + // gridColumn11 + // + this.gridColumn11.AppearanceCell.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.gridColumn11.AppearanceCell.Options.UseFont = true; + this.gridColumn11.Caption = "联系电话"; + this.gridColumn11.FieldName = "Tel1"; + this.gridColumn11.Name = "gridColumn11"; + this.gridColumn11.OptionsColumn.AllowEdit = false; + this.gridColumn11.OptionsColumn.AllowGroup = DevExpress.Utils.DefaultBoolean.False; + this.gridColumn11.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False; + this.gridColumn11.OptionsColumn.ReadOnly = true; + this.gridColumn11.OptionsFilter.AllowFilter = false; + this.gridColumn11.Visible = true; + this.gridColumn11.VisibleIndex = 5; + this.gridColumn11.Width = 117; + // // EnrollmentSearchForm // this.BackColor = System.Drawing.Color.White; - this.ClientSize = new System.Drawing.Size(1520, 959); + this.ClientSize = new System.Drawing.Size(1184, 361); this.Controls.Add(this.DgcRegItem); this.Controls.Add(this.panel1); this.Name = "EnrollmentSearchForm"; @@ -319,5 +337,6 @@ private DevExpress.XtraGrid.Columns.GridColumn gridColumn8; private DevExpress.XtraGrid.Columns.GridColumn gridColumn9; private DevExpress.XtraGrid.Columns.GridColumn gridColumn10; + private DevExpress.XtraGrid.Columns.GridColumn gridColumn11; } } diff --git a/PEIS/View/Exam/PartForm.Designer.cs b/PEIS/View/Exam/PartForm.Designer.cs index dbc64b1..9e5fab6 100644 --- a/PEIS/View/Exam/PartForm.Designer.cs +++ b/PEIS/View/Exam/PartForm.Designer.cs @@ -28,6 +28,7 @@ namespace PEIS.View.Exam /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PartForm)); this.splitContainerBase = new System.Windows.Forms.SplitContainer(); this.panelPatients = new System.Windows.Forms.Panel(); @@ -76,7 +77,7 @@ namespace PEIS.View.Exam this.dgvSign = new DevExpress.XtraGrid.Views.Grid.GridView(); this.gridColumn19 = new DevExpress.XtraGrid.Columns.GridColumn(); this.dgcExamResult = new DevExpress.XtraGrid.GridControl(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.menuGiveUp1 = new System.Windows.Forms.ToolStripMenuItem(); this.menuGiveUp2 = new System.Windows.Forms.ToolStripMenuItem(); this.menuGiveUp3 = new System.Windows.Forms.ToolStripMenuItem(); @@ -156,7 +157,7 @@ namespace PEIS.View.Exam this.OpsPacsImg = new PEIS.View.UControl.OpMenuSimple(); this.panelPacsRptList = new System.Windows.Forms.Panel(); this.dgcRptPacs = new DevExpress.XtraGrid.GridControl(); - this.RptPacsMenuStrip = new System.Windows.Forms.ContextMenuStrip(); + this.RptPacsMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components); this.PrintRptPacsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.DgvRptPacs = new DevExpress.XtraGrid.Views.Grid.GridView(); this.colPacsTime = new DevExpress.XtraGrid.Columns.GridColumn(); @@ -168,7 +169,7 @@ namespace PEIS.View.Exam this.panelReport = new System.Windows.Forms.Panel(); this.picReportExt = new System.Windows.Forms.PictureBox(); this.dgcRptExt = new DevExpress.XtraGrid.GridControl(); - this.RptExtMenuStrip = new System.Windows.Forms.ContextMenuStrip(); + this.RptExtMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components); this.PrintRptExtMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.DeleteRptExtMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.DgvRptExt = new DevExpress.XtraGrid.Views.Grid.GridView(); diff --git a/PEIS/View/Exam/TotalForm.cs b/PEIS/View/Exam/TotalForm.cs index abcdd27..3c23df4 100644 --- a/PEIS/View/Exam/TotalForm.cs +++ b/PEIS/View/Exam/TotalForm.cs @@ -1274,42 +1274,16 @@ namespace PEIS.View.Exam { // 构建待签名数据字符串 string signData = BuildSignData(); - - // 如果没有可用的签名token,尝试获取 + + // 如果没有可用的签名token,提醒用户扫码登录 if (string.IsNullOrEmpty(Global.CASignDataId)) { - var loginResponse = CAHelper.Login("PEIS"); - if (!loginResponse.Success) - { - Global.MsgErr($"获取签名token失败: {loginResponse.Message}"); - return false; - } - - // 等待用户扫码签名 - int timeout = 60; // 60秒超时 - int count = 0; - while (count < timeout) - { - System.Threading.Thread.Sleep(1000); - var result = CAHelper.GetSignResult(loginResponse.SignDataId, "PEIS"); - if (result.Success && !string.IsNullOrEmpty(result.SignResult)) - { - Global.CASignDataId = result.SignResult; - Global.CAUserId = result.UserId; - break; - } - count++; - } - - if (string.IsNullOrEmpty(Global.CASignDataId)) - { - Global.MsgErr("签名超时,请重新操作"); - return false; - } + Global.MsgErr("请重启系统, 使用CA扫码登录!"); + return false; } // 调用自动签接口 - var response = CAHelper.AutoSign(Global.CAUserId, Global.CASignDataId, signData, "PEIS"); + var response = CAHelper.AutoSign(Global.CAUserId, Global.CASignDataId, signData, _patient.ID.ToString(), "PEIS"); if (response.Success) { Global.Msg("success", "CA签名成功!"); @@ -1317,13 +1291,13 @@ namespace PEIS.View.Exam } else { - Global.MsgErr($"CA签名失败: {response.Message}"); + Global.MsgErr($"CA签名失败, 请尝试重新扫码登录系统!\r\n{response.Message}"); return false; } } catch (Exception ex) { - Global.MsgErr($"CA签名异常: {ex.Message}"); + Global.MsgErr($"CA签名异常, 请尝试重新扫码登录系统!\r\n{ex.Message}"); return false; } } @@ -1344,7 +1318,7 @@ namespace PEIS.View.Exam data.Append($"DoctorCode={Global.currentUser.Code}|"); data.Append($"DoctorName={Global.currentUser.Name}|"); data.Append($"SignTime={DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); - + return data.ToString(); } diff --git a/PEIS/View/Setting/FeeItemForm.cs b/PEIS/View/Setting/FeeItemForm.cs index aac115c..51a1d21 100644 --- a/PEIS/View/Setting/FeeItemForm.cs +++ b/PEIS/View/Setting/FeeItemForm.cs @@ -293,7 +293,8 @@ namespace PEIS.View.Setting FeeItemCode = hisFeeItem.FeeItemCode?.Trim(), Unit = hisFeeItem.Unit?.Trim(), SettlePrice = 0, - KeyNo = hisFeeItem.KeyNo?.Trim() + KeyNo = hisFeeItem.KeyNo?.Trim(), + ClassName = hisFeeItem.ClassName?.Trim() }; item.Save(); Global.MsgInfo($@"{hisFeeItem.FeeItemName},收费项目添加成功!");