using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; using Microsoft.Practices.EnterpriseLibrary.Data; //using MediII.Adapter.Model.UE; using IL.Common; using System.Data; namespace MediII.Adapter.BizComponent.MFN { /// /// MFN消息处理的基类 /// zengfan 2012-09-04 /// public abstract class MFNBase { /// /// 新增 /// protected const string MAD = "MAD"; /// /// 更新 /// protected const string MUP = "MUP"; /// /// 删除 /// protected const string MDL = "MDL"; /// /// 恢复 /// protected const string MAC = "MAC"; /// /// 消息处理,入库 /// /// 转化过的强类型消息 /// public abstract int Process(string message,string msgType); #region 根据不同类型初始化对应子类 /// /// 根据不同类型初始化对应子类 /// /// 消息类型 /// public static MFNBase GetProcessor(string type, Database ctx) { switch (type) { /* MFN_Z1A MFN_Z1A MFN_Z1B MFN_Z1B MFN_Z1C MFN_Z1C MFN_Z1D MFN_Z1D MFN_Z1E MFN_Z1E MFN_Z1F MFN_Z1F MFN_Z1G MFN_Z1G MFN_Z1H MFN_Z1H MFN_Z1I MFN_Z1I MFN_Z3F MFN_Z3F MFN_Z3I MFN_Z3J MFN_Z3K MFN_Z3L MFN_Z3M MFN_Z3M MFN_Z3N MFN_Z3N MFN_Z4B MFN_Z4B MFN_Z5F MFN_Z6C MFN_Z6D MFN_Z6E MFN_Z6G MFN_Z6H MFN_Z7B MFN_Z7B MFN_Z7C MFN_Z7C MFN_Z8B MFN_Z8B MFN_Z8C MFN_Z8C MFN_Z8D MFN_Z8D */ case "MFN_Z1A": //return new MFN_Z1H_V_Title(ctx); //return new MFN_Z1G_dbo_PublicCode(ctx); //return new MFN_Z8C_PublicCode(ctx); case "MFN_Z1B": case "MFN_Z1C": case "MFN_Z1D": case "MFN_Z1E": case "MFN_Z1F": case "MFN_Z1G": //return new MFN_Z1G_dbo_PublicCode(ctx); case "MFN_Z1H": //return new MFN_Z1H_V_Title(ctx); case "MFN_Z1I": case "MFN_Z3F": case "MFN_Z3M": // case "MFN_Z3N": case "MFN_Z4B": case "MFN_Z7B": case "MFN_Z7C": case "MFN_Z8B": case "MFN_Z8C": //return new MFN_Z8C_PublicCode(ctx); //case "MFN_Z8D": // //return new MFN_Z1A_GY_DAIMA(ctx); //case "MFN_Z2A": // //return new MFN_Z2A_GY_YUANQU(ctx); case "MFN_Z2B": return new MFN_Z2B_GY_KESHI(ctx); //case "MFN_Z2C": // return new MFN_Z2C_Depart(ctx); // return new MFN_Z2C_GY_BINGQU(ctx); //case "MFN_Z2D": // return new MFN_Z2D_GY_KESHIBQ(ctx); //case "MFN_Z2E": // return new MFN_Z2E_GY_YILIAOZU1(ctx); //case "MFN_Z2F": // return new MFN_Z2F_GY_YILIAOZU2(ctx); //case "MFN_Z2G": // return new MFN_Z2G_bed(ctx); // return new MFN_Z2G_GY_CHANGWEIXX(ctx); //case "MFN_Z2H": // return new MFN_Z2H_GY_ZHIGONGKSBG(ctx); //case "MFN_Z2I": // return new MFN_Z2I_EmpLicense(ctx); //case "MFN_Z2K": // return new MFN_Z2K_GY_CHANGWEIFU(ctx); //case "MFN_Z2L": // return new MFN_Z2L_OpdRoomSet(ctx); //MFN_Z2L_WEIZHIXX(ctx); ////case "MFN_Z3A": //// return new MFN_Z3A_GY_YAOPINXX(ctx); ////case "MFN_Z3B": //// return new MFN_Z3B_GY_YAOPINCD(ctx); //case "MFN_Z3C": // return new MFN_Z3C_DrugSet(ctx); // return new MFN_Z3C_GY_YAOPINJG(ctx); ////case "MFN_Z3D": //// return new MFN_Z3D_GY_YAOPINZBM(ctx); //case "MFN_Z3E": // return new MFN_Z3E_GY_GEIYAOFS(ctx); //case "MFN_Z3G": // return new MFN_Z3G_GY_PINCI(ctx); ////case "MFN_Z3H": //// return new MFN_Z3H_GY_YAOPINFL(ctx); //case "MFN_Z3I": // return new MFN_Z3I_GY_JIXING(ctx); ////case "MFN_Z3J": //// return new MFN_Z3J_GY_ZHANGBULB(ctx); //case "MFN_Z3K": // return new MFN_Z3K_YAOPINDLFL(ctx); ////case "MFN_Z3L": //// return new MFN_Z3L_GY_YAOPINJZFL(ctx); //case "MFN_Z3N": // return new MFN_Z3N_V_SkinAdvice(ctx); ////case "MFN_Z3P": //// return new MFN_Z3P_GY_YAOPINDW(ctx); ////case "MFN_Z3Q": //// return new MFN_Z3Q_GY_YAOPINMCGG(ctx); //case "MFN_Z3R": // return new MFN_Z3R_DrugStock(ctx);//MFN_Z3R_GY_YAOPINKC(ctx); //case "MFN_Z4A": //// return new MFN_Z4A_GY_JIBING(ctx); // return new MFN_Z4A_Diag(ctx); //case "MFN_Z5A": // return new MFN_Z5A_GY_FEIYONGLB(ctx); //case "MFN_Z5B": // return new MFN_Z5B_GY_FEIYONGXZ(ctx); ////case "MFN_Z5C": //// return new MFN_Z5C_YB_BAOXIANLB(ctx); //case "MFN_Z5D": // return new MFN_Z5D_MedCodeSet(ctx); //MFN_Z5D_GY_SHOUFEIXM(ctx); ////case "MFN_Z5E": //// return new MFN_Z5E_GY_HESUANXM(ctx); //case "MFN_Z5F": // return new MFN_Z5F_GY_XIANGMULX(ctx); //case "MFN_Z5I": // return new MFN_Z5I_MedCodeFee(ctx); ////case "MFN_Z5G": //// return new MFN_Z5G_GY_GEIYAOFSJFXM(ctx); //case "MFN_Z5H": // return new MFN_Z5H_MedCodeFee(ctx); ////case "MFN_Z5I": //// return new MFN_Z5I_GY_JIANYANXMSF(ctx); ////case "MFN_Z5J": //// return new MFN_Z5J_GY_JIJIADW(ctx); ////case "MFN_Z5K": //// return new MFN_Z5K_YB_YIBAOYPDZ(ctx); ////case "MFN_Z5L": //// return new MFN_Z5L_YB_JBDMDZ(ctx); ////case "MFN_Z5M": //// return new MFN_Z5M_YB_ZLDMDZ(ctx); //case "MFN_Z5N": // return new MFN_Z5N_GY_SHOUFEITCMX(ctx); //case "MFN_Z6A": // return new MFN_Z6A_ModeCodeSet(ctx); ////case "MFN_Z6B": //// return new MFN_Z6B_GY_JIANYANTCMX(ctx); //case "MFN_Z6C": // return new MFN_Z6C_GY_CAIJIBW(ctx); //case "MFN_Z6D": // return new MFN_Z6D_GY_JIANYANRQ(ctx); //case "MFN_Z6E": // return new MFN_Z6E_MedViewTypeRef(ctx); //case "MFN_Z6F": // return new MFN_Z6F_GY_YANGBENLX(ctx); //case "MFN_Z6G": // return new MFN_Z6G_MedCodeSet(ctx); ////case "MFN_Z6H": //// return new MFN_Z6H_GY_JIANCHALX(ctx); //case "MFN_Z6I": // return new MFN_Z6I_MedViewTypeRef(ctx); //case "MFN_Z6J": // return new MFN_Z6J_MedCodeSetAndMedViewType(ctx); //case "MFN_Z6K": // return new MFN_Z6K_MedCodeFee(ctx); ////case "MFN_Z6L": //// return new MFN_Z6L_GY_JIANYANKDSYXMDY(ctx); ////case "MFN_Z6M": //// return new MFN_Z6M_GY_JIANYANSYXM(ctx); ////case "MFN_Z6N": //// return new MFN_Z6N_GY_JIANCHAXMYPSF(ctx); //case "MFN_Z6O": // return new MFN_Z6O_TubeFee(ctx); //case "MFN_Z8A": // return new MFN_Z8A_MedCodeSet(ctx); //case "MFN_Z2M": // return new MFN_Z2M_EmpRight(ctx); //case "MFN_Z7A": // return new MFN_Z7A_ModeCodeSet(ctx); //case "MFN_Z7D": // return new MFN_Z7D_YZ_PAICHIYZ1(ctx); //case "MFN_Z7E": // return new MFN_Z7E_YZ_PAICHIYZ2(ctx); //case "MFN_Z7F": // return new MFN_Z7F_YZ_CHUANGWEIPXS(ctx); ////Z7G(医嘱项目收费)定义多余 ////case "MFN_Z7G": //// return new MFN_Z7G_YIZHUXMSF(ctx); //case "MFN_Z8A": // return new MFN_Z8A_SM_SHOUSHUMC(ctx); default: throw new NotImplementedException(); } } #endregion //public static HealthCareContainer conn = new HealthCareContainer(); //public static IEnumerable MCSList = conn.MedCodeSet.ToList(); #region 取序列 /// /// 取序列 /// /// /// /// public static string GetSeq(Database ctx, string seqName) { //string sql = string.Format("select {0}.Nextval from dual", seqName);//caowen string sql = "SELECT NEXT VALUE FOR " + seqName; DbCommand command = ctx.GetSqlStringCommand(sql); object obj = ctx.ExecuteScalar(command); if (obj != null) return obj.ToString(); else return "0"; } #endregion #region 获取表对应的顺序号 /// /// 获取表对应的顺序号 /// /// /// /// public static object GetSortNum(Database ctx, string tableName) { // "SELECT CONVERT(INT,MAX(UsageNo)) +1 FROM HealthCare.dbo.MedUsageSet WHERE UsageNo BETWEEN '1000' AND '7999'"; string sql = string.Format(@" SELECT CONVERT(INT,MAX(SeqNo)) +1 FROM {0} ", tableName); // string sql = string.Format(@" SELECT COUNT(1)+1 FROM {0} ", tableName); DbCommand command = ctx.GetSqlStringCommand(sql); return ctx.ExecuteScalar(command); } #endregion #region 获取输入码 /// /// 获取输入码 /// /// 名称单词 /// 获取的输入码类型:0 拼音,1 五笔 /// public static string GetInputCode(int inputType, string words) { words = inputType == 0 ? MediII.Common.InputCodeHelper.GetCode1(words) + "" : MediII.Common.InputCodeHelper.GetCode2(words) + ""; return words = words.Length > 10 ? words.Substring(0, 9) : words; } #endregion #region 更新数据和字段(单个字段) /// /// 更新字段数据(单个字段) /// /// 表名称 /// 列名 /// 字段更新值 /// 条件 /// 数据库链接 public static void UpdateCommonColumn(string tableName, string columnName, object columnValue, string conditions, Database ctx) { string updateSql = string.Format(@" UPDATE " + tableName + " SET " + columnName + " = " + columnValue + " WHERE " + conditions); DbCommand command = ctx.GetSqlStringCommand(updateSql); ctx.ExecuteNonQuery(command); } #endregion } }