public static string Build(SnType type, int id) { string prefix = "UP"; switch (type) { case SnType.CarInsure: prefix = "CI"; break; case SnType.CarClaim: prefix = "CC"; break; case SnType.Withdraw: prefix = "WD"; break; case SnType.Transactions: prefix = "TN"; break; case SnType.DepositRent: prefix = "DR"; break; } string dateTime = DateTime.Now.ToString("yyMMddHHmmss"); string sId = id.ToString().PadLeft(4, '0'); string sn = prefix + dateTime + sId; return(sn); }
/// <summary> /// 药品物资获取业务类型 /// </summary> /// <param name="snType"></param> /// <param name="deptId"></param> /// <param name="type"></param> public string GetSerialNumber(SnType snType, int deptId, string type) { string number = ""; switch (snType) { case SnType.门诊流水号: case SnType.住院流水号: //20160701001 number = DateTime.Now.ToString("yyyyMMdd") + GetCurrSequence(snType, deptId, type).ToString("000"); return(number); case SnType.病案号: number = GetCurrSequence(snType, deptId, type).ToString("00000000"); return(number); case SnType.药品: case SnType.物资: //0012016082201 number = type + DateTime.Now.ToString("yyyyMMdd") + GetCurrSequence(snType, deptId, type).ToString("00"); return(number); case SnType.医嘱组号: return(GetCurrSequence(snType, deptId, type).ToString()); default: return(number); } }
public static SnModel Build(SnType type, int id) { SnModel model = new SnModel(); string prefix = ""; //switch (type) //{ // case SnType.CarInsure: // prefix = "A"; // break; // case SnType.CarClaim: // prefix = "B"; // break; // case SnType.Withdraw: // prefix = "C"; // break; // case SnType.FundTrans: // prefix = "D"; // break; // case SnType.ServiceFee: // prefix = "E"; // break; // case SnType.TalentDemand: // prefix = "F"; // break; // case SnType.ApplyLossAssess: // prefix = "G"; // break; // case SnType.LllegalQueryScoreTrans: // prefix = "H"; // break; // case SnType.LllegalQueryRecharge: // prefix = "I"; // break; // case SnType.LllegalDealt: // prefix = "J"; // break; //} string dateTime = DateTime.Now.ToString("yyMMddHHmm"); string sId = id.ToString().PadLeft(10, '0'); string sn = prefix + dateTime + sId; model.Sn = sn; //model.TradeSnByWechat = string.Format("{0}W", sn); //model.TradeSnByAlipay = string.Format("{0}A", sn); return(model); }
/// <summary> /// 得到当前序号,需要自己构造显示流水号 /// </summary> /// <param name="snType">流水号类型</param> /// <returns></returns> public int GetCurrSequence(SnType snType, int deptId, string type) { //1.先对数据库序号+1 //1.1如果Basic_SerialNumberSource表中没有此类型,则创建此类型的序号记录 //1.2如果CurrDate的日期跟当前不一致,则更改为当前,并将序号重置为1 //2.再取最新的序号 IPublicManageDao pmDao = NewDao <IPublicManageDao>(); switch (snType) { case SnType.门诊流水号: case SnType.住院流水号: case SnType.药品: case SnType.物资: if (pmDao.IsExistSNType((int)snType, deptId, type)) { if (pmDao.IsTodaySNType((int)snType, deptId, type)) { return(pmDao.UpdateTodaySerialNumber((int)snType, deptId, type)); } else { return(pmDao.UpdateNoTodaySerialNumber((int)snType, deptId, type)); } } else { return(pmDao.InsertSerialNumber((int)snType, deptId, type)); } case SnType.病案号: case SnType.医嘱组号: if (pmDao.IsExistSNType((int)snType, deptId, type)) { return(pmDao.UpdateTodaySerialNumber((int)snType, deptId, type)); } else { return(pmDao.InsertSerialNumber((int)snType, deptId, type)); } default: return(0); } }
public static string ConvertTo(SnType type, long value) { var numbers = new List <byte>(); while (true) { long quotient, remainder; quotient = Math.DivRem(value, Base, out remainder); numbers.Add((byte)remainder); if (quotient < Base) { if (quotient > 0) { numbers.Add((byte)quotient); } break; } value = quotient; } while (numbers.Count < Padding) { numbers.Add(0); } var sb = new StringBuilder(); for (int i = numbers.Count - 1; i >= 0; i--) { #if CONFUSION sb.Append(GetCharacter(numbers[i], i)); #else sb.Append(Characters[numbers[i]]); #endif } return(type.ToString() + sb.ToString()); }
/// <summary> /// 获取流水号,门诊、住院、病案号 /// </summary> /// <param name="snType"></param> /// <returns></returns> public string GetSerialNumber(SnType snType) { return(GetSerialNumber(snType, 0, "")); }