/// <summary> /// OnReportDelete /// </summary> /// <param name="rptInfo"></param> /// <param name="nextStatus"></param> public static void OnReportDelete(tagReportInfo rptInfo, ReportCommon.RP_Status nextStatus) { try { // Need to send gateway if (!ServerPubFun.GetSystemProfile_Bool("SendToGateServer", ReportCommon.ModuleID.Integration)) { return; } // // Gateway using (RisDAL dal = new RisDAL()) { string guid = Guid.NewGuid().ToString(); if (dal.DriverClassName.ToUpper() == "ORACLE") #region Oracle { string sql = " insert into GW_DataIndex(data_id, data_dt, event_type, RECORD_INDEX_1, Data_Source)" + " values('" + guid + "', SYSDATE, '" + (nextStatus == ReportCommon.RP_Status.Repeatshot ? "32" : "33") + "', 'ReportGuid', 'Local'); " + " insert into GW_Patient(DATA_ID,DATA_DT,PATIENTID,PATIENT_NAME,PATIENT_LOCAL_NAME,BIRTHDATE,SEX)" + " values('" + guid + "', SYSDATE, '" + rptInfo.patientID + "','" + rptInfo.patientName + "',N'" + rptInfo.patientLocalName + "','" + rptInfo.birthday.ToString("yyyy-MM-dd") + "','" + rptInfo.gender + "'); " + " insert into GW_Order(DATA_ID,DATA_DT,ORDER_NO,FILLER_NO,PATIENT_ID,EXAM_STATUS) " + " values('" + guid + "', SYSDATE, '" + rptInfo.orderGuid + "', '" + rptInfo.AccNO + "', '" + rptInfo.patientID + "', '" + (nextStatus == ReportCommon.RP_Status.Repeatshot ? "17" : "16") + "'); " + " insert into GW_Report(data_id, data_dt, report_no, ACCESSION_NUMBER, PATIENT_ID, REPORT_STATUS, MODALITY, " + " REPORT_TYPE, REPORT_FILE, REPORT_WRITER, REPORT_APPROVER, REPORTDT, OBSERVATIONMETHOD)" + " values('" + guid + "', SYSDATE, '" + ((rptInfo.reportGuid == null || rptInfo.reportGuid == "") ? " " : rptInfo.reportGuid) + "', '" + rptInfo.AccNO + "'," + " '" + rptInfo.patientID + "', '204', '" + rptInfo.modality + "', '0', '', '" + rptInfo.reportCreater_LocalName + "'," + " '" + rptInfo.reportApprover_LocalName + "', '" + rptInfo.reportApproveDt.ToString("yyyy-MM-dd HH:mm:ss") + "'," + " '" + ReportCommon.ReportCommon.StringLeft(rptInfo.operationStep, ServerPubFun.GetColumnWidth("GW_Report", "OBSERVATIONMETHOD") / 2) + "'); "; sql = "begin " + sql + " commit; end;"; dal.ExecuteNonQuery(sql); if (rptInfo.wysText != null && rptInfo.wysText.Length > 0) { dal.WriteLargeObj("GW_Report", "data_id", guid, "DIAGNOSE", rptInfo.wysText, rptInfo.wysText.Length, RisDAL.ConnectionState.KeepOpen); } if (rptInfo.wygText != null && rptInfo.wygText.Length > 0) { dal.WriteLargeObj("GW_Report", "data_id", guid, "COMMENTS", rptInfo.wygText, rptInfo.wygText.Length, RisDAL.ConnectionState.KeepOpen); } } #endregion else if (dal.DriverClassName.ToUpper() == "MSSQL") #region MSSQL { string sql = SaveReportDAO_MSSQL.MakeSQL4GateWay(rptInfo, guid, nextStatus == ReportCommon.RP_Status.Repeatshot ? 32 : 33, 16, 204); using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(dal.ConnectionString)) { conn.Open(); System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = conn; try { // // begin transaction //cmd.Transaction = conn.BeginTransaction(); ServerPubFun.RISLog_Info(0, "OnReportDelete=" + sql, (new System.Diagnostics.StackFrame(true)).GetFileName(), (new System.Diagnostics.StackFrame(true)).GetFileLineNumber()); cmd.CommandText = sql; cmd.ExecuteNonQuery(); } catch (Exception ex) { //cmd.Transaction.Rollback(); System.Diagnostics.Debug.Assert(false, ex.Message); RISLog_Error(0, "OnReportDelete, MSG=" + ex.Message + ", SQL=" + sql, (new System.Diagnostics.StackFrame(true)).GetFileName(), (new System.Diagnostics.StackFrame(true)).GetFileLineNumber()); } } } #endregion else { System.Diagnostics.Debug.Assert(false, "Invalid DB setting!"); } // Hippa Server.Utilities.HippaLogTool.HippaLogTool.AuditPatientCareAssignMsg( CommonGlobalSettings.HippaName.ActionCode.Delete, rptInfo.AccNO, rptInfo.reportGuid, rptInfo.reportName, rptInfo.patientID, rptInfo.patientName, "", true); } } catch { Server.Utilities.HippaLogTool.HippaLogTool.AuditPatientCareAssignMsg( CommonGlobalSettings.HippaName.ActionCode.Delete, rptInfo.AccNO, rptInfo.reportGuid, rptInfo.reportName, rptInfo.patientID, rptInfo.patientName, "", false); } }