public void Insert(int? IdDoituongKcb,short? IdLoaithuoc,int IdThuoc,decimal TyleGiamgia,string KieuGiamgia,decimal DonGia,decimal? PhuthuDungtuyen,int IdLoaidoituongKcb,decimal? PhuthuTraituyen,string MaDoituongKcb,string NguoiTao,DateTime? NgayTao,string NguoiSua,DateTime? NgaySua,string MaKhoaThuchien) { QheDoituongThuoc item = new QheDoituongThuoc(); item.IdDoituongKcb = IdDoituongKcb; item.IdLoaithuoc = IdLoaithuoc; item.IdThuoc = IdThuoc; item.TyleGiamgia = TyleGiamgia; item.KieuGiamgia = KieuGiamgia; item.DonGia = DonGia; item.PhuthuDungtuyen = PhuthuDungtuyen; item.IdLoaidoituongKcb = IdLoaidoituongKcb; item.PhuthuTraituyen = PhuthuTraituyen; item.MaDoituongKcb = MaDoituongKcb; item.NguoiTao = NguoiTao; item.NgayTao = NgayTao; item.NguoiSua = NguoiSua; item.NgaySua = NgaySua; item.MaKhoaThuchien = MaKhoaThuchien; item.Save(UserName); }
private void SaveAll() { try { Utility.SetMsg(lblMsg, "", false); decimal GiaDV = LayGiaDV(); int idThuoc = -1; decimal GiaPhuThu = 0; decimal GiaBHYT = LayGiaBHYT(); string KTH = "ALL"; foreach (Janus.Windows.GridEX.GridEXRow gridExRow in grdQhe.GetRows()) { idThuoc = Utility.Int32Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdThuoc].Value, -1); KTH = Utility.sDbnull(cboKhoaTH.SelectedValue, "-1") == "-1" ? "ALL" : Utility.sDbnull(cboKhoaTH.SelectedValue, "-1"); SqlQuery q = new Select().From(QheDoituongThuoc.Schema).Where(QheDoituongThuoc.Columns.IdThuoc). IsEqualTo(Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdThuoc].Value, -1)).And( QheDoituongThuoc.Columns.MaDoituongKcb).IsEqualTo(Utility.sDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.MaDoituongKcb].Value, "-1")); //.And(QheDoituongThuoc.Columns.MaKhoaThuchien).IsEqualTo(KTH); //.Or(QheDoituongThuoc.Columns.MaDoituongKcb).IsEqualTo("BHYT"); GiaPhuThu = Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.PhuthuTraituyen].Value, 0); int v_IdLoaidoituongKcb = Utility.Int32Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdLoaidoituongKcb].Value, 0); //Nếu có lưu đối tượng BHYT và tồn tại giá DV thì tự động tính phụ thu trái tuyến cho đối tượng BHYT đó if (gridExRow.Cells[QheDoituongThuoc.Columns.IdLoaidoituongKcb].Value.ToString() == "0" && GiaDV > 0) { GiaBHYT = Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.DonGia].Value, 0); if (PropertyLib._QheGiaThuocProperties.TudongDieuChinhGiaPTTT) GiaPhuThu = GiaDV - GiaBHYT > 0 ? GiaDV - GiaBHYT : 0; } //Nếu đối tượng BHYT có tồn tại thì update lại thông tin trong đó có giá phụ thu trái tuyến if (q.GetRecordCount() > 0) { new Update(QheDoituongThuoc.Schema) .Set(QheDoituongThuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(QheDoituongThuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(QheDoituongThuoc.Columns.IdLoaithuoc).EqualTo( Utility.Int32Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdLoaithuoc].Value, -1)) .Set(QheDoituongThuoc.Columns.DonGia).EqualTo( Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.DonGia].Value, 0)) .Set(QheDoituongThuoc.Columns.PhuthuDungtuyen).EqualTo( Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.PhuthuDungtuyen].Value, 0)) .Set(QheDoituongThuoc.Columns.PhuthuTraituyen).EqualTo(GiaPhuThu) .Set(QheDoituongThuoc.Columns.MaKhoaThuchien).EqualTo(KTH) .Where(QheDoituongThuoc.Columns.IdQuanhe).IsEqualTo( Utility.Int32Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdQuanhe].Value, "-1")) .Execute(); } else { DmucDoituongkcbCollection objectTypeCollection = new DmucDoituongkcbController().FetchByQuery( DmucDoituongkcb.CreateQuery().AddWhere(DmucDoituongkcb.Columns.MaDoituongKcb, Comparison.Equals, Utility.sDbnull(gridExRow.Cells[DmucDoituongkcb.Columns.MaDoituongKcb].Value, "-1"))); foreach (DmucDoituongkcb lObjectType in objectTypeCollection) { QheDoituongThuoc _newItems = new QheDoituongThuoc(); _newItems.IdDoituongKcb = lObjectType.IdDoituongKcb; _newItems.IdLoaithuoc = Utility.Int16Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdLoaithuoc].Value, -1); _newItems.IdThuoc = Utility.Int32Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdThuoc].Value, -1); _newItems.TyleGiamgia = 0; _newItems.KieuGiamgia = "%"; _newItems.DonGia = Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.DonGia].Value, 0); _newItems.PhuthuDungtuyen = Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.PhuthuDungtuyen].Value, 0); _newItems.PhuthuTraituyen = GiaPhuThu; _newItems.IdLoaidoituongKcb = Utility.Int32Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdLoaidoituongKcb].Value, -1); _newItems.MaDoituongKcb = lObjectType.MaDoituongKcb; _newItems.NguoiTao = globalVariables.UserName; _newItems.NgayTao = globalVariables.SysDate; _newItems.MaKhoaThuchien = KTH; _newItems.IsNew = true; _newItems.Save(); gridExRow.BeginEdit(); gridExRow.Cells[QheDoituongThuoc.Columns.IdQuanhe].Value = _newItems.IdQuanhe; gridExRow.EndEdit(); } } gridExRow.BeginEdit(); gridExRow.Cells[QheDoituongThuoc.Columns.PhuthuTraituyen].Value = GiaPhuThu; gridExRow.EndEdit(); grdQhe.UpdateData(); //Nếu có chỉnh giá dịch vụ-->Tự động chỉnh giá danh mục thuốc if (PropertyLib._QheGiaThuocProperties.TudongDieuChinhGiaDichVu) { SqlQuery sqlQuery = new Select().From(DmucDoituongkcb.Schema) .Where(DmucDoituongkcb.Columns.IdLoaidoituongKcb).IsEqualTo(1) .And(DmucDoituongkcb.Columns.MaDoituongKcb).IsEqualTo(Utility.sDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.MaDoituongKcb].Value, "-1")); DmucDoituongkcb objectType = sqlQuery.ExecuteSingle<DmucDoituongkcb>(); if (objectType != null) { new Update(DmucThuoc.Schema) .Set(DmucThuoc.Columns.DonGia) .EqualTo(Utility.DecimaltoDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.DonGia].Value, 0)) .Where(DmucThuoc.Columns.IdThuoc) .IsEqualTo(Utility.Int32Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdThuoc].Value, -1)).Execute(); } } } new Update(DmucThuoc.Schema).Set(DmucThuoc.Columns.DonGia).EqualTo(GiaDV) .Set(DmucThuoc.Columns.GiaBhyt).EqualTo(GiaBHYT) .Where(DmucThuoc.Columns.IdThuoc).IsEqualTo(Utility.Int32Dbnull(grdList.CurrentRow.Cells[DmucThuoc.Columns.IdThuoc].Value, -1)) .Execute(); //Cập nhật giá BHYT cho các khoa khác if (PropertyLib._QheGiaThuocProperties.TudongDieuChinhGiaBHYT) { if (GiaBHYT >= 0) { QheDoituongThuocCollection lstItems = new Select().From(QheDoituongThuoc.Schema). Where(QheDoituongThuoc.Columns.IdThuoc). IsEqualTo(idThuoc) .And(QheDoituongThuoc.MaKhoaThuchienColumn).IsNotEqualTo(KTH).ExecuteAsCollection<QheDoituongThuocCollection>(); foreach (QheDoituongThuoc item in lstItems) { int v_IdLoaidoituongKcb = item.IdLoaidoituongKcb; if (v_IdLoaidoituongKcb == 1) GiaDV = item.DonGia; } GiaPhuThu = 0; foreach (QheDoituongThuoc item in lstItems) { int v_IdLoaidoituongKcb = item.IdLoaidoituongKcb; if (v_IdLoaidoituongKcb.ToString() == "0" && GiaDV > 0)//Nếu là đối tượng BHYT { GiaPhuThu = GiaDV - GiaBHYT > 0 ? GiaDV - GiaBHYT : 0; Update _update = new Update(QheDoituongThuoc.Schema).Set(QheDoituongThuoc.DonGiaColumn).EqualTo(GiaBHYT); if (PropertyLib._QheGiaThuocProperties.TudongDieuChinhGiaPTTT) _update.Set(QheDoituongThuoc.PhuthuTraituyenColumn).EqualTo(GiaPhuThu); _update.Where(QheDoituongThuoc.IdLoaidoituongKcbColumn).IsEqualTo(0).And(QheDoituongThuoc.IdThuocColumn).IsEqualTo(idThuoc) .And(QheDoituongThuoc.MaKhoaThuchienColumn).IsNotEqualTo(KTH) .Execute(); } } } } Utility.SetMsg(lblMsg, "Bạn thực hiện cập nhập giá thành công",false); } catch (Exception exception) { Utility.SetMsg(lblMsg, "Lỗi trong quá trình cập nhập thông tin", false); } }
private static ActionResult CapnhatChiphiThuoc(KcbLuotkham objLuotkham) { using (var Scope = new TransactionScope()) { THUOC_GIATHEO_KHOAKCB = THU_VIEN_CHUNG.Laygiatrithamsohethong("THUOC_GIATHEO_KHOAKCB", "0", true) == "1"; SqlQuery sqlQuery; sqlQuery = new Select().From(KcbDonthuocChitiet.Schema) .Where(KcbDonthuocChitiet.Columns.IdDonthuoc).In( new Select(KcbDonthuoc.Columns.IdDonthuoc).From(KcbDonthuoc.Schema).Where( KcbDonthuoc.Columns.MaLuotkham). IsEqualTo(objLuotkham.MaLuotkham).And(KcbDonthuoc.Columns.IdBenhnhan). IsEqualTo(objLuotkham.IdBenhnhan)); var objChitietDonthuocCollection = sqlQuery.ExecuteAsCollection <KcbDonthuocChitietCollection>(); bool ApdunggiathuocDoituong = THU_VIEN_CHUNG.Laygiatrithamsohethong("APDUNG_GIATHUOC_DOITUONG", "0", true) == "1"; DmucDoituongkcb _DmucDoituongkcb = new Select().From(DmucDoituongkcb.Schema).Where(DmucDoituongkcb.Columns.MaDoituongKcb).IsEqualTo(objLuotkham.MaDoituongKcb).ExecuteSingle <DmucDoituongkcb>(); if (_DmucDoituongkcb == null) { return(ActionResult.Success); } foreach (KcbDonthuocChitiet objChitietDonthuoc in objChitietDonthuocCollection) { if (Utility.Int16Dbnull(objChitietDonthuoc.TrangthaiThanhtoan, 0) == 0) { DmucThuoc _DmucThuoc = DmucThuoc.FetchByID(objChitietDonthuoc.IdThuoc); decimal PtramBHYT = Utility.DecimaltoDbnull(objLuotkham.PtramBhyt); if (ApdunggiathuocDoituong || Utility.Byte2Bool(_DmucDoituongkcb.GiathuocQuanhe.Value)) // globalVariables.gv_GiathuoctheoGiatrongKho) { //Giá theo quan he--> QheDoituongThuoc _item = THU_VIEN_CHUNG.LayQheDoituongThuoc(objLuotkham.MaDoituongKcb, objChitietDonthuoc.IdThuoc, objLuotkham.MaKhoaThuchien, CLS_GIATHEO_KHOAKCB); if (_item != null) { objChitietDonthuoc.DonGia = Utility.DecimaltoDbnull(_item.DonGia); objChitietDonthuoc.PhuThu = (Utility.isTrue(objLuotkham.DungTuyen.Value) ? Utility.DecimaltoDbnull(_item.PhuthuDungtuyen) : Utility.DecimaltoDbnull(_item.PhuthuTraituyen)); objChitietDonthuoc.TuTuc = 0; objChitietDonthuoc.PtramBhyt = Utility.DecimaltoDbnull(PtramBHYT); } else { _item = THU_VIEN_CHUNG.LayQheDoituongThuoc("DV", objChitietDonthuoc.IdThuoc, objLuotkham.MaKhoaThuchien, THUOC_GIATHEO_KHOAKCB); if (_item != null) { objChitietDonthuoc.DonGia = Utility.DecimaltoDbnull(_item.DonGia); objChitietDonthuoc.PhuThu = (Utility.isTrue(objLuotkham.DungTuyen.Value) ? Utility.DecimaltoDbnull(_item.PhuthuDungtuyen) : Utility.DecimaltoDbnull(_item.PhuthuTraituyen)); objChitietDonthuoc.TuTuc = 1; objChitietDonthuoc.PtramBhyt = 0; } } } else //Giá theo kho--> { TThuockho objTK = TThuockho.FetchByID(objChitietDonthuoc.IdThuockho); if (objTK != null) { objChitietDonthuoc.DonGia = objLuotkham.IdLoaidoituongKcb == 0 ? Utility.DecimaltoDbnull(objTK.GiaBhyt.Value, objChitietDonthuoc.DonGia) : objTK.GiaBan; } if (objLuotkham.IdLoaidoituongKcb == 1)//Đối tượng dịch vụ-->ko cần phải đánh dấu tự túc { objChitietDonthuoc.TuTuc = 0; } if (Utility.Int32Dbnull(objChitietDonthuoc.TuTuc, 0) == 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); } } if (_DmucThuoc != null && Utility.Int32Dbnull(_DmucThuoc.TuTuc, 0) == 1) { objChitietDonthuoc.TuTuc = 1; //Ke ca co trong bang quan he } if (objLuotkham.IdLoaidoituongKcb == 1) //Đối tượng dịch vụ-->ko cần phải đánh dấu tự túc { objChitietDonthuoc.TuTuc = 0; } if (Utility.Int32Dbnull(objChitietDonthuoc.TuTuc, 0) == 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); } } else { return(ActionResult.Cancel); } } objChitietDonthuocCollection.SaveAll(); Scope.Complete(); return(ActionResult.Success); } }
/// <summary> /// HÀM THUWCJHIEENJ KHỞI TẠO CHI TIẾT ĐỐI TƯỢNG CHI TIÊT DỊCH VỤ /// </summary> /// <returns></returns> private QheDoituongThuoc CreateDmucDoituongkcbDetailService() { var objectTypeService = new QheDoituongThuoc(); return objectTypeService; }
private QheDoituongThuoc CreateObjectTypeService(GridEXRow gridExRow) { QheDoituongThuoc objectTypeService=new QheDoituongThuoc(); objectTypeService.DonGia = Utility.DecimaltoDbnull( gridExRow.Cells[QheDoituongThuoc.Columns.DonGia].Value, 0); objectTypeService.PhuthuDungtuyen = Utility.DecimaltoDbnull( gridExRow.Cells[QheDoituongThuoc.Columns.PhuthuDungtuyen].Value, 0); objectTypeService.IdThuoc = Utility.Int16Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdThuoc].Value); objectTypeService.IdDoituongKcb = Utility.Int16Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.IdDoituongKcb].Value, -1); objectTypeService.TyleGiamgia = Utility.Int16Dbnull(gridExRow.Cells[QheDoituongThuoc.Columns.TyleGiamgia].Value, -1); objectTypeService.KieuGiamgia = Utility.sDbnull(gridExRow.Cells[QheDoituongThuoc.Columns.KieuGiamgia].Value); return objectTypeService; }
void TaogiathuocQhe() { try { if (!Utility.AcceptQuestion("Bạn có chắc chắn tạo dữ liệu test giá thuốc quan hệ cho toàn bộ thuốc trong kho", "cảnh báo", true)) return; DmucThuocCollection lstThuoc = new DmucThuocController().FetchAll(); DmucDoituongkcbCollection lstdoituong = new DmucDoituongkcbController().FetchAll(); Random rnd = new Random(); foreach(DmucThuoc _thuoc in lstThuoc) { foreach (DmucDoituongkcb _doituong in lstdoituong) { QheDoituongThuoc _newitem = new QheDoituongThuoc(); _newitem.IdDoituongKcb = _doituong.IdDoituongKcb; _newitem.IdLoaithuoc = _thuoc.IdLoaithuoc; _newitem.IdThuoc = _thuoc.IdThuoc; _newitem.TyleGiamgia = 0; _newitem.KieuGiamgia = "%"; _newitem.DonGia = rnd.Next(1000, 5000); _newitem.PhuthuDungtuyen = 0; _newitem.IdLoaidoituongKcb = _doituong.IdLoaidoituongKcb; _newitem.PhuthuTraituyen = 0; _newitem.MaDoituongKcb = _doituong.MaDoituongKcb; _newitem.MaKhoaThuchien = "ALL"; _newitem.NguoiTao = globalVariables.UserName; _newitem.NgayTao = globalVariables.SysDate; _newitem.NguoiSua = globalVariables.UserName; _newitem.NgaySua = globalVariables.SysDate; _newitem.IsNew = true; _newitem.Save(); } } } catch { } }
/// <summary> /// hàm thực hiện việc xác nhận thông tin /// </summary> /// <param name="objPhieuNhap"></param> /// <returns></returns> public ActionResult XacNhanPhieuNhapKho(TPhieuNhapxuatthuoc objPhieuNhap, DateTime ngayxacnhan) { try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { //Lấy lại biến này để xử lý trường hợp người dùng trót nhập áp dụng BHYT sau đó lại đổi biến hệ thống do không muốn bool BHYT_LUACHON_APDUNG = Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("BHYT_LUACHON_APDUNG", "0", true), 0) == 1; bool TUDONG_CAPNHAT_GIADICHVU = Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("TUDONG_CAPNHAT_GIADICHVU", "0", true), 0) == 1; bool BHYT_CHOPHEPNHAPGIAPHUTHU = Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("BHYT_CHOPHEPNHAPGIAPHUTHU", "0", true), 0) == 1; SqlQuery sqlQuery = new Select().From(TPhieuNhapxuatthuocChitiet.Schema) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieuNhapxuatthuocChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection <TPhieuNhapxuatthuocChitietCollection>(); objPhieuNhap.NgayXacnhan = ngayxacnhan; foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { long idthuockho = -1; StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhap.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhonhap, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, -1, idthuockho, ngayxacnhan, objPhieuNhapCt.GiaBhyt); sp.Execute(); idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); new Update(TPhieuNhapxuatthuocChitiet.Schema) .Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(idthuockho) .Set(TPhieuNhapxuatthuocChitiet.Columns.NgayNhap).EqualTo(ngayxacnhan.Date) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.NgayNhap = ngayxacnhan.Date; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.PhuThu = 0; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.ThanhTien = Utility.DecimaltoDbnull(objPhieuNhapCt.ThanhTien); objXuatNhap.IdThuoc = Utility.Int32Dbnull(objPhieuNhapCt.IdThuoc); objXuatNhap.Vat = Utility.Int32Dbnull(objPhieuNhap.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; //objXuatNhap.IdNhaCcap = Utility.Int32Dbnull(objPhieuNhap.IdNhaCcap); objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(objPhieuNhap.LoaiPhieu); objXuatNhap.TenLoaiphieu = Utility.sDbnull(objPhieuNhap.TenLoaiphieu); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.IdThuockho = idthuockho; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = objPhieuNhapCt.GiaBhytCu; objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.GiaPhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.GiaPhuthuTraituyen; objXuatNhap.KieuThuocvattu = objPhieuNhap.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); if ((Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG) || TUDONG_CAPNHAT_GIADICHVU) { DmucDoituongkcbCollection _lstdoituong = new Select().From(DmucDoituongkcb.Schema).ExecuteAsCollection <DmucDoituongkcbCollection>(); //DmucDoituongkcbCollection _kcb = new Select().From(DmucDoituongkcb.Schema).Where(DmucDoituongkcb.Columns.IdLoaidoituongKcb).IsEqualTo(0).ExecuteAsCollection<DmucDoituongkcbCollection>(); DmucThuoc _objThuoc = new Select().From(DmucThuoc.Schema).Where(DmucThuoc.Columns.IdThuoc).IsEqualTo(objPhieuNhapCt.IdThuoc).ExecuteSingle <DmucThuoc>(); if (_lstdoituong != null && _objThuoc != null) { new Update(DmucThuoc.Schema).Set(DmucThuoc.Columns.DonGia).EqualTo(objPhieuNhapCt.GiaBan).Where(DmucThuoc.Columns.IdThuoc).IsEqualTo(_objThuoc.IdThuoc).Execute(); foreach (DmucDoituongkcb _kcb in _lstdoituong) { if ((Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG && _kcb.IdLoaidoituongKcb == 0) || (TUDONG_CAPNHAT_GIADICHVU && _kcb.IdLoaidoituongKcb == 1)) { decimal DonGia = 0m; decimal PhuthuDungtuyen = 0m; decimal PhuthuTraituyen = 0m; bool allowupdate = false; QheDoituongThuoc objQhe = new Select().From(QheDoituongThuoc.Schema) .Where(QheDoituongThuoc.Columns.IdThuoc).IsEqualTo(objPhieuNhapCt.IdThuoc) .And(QheDoituongThuoc.Columns.IdLoaidoituongKcb).IsEqualTo(_kcb.IdLoaidoituongKcb).ExecuteSingle <QheDoituongThuoc>(); if (objQhe != null)//Đã có quan hệ-->Cập nhật lại { if (_kcb.IdLoaidoituongKcb == 0) { if (Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt, 0); PhuthuDungtuyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen, 0) : objQhe.PhuthuDungtuyen.Value; PhuthuTraituyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen, 0) : objQhe.PhuthuTraituyen.Value; } } else { if (TUDONG_CAPNHAT_GIADICHVU) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan, 0); PhuthuDungtuyen = objQhe.PhuthuDungtuyen.Value; PhuthuTraituyen = objQhe.PhuthuTraituyen.Value; } } if (allowupdate) { new Update(QheDoituongThuoc.Schema) .Set(QheDoituongThuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(QheDoituongThuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(QheDoituongThuoc.Columns.DonGia).EqualTo(DonGia) .Set(QheDoituongThuoc.Columns.PhuthuDungtuyen).EqualTo(PhuthuDungtuyen) .Set(QheDoituongThuoc.Columns.PhuthuTraituyen).EqualTo(PhuthuTraituyen) .Where(QheDoituongThuoc.Columns.IdLoaidoituongKcb).IsEqualTo(_kcb.IdLoaidoituongKcb) .And(QheDoituongThuoc.Columns.IdThuoc).IsEqualTo(objPhieuNhapCt.IdThuoc) .Execute(); } } else { if (_kcb.IdLoaidoituongKcb == 0) { if (Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt, 0); PhuthuDungtuyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen, 0) : 0m; PhuthuTraituyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen, 0) : 0m; } } else { if (TUDONG_CAPNHAT_GIADICHVU) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan, 0); PhuthuDungtuyen = 0m; PhuthuTraituyen = 0m; } } if (allowupdate) { QheDoituongThuoc _newItems = new QheDoituongThuoc(); _newItems.IdDoituongKcb = _kcb.IdDoituongKcb; _newItems.IdLoaithuoc = _objThuoc.IdLoaithuoc; _newItems.IdThuoc = objPhieuNhapCt.IdThuoc; _newItems.TyleGiamgia = 0; _newItems.KieuGiamgia = "%"; _newItems.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt, 0); _newItems.PhuthuDungtuyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen, 0); _newItems.PhuthuTraituyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen, 0); _newItems.IdLoaidoituongKcb = _kcb.IdLoaidoituongKcb; _newItems.MaDoituongKcb = _kcb.MaDoituongKcb; _newItems.NguoiTao = globalVariables.UserName; _newItems.NgayTao = globalVariables.SysDate; _newItems.MaKhoaThuchien = "ALL"; _newItems.IsNew = true; _newItems.Save(); } } } } } } } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(ngayxacnhan) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(1) .Where(TPhieuNhapxuatthuoc.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu).Execute(); } Scope.Complete(); return(ActionResult.Success); } } catch (Exception exception) { log.Error("Loi trong qua trinh xac nhan don thuoc :{0}", exception); return(ActionResult.Error); } }
void ImportFromExcel(bool taoquanhe) { bool hasError = false; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { //new Delete().From(DmucThuoc.Schema).Execute(); //if (taoquanhe) //{ // List<int> lstIdDoituongKCB = (from p in grdObjectTypeList.GetCheckedRows() // select Utility.Int32Dbnull(p.Cells[DmucDoituongkcb.Columns.IdDoituongKcb].Value, 0) // ).ToList<int>(); // new Delete().From(QheDoituongThuoc.Schema).Where(QheDoituongThuoc.Columns.IdDoituongKcb).In(lstIdDoituongKCB).Execute(); //} SPs.ResetDuocAll().Execute(); int idx = 0; List<string> lstNoitruNgoaitru = new List<string>() { "ALL", "NOI", "NGOAI" }; List<string> lstThuoc_VT = new List<string>() { "THUOC", "VT" }; progressBar1.Visible = true; lblCount.Visible = true; progressBar1.Minimum = 0; progressBar1.Maximum = grdList.GetCheckedRows().Length; progressBar1.Value = 0; foreach (GridEXRow row in grdList.GetCheckedRows()) { idx++; if (progressBar1.Value + 1 <= progressBar1.Maximum) progressBar1.Value += 1; lblCount.Text = progressBar1.Value.ToString() + " / " + progressBar1.Maximum.ToString(); try { DmucThuoc _newDmucThuoc = new DmucThuoc(); _newDmucThuoc.DangBaoche = Utility.sDbnull(row.Cells[DmucThuoc.Columns.DangBaoche].Value, ""); _newDmucThuoc.DonGia = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.DonGia].Value, 0); _newDmucThuoc.GiaBhyt = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.GiaBhyt].Value, 0); _newDmucThuoc.HamLuong = Utility.sDbnull(row.Cells[DmucThuoc.Columns.HamLuong].Value, ""); _newDmucThuoc.HangSanxuat = Utility.sDbnull(row.Cells[DmucThuoc.Columns.HangSanxuat].Value, ""); _newDmucThuoc.HoatChat = Utility.sDbnull(row.Cells[DmucThuoc.Columns.HoatChat].Value, ""); _newDmucThuoc.IdLoaithuoc = Utility.Int16Dbnull(row.Cells[DmucThuoc.Columns.IdLoaithuoc].Value, -1); _newDmucThuoc.IdThuoc = -1; string KieuThuocvattu = Utility.DoTrim(Utility.sDbnull(row.Cells[DmucThuoc.Columns.KieuThuocvattu].Value, "THUOC")); _newDmucThuoc.KieuThuocvattu = KieuThuocvattu == "" || !lstThuoc_VT.Contains(KieuThuocvattu) ? "THUOC" : KieuThuocvattu; _newDmucThuoc.MaDonvitinh = Utility.sDbnull(row.Cells[DmucThuoc.Columns.MaDonvitinh].Value, ""); string ma_thuoc = Utility.DoTrim(Utility.sDbnull(row.Cells[DmucThuoc.Columns.MaThuoc].Value, "")); _newDmucThuoc.MaThuoc = ma_thuoc == "" ? "T" + idx.ToString() : ma_thuoc; _newDmucThuoc.MotaThem = Utility.sDbnull(row.Cells[DmucThuoc.Columns.MotaThem].Value, ""); string NoitruNgoaitru = Utility.DoTrim(Utility.sDbnull(row.Cells[DmucThuoc.Columns.NoitruNgoaitru].Value, "")); _newDmucThuoc.NoitruNgoaitru = NoitruNgoaitru == "" || !lstNoitruNgoaitru.Contains(NoitruNgoaitru) ? "ALL" : NoitruNgoaitru; _newDmucThuoc.NuocSanxuat = Utility.sDbnull(row.Cells[DmucThuoc.Columns.NuocSanxuat].Value, ""); _newDmucThuoc.PhuthuDungtuyen = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.PhuthuDungtuyen].Value, 0); _newDmucThuoc.PhuthuTraituyen = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.PhuthuTraituyen].Value, 0); _newDmucThuoc.QD31 = Utility.sDbnull(row.Cells[DmucThuoc.Columns.QD31].Value, ""); _newDmucThuoc.SoDangky = Utility.sDbnull(row.Cells[DmucThuoc.Columns.SoDangky].Value, ""); _newDmucThuoc.TenBhyt = Utility.sDbnull(row.Cells[DmucThuoc.Columns.TenBhyt].Value, ""); _newDmucThuoc.TenThuoc = Utility.sDbnull(row.Cells[DmucThuoc.Columns.TenThuoc].Value, ""); _newDmucThuoc.TinhChat = Utility.ByteDbnull(row.Cells[DmucThuoc.Columns.TinhChat].Value, 0); _newDmucThuoc.TrangThai = 1; _newDmucThuoc.TuTuc = Utility.ByteDbnull(row.Cells[DmucThuoc.Columns.TuTuc].Value, 0); _newDmucThuoc.IsNew = true; _newDmucThuoc.Save(); if (taoquanhe) { foreach (GridEXRow rowdoituong in grdObjectTypeList.GetCheckedRows()) { DmucDoituongkcb _DmucDoituongkcb = DmucDoituongkcb.FetchByID(Utility.Int32Dbnull(rowdoituong.Cells[DmucDoituongkcb.Columns.IdDoituongKcb].Value, -1)); QheDoituongThuoc _QheDoituongThuoc = new QheDoituongThuoc(); _QheDoituongThuoc.IdDoituongKcb = _DmucDoituongkcb.IdDoituongKcb; _QheDoituongThuoc.IdLoaithuoc = _newDmucThuoc.IdLoaithuoc; _QheDoituongThuoc.IdThuoc = _newDmucThuoc.IdThuoc; _QheDoituongThuoc.TyleGiamgia = 0; _QheDoituongThuoc.KieuGiamgia = "%"; _QheDoituongThuoc.DonGia = (THU_VIEN_CHUNG.IsBaoHiem(_DmucDoituongkcb.IdLoaidoituongKcb) ? Utility.DecimaltoDbnull(_newDmucThuoc.GiaBhyt, 0) : Utility.DecimaltoDbnull(_newDmucThuoc.DonGia, 0)); _QheDoituongThuoc.PhuthuDungtuyen = (THU_VIEN_CHUNG.IsBaoHiem(_DmucDoituongkcb.IdLoaidoituongKcb) ? Utility.DecimaltoDbnull(_newDmucThuoc.PhuthuDungtuyen, 0) : 0m); _QheDoituongThuoc.PhuthuTraituyen = (THU_VIEN_CHUNG.IsBaoHiem(_DmucDoituongkcb.IdLoaidoituongKcb) ? Utility.DecimaltoDbnull(_newDmucThuoc.PhuthuTraituyen, 0) : 0m); _QheDoituongThuoc.IdLoaidoituongKcb = _DmucDoituongkcb.IdLoaidoituongKcb; _QheDoituongThuoc.MaDoituongKcb = _DmucDoituongkcb.MaDoituongKcb; _QheDoituongThuoc.MaKhoaThuchien = globalVariables.MA_KHOA_THIEN; _QheDoituongThuoc.NgayTao = globalVariables.SysDate; _QheDoituongThuoc.NguoiTao = globalVariables.UserName; _QheDoituongThuoc.IsNew = true; _QheDoituongThuoc.Save(); } } } catch { hasError = true; row.BeginEdit(); row.Cells["Error"].Value = 1; row.Cells["Success"].Value = 0; row.EndEdit(); } finally { Application.DoEvents(); } } } if (hasError) { if (Utility.AcceptQuestion("Có lỗi trong quá trình đẩy dữ liệu thuốc từ file excel vào hệ thống. Bạn có muốn chấp nhận các dữ liệu đã đẩy thành công hay không?\nChú ý: Với các dữ liệu lỗi bạn có thể liên hệ để được trợ giúp để khắc phục")) { Scope.Complete(); m_blnCancel = false; } } else { Scope.Complete(); Utility.ShowMsg("Đã nhập liệu thành công. Nhấn OK để kết thúc"); m_blnCancel = false; } } } catch (Exception ex) { Utility.CatchException("Lỗi khi xuất thuốc ra file Excel", ex); } finally { progressBar1.Visible = false; lblCount.Visible = false; } }
/// <summary> /// hàm thực hiện việc xác nhận thông tin /// </summary> /// <param name="objPhieuNhap"></param> /// <returns></returns> public ActionResult XacNhanPhieuNhapKho(TPhieuNhapxuatthuoc objPhieuNhap,DateTime ngayxacnhan) { try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { //Sẽ hướng đơn vị theo kiểu bốc thuốc trong bảng t_thuockho+Cho nhập giá BHYT,giá DV ngay tại chức năng nhập thuốc từ nhà cung cấp bool BHYT_LUACHON_APDUNG = Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("BHYT_LUACHON_APDUNG", "0", false), 0) == 1; bool TUDONG_CAPNHAT_GIADICHVU = Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("TUDONG_CAPNHAT_GIADICHVU", "0", false), 0) == 1; bool BHYT_CHOPHEPNHAPGIAPHUTHU = Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("BHYT_CHOPHEPNHAPGIAPHUTHU", "0", false), 0) == 1; SqlQuery sqlQuery = new Select().From(TPhieuNhapxuatthuocChitiet.Schema) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieuNhapxuatthuocChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection<TPhieuNhapxuatthuocChitietCollection>(); objPhieuNhap.NgayXacnhan = ngayxacnhan; foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { long idthuockho=-1; StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhap.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhonhap, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, -1, idthuockho, ngayxacnhan, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); idthuockho=Utility.Int64Dbnull(sp.OutputValues[0],-1); new Update(TPhieuNhapxuatthuocChitiet.Schema) .Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(idthuockho) .Set(TPhieuNhapxuatthuocChitiet.Columns.NgayNhap).EqualTo(ngayxacnhan.Date) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.NgayNhap = ngayxacnhan.Date; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.ThuocVay = objPhieuNhap.PhieuVay; objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.PhuThu = 0; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.ThanhTien = Utility.DecimaltoDbnull(objPhieuNhapCt.ThanhTien); objXuatNhap.IdThuoc = Utility.Int32Dbnull(objPhieuNhapCt.IdThuoc); objXuatNhap.Vat = Utility.Int32Dbnull(objPhieuNhap.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; //objXuatNhap.IdNhaCcap = Utility.Int32Dbnull(objPhieuNhap.IdNhaCcap); objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(objPhieuNhap.LoaiPhieu); objXuatNhap.TenLoaiphieu = Utility.sDbnull(objPhieuNhap.TenLoaiphieu); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.IdThuockho = idthuockho; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu =objPhieuNhapCt.GiaBhytCu; objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.GiaPhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.GiaPhuthuTraituyen; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.DuTru = 0; objXuatNhap.KieuThuocvattu = objPhieuNhap.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); new Update(DmucThuoc.Schema) .Set(DmucThuoc.Columns.DonGia).EqualTo(objPhieuNhapCt.DonGia) .Set(DmucThuoc.Columns.GiaDv).EqualTo(objPhieuNhapCt.GiaBan) .Set(DmucThuoc.Columns.GiaBhyt).EqualTo(objPhieuNhapCt.GiaBhyt) .Set(DmucThuoc.Columns.PhuthuDungtuyen).EqualTo(objPhieuNhapCt.GiaPhuthuDungtuyen) .Set(DmucThuoc.Columns.PhuthuTraituyen).EqualTo(objPhieuNhapCt.GiaPhuthuTraituyen) .Where(DmucThuoc.Columns.IdThuoc).IsEqualTo(objPhieuNhapCt.IdThuoc).Execute(); if ((Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG) || TUDONG_CAPNHAT_GIADICHVU) { DmucDoituongkcbCollection _lstdoituong = new Select().From(DmucDoituongkcb.Schema).ExecuteAsCollection<DmucDoituongkcbCollection>(); //DmucDoituongkcbCollection _kcb = new Select().From(DmucDoituongkcb.Schema).Where(DmucDoituongkcb.Columns.IdLoaidoituongKcb).IsEqualTo(0).ExecuteAsCollection<DmucDoituongkcbCollection>(); DmucThuoc _objThuoc = new Select().From(DmucThuoc.Schema).Where(DmucThuoc.Columns.IdThuoc).IsEqualTo(objPhieuNhapCt.IdThuoc).ExecuteSingle<DmucThuoc>(); if (_lstdoituong != null && _objThuoc != null ) { foreach (DmucDoituongkcb _kcb in _lstdoituong) { if ((Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG && _kcb.IdLoaidoituongKcb == 0) || (TUDONG_CAPNHAT_GIADICHVU && _kcb.IdLoaidoituongKcb == 1)) { decimal DonGia = 0m; decimal PhuthuDungtuyen = 0m; decimal PhuthuTraituyen = 0m; bool allowupdate = false; QheDoituongThuoc objQhe = new Select().From(QheDoituongThuoc.Schema) .Where(QheDoituongThuoc.Columns.IdThuoc).IsEqualTo(objPhieuNhapCt.IdThuoc) .And(QheDoituongThuoc.Columns.IdLoaidoituongKcb).IsEqualTo(_kcb.IdLoaidoituongKcb).ExecuteSingle<QheDoituongThuoc>(); if (objQhe!=null)//Đã có quan hệ-->Cập nhật lại { if (_kcb.IdLoaidoituongKcb == 0) { if (Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt, 0); PhuthuDungtuyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen, 0) : objQhe.PhuthuDungtuyen.Value; PhuthuTraituyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen, 0) : objQhe.PhuthuTraituyen.Value; } } else { if (TUDONG_CAPNHAT_GIADICHVU) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan, 0); PhuthuDungtuyen = objQhe.PhuthuDungtuyen.Value; PhuthuTraituyen = objQhe.PhuthuTraituyen.Value; } } if (allowupdate) new Update(QheDoituongThuoc.Schema) .Set(QheDoituongThuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(QheDoituongThuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(QheDoituongThuoc.Columns.DonGia).EqualTo(DonGia) .Set(QheDoituongThuoc.Columns.PhuthuDungtuyen).EqualTo(PhuthuDungtuyen) .Set(QheDoituongThuoc.Columns.PhuthuTraituyen).EqualTo(PhuthuTraituyen) .Where(QheDoituongThuoc.Columns.IdLoaidoituongKcb).IsEqualTo(_kcb.IdLoaidoituongKcb) .And(QheDoituongThuoc.Columns.IdThuoc).IsEqualTo(objPhieuNhapCt.IdThuoc) .Execute(); } else { if (_kcb.IdLoaidoituongKcb == 0) { if (Utility.ByteDbnull(objPhieuNhapCt.CoBhyt, 0) == 1 && BHYT_LUACHON_APDUNG) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt, 0); PhuthuDungtuyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen, 0) : 0m; PhuthuTraituyen = BHYT_CHOPHEPNHAPGIAPHUTHU ? Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen, 0) : 0m; } } else { if (TUDONG_CAPNHAT_GIADICHVU) { allowupdate = true; DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan, 0); PhuthuDungtuyen = 0m; PhuthuTraituyen = 0m; } } if (allowupdate) { QheDoituongThuoc _newItems = new QheDoituongThuoc(); _newItems.IdDoituongKcb = _kcb.IdDoituongKcb; _newItems.IdLoaithuoc = _objThuoc.IdLoaithuoc; _newItems.IdThuoc = objPhieuNhapCt.IdThuoc; _newItems.TyleGiamgia = 0; _newItems.KieuGiamgia = "%"; _newItems.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt, 0); _newItems.PhuthuDungtuyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen, 0); _newItems.PhuthuTraituyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen, 0); _newItems.IdLoaidoituongKcb = _kcb.IdLoaidoituongKcb; _newItems.MaDoituongKcb = _kcb.MaDoituongKcb; _newItems.NguoiTao = globalVariables.UserName; _newItems.NgayTao = globalVariables.SysDate; _newItems.MaKhoaThuchien = "ALL"; _newItems.IsNew = true; _newItems.Save(); } } } } } } } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(ngayxacnhan) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(1) .Where(TPhieuNhapxuatthuoc.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh xac nhan don thuoc :{0}", exception); return ActionResult.Error; } }
void ImportFromExcel(bool taoquanhe) { bool hasError = false; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { //new Delete().From(DmucThuoc.Schema).Execute(); //if (taoquanhe) //{ // List<int> lstIdDoituongKCB = (from p in grdObjectTypeList.GetCheckedRows() // select Utility.Int32Dbnull(p.Cells[DmucDoituongkcb.Columns.IdDoituongKcb].Value, 0) // ).ToList<int>(); // new Delete().From(QheDoituongThuoc.Schema).Where(QheDoituongThuoc.Columns.IdDoituongKcb).In(lstIdDoituongKCB).Execute(); //} SPs.ResetDuocAll().Execute(); int idx = 0; List <string> lstNoitruNgoaitru = new List <string>() { "ALL", "NOI", "NGOAI" }; List <string> lstThuoc_VT = new List <string>() { "THUOC", "VT" }; progressBar1.Visible = true; lblCount.Visible = true; progressBar1.Minimum = 0; progressBar1.Maximum = grdList.GetCheckedRows().Length; progressBar1.Value = 0; foreach (GridEXRow row in grdList.GetCheckedRows()) { idx++; if (progressBar1.Value + 1 <= progressBar1.Maximum) { progressBar1.Value += 1; } lblCount.Text = progressBar1.Value.ToString() + " / " + progressBar1.Maximum.ToString(); try { DmucThuoc _newDmucThuoc = new DmucThuoc(); _newDmucThuoc.DangBaoche = Utility.sDbnull(row.Cells[DmucThuoc.Columns.DangBaoche].Value, ""); _newDmucThuoc.DonGia = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.DonGia].Value, 0); _newDmucThuoc.GiaBhyt = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.GiaBhyt].Value, 0); _newDmucThuoc.HamLuong = Utility.sDbnull(row.Cells[DmucThuoc.Columns.HamLuong].Value, ""); _newDmucThuoc.HangSanxuat = Utility.sDbnull(row.Cells[DmucThuoc.Columns.HangSanxuat].Value, ""); _newDmucThuoc.HoatChat = Utility.sDbnull(row.Cells[DmucThuoc.Columns.HoatChat].Value, ""); _newDmucThuoc.IdLoaithuoc = Utility.Int16Dbnull(row.Cells[DmucThuoc.Columns.IdLoaithuoc].Value, -1); _newDmucThuoc.IdThuoc = -1; string KieuThuocvattu = Utility.DoTrim(Utility.sDbnull(row.Cells[DmucThuoc.Columns.KieuThuocvattu].Value, "THUOC")); _newDmucThuoc.KieuThuocvattu = KieuThuocvattu == "" || !lstThuoc_VT.Contains(KieuThuocvattu) ? "THUOC" : KieuThuocvattu; _newDmucThuoc.MaDonvitinh = Utility.sDbnull(row.Cells[DmucThuoc.Columns.MaDonvitinh].Value, ""); string ma_thuoc = Utility.DoTrim(Utility.sDbnull(row.Cells[DmucThuoc.Columns.MaThuoc].Value, "")); _newDmucThuoc.MaThuoc = ma_thuoc == "" ? "T" + idx.ToString() : ma_thuoc; _newDmucThuoc.MotaThem = Utility.sDbnull(row.Cells[DmucThuoc.Columns.MotaThem].Value, ""); string NoitruNgoaitru = Utility.DoTrim(Utility.sDbnull(row.Cells[DmucThuoc.Columns.NoitruNgoaitru].Value, "")); _newDmucThuoc.NoitruNgoaitru = NoitruNgoaitru == "" || !lstNoitruNgoaitru.Contains(NoitruNgoaitru) ? "ALL" : NoitruNgoaitru; _newDmucThuoc.NuocSanxuat = Utility.sDbnull(row.Cells[DmucThuoc.Columns.NuocSanxuat].Value, ""); _newDmucThuoc.PhuthuDungtuyen = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.PhuthuDungtuyen].Value, 0); _newDmucThuoc.PhuthuTraituyen = Utility.DecimaltoDbnull(row.Cells[DmucThuoc.Columns.PhuthuTraituyen].Value, 0); _newDmucThuoc.QD31 = Utility.sDbnull(row.Cells[DmucThuoc.Columns.QD31].Value, ""); _newDmucThuoc.SoDangky = Utility.sDbnull(row.Cells[DmucThuoc.Columns.SoDangky].Value, ""); _newDmucThuoc.TenBhyt = Utility.sDbnull(row.Cells[DmucThuoc.Columns.TenBhyt].Value, ""); _newDmucThuoc.TenThuoc = Utility.sDbnull(row.Cells[DmucThuoc.Columns.TenThuoc].Value, ""); _newDmucThuoc.TinhChat = Utility.ByteDbnull(row.Cells[DmucThuoc.Columns.TinhChat].Value, 0); _newDmucThuoc.TrangThai = 1; _newDmucThuoc.TuTuc = Utility.ByteDbnull(row.Cells[DmucThuoc.Columns.TuTuc].Value, 0); _newDmucThuoc.IsNew = true; _newDmucThuoc.Save(); if (taoquanhe) { foreach (GridEXRow rowdoituong in grdObjectTypeList.GetCheckedRows()) { DmucDoituongkcb _DmucDoituongkcb = DmucDoituongkcb.FetchByID(Utility.Int32Dbnull(rowdoituong.Cells[DmucDoituongkcb.Columns.IdDoituongKcb].Value, -1)); QheDoituongThuoc _QheDoituongThuoc = new QheDoituongThuoc(); _QheDoituongThuoc.IdDoituongKcb = _DmucDoituongkcb.IdDoituongKcb; _QheDoituongThuoc.IdLoaithuoc = _newDmucThuoc.IdLoaithuoc; _QheDoituongThuoc.IdThuoc = _newDmucThuoc.IdThuoc; _QheDoituongThuoc.TyleGiamgia = 0; _QheDoituongThuoc.KieuGiamgia = "%"; _QheDoituongThuoc.DonGia = (THU_VIEN_CHUNG.IsBaoHiem(_DmucDoituongkcb.IdLoaidoituongKcb) ? Utility.DecimaltoDbnull(_newDmucThuoc.GiaBhyt, 0) : Utility.DecimaltoDbnull(_newDmucThuoc.DonGia, 0)); _QheDoituongThuoc.PhuthuDungtuyen = (THU_VIEN_CHUNG.IsBaoHiem(_DmucDoituongkcb.IdLoaidoituongKcb) ? Utility.DecimaltoDbnull(_newDmucThuoc.PhuthuDungtuyen, 0) : 0m); _QheDoituongThuoc.PhuthuTraituyen = (THU_VIEN_CHUNG.IsBaoHiem(_DmucDoituongkcb.IdLoaidoituongKcb) ? Utility.DecimaltoDbnull(_newDmucThuoc.PhuthuTraituyen, 0) : 0m); _QheDoituongThuoc.IdLoaidoituongKcb = _DmucDoituongkcb.IdLoaidoituongKcb; _QheDoituongThuoc.MaDoituongKcb = _DmucDoituongkcb.MaDoituongKcb; _QheDoituongThuoc.MaKhoaThuchien = globalVariables.MA_KHOA_THIEN; _QheDoituongThuoc.NgayTao = globalVariables.SysDate; _QheDoituongThuoc.NguoiTao = globalVariables.UserName; _QheDoituongThuoc.IsNew = true; _QheDoituongThuoc.Save(); } } } catch { hasError = true; row.BeginEdit(); row.Cells["Error"].Value = 1; row.Cells["Success"].Value = 0; row.EndEdit(); } finally { Application.DoEvents(); } } } if (hasError) { if (Utility.AcceptQuestion("Có lỗi trong quá trình đẩy dữ liệu thuốc từ file excel vào hệ thống. Bạn có muốn chấp nhận các dữ liệu đã đẩy thành công hay không?\nChú ý: Với các dữ liệu lỗi bạn có thể liên hệ để được trợ giúp để khắc phục")) { Scope.Complete(); m_blnCancel = false; } } else { Scope.Complete(); Utility.ShowMsg("Đã nhập liệu thành công. Nhấn OK để kết thúc"); m_blnCancel = false; } } } catch (Exception ex) { Utility.CatchException("Lỗi khi xuất thuốc ra file Excel", ex); } finally { progressBar1.Visible = false; lblCount.Visible = false; } }