Exemplo n.º 1
0
        //是否收费处方
        public static bool IsCostPres(List <Entity.Prescription> list)
        {
            if (PrescripttionDbHelper != null)
            {
                return(PrescripttionDbHelper.IsCostPres(list));
            }
            else
            {
                if (list.Count == 0)
                {
                    return(false);
                }

                string strsql = @"select count(*) num from emrdb..DATA_PrescriptionDetail where ID IN({0}) AND IsCharged=1";
                string Ids    = null;
                for (int i = 0; i < list.Count; i++)
                {
                    if (Ids == null)
                    {
                        Ids = list[i].PresListId.ToString();
                    }
                    else
                    {
                        Ids += "," + list[i].PresListId.ToString();
                    }
                }

                strsql = string.Format(strsql, Ids);
                object ret = MidDbHelper.ExecuteScalar(MidDbHelper.EmrHandle, strsql);

                if (Convert.ToInt32(ret) > 0)
                {
                    return(true);
                }

                return(false);
            }
        }
Exemplo n.º 2
0
        //检查药品库存是否足够
        public static bool IsDrugStore(Entity.Prescription pres)
        {
            if (PrescripttionDbHelper != null)
            {
                return(PrescripttionDbHelper.IsDrugStore(pres));
            }
            else
            {
                if (pres.Item_Id > 0)
                {
                    string strsql = @"SELECT  top 1 ActualQty FROM hisdb..View_DrugAndFeeList WHERE StockID ={0}";
                    strsql = string.Format(strsql, pres.Item_Id);
                    object ret = MidDbHelper.ExecuteScalar(MidDbHelper.HisHandle, strsql);

                    decimal qty = ret == DBNull.Value ? 0 : Convert.ToDecimal(ret);
                    if (pres.Amount > qty)
                    {
                        return(false);
                    }
                }

                return(true);
            }
        }
Exemplo n.º 3
0
        public static bool SavePrescriptionData(int patListId, List <Entity.Prescription> list, int presType)
        {
            if (PrescripttionDbHelper != null)
            {
                return(PrescripttionDbHelper.SavePrescriptionData(patListId, list, presType));
            }
            else
            {
                List <string> sqllist = new List <string>();

                string strsql = @"select ID from emrdb..DATA_PrescriptionList where PatientID ={0} AND OrderClass={1}";
                strsql = string.Format(strsql, patListId, presType);
                object ret    = MidDbHelper.ExecuteScalar(MidDbHelper.EmrHandle, strsql);
                int    headId = ret == DBNull.Value ? 0 : Convert.ToInt32(ret);

                if (headId == 0)//先插入处方头
                {
                    strsql = @"INSERT INTO emrdb..DATA_PrescriptionList
                            ( PatientID ,
                              OrderClass ,
                              OrderTime ,
                              OrderSign ,
                              IsPriority ,
                              ApplyID ,
                              DoctorID
                            )
                    VALUES  ( {0},{1},'{2}',0 ,0 ,0 ,{3})";
                    strsql = string.Format(strsql, patListId, presType, DateTime.Now, list[0].Pres_Doc);
                    headId = MidDbHelper.ExecuteIdentify(MidDbHelper.EmrHandle, strsql);
                }


                //先删除修改数据
                strsql = @"DELETE FROM emrdb..DATA_PrescriptionDetail WHERE ID IN({0})";
                string Ids = null;
                for (int i = 0; i < list.Count; i++)
                {
                    if (Ids == null)
                    {
                        Ids = list[i].PresListId.ToString();
                    }
                    else
                    {
                        Ids += "," + list[i].PresListId.ToString();
                    }
                }
                strsql = string.Format(strsql, Ids);
                //MidDbHelper.ExecuteNonQuery(MidDbHelper.EmrHandle, strsql);
                sqllist.Add(strsql);

                for (int i = 0; i < list.Count; i++)
                {
                    strsql = @"INSERT INTO emrdb..DATA_PrescriptionDetail(PrescriptionID ,ListNO ,GroupID ,FeeID ,FeeName ,Spec ,Dosage ,DosageUnit ,Factor ,ChannelID ,FrequencyID ,Num ,Amount ,Unit ,Price ,Days ,InjectTimes ,IsOtherFee ,IsAst ,AstResult ,IsTake ,Memo ,IsCharged ,IsCancel ,IsSend ,IsExec ,DoctorID ,DeptCode ,chargedTime ,sendTime ,CostID ,FavorFee ,DosageType ,AmountType ,PresAmount ,PresAmountUnit ,PresFactor ,ItemClass)
                            VALUES  ( {0} ,{1} ,{2} ,{3} ,'{4}' ,'{5}' ,{6} ,'{7}' ,{8} ,{9} ,{10},{11} ,{12} ,'{13}' ,{14} ,{15},0 ,0 ,{16} ,'' ,{17} ,'{18}' ,0 ,0 ,0 ,0 ,{19} ,'{20}' ,NULL ,NULL ,0 ,0 ,0 ,0 ,{21} ,'{22}' ,'{23}' ,1)";
                    strsql = string.Format(strsql, headId, list[i].PresNo, list[i].Group_Id, list[i].Item_Id, list[i].Item_Name, list[i].Standard, list[i].Usage_Amount, list[i].Usage_Unit, list[i].Usage_Rate,
                                           list[i].Usage_Id, list[i].Frequency_Id, list[i].Dosage, list[i].Amount, list[i].Unit, list[i].Sell_Price, list[i].Days
                                           , list[i].SkinTest_Flag, list[i].SelfDrug_Flag, list[i].Entrust, list[i].Pres_Doc, list[i].Pres_Dept, list[i].Item_Amount, list[i].Item_Unit, list[i].Item_Rate);

                    sqllist.Add(strsql);
                }

                MidDbHelper.ExecuteNonQuery(MidDbHelper.EmrSysID, sqllist);
                return(true);
            }
        }