Exemplo n.º 1
0
        public pt_info GetPtInfoByCardNo(string patName, int patCardType, string patCardNo)
        {
            pt_info pt_Info = null;

            switch (patCardType)
            {
            case 1:
                pt_Info = IPtInfo.Get(x => x.cno == patCardNo);
                break;

            case 2:
                pt_Info = IPtInfo.Get(x => x.yno == patCardNo);
                break;

            case 3:
                pt_Info = IPtInfo.Get(x => x.yno == patCardNo);
                break;

            case 5:
                pt_Info = IPtInfo.Get(patCardNo);
                break;

            case 10:
                pt_Info = IPtInfo.Get(x => x.tel == patCardNo);
                break;

            default:
                pt_Info = IPtInfo.Get(x => x.cno == patCardNo);
                break;
            }
            return(pt_Info);
        }
Exemplo n.º 2
0
 public MessageModel <pt_info> Add(pt_info entity)
 {
     if (IPtInfo.Add(entity))
     {
         return new MessageModel <pt_info> {
                    Success = true, Msg = "操作成功"
         }
     }
     ;
     else
     {
         return new MessageModel <pt_info> {
                    Success = false, Msg = "操作失败"
         }
     };
 }
        public string OrderCurReg(request <Entity.SRequest.orderCurReg> orderCurRegInfo)
        {
            if (orderCurRegInfo == null)
            {
                return(RsXmlHelper.ResXml(-1, "XML格式错误"));
            }
            var feeinfo = feeinfoBLL.Get(orderCurRegInfo.model.psOrdNum);

            if (feeinfo != null)
            {
                return(XMLHelper.XmlSerialize(new response <Entity.SResponse.orderCurReg>()
                {
                    model = new Entity.SResponse.orderCurReg()
                    {
                        resultCode = 0,
                        resultMessage = "",
                        hisOrdNum = feeinfo.regid.ToString(),
                        treatFee = orderCurRegInfo.model.regFee
                    }
                }));
            }

            reg_arrange reg_Arrange = null;
            pt_info     pt_Info     = null;
            var         dept        = new sys_dept();
            var         doctor      = new sys_userinfo();


            if (!string.IsNullOrWhiteSpace(orderCurRegInfo.model.workId))
            {
                reg_Arrange = regArrangeBLL.GetReg_Arrange(Convert.ToInt32(orderCurRegInfo.model.workId));
            }
            else
            {
                dept        = sysDeptBLL.GetDeptByCode(orderCurRegInfo.model.deptCode);
                doctor      = sysUserinfoBLL.GetRDoctor(orderCurRegInfo.model.doctorCode);
                reg_Arrange = regArrangeBLL.GetReg_Arrange(dept.name, doctor.username, orderCurRegInfo.model.beginTime, orderCurRegInfo.model.endTime, Convert.ToInt32(orderCurRegInfo.model.timeFlag));
            }
            if (reg_Arrange == null)
            {
                return(RsXmlHelper.ResXml(-1, "无号源信息"));
            }

            var feetype = "";

            if (!string.IsNullOrWhiteSpace(orderCurRegInfo.model.SSCardNumber) && !string.IsNullOrWhiteSpace(orderCurRegInfo.model.SSCodeId))
            {
                feetype = "医疗保险";
                if (string.IsNullOrWhiteSpace(orderCurRegInfo.model.SSPwd))
                {
                    orderCurRegInfo.model.SSPwd = "000000";
                }
                pt_Info = ptInfoBLL.GetPt_Info(x => x.yno == orderCurRegInfo.model.SSCardNumber);
                if (pt_Info == null)
                {
                    pt_Info = ptInfoBLL.GetPt_Info(x => x.cno == orderCurRegInfo.model.patCardNo || x.idno == orderCurRegInfo.model.patCardNo);
                    if (string.IsNullOrWhiteSpace(pt_Info.yno))
                    {
                        pt_Info.yno = orderCurRegInfo.model.SSCardNumber;
                        ptInfoBLL.Update(pt_Info);
                    }
                }
            }
            else
            {
                feetype = "自费";
                pt_Info = ptInfoBLL.GetPt_Info(x => x.cno == orderCurRegInfo.model.patCardNo || x.idno == orderCurRegInfo.model.patCardNo);
            }

            var regInfo = reginfoBLL.Get(x => x.doctor == doctor.username && x.dept == dept.name && pt_Info.pid == x.pid && x.status == "候诊" && x.validate > DateTime.Now);

            if (regInfo != null && regInfo.del == true)
            {
                return(XMLHelper.XmlSerialize(new response <Entity.SResponse.orderCurReg>()
                {
                    model = new Entity.SResponse.orderCurReg()
                    {
                        resultCode = 0,
                        resultMessage = "",
                        hisOrdNum = regInfo.regid.ToString(),
                        treatFee = orderCurRegInfo.model.ghhj.ToString()
                    }
                }));
            }

            if (regInfo != null && regInfo.del == false)
            {
                return(RsXmlHelper.ResXml(-1, "你已挂当前科室号"));
            }

            var reg_Info = reginfoBLL.Add(new reg_info()
            {
                feetype = feetype
            }, pt_Info, reg_Arrange, orderCurRegInfo.model.orderNo, orderCurRegInfo.model.psOrdNum, out decimal amount, out int mzno, out int feeid, out List <comm_fee> commFees);

            if (reg_Info == null)
            {
                return(RsXmlHelper.ResXml(99, "挂号失败"));
            }

            if (feetype == "医疗保险")
            {
                var regtrialId = regTrialBLL.AddReturnId(new reg_trial()
                {
                    akc190 = "HZS10" + mzno,
                    aaz500 = orderCurRegInfo.model.SSCodeId,
                    bzz269 = orderCurRegInfo.model.SSPwd,
                    aka130 = "11",
                    akf001 = dept.ybno,
                    bkc368 = CodeConvertUtils.SwichRegType(reg_Arrange.regtype).ToString(),
                    bke384 = "HZS10" + DateTime.Now.ToString("yyyyMMdd") + feeid,
                    akc264 = commFees.Sum(x => x.prices),
                    regid  = reg_Info.regid
                });

                List <reg_trialdetail> reg_Trialdetails = new List <reg_trialdetail>();
                foreach (var commFee in commFees)
                {
                    reg_Trialdetails.Add(new reg_trialdetail()
                    {
                        regtrialid = regtrialId,
                        aae072     = commKeyBLL.GetYBDJH().ToString(),
                        bkf500     = commKeyBLL.GetYBXLH().ToString(),
                        ake001     = commFee.scode,
                        ake005     = commFee.itemid,
                        ake006     = commFee.itemname,
                        aae019     = commFee.prices
                    });
                }
                regTrialdetailBLL.Adds(reg_Trialdetails);
            }

            return(XMLHelper.XmlSerialize(new response <Entity.SResponse.orderCurReg>()
            {
                model = new Entity.SResponse.orderCurReg()
                {
                    resultCode = 0,
                    resultMessage = "",
                    hisOrdNum = reg_Info.regid.ToString(),
                    treatFee = amount.ToString()
                }
            }));
        }
Exemplo n.º 4
0
        public string CreateACard([FromBody] request <CreateACard> createACard)
        {
            if (createACard == null)
            {
                return(RsXmlHelper.ResXml("-1", "XML格式错误"));
            }
            var ptInfo = ptInfoBLL.GetPt_Info(x => x.idno == createACard.model.patIdNo);

            if (ptInfo != null)
            {
                return(RsXmlHelper.ResXml("1", "患者信息已存在"));
            }

            pt_info pt_Info = null;

            if (!string.IsNullOrWhiteSpace(createACard.model.patYbkh) && !string.IsNullOrWhiteSpace(createACard.model.patDnh) && !string.IsNullOrWhiteSpace(createACard.model.patYbjbmc) && !string.IsNullOrWhiteSpace(createACard.model.patCblx))
            {
                pt_Info = new pt_info()
                {
                    pname      = createACard.model.patName,
                    sex        = createACard.model.patSex == "M" ? "男" : "女",
                    birth      = Convert.ToDateTime(createACard.model.patBirth),
                    addr1      = createACard.model.patAddress,
                    tel        = createACard.model.patMobile,
                    ybidentity = createACard.model.patYbjbmc,
                    yno        = createACard.model.patDnh,
                    patYbjbmc  = createACard.model.patYbjbmc,
                    patCblx    = createACard.model.patCblx,
                    idtype     = CodeConvertUtils.GetIdNoType(Convert.ToInt32(createACard.model.patIdType)),
                    idno       = createACard.model.patIdNo,
                    addtime    = DateTime.Now,
                    del        = false,
                    pinyin     = Pinyin.GetInitials(createACard.model.patName).ToLower(),
                    memo       = "患者通过自助机建档",
                    addperson  = "自助机"
                };
            }
            else
            {
                pt_Info = new pt_info()
                {
                    pname     = createACard.model.patName,
                    sex       = createACard.model.patSex == "M" ? "男" : "女",
                    birth     = Convert.ToDateTime(createACard.model.patBirth),
                    addr1     = createACard.model.patAddress,
                    tel       = createACard.model.patMobile,
                    idtype    = CodeConvertUtils.GetIdNoType(Convert.ToInt32(createACard.model.patIdType)),
                    idno      = createACard.model.patIdNo,
                    addtime   = DateTime.Now,
                    del       = false,
                    pinyin    = Pinyin.GetInitials(createACard.model.patName).ToLower(),
                    memo      = "患者通过自助机建档",
                    addperson = "自助机"
                };
            }

            var isAdd = ptInfoBLL.Add(pt_Info);

            if (isAdd != null)
            {
                return(XMLHelper.XmlSerialize(new response <Entity.SResponse.createACard>()
                {
                    model = new Entity.SResponse.createACard()
                    {
                        resultCode = "0",
                        resultMessage = "",
                        patCardType = createACard.model.patIdType,
                        patCardNo = createACard.model.patIdNo
                    }
                }));
            }
            else
            {
                return(RsXmlHelper.ResXml("99", "建档失败"));
            }
        }
Exemplo n.º 5
0
        public reg_info Add(reg_info reg_Info, pt_info pt_Info, reg_arrange reg_Arrange, string sno, string psOrdNum, out decimal amount, out int mzno, out int feeid, out List <comm_fee> commFees)
        {
            reg_Info.pid    = pt_Info.pid;
            reg_Info.argid  = reg_Arrange.argid;
            reg_Info.rtype  = reg_Arrange.regtype;
            reg_Info.dept   = reg_Arrange.dept;
            reg_Info.doctor = reg_Arrange.doctor;
            List <string> mznoQuery = new List <string>()
            {
                "update comm_key set id += 1 where sn = 52;",
                "SELECT [id] FROM [ZSHIS].[dbo].[comm_key] WHERE sn = 52"
            };

            mzno               = iReginfo.GetMzno(mznoQuery);
            reg_Info.mzno      = mzno;
            reg_Info.pname     = pt_Info.pname;
            reg_Info.sex       = pt_Info.sex;
            reg_Info.age       = EString.GetAge(pt_Info.birth.ToString()).ToString();
            reg_Info.agetype   = "岁";
            reg_Info.birth     = pt_Info.birth;
            reg_Info.addr1     = pt_Info.addr1;
            reg_Info.addr3     = pt_Info.addr3;
            reg_Info.tel       = pt_Info.tel;
            reg_Info.memo      = "自助机挂号";
            reg_Info.addperson = "自助机";
            reg_Info.status    = "候诊";
            reg_Info.addtime   = DateTime.Now;
            reg_Info.del       = true;
            reg_Info.doctor2   = reg_Arrange.doctor;

            var sysdictList = iReginfo.GetSysDict("SELECT [id] ,[fid] ,[code] ,[type] ,[detail] ,[sortno] ,[memo] ,[status] ,[del] ,[addtime] ,[moditime] ,[addperson] ,[fth] FROM [ZSHIS].[dbo].[sys_dict] where fid = 13999");

            var dept = string.Empty;

            if (sysdictList.Where(x => x.type == reg_Arrange.dept && x.type != "全部科室").Count() > 0)
            {
                dept = reg_Arrange.dept;
            }
            else
            {
                dept = "所有科室";
            }

            DateTime validate;
            var      memo = Convert.ToInt32(sysdictList.Where(x => x.detail == reg_Info.feetype && x.type == dept).FirstOrDefault().memo);

            if (memo == 0)
            {
                validate = Convert.ToDateTime("9999-12-31");
            }
            else
            {
                validate = Convert.ToDateTime(DateTime.Now.AddDays(memo - 1).ToShortDateString() + " 23:59:59");
            }

            var isCommQuery = "SELECT TOP 1 [iscomm] FROM [ZSHIS].[dbo].[reg_type] inner join reg_manage on reg_type.regtid = reg_manage.regtid where reg_type.del = 0 and reg_manage.del = 0 and mgrid = " + reg_Arrange.mgrid;

            reg_Info.iscomm   = iReginfo.GetComm(isCommQuery) > 0;
            reg_Info.validate = validate;

            var regid = iReginfo.Add(reg_Info);

            reg_Info.regid = regid;

            List <int> itemid = new List <int>();

            itemid.Add(Convert.ToInt32(reg_Arrange.itemid));
            commFees = iReginfo.GetComm_Fees(itemid.ToArray(), reg_Info.feetype == "医疗保险" ? 5 : 3);

            fee_info fee_Info = new fee_info()
            {
                pid       = pt_Info.pid,
                mzno      = mzno,
                regid     = regid,
                userid    = 89757,
                ftype     = 2,
                amountcol = commFees.Sum(x => x.prices),
                amountrec = commFees.Sum(x => x.prices),
                amountbak = 0,
                mantissa  = 0,
                username  = "******",
                addtime   = DateTime.Now,
                printqty  = 0,
                feeidoff  = 0,
                del       = true,
                status    = 0,
                sno       = psOrdNum
            };

            feeid = iFeeinfo.AddReturnId(fee_Info);
            var FeeInfoDetail = new List <fee_infodetail>();

            foreach (var commfee in commFees)
            {
                FeeInfoDetail.Add(new fee_infodetail()
                {
                    feeid      = feeid,
                    billid     = 0,
                    bdid       = 0,
                    dgid       = commfee.dgid,
                    itemid     = commfee.itemid ?? commfee.itemid,
                    itemname   = commfee.itemname ?? commfee.itemname,
                    spec       = "",
                    itemtype   = commfee.itemtype ?? commfee.itemtype,
                    unit       = commfee.unit,
                    prices     = commfee.prices == 0 ? commfee.prices : commfee.prices,
                    qty        = 1,
                    totalprice = commfee.prices == 0 ? commfee.prices * 1 : commfee.prices * 1,
                    feetype    = reg_Info.feetype,
                    disc       = 0,
                    execdept   = reg_Arrange.dept,
                    exectime   = DateTime.Now,
                    addtime    = DateTime.Now,
                    del        = true,
                    addperson  = "自助机缴费",
                    status     = 0
                });
            }
            amount = Convert.ToDecimal(commFees.Sum(x => x.prices) * 100);

            iFeeinfodetail.Adds(FeeInfoDetail.ToArray());
            reg_Arrange.regno    = reg_Info.regid;
            reg_Arrange.moditime = DateTime.Now;
            iRegarrange.Update(reg_Arrange);
            return(reg_Info);
        }