Esempio n. 1
0
 public void ThemChitiet(KcbDonthuoc objDonthuoc, KcbDonthuocChitiet objDonthuocChitiet, decimal PtramBHYT, KcbLuotkham objLuotkham)
 {
     using (TransactionScope scope = new TransactionScope())
     {
         byte TrangthaiBhyt = 1;
         if (!THU_VIEN_CHUNG.IsBaoHiem(objLuotkham.IdLoaidoituongKcb.Value)) //(objLuotkham.MaDoituongKcb == "DV")//Tự túc
         {
             PtramBHYT     = 0m;
             TrangthaiBhyt = (byte)0;
             //ĐỐi tượng dịch vụ thì ko cần đánh dấu tự túc
             objDonthuocChitiet.TuTuc = 0;
         }
         else
         {
             TrangthaiBhyt = (byte)(globalVariables.gv_blnApdungChedoDuyetBHYT ? 0 : 1);
         }
         //Tính giá BHYT chi trả và BN chi trả theo Đối tượng và % bảo hiểm-->Hơi thừa có thể bỏ qua do đã tính ở Client
         //Nếu có dùng thì cần lấy lại KcbLuotkham do lo sợ người khác thay đổi đối tượng
         //TinhGiaThuoc.GB_TinhPhtramBHYT(objDonthuocChitiet, PtramBHYT);
         objDonthuocChitiet.TrangthaiBhyt = TrangthaiBhyt; // Utility.isTrue(objDonthuocChitiet.TuTuc.Value, 0, 1);
         objDonthuocChitiet.IdDonthuoc    = objDonthuoc.IdDonthuoc;
         objDonthuocChitiet.IsNew         = true;
         objDonthuocChitiet.Save();
         scope.Complete();
     }
 }
Esempio n. 2
0
        public TPhieuXuatthuocBenhnhan CreatePhieuXuatBenhNhan(KcbDonthuoc objDonthuoc)
        {
            KcbDanhsachBenhnhan objBenhnhan = KcbDanhsachBenhnhan.FetchByID(objDonthuoc.IdBenhnhan);
            KcbLuotkham objLuotkham = new Select().From(KcbLuotkham.Schema)
                .Where(KcbLuotkham.Columns.MaLuotkham).IsEqualTo(objDonthuoc.MaLuotkham)
                .And(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(objDonthuoc.IdBenhnhan).ExecuteSingle<KcbLuotkham>();

            TPhieuXuatthuocBenhnhan objPhieuXuatBnhan = new TPhieuXuatthuocBenhnhan();
            objPhieuXuatBnhan.NgayXacnhan =  globalVariables.SysDate;
            objPhieuXuatBnhan.IdPhongChidinh = Utility.Int16Dbnull(objDonthuoc.IdPhongkham);
            objPhieuXuatBnhan.IdKhoaChidinh = Utility.Int16Dbnull(objDonthuoc.IdKhoadieutri);
            objPhieuXuatBnhan.IdBacsiKedon = Utility.Int16Dbnull(objDonthuoc.IdBacsiChidinh);
            objPhieuXuatBnhan.IdDonthuoc = Utility.Int32Dbnull(objDonthuoc.IdDonthuoc);
            objPhieuXuatBnhan.IdNhanvien = globalVariables.gv_intIDNhanvien;
            //objPhieuXuatBnhan.HienThi = 1;
            objPhieuXuatBnhan.ChanDoan = Utility.sDbnull(objLuotkham.ChanDoan);
            objPhieuXuatBnhan.MabenhChinh = Utility.sDbnull(objLuotkham.MabenhChinh);
            objPhieuXuatBnhan.IdDoituongKcb = Utility.Int16Dbnull(objLuotkham.IdDoituongKcb);
            objPhieuXuatBnhan.MaDoituongKcb = objLuotkham.MaDoituongKcb;
            objPhieuXuatBnhan.GioiTinh = objBenhnhan.GioiTinh;
            objPhieuXuatBnhan.TenBenhnhan = Utility.sDbnull(objBenhnhan.TenBenhnhan);
            objPhieuXuatBnhan.TenKhongdau = Utility.sDbnull(Utility.UnSignedCharacter(objBenhnhan.TenBenhnhan));
            objPhieuXuatBnhan.DiaChi = Utility.sDbnull(objBenhnhan.DiaChi);
            objPhieuXuatBnhan.NamSinh = Utility.Int32Dbnull(objBenhnhan.NamSinh);
            objPhieuXuatBnhan.MatheBhyt = Utility.sDbnull(objLuotkham.MatheBhyt);
            objPhieuXuatBnhan.NgayKedon = objDonthuoc.NgayKedon;
            objPhieuXuatBnhan.NgayTao = globalVariables.SysDate;
            objPhieuXuatBnhan.NguoiTao = globalVariables.UserName;
            objPhieuXuatBnhan.Noitru = objDonthuoc.Noitru;
            objPhieuXuatBnhan.LoaiPhieu = (byte?)LoaiPhieu.PhieuXuatKhoBenhNhan;
            return objPhieuXuatBnhan;
        }
        public ActionResult ChuyenVTTHvaogoi(long IdDonthuoc, List <long> lstchitiet, int id_goi)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var sh = new SharedDbConnectionScope())
                    {
                        //Tạo phiếu mới
                        KcbDonthuoc objnew = KcbDonthuoc.FetchByID(IdDonthuoc);
                        objnew.IsNew    = true;
                        objnew.IdGoi    = id_goi;
                        objnew.Noitru   = 1;
                        objnew.TrongGoi = 1;
                        objnew.Save();
                        new Update(KcbDonthuocChitiet.Schema)
                        .Set(KcbDonthuocChitiet.Columns.IdGoi).EqualTo(id_goi)
                        .Set(KcbDonthuocChitiet.Columns.IdDonthuoc).EqualTo(objnew.IdDonthuoc)
                        .Set(KcbDonthuocChitiet.Columns.IdDonthuocChuyengoi).EqualTo(IdDonthuoc)
                        .Set(KcbDonthuocChitiet.Columns.TrongGoi).EqualTo(1)
                        .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).In(lstchitiet).Execute();
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }

            catch (Exception exception)
            {
                log.Error("loi trong qua trinh xoa phieu dieu tri {0}", exception.ToString());
                return(ActionResult.Error);
            }
        }
Esempio n. 4
0
        public ActionResult ThemDonThuoc(KcbLuotkham objLuotkham, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, KcbChandoanKetluan _KcbChandoanKetluan, ref int p_intIdDonthuoc, ref Dictionary <long, long> lstChitietDonthuoc)
        {
            // Query _Query = KcbDonthuoc.CreateQuery();
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                    {
                        if (objLuotkham != null)
                        {
                            if (objDonthuoc.NgayKedon <= Convert.ToDateTime("01/01/1900"))
                            {
                                objDonthuoc.NgayKedon = globalVariables.SysDate;
                            }

                            objDonthuoc.IsNew       = true;
                            objDonthuoc.TenDonthuoc = THU_VIEN_CHUNG.TaoTenDonthuoc(objLuotkham.MaLuotkham,
                                                                                    Utility.Int32Dbnull(
                                                                                        objLuotkham.IdBenhnhan,
                                                                                        -1));

                            objDonthuoc.Save();
                            if (!Utility.Byte2Bool(objDonthuoc.Noitru))
                            {
                                CapnhatChandoan(_KcbChandoanKetluan);
                            }
                            p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                            decimal PtramBH = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0);

                            foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                            {
                                objDonthuocChitiet.IdKham     = objDonthuoc.IdKham;
                                objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                ThemChitiet(objDonthuoc, objDonthuocChitiet, PtramBH, objLuotkham);
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                            }
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh luu don thuoc {0}", exception);
                return(ActionResult.Error);
            }
        }
Esempio n. 5
0
        public ActionResult ThemDonThuoc(KcbDanhsachBenhnhan objBenhnhan, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, ref int p_intIdDonthuoc, ref Dictionary <long, long> lstChitietDonthuoc)
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                    {
                        objBenhnhan.Save();
                        if (objBenhnhan != null)
                        {
                            if (objDonthuoc.NgayKedon <= Convert.ToDateTime("01/01/1900"))
                            {
                                objDonthuoc.NgayKedon = globalVariables.SysDate;
                            }
                            objDonthuoc.IdBenhnhan  = objBenhnhan.IdBenhnhan;
                            objDonthuoc.MaLuotkham  = "";
                            objDonthuoc.IdKham      = -1;
                            objDonthuoc.IsNew       = true;
                            objDonthuoc.TenDonthuoc = "";

                            objDonthuoc.Save();
                            p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                            decimal PtramBH = 0;

                            foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                            {
                                objDonthuocChitiet.IdKham     = objDonthuoc.IdKham;
                                objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                objDonthuocChitiet.IsNew      = true;
                                objDonthuocChitiet.Save();
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                            }
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                Utility.CatchException(exception);
                log.Error("Loi trong qua trinh luu don thuoc {0}", exception);
                return(ActionResult.Error);
            }
        }
        public ActionResult ChuyenVTTHrakhoigoi(long IdDonthuoc_source, List <long> lstId)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var sh = new SharedDbConnectionScope())
                    {
                        foreach (long _id in lstId)
                        {
                            KcbDonthuoc objKcbDonthuoc = KcbDonthuoc.FetchByID(_id);
                            if (objKcbDonthuoc == null)
                            {
                                objKcbDonthuoc          = KcbDonthuoc.FetchByID(IdDonthuoc_source);
                                objKcbDonthuoc.IdGoi    = -1;
                                objKcbDonthuoc.TrongGoi = 0;
                                objKcbDonthuoc.IsNew    = true;
                                objKcbDonthuoc.Save();
                                new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.Columns.IdGoi).EqualTo(-1)
                                .Set(KcbDonthuocChitiet.Columns.IdDonthuoc).EqualTo(objKcbDonthuoc.IdDonthuoc)
                                .Set(KcbDonthuocChitiet.Columns.IdDonthuocChuyengoi).EqualTo(-1)
                                .Set(KcbDonthuocChitiet.Columns.TrongGoi).EqualTo(0)
                                .Where(KcbDonthuocChitiet.Columns.IdDonthuocChuyengoi).IsEqualTo(_id).Execute();
                            }
                            else
                            {
                                new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.Columns.IdGoi).EqualTo(-1)
                                .Set(KcbDonthuocChitiet.Columns.IdDonthuoc).EqualTo(objKcbDonthuoc.IdDonthuoc)
                                .Set(KcbDonthuocChitiet.Columns.IdDonthuocChuyengoi).EqualTo(-1)
                                .Set(KcbDonthuocChitiet.Columns.TrongGoi).EqualTo(0)
                                .Where(KcbDonthuocChitiet.Columns.IdDonthuocChuyengoi).IsEqualTo(_id).Execute();
                            }
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }

            catch (Exception exception)
            {
                log.Error("loi trong qua trinh xoa phieu dieu tri {0}", exception.ToString());
                return(ActionResult.Error);
            }
        }
Esempio n. 7
0
        public TPhieuXuatthuocBenhnhan CreatePhieuXuatBenhNhan(KcbDonthuoc objDonthuoc, KcbDanhsachBenhnhan objBenhnhan, KcbLuotkham objLuotkham)
        {
            TPhieuXuatthuocBenhnhan objPhieuXuatBnhan = new TPhieuXuatthuocBenhnhan();
            objPhieuXuatBnhan.IdBenhnhan = objDonthuoc.IdBenhnhan;
            objPhieuXuatBnhan.MaLuotkham = objDonthuoc.MaLuotkham;
            objPhieuXuatBnhan.NgayXacnhan = globalVariables.SysDate;
            objPhieuXuatBnhan.IdPhongChidinh = Utility.Int16Dbnull(objDonthuoc.IdPhongkham);
            objPhieuXuatBnhan.IdKhoaChidinh = Utility.Int16Dbnull(objDonthuoc.IdKhoadieutri);
            objPhieuXuatBnhan.IdBacsiKedon = Utility.Int16Dbnull(objDonthuoc.IdBacsiChidinh);
            objPhieuXuatBnhan.IdDonthuoc = Utility.Int32Dbnull(objDonthuoc.IdDonthuoc);
            objPhieuXuatBnhan.IdNhanvien = globalVariables.gv_intIDNhanvien;
            //objPhieuXuatBnhan.HienThi = 1;
            if (objLuotkham != null)
            {
                objPhieuXuatBnhan.ChanDoan = Utility.sDbnull(objLuotkham.ChanDoan);
                objPhieuXuatBnhan.MabenhChinh = Utility.sDbnull(objLuotkham.MabenhChinh);
                objPhieuXuatBnhan.IdDoituongKcb = Utility.Int16Dbnull(objLuotkham.IdDoituongKcb);
                objPhieuXuatBnhan.MaDoituongKcb = objLuotkham.MaDoituongKcb;
                objPhieuXuatBnhan.MatheBhyt = Utility.sDbnull(objLuotkham.MatheBhyt);
            }
            else//Đơn thuốc tại quầy thì objLuotkham=null;
            {
                objPhieuXuatBnhan.ChanDoan = "";
                objPhieuXuatBnhan.MabenhChinh = "";
                objPhieuXuatBnhan.IdDoituongKcb = -1;
                objPhieuXuatBnhan.MaDoituongKcb = "DV";
                objPhieuXuatBnhan.MatheBhyt = "";
            }
            objPhieuXuatBnhan.GioiTinh = objBenhnhan.GioiTinh;
            objPhieuXuatBnhan.KieuThuocvattu = objDonthuoc.KieuThuocvattu;
            objPhieuXuatBnhan.TenBenhnhan = Utility.sDbnull(objBenhnhan.TenBenhnhan);
            objPhieuXuatBnhan.TenKhongdau = Utility.sDbnull(Utility.UnSignedCharacter(objBenhnhan.TenBenhnhan));
            objPhieuXuatBnhan.DiaChi = Utility.sDbnull(objBenhnhan.DiaChi);
            objPhieuXuatBnhan.NamSinh = Utility.Int32Dbnull(objBenhnhan.NamSinh);

            objPhieuXuatBnhan.NgayKedon = objDonthuoc.NgayKedon;
            objPhieuXuatBnhan.NgayTao = globalVariables.SysDate;
            objPhieuXuatBnhan.NguoiTao = objDonthuoc.NguoiTao;//Dùng cho báo cáo kê đơn theo bác sĩ(trạng thái đã cấp phát để biết người tạo là Admin)
            objPhieuXuatBnhan.NguoiPhatthuoc = globalVariables.UserName;
            objPhieuXuatBnhan.QuayThuoc = (byte)(objDonthuoc.KieuDonthuoc == 2 ? 1 : 0);//0= Đơn thuốc thường;1= Đơn thuốc bổ sung;2=Đơn thuốc tại quầy;3=Đơn tiêm chủng
            objPhieuXuatBnhan.Noitru = objDonthuoc.Noitru;
            objPhieuXuatBnhan.LoaiPhieu = (byte?)LoaiPhieu.PhieuXuatKhoBenhNhan;

            return objPhieuXuatBnhan;
        }
Esempio n. 8
0
 public void ThemChitiet(KcbDonthuoc objDonthuoc, KcbDonthuocChitiet objDonthuocChitiet, decimal PtramBHYT, KcbLuotkham objLuotkham)
 {
     using (TransactionScope scope = new TransactionScope())
     {
         byte TrangthaiBhyt = 1;
         if (!THU_VIEN_CHUNG.IsBaoHiem(objLuotkham.IdLoaidoituongKcb.Value)) //(objLuotkham.MaDoituongKcb == "DV")//Tự túc
         {
             PtramBHYT     = 0m;
             TrangthaiBhyt = (byte)0;
             //ĐỐi tượng dịch vụ thì ko cần đánh dấu tự túc
             objDonthuocChitiet.TuTuc = 0;
         }
         else
         {
             TrangthaiBhyt = (byte)(globalVariables.gv_blnApdungChedoDuyetBHYT ? 0 : 1);
         }
         //Tính giá BHYT chi trả và BN chi trả theo Đối tượng và % bảo hiểm-->Hơi thừa có thể bỏ qua do đã tính ở Client
         //Nếu có dùng thì cần lấy lại KcbLuotkham do lo sợ người khác thay đổi đối tượng
         //TinhGiaThuoc.GB_TinhPhtramBHYT(objDonthuocChitiet, PtramBHYT);
         objDonthuocChitiet.TrangthaiBhyt = TrangthaiBhyt; // Utility.isTrue(objDonthuocChitiet.TuTuc.Value, 0, 1);
         objDonthuocChitiet.IdDonthuoc    = objDonthuoc.IdDonthuoc;
         var sp = SPs.SpKcbThemmoiChitietDonthuoc(objDonthuocChitiet.IdChitietdonthuoc, objDonthuocChitiet.IdDonthuoc, objDonthuocChitiet.IdDonthuocChuyengoi
                                                  , objDonthuocChitiet.IdBenhnhan, objDonthuocChitiet.MaLuotkham, objDonthuocChitiet.IdKham, objDonthuocChitiet.IdKho, objDonthuocChitiet.IdThuoc, objDonthuocChitiet.NgayHethan
                                                  , objDonthuocChitiet.SoLuong, objDonthuocChitiet.SluongSua, objDonthuocChitiet.SluongLinh, objDonthuocChitiet.DonGia, objDonthuocChitiet.IdThuockho
                                                  , objDonthuocChitiet.NgayNhap, objDonthuocChitiet.GiaNhap, objDonthuocChitiet.GiaBan, objDonthuocChitiet.GiaBhyt, objDonthuocChitiet.SoLo, objDonthuocChitiet.Vat
                                                  , objDonthuocChitiet.MaNhacungcap, objDonthuocChitiet.PhuThu, objDonthuocChitiet.PhuthuDungtuyen, objDonthuocChitiet.PhuthuTraituyen, objDonthuocChitiet.MotaThem
                                                  , objDonthuocChitiet.SoluongHuy, objDonthuocChitiet.TrangthaiHuy, objDonthuocChitiet.NguoiHuy, objDonthuocChitiet.NgayHuy, objDonthuocChitiet.TuTuc, objDonthuocChitiet.TrangThai
                                                  , objDonthuocChitiet.TrangthaiTonghop, objDonthuocChitiet.NgayXacnhan, objDonthuocChitiet.TrangthaiBhyt, objDonthuocChitiet.SttIn, objDonthuocChitiet.MadoituongGia
                                                  , objDonthuocChitiet.PtramBhytGoc, objDonthuocChitiet.PtramBhyt, objDonthuocChitiet.BhytChitra, objDonthuocChitiet.BnhanChitra, objDonthuocChitiet.MaDoituongKcb
                                                  , objDonthuocChitiet.IdThanhtoan, objDonthuocChitiet.TrangthaiThanhtoan, objDonthuocChitiet.NgayThanhtoan, objDonthuocChitiet.CachDung
                                                  , objDonthuocChitiet.ChidanThem, objDonthuocChitiet.DonviTinh, objDonthuocChitiet.SolanDung, objDonthuocChitiet.SoluongDung, objDonthuocChitiet.TrangthaiChuyen
                                                  , objDonthuocChitiet.NgayTao, objDonthuocChitiet.NguoiTao, objDonthuocChitiet.TileChietkhau, objDonthuocChitiet.TienChietkhau, objDonthuocChitiet.KieuChietkhau
                                                  , objDonthuocChitiet.IdGoi, objDonthuocChitiet.TrongGoi, objDonthuocChitiet.KieuBiendong, objDonthuocChitiet.NguonThanhtoan, objDonthuocChitiet.IpMaytao
                                                  , objDonthuocChitiet.TenMaytao, objDonthuocChitiet.DaDung, objDonthuocChitiet.LydoTiemchung, objDonthuocChitiet.NguoiTiem, objDonthuocChitiet.VitriTiem
                                                  , objDonthuocChitiet.MuiThu, objDonthuocChitiet.NgayhenMuiketiep, objDonthuocChitiet.PhanungSautiem, objDonthuocChitiet.Xutri, objDonthuocChitiet.KetluanNguyennhan
                                                  , objDonthuocChitiet.KetQua, objDonthuocChitiet.NgaySudung, objDonthuocChitiet.SoDky, objDonthuocChitiet.SoQdinhthau, objDonthuoc.NgayKedon);
         sp.Execute();
         objDonthuocChitiet.IdChitietdonthuoc = Utility.Int64Dbnull(sp.OutputValues[0]);
         scope.Complete();
     }
 }
Esempio n. 9
0
        private ActionResult TruThuocTrongKho(KcbDonthuoc objDonthuoc, KcbDonthuocChitiet objDetail, TPhieuXuatthuocBenhnhan objPhieuXuatBnhan)
        {
            HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties;
            string errorMessage = "";
            try
            {
                using (var scope = new TransactionScope())
                {

                    TThuockhoCollection objThuocKhoCollection = GetObjThuocKhoCollection(objDetail);
                    int iSoLuongConLai = 0;
                    int iSoLuongDonThuoc = 0;
                    int iSoLuongTru = 0;
                    iSoLuongDonThuoc = Utility.Int32Dbnull(objDetail.SoLuong);
                    if (objThuocKhoCollection.Sum(c => c.SoLuong) < iSoLuongDonThuoc) return ActionResult.NotEnoughDrugInStock;
                    foreach (TThuockho objTThuockho in objThuocKhoCollection)
                    {
                        iSoLuongConLai = Utility.Int32Dbnull(objTThuockho.SoLuong);
                        ///nếu trưởng hợp số lượng thuốc trong đơn nhỏ hơn số lượng có trong kho thì trừ thẳng luôn
                        if (iSoLuongConLai >= iSoLuongDonThuoc)
                        {

                            iSoLuongTru = iSoLuongConLai - iSoLuongDonThuoc;
                            UpdateXuatChiTietBN(objDonthuoc,objDetail, objTThuockho, iSoLuongDonThuoc, objPhieuXuatBnhan);
                            StoredProcedure sp = SPs.ThuocXuatkho(Utility.Int32Dbnull(objTThuockho.IdKho),
                                                                          Utility.Int32Dbnull(objTThuockho.IdThuoc, -1),
                                                                          objTThuockho.NgayHethan, objTThuockho.GiaNhap, Utility.DecimaltoDbnull(objTThuockho.GiaBan),
                                                                          Utility.DecimaltoDbnull(objTThuockho.Vat), iSoLuongDonThuoc, objTThuockho.IdThuockho, objTThuockho.MaNhacungcap, objTThuockho.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage);

                            sp.Execute();
                            break;

                        }
                        else
                        {
                            iSoLuongTru = iSoLuongDonThuoc - iSoLuongConLai;
                            iSoLuongDonThuoc = iSoLuongTru;
                            UpdateXuatChiTietBN(objDonthuoc,objDetail, objTThuockho, iSoLuongConLai, objPhieuXuatBnhan);
                            StoredProcedure sp = SPs.ThuocXuatkho(Utility.Int32Dbnull(objTThuockho.IdKho),
                                                                          Utility.Int32Dbnull(objTThuockho.IdThuoc, -1),
                                                                          objTThuockho.NgayHethan, objTThuockho.GiaNhap, Utility.DecimaltoDbnull(objTThuockho.GiaBan),
                                                                          Utility.DecimaltoDbnull(objTThuockho.Vat), iSoLuongConLai, objTThuockho.IdThuockho, objTThuockho.MaNhacungcap, objTThuockho.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage);

                            sp.Execute();
                        }

                    }
                    new Update(KcbDonthuocChitiet.Schema)
                        .Set(KcbDonthuocChitiet.Columns.TrangThai).EqualTo(1)
                        .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc).Execute();
                    scope.Complete();
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi ban ra tu sp :{0}", errorMessage);
                log.Error("loi trong qua trinh tru thuoc trong kho :{0}", exception.ToString());
            }

            return ActionResult.Success;
        }
Esempio n. 10
0
        public ActionResult CapnhatDonthuoc(KcbLuotkham objLuotkham, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet,KcbChandoanKetluan  _KcbChandoanKetluan,ref int p_intIdDonthuoc, ref Dictionary<long, long> lstChitietDonthuoc)
        {
            try
             {
                 using (TransactionScope scope = new TransactionScope())
                 {
                     using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                     {
                         //KcbDonthuoc objDonthuoc = KcbDonthuoc.FetchByID(objDonthuoc.IdDonthuoc);
                         p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                         new Update(KcbDonthuoc.Schema)
                             .Set(KcbDonthuoc.Columns.TaiKham).EqualTo(objDonthuoc.TaiKham)
                             .Set(KcbDonthuoc.Columns.NgayTaikham).EqualTo(objDonthuoc.NgayTaikham)
                             .Set(KcbDonthuoc.Columns.LoidanBacsi).EqualTo(objDonthuoc.LoidanBacsi)
                             .Set(KcbDonthuoc.Columns.IdPhongkham).EqualTo(objDonthuoc.IdPhongkham)
                             .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
                             .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
                             .Set(KcbDonthuoc.Columns.IpMaysua).EqualTo(objDonthuoc.IpMaysua)
                             .Set(KcbDonthuoc.Columns.TenMaysua).EqualTo(objDonthuoc.TenMaysua)
                             .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();
                         if (Utility.Int32Dbnull(objDonthuoc.IdKham) > 0)
                         {
                             new Update(KcbDangkyKcb.Schema)
                          .Set(KcbDangkyKcb.Columns.IdBacsikham).EqualTo(globalVariables.gv_intIDNhanvien)
                          .Where(KcbDangkyKcb.Columns.IdKham).IsEqualTo(objDonthuoc.IdKham).Execute();
                         }
                         decimal PtramBH = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0);

                         foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                         {
                             objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                         }
                         if (objLuotkham.TrangthaiNoitru <= 0) CapnhatChandoan(_KcbChandoanKetluan);
                         foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                         {

                             if (objDonthuocChitiet.IdChitietdonthuoc == -1)
                             {
                                 objDonthuocChitiet.IdKham = objDonthuoc.IdKham;
                                 objDonthuocChitiet.IsNew = true;
                                 objDonthuocChitiet.SluongLinh = 0;
                                 objDonthuocChitiet.SluongSua = 0;
                                 objDonthuocChitiet.TrangThai = 0;

                                 objDonthuocChitiet.IdThanhtoan = -1;
                                 objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                 objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                 objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                 objDonthuocChitiet.CachDung = objDonthuocChitiet.MotaThem;
                                 ThemChitiet(objDonthuoc, objDonthuocChitiet, PtramBH, objLuotkham);
                                 if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                     lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                             }
                             else
                             {
                                 if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                     lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                 new Update(KcbDonthuocChitiet.Schema)
                                     .Set(KcbDonthuocChitiet.SoLuongColumn).EqualTo(objDonthuocChitiet.SoLuong)
                                     .Set(KcbDonthuocChitiet.NgaySuaColumn).EqualTo(objDonthuocChitiet.NgaySua)
                                     .Set(KcbDonthuocChitiet.NguoiSuaColumn).EqualTo(objDonthuocChitiet.NguoiSua)
                                     .Set(KcbDonthuocChitiet.Columns.IpMaysua).EqualTo(objDonthuocChitiet.IpMaysua)
                                     .Set(KcbDonthuocChitiet.Columns.TenMaysua).EqualTo(objDonthuocChitiet.TenMaysua)
                                     .Where(KcbDonthuocChitiet.IdChitietdonthuocColumn).IsEqualTo(objDonthuocChitiet.IdChitietdonthuoc).Execute();
                             }
                         }
                     }
                     scope.Complete();
                     return ActionResult.Success;
                 }
             }
             catch (Exception exception)
             {
                 log.Error("Loi trong qua trinh luu don thuoc", exception);
                 return ActionResult.Error;
             }
        }
        private KcbDonthuoc CreateNewPres()
        {
            KcbDonthuoc donthuoc = new KcbDonthuoc
            {
                MaLuotkham = "",
                IdBenhnhan =-1,
                MaKhoaThuchien = globalVariables.MA_KHOA_THIEN,
                LoidanBacsi = Utility.sDbnull(this.txtLoiDanBS.Text),
                TaiKham = Utility.sDbnull(this.txtKhamLai.Text)
            };

                donthuoc.NgayTaikham = null;

            donthuoc.NgayKedon = this.dtpCreatedDate.Value;
            donthuoc.MaDoituongKcb = "DV";
            donthuoc.TenDonthuoc = "Đơn thuốc tại quầy";

                donthuoc.IdPhongkham = -1;
                donthuoc.IdGiuongNoitru = -1;

            donthuoc.IdKhoadieutri = new int?(globalVariables.idKhoatheoMay);
            donthuoc.TrangthaiThanhtoan = 0;
            donthuoc.IdBacsiChidinh = new short?(globalVariables.gv_intIDNhanvien);
            donthuoc.TrangThai = 0;
            donthuoc.NguoiTao = globalVariables.UserName;
            donthuoc.NgayTao = globalVariables.SysDate;
            donthuoc.IdDonthuocthaythe = -1;
            donthuoc.IdKham = new long?((long)this.id_kham);
            donthuoc.NgayTao = globalVariables.SysDate;
            donthuoc.NguoiTao = globalVariables.UserName;
            donthuoc.Noitru = new byte?(this.Noi_tru);
            donthuoc.KieuDonthuoc = 2;//0= Đơn thuốc thường;1= Đơn thuốc bổ sung;2=Đơn thuốc tại quầy;3=Đơn tiêm chủng
            donthuoc.KieuThuocvattu = KIEU_THUOC_VT;
            if (this.m_enAct == action.Update)
            {
                donthuoc.IdDonthuoc = Utility.Int32Dbnull(this.txtPres_ID.Text, -1);
            }
            if (this.m_enAct == action.Update)
            {
                donthuoc.NguoiSua = globalVariables.UserName;
                donthuoc.NgaySua = new DateTime?(globalVariables.SysDate);
            }
            return donthuoc;
        }
        public void Insert(int? IdPhieudieutri,int? IdKhoadieutri,int? IdDonthuocthaythe,long? IdKham,long? IdBenhnhan,string MaLuotkham,DateTime NgayKedon,short? IdBacsiChidinh,byte TrangThai,byte? TthaiTonghop,byte TrangthaiThanhtoan,DateTime? NgayThanhtoan,int? IdGoi,byte? TrongGoi,string NguoiTao,DateTime NgayTao,string NguoiSua,DateTime? NgaySua,string MotaThem,string TenDonthuoc,string MaDoituongKcb,byte? Noitru,byte? KieuDonthuoc,short? IdPhongkham,long? IdBuongGiuong,short? IdBuongNoitru,short? IdGiuongNoitru,string TenKieudonthuoc,string LoidanBacsi,DateTime? NgayTaikham,string TaiKham,string MaKhoaThuchien,byte? DonthuocTaiquay,DateTime? NgayCapphat,string KieuThuocvattu,DateTime? NgayChot,int? IdChot,DateTime? NgayHuychot,string NguoiHuychot,string LydoHuychot,DateTime? NgayHuyxacnhan,string NguoiHuyxacnhan,string LydoHuyxacnhan,DateTime? NgayXacnhan,string NguoiXacnhan,string IpMaytao,string IpMaysua,string TenMaytao,string TenMaysua)
        {
            KcbDonthuoc item = new KcbDonthuoc();

            item.IdPhieudieutri = IdPhieudieutri;

            item.IdKhoadieutri = IdKhoadieutri;

            item.IdDonthuocthaythe = IdDonthuocthaythe;

            item.IdKham = IdKham;

            item.IdBenhnhan = IdBenhnhan;

            item.MaLuotkham = MaLuotkham;

            item.NgayKedon = NgayKedon;

            item.IdBacsiChidinh = IdBacsiChidinh;

            item.TrangThai = TrangThai;

            item.TthaiTonghop = TthaiTonghop;

            item.TrangthaiThanhtoan = TrangthaiThanhtoan;

            item.NgayThanhtoan = NgayThanhtoan;

            item.IdGoi = IdGoi;

            item.TrongGoi = TrongGoi;

            item.NguoiTao = NguoiTao;

            item.NgayTao = NgayTao;

            item.NguoiSua = NguoiSua;

            item.NgaySua = NgaySua;

            item.MotaThem = MotaThem;

            item.TenDonthuoc = TenDonthuoc;

            item.MaDoituongKcb = MaDoituongKcb;

            item.Noitru = Noitru;

            item.KieuDonthuoc = KieuDonthuoc;

            item.IdPhongkham = IdPhongkham;

            item.IdBuongGiuong = IdBuongGiuong;

            item.IdBuongNoitru = IdBuongNoitru;

            item.IdGiuongNoitru = IdGiuongNoitru;

            item.TenKieudonthuoc = TenKieudonthuoc;

            item.LoidanBacsi = LoidanBacsi;

            item.NgayTaikham = NgayTaikham;

            item.TaiKham = TaiKham;

            item.MaKhoaThuchien = MaKhoaThuchien;

            item.DonthuocTaiquay = DonthuocTaiquay;

            item.NgayCapphat = NgayCapphat;

            item.KieuThuocvattu = KieuThuocvattu;

            item.NgayChot = NgayChot;

            item.IdChot = IdChot;

            item.NgayHuychot = NgayHuychot;

            item.NguoiHuychot = NguoiHuychot;

            item.LydoHuychot = LydoHuychot;

            item.NgayHuyxacnhan = NgayHuyxacnhan;

            item.NguoiHuyxacnhan = NguoiHuyxacnhan;

            item.LydoHuyxacnhan = LydoHuyxacnhan;

            item.NgayXacnhan = NgayXacnhan;

            item.NguoiXacnhan = NguoiXacnhan;

            item.IpMaytao = IpMaytao;

            item.IpMaysua = IpMaysua;

            item.TenMaytao = TenMaytao;

            item.TenMaysua = TenMaysua;

            item.Save(UserName);
        }
Esempio n. 13
0
        public ActionResult ThemDonThuoc(KcbLuotkham objLuotkham, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, KcbChandoanKetluan _KcbChandoanKetluan, ref long p_intIdDonthuoc, ref Dictionary<long, long> lstChitietDonthuoc)
        {
            // Query _Query = KcbDonthuoc.CreateQuery();
             try
             {
                 using (TransactionScope scope = new TransactionScope())
                 {
                     using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                     {
                         if (objLuotkham != null)
                         {
                             if (objDonthuoc.NgayKedon <= Convert.ToDateTime("01/01/1900"))
                                 objDonthuoc.NgayKedon = globalVariables.SysDate;

                             objDonthuoc.IsNew = true;
                             objDonthuoc.TenDonthuoc = THU_VIEN_CHUNG.TaoTenDonthuoc(objLuotkham.MaLuotkham,
                                                                                        Utility.Int32Dbnull(
                                                                                            objLuotkham.IdBenhnhan,
                                                                                            -1));

                             objDonthuoc.Save();

                             KcbDangkyKcb objKCB = KcbDangkyKcb.FetchByID(objDonthuoc.IdKham);
                             if (objKCB != null)
                             {
                                 objKCB.DakeDonthuoc = 1;
                                 objKCB.IdBacsikham = objDonthuoc.IdBacsiChidinh;
                                 objKCB.IsNew = false;
                                 objKCB.Save();
                             }

                             if (!Utility.Byte2Bool(objDonthuoc.Noitru))
                                 CapnhatChandoan(_KcbChandoanKetluan);
                             p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                             decimal PtramBH = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0);
                             bool TUDONGDANHDAU_TRANGTHAISUDUNG = THU_VIEN_CHUNG.Laygiatrithamsohethong("KCB_TIEMCHUNG_TUDONGDANHDAU_TRANGTHAISUDUNG", "0", false) == "1";
                             foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                             {
                                 objDonthuocChitiet.IdKham = objDonthuoc.IdKham;
                                 objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                 objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                 objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                 objDonthuocChitiet.NgaySudung = objDonthuoc.NgayKedon;
                                 objDonthuocChitiet.DaDung=Utility.Bool2byte(TUDONGDANHDAU_TRANGTHAISUDUNG);
                                 ThemChitiet(objDonthuoc, objDonthuocChitiet, PtramBH, objLuotkham);
                                 //Tạo mới dòng dữ liệu tempt để kiểm tra tồn kho theo ngày
                                 TblKedonthuocTempt newItem = new TblKedonthuocTempt();
                                 newItem.IdChitietdonthuoc = objDonthuocChitiet.IdChitietdonthuoc;
                                 newItem.IdDonthuoc = objDonthuocChitiet.IdDonthuoc;
                                 newItem.IdKho =Utility.Int32Dbnull( objDonthuocChitiet.IdKho,-1);
                                 newItem.IdThuoc = objDonthuocChitiet.IdThuoc;
                                 newItem.IdThuockho =Utility.Int64Dbnull( objDonthuocChitiet.IdThuockho,-1);
                                 newItem.NgayKedon = objDonthuoc.NgayKedon;
                                 newItem.SoLuong = objDonthuocChitiet.SoLuong;
                                 newItem.TrangThai = Utility.ByteDbnull(objDonthuocChitiet.TrangThai, 0);
                                 newItem.IsNew = true;
                                 newItem.Save();
                                 if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                     lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                             }

                         }

                     }
                     scope.Complete();
                     return ActionResult.Success;
                 }
             }
             catch (Exception exception)
             {

                 log.Error("Loi trong qua trinh luu don thuoc {0}", exception);
                 return ActionResult.Error;
             }
        }
Esempio n. 14
0
        public ActionResult SaoChepDonThuocTheoPhieuDieuTriFullTransaction(KcbDonthuoc objDonthuoc, NoitruPhieudieutri objTreatment, KcbDonthuocChitiet[] arrChitietdonthuoc)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var dbscope = new SharedDbConnectionScope())
                    {
                        objDonthuoc.IdPhieudieutri    = objTreatment.IdPhieudieutri;
                        objDonthuoc.IdDonthuocthaythe = -1;
                        objDonthuoc.IdKham            = objTreatment.IdPhieudieutri;
                        objDonthuoc.IdBacsiChidinh    = objTreatment.IdBacsi;
                        objDonthuoc.NgaySua           = null;
                        objDonthuoc.NguoiSua          = null;
                        objDonthuoc.NgayKedon         = Convert.ToDateTime(objTreatment.NgayDieutri);
                        objDonthuoc.Noitru            = 1;
                        NoitruPhanbuonggiuong objPatientDept = NoitruPhanbuonggiuong.FetchByID(objTreatment.IdBuongGiuong);
                        if (objPatientDept != null)
                        {
                            objDonthuoc.IdKhoadieutri  = Utility.Int16Dbnull(objPatientDept.IdKhoanoitru);
                            objDonthuoc.IdBuongNoitru  = Utility.Int16Dbnull(objPatientDept.IdBuong);
                            objDonthuoc.IdGiuongNoitru = Utility.Int16Dbnull(objPatientDept.IdGiuong);
                        }
                        objDonthuoc.NgayXacnhan        = null;
                        objDonthuoc.NgayCapphat        = null;
                        objDonthuoc.TrangThai          = 0;
                        objDonthuoc.TrangthaiThanhtoan = 0;
                        objDonthuoc.KieuDonthuoc       = 0;
                        objDonthuoc.MaKhoaThuchien     = globalVariables.MA_KHOA_THIEN;
                        //objDonthuoc.IdBacsiChidinh = globalVariables.gv_intIDNhanvien;
                        objDonthuoc.MotaThem  = "Sao chép";
                        objDonthuoc.NguoiTao  = globalVariables.UserName;
                        objDonthuoc.NgayTao   = globalVariables.SysDate;
                        objDonthuoc.IpMaytao  = globalVariables.gv_strIPAddress;
                        objDonthuoc.TenMaytao = globalVariables.gv_strComputerName;
                        objDonthuoc.IsNew     = true;
                        objDonthuoc.Save();
                        foreach (var objChitietdonthuoc in arrChitietdonthuoc)
                        {
                            KcbDonthuocChitiet newItem = KcbDonthuocChitiet.FetchByID(objChitietdonthuoc.IdChitietdonthuoc);
                            newItem.IdKham = objTreatment.IdPhieudieutri;

                            newItem.SoluongHuy         = 0;
                            newItem.NgayHuy            = null;
                            newItem.TrangthaiHuy       = 0;
                            newItem.NguoiHuy           = null;
                            newItem.TrangThai          = 0;
                            newItem.SluongLinh         = 0;
                            newItem.SluongSua          = 0;
                            newItem.NgayXacnhan        = null;
                            newItem.IdThanhtoan        = -1;
                            newItem.TrangthaiThanhtoan = 0;
                            newItem.TrangthaiTonghop   = 0;
                            newItem.NgayThanhtoan      = null;
                            newItem.TrangthaiChuyen    = 0;

                            newItem.NgaySua       = null;
                            newItem.NguoiSua      = null;
                            newItem.TileChietkhau = 0;
                            newItem.TienChietkhau = 0;
                            newItem.IdGoi         = -1;
                            newItem.TrongGoi      = 0;



                            newItem.IdDonthuoc = Utility.Int32Dbnull(objDonthuoc.IdDonthuoc);

                            newItem.NguoiTao  = globalVariables.UserName;
                            newItem.NgayTao   = globalVariables.SysDate;
                            newItem.IpMaytao  = globalVariables.gv_strIPAddress;
                            newItem.TenMaytao = globalVariables.gv_strComputerName;

                            newItem.IsNew = true;
                            newItem.Save();
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                return(ActionResult.Error);
            }
        }
Esempio n. 15
0
        /// <summary>
        /// HÀM THỰC HIỆN VIECJ CHO PHÉP CẬP NHẬP ĐƠN THUỐC
        /// </summary>
        /// <returns></returns>
        public ActionResult LinhThuocBenhNhan(KcbDonthuoc objDonthuoc,KcbDonthuocChitiet []arrPresDetails, TPhieuXuatthuocBenhnhan objXuatBnhan)
        {
            try
            {
                HisDuocProperties hisDuocProperties=new HisDuocProperties();
                using (var scope = new TransactionScope())
                {
                    using (var dbScope = new SharedDbConnectionScope())
                    {
                        hisDuocProperties = PropertyLib._HisDuocProperties;
                        objXuatBnhan.IdBenhnhan = objDonthuoc.IdBenhnhan;
                        objXuatBnhan.MaLuotkham = objDonthuoc.MaLuotkham;
                        objXuatBnhan.MaPhieu = THU_VIEN_CHUNG.MaPhieuXuatBN();
                        objXuatBnhan.Noitru = Utility.ByteDbnull(objDonthuoc.Noitru);
                        objXuatBnhan.TenKhongdau = Utility.UnSignedCharacter(objXuatBnhan.TenBenhnhan);
                        objXuatBnhan.IdDonthuoc = Utility.Int32Dbnull(objDonthuoc.IdDonthuoc);
                        objXuatBnhan.IsNew = true;
                        objXuatBnhan.Save();
                        Int32 PtramBHYT = 0;
                        SqlQuery sqlQuery = new Select().From(KcbLuotkham.Schema).Where(
                            KcbLuotkham.Columns.MaLuotkham).IsEqualTo(objDonthuoc.MaLuotkham)
                            .And(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(objDonthuoc.IdBenhnhan);
                        KcbLuotkham objLuotkham = sqlQuery.ExecuteSingle<KcbLuotkham>();
                        if(objLuotkham!=null)
                        {
                            PtramBHYT = Utility.Int32Dbnull(objLuotkham.PtramBhyt);
                        }
                        foreach (KcbDonthuocChitiet objDetail in arrPresDetails)
                        {
                            ActionResult actionResult = TruThuocTrongKho(objDonthuoc,objDetail, objXuatBnhan);
                            switch (actionResult)
                            {
                                case ActionResult.NotEnoughDrugInStock:
                                    return actionResult;
                                    break;
                            }
                            //REM lại để tránh trường hợp vi phạm phần nội trú. Đơn thuốc được cấp phát nhiều lần
                            //new Delete().From(TXuatthuocTheodon.Schema)
                            //    .Where(TXuatthuocTheodon.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc).Execute();
                            TXuatthuocTheodon objThuocCt=new TXuatthuocTheodon();
                            objThuocCt.IdPhieuXuat = Utility.Int32Dbnull(objXuatBnhan.IdPhieu);
                            objThuocCt.IdThuoc = Utility.Int32Dbnull(objDetail.IdThuoc);
                            objThuocCt.NgayTao = globalVariables.SysDate;
                            objThuocCt.SoLuong = Utility.Int32Dbnull(objDetail.SoLuong);
                            objThuocCt.NguoiTao = globalVariables.UserName;
                            objThuocCt.PhuThu = Utility.DecimaltoDbnull(objDetail.PhuThu);
                            objThuocCt.DonGia = Utility.DecimaltoDbnull(objDetail.DonGia);

                          //  objThuocCt.gi = Utility.DecimaltoDbnull(objDetail.DonGia);
                            objThuocCt.BnhanChitra = Utility.DecimaltoDbnull(objDetail.BnhanChitra);
                            objThuocCt.BhytChitra = Utility.DecimaltoDbnull(objDetail.BhytChitra);
                            objThuocCt.ChiDan = Utility.sDbnull(objDetail.MotaThem);
                            objThuocCt.ChidanThem = Utility.sDbnull(objDetail.ChidanThem);
                            objThuocCt.SolanDung = Utility.sDbnull(objDetail.SolanDung);
                            objThuocCt.SoluongDung = Utility.sDbnull(objDetail.SoluongDung);
                            objThuocCt.CachDung = Utility.sDbnull(objDetail.CachDung);
                            objThuocCt.PtramBhyt = PtramBHYT;
                            objThuocCt.IdChitietdonthuoc = Utility.Int32Dbnull(objDetail.IdChitietdonthuoc);
                            objThuocCt.IdDonthuoc = Utility.Int32Dbnull(objDetail.IdDonthuoc);
                           // objThuocCt.LoaiDonThuoc = 0;
                            objThuocCt.IsNew = true;
                            objThuocCt.Save();
                        }
                        sqlQuery = new Select().From(KcbDonthuocChitiet.Schema)
                            .Where(KcbDonthuocChitiet.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc)
                            .And(KcbDonthuocChitiet.Columns.TrangThai).IsEqualTo(0);
                        int status = sqlQuery.GetRecordCount()<=0?1:0;
                        new Update(KcbDonthuoc.Schema)
                                  .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
                                  .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
                                  .Set(KcbDonthuoc.Columns.TrangThai).EqualTo(status)
                                  .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();
                    }
                    scope.Complete();
                    return ActionResult.Success;
                }
            }
            catch (Exception exception)
            {
                log.Error("loi trong qua trinh cap don thuoc {0}", exception);
                return ActionResult.Error;
            }
        }
Esempio n. 16
0
        public ActionResult HuyXacNhanDonThuocBN_Tutruc(KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDetails)
        {
            try
            {
                using (var Scope = new TransactionScope())
                {
                    using (var dbScope = new SharedDbConnectionScope())
                    {
                        HisDuocProperties objHisDuocProperties = new HisDuocProperties();
                        // if(objHisDuocProperties.KieuDuyetDonThuoc=="DONTHUOC")id_kho=Utility.Int32Dbnull(objDonthuoc.IdKho)
                        objHisDuocProperties = PropertyLib._HisDuocProperties;
                        int id_thuockho = -1;
                        foreach (KcbDonthuocChitiet objDetail in arrDetails)
                        {
                            SqlQuery sqlQuery = new Select().From(TPhieuXuatthuocBenhnhanChitiet.Schema)
                                .Where(TPhieuXuatthuocBenhnhanChitiet.Columns.IdPhieuChitiet).IsEqualTo(objDetail.IdChitietdonthuoc);
                            TPhieuXuatthuocBenhnhanChitietCollection objXuatBnhanCtCollection =
                                sqlQuery.ExecuteAsCollection<TPhieuXuatthuocBenhnhanChitietCollection>();
                            foreach (TPhieuXuatthuocBenhnhanChitiet PhieuXuatBnhanCt in objXuatBnhanCtCollection)
                            {
                                StoredProcedure sp = SPs.ThuocNhapkhoOutput(PhieuXuatBnhanCt.NgayHethan, PhieuXuatBnhanCt.DonGia, PhieuXuatBnhanCt.GiaBan,
                                                                 PhieuXuatBnhanCt.SoLuong, Utility.DecimaltoDbnull(PhieuXuatBnhanCt.Vat),
                                                                 PhieuXuatBnhanCt.IdThuoc, PhieuXuatBnhanCt.IdKho, PhieuXuatBnhanCt.MaNhacungcap,
                                                                 PhieuXuatBnhanCt.SoLo, PhieuXuatBnhanCt.SoDky, PhieuXuatBnhanCt.SoQdinhthau, -1, id_thuockho,
                                                                 objDonthuoc.NgayXacnhan, PhieuXuatBnhanCt.GiaBhyt,
                                                                 PhieuXuatBnhanCt.PhuthuDungtuyen, PhieuXuatBnhanCt.PhuthuTraituyen, objDonthuoc.KieuThuocvattu);

                                sp.Execute();
                                ///xóa thông tin bảng chi tiết
                                new Delete().From(TPhieuXuatthuocBenhnhanChitiet.Schema)
                                    .Where(TPhieuXuatthuocBenhnhanChitiet.Columns.IdPhieuChitiet).IsEqualTo(Utility.Int32Dbnull(PhieuXuatBnhanCt.IdPhieuChitiet))
                                    .Execute();

                                new Delete().From(TBiendongThuoc.Schema)
                                    .Where(TBiendongThuoc.Columns.IdPhieuChitiet).IsEqualTo(Utility.Int32Dbnull(PhieuXuatBnhanCt.IdPhieuChitiet))
                                    .And(TBiendongThuoc.Columns.MaLoaiphieu).IsEqualTo(3).Execute();

                                sqlQuery = new Select().From(TPhieuXuatthuocBenhnhanChitiet.Schema)
                                    .Where(TPhieuXuatthuocBenhnhanChitiet.Columns.IdPhieu).IsEqualTo(
                                        PhieuXuatBnhanCt.IdPhieu);
                                if (sqlQuery.GetRecordCount() <= 0)
                                {
                                    TPhieuXuatthuocBenhnhan.Delete(PhieuXuatBnhanCt.IdPhieu);
                                }
                            }
                            new Delete().From(TXuatthuocTheodon.Schema)
                                .Where(TXuatthuocTheodon.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc).Execute();
                            new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.Columns.TrangThai).EqualTo(0)
                                .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc).
                                Execute();

                        }
                        SqlQuery sqlQuery1 = new Select().From(KcbDonthuocChitiet.Schema)
                              .Where(KcbDonthuocChitiet.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc)
                              .And(KcbDonthuocChitiet.Columns.TrangThai).IsEqualTo(0);
                        int status = sqlQuery1.GetRecordCount() <= 0 ? 1 : 0;
                        new Update(KcbDonthuoc.Schema)
                                  .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
                                  .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
                                  .Set(KcbDonthuoc.Columns.TrangThai).EqualTo(status)
                                  .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();

                    }
                    Scope.Complete();
                    return ActionResult.Success;
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh xac nhan don thuoc :{0}", exception);
                return ActionResult.Error;

            }
        }
Esempio n. 17
0
        /// <summary>
        /// hàm thực hiện việc xuất thôn gtin bảng chi tiết của bệnh nhân
        /// </summary>
        /// <param name="objDetail"></param>
        /// <param name="objTThuockho"></param>
        /// <param name="iSoLuongDonThuoc"></param>
        /// <param name="objPhieuXuatBnhan"></param>
        private void UpdateXuatChiTietBN(KcbDonthuoc objDonthuoc, KcbDonthuocChitiet objDetail, TThuockho objTThuockho, int iSoLuonTru, TPhieuXuatthuocBenhnhan objPhieuXuatBnhan)
        {
            using (var scope = new TransactionScope())
            {
                TPhieuXuatthuocBenhnhanChitiet objXuatBnhanCt = new TPhieuXuatthuocBenhnhanChitiet();
                objXuatBnhanCt.IdPhieu = Utility.Int32Dbnull(objPhieuXuatBnhan.IdPhieu);
                objXuatBnhanCt.SoLuong = iSoLuonTru;

                objXuatBnhanCt.ChiDan = objDetail.MotaThem;
                objXuatBnhanCt.IdThuoc = Utility.Int32Dbnull(objDetail.IdThuoc);
                objXuatBnhanCt.NgayHethan = objDetail.NgayHethan;// objTThuockho.NgayHethan.Date;
                objXuatBnhanCt.IdThuockho = objDetail.IdThuockho;
                objXuatBnhanCt.SoLo = objDetail.SoLo;
                objXuatBnhanCt.MaNhacungcap = objDetail.MaNhacungcap;
                objXuatBnhanCt.Vat = (int)objDetail.Vat;
                objXuatBnhanCt.DonGia = Utility.DecimaltoDbnull(objDetail.DonGia);//đơn giá cho bệnh nhân
                objXuatBnhanCt.Vat = Utility.Int32Dbnull(objDetail.Vat);
                objXuatBnhanCt.GiaBan = Utility.DecimaltoDbnull(objDetail.GiaBan);//giá bán
                objXuatBnhanCt.GiaNhap = Utility.DecimaltoDbnull(objDetail.GiaNhap);//giá nhập
                objXuatBnhanCt.GiaBhyt = Utility.DecimaltoDbnull(objDetail.GiaBhyt);//giá BHYT

                objXuatBnhanCt.PhuthuTraituyen = objDetail.PhuthuTraituyen;
                objXuatBnhanCt.PhuthuDungtuyen = objDetail.PhuthuDungtuyen;

                objXuatBnhanCt.IdKho = Utility.Int16Dbnull(objDetail.IdKho);
                objXuatBnhanCt.IdChitietdonthuoc = Utility.Int32Dbnull(objDetail.IdChitietdonthuoc);

                objXuatBnhanCt.NgayNhap = objTThuockho.NgayNhap;
                objXuatBnhanCt.IsNew = true;
                objXuatBnhanCt.Save();
                TBiendongThuoc objNhapXuat = new TBiendongThuoc();
                objNhapXuat.NgayHethan = objDetail.NgayHethan;// objTThuockho.NgayHethan.Date;
                objNhapXuat.IdThuockho = objDetail.IdThuockho;
                objNhapXuat.SoDky = objDetail.SoDky;
                objNhapXuat.SoQdinhthau = objDetail.SoQdinhthau;
                objNhapXuat.SoLo = objDetail.SoLo;
                objNhapXuat.MaNhacungcap = objDetail.MaNhacungcap;

                objNhapXuat.QuayThuoc = objPhieuXuatBnhan.QuayThuoc;
                objNhapXuat.MaPhieu = Utility.sDbnull(objPhieuXuatBnhan.MaPhieu);
                objNhapXuat.Noitru = objPhieuXuatBnhan.Noitru;
                objNhapXuat.NgayHoadon = objDonthuoc.NgayKedon;
                objNhapXuat.NgayBiendong = objPhieuXuatBnhan.NgayXacnhan;
                objNhapXuat.NgayTao = globalVariables.SysDate;
                objNhapXuat.NguoiTao = globalVariables.UserName;
                objNhapXuat.SoLuong = Utility.Int32Dbnull(objXuatBnhanCt.SoLuong);
                objNhapXuat.Vat = Utility.Int32Dbnull(objXuatBnhanCt.Vat);
                objNhapXuat.DonGia = Utility.DecimaltoDbnull(objXuatBnhanCt.DonGia);
                objNhapXuat.GiaBan = Utility.DecimaltoDbnull(objXuatBnhanCt.GiaBan);
                objNhapXuat.GiaNhap = Utility.DecimaltoDbnull(objXuatBnhanCt.GiaNhap);
                objNhapXuat.GiaBhyt = Utility.DecimaltoDbnull(objXuatBnhanCt.GiaBhyt);//giá BHYT
                objNhapXuat.PhuThu = objDetail.PhuThu;
                objNhapXuat.SoHoadon = "-1";
                objNhapXuat.IdThuoc = Utility.Int32Dbnull(objXuatBnhanCt.IdThuoc);
                objNhapXuat.IdPhieu = Utility.Int32Dbnull(objPhieuXuatBnhan.IdPhieu);
                objNhapXuat.IdPhieuChitiet = Utility.Int32Dbnull(objXuatBnhanCt.IdPhieuChitiet);
                objNhapXuat.IdNhanvien = globalVariables.gv_intIDNhanvien;
                objNhapXuat.NgayNhap = objTThuockho.NgayNhap;
                objNhapXuat.KieuThuocvattu = objPhieuXuatBnhan.KieuThuocvattu;
                objNhapXuat.IdBenhnhan = objDetail.IdBenhnhan;
                objNhapXuat.MaLuotkham = objDetail.MaLuotkham;
                objNhapXuat.IdDoituongKcb = objPhieuXuatBnhan.IdDoituongKcb;

                objNhapXuat.GiaPhuthuTraituyen = objDetail.PhuthuTraituyen;
                objNhapXuat.GiaPhuthuDungtuyen = objDetail.PhuthuDungtuyen;

                objNhapXuat.MaNhacungcap = objXuatBnhanCt.MaNhacungcap;
                objNhapXuat.IdKho = Utility.Int16Dbnull(objPhieuXuatBnhan.IdKho);
                objNhapXuat.MaPhieu = Utility.sDbnull(objPhieuXuatBnhan.MaPhieu);
                objNhapXuat.MaLoaiphieu = Utility.ByteDbnull(objPhieuXuatBnhan.LoaiPhieu);
                objNhapXuat.TenLoaiphieu = Utility.TenLoaiPhieu((LoaiPhieu)objPhieuXuatBnhan.LoaiPhieu);
                objNhapXuat.IdKhoaLinh = objPhieuXuatBnhan.IdKhoaChidinh;
                objNhapXuat.KieuThuocvattu = objDonthuoc.KieuThuocvattu;
                objNhapXuat.ThanhTien = Utility.DecimaltoDbnull(objXuatBnhanCt.DonGia) *
                                        Utility.Int32Dbnull(objXuatBnhanCt.SoLuong);
                objNhapXuat.IsNew = true;
                objNhapXuat.Save();
                scope.Complete();
            }
        }
Esempio n. 18
0
 /// <summary>
 /// hàm thực hiện việc cập nhập trạng thái của đơn thuốc
 /// </summary>
 /// <param name="objDonthuoc"></param>
 private void UpdateTrangThaiDonThuoc(KcbDonthuoc objDonthuoc)
 {
     using (var scope = new TransactionScope())
     {
         new Update(KcbDonthuoc.Schema)
             .Set(KcbDonthuoc.Columns.TrangThai).EqualTo(0)
             .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();
         new Update(KcbDonthuocChitiet.Schema)
             .Set(KcbDonthuocChitiet.Columns.TrangThai).EqualTo(1)
             .Where(KcbDonthuocChitiet.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();
         scope.Complete();
     }
 }
Esempio n. 19
0
        private ActionResult TruThuocTrongTuTruc(KcbDonthuoc objDonthuoc ,KcbDonthuocChitiet objDetail, TPhieuXuatthuocBenhnhan objPhieuXuatBnhan)
        {
            HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties;
            string errorMessage = "";
            try
            {
                using (var scope = new TransactionScope())
                {
                    int TONGSOLUONG_LINH = 0;
                    int SOLUONG_LINH = 0;
                    TONGSOLUONG_LINH = objDetail.SluongLinh == null ? 0 : objDetail.SluongLinh.Value;
                    if (objDetail.SluongLinh.Value <= 0)//Cấp phát lần đầu
                        SOLUONG_LINH = objDetail.SoLuong;
                    else//Cấp phát lần n...
                    {
                        if (objDetail.SluongSua.Value > objDetail.SluongLinh.Value)
                            SOLUONG_LINH = objDetail.SluongSua.Value - objDetail.SluongLinh.Value;
                    }

                    TONGSOLUONG_LINH += SOLUONG_LINH;
                    //Đã xác định xong số thuốc cần lĩnh đợt này-->Kiểm tra xem còn đủ hay không
                    List<TThuockho> objThuocKhoCollection = GetObjThuocKhoCollection_Tutruc(objDetail, objPhieuXuatBnhan.IdKho.Value);
                    int iSoLuongConLai = 0;
                    int iSoLuongDonThuoc = 0;
                    int iSoLuongTru = 0;
                    iSoLuongDonThuoc = SOLUONG_LINH;
                    if (objThuocKhoCollection.Sum(c => c.SoLuong) < iSoLuongDonThuoc) return ActionResult.NotEnoughDrugInStock;
                    foreach (TThuockho objTThuockho in objThuocKhoCollection)
                    {
                        iSoLuongConLai = Utility.Int32Dbnull(objTThuockho.SoLuong);
                        ///nếu trưởng hợp số lượng thuốc trong đơn nhỏ hơn số lượng có trong kho thì trừ thẳng luôn
                        if (iSoLuongConLai >= iSoLuongDonThuoc)
                        {
                            iSoLuongTru = iSoLuongConLai - iSoLuongDonThuoc;
                            UpdateXuatChiTietBN(objDonthuoc,objDetail, objTThuockho, iSoLuongDonThuoc, objPhieuXuatBnhan);
                            StoredProcedure sp = SPs.ThuocXuatkho(Utility.Int32Dbnull(objTThuockho.IdKho),
                                                                          Utility.Int32Dbnull(objTThuockho.IdThuoc, -1),
                                                                          objTThuockho.NgayHethan, objTThuockho.GiaNhap, Utility.DecimaltoDbnull(objTThuockho.GiaBan),
                                                                          Utility.DecimaltoDbnull(objTThuockho.Vat), iSoLuongDonThuoc, objTThuockho.IdThuockho, objTThuockho.MaNhacungcap, objTThuockho.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage);

                            sp.Execute();
                            break;

                        }
                        else
                        {
                            iSoLuongTru = iSoLuongDonThuoc - iSoLuongConLai;
                            iSoLuongDonThuoc = iSoLuongTru;
                            UpdateXuatChiTietBN(objDonthuoc,objDetail, objTThuockho, iSoLuongConLai, objPhieuXuatBnhan);
                            StoredProcedure sp = SPs.ThuocXuatkho(Utility.Int32Dbnull(objTThuockho.IdKho),
                                                                          Utility.Int32Dbnull(objTThuockho.IdThuoc, -1),
                                                                          objTThuockho.NgayHethan, objTThuockho.GiaNhap, Utility.DecimaltoDbnull(objTThuockho.GiaBan),
                                                                          Utility.DecimaltoDbnull(objTThuockho.Vat), iSoLuongConLai, objTThuockho.IdThuockho, objTThuockho.MaNhacungcap, objTThuockho.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage);

                            sp.Execute();
                        }

                    }
                    new Update(KcbDonthuocChitiet.Schema)
                        .Set(KcbDonthuocChitiet.Columns.TrangThai).EqualTo(1)
                        .Set(KcbDonthuocChitiet.Columns.SluongLinh).EqualTo(TONGSOLUONG_LINH)
                        .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc).Execute();
                    scope.Complete();
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi ban ra tu sp :{0}", errorMessage);
                log.Error("loi trong qua trinh tru thuoc trong kho :{0}", exception.ToString());
            }
            return ActionResult.Success;
        }
Esempio n. 20
0
        private ActionResult TruThuocTrongKho_Noitru(KcbDonthuoc objDonthuoc, TPhieuCapphatChitiet objCapphatDetail, KcbDonthuocChitiet objDetail, TPhieuXuatthuocBenhnhan objPhieuXuatBnhan, int ID_KHO_XUAT, DateTime ngaythuchien)
        {
            string errorMessage = "";
            try
            {
                using (var scope = new TransactionScope())
                {
                    TThuockho objTThuockho = new Select().From(TThuockho.Schema)
                                   .Where(TThuockho.IdThuockhoColumn).IsEqualTo(objDetail.IdThuockho)
                                   .ExecuteSingle<TThuockho>();
                    //Kiểm tra xem thuốc còn đủ hay không?
                    if (objTThuockho.SoLuong < objCapphatDetail.SoLuong)
                    {
                        //Sau này có thể mở rộng thêm code tự động dò và xác định lại Id_thuockho cho các chi tiết đơn thuốc
                        return ActionResult.NotEnoughDrugInStock;
                    }

                    int TONGSOLUONG_LINH = 0;
                    int SOLUONG_LINH = objCapphatDetail.SoLuong;
                    TONGSOLUONG_LINH = objDetail.SluongLinh == null ? 0 : objDetail.SluongLinh.Value;
                    //Tạm REM lại
                    //if (objDetail.SluongLinh.Value <= 0)//Cấp phát lần đầu
                    //    SOLUONG_LINH = objDetail.Quantity;
                    //else//Cấp phát lần n...
                    //{
                    //    if (objDetail.SluongSua.Value > objDetail.SluongLinh.Value)
                    //        SOLUONG_LINH = objDetail.SluongSua.Value - objDetail.SluongLinh.Value;
                    //}

                    TONGSOLUONG_LINH += SOLUONG_LINH;
                    //Đã xác định xong số thuốc cần lĩnh đợt này-->Kiểm tra xem còn đủ hay không
                    List<TThuockho> objThuocKhoCollection = new List<TThuockho>();//Tạm rem lại 20150127 GetObjThuocKhoCollection_Noitru(objCapphatDetail, ID_KHO_XUAT);
                    objThuocKhoCollection.Add(objTThuockho);
                    int iSoLuongConLai = 0;
                    int iSoLuongDonThuoc = 0;
                    int iSoLuongTru = 0;
                    iSoLuongDonThuoc = SOLUONG_LINH;
                    if (objThuocKhoCollection.Sum(c => c.SoLuong) < iSoLuongDonThuoc) return ActionResult.NotEnoughDrugInStock;
                    foreach (TThuockho objDThuocKho in objThuocKhoCollection)
                    {
                        string ErrMsg = "";
                        iSoLuongConLai = Utility.Int32Dbnull(objDThuocKho.SoLuong);
                        ///nếu trưởng hợp số lượng thuốc trong đơn nhỏ hơn số lượng có trong kho thì trừ thẳng luôn
                        if (iSoLuongConLai >= iSoLuongDonThuoc)
                        {
                            iSoLuongTru = iSoLuongConLai - iSoLuongDonThuoc;
                            UpdateXuatChiTietBN(objDonthuoc,objDetail, objDThuocKho, iSoLuongDonThuoc, objPhieuXuatBnhan);
                            StoredProcedure sp = SPs.ThuocXuatkho(Utility.Int32Dbnull(objDThuocKho.IdKho),
                                                                          Utility.Int32Dbnull(objDThuocKho.IdThuoc, -1),
                                                                          objDThuocKho.NgayHethan, objDetail.GiaNhap, Utility.DecimaltoDbnull(objDetail.GiaBan),
                                                                          Utility.DecimaltoDbnull(objTThuockho.Vat), iSoLuongDonThuoc, objTThuockho.IdThuockho, objTThuockho.MaNhacungcap, objTThuockho.SoLo, PropertyLib._HisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, ErrMsg);

                            sp.Execute();
                            break;
                        }
                        else
                        {
                            iSoLuongTru = iSoLuongDonThuoc - iSoLuongConLai;
                            iSoLuongDonThuoc = iSoLuongTru;
                            UpdateXuatChiTietBN(objDonthuoc,objDetail, objDThuocKho, iSoLuongConLai, objPhieuXuatBnhan);
                            StoredProcedure sp = SPs.ThuocXuatkho(Utility.Int32Dbnull(objDThuocKho.IdKho),
                                                                          Utility.Int32Dbnull(objDThuocKho.IdThuoc, -1),
                                                                          objDThuocKho.NgayHethan, objDetail.GiaNhap, Utility.DecimaltoDbnull(objDetail.GiaBan),
                                                                          Utility.DecimaltoDbnull(objTThuockho.Vat), iSoLuongConLai, objTThuockho.IdThuockho, objTThuockho.MaNhacungcap, objTThuockho.SoLo, PropertyLib._HisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, ErrMsg);
                            sp.Execute();
                        }
                    }
                    new Update(KcbDonthuocChitiet.Schema)
                        .Set(KcbDonthuocChitiet.Columns.TrangThai).EqualTo(1)
                        .Set(KcbDonthuocChitiet.Columns.IdThuockho).EqualTo(objTThuockho.IdThuockho)
                        .Set(KcbDonthuocChitiet.Columns.IdKho).EqualTo(ID_KHO_XUAT)
                         .Set(KcbDonthuocChitiet.Columns.NgayXacnhan).EqualTo(ngaythuchien)
                        .Set(KcbDonthuocChitiet.Columns.SluongLinh).EqualTo(TONGSOLUONG_LINH)
                        .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc).Execute();
                    scope.Complete();
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi ban ra tu sp :{0}", errorMessage);
                log.Error("loi trong qua trinh tru thuoc trong kho :{0}", exception.ToString());
            }
            return ActionResult.Success;
        }
Esempio n. 21
0
        public ActionResult CapnhatDonthuoc(KcbLuotkham objLuotkham, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, KcbChandoanKetluan _KcbChandoanKetluan, ref int p_intIdDonthuoc, ref Dictionary <long, long> lstChitietDonthuoc)
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                    {
                        //KcbDonthuoc objDonthuoc = KcbDonthuoc.FetchByID(objDonthuoc.IdDonthuoc);
                        p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                        new Update(KcbDonthuoc.Schema)
                        .Set(KcbDonthuoc.Columns.TaiKham).EqualTo(objDonthuoc.TaiKham)
                        .Set(KcbDonthuoc.Columns.NgayTaikham).EqualTo(objDonthuoc.NgayTaikham)
                        .Set(KcbDonthuoc.Columns.LoidanBacsi).EqualTo(objDonthuoc.LoidanBacsi)
                        .Set(KcbDonthuoc.Columns.IdPhongkham).EqualTo(objDonthuoc.IdPhongkham)
                        .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
                        .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
                        .Set(KcbDonthuoc.Columns.IpMaysua).EqualTo(objDonthuoc.IpMaysua)
                        .Set(KcbDonthuoc.Columns.TenMaysua).EqualTo(objDonthuoc.TenMaysua)
                        .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();
                        if (Utility.Int32Dbnull(objDonthuoc.IdKham) > 0)
                        {
                            new Update(KcbDangkyKcb.Schema)
                            .Set(KcbDangkyKcb.Columns.IdBacsikham).EqualTo(globalVariables.gv_intIDNhanvien)
                            .Where(KcbDangkyKcb.Columns.IdKham).IsEqualTo(objDonthuoc.IdKham).Execute();
                        }
                        decimal PtramBH = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0);

                        foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                        {
                            objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                        }
                        if (objLuotkham.TrangthaiNoitru <= 0)
                        {
                            CapnhatChandoan(_KcbChandoanKetluan);
                        }
                        foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                        {
                            if (objDonthuocChitiet.IdChitietdonthuoc == -1)
                            {
                                objDonthuocChitiet.IdKham     = objDonthuoc.IdKham;
                                objDonthuocChitiet.IsNew      = true;
                                objDonthuocChitiet.SluongLinh = 0;
                                objDonthuocChitiet.SluongSua  = 0;
                                objDonthuocChitiet.TrangThai  = 0;

                                objDonthuocChitiet.IdThanhtoan = -1;
                                objDonthuocChitiet.MaLuotkham  = objDonthuoc.MaLuotkham;
                                objDonthuocChitiet.IdBenhnhan  = objDonthuoc.IdBenhnhan;
                                objDonthuocChitiet.IdDonthuoc  = objDonthuoc.IdDonthuoc;
                                objDonthuocChitiet.CachDung    = objDonthuocChitiet.MotaThem;
                                ThemChitiet(objDonthuoc, objDonthuocChitiet, PtramBH, objLuotkham);
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                            }
                            else
                            {
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                                new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.SoLuongColumn).EqualTo(objDonthuocChitiet.SoLuong)
                                .Set(KcbDonthuocChitiet.NgaySuaColumn).EqualTo(objDonthuocChitiet.NgaySua)
                                .Set(KcbDonthuocChitiet.NguoiSuaColumn).EqualTo(objDonthuocChitiet.NguoiSua)
                                .Set(KcbDonthuocChitiet.Columns.IpMaysua).EqualTo(objDonthuocChitiet.IpMaysua)
                                .Set(KcbDonthuocChitiet.Columns.TenMaysua).EqualTo(objDonthuocChitiet.TenMaysua)
                                .Where(KcbDonthuocChitiet.IdChitietdonthuocColumn).IsEqualTo(objDonthuocChitiet.IdChitietdonthuoc).Execute();
                            }
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh luu don thuoc", exception);
                return(ActionResult.Error);
            }
        }
Esempio n. 22
0
 ActionResult Kiemtrasoluongthuoctrongkho(KcbDonthuoc pres, int ID_KHO)
 {
     KcbDonthuocChitietCollection lstPresdetail = new Select().From(KcbDonthuocChitiet.Schema).Where(KcbDonthuocChitiet.IdDonthuocColumn).IsEqualTo(pres.IdDonthuoc).ExecuteAsCollection<KcbDonthuocChitietCollection>();
     foreach (KcbDonthuocChitiet _presDetail in lstPresdetail)
     {
         int id_thuoc = _presDetail.IdThuoc;
         DmucThuoc _drug = new Select().From(DmucThuoc.Schema).Where(DmucThuoc.IdThuocColumn).IsEqualTo(id_thuoc).ExecuteSingle<DmucThuoc>();
         if (_drug == null) return ActionResult.UNKNOW;
         string Drug_name = _drug.TenThuoc;
         int so_luong = _presDetail.SoLuong;
         int SoLuongTon = CommonLoadDuoc.SoLuongTonTrongKho(_presDetail.IdDonthuoc, ID_KHO, id_thuoc, (int)_presDetail.IdThuockho.Value, 1, Utility.ByteDbnull(pres.Noitru, 0));
         if (SoLuongTon < so_luong)
         {
             Utility.ShowMsg(string.Format("Bạn không thể xác nhận đơn thuốc,Vì thuốc :{0} số lượng tồn hiện tại trong kho({1}) không đủ cấp cho số lượng yêu cầu({2})\n Mời bạn xem lại số lượng", Drug_name, SoLuongTon.ToString(), so_luong.ToString()));
             return ActionResult.NotEnoughDrugInStock;
         }
     }
     return ActionResult.Success;
 }
Esempio n. 23
0
        public ActionResult ThemDonThuoc(KcbLuotkham objLuotkham, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, KcbChandoanKetluan _KcbChandoanKetluan, ref long p_intIdDonthuoc, ref Dictionary <long, long> lstChitietDonthuoc)
        {
            // Query _Query = KcbDonthuoc.CreateQuery();
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                    {
                        if (objLuotkham != null)
                        {
                            log.Trace("4. Bat dau luu thuoc vao CSDL");
                            if (objDonthuoc.NgayKedon <= Convert.ToDateTime("01/01/1900"))
                            {
                                objDonthuoc.NgayKedon = globalVariables.SysDate;
                            }

                            objDonthuoc.IsNew       = true;
                            objDonthuoc.TenDonthuoc = THU_VIEN_CHUNG.TaoTenDonthuoc(objLuotkham.MaLuotkham,
                                                                                    Utility.Int32Dbnull(
                                                                                        objLuotkham.IdBenhnhan,
                                                                                        -1));
                            var sp = SPs.SpKcbThemmoiDonthuoc(objDonthuoc.IdDonthuoc, objDonthuoc.IdPhieudieutri, objDonthuoc.IdKhoadieutri, objDonthuoc.IdDonthuocthaythe, objDonthuoc.IdKham
                                                              , objDonthuoc.IdBenhnhan, objDonthuoc.MaLuotkham, objDonthuoc.NgayKedon, objDonthuoc.IdBacsiChidinh, objDonthuoc.TrangThai, objDonthuoc.TthaiTonghop
                                                              , objDonthuoc.TrangthaiThanhtoan, objDonthuoc.NgayThanhtoan, objDonthuoc.IdGoi, objDonthuoc.TrongGoi, objDonthuoc.NguoiTao, objDonthuoc.NgayTao
                                                              , objDonthuoc.MotaThem, objDonthuoc.TenDonthuoc, objDonthuoc.MaDoituongKcb, objDonthuoc.Noitru, objDonthuoc.KieuDonthuoc, objDonthuoc.IdPhongkham
                                                              , objDonthuoc.IdBuongGiuong, objDonthuoc.IdBuongNoitru, objDonthuoc.IdGiuongNoitru, objDonthuoc.LoidanBacsi, objDonthuoc.NgayTaikham
                                                              , objDonthuoc.TaiKham, objDonthuoc.MaKhoaThuchien, objDonthuoc.NgayCapphat, objDonthuoc.KieuThuocvattu, objDonthuoc.NgayChot
                                                              , objDonthuoc.IdChot, objDonthuoc.NgayHuychot, objDonthuoc.NguoiHuychot, objDonthuoc.LydoHuychot, objDonthuoc.NgayHuyxacnhan, objDonthuoc.NguoiHuyxacnhan
                                                              , objDonthuoc.LydoHuyxacnhan, objDonthuoc.NgayXacnhan, objDonthuoc.NguoiXacnhan, objDonthuoc.IdLichsuDoituongKcb, objDonthuoc.MatheBhyt
                                                              , objDonthuoc.IpMaytao, objDonthuoc.TenMaytao, objDonthuoc.LastActionName);
                            sp.Execute();
                            objDonthuoc.IdDonthuoc = Utility.Int64Dbnull(sp.OutputValues[0]);
                            log.Trace("4.1 Da luu don thuoc CSDL");
                            SPs.SpKcbCapnhatBacsiKham(objDonthuoc.IdKham, objDonthuoc.IdBacsiChidinh, 0).Execute();
                            log.Trace("4.2 Cap nhat bac si kham = BS ke don");

                            if (!Utility.Byte2Bool(objDonthuoc.Noitru))
                            {
                                CapnhatChandoan(_KcbChandoanKetluan);
                            }
                            log.Trace("4.3 Da luu chan doan ket luan");
                            p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                            decimal PtramBH = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0);
                            bool    TUDONGDANHDAU_TRANGTHAISUDUNG = THU_VIEN_CHUNG.Laygiatrithamsohethong("KCB_TIEMCHUNG_TUDONGDANHDAU_TRANGTHAISUDUNG", "0", false) == "1";
                            foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                            {
                                objDonthuocChitiet.IdKham     = objDonthuoc.IdKham;
                                objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                objDonthuocChitiet.NgaySudung = objDonthuoc.NgayKedon;
                                objDonthuocChitiet.DaDung     = Utility.Bool2byte(TUDONGDANHDAU_TRANGTHAISUDUNG);
                                ThemChitiet(objDonthuoc, objDonthuocChitiet, PtramBH, objLuotkham);
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                            }
                            log.Trace("4.4 Da luu xong chi tiet don thuoc");
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh luu don thuoc {0}", exception);
                return(ActionResult.Error);
            }
        }
 public bool Delete(object IdDonthuoc)
 {
     return(KcbDonthuoc.Delete(IdDonthuoc) == 1);
 }
Esempio n. 25
0
        public ActionResult CapnhatDonthuoc(KcbLuotkham objLuotkham, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, KcbChandoanKetluan _KcbChandoanKetluan, ref long p_intIdDonthuoc, ref Dictionary <long, long> lstChitietDonthuoc)
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                    {
                        log.Trace("4. Bat dau cap nhat don thuoc");
                        p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                        SPs.SpKcbCapnhatDonthuoc(objDonthuoc.IdDonthuoc, globalVariables.UserName, globalVariables.SysDate, objDonthuoc.LoidanBacsi,
                                                 objDonthuoc.NgayTaikham, objDonthuoc.TaiKham, objDonthuoc.IpMaysua, objDonthuoc.TenMaysua).Execute();
                        log.Trace("4.1 Da cap nhat don thuoc");
                        if (Utility.Int32Dbnull(objDonthuoc.IdKham) > 0)
                        {
                            SPs.SpKcbCapnhatBacsiKham(objDonthuoc.IdKham, objDonthuoc.IdBacsiChidinh, 0).Execute();
                            log.Trace("4.2 Da cap nhat BS kham=BS ke don");
                        }
                        decimal PtramBH = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0);

                        foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                        {
                            objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                        }
                        if (objLuotkham.TrangthaiNoitru <= 0)
                        {
                            CapnhatChandoan(_KcbChandoanKetluan);
                        }
                        log.Trace("4.3 Da cap nhat thong tin chan doan ket luan");
                        foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                        {
                            if (objDonthuocChitiet.IdChitietdonthuoc == -1)
                            {
                                objDonthuocChitiet.IdKham     = objDonthuoc.IdKham;
                                objDonthuocChitiet.IsNew      = true;
                                objDonthuocChitiet.SluongLinh = 0;
                                objDonthuocChitiet.SluongSua  = 0;
                                objDonthuocChitiet.TrangThai  = 0;

                                objDonthuocChitiet.IdThanhtoan = -1;
                                objDonthuocChitiet.MaLuotkham  = objDonthuoc.MaLuotkham;
                                objDonthuocChitiet.IdBenhnhan  = objDonthuoc.IdBenhnhan;
                                objDonthuocChitiet.IdDonthuoc  = objDonthuoc.IdDonthuoc;
                                objDonthuocChitiet.CachDung    = objDonthuocChitiet.MotaThem;
                                ThemChitiet(objDonthuoc, objDonthuocChitiet, PtramBH, objLuotkham);
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                            }
                            else
                            {
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                                SPs.SpKcbCapnhatChitietDonthuoc(objDonthuocChitiet.IdChitietdonthuoc, objDonthuocChitiet.SoLuong, objDonthuocChitiet.NgaySua
                                                                , objDonthuocChitiet.NguoiSua, objDonthuocChitiet.IpMaysua, objDonthuocChitiet.TenMaysua).Execute();
                            }
                        }
                        log.Trace("4.4 Da cap nhat xong chi tiet don thuoc");
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error(string.Format("Loi khi cap nhat don thuoc {0}", exception.Message));
                return(ActionResult.Error);
            }
        }
Esempio n. 26
0
        public ActionResult SaoChepPhieuDieuTri(NoitruPhieudieutri[] lstPhieudieutri, KcbLuotkham objLuotkham, KcbChidinhclsChitiet[] arrChidinhCLSChitiet, KcbDonthuocChitiet[] arrDonthuocChitiet)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var dbscope = new SharedDbConnectionScope())
                    {
                        foreach (NoitruPhieudieutri objTreatment in lstPhieudieutri)
                        {
                            objTreatment.NguoiTao      = globalVariables.UserName;
                            objTreatment.NgayTao       = DateTime.Now;
                            objTreatment.TthaiBosung   = 0;
                            objTreatment.IdBacsi       = globalVariables.gv_intIDNhanvien;
                            objTreatment.IdKhoanoitru  = objLuotkham.IdKhoanoitru;
                            objTreatment.MaLuotkham    = objLuotkham.MaLuotkham;
                            objTreatment.IdBenhnhan    = objTreatment.IdBenhnhan;
                            objTreatment.IdBuongGiuong = objLuotkham.IdRavien;
                            objTreatment.TrangThai     = 0;
                            objTreatment.TthaiIn       = 0;
                            objTreatment.IpMaytao      = globalVariables.gv_strIPAddress;
                            objTreatment.TenMaytao     = globalVariables.gv_strComputerName;
                            objTreatment.GioDieutri    = Utility.GetFormatDateTime(globalVariables.SysDate, "hh:mm:ss");
                            objTreatment.IsNew         = true;
                            objTreatment.Save();
                            if (arrChidinhCLSChitiet.Length > 0)
                            {
                                KcbChidinhcl objAssignInfo = new KcbChidinhcl();
                                objAssignInfo.IdDieutri      = objTreatment.IdPhieudieutri;
                                objAssignInfo.IdBuongGiuong  = objTreatment.IdBuongGiuong;
                                objAssignInfo.MaLuotkham     = objTreatment.MaLuotkham;
                                objAssignInfo.IdBenhnhan     = Utility.Int32Dbnull(objTreatment.IdBenhnhan);
                                objAssignInfo.IdBacsiChidinh = globalVariables.gv_intIDNhanvien;
                                objAssignInfo.Noitru         = 1;
                                objAssignInfo.IdKhoadieutri  = objTreatment.IdKhoanoitru;
                                objAssignInfo.IdKhoaChidinh  = objTreatment.IdKhoanoitru;
                                objAssignInfo.IdKham         = -1;
                                objAssignInfo.IdDoituongKcb  = objLuotkham.IdDoituongKcb;
                                objAssignInfo.IdPhongChidinh = objTreatment.IdKhoanoitru;
                                objAssignInfo.Barcode        = string.Empty;

                                objAssignInfo.NgayChidinh = objTreatment.NgayDieutri.Value;
                                objAssignInfo.NguoiTao    = globalVariables.UserName;
                                objAssignInfo.NgayTao     = globalVariables.SysDate;
                                objAssignInfo.IpMaytao    = globalVariables.gv_strIPAddress;
                                objAssignInfo.TenMaytao   = globalVariables.gv_strComputerName;

                                objAssignInfo.MaChidinh = THU_VIEN_CHUNG.SinhMaChidinhCLS();
                                objAssignInfo.IsNew     = true;
                                objAssignInfo.Save();
                                List <KcbChidinhclsChitiet> lstChidinhCLSChitiet = new List <KcbChidinhclsChitiet>();
                                foreach (KcbChidinhclsChitiet objAssignDetail in arrChidinhCLSChitiet)
                                {
                                    KcbChidinhclsChitiet objDetail = KcbChidinhclsChitiet.FetchByID(objAssignDetail.IdChitietchidinh);
                                    if (objDetail != null)
                                    {
                                        objDetail.IdChitietchidinh   = -1;
                                        objDetail.IdChidinh          = objAssignInfo.IdChidinh;
                                        objDetail.IdKham             = -1;
                                        objDetail.TrangthaiThanhtoan = 0;
                                        objDetail.NgayThanhtoan      = null;
                                        objDetail.TrangthaiHuy       = 0;
                                        objDetail.ImgPath1           = string.Empty;
                                        objDetail.ImgPath2           = string.Empty;
                                        objDetail.ImgPath3           = string.Empty;
                                        objDetail.ImgPath4           = string.Empty;
                                        objDetail.TrangThai          = 0;
                                        //objDetail.MotaThem = null;
                                        objDetail.TrangthaiBhyt   = 0;
                                        objDetail.IdThanhtoan     = -1;
                                        objDetail.IdKhoaThuchien  = (short)objAssignInfo.IdKhoadieutri;
                                        objDetail.IdPhongThuchien = objDetail.IdKhoaThuchien;
                                        objDetail.IdGoi           = -1;
                                        objDetail.IdBacsiThuchien = -1;
                                        objDetail.NgayThuchien    = null;
                                        objDetail.NguoiThuchien   = null;
                                        //objDetail.KetLuan = null;
                                        objDetail.KetQua = null;
                                        //objDetail.DeNghi = null;
                                        //objDetail.MaVungkhaosat = null;
                                        objDetail.NguoiTao  = globalVariables.UserName;
                                        objDetail.NgayTao   = globalVariables.SysDate;
                                        objDetail.IpMaytao  = globalVariables.gv_strIPAddress;
                                        objDetail.TenMaytao = globalVariables.gv_strComputerName;
                                        objDetail.IsNew     = true;
                                        lstChidinhCLSChitiet.Add(objDetail);
                                    }
                                    new KCB_CHIDINH_CANLAMSANG().InsertAssignDetail(objAssignInfo, objLuotkham, lstChidinhCLSChitiet.ToArray <KcbChidinhclsChitiet>());
                                }
                            }
                            if (arrDonthuocChitiet.Length > 0)
                            {
                                var query = (from donthuoc in arrDonthuocChitiet.AsEnumerable()
                                             let y = donthuoc.IdDonthuoc
                                                     select y).Distinct();
                                foreach (var pres_id in query.ToList())
                                {
                                    KcbDonthuoc objPresInfo = KcbDonthuoc.FetchByID(Utility.Int32Dbnull(pres_id));
                                    if (objPresInfo != null)
                                    {
                                        objPresInfo.Noitru = 1;
                                        List <KcbDonthuocChitiet> lstDonthuocchitiet = (from donthuoc in arrDonthuocChitiet.AsEnumerable()
                                                                                        where donthuoc.IdDonthuoc == pres_id
                                                                                        select donthuoc).ToList <KcbDonthuocChitiet>();
                                        SaoChepDonThuocTheoPhieuDieuTri(objPresInfo, objTreatment, lstDonthuocchitiet.ToArray <KcbDonthuocChitiet>());
                                    }
                                }
                            }
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                return(ActionResult.Error);
            }
        }
Esempio n. 27
0
        public ActionResult ThemDonThuoc(KcbDanhsachBenhnhan objBenhnhan,  KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, ref int p_intIdDonthuoc, ref Dictionary<long, long> lstChitietDonthuoc)
        {
            try
             {
                 using (TransactionScope scope = new TransactionScope())
                 {
                     using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                     {
                         objBenhnhan.Save();
                         if (objBenhnhan != null)
                         {
                             if (objDonthuoc.NgayKedon <= Convert.ToDateTime("01/01/1900"))
                                 objDonthuoc.NgayKedon = globalVariables.SysDate;
                             objDonthuoc.IdBenhnhan = objBenhnhan.IdBenhnhan;
                             objDonthuoc.MaLuotkham = "";
                             objDonthuoc.IdKham = -1;
                             objDonthuoc.IsNew = true;
                             objDonthuoc.TenDonthuoc = "";

                             objDonthuoc.Save();
                             p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                             decimal PtramBH = 0;

                             foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                             {
                                 objDonthuocChitiet.IdKham = objDonthuoc.IdKham;
                                 objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                 objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                 objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                 objDonthuocChitiet.IsNew = true;
                                 objDonthuocChitiet.Save();
                                 if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                     lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                             }

                         }

                     }
                     scope.Complete();
                     return ActionResult.Success;
                 }
             }
             catch (Exception exception)
             {
                 Utility.CatchException(exception);
                 log.Error("Loi trong qua trinh luu don thuoc {0}", exception);
                 return ActionResult.Error;
             }
        }
Esempio n. 28
0
        public ActionResult SaoChepDonThuocTheoPhieuDieuTriFullTransaction(KcbDonthuoc objDonthuoc, NoitruPhieudieutri objTreatment,KcbDonthuocChitiet[] arrChitietdonthuoc)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var dbscope = new SharedDbConnectionScope())
                    {

                        objDonthuoc.IdPhieudieutri = objTreatment.IdPhieudieutri;
                        objDonthuoc.IdDonthuocthaythe = -1;
                        objDonthuoc.IdKham = objTreatment.IdPhieudieutri;
                        objDonthuoc.IdBacsiChidinh = objTreatment.IdBacsi;
                        objDonthuoc.NgaySua = null;
                        objDonthuoc.NguoiSua = null;
                        objDonthuoc.NgayKedon = Convert.ToDateTime(objTreatment.NgayDieutri);
                        objDonthuoc.Noitru = 1;
                        NoitruPhanbuonggiuong objPatientDept = NoitruPhanbuonggiuong.FetchByID(objTreatment.IdBuongGiuong);
                        if (objPatientDept != null)
                        {
                            objDonthuoc.IdKhoadieutri = Utility.Int16Dbnull(objPatientDept.IdKhoanoitru);
                            objDonthuoc.IdBuongNoitru = Utility.Int16Dbnull(objPatientDept.IdBuong);
                            objDonthuoc.IdGiuongNoitru = Utility.Int16Dbnull(objPatientDept.IdGiuong);
                        }
                        objDonthuoc.NgayXacnhan = null;
                        objDonthuoc.NgayCapphat = null;
                        objDonthuoc.DonthuocTaiquay = 0;
                        objDonthuoc.TrangThai = 0;
                        objDonthuoc.TrangthaiThanhtoan = 0;
                        objDonthuoc.MaKhoaThuchien = globalVariables.MA_KHOA_THIEN;
                        //objDonthuoc.IdBacsiChidinh = globalVariables.gv_intIDNhanvien;
                        objDonthuoc.MotaThem = "Sao chép";
                        objDonthuoc.NguoiTao = globalVariables.UserName;
                        objDonthuoc.NgayTao = globalVariables.SysDate;
                        objDonthuoc.IpMaytao = globalVariables.gv_strIPAddress;
                        objDonthuoc.TenMaytao = globalVariables.gv_strComputerName;
                        objDonthuoc.IsNew = true;
                        objDonthuoc.Save();
                        foreach (var objChitietdonthuoc in arrChitietdonthuoc)
                        {
                            KcbDonthuocChitiet newItem = KcbDonthuocChitiet.FetchByID(objChitietdonthuoc.IdChitietdonthuoc);
                            newItem.IdKham = objTreatment.IdPhieudieutri;

                            newItem.SoluongHuy = 0;
                            newItem.NgayHuy = null;
                            newItem.TrangthaiHuy = 0;
                            newItem.NguoiHuy = null;
                            newItem.TrangThai = 0;
                            newItem.SluongLinh = 0;
                            newItem.SluongSua = 0;
                            newItem.NgayXacnhan = null;
                            newItem.IdThanhtoan = -1;
                            newItem.TrangthaiThanhtoan = 0;
                            newItem.TrangthaiTonghop = 0;
                            newItem.NgayThanhtoan = null;
                            newItem.TrangthaiChuyen = 0;

                            newItem.NgaySua = null;
                            newItem.NguoiSua = null;
                            newItem.TileChietkhau = 0;
                            newItem.TienChietkhau = 0;
                            newItem.IdGoi = -1;
                            newItem.TrongGoi = 0;

                            newItem.IdDonthuoc = Utility.Int32Dbnull(objDonthuoc.IdDonthuoc);

                            newItem.NguoiTao = globalVariables.UserName;
                            newItem.NgayTao = globalVariables.SysDate;
                            newItem.IpMaytao = globalVariables.gv_strIPAddress;
                            newItem.TenMaytao = globalVariables.gv_strComputerName;

                            newItem.IsNew = true;
                            newItem.Save();
                        }
                    }
                    scope.Complete();
                    return ActionResult.Success;
                }
            }
            catch (Exception exception)
            {
                return ActionResult.Error;
            }
        }
        public void Insert(long?IdPhieudieutri, int?IdKhoadieutri, long?IdDonthuocthaythe, long?IdKham, long?IdBenhnhan, string MaLuotkham, DateTime NgayKedon, short?IdBacsiChidinh, byte TrangThai, byte?TthaiTonghop, byte TrangthaiThanhtoan, DateTime?NgayThanhtoan, int?IdGoi, byte?TrongGoi, string NguoiTao, DateTime NgayTao, string NguoiSua, DateTime?NgaySua, string MotaThem, string TenDonthuoc, string MaDoituongKcb, byte?Noitru, byte?KieuDonthuoc, short?IdPhongkham, long?IdBuongGiuong, short?IdBuongNoitru, short?IdGiuongNoitru, string LoidanBacsi, DateTime?NgayTaikham, string TaiKham, string MaKhoaThuchien, DateTime?NgayCapphat, string KieuThuocvattu, DateTime?NgayChot, int?IdChot, DateTime?NgayHuychot, string NguoiHuychot, string LydoHuychot, DateTime?NgayHuyxacnhan, string NguoiHuyxacnhan, string LydoHuyxacnhan, DateTime?NgayXacnhan, string NguoiXacnhan, long?IdLichsuDoituongKcb, string MatheBhyt, string IpMaytao, string IpMaysua, string TenMaytao, string TenMaysua, string LastActionName)
        {
            KcbDonthuoc item = new KcbDonthuoc();

            item.IdPhieudieutri = IdPhieudieutri;

            item.IdKhoadieutri = IdKhoadieutri;

            item.IdDonthuocthaythe = IdDonthuocthaythe;

            item.IdKham = IdKham;

            item.IdBenhnhan = IdBenhnhan;

            item.MaLuotkham = MaLuotkham;

            item.NgayKedon = NgayKedon;

            item.IdBacsiChidinh = IdBacsiChidinh;

            item.TrangThai = TrangThai;

            item.TthaiTonghop = TthaiTonghop;

            item.TrangthaiThanhtoan = TrangthaiThanhtoan;

            item.NgayThanhtoan = NgayThanhtoan;

            item.IdGoi = IdGoi;

            item.TrongGoi = TrongGoi;

            item.NguoiTao = NguoiTao;

            item.NgayTao = NgayTao;

            item.NguoiSua = NguoiSua;

            item.NgaySua = NgaySua;

            item.MotaThem = MotaThem;

            item.TenDonthuoc = TenDonthuoc;

            item.MaDoituongKcb = MaDoituongKcb;

            item.Noitru = Noitru;

            item.KieuDonthuoc = KieuDonthuoc;

            item.IdPhongkham = IdPhongkham;

            item.IdBuongGiuong = IdBuongGiuong;

            item.IdBuongNoitru = IdBuongNoitru;

            item.IdGiuongNoitru = IdGiuongNoitru;

            item.LoidanBacsi = LoidanBacsi;

            item.NgayTaikham = NgayTaikham;

            item.TaiKham = TaiKham;

            item.MaKhoaThuchien = MaKhoaThuchien;

            item.NgayCapphat = NgayCapphat;

            item.KieuThuocvattu = KieuThuocvattu;

            item.NgayChot = NgayChot;

            item.IdChot = IdChot;

            item.NgayHuychot = NgayHuychot;

            item.NguoiHuychot = NguoiHuychot;

            item.LydoHuychot = LydoHuychot;

            item.NgayHuyxacnhan = NgayHuyxacnhan;

            item.NguoiHuyxacnhan = NguoiHuyxacnhan;

            item.LydoHuyxacnhan = LydoHuyxacnhan;

            item.NgayXacnhan = NgayXacnhan;

            item.NguoiXacnhan = NguoiXacnhan;

            item.IdLichsuDoituongKcb = IdLichsuDoituongKcb;

            item.MatheBhyt = MatheBhyt;

            item.IpMaytao = IpMaytao;

            item.IpMaysua = IpMaysua;

            item.TenMaytao = TenMaytao;

            item.TenMaysua = TenMaysua;

            item.LastActionName = LastActionName;


            item.Save(UserName);
        }
        private KcbDonthuoc CreateNewPres()
        {
            KcbDonthuoc donthuoc = new KcbDonthuoc
            {
                MaLuotkham = Utility.sDbnull(this.objLuotkham.MaLuotkham, ""),
                IdBenhnhan = new long?((long)Utility.Int32Dbnull(this.objLuotkham.IdBenhnhan, -1)),
                MaKhoaThuchien = globalVariables.MA_KHOA_THIEN,
                LoidanBacsi = Utility.sDbnull(this.txtLoiDanBS.Text),
                TaiKham = Utility.sDbnull(this.txtKhamLai.Text)
            };
            if (this.chkNgayTaiKham.Checked)
            {
                donthuoc.NgayTaikham = new DateTime?(this.dtNgayKhamLai.Value);
            }
            else
            {
                donthuoc.NgayTaikham = null;
            }
            donthuoc.NgayKedon = this.dtpCreatedDate.Value;
            donthuoc.MaDoituongKcb = this.MaDoiTuong;
            donthuoc.IdLichsuDoituongKcb = objLuotkham.IdLichsuDoituongKcb;
            donthuoc.MatheBhyt = objLuotkham.MatheBhyt;

            donthuoc.TenDonthuoc = THU_VIEN_CHUNG.TaoTenDonthuoc(this.objLuotkham.MaLuotkham, Utility.Int32Dbnull(this.objLuotkham.IdBenhnhan, -1));
            this.objRegExam = new SubSonic.Select().From(KcbDangkyKcb.Schema).Where(KcbDangkyKcb.Columns.IdKham).IsEqualTo(this.id_kham).ExecuteSingle<KcbDangkyKcb>();
            if (this.objRegExam != null)
            {
                donthuoc.IdKhoadieutri = Utility.Int16Dbnull(this.objRegExam.IdKhoakcb);
                donthuoc.IdPhongkham = new short?(Utility.Int16Dbnull(this.objRegExam.IdPhongkham));
                donthuoc.IdGiuongNoitru = -1;
            }
            else
            {
                donthuoc.IdKhoadieutri = new short?(globalVariables.idKhoatheoMay);
                donthuoc.IdPhongkham = new short?(globalVariables.idKhoatheoMay);
                donthuoc.IdGiuongNoitru = -1;
            }

            donthuoc.IdGoi = id_goidv;
            donthuoc.TrongGoi = trong_goi;
            if (objPhieudieutriNoitru != null)
            {
                donthuoc.IdPhieudieutri = objPhieudieutriNoitru.IdPhieudieutri;
                donthuoc.IdKhoadieutri = objPhieudieutriNoitru.IdKhoanoitru;
                donthuoc.IdPhongkham = objPhieudieutriNoitru.IdKhoanoitru;
                donthuoc.IdBuongGiuong = objPhieudieutriNoitru.IdBuongGiuong;
                donthuoc.IdBuongNoitru = objLuotkham.IdBuong;
                donthuoc.IdGiuongNoitru = objLuotkham.IdGiuong;

            }
            donthuoc.TrangthaiThanhtoan = 0;
            donthuoc.IdBacsiChidinh =Utility.Int16Dbnull(txtBacsi.MyID,globalVariables.gv_intIDNhanvien);
            donthuoc.TrangThai = 0;
            donthuoc.NguoiTao = globalVariables.UserName;
            donthuoc.NgayTao = globalVariables.SysDate;
            donthuoc.IdDonthuocthaythe = -1;
            donthuoc.IdKham = new long?((long)this.id_kham);
            donthuoc.NgayTao = globalVariables.SysDate;
            donthuoc.NguoiTao = globalVariables.UserName;
            donthuoc.Noitru = (byte)noitru;

            donthuoc.KieuDonthuoc = 3;
            donthuoc.KieuThuocvattu = KIEU_THUOC_VT;// (this.m_intKieudonthuoc == 1) ? "VT" : "THUOC";
            if (this.em_Action == action.Update)
            {
                donthuoc.IdDonthuoc = Utility.Int32Dbnull(this.txtPres_ID.Text, -1);
                donthuoc.NguoiSua = globalVariables.UserName;
                donthuoc.NgaySua = new DateTime?(globalVariables.SysDate);

                donthuoc.IpMaysua = globalVariables.gv_strIPAddress;
                donthuoc.TenMaysua = globalVariables.gv_strComputerName;
                donthuoc.IsNew = false;
                donthuoc.MarkOld();

            }
            else
            {
                donthuoc.IpMaytao = globalVariables.gv_strIPAddress;
                donthuoc.TenMaytao = globalVariables.gv_strComputerName;
            }

            return donthuoc;
        }
 public bool Destroy(object IdDonthuoc)
 {
     return(KcbDonthuoc.Destroy(IdDonthuoc) == 1);
 }
Esempio n. 32
0
        public ActionResult CapnhatDonthuoc(KcbDanhsachBenhnhan objBenhnhan, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet,  ref int p_intIdDonthuoc, ref Dictionary<long, long> lstChitietDonthuoc)
        {
            try
             {
                 using (TransactionScope scope = new TransactionScope())
                 {
                     using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                     {
                         objBenhnhan.Save();
                         p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                         new Update(KcbDonthuoc.Schema)
                             .Set(KcbDonthuoc.Columns.NgayKedon).EqualTo(objDonthuoc.NgayKedon)
                             .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
                             .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
                             .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();

                         foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                         {
                             objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                             if (objDonthuocChitiet.IdChitietdonthuoc == -1)//Moi bo sung
                             {
                                 objDonthuocChitiet.IdKham = objDonthuoc.IdKham;
                                 objDonthuocChitiet.IsNew = true;
                                 objDonthuocChitiet.SluongLinh = 0;
                                 objDonthuocChitiet.SluongSua = 0;
                                 objDonthuocChitiet.TrangThai = 0;

                                 objDonthuocChitiet.IdThanhtoan = -1;
                                 objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                 objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                 objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                 objDonthuocChitiet.CachDung = objDonthuocChitiet.MotaThem;
                                 objDonthuocChitiet.IsNew = true;
                                 objDonthuocChitiet.Save();
                                 if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                     lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                             }
                             else
                             {
                                 if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                     lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                 new Update(KcbDonthuocChitiet.Schema)
                                     .Set(KcbDonthuocChitiet.SoLuongColumn).EqualTo(objDonthuocChitiet.SoLuong)
                                     .Set(KcbDonthuocChitiet.NgaySuaColumn).EqualTo(objDonthuocChitiet.NgaySua)
                                     .Set(KcbDonthuocChitiet.NguoiSuaColumn).EqualTo(objDonthuocChitiet.NguoiSua)
                                     .Where(KcbDonthuocChitiet.IdChitietdonthuocColumn).IsEqualTo(objDonthuocChitiet.IdChitietdonthuoc).Execute();
                             }
                         }
                     }
                     scope.Complete();
                     return ActionResult.Success;
                 }
             }
             catch (Exception exception)
             {
                 log.Error("Loi trong qua trinh luu don thuoc", exception);
                 return ActionResult.Error;
             }
        }
Esempio n. 33
0
        public ActionResult CapnhatDonthuoc(KcbDanhsachBenhnhan objBenhnhan, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet, ref int p_intIdDonthuoc, ref Dictionary <long, long> lstChitietDonthuoc)
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                    {
                        objBenhnhan.Save();
                        p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                        new Update(KcbDonthuoc.Schema)
                        .Set(KcbDonthuoc.Columns.NgayKedon).EqualTo(objDonthuoc.NgayKedon)
                        .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
                        .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
                        .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();

                        foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                        {
                            objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                            if (objDonthuocChitiet.IdChitietdonthuoc == -1) //Moi bo sung
                            {
                                objDonthuocChitiet.IdKham     = objDonthuoc.IdKham;
                                objDonthuocChitiet.IsNew      = true;
                                objDonthuocChitiet.SluongLinh = 0;
                                objDonthuocChitiet.SluongSua  = 0;
                                objDonthuocChitiet.TrangThai  = 0;

                                objDonthuocChitiet.IdThanhtoan = -1;
                                objDonthuocChitiet.MaLuotkham  = objDonthuoc.MaLuotkham;
                                objDonthuocChitiet.IdBenhnhan  = objDonthuoc.IdBenhnhan;
                                objDonthuocChitiet.IdDonthuoc  = objDonthuoc.IdDonthuoc;
                                objDonthuocChitiet.CachDung    = objDonthuocChitiet.MotaThem;
                                objDonthuocChitiet.IsNew       = true;
                                objDonthuocChitiet.Save();
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                            }
                            else
                            {
                                if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                {
                                    lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                                }
                                new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.SoLuongColumn).EqualTo(objDonthuocChitiet.SoLuong)
                                .Set(KcbDonthuocChitiet.NgaySuaColumn).EqualTo(objDonthuocChitiet.NgaySua)
                                .Set(KcbDonthuocChitiet.NguoiSuaColumn).EqualTo(objDonthuocChitiet.NguoiSua)
                                .Where(KcbDonthuocChitiet.IdChitietdonthuocColumn).IsEqualTo(objDonthuocChitiet.IdChitietdonthuoc).Execute();
                            }
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh luu don thuoc", exception);
                return(ActionResult.Error);
            }
        }
Esempio n. 34
0
 public void ThemChitiet(KcbDonthuoc objDonthuoc, KcbDonthuocChitiet objDonthuocChitiet, decimal PtramBHYT, KcbLuotkham objLuotkham)
 {
     using (TransactionScope scope = new TransactionScope())
      {
          byte TrangthaiBhyt = 1;
          if (!THU_VIEN_CHUNG.IsBaoHiem(objLuotkham.IdLoaidoituongKcb.Value))//(objLuotkham.MaDoituongKcb == "DV")//Tự túc
          {
              PtramBHYT = 0m;
              TrangthaiBhyt = (byte)0;
              //ĐỐi tượng dịch vụ thì ko cần đánh dấu tự túc
              objDonthuocChitiet.TuTuc = 0;
          }
          else
              TrangthaiBhyt = (byte)(globalVariables.gv_blnApdungChedoDuyetBHYT ? 0 : 1);
          //Tính giá BHYT chi trả và BN chi trả theo Đối tượng và % bảo hiểm-->Hơi thừa có thể bỏ qua do đã tính ở Client
          //Nếu có dùng thì cần lấy lại KcbLuotkham do lo sợ người khác thay đổi đối tượng
          //TinhGiaThuoc.GB_TinhPhtramBHYT(objDonthuocChitiet, PtramBHYT);
          objDonthuocChitiet.TrangthaiBhyt = TrangthaiBhyt;// Utility.isTrue(objDonthuocChitiet.TuTuc.Value, 0, 1);
          objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
          objDonthuocChitiet.IsNew = true;
          objDonthuocChitiet.Save();
          scope.Complete();
      }
 }
Esempio n. 35
0
        /// <summary>
        /// HÀM THỰC HIỆN VIECJ CHO PHÉP CẬP NHẬP ĐƠN THUỐC
        /// </summary>
        /// <returns></returns>
        public ActionResult Linhthuocnoitru(KcbDonthuoc objDonthuoc, TPhieuXuatthuocBenhnhan objXuatBnhan, int ID_KHO_XUAT, DateTime ngaythuchien)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    string THUOC_NOITRU_XACNHANDALINH_KHIXACNHANDONTHUOC = THU_VIEN_CHUNG.Laygiatrithamsohethong("THUOC_NOITRU_XACNHANDALINH_KHIXACNHANDONTHUOC", "0", false);
                    HisDuocProperties hisDuocProperties = new HisDuocProperties();
                    objXuatBnhan.IdBenhnhan = objDonthuoc.IdBenhnhan;
                    objXuatBnhan.MaLuotkham = objDonthuoc.MaLuotkham;
                    objXuatBnhan.MaPhieu = THU_VIEN_CHUNG.MaPhieuXuatBN();
                    objXuatBnhan.Noitru = Utility.ByteDbnull(objDonthuoc.Noitru);
                    objXuatBnhan.TenKhongdau = Utility.UnSignedCharacter(objXuatBnhan.TenBenhnhan);
                    objXuatBnhan.IdDonthuoc = Utility.Int32Dbnull(objDonthuoc.IdDonthuoc);
                    objXuatBnhan.IsNew = true;
                    objXuatBnhan.Save();
                    Int32 PtramBHYT = 0;
                    SqlQuery sqlQuery = new Select().From(KcbLuotkham.Schema).Where(
                        KcbLuotkham.Columns.MaLuotkham).IsEqualTo(objDonthuoc.MaLuotkham)
                        .And(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(objDonthuoc.IdBenhnhan);
                    KcbLuotkham objLuotkham = sqlQuery.ExecuteSingle<KcbLuotkham>();
                    if (objLuotkham != null)
                    {
                        PtramBHYT = Utility.Int32Dbnull(objLuotkham.PtramBhyt);
                    }
                    sqlQuery = new Select().From(TPhieuCapphatChitiet.Schema)
                        .Where(TPhieuCapphatChitiet.Columns.IdCapphat).IsEqualTo(objXuatBnhan.IdCapphat)
                        .And(TPhieuCapphatChitiet.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc);

                    TPhieuCapphatChitietCollection objDPhieuCapphatCtCollection =
                        sqlQuery.ExecuteAsCollection<TPhieuCapphatChitietCollection>();
                    foreach (TPhieuCapphatChitiet objCapphatDetail in objDPhieuCapphatCtCollection)
                    {
                        KcbDonthuocChitiet objDetail = new Select().From(KcbDonthuocChitiet.Schema)
                            .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objCapphatDetail.IdChitietdonthuoc)
                            .ExecuteSingle<KcbDonthuocChitiet>();
                        if (objDetail == null) return ActionResult.Exceed;
                        objDetail.SetColumnValue("id_kho", ID_KHO_XUAT);
                        ActionResult actionResult = TruThuocTrongKho_Noitru(objDonthuoc,objCapphatDetail, objDetail, objXuatBnhan, ID_KHO_XUAT, ngaythuchien);
                        switch (actionResult)
                        {
                            case ActionResult.NotEnoughDrugInStock:
                                return actionResult;
                        }

                        TXuatthuocTheodon objThuocCt = new TXuatthuocTheodon();
                        objThuocCt.IdPhieuXuat = Utility.Int32Dbnull(objXuatBnhan.IdPhieu);
                        objThuocCt.IdThuoc = Utility.Int32Dbnull(objCapphatDetail.IdThuoc);
                        objThuocCt.NgayTao = globalVariables.SysDate;
                        objThuocCt.SoLuong = objCapphatDetail.SoLuong;
                        objThuocCt.NguoiTao = globalVariables.UserName;
                        objThuocCt.PhuThu = Utility.DecimaltoDbnull(objDetail.PhuThu);
                        objThuocCt.DonGia = Utility.DecimaltoDbnull(objDetail.DonGia);
                        objThuocCt.BnhanChitra = Utility.DecimaltoDbnull(objDetail.BnhanChitra);
                        objThuocCt.BhytChitra = Utility.DecimaltoDbnull(objDetail.BhytChitra);
                        objThuocCt.ChiDan = Utility.sDbnull(objDetail.MotaThem);
                        objThuocCt.ChidanThem = Utility.sDbnull(objDetail.ChidanThem);
                        objThuocCt.SolanDung = Utility.sDbnull(objDetail.SolanDung);
                        objThuocCt.SoluongDung = Utility.sDbnull(objDetail.SoluongDung);
                        objThuocCt.CachDung = Utility.sDbnull(objDetail.CachDung);
                        objThuocCt.PtramBhyt = PtramBHYT;
                        objThuocCt.IdChitietdonthuoc = Utility.Int32Dbnull(objCapphatDetail.IdChitietdonthuoc);
                        objThuocCt.IdDonthuoc = Utility.Int32Dbnull(objCapphatDetail.IdThuoc);
                        objThuocCt.IsNew = true;
                        objThuocCt.Save();
                        if (THUOC_NOITRU_XACNHANDALINH_KHIXACNHANDONTHUOC == "1")
                        {
                            objCapphatDetail.ThucLinh = objCapphatDetail.SoLuong;
                            objCapphatDetail.IsNew = false;
                            objCapphatDetail.MarkOld();
                            objCapphatDetail.Save();
                        }
                    }
                    byte DA_LINH = (byte)(THUOC_NOITRU_XACNHANDALINH_KHIXACNHANDONTHUOC == "1" ? 1 : 0);

                    new Update(TPhieuCapphatChitiet.Schema)
                        .Set(TPhieuCapphatChitiet.Columns.DaLinh).EqualTo(DA_LINH)

                        .Set(TPhieuCapphatChitiet.Columns.IdPhieuxuatthuocBenhnhan).EqualTo(objXuatBnhan.IdPhieu)
                        .Where(TPhieuCapphatChitiet.Columns.IdCapphat).IsEqualTo(objXuatBnhan.IdCapphat).Execute();
                    sqlQuery = new Select().From(KcbDonthuocChitiet.Schema)
                                .Where(KcbDonthuocChitiet.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc)
                                .And(KcbDonthuocChitiet.Columns.TrangThai).IsEqualTo(0);
                    int status = sqlQuery.GetRecordCount() <= 0 ? 1 : 0;
                    new Update(KcbDonthuoc.Schema)
                              .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
                              .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
                              .Set(KcbDonthuoc.Columns.TrangThai).EqualTo(status)
                              .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();
                    scope.Complete();
                }

                return ActionResult.Success;
            }
            catch (Exception exception)
            {
                log.Error("loi trong qua trinh cap don thuoc {0}", exception);
                return ActionResult.Error;

            }
        }
Esempio n. 36
0
        public ActionResult ThemDonThuoc(KcbLuotkham objLuotkham, KcbDonthuoc objDonthuoc, KcbDonthuocChitiet[] arrDonthuocChitiet,KcbChandoanKetluan _KcbChandoanKetluan, ref int p_intIdDonthuoc, ref Dictionary<long, long> lstChitietDonthuoc)
        {
            // Query _Query = KcbDonthuoc.CreateQuery();
             try
             {
                 using (TransactionScope scope = new TransactionScope())
                 {
                     using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                     {
                         if (objLuotkham != null)
                         {
                             if (objDonthuoc.NgayKedon <= Convert.ToDateTime("01/01/1900"))
                                 objDonthuoc.NgayKedon = globalVariables.SysDate;

                             objDonthuoc.IsNew = true;
                             objDonthuoc.TenDonthuoc = THU_VIEN_CHUNG.TaoTenDonthuoc(objLuotkham.MaLuotkham,
                                                                                        Utility.Int32Dbnull(
                                                                                            objLuotkham.IdBenhnhan,
                                                                                            -1));

                             objDonthuoc.Save();
                             if (!Utility.Byte2Bool(objDonthuoc.Noitru))
                                 CapnhatChandoan(_KcbChandoanKetluan);
                             p_intIdDonthuoc = objDonthuoc.IdDonthuoc;
                             decimal PtramBH = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0);

                             foreach (KcbDonthuocChitiet objDonthuocChitiet in arrDonthuocChitiet)
                             {
                                 objDonthuocChitiet.IdKham = objDonthuoc.IdKham;
                                 objDonthuocChitiet.MaLuotkham = objDonthuoc.MaLuotkham;
                                 objDonthuocChitiet.IdBenhnhan = objDonthuoc.IdBenhnhan;
                                 objDonthuocChitiet.IdDonthuoc = objDonthuoc.IdDonthuoc;
                                 ThemChitiet(objDonthuoc, objDonthuocChitiet, PtramBH, objLuotkham);
                                 if (!lstChitietDonthuoc.ContainsKey(objDonthuocChitiet.IdThuockho.Value))
                                     lstChitietDonthuoc.Add(objDonthuocChitiet.IdThuockho.Value, objDonthuocChitiet.IdChitietdonthuoc);
                             }

                         }

                     }
                     scope.Complete();
                     return ActionResult.Success;
                 }
             }
             catch (Exception exception)
             {

                 log.Error("Loi trong qua trinh luu don thuoc {0}", exception);
                 return ActionResult.Error;
             }
        }
Esempio n. 37
0
        /// <summary>
        /// hàm thực hiện việc trả lại kho 
        /// </summary>
        /// <param name="objDonthuoc"></param>
        /// <param name="objXuatBnhan"></param>
        /// <returns></returns>
        public ActionResult TraLaiThuocChoKho_khongdung(KcbDonthuoc objDonthuoc, TPhieuXuatthuocBenhnhan objXuatBnhan)
        {
            //try
            //{
            //    using (var Scope = new TransactionScope())
            //    {
            //        using (var dbScope = new SharedDbConnectionScope())
            //        {
            //            new Update(TPhieuXuatthuocBenhnhan.Schema)
            //               .Set(TPhieuXuatthuocBenhnhan.Columns.TrangThai).EqualTo(0)
            //               .Where(TPhieuXuatthuocBenhnhan.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc)
            //               .Execute();
            //            //objXuatBnhan.TrangThai = 0;
            //            //objXuatBnhan.HienThi = 0;
            //            objXuatBnhan.MaPhieu = THU_VIEN_CHUNG.MaPhieuXuatBN();;
            //            objXuatBnhan.Noitru = Utility.ByteDbnull(objDonthuoc.Noitru);
            //            objXuatBnhan.TenKhongdau = Utility.UnSignedCharacter(objXuatBnhan.TenBenhnhan);
            //            objXuatBnhan.IdDonthuoc = Utility.Int32Dbnull(objDonthuoc.IdDonthuoc);
            //            objXuatBnhan.IsNew = true;
            //            objXuatBnhan.Save();
            //            SqlQuery sqlQuery = new Select().From(TPhieuXuatthuocBenhnhanChitiet.Schema)
            //                .Where(TPhieuXuatthuocBenhnhanChitiet.Columns.IdThuoc).IsEqualTo(objDonthuoc.IdDonthuoc)
            //                .And(TPhieuXuatthuocBenhnhanChitiet.Columns.IdThuoc).In(
            //                    new Select(TPhieuXuatthuocBenhnhan.Columns.IdDonthuoc).From(TPhieuXuatthuocBenhnhan.Schema).Where(TPhieuXuatthuocBenhnhan.Columns.TrangThai).
            //                        IsEqualTo(1).And(TPhieuXuatthuocBenhnhan.Columns.IdDonthuoc).IsEqualTo(
            //                            objDonthuoc.IdDonthuoc));

            //            TPhieuXuatthuocBenhnhanChitietCollection objDonthuocDetailCollection =
            //                sqlQuery.ExecuteAsCollection<TPhieuXuatthuocBenhnhanChitietCollection>();
            //            foreach (TPhieuXuatthuocBenhnhanChitiet objPhieuNhapCt in objDonthuocDetailCollection)
            //            {

            //                new Update(KcbDonthuocChitiet.Schema)
            //                    .Set(KcbDonthuocChitiet.Columns.TrangThai).EqualTo(0)
            //                    .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet)
            //                    .Execute();
            //                StoredProcedure sp = SPs.ThuocXuatkho(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap,objPhieuNhapCt.GiaBan,
            //                                                         objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat),
            //                                                         objPhieuNhapCt.IdThuoc, objXuatBnhan.IdKhoxuat, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo);

            //                sp.Execute();

            //                objPhieuNhapCt.IdPhieuXuat = Utility.Int32Dbnull(objXuatBnhan.IdPhieuXuat);
            //                objPhieuNhapCt.IsNew = true;
            //                objPhieuNhapCt.Save();
            //                TBiendongThuoc objXuatNhap = new TBiendongThuoc();
            //                objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuXuat);
            //                objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet);
            //                objXuatNhap.MaPhieu = Utility.sDbnull(objXuatBnhan.MaPhieu);
            //                objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap);
            //                //objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhapCt.SoHoadon);
            //                objXuatNhap.PhuThu = 0;
            //                objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong);
            //                objXuatNhap.Ngaytao =  globalVariables.SysDate;
            //                objXuatNhap.NguoiTao = globalVariables.UserName;
            //                objXuatNhap.ThanhTien = Utility.DecimaltoDbnull(objPhieuNhapCt.SoLuong*objPhieuNhapCt.GiaNhap);
            //                objXuatNhap.IdThuoc = Utility.Int32Dbnull(objPhieuNhapCt.IdThuoc);
            //                objXuatNhap.Vat = Utility.Int32Dbnull(objPhieuNhapCt.Vat);
            //                objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objXuatBnhan.IdNhanvien);
            //                objXuatNhap.IdKho = Utility.Int16Dbnull(objXuatBnhan.IdKhoxuat);
            //                //objXuatNhap.IdKhoxuat = Utility.Int16Dbnull(objXuatBnhan.IdKhoxuat);
            //                objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan;
            //               // objXuatNhap.IdNhaCcap = Utility.Int32Dbnull(objPhieuNhap.IdNhaCcap);
            //                objXuatNhap.IpMayTao = BusinessHelper.GetIP4Address();
            //                objXuatNhap.LoaiPhieu = Utility.ByteDbnull(objXuatBnhan.LoaiPhieu);
            //                objXuatNhap.NgayBiendong = objXuatBnhan.NgayXacnhan;
            //                objXuatNhap.IsNew = true;
            //                objXuatNhap.Save();

            //            }

            //            new Update(KcbDonthuoc.Schema)
            //                .Set(KcbDonthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate)
            //                .Set(KcbDonthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName)
            //                .Set(KcbDonthuoc.Columns.TrangThai).EqualTo(1)
            //                .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objDonthuoc.IdDonthuoc).Execute();
            //        }
            //        Scope.Complete();
            //        return ActionResult.Success;
            //    }
            //}
            //catch (Exception)
            //{
                return ActionResult.Error;

            //}
        }