コード例 #1
0
ファイル: OrderSn.cs プロジェクト: chingment/UplinkCarWeb
        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);
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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);
            }
        }
コード例 #5
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());
        }
コード例 #6
0
 /// <summary>
 /// 获取流水号,门诊、住院、病案号
 /// </summary>
 /// <param name="snType"></param>
 /// <returns></returns>
 public string GetSerialNumber(SnType snType)
 {
     return(GetSerialNumber(snType, 0, ""));
 }