123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- using PTMIBase.Entity.Interfaces;
- using PTMIBase.Entity.Interfaces.Common;
- using PTMIBase.Entity.Interfaces.Configuration.IRIS;
- using PTMIBase.Entity.Interfaces.Configuration.Local;
- using PTMIBase.Entity.Interfaces.HIS;
- using PTMIBase.Entity.Structs;
- using PTMIBase.Utils;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PTMIBase.Globals
- {
- public class GlobalVariables
- {
- // 应用程序启动时间
- public static DateTime AppStartTime { get; } = DateTime.Now;
- ////当前路径
- //public static String currentDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
- public static IIrisConfigue hisConfig;
- public static IIrisConfigue insuConfig;
- public static IInterfaceInfo inf;
- public static IPatient pat;
- public static ICurrentEnvironment curEvt;
- public static IUser user;
- public static IHISBusinessInfo hisBusinessInfo;
- public static IInparam inparam;
- /// <summary>
- /// 初始化静态变量集合
- /// </summary>
- public static void Init()
- {
- SetHisIrisConfig(new IrisConfig());
- SetInsuIrisConfig(new IrisConfig());
- SetInterfaceInfo(new InterfaceInfo());
- SetPatient(new Patient());
- SetCurrentEnvironment(new CurrentEnvironment());
- SetHISBusinessInfo(new HISBusinessInfo());
- }
- /// <summary>
- /// 依赖注入设置HisIrisConfig
- /// </summary>
- /// <param name="_irisConfig"></param>
- public static void SetHisIrisConfig(IIrisConfigue _irisConfig)
- {
- hisConfig = _irisConfig;
- }
- /// <summary>
- /// 依赖注入设置InsuIrisConfig
- /// </summary>
- /// <param name="_irisConfig"></param>
- public static void SetInsuIrisConfig(IIrisConfigue _irisConfig)
- {
- insuConfig = _irisConfig;
- }
- /// <summary>
- /// 依赖注入设置接口信息
- /// </summary>
- /// <param name="_inf"></param>
- public static void SetInterfaceInfo(IInterfaceInfo _inf)
- {
- inf = _inf;
- }
- /// <summary>
- /// 依赖注入设置患者信息
- /// </summary>
- /// <param name="_pat"></param>
- public static void SetPatient(IPatient _pat)
- {
- pat = _pat;
- }
- /// <summary>
- /// 依赖注入设置当前环境信息
- /// </summary>
- /// <param name="_curEvt"></param>
- public static void SetCurrentEnvironment(ICurrentEnvironment _curEvt)
- {
- curEvt = _curEvt;
- }
- /// <summary>
- /// 依赖注入设置HIS当前业务信息
- /// </summary>
- /// <param name="_hisBusinessInfo"></param>
- public static void SetHISBusinessInfo(IHISBusinessInfo _hisBusinessInfo)
- {
- hisBusinessInfo = _hisBusinessInfo;
- }
- /// <summary>
- /// 写日志
- /// </summary>
- /// <param name="content">内容</param>
- /// <param name="specialFileName">指定文件名</param>
- public static void writeLog(string content,string specialFileName)
- {
- string logDir = curEvt.Path + "\\Log", logName = $"{DateHelper.GetShortDateTimeNow()}_{specialFileName}.Log";
- string timeLine = "**********" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff") + "***********" + "\r\n";
- FileHelper.Write(logName, timeLine + content, logDir);
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="content"></param>
- public static void writeLog(string content)
- {
- writeLog(content,"YB");
- }
- /// <summary>
- /// 按指定文件名(默认YB),写入三段式日志
- /// </summary>
- /// <param name="tradeName"></param>
- /// <param name="inParam"></param>
- /// <param name="outParam"></param>
- /// <param name="specialFileName"></param>
- public static void writeLog(string tradeName, string inParam, string outParam, string specialFileName = "YB")
- {
- string content = "****************************交易开始(" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff") + ")****************************" + "\r\n";
- content = content + "交易名称:" + tradeName + "\r\n";
- content = content + "交易入参:" + inParam + "\r\n";
- content = content + "交易出参:" + outParam + "\r\n";
- //content = content + "****************************交易结束(" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff") + ")****************************" + "\r\n";
- writeLog(content,specialFileName);
- }
- /// <summary>
- /// iris日志
- /// </summary>
- /// <param name="content"></param>
- public static void writeLog_Iris(string content)
- {
- writeLog(content, "iris");
- }
- /// <summary>
- /// IRIS日志,支持启用截断
- /// </summary>
- /// <param name="tradeName"></param>
- /// <param name="inParam"></param>
- /// <param name="outParam"></param>
- /// <param name="isNeedTruncate"></param>
- public static void writeLog_Iris(string tradeName, string inParam, string outParam,bool isNeedTruncate = true)
- {
- if (inParam.Contains("09010021"))
- {
- return;
- }
- string content = "****************************交易开始(" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff") + ")****************************" + "\r\n";
- content = content + "交易名称:" + tradeName + "\r\n";
- content = content + "交易入参:" + inParam + "\r\n";
- if ((outParam.Length > 10000) && isNeedTruncate)
- {
- content = content + "交易出参:" + outParam.Substring(0, 9999) + "................" + "\r\n";
- }
- else
- {
- content = content + "交易出参:" + outParam + "\r\n";
- }
-
- writeLog_Iris(content);
- }
- }
- }
|