Exemplo n.º 1
0
 public ActionResult DanhdautrangthaiTiem(KcbDonthuocChitiet objChitiet, long _IdKham, bool Da_tiem)
 {
     try
     {
         using (var scope = new TransactionScope())
         {
             using (var sh = new SharedDbConnectionScope())
             {
                 if (objChitiet != null)
                 {
                     objChitiet.IsNew  = false;
                     objChitiet.DaDung = Utility.Bool2byte(Da_tiem);
                     objChitiet.MarkOld();
                     objChitiet.Save();
                 }
                 else
                 {
                     new Update(KcbDonthuocChitiet.Schema)
                     .Set(KcbDonthuocChitiet.Columns.DaDung).EqualTo(Utility.Bool2byte(Da_tiem))
                     .Where(KcbDonthuocChitiet.Columns.IdKham).IsEqualTo(_IdKham)
                     .Execute();
                 }
             }
             scope.Complete();
             return(ActionResult.Success);
         }
     }
     catch (Exception exception)
     {
         log.Error("Loi trong qua trinh chuyen vien khoi noi tru {0}", exception);
         return(ActionResult.Error);
     }
 }
Exemplo n.º 2
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();
     }
 }
Exemplo n.º 3
0
        private KcbDonthuocChitiet [] CreatePresDetail()
        {
            int idx    = 0;
            int length = 0;
            var query  = from chitiet in grdPresDetail.GetDataRows()
                         let y = chitiet.RowType == RowType.Record
                                 select y;

            length = query.Count();
            var arrDetail = new KcbDonthuocChitiet[length];

            foreach (Janus.Windows.GridEX.GridEXRow gridExRow in grdPresDetail.GetDataRows())
            {
                arrDetail[idx] = new KcbDonthuocChitiet();

                arrDetail[idx].IdDonthuoc        = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdDonthuoc].Value);
                arrDetail[idx].IdThuoc           = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdThuoc].Value);
                arrDetail[idx].IdChitietdonthuoc = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdChitietdonthuoc].Value);
                arrDetail[idx].IdKho             = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdKho].Value);
                arrDetail[idx].DonGia            = Utility.DecimaltoDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.DonGia].Value);
                arrDetail[idx].PhuThu            = Utility.DecimaltoDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.PhuThu].Value);
                arrDetail[idx].SoLuong           = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.SoLuong].Value);
                arrDetail[idx].MotaThem          = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.MotaThem].Value);
                arrDetail[idx].ChidanThem        = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.ChidanThem].Value);
                arrDetail[idx].CachDung          = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.CachDung].Value);
                arrDetail[idx].DonviTinh         = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.DonviTinh].Value);
                arrDetail[idx].SoluongDung       = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.SoluongDung].Value);
                arrDetail[idx].SolanDung         = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.SolanDung].Value);
                arrDetail[idx].IdThanhtoan       = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdThanhtoan].Value);
                arrDetail[idx].TuTuc             = Utility.ByteDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.TuTuc].Value);
                idx++;
            }
            return(arrDetail);
        }
Exemplo n.º 4
0
        public ActionResult DanhdautrangthaiTiem(KcbDonthuocChitiet objChitiet, long _IdKham, bool Da_tiem)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var sh = new SharedDbConnectionScope())
                    {

                        if (objChitiet != null)
                        {
                            objChitiet.IsNew = false;
                            objChitiet.DaDung = Utility.Bool2byte(Da_tiem);
                            objChitiet.MarkOld();
                            objChitiet.Save();
                        }
                        else
                        {
                            new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.Columns.DaDung).EqualTo(Utility.Bool2byte(Da_tiem))
                                .Where(KcbDonthuocChitiet.Columns.IdKham).IsEqualTo(_IdKham)
                                .Execute();
                        }
                    }
                    scope.Complete();
                    return ActionResult.Success;
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh chuyen vien khoi noi tru {0}", exception);
                return ActionResult.Error;
            }
        }
        private KcbDonthuocChitiet[] CreatePresDetailVTTH()
        {
            var query = from thuoc in grdDichvuSaochep.GetCheckedRows()
                        where Utility.Int32Dbnull(thuoc.Cells["id_loaithanhtoan"].Value) == 5
                        select thuoc;
            var gridExRows = query as GridEXRow[] ?? query.ToArray();
            var arrDetail  = new KcbDonthuocChitiet[gridExRows.Count()];
            int idx        = 0;

            foreach (Janus.Windows.GridEX.GridEXRow gridExRow in gridExRows.AsEnumerable())
            {
                arrDetail[idx]                   = new KcbDonthuocChitiet();
                arrDetail[idx].IdDonthuoc        = Utility.Int32Dbnull(gridExRow.Cells["id_phieu"].Value);
                arrDetail[idx].IdChitietdonthuoc = Utility.Int32Dbnull(gridExRow.Cells["id_phieu_chitiet"].Value);
                arrDetail[idx].SoLuong           = Utility.Int32Dbnull(gridExRow.Cells["so_luong"].Value);
                arrDetail[idx].IdKho             = Utility.Int16Dbnull(gridExRow.Cells["id_kho"].Value);
                idx++;
            }
            return(arrDetail);
        }
Exemplo n.º 6
0
        /// <summary>
        /// hàm thực hienj việc tính phâm trăm bảo hiểm
        /// </summary>
        /// <param name="objAssignDetail"></param>
        /// <param name="PTramBHYT"></param>
        public static void GB_TinhPhtramBHYT(KcbDonthuocChitiet objPresDetail, decimal PTramBHYT)
        {
            objPresDetail.PtramBhyt = Utility.DecimaltoDbnull(PTramBHYT);

            if (Utility.Int32Dbnull(objPresDetail.TuTuc, 0) == 1)//Là bảo hiểm y tế tự túc
            {
                objPresDetail.BhytChitra  = 0;
                objPresDetail.BnhanChitra = Utility.DecimaltoDbnull(objPresDetail.DonGia, 0);
                objPresDetail.PtramBhyt   = 0;
            }
            else
            {
                objPresDetail.BhytChitra = Utility.DecimaltoDbnull(objPresDetail.DonGia) *
                                           Utility.DecimaltoDbnull(PTramBHYT) / 100;

                objPresDetail.BnhanChitra = Utility.DecimaltoDbnull(objPresDetail.DonGia, 0) -
                                            Utility.DecimaltoDbnull(objPresDetail.BhytChitra, 0);
                objPresDetail.PtramBhyt = Utility.DecimaltoDbnull(PTramBHYT);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// hàm thực hienj việc tính phâm trăm bảo hiểm
        /// </summary>
        /// <param name="objAssignDetail"></param>
        /// <param name="PTramBHYT"></param>
        public static void GB_TinhPhtramBHYT(KcbDonthuocChitiet objPresDetail, decimal PTramBHYT)
        {
            objPresDetail.PtramBhyt = Utility.DecimaltoDbnull(PTramBHYT);

               if (Utility.Int32Dbnull(objPresDetail.TuTuc, 0) == 1)//Là bảo hiểm y tế tự túc
               {
               objPresDetail.BhytChitra = 0;
               objPresDetail.BnhanChitra = Utility.DecimaltoDbnull(objPresDetail.DonGia, 0);
               objPresDetail.PtramBhyt = 0;
               }
               else
               {
               objPresDetail.BhytChitra = Utility.DecimaltoDbnull(objPresDetail.DonGia) *
                                           Utility.DecimaltoDbnull(PTramBHYT) / 100;

               objPresDetail.BnhanChitra = Utility.DecimaltoDbnull(objPresDetail.DonGia, 0) -
                                         Utility.DecimaltoDbnull(objPresDetail.BhytChitra, 0);
               objPresDetail.PtramBhyt = Utility.DecimaltoDbnull(PTramBHYT);
               }
        }
Exemplo n.º 8
0
        public ActionResult CapnhatChitiet(long id_chitiet, decimal PtramBHYT, byte tu_tuc)
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (SharedDbConnectionScope sh = new SharedDbConnectionScope())
                    {
                        KcbDonthuocChitiet objChitietDonthuoc = KcbDonthuocChitiet.FetchByID(id_chitiet);
                        if (objChitietDonthuoc != null)
                        {
                            if (tu_tuc == 1)
                            {
                                objChitietDonthuoc.BhytChitra  = 0;
                                objChitietDonthuoc.BnhanChitra = Utility.DecimaltoDbnull(objChitietDonthuoc.DonGia, 0);
                                objChitietDonthuoc.PtramBhyt   = 0;
                            }
                            else
                            {
                                objChitietDonthuoc.BhytChitra = Utility.DecimaltoDbnull(objChitietDonthuoc.DonGia) *
                                                                Utility.DecimaltoDbnull(PtramBHYT) / 100;

                                objChitietDonthuoc.BnhanChitra = Utility.DecimaltoDbnull(objChitietDonthuoc.DonGia, 0) -
                                                                 Utility.DecimaltoDbnull(objChitietDonthuoc.BhytChitra, 0);
                                objChitietDonthuoc.PtramBhyt = Utility.DecimaltoDbnull(PtramBHYT);
                            }
                            objChitietDonthuoc.IsNew = false;
                            objChitietDonthuoc.MarkOld();
                            objChitietDonthuoc.Save();
                        }
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh luu don thuoc", exception);
                return(ActionResult.Error);
            }
        }
Exemplo n.º 9
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();
     }
 }
 public bool Destroy(object IdChitietdonthuoc)
 {
     return(KcbDonthuocChitiet.Destroy(IdChitietdonthuoc) == 1);
 }
Exemplo n.º 11
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;
        }
        private void InsertPres(KcbDonthuocChitiet[] arrPresDetail)
        {
            try
            {

                Dictionary<long, long> lstChitietDonthuoc = new Dictionary<long, long>();
                if (arrPresDetail != null && arrPresDetail.Count()>0)
                {
                    CreatePatientInfo();
                    this._actionResult = this._KEDONTHUOC.ThemDonThuoc(this.objBenhnhan, this.CreateNewPres(), arrPresDetail, ref this.IdDonthuoc, ref lstChitietDonthuoc);
                    switch (this._actionResult)
                    {
                        case ActionResult.Error:
                            this.setMsg(this.lblMsg, "Lỗi trong quá trình lưu đơn thuốc", true);
                            break;
                        case ActionResult.Success:
                            this.UpdateChiDanThem();
                            DataRow dr = m_dtPatients.NewRow();
                            KcbDanhsachBenhnhanCollection lstBN = new KcbDanhsachBenhnhanCollection();
                            lstBN.Add(objBenhnhan);
                            DataTable _temp = new DataTable();
                            _temp = lstBN.ToDataTable();
                            Utility.CopyData(_temp.Rows[0], ref dr);
                            dr[KcbDonthuoc.Columns.IdDonthuoc] = IdDonthuoc;
                            m_dtPatients.Rows.Add(dr);

                            this.txtPres_ID.Text = this.IdDonthuoc.ToString();
                            this.m_enAct = action.Update;
                            this.setMsg(this.lblMsg, "Bạn thực hiện lưu đơn thuốc thành công", false);
                            this.UpdateDetailID(lstChitietDonthuoc);
                            this.m_blnCancel = false;
                            break;
                    }
                }
            }
            catch (Exception exception)
            {
                if (globalVariables.IsAdmin)
                {
                    Utility.ShowMsg(exception.ToString());
                }
            }
            finally
            {
                if (this.Manual)
                {
                    this.m_enAct = action.Update;
                }
            }
        }
Exemplo n.º 13
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;
        }
Exemplo n.º 14
0
        public static bool CapnhatTrangthaiTutuc(KcbDonthuocChitiet objDoituong, KcbLuotkham objLuotkham, bool noitru, byte tu_tuc, decimal PTramBHYT)
        {
            try
            {
                byte    TrangthaiBhyt = 1;
                decimal BHYT_PTRAM_TRAITUYENNOITRU = Utility.DecimaltoDbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("BHYT_PTRAM_TRAITUYENNOITRU", "0", false), 0m);
                bool    b_ExistPtramBHYT           = false;
                objDoituong.TuTuc = tu_tuc;
                if (!THU_VIEN_CHUNG.IsBaoHiem(objLuotkham.IdLoaidoituongKcb.Value))//Đối tượng DV
                {
                    TrangthaiBhyt     = (byte)0;
                    objDoituong.TuTuc = 0;
                }
                else
                {
                    TrangthaiBhyt = (byte)(globalVariables.gv_blnApdungChedoDuyetBHYT ? 0 : 1);
                }
                if (Utility.Int32Dbnull(objDoituong.TrangthaiHuy, -1) == -1)
                {
                    objDoituong.TrangthaiHuy = 0;
                }

                objDoituong.PtramBhyt    = PTramBHYT;
                objDoituong.PtramBhytGoc = objLuotkham.PtramBhytGoc;
                // objChidinhChitiet.LoaiChietkhau = 0;
                // objChidinhChitiet.TrangthaiBhyt = TrangthaiBhyt;
                //objChidinhChitiet.IdLoaichidinh = 0;//Chưa hiểu trường này-->Cần xem lại
                if (Utility.Int32Dbnull(objDoituong.TuTuc, 0) == 1)
                {
                    objDoituong.BhytChitra  = 0;
                    objDoituong.BnhanChitra = Utility.DecimaltoDbnull(objDoituong.DonGia, 0);
                    objDoituong.PtramBhyt   = 0;
                }
                else
                {
                    if (b_ExistPtramBHYT)
                    {
                        objDoituong.BhytChitra = Utility.DecimaltoDbnull(objDoituong.DonGia) *
                                                 Utility.DecimaltoDbnull(objDoituong.PtramBhyt) / 100;
                        objDoituong.BnhanChitra = Utility.DecimaltoDbnull(objDoituong.DonGia, 0) -
                                                  Utility.DecimaltoDbnull(objDoituong.BhytChitra);
                    }
                    else//99% rơi vào nhánh này
                    {
                        PTramBHYT = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt);
                        decimal BHCT = 0m;
                        if (objLuotkham.DungTuyen == 1)//BHYT đúng tuyến rơi vào nhánh này dù nội trú ngay ngoại trú
                        {
                            BHCT = Utility.DecimaltoDbnull(objDoituong.DonGia, 0) * (Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0) / 100);
                        }
                        else//DV và BHYT trái tuyến
                        {
                            if (objLuotkham.TrangthaiNoitru <= 0 || !noitru)//Đối tượng ngoại trú hoặc Chỉ định ngoại trú-->Lấy phần trăm ngoại trú
                            {
                                BHCT = Utility.DecimaltoDbnull(objDoituong.DonGia, 0) * (Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0) / 100);
                            }
                            else//Nội trú cần tính=đơn giá * % đầu thẻ * % tuyến
                            {
                                BHCT = Utility.DecimaltoDbnull(objDoituong.DonGia, 0) * (Utility.DecimaltoDbnull(objLuotkham.PtramBhytGoc, 0) / 100) * (BHYT_PTRAM_TRAITUYENNOITRU / 100);
                            }
                        }
                        decimal BNCT = Utility.DecimaltoDbnull(objDoituong.DonGia, 0) - BHCT;
                        objDoituong.BhytChitra  = BHCT;
                        objDoituong.BnhanChitra = BNCT;
                    }
                }
                objDoituong.MarkOld();
                objDoituong.IsNew = false;
                objDoituong.Save();
                return(true);
            }
            catch (Exception ex)
            {
                Utility.CatchException(ex);
                return(false);
            }
        }
        private void PerformAction(KcbDonthuocChitiet[] arrPresDetail)
        {
            this.isSaved = true;

            this.Create_ChandoanKetluan();

            switch (this.em_Action)
            {
                case action.Insert:
                    this.InsertPres(arrPresDetail);
                    break;

                case action.Update:
                    this.UpdatePres(arrPresDetail);
                    break;
            }
        }
 private KcbDonthuocChitiet getNewItem(DataRow drv)
 {
     KcbDonthuocChitiet chitiet
     = new KcbDonthuocChitiet
     {
         IdDonthuoc = this.IdDonthuoc,
         IdChitietdonthuoc = Utility.Int32Dbnull(drv[KcbDonthuocChitiet.Columns.IdChitietdonthuoc], -1),
         IdKham = new long?((long)this.id_kham),
         IdKho = new int?(Utility.Int32Dbnull(drv[KcbDonthuocChitiet.Columns.IdKho], -1)),
         IdThuoc = Utility.Int16Dbnull(drv[KcbDonthuocChitiet.Columns.IdThuoc], -1),
         TrangthaiThanhtoan = Utility.ByteDbnull(drv[KcbDonthuocChitiet.Columns.TrangthaiThanhtoan], 0),
         SttIn = new short?(Utility.Int16Dbnull(drv[KcbDonthuocChitiet.Columns.SttIn], 1)),
         TrangthaiHuy = 0,
         IdThuockho = new long?((long)Utility.Int32Dbnull(drv[KcbDonthuocChitiet.Columns.IdThuockho], -1)),
         GiaNhap = new decimal?(Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.GiaNhap], -1)),
         GiaBan = new decimal?(Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.GiaBan], -1)),
         GiaBhyt = new decimal?(Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.GiaBhyt], -1)),
         Vat = new decimal?(Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.Vat], -1)),
         SoLo = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.SoLo], -1),
         MaNhacungcap = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.MaNhacungcap], -1),
         NgayHethan = Utility.ConvertDate(drv["sngay_hethan"].ToString()).Date,
         NgayNhap = Utility.ConvertDate(drv["sngay_nhap"].ToString()).Date,
         SoluongHuy = 0,
         SluongLinh = 0,
         SluongSua = 0,
         IdThanhtoan = -1,
         TrangthaiTonghop=0,
         MadoituongGia = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.MadoituongGia], objLuotkham.MadoituongGia),
         TrangthaiChuyen=0,
         IdGoi=-1,
         TrongGoi=0,
         NguonThanhtoan=(byte)(noitru==0?0:1),
         TuTuc = new byte?(Utility.ByteDbnull(drv[KcbDonthuocChitiet.Columns.TuTuc], 0)),
         SoLuong = Utility.Int32Dbnull(drv[KcbDonthuocChitiet.Columns.SoLuong], 0),
         DonGia = Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.DonGia], 0),
         PhuThu = new decimal?(Utility.Int16Dbnull(drv[KcbDonthuocChitiet.Columns.PhuThu], 0)),
         PhuthuDungtuyen = new decimal?(Utility.Int16Dbnull(drv[KcbDonthuocChitiet.Columns.PhuthuDungtuyen], 0)),
         PhuthuTraituyen = new decimal?(Utility.Int16Dbnull(drv[KcbDonthuocChitiet.Columns.PhuthuTraituyen], 0)),
         MotaThem = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.MotaThem], ""),
         TrangthaiBhyt = Utility.ByteDbnull(drv[KcbDonthuocChitiet.Columns.TuTuc], 0),
         TrangThai = 0,
         ChidanThem = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.ChidanThem], ""),
         CachDung = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.CachDung], ""),
         DonviTinh = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.DonviTinh], ""),
         SolanDung = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.SolanDung], null),
         SoluongDung = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.SoluongDung], null),
         NgayTao = new DateTime?(globalVariables.SysDate),
         NguoiTao = globalVariables.UserName,
         BhytChitra = new decimal?(Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.BhytChitra], 0)),
         BnhanChitra = new decimal?(Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.BnhanChitra], 0)),
         PtramBhyt = new decimal?(Utility.DecimaltoDbnull(drv[KcbDonthuocChitiet.Columns.PtramBhyt], 0)),
         PtramBhytGoc = objLuotkham.PtramBhytGoc,
         MaDoituongKcb = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.MaDoituongKcb], "DV"),
         KieuBiendong = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.KieuBiendong], "EXP"),
         DaDung=0,
         NguoiTiem = Utility.Int16Dbnull(drv[KcbDonthuocChitiet.Columns.NguoiTiem], -1),
         LydoTiemchung = Utility.sDbnull(drv[KcbDonthuocChitiet.Columns.LydoTiemchung], ""),
         MuiThu = Utility.ByteDbnull(drv[KcbDonthuocChitiet.Columns.MuiThu], (byte)1),
          IpMaytao = globalVariables.gv_strIPAddress,
         TenMaytao = globalVariables.gv_strComputerName,
         IpMaysua = globalVariables.gv_strIPAddress,
         TenMaysua = globalVariables.gv_strComputerName
     };
     if (drv[KcbDonthuocChitiet.Columns.NgayhenMuiketiep] != null && drv[KcbDonthuocChitiet.Columns.NgayhenMuiketiep] != DBNull.Value)
     {
         chitiet.NgayhenMuiketiep = Convert.ToDateTime(drv[KcbDonthuocChitiet.Columns.NgayhenMuiketiep]);
     }
     else
     {
         chitiet.NgayhenMuiketiep = null;
     }
     return chitiet;
 }
Exemplo n.º 17
0
 /// <summary>
 /// hàm thực hiện việc tính giá chỉ định cls
 /// </summary>
 /// <param name="objPatientExam"></param>
 /// <param name="objPresDetail"></param>
 public static void TinhGiaChiDinhThuoc(KcbLuotkham objPatientExam, KcbDonthuocChitiet objPresDetail)
 {
     GB_TinhPhtramBHYT(objPresDetail, Utility.DecimaltoDbnull(objPatientExam.PtramBhyt, 0));
 }
Exemplo n.º 18
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;
            }
        }
Exemplo n.º 19
0
        public ActionResult LuuHoibenhvaChandoan(KcbChandoanKetluan objDiagInfo, KcbDonthuocChitiet objChitiet, bool luudulieutiemchung)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var sh = new SharedDbConnectionScope())
                    {
                        if (objChitiet != null)
                        {
                            objChitiet.IsNew = false;
                            if (objDiagInfo != null)
                            {
                                objChitiet.PhanungSautiem    = objDiagInfo.PhanungSautiemchung;
                                objChitiet.Xutri             = objDiagInfo.HuongDieutri;
                                objChitiet.KetQua            = objDiagInfo.Ketluan;
                                objChitiet.KetluanNguyennhan = objDiagInfo.KetluanNguyennhan;
                            }
                            objChitiet.MarkOld();
                            objChitiet.Save();
                        }
                        if (objDiagInfo != null)
                        {
                            log.Trace("1. Bắt đầu lưu chẩn đoán của bệnh nhân: " + objDiagInfo.MaLuotkham);
                            if (objDiagInfo.IsNew)
                            {
                                //  objDiagInfo.Save();
                                SPs.SpKcbThemmoiChandoanKetluan(objDiagInfo.IdChandoan, objDiagInfo.IdKham,
                                                                objDiagInfo.IdBenhnhan,
                                                                objDiagInfo.MaLuotkham, objDiagInfo.IdBacsikham, objDiagInfo.NgayChandoan,
                                                                objDiagInfo.NguoiTao,
                                                                objDiagInfo.NgayTao, objDiagInfo.IdKhoanoitru, objDiagInfo.IdBuonggiuong,
                                                                objDiagInfo.IdBuong, objDiagInfo.IdGiuong
                                                                , objDiagInfo.IdPhieudieutri, objDiagInfo.Noitru, objDiagInfo.IdPhongkham,
                                                                objDiagInfo.TenPhongkham, objDiagInfo.Mach, objDiagInfo.Nhietdo, objDiagInfo.Huyetap
                                                                , objDiagInfo.Nhiptim, objDiagInfo.Nhiptho, objDiagInfo.Cannang,
                                                                objDiagInfo.Chieucao, objDiagInfo.Nhommau, objDiagInfo.Ketluan, objDiagInfo.ChedoDinhduong,
                                                                objDiagInfo.HuongDieutri, objDiagInfo.SongayDieutri, objDiagInfo.TrieuchungBandau
                                                                , objDiagInfo.Chandoan, objDiagInfo.ChandoanKemtheo, objDiagInfo.MabenhChinh,
                                                                objDiagInfo.MabenhPhu, objDiagInfo.MotaBenhchinh, objDiagInfo.IpMaytao, objDiagInfo.TenMaytao,
                                                                objDiagInfo.PhanungSautiemchung, objDiagInfo.KPL1
                                                                , objDiagInfo.KPL2, objDiagInfo.KPL3, objDiagInfo.KPL4, objDiagInfo.KPL5,
                                                                objDiagInfo.KPL6, objDiagInfo.KPL7, objDiagInfo.KPL8, objDiagInfo.KL1,
                                                                objDiagInfo.KL2, objDiagInfo.KL3, objDiagInfo.KetluanNguyennhan, objDiagInfo.NhanXet
                                                                , objDiagInfo.ChongchidinhKhac, objDiagInfo.SoNgayhen, objDiagInfo.ChisoIbm, objDiagInfo.ThilucMp, objDiagInfo.ThilucMt, objDiagInfo.NhanapMp, objDiagInfo.NhanapMt
                                                                ).Execute();
                                log.Trace("1.1 Thêm mới lưu chẩn đoán của bệnh nhân: " + objDiagInfo.MaLuotkham);
                            }
                            else
                            {
                                SPs.SpKcbCapnhatChandoanKetluan(objDiagInfo.IdChandoan, objDiagInfo.IdBacsikham,
                                                                objDiagInfo.NgayChandoan, objDiagInfo.NguoiSua, objDiagInfo.NgaySua,
                                                                objDiagInfo.IdPhieudieutri
                                                                , objDiagInfo.Noitru, objDiagInfo.IdPhongkham, objDiagInfo.TenPhongkham,
                                                                objDiagInfo.Mach, objDiagInfo.Nhietdo, objDiagInfo.Huyetap, objDiagInfo.Nhiptim,
                                                                objDiagInfo.Nhiptho, objDiagInfo.Cannang, objDiagInfo.Chieucao
                                                                , objDiagInfo.Nhommau, objDiagInfo.Ketluan, objDiagInfo.ChedoDinhduong, objDiagInfo.HuongDieutri,
                                                                objDiagInfo.SongayDieutri, objDiagInfo.TrieuchungBandau, objDiagInfo.Chandoan,
                                                                objDiagInfo.ChandoanKemtheo, objDiagInfo.MabenhChinh
                                                                , objDiagInfo.MabenhPhu, objDiagInfo.MotaBenhchinh, objDiagInfo.IpMaysua, objDiagInfo.TenMaysua,
                                                                objDiagInfo.PhanungSautiemchung, objDiagInfo.KPL1
                                                                , objDiagInfo.KPL2, objDiagInfo.KPL3, objDiagInfo.KPL4, objDiagInfo.KPL5,
                                                                objDiagInfo.KPL6, objDiagInfo.KPL7, objDiagInfo.KPL8, objDiagInfo.KL1,
                                                                objDiagInfo.KL2, objDiagInfo.KL3, objDiagInfo.KetluanNguyennhan, objDiagInfo.NhanXet,
                                                                objDiagInfo.ChongchidinhKhac, objDiagInfo.SoNgayhen, objDiagInfo.ChisoIbm, objDiagInfo.ThilucMp, objDiagInfo.ThilucMt, objDiagInfo.NhanapMp, objDiagInfo.NhanapMt).Execute();
                                log.Trace("1.2 Cập nhật chẩn đoán của bệnh nhân: " + objDiagInfo.MaLuotkham);
                                // objDiagInfo.MarkOld();

                                //  objDiagInfo.Save();
                            }
                            if (luudulieutiemchung && objChitiet == null)
                            {
                                new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.Columns.PhanungSautiem).EqualTo(objDiagInfo.PhanungSautiemchung)
                                .Set(KcbDonthuocChitiet.Columns.Xutri).EqualTo(objDiagInfo.HuongDieutri)
                                .Set(KcbDonthuocChitiet.Columns.KetQua).EqualTo(objDiagInfo.Ketluan)
                                .Set(KcbDonthuocChitiet.Columns.KetluanNguyennhan).EqualTo(objDiagInfo.KetluanNguyennhan)
                                .Where(KcbDonthuocChitiet.Columns.IdKham).IsEqualTo(objDiagInfo.IdKham)
                                .Execute();
                            }
                            log.Trace("2.Kết thúc lưu chẩn đoán của bệnh nhân: " + objDiagInfo.MaLuotkham);
                        }
                        log.Trace("");
                        sh.Dispose();
                    }

                    scope.Complete();
                    //  Reg_ID = Utility.Int32Dbnull(objRegExam.IdKham, -1);
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh chuyen vien khoi noi tru {0}", exception);
                return(ActionResult.Error);
            }
        }
Exemplo n.º 20
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;
            }
        }
Exemplo n.º 21
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;

            }
        }
Exemplo n.º 22
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();
            }
        }
Exemplo n.º 23
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;
        }
Exemplo n.º 24
0
        private KcbDonthuocChitiet[] CreatePresDetail()
        {
            int idx = 0;
            int length = 0;
            var query = from chitiet in grdPresDetail.GetDataRows()
                        let y = chitiet.RowType == RowType.Record
                        select y;
            length = query.Count();
            var arrDetail = new KcbDonthuocChitiet[length];
            foreach (Janus.Windows.GridEX.GridEXRow gridExRow in grdPresDetail.GetDataRows())
            {
                arrDetail[idx]=new KcbDonthuocChitiet();

                arrDetail[idx].IdDonthuoc = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdDonthuoc].Value);
                arrDetail[idx].IdThuoc = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdThuoc].Value);
                arrDetail[idx].IdChitietdonthuoc = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdChitietdonthuoc].Value);
                arrDetail[idx].IdKho = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdKho].Value);
                arrDetail[idx].DonGia = Utility.DecimaltoDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.DonGia].Value);
                arrDetail[idx].PhuThu = Utility.DecimaltoDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.PhuThu].Value);
                arrDetail[idx].SoLuong = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.SoLuong].Value);
                arrDetail[idx].MotaThem = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.MotaThem].Value);
                arrDetail[idx].ChidanThem = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.ChidanThem].Value);
                arrDetail[idx].CachDung = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.CachDung].Value);
                arrDetail[idx].DonviTinh = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.DonviTinh].Value);
                arrDetail[idx].SoluongDung = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.SoluongDung].Value);
                arrDetail[idx].SolanDung = Utility.sDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.SolanDung].Value);
                arrDetail[idx].IdThanhtoan = Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.IdThanhtoan].Value);
                arrDetail[idx].TuTuc = Utility.ByteDbnull(gridExRow.Cells[KcbDonthuocChitiet.Columns.TuTuc].Value);
                idx++;
            }
            return arrDetail;
        }
        public void Insert(long IdDonthuoc, long?IdDonthuocChuyengoi, long?IdBenhnhan, string MaLuotkham, long?IdKham, int?IdKho, int IdThuoc, DateTime NgayHethan, decimal SoLuong, int?SluongSua, int?SluongLinh, decimal DonGia, long?IdThuockho, DateTime?NgayNhap, decimal?GiaNhap, decimal?GiaBan, decimal?GiaBhyt, string SoLo, decimal?Vat, string MaNhacungcap, decimal?PhuThu, decimal?PhuthuDungtuyen, decimal?PhuthuTraituyen, string MotaThem, int?SoluongHuy, byte?TrangthaiHuy, string NguoiHuy, DateTime?NgayHuy, byte?TuTuc, byte?TrangThai, byte?TrangthaiTonghop, DateTime?NgayXacnhan, byte?TrangthaiBhyt, short?SttIn, string MadoituongGia, decimal?PtramBhytGoc, decimal?PtramBhyt, decimal?BhytChitra, decimal?BnhanChitra, string MaDoituongKcb, int?IdThanhtoan, byte?TrangthaiThanhtoan, DateTime?NgayThanhtoan, string CachDung, string ChidanThem, string DonviTinh, string SolanDung, string SoluongDung, byte?TrangthaiChuyen, DateTime?NgayTao, string NguoiTao, DateTime?NgaySua, string NguoiSua, decimal?TileChietkhau, decimal?TienChietkhau, string KieuChietkhau, int?IdGoi, byte?TrongGoi, string KieuBiendong, byte?NguonThanhtoan, string IpMaytao, string IpMaysua, string TenMaytao, string TenMaysua, byte?DaDung, string LydoTiemchung, short?NguoiTiem, string VitriTiem, byte?MuiThu, DateTime?NgayhenMuiketiep, string PhanungSautiem, string Xutri, string KetluanNguyennhan, string KetQua, DateTime?NgaySudung, string SoDky, string SoQdinhthau)
        {
            KcbDonthuocChitiet item = new KcbDonthuocChitiet();

            item.IdDonthuoc = IdDonthuoc;

            item.IdDonthuocChuyengoi = IdDonthuocChuyengoi;

            item.IdBenhnhan = IdBenhnhan;

            item.MaLuotkham = MaLuotkham;

            item.IdKham = IdKham;

            item.IdKho = IdKho;

            item.IdThuoc = IdThuoc;

            item.NgayHethan = NgayHethan;

            item.SoLuong = SoLuong;

            item.SluongSua = SluongSua;

            item.SluongLinh = SluongLinh;

            item.DonGia = DonGia;

            item.IdThuockho = IdThuockho;

            item.NgayNhap = NgayNhap;

            item.GiaNhap = GiaNhap;

            item.GiaBan = GiaBan;

            item.GiaBhyt = GiaBhyt;

            item.SoLo = SoLo;

            item.Vat = Vat;

            item.MaNhacungcap = MaNhacungcap;

            item.PhuThu = PhuThu;

            item.PhuthuDungtuyen = PhuthuDungtuyen;

            item.PhuthuTraituyen = PhuthuTraituyen;

            item.MotaThem = MotaThem;

            item.SoluongHuy = SoluongHuy;

            item.TrangthaiHuy = TrangthaiHuy;

            item.NguoiHuy = NguoiHuy;

            item.NgayHuy = NgayHuy;

            item.TuTuc = TuTuc;

            item.TrangThai = TrangThai;

            item.TrangthaiTonghop = TrangthaiTonghop;

            item.NgayXacnhan = NgayXacnhan;

            item.TrangthaiBhyt = TrangthaiBhyt;

            item.SttIn = SttIn;

            item.MadoituongGia = MadoituongGia;

            item.PtramBhytGoc = PtramBhytGoc;

            item.PtramBhyt = PtramBhyt;

            item.BhytChitra = BhytChitra;

            item.BnhanChitra = BnhanChitra;

            item.MaDoituongKcb = MaDoituongKcb;

            item.IdThanhtoan = IdThanhtoan;

            item.TrangthaiThanhtoan = TrangthaiThanhtoan;

            item.NgayThanhtoan = NgayThanhtoan;

            item.CachDung = CachDung;

            item.ChidanThem = ChidanThem;

            item.DonviTinh = DonviTinh;

            item.SolanDung = SolanDung;

            item.SoluongDung = SoluongDung;

            item.TrangthaiChuyen = TrangthaiChuyen;

            item.NgayTao = NgayTao;

            item.NguoiTao = NguoiTao;

            item.NgaySua = NgaySua;

            item.NguoiSua = NguoiSua;

            item.TileChietkhau = TileChietkhau;

            item.TienChietkhau = TienChietkhau;

            item.KieuChietkhau = KieuChietkhau;

            item.IdGoi = IdGoi;

            item.TrongGoi = TrongGoi;

            item.KieuBiendong = KieuBiendong;

            item.NguonThanhtoan = NguonThanhtoan;

            item.IpMaytao = IpMaytao;

            item.IpMaysua = IpMaysua;

            item.TenMaytao = TenMaytao;

            item.TenMaysua = TenMaysua;

            item.DaDung = DaDung;

            item.LydoTiemchung = LydoTiemchung;

            item.NguoiTiem = NguoiTiem;

            item.VitriTiem = VitriTiem;

            item.MuiThu = MuiThu;

            item.NgayhenMuiketiep = NgayhenMuiketiep;

            item.PhanungSautiem = PhanungSautiem;

            item.Xutri = Xutri;

            item.KetluanNguyennhan = KetluanNguyennhan;

            item.KetQua = KetQua;

            item.NgaySudung = NgaySudung;

            item.SoDky = SoDky;

            item.SoQdinhthau = SoQdinhthau;


            item.Save(UserName);
        }
        private KcbDonthuocChitiet[] CreateArrayPresDetail()
        {
            this._temp = ActionResult.Success;
            int index = 0;
            KcbDonthuocChitiet[] chitietArray = new KcbDonthuocChitiet[this.m_dtDonthuocChitiet.DefaultView.Count];
            try
            {
                foreach (DataRowView view in this.m_dtDonthuocChitiet.DefaultView)
                {
                    long num2 = Utility.Int64Dbnull(view[KcbDonthuocChitiet.Columns.IdThuockho], -1);
                    int num3 = CommonLoadDuoc.SoLuongTonTrongKho(-1L, Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdKho], -1), Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.IdThuoc], -1), Utility.Int64Dbnull(view[KcbDonthuocChitiet.Columns.IdThuockho], -1), new int?(Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("KIEMTRATHUOC_CHOXACNHAN", "1", false), 1)), Utility.ByteDbnull(objLuotkham.Noitru, 0));
                    if (this.em_Action == action.Update)
                    {
                        int soLuong = 0;
                        KcbDonthuocChitiet chitiet = new SubSonic.Select(new TableSchema.TableColumn[] { KcbDonthuocChitiet.SoLuongColumn }).From(KcbDonthuocChitiet.Schema).Where(KcbDonthuocChitiet.IdChitietdonthuocColumn).IsEqualTo(Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdChitietdonthuoc], -1)).ExecuteSingle<KcbDonthuocChitiet>();
                        if (chitiet != null)
                        {
                            soLuong = chitiet.SoLuong;
                        }
                        num3 += soLuong;
                    }
                    if (Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.SoLuong], 0) > num3)
                    {
                        Utility.ShowMsg(string.Format("Số lượng "+(KIEU_THUOC_VT == "THUOC" ?"thuốc":"vật tư")+" {0}({1}) vượt quá số lượng tồn trong kho{2}({3}) \nBạn cần chỉnh lại số lượng "+(KIEU_THUOC_VT == "THUOC" ?"thuốc":"vật tư")+"!", new object[] { Utility.sDbnull(view[DmucThuoc.Columns.TenThuoc], "").ToString(), Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.SoLuong], 0).ToString(), Utility.sDbnull(view[TDmucKho.Columns.TenKho], "").ToString(), num3.ToString() }));
                        this._temp = ActionResult.NotEnoughDrugInStock;
                        return null;
                    }
                    chitietArray[index] = new KcbDonthuocChitiet();
                    chitietArray[index].IdDonthuoc = this.IdDonthuoc;
                    chitietArray[index].IdChitietdonthuoc = Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdChitietdonthuoc], -1);
                    chitietArray[index].IdBenhnhan = new long?(this.objLuotkham.IdBenhnhan);
                    chitietArray[index].MaLuotkham = this.objLuotkham.MaLuotkham;
                    chitietArray[index].IdKho = new int?(Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdKho], -1));
                    chitietArray[index].IdThuoc = Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.IdThuoc], -1);
                    chitietArray[index].TrangthaiThanhtoan = Utility.ByteDbnull(view[KcbDonthuocChitiet.Columns.TrangthaiThanhtoan], 0);
                    chitietArray[index].SttIn = new short?(Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.SttIn], 1));
                    chitietArray[index].TrangthaiHuy = 0;
                    chitietArray[index].IdThuockho = new long?(num2);
                    chitietArray[index].GiaNhap = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.GiaNhap], -1));
                    chitietArray[index].GiaBan = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.GiaBan], -1));
                    chitietArray[index].Vat = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.Vat], -1));
                    chitietArray[index].SoLo = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.SoLo], -1);
                    chitietArray[index].MaNhacungcap = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.MaNhacungcap], -1);
                    chitietArray[index].NgayHethan = Utility.ConvertDate(view["sNgayhethan"].ToString()).Date;
                    chitietArray[index].SoluongHuy = 0;
                    chitietArray[index].TuTuc = new byte?(Utility.ByteDbnull(view[KcbDonthuocChitiet.Columns.TuTuc], 0));
                    chitietArray[index].SoLuong = Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.SoLuong], 0);
                    chitietArray[index].DonGia = Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0);
                    chitietArray[index].PhuThu = new decimal?(Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.PhuThu], 0));
                    chitietArray[index].MotaThem = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.MotaThem], "");
                    chitietArray[index].ChidanThem = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.ChidanThem], "");
                    chitietArray[index].CachDung = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.CachDung], "");
                    chitietArray[index].DonviTinh = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.DonviTinh], "");
                    chitietArray[index].SolanDung = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.SolanDung], null);
                    chitietArray[index].SoluongDung = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.SoluongDung], null);
                    chitietArray[index].SluongSua = 0;
                    chitietArray[index].SluongLinh = 0;
                    chitietArray[index].TrangThai = 0;
                    chitietArray[index].TrangthaiBhyt = 1;
                    chitietArray[index].IdThanhtoan = -1;
                    chitietArray[index].IdGoi = id_goidv;
                    chitietArray[index].TrongGoi = trong_goi;
                    chitietArray[index].NgayTao = new DateTime?(globalVariables.SysDate);
                    chitietArray[index].NguoiTao = globalVariables.UserName;
                    chitietArray[index].MaDoituongKcb = Utility.sDbnull(this.MaDoiTuong);
                    chitietArray[index].PtramBhyt = objLuotkham.TrangthaiNoitru <= 0 ? this.objLuotkham.PtramBhyt : objLuotkham.PtramBhytGoc;
                    chitietArray[index].PtramBhytGoc = this.objLuotkham.PtramBhytGoc;
                    if (Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.TuTuc], 0) == 0)
                    {
                        decimal BHCT = 0m;
                        if (objLuotkham.DungTuyen == 1)
                        {
                            BHCT = Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0) * (Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0) / 100);
                        }
                        else
                        {
                            if (objLuotkham.TrangthaiNoitru <= 0)
                                BHCT = Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0) * (Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0) / 100);
                            else//Nội trú cần tính=đơn giá * % đầu thẻ * % tuyến
                                BHCT = Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0) * (Utility.DecimaltoDbnull(objLuotkham.PtramBhytGoc, 0) / 100) * (BHYT_PTRAM_TRAITUYENNOITRU / 100);
                        }
                        //decimal num5 = (Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0) * Utility.DecimaltoDbnull(this.objLuotkham.PtramBhyt, 0)) / 100M;
                        decimal num6 = Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0) - BHCT;
                        chitietArray[index].BhytChitra = new decimal?(BHCT);
                        chitietArray[index].BnhanChitra = new decimal?(num6);

                    }
                    else//BHYT Tự túc
                    {
                        chitietArray[index].BhytChitra = 0;
                        chitietArray[index].BnhanChitra = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0));
                        chitietArray[index].PtramBhyt = 0;
                    }
                    if (this.objLuotkham.MaDoituongKcb == "BHYT")
                    {
                    }
                    index++;
                }
            }
            catch (Exception)
            {
            }
            return chitietArray;
        }
Exemplo n.º 27
0
        public ActionResult LuuHoibenhvaChandoan(KcbChandoanKetluan objDiagInfo,KcbDonthuocChitiet objChitiet,bool Luudulieutiemchung)
        {
            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var sh = new SharedDbConnectionScope())
                    {

                        if (objChitiet != null)
                        {
                            objChitiet.IsNew = false;
                            if (objDiagInfo != null)
                            {
                                objChitiet.PhanungSautiem = objDiagInfo.PhanungSautiemchung;
                                objChitiet.Xutri = objDiagInfo.HuongDieutri;
                                objChitiet.KetQua = objDiagInfo.Ketluan;
                                objChitiet.KetluanNguyennhan = objDiagInfo.KetluanNguyennhan;
                            }
                            objChitiet.MarkOld();
                            objChitiet.Save();
                        }
                        if (objDiagInfo != null)
                        {
                            if (objDiagInfo.IsNew)
                            {
                                objDiagInfo.Save();
                            }
                            else
                            {
                                objDiagInfo.MarkOld();
                                objDiagInfo.Save();
                            }
                            if (Luudulieutiemchung && objChitiet == null)
                            {
                                new Update(KcbDonthuocChitiet.Schema)
                                    .Set(KcbDonthuocChitiet.Columns.PhanungSautiem).EqualTo(objDiagInfo.PhanungSautiemchung)
                                    .Set(KcbDonthuocChitiet.Columns.Xutri).EqualTo(objDiagInfo.HuongDieutri)
                                    .Set(KcbDonthuocChitiet.Columns.KetQua).EqualTo(objDiagInfo.Ketluan)
                                    .Set(KcbDonthuocChitiet.Columns.KetluanNguyennhan).EqualTo(objDiagInfo.KetluanNguyennhan)
                                    .Where(KcbDonthuocChitiet.Columns.IdKham).IsEqualTo(objDiagInfo.IdKham)
                                    .Execute();
                            }
                        }
                    }

                    scope.Complete();
                    //  Reg_ID = Utility.Int32Dbnull(objRegExam.IdKham, -1);
                    return ActionResult.Success;
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh chuyen vien khoi noi tru {0}", exception);
                return ActionResult.Error;
            }
        }
        private void InsertPres(KcbDonthuocChitiet[] arrPresDetail)
        {
            try
            {
                Dictionary<long, long> lstChitietDonthuoc = new Dictionary<long, long>();
                if (arrPresDetail != null)
                {
                    this._actionResult = this._KEDONTHUOC.ThemDonThuoc(this.objLuotkham, this.CreateNewPres(), arrPresDetail, this._KcbChandoanKetluan, ref this.IdDonthuoc, ref lstChitietDonthuoc);
                    switch (this._actionResult)
                    {
                        case ActionResult.Error:
                            this.setMsg(this.lblMsg, "Lỗi trong quá trình lưu đơn "+(KIEU_THUOC_VT == "THUOC" ?"thuốc":"vật tư"), true);
                            break;

                        case ActionResult.Success:
                            this.UpdateChiDanThem();
                            this.txtPres_ID.Text = this.IdDonthuoc.ToString();
                            this.em_Action = action.Update;
                            this.setMsg(this.lblMsg, "Bạn thực hiện lưu đơn "+(KIEU_THUOC_VT == "THUOC" ?"thuốc":"vật tư") +" thành công", false);
                            this.UpdateDetailID(lstChitietDonthuoc);
                            this.m_blnCancel = false;
                            break;
                    }
                }
            }
            catch (Exception exception)
            {
                if (globalVariables.IsAdmin)
                {
                    Utility.ShowMsg(exception.ToString());
                }
            }
            finally
            {
                if (this.Manual)
                {
                    this.em_Action = action.Update;
                }
            }
        }
        private void UpdatePres(KcbDonthuocChitiet[] arrPresDetail)
        {
            Dictionary<long, long> lstChitietDonthuoc = new Dictionary<long, long>();
            if (arrPresDetail != null)
            {

                this._actionResult = this._KEDONTHUOC.CapnhatDonthuoc(this.objBenhnhan, this.CreateNewPres(), arrPresDetail, ref this.IdDonthuoc, ref lstChitietDonthuoc);
                switch (this._actionResult)
                {
                    case ActionResult.Error:
                        this.setMsg(this.lblMsg, "Lỗi trong quá trình lưu đơn thuốc", true);
                        break;

                    case ActionResult.Success:
                        this.UpdateChiDanThem();
                         DataRow[] arrDr = m_dtPatients.Select(KcbDanhsachBenhnhan.Columns.IdBenhnhan+ "="+objBenhnhan.IdBenhnhan.ToString());
                        if (arrDr!=null && arrDr.Length > 0)
                        {
                            KcbDanhsachBenhnhanCollection lstBN = new KcbDanhsachBenhnhanCollection();
                            lstBN.Add(objBenhnhan);
                            DataTable _temp = new DataTable();
                            _temp = lstBN.ToDataTable();
                            Utility.CopyData(_temp.Rows[0], ref arrDr[0]);
                            m_dtPatients.AcceptChanges();
                        }
                        this.setMsg(this.lblMsg, "Bạn thực hiện lưu đơn thuốc thành công", false);
                        this.UpdateDetailID(lstChitietDonthuoc);
                        this.m_blnCancel = false;
                           // this.Close();
                        break;
                }
            }
        }
        private void UpdatePres(KcbDonthuocChitiet[] arrPresDetail)
        {
            Dictionary<long, long> lstChitietDonthuoc = new Dictionary<long, long>();
            if (arrPresDetail != null)
            {
                this._actionResult = this._KEDONTHUOC.CapnhatDonthuoc(this.objLuotkham, this.CreateNewPres(), arrPresDetail, this._KcbChandoanKetluan, ref this.IdDonthuoc, ref lstChitietDonthuoc);
                switch (this._actionResult)
                {
                    case ActionResult.Error:
                        this.setMsg(this.lblMsg, "Lỗi trong quá trình lưu đơn "+(KIEU_THUOC_VT == "THUOC" ?"thuốc":"vật tư"), true);
                        break;

                    case ActionResult.Success:
                        this.UpdateChiDanThem();
                        this.setMsg(this.lblMsg, "Bạn thực hiện lưu đơn "+(KIEU_THUOC_VT == "THUOC" ?"thuốc":"vật tư") +" thành công", false);
                        this.UpdateDetailID(lstChitietDonthuoc);
                        this.m_blnCancel = false;
                        break;
                }
            }
        }
        public void Insert(int IdDonthuoc,int? IdDonthuocChuyengoi,long? IdKham,int? IdKho,int IdThuoc,DateTime NgayHethan,int SoLuong,int? SluongSua,int? SluongLinh,decimal DonGia,long? IdThuockho,DateTime? NgayNhap,decimal? GiaNhap,decimal? GiaBan,string SoLo,decimal? Vat,string MaNhacungcap,decimal? PhuThu,decimal? PhuthuDungtuyen,decimal? PhuthuTraituyen,string MotaThem,int? SoluongHuy,byte? TrangthaiHuy,string NguoiHuy,DateTime? NgayHuy,long? IdBenhnhan,string MaLuotkham,byte? TuTuc,byte? TrangThai,byte? TrangthaiTonghop,DateTime? NgayXacnhan,byte? TrangthaiBhyt,short? SttIn,string MadoituongGia,decimal? PtramBhytGoc,decimal? PtramBhyt,decimal? BhytChitra,decimal? BnhanChitra,string MaDoituongKcb,int? IdThanhtoan,byte? TrangthaiThanhtoan,DateTime? NgayThanhtoan,string CachDung,string ChidanThem,string DonviTinh,string SolanDung,string SoluongDung,byte? TrangthaiChuyen,DateTime? NgayTao,string NguoiTao,DateTime? NgaySua,string NguoiSua,decimal? TileChietkhau,decimal? TienChietkhau,string KieuChietkhau,int? IdGoi,byte? TrongGoi,string KieuBiendong,byte? NguonThanhtoan,string IpMaytao,string IpMaysua,string TenMaytao,string TenMaysua)
        {
            KcbDonthuocChitiet item = new KcbDonthuocChitiet();

            item.IdDonthuoc = IdDonthuoc;

            item.IdDonthuocChuyengoi = IdDonthuocChuyengoi;

            item.IdKham = IdKham;

            item.IdKho = IdKho;

            item.IdThuoc = IdThuoc;

            item.NgayHethan = NgayHethan;

            item.SoLuong = SoLuong;

            item.SluongSua = SluongSua;

            item.SluongLinh = SluongLinh;

            item.DonGia = DonGia;

            item.IdThuockho = IdThuockho;

            item.NgayNhap = NgayNhap;

            item.GiaNhap = GiaNhap;

            item.GiaBan = GiaBan;

            item.SoLo = SoLo;

            item.Vat = Vat;

            item.MaNhacungcap = MaNhacungcap;

            item.PhuThu = PhuThu;

            item.PhuthuDungtuyen = PhuthuDungtuyen;

            item.PhuthuTraituyen = PhuthuTraituyen;

            item.MotaThem = MotaThem;

            item.SoluongHuy = SoluongHuy;

            item.TrangthaiHuy = TrangthaiHuy;

            item.NguoiHuy = NguoiHuy;

            item.NgayHuy = NgayHuy;

            item.IdBenhnhan = IdBenhnhan;

            item.MaLuotkham = MaLuotkham;

            item.TuTuc = TuTuc;

            item.TrangThai = TrangThai;

            item.TrangthaiTonghop = TrangthaiTonghop;

            item.NgayXacnhan = NgayXacnhan;

            item.TrangthaiBhyt = TrangthaiBhyt;

            item.SttIn = SttIn;

            item.MadoituongGia = MadoituongGia;

            item.PtramBhytGoc = PtramBhytGoc;

            item.PtramBhyt = PtramBhyt;

            item.BhytChitra = BhytChitra;

            item.BnhanChitra = BnhanChitra;

            item.MaDoituongKcb = MaDoituongKcb;

            item.IdThanhtoan = IdThanhtoan;

            item.TrangthaiThanhtoan = TrangthaiThanhtoan;

            item.NgayThanhtoan = NgayThanhtoan;

            item.CachDung = CachDung;

            item.ChidanThem = ChidanThem;

            item.DonviTinh = DonviTinh;

            item.SolanDung = SolanDung;

            item.SoluongDung = SoluongDung;

            item.TrangthaiChuyen = TrangthaiChuyen;

            item.NgayTao = NgayTao;

            item.NguoiTao = NguoiTao;

            item.NgaySua = NgaySua;

            item.NguoiSua = NguoiSua;

            item.TileChietkhau = TileChietkhau;

            item.TienChietkhau = TienChietkhau;

            item.KieuChietkhau = KieuChietkhau;

            item.IdGoi = IdGoi;

            item.TrongGoi = TrongGoi;

            item.KieuBiendong = KieuBiendong;

            item.NguonThanhtoan = NguonThanhtoan;

            item.IpMaytao = IpMaytao;

            item.IpMaysua = IpMaysua;

            item.TenMaytao = TenMaytao;

            item.TenMaysua = TenMaysua;

            item.Save(UserName);
        }
Exemplo n.º 32
0
 /// <summary>
 /// hàm thực hiện việc tính giá chỉ định cls
 /// </summary>
 /// <param name="objPatientExam"></param>
 /// <param name="objPresDetail"></param>
 public static void TinhGiaChiDinhThuoc(KcbLuotkham objPatientExam, KcbDonthuocChitiet objPresDetail)
 {
     GB_TinhPhtramBHYT(objPresDetail, Utility.DecimaltoDbnull(objPatientExam.PtramBhyt, 0));
 }
Exemplo n.º 33
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 List<KcbDonthuocChitiet> GetChangedData()
 {
     List<KcbDonthuocChitiet> list = new List<KcbDonthuocChitiet>();
     this._temp = ActionResult.Success;
     KcbDonthuocChitiet[] chitietArray = new KcbDonthuocChitiet[this.m_dtDonthuocChitiet.DefaultView.Count];
     try
     {
         foreach (DataRow row in this.m_dtDonthuocChitiet.Rows)
         {
             long key = Utility.Int64Dbnull(row[KcbDonthuocChitiet.Columns.IdThuockho], -1);
             //if (this.lstChangeData.ContainsKey(key))
             //{
                 //string str = this.lstChangeData[key].ToString();
                 //if (this.isChanged(str))
                 //{
             int num3 = CommonLoadDuoc.SoLuongTonTrongKho(-1L, Utility.Int32Dbnull(row[KcbDonthuocChitiet.Columns.IdKho], -1), Utility.Int16Dbnull(row[KcbDonthuocChitiet.Columns.IdThuoc], -1), key, new int?(Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("KIEMTRATHUOC_CHOXACNHAN", "1", false), 1)), (byte)0);
                     if (this.m_enAct == action.Update)
                     {
                         int soLuong = 0;
                         KcbDonthuocChitiet chitiet = new SubSonic.Select(new TableSchema.TableColumn[] { KcbDonthuocChitiet.SoLuongColumn }).From(KcbDonthuocChitiet.Schema).Where(KcbDonthuocChitiet.IdChitietdonthuocColumn).IsEqualTo(Utility.Int32Dbnull(row[KcbDonthuocChitiet.Columns.IdChitietdonthuoc], -1)).ExecuteSingle<KcbDonthuocChitiet>();
                         if (chitiet != null)
                         {
                             soLuong = chitiet.SoLuong;
                         }
                         num3 += soLuong;
                     }
                     if (Utility.Int32Dbnull(row[KcbDonthuocChitiet.Columns.SoLuong], 0) > num3)
                     {
                         Utility.ShowMsg(string.Format("Số lượng thuốc {0}({1}) vượt quá số lượng tồn trong kho{2}({3}) \nBạn cần chỉnh lại số lượng thuốc!", new object[] { Utility.sDbnull(row[DmucThuoc.Columns.TenThuoc], "").ToString(), Utility.Int32Dbnull(row[KcbDonthuocChitiet.Columns.SoLuong], 0).ToString(), Utility.sDbnull(row[TDmucKho.Columns.TenKho], "").ToString(), num3.ToString() }));
                         this._temp = ActionResult.NotEnoughDrugInStock;
                         return null;
                     }
                     this.hasChanged = true;
                     list.Add(this.getNewItem(row));
                 //}
             //}
         }
         return list;
     }
     catch (Exception exception)
     {
         Utility.ShowMsg("Lỗi khi lấy dữ liệu cập nhật đơn thuốc:\n" + exception.Message);
         return null;
     }
 }
Exemplo n.º 35
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;
             }
        }
        private void PerformAction(KcbDonthuocChitiet[] arrPresDetail)
        {
            this.isSaved = true;
            switch (this.m_enAct)
            {
                case action.Insert:
                    this.InsertPres(arrPresDetail);
                    break;

                case action.Update:
                    this.UpdatePres(arrPresDetail);
                    break;
            }
        }
Exemplo n.º 37
0
        public ActionResult Tratien(KcbThanhtoan objThanhtoan, KcbLuotkham objLuotkham, List <Int64> lstIdChitiet)
        {
            decimal PtramBHYT = 0;
            ///tổng tiền hiện tại truyền vào của lần payment đang thực hiện
            decimal v_dblTongtienHuy = 0;
            ///tổng tiền đã thanh toán
            decimal v_TotalPaymentDetail = 0;

            try
            {
                using (var scope = new TransactionScope())
                {
                    using (var sh = new SharedDbConnectionScope())
                    {
                        KcbThanhtoanChitiet[] ArrKcbThanhtoanChitiet_Huy = new Select().From(KcbThanhtoanChitiet.Schema)
                                                                           .Where(KcbThanhtoanChitiet.Columns.IdChitiet).In(lstIdChitiet)
                                                                           .ExecuteAsCollection <KcbThanhtoanChitietCollection>().ToArray <KcbThanhtoanChitiet>();

                        List <int> lstIdThanhtoanTinhtoanlai = (from q in ArrKcbThanhtoanChitiet_Huy
                                                                select q.IdThanhtoan).ToList <int>();

                        v_dblTongtienHuy = TongtienKhongTutuc(ArrKcbThanhtoanChitiet_Huy);
                        KcbThanhtoanCollection lstKcbThanhtoanCollection =
                            new KcbThanhtoanController()
                            .FetchByQuery(
                                KcbThanhtoan.CreateQuery()
                                .AddWhere(KcbThanhtoan.Columns.MaLuotkham, Comparison.Equals, objLuotkham.MaLuotkham)
                                .AND(KcbThanhtoan.Columns.IdBenhnhan, Comparison.Equals, objLuotkham.IdBenhnhan)
                                .AND(KcbThanhtoan.Columns.KieuThanhtoan, Comparison.Equals, objThanhtoan.KieuThanhtoan)
                                .AND(KcbThanhtoan.Columns.TrangThai, Comparison.Equals, 0));//Chỉ lấy về các bản ghi thanh toán thường(0= thường;1= thanh toán hủy(trả lại tiền))
                        //Lấy tổng tiền của các lần thanh toán trước
                        List <KcbThanhtoanChitiet> lstKcbThanhtoanChitiet = new List <KcbThanhtoanChitiet>();

                        foreach (KcbThanhtoan Payment in lstKcbThanhtoanCollection)
                        {
                            KcbThanhtoanChitietCollection lstKcbThanhtoanChitietCollection = new Select().From(KcbThanhtoanChitiet.Schema)
                                                                                             .Where(KcbThanhtoanChitiet.Columns.IdThanhtoan).IsEqualTo(Payment.IdThanhtoan)
                                                                                             .And(KcbThanhtoanChitiet.Columns.TrangthaiHuy).IsEqualTo(0).ExecuteAsCollection
                                                                                             <KcbThanhtoanChitietCollection>();

                            foreach (KcbThanhtoanChitiet _KcbThanhtoanChitiet in lstKcbThanhtoanChitietCollection)
                            {
                                if (_KcbThanhtoanChitiet.TuTuc == 0)
                                {
                                    //Lấy các chi tiết sẽ update lại toàn bộ thông tin bhyt,bn chi trả theo % BHYT mới sau khi đã hủy một số dịch vụ
                                    //Các bản ghi hủy sẽ giữ nguyên thông tin không cần cập nhật
                                    if (!lstIdChitiet.Contains(_KcbThanhtoanChitiet.IdChitiet))
                                    {
                                        lstKcbThanhtoanChitiet.Add(_KcbThanhtoanChitiet);
                                        _KcbThanhtoanChitiet.IsNew = false;
                                        _KcbThanhtoanChitiet.MarkOld();
                                    }
                                    v_TotalPaymentDetail += Utility.Int32Dbnull(_KcbThanhtoanChitiet.SoLuong) *
                                                            Utility.DecimaltoDbnull(_KcbThanhtoanChitiet.DonGia);
                                }
                            }
                        }
                        List <int> lstIdThanhtoanCu = (from q in lstKcbThanhtoanChitiet
                                                       select q.IdThanhtoan).Distinct().ToList <int>();



                        LayThongtinPtramBHYT(v_TotalPaymentDetail - v_dblTongtienHuy, objLuotkham, ref PtramBHYT);
                        //Thêm mới dòng thanh toán hủy
                        objThanhtoan.TrangThai           = 1;
                        objThanhtoan.IdNhanvienThanhtoan = globalVariables.gv_intIDNhanvien;
                        objThanhtoan.NgayThanhtoan       = globalVariables.SysDate;
                        objThanhtoan.MaThanhtoan         = THU_VIEN_CHUNG.TaoMathanhtoan(globalVariables.SysDate);
                        objThanhtoan.IsNew = true;
                        objThanhtoan.Save();
                        //Tính lại thông tin BHYT,BN chi trả cho toàn bộ các chi tiết của BN đã thanh toán mà không bị hủy
                        KcbThanhtoanChitiet[] lsttemp = new List <KcbThanhtoanChitiet>().ToArray <KcbThanhtoanChitiet>();
                        THU_VIEN_CHUNG.TinhPhamTramBHYT(objLuotkham, ref lsttemp, ref lstKcbThanhtoanChitiet, PtramBHYT);
                        decimal TT_BN   = 0m;
                        decimal TT_BHYT = 0m;
                        decimal TT_Chietkhau_Chitiet = 0m;
                        //99% đặt thông số này=1
                        if (THU_VIEN_CHUNG.Laygiatrithamsohethong("BHYT_TINHLAI_TOANBODICHVU", "1", false) == "1")
                        {
                            foreach (int IdThanhtoan in lstIdThanhtoanCu)
                            {
                                TT_BN   = 0m;
                                TT_BHYT = 0m;
                                TT_Chietkhau_Chitiet = 0m;
                                List <KcbThanhtoanChitiet> _LstChitiet = (from q in lstKcbThanhtoanChitiet
                                                                          select q).ToList <KcbThanhtoanChitiet>();

                                if (_LstChitiet.Count > 0)
                                {
                                    foreach (KcbThanhtoanChitiet objThanhtoanDetail in _LstChitiet)
                                    {
                                        TT_BN += (objThanhtoanDetail.BnhanChitra + objThanhtoanDetail.PhuThu) * objThanhtoanDetail.SoLuong;
                                        if (!Utility.Byte2Bool(objThanhtoanDetail.TuTuc))
                                        {
                                            TT_BHYT += objThanhtoanDetail.BhytChitra * objThanhtoanDetail.SoLuong;
                                        }
                                        TT_Chietkhau_Chitiet += Utility.DecimaltoDbnull(objThanhtoanDetail.TienChietkhau, 0);
                                        //Lưu lại các thông tin tiền đã được tính toán lại ở thủ tục THU_VIEN_CHUNG.TinhPhamTramBHYT(...)
                                        objThanhtoanDetail.IsNew = false;
                                        objThanhtoanDetail.MarkOld();
                                        objThanhtoanDetail.Save();
                                    }
                                    //Update lại tiền thanh toán
                                    new Update(KcbThanhtoan.Schema)
                                    .Set(KcbThanhtoan.Columns.TongTien).EqualTo(TT_BHYT + TT_BN)
                                    .Set(KcbThanhtoan.Columns.BnhanChitra).EqualTo(TT_BN)
                                    .Set(KcbThanhtoan.Columns.BhytChitra).EqualTo(TT_BHYT)
                                    .Set(KcbThanhtoan.Columns.MaDoituongKcb).EqualTo(objLuotkham.MaDoituongKcb)
                                    .Set(KcbThanhtoan.Columns.IdDoituongKcb).EqualTo(objLuotkham.IdDoituongKcb)
                                    .Set(KcbThanhtoan.Columns.PtramBhyt).EqualTo(objLuotkham.PtramBhyt)
                                    .Where(KcbThanhtoan.Columns.IdThanhtoan).IsEqualTo(IdThanhtoan).Execute();
                                    //Update phiếu thu
                                    new Update(KcbPhieuthu.Schema)
                                    .Set(KcbPhieuthu.Columns.SoTien).EqualTo(TT_BN - TT_Chietkhau_Chitiet)
                                    .Set(KcbPhieuthu.Columns.SotienGoc).EqualTo(TT_BN)
                                    .Where(KcbPhieuthu.Columns.IdThanhtoan).IsEqualTo(IdThanhtoan).Execute();
                                }
                            }
                        }
                        //Reset và tính toán các số tiền liên quan đến các bản ghi hủy
                        TT_BN   = 0m;
                        TT_BHYT = 0m;
                        TT_Chietkhau_Chitiet = 0m;
                        //Cập nhật các dòng chi tiết được chọn hủy về trạng thái hủy và các dịch vụ trong các bảng tương ứng theo id_loaithanhtoan
                        foreach (KcbThanhtoanChitiet objKcbThanhtoanChitiet in ArrKcbThanhtoanChitiet_Huy)
                        {
                            TT_BN += (objKcbThanhtoanChitiet.BnhanChitra + objKcbThanhtoanChitiet.PhuThu) * objKcbThanhtoanChitiet.SoLuong;
                            if (!Utility.Byte2Bool(objKcbThanhtoanChitiet.TuTuc))
                            {
                                TT_BHYT += objKcbThanhtoanChitiet.BhytChitra * objKcbThanhtoanChitiet.SoLuong;
                            }
                            TT_Chietkhau_Chitiet += Utility.DecimaltoDbnull(objKcbThanhtoanChitiet.TienChietkhau, 0);

                            new Update(KcbThanhtoanChitiet.Schema)
                            .Set(KcbThanhtoanChitiet.Columns.TrangthaiHuy).EqualTo(1)
                            .Set(KcbThanhtoanChitiet.Columns.NgayHuy).EqualTo(globalVariables.SysDate)
                            .Set(KcbThanhtoanChitiet.Columns.NguoiHuy).EqualTo(globalVariables.UserName)
                            .Where(KcbThanhtoanChitiet.Columns.IdChitiet).IsEqualTo(objKcbThanhtoanChitiet.IdChitiet).
                            Execute();
                            ///thanh toán khám chữa bệnh))
                            if (objKcbThanhtoanChitiet.IdLoaithanhtoan == 1)
                            {
                                new Update(KcbDangkyKcb.Schema)
                                .Set(KcbDangkyKcb.Columns.TrangthaiThanhtoan).EqualTo(1)
                                .Set(KcbDangkyKcb.Columns.TrangthaiHuy).EqualTo(1)
                                .Where(KcbDangkyKcb.Columns.IdKham).IsEqualTo(objKcbThanhtoanChitiet.IdPhieu).Execute();
                            }
                            ///thah toán phần dịch vụ cận lâm sàng
                            if (objKcbThanhtoanChitiet.IdLoaithanhtoan == 2)
                            {
                                KcbChidinhclsChitiet objKcbChidinhclsChitiet = KcbChidinhclsChitiet.FetchByID(objKcbThanhtoanChitiet.IdChitietdichvu);
                                if (globalVariables.UserName != "ADMIN")
                                {
                                    if (objKcbChidinhclsChitiet != null && objKcbChidinhclsChitiet.TrangThai >= 3)//Đã có kết quả
                                    {
                                        return(ActionResult.AssignIsConfirmed);
                                    }
                                }
                                new Update(KcbChidinhclsChitiet.Schema)
                                .Set(KcbChidinhclsChitiet.Columns.TrangthaiThanhtoan).EqualTo(1)
                                .Set(KcbChidinhclsChitiet.Columns.TrangthaiHuy).EqualTo(1)
                                .Where(KcbChidinhclsChitiet.Columns.IdChitietchidinh).IsEqualTo(objKcbThanhtoanChitiet.IdChitietdichvu)
                                .Execute();
                            }
                            ///thanh toán phần thuốc
                            if (objKcbThanhtoanChitiet.IdLoaithanhtoan == 3)
                            {
                                KcbDonthuocChitiet objKcbDonthuocChitiet = KcbDonthuocChitiet.FetchByID(objKcbThanhtoanChitiet.IdPhieuChitiet);

                                if (globalVariables.UserName != "ADMIN")
                                {
                                    if (objKcbDonthuocChitiet != null && Utility.Byte2Bool(objKcbDonthuocChitiet.TrangThai))
                                    {
                                        return(ActionResult.PresIsConfirmed);
                                    }
                                }
                                new Update(KcbDonthuoc.Schema)
                                .Set(KcbDonthuoc.Columns.TrangThai).EqualTo(0)
                                .Where(KcbDonthuoc.Columns.IdDonthuoc).IsEqualTo(objKcbThanhtoanChitiet.IdPhieu).Execute();
                                new Update(KcbDonthuocChitiet.Schema)
                                .Set(KcbDonthuocChitiet.Columns.TrangthaiHuy).EqualTo(1)
                                .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objKcbThanhtoanChitiet.IdPhieuChitiet)
                                .Execute();
                            }
                            //Tạo dữ liệu hủy tiền

                            objKcbThanhtoanChitiet.IdChitiethuy = objKcbThanhtoanChitiet.IdChitiet;//Để biết dòng hủy này hủy cho chi tiết thanh toán nào
                            objKcbThanhtoanChitiet.TrangthaiHuy = 0;
                            objKcbThanhtoanChitiet.NguoiHuy     = null;
                            objKcbThanhtoanChitiet.NgayHuy      = null;
                            objKcbThanhtoanChitiet.IdThanhtoan  = Utility.Int32Dbnull(objThanhtoan.IdThanhtoan, -1);
                            objKcbThanhtoanChitiet.IsNew        = true;
                            objKcbThanhtoanChitiet.Save();
                        }

                        KcbPhieuthu objPhieuthu = new KcbPhieuthu();
                        objPhieuthu.IdThanhtoan = objThanhtoan.IdThanhtoan;

                        objPhieuthu.SoluongChungtugoc    = 1;
                        objPhieuthu.LoaiPhieuthu         = Convert.ToByte(1);//0= phiếu thu tiền;1= phiếu chi
                        objPhieuthu.MaPhieuthu           = THU_VIEN_CHUNG.GetMaPhieuThu(globalVariables.SysDate, 1);
                        objPhieuthu.NgayThuchien         = globalVariables.SysDate;
                        objPhieuthu.SoTien               = TT_BN - TT_Chietkhau_Chitiet;
                        objPhieuthu.SotienGoc            = TT_BN;
                        objPhieuthu.MaLydoChietkhau      = objThanhtoan.MaLydoChietkhau;
                        objPhieuthu.TienChietkhauchitiet = TT_Chietkhau_Chitiet;
                        objPhieuthu.TienChietkhau        = objThanhtoan.TongtienChietkhau;
                        objPhieuthu.TienChietkhauhoadon  = objPhieuthu.TienChietkhau - objPhieuthu.TienChietkhauchitiet;
                        objPhieuthu.NguoiNop             = globalVariables.UserName;
                        objPhieuthu.TaikhoanCo           = "";
                        objPhieuthu.TaikhoanNo           = "";
                        objPhieuthu.NoiTru               = (byte)objThanhtoan.NoiTru;
                        objPhieuthu.LydoNop              = "Trả tiền bệnh nhân";
                        objPhieuthu.IdKhoaThuchien       = globalVariables.idKhoatheoMay;
                        objPhieuthu.IdNhanvien           = globalVariables.gv_intIDNhanvien;
                        objPhieuthu.IsNew = true;
                        objPhieuthu.Save();

                        new Update(KcbThanhtoan.Schema)
                        .Set(KcbThanhtoan.Columns.TongTien).EqualTo(TT_BHYT + TT_BN)
                        .Set(KcbThanhtoan.Columns.BnhanChitra).EqualTo(TT_BN)
                        .Set(KcbThanhtoan.Columns.BhytChitra).EqualTo(TT_BHYT)
                        .Set(KcbThanhtoan.Columns.MaDoituongKcb).EqualTo(objLuotkham.MaDoituongKcb)
                        .Set(KcbThanhtoan.Columns.IdDoituongKcb).EqualTo(objLuotkham.IdDoituongKcb)
                        .Set(KcbThanhtoan.Columns.PtramBhyt).EqualTo(objLuotkham.PtramBhyt)
                        .Where(KcbThanhtoan.Columns.IdThanhtoan).IsEqualTo(objThanhtoan.IdThanhtoan).Execute();
                    }
                    scope.Complete();
                    return(ActionResult.Success);
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi trong qua trinh tra tien lai:{0}", exception.ToString());
                return(ActionResult.Error);
            }
        }
        private KcbDonthuocChitiet[] CreateArrayPresDetail()
        {
            this._temp = ActionResult.Success;
            int index = 0;
            KcbDonthuocChitiet[] chitietArray = new KcbDonthuocChitiet[this.m_dtDonthuocChitiet.DefaultView.Count];
            try
            {
                foreach (DataRowView view in this.m_dtDonthuocChitiet.DefaultView)
                {
                    long num2 = Utility.Int64Dbnull(view[KcbDonthuocChitiet.Columns.IdThuockho], -1);
                    int num3 = CommonLoadDuoc.SoLuongTonTrongKho(-1L, Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdKho], -1), Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.IdThuoc], -1), Utility.Int64Dbnull(view[KcbDonthuocChitiet.Columns.IdThuockho], -1), new int?(Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("KIEMTRATHUOC_CHOXACNHAN", "1", false), 1)), (byte)0);
                    if (this.m_enAct == action.Update)
                    {
                        int soLuong = 0;
                        KcbDonthuocChitiet chitiet = new SubSonic.Select(new TableSchema.TableColumn[] { KcbDonthuocChitiet.SoLuongColumn }).From(KcbDonthuocChitiet.Schema).Where(KcbDonthuocChitiet.IdChitietdonthuocColumn).IsEqualTo(Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdChitietdonthuoc], -1)).ExecuteSingle<KcbDonthuocChitiet>();
                        if (chitiet != null)
                        {
                            soLuong = chitiet.SoLuong;
                        }
                        num3 += soLuong;
                    }
                    if (Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.SoLuong], 0) > num3)
                    {
                        Utility.ShowMsg(string.Format("Số lượng thuốc {0}({1}) vượt quá số lượng tồn trong kho{2}({3}) \nBạn cần chỉnh lại số lượng thuốc!", new object[] { Utility.sDbnull(view[DmucThuoc.Columns.TenThuoc], "").ToString(), Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.SoLuong], 0).ToString(), Utility.sDbnull(view[TDmucKho.Columns.TenKho], "").ToString(), num3.ToString() }));
                        this._temp = ActionResult.NotEnoughDrugInStock;
                        return null;
                    }
                    chitietArray[index] = new KcbDonthuocChitiet();
                    chitietArray[index].IdDonthuoc = this.IdDonthuoc;
                    chitietArray[index].IdChitietdonthuoc = Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdChitietdonthuoc], -1);
                    chitietArray[index].IdBenhnhan = -1;
                    chitietArray[index].MaLuotkham = "";
                    chitietArray[index].IdKho = new int?(Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.IdKho], -1));
                    chitietArray[index].IdThuoc = Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.IdThuoc], -1);
                    chitietArray[index].TrangthaiThanhtoan = Utility.ByteDbnull(view[KcbDonthuocChitiet.Columns.TrangthaiThanhtoan], 0);
                    chitietArray[index].SttIn = new short?(Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.SttIn], 1));
                    chitietArray[index].TrangthaiHuy = 0;
                    chitietArray[index].IdThuockho = new long?(num2);
                    chitietArray[index].GiaNhap = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.GiaNhap], -1));
                    chitietArray[index].GiaBan = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.GiaBan], -1));
                    chitietArray[index].Vat = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.Vat], -1));
                    chitietArray[index].SoLo = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.SoLo], -1);
                    chitietArray[index].MaNhacungcap = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.MaNhacungcap], -1);
                    chitietArray[index].NgayHethan = Utility.ConvertDate(view["sNgayhethan"].ToString()).Date;
                    chitietArray[index].SoluongHuy = 0;
                    chitietArray[index].TuTuc = 0;
                    chitietArray[index].SoLuong = Utility.Int32Dbnull(view[KcbDonthuocChitiet.Columns.SoLuong], 0);
                    chitietArray[index].DonGia = Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0);
                    chitietArray[index].PhuThu = new decimal?(Utility.Int16Dbnull(view[KcbDonthuocChitiet.Columns.PhuThu], 0));
                    chitietArray[index].MotaThem = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.MotaThem], "");
                    chitietArray[index].ChidanThem = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.ChidanThem], "");
                    chitietArray[index].CachDung = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.CachDung], "");
                    chitietArray[index].DonviTinh = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.DonviTinh], "");
                    chitietArray[index].SolanDung = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.SolanDung], null);
                    chitietArray[index].SoluongDung = Utility.sDbnull(view[KcbDonthuocChitiet.Columns.SoluongDung], null);
                    chitietArray[index].SluongSua = 0;
                    chitietArray[index].SluongLinh = 0;
                    chitietArray[index].TrangThai = 0;
                    chitietArray[index].TrangthaiBhyt = 1;
                    chitietArray[index].IdThanhtoan = -1;
                    chitietArray[index].NgayTao = new DateTime?(globalVariables.SysDate);
                    chitietArray[index].NguoiTao = globalVariables.UserName;
                    chitietArray[index].MaDoituongKcb = Utility.sDbnull("DV");

                    chitietArray[index].BhytChitra = 0;
                    chitietArray[index].BnhanChitra = new decimal?(Utility.DecimaltoDbnull(view[KcbDonthuocChitiet.Columns.DonGia], 0));
                    chitietArray[index].PtramBhyt = 0;

                    index++;
                }
            }
            catch (Exception)
            {
            }
            return chitietArray;
        }
Exemplo n.º 39
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);
            }
        }
Exemplo n.º 40
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;
             }
        }
Exemplo n.º 41
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;
             }
        }
Exemplo n.º 42
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();
      }
 }
Exemplo n.º 43
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;
            }
        }
Exemplo n.º 44
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;
             }
        }
 public bool Delete(object IdChitietdonthuoc)
 {
     return(KcbDonthuocChitiet.Delete(IdChitietdonthuoc) == 1);
 }