public ActionResult XacnhanPhieuTrathuocNhacungcap(TPhieuNhapxuatthuoc objPhieuNhap) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { SqlQuery sqlQuery = new Select().From(TPhieuNhapxuatthuocChitiet.Schema) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieuNhapxuatthuocChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection<TPhieuNhapxuatthuocChitietCollection>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Insert dòng hủy vào TBiendongThuoc TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.NgayHoadon =objPhieuNhap.NgayHoadon; objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdThuockho); objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = 0; objXuatNhap.GiaBhytCu = 0; objXuatNhap.GiaPhuthuDungtuyen = 0; objXuatNhap.GiaPhuthuTraituyen = 0; objXuatNhap.DuTru = 0; objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = objPhieuNhap.LoaiPhieu; objXuatNhap.TenLoaiphieu = objPhieuNhap.TenLoaiphieu; objXuatNhap.NgayBiendong = objPhieuNhap.NgayHoadon; objXuatNhap.IsNew = true; objXuatNhap.Save(); StoredProcedure sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objXuatNhap.SoLuong), objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo( globalVariables.SysDate) .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 ban ra tu sp :{0}", errorMessage); log.Error("Loi trong qua trinh xac nhan don thuoc :{0}", exception); return ActionResult.Error; } }
public ActionResult XacNhanPhieuTrathuocThuatukhoanoitruveKhoLeNoitru(TPhieuNhapxuatthuoc objPhieuNhap, DateTime ngayxacnhan, ref string errMsg) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { 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) { ActionResult _Kiemtrathuocxacnhan = ActionResult.Success; if (_Kiemtrathuocxacnhan != ActionResult.Success) return _Kiemtrathuocxacnhan; long idthuockho = -1; //Nhập vào kho nhận StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.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(); //Lấy về Id_thuockho tương ứng trong tủ trực idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); if (idthuockho > 0) new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(idthuockho) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); else idthuockho = Utility.Int64Dbnull(objPhieuNhapCt.IdThuockho, -1); objPhieuNhapCt.IdThuockho = idthuockho; //Insert dòng kho nhập TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaPhuthuDungtuyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen); objXuatNhap.GiaPhuthuTraituyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen); objXuatNhap.GiaBhyt = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt); objXuatNhap.GiaBhytCu = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhytCu); objXuatNhap.IdChuyen = objPhieuNhapCt.IdChuyen; objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.PhuThu = 0; objXuatNhap.DuTru = objPhieuNhap.DuTru; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.SluongChia = Utility.Int32Dbnull(objPhieuNhapCt.SluongChia, 1); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.ThanhTien = Utility.DecimaltoDbnull(objPhieuNhapCt.ThanhTien); objXuatNhap.IdThuoc = Utility.Int32Dbnull(objPhieuNhapCt.IdThuoc); objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdThuockho); objXuatNhap.Vat = Utility.Int32Dbnull(objPhieuNhap.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh;//Chính là khoa trả objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.Phieutrathuocthua; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.Phieutrathuocthua); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.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) .And(TPhieuNhapxuatthuoc.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { Utility.CatchException("Lỗi khi xác nhận phiếu trả thuốc từ tủ trực khoa nội trú về kho lẻ", ex); return ActionResult.Error; } }
public ActionResult XacNhanPhieuCapphatThuoc(TPhieuNhapxuatthuoc objPhieuNhap, DateTime ngayxacnhan, ref string errMsg) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { 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) { //Kiểm tra đề phòng Kho A-->Xuất kho B. Kho B xác nhận-->Xuất kho C. Kho B hủy xác nhận. Kho C xác nhận dẫn tới việc kho B chưa có thuốc để trừ kho ActionResult _Kiemtrathuocxacnhan = Kiemtrathuocxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuocxacnhan != ActionResult.Success) return _Kiemtrathuocxacnhan; long idthuockho = -1; int SluongChia = Utility.Int32Dbnull(objPhieuNhapCt.SluongChia, 1); if (SluongChia <= 0) SluongChia = 1;//Nếu lỗi do người dùng sửa tay thì tự động đặt=1 //Chú ý khi lập phiếu xuất thuốc tủ trực thì //objPhieuNhapCt.SoLuong= số lượng đã chia-->Cần trừ số lượng trong kho xuất theo số lượng nguyên gốc. Tức là phải lấy số lượng này / số lượng chia int _SoLuong = objPhieuNhapCt.SoLuong * SluongChia;//Số lượng thực sự bị mất khỏi kho xuất(khi xuất thuốc sang tủ trực) StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, _SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.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); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objPhieuNhapCt.SoLuong), objPhieuNhapCt.IdChuyen, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); errorMessage = Utility.sDbnull(sp.OutputValues[0], ""); if (Utility.DoTrim(errorMessage)!= "") { Utility.ShowMsg(errorMessage); return ActionResult.Error; } if (idthuockho > 0) new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(idthuockho) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); else idthuockho =Utility.Int64Dbnull( objPhieuNhapCt.IdThuockho,-1); objPhieuNhapCt.IdThuockho = idthuockho; //Insert dòng kho nhập TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaPhuthuDungtuyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen); objXuatNhap.GiaPhuthuTraituyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen); objXuatNhap.GiaBhyt = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt); objXuatNhap.IdChuyen = objPhieuNhapCt.IdChuyen; objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.PhuThu = 0; objXuatNhap.DuTru = objPhieuNhap.DuTru; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.SluongChia = Utility.Int32Dbnull(objPhieuNhapCt.SluongChia,1); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.ThanhTien = Utility.DecimaltoDbnull(objPhieuNhapCt.ThanhTien); objXuatNhap.IdThuoc = Utility.Int32Dbnull(objPhieuNhapCt.IdThuoc); objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdThuockho); objXuatNhap.Vat = Utility.Int32Dbnull(objPhieuNhap.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuNhapKho; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapKho); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); //Insert dòng của kho xuất objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaPhuthuDungtuyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen); objXuatNhap.GiaPhuthuTraituyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen); objXuatNhap.GiaBhyt = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.PhuThu = 0; objXuatNhap.IdChuyen = -1; objXuatNhap.DuTru = objPhieuNhap.DuTru; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.SluongChia = Utility.Int32Dbnull(objPhieuNhapCt.SluongChia, 1); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdChuyen); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuXuatKhoa; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuXuatKhoa); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh; objXuatNhap.IsNew = true; objXuatNhap.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) .And(TPhieuNhapxuatthuoc.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { Utility.CatchException("Lỗi khi xác nhận phiếu cấp phát thuốc-khoa", ex); return ActionResult.Error; } }
/// <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 XacNhanPhieuTraThuocVeKho(TPhieuNhapxuatthuoc objPhieuNhap, DateTime _ngayxacnhan) { string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; SqlQuery sqlQuery = new Select().From(TPhieuNhapxuatthuocChitiet.Schema) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieuNhapxuatthuocChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection<TPhieuNhapxuatthuocChitietCollection>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Insert dòng kho nhập TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); 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 = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuNhapTraKhoLe; objXuatNhap.TenLoaiphieu =Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapTraKhoLe); objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh; objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.IsNew = true; objXuatNhap.Save(); //Insert dòng của kho xuất objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; //objXuatNhap.IdNhaCcap = Utility.Int32Dbnull(objPhieuNhap.IdNhaCcap); objXuatNhap.MaNhacungcap = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuXuatKho; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuXuatKho); objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh; objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.IsNew = true; objXuatNhap.Save(); StoredProcedure sp = SPs.ThuocNhapkho(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap,objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhonhap, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, _ngayxacnhan, objPhieuNhapCt.GiaBhyt); sp.Execute(); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objXuatNhap.SoLuong), objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); errorMessage = Utility.sDbnull(sp.OutputValues[0]); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo( globalVariables.SysDate) .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); log.Error("Loi ban ra tu sp :{0}", errorMessage); return ActionResult.Error; } }
public void Insert(string MaPhieu, short?IdKho, int IdThuoc, DateTime?NgayHethan, int?SoLuong, int?SluongChia, decimal?DonGia, decimal?ThanhTien, decimal?PhuThu, int?IdPhieuChitiet, int?IdPhieu, int?Vat, long?IdBenhnhan, string MaLuotkham, short?IdDoituongKcb, string SoHoadon, string MaNhacungcap, byte?MaLoaiphieu, string TenLoaiphieu, DateTime?NgayHoadon, DateTime?NgayBiendong, short?IdNhanvien, string NguoiTao, DateTime?NgayTao, short?IdKhoaLinh, decimal?GiaBan, decimal?GiaNhap, string SoLo, long?IdThuockho, long?IdChuyen, string KieuThuocvattu, string MotaThem, string SoChungtuKemtheo, byte?Noitru, byte?QuayThuoc, decimal?GiaBhyt, decimal?GiaBhytCu, decimal?GiaPhuthuDungtuyen, decimal?GiaPhuthuTraituyen, byte?DuTru, DateTime?NgayNhap, string KieuBiendong, byte?ThuocVay, string SoDky, string SoQdinhthau) { TBiendongThuoc item = new TBiendongThuoc(); item.MaPhieu = MaPhieu; item.IdKho = IdKho; item.IdThuoc = IdThuoc; item.NgayHethan = NgayHethan; item.SoLuong = SoLuong; item.SluongChia = SluongChia; item.DonGia = DonGia; item.ThanhTien = ThanhTien; item.PhuThu = PhuThu; item.IdPhieuChitiet = IdPhieuChitiet; item.IdPhieu = IdPhieu; item.Vat = Vat; item.IdBenhnhan = IdBenhnhan; item.MaLuotkham = MaLuotkham; item.IdDoituongKcb = IdDoituongKcb; item.SoHoadon = SoHoadon; item.MaNhacungcap = MaNhacungcap; item.MaLoaiphieu = MaLoaiphieu; item.TenLoaiphieu = TenLoaiphieu; item.NgayHoadon = NgayHoadon; item.NgayBiendong = NgayBiendong; item.IdNhanvien = IdNhanvien; item.NguoiTao = NguoiTao; item.NgayTao = NgayTao; item.IdKhoaLinh = IdKhoaLinh; item.GiaBan = GiaBan; item.GiaNhap = GiaNhap; item.SoLo = SoLo; item.IdThuockho = IdThuockho; item.IdChuyen = IdChuyen; item.KieuThuocvattu = KieuThuocvattu; item.MotaThem = MotaThem; item.SoChungtuKemtheo = SoChungtuKemtheo; item.Noitru = Noitru; item.QuayThuoc = QuayThuoc; item.GiaBhyt = GiaBhyt; item.GiaBhytCu = GiaBhytCu; item.GiaPhuthuDungtuyen = GiaPhuthuDungtuyen; item.GiaPhuthuTraituyen = GiaPhuthuTraituyen; item.DuTru = DuTru; item.NgayNhap = NgayNhap; item.KieuBiendong = KieuBiendong; item.ThuocVay = ThuocVay; item.SoDky = SoDky; item.SoQdinhthau = SoQdinhthau; item.Save(UserName); }
public ActionResult Xacnhanphieutrathuocthua(TPhieutrathuocthua _phieutrathuocthua) { ActionResult _result = ActionResult.Success; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { long idphieu = _phieutrathuocthua.Id; short ID_KHO = _phieutrathuocthua.IdKhonhan; DateTime ngaytra = _phieutrathuocthua.NgayTra.Value; int idnguoitra = _phieutrathuocthua.NguoiTra.Value; TPhieuCapphatChitietCollection lstChitiet = new Select().From(TPhieuCapphatChitiet.Schema) .Where(TPhieuCapphatChitiet.Columns.IdPhieutralai).IsEqualTo(idphieu).ExecuteAsCollection <TPhieuCapphatChitietCollection>(); bool codulieu = false; //Xác nhận từng đơn thuốc nội trú foreach (TPhieuCapphatChitiet _item in lstChitiet) { codulieu = true; KcbDonthuocChitiet objDetail = new Select().From(KcbDonthuocChitiet.Schema) .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(_item.IdChitietdonthuoc) .ExecuteSingle <KcbDonthuocChitiet>(); TPhieuXuatthuocBenhnhanChitiet PhieuXuatBnhanCt = new Select().From(TPhieuXuatthuocBenhnhanChitiet.Schema) .Where(TPhieuXuatthuocBenhnhanChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc) .ExecuteSingle <TPhieuXuatthuocBenhnhanChitiet>(); TPhieuXuatthuocBenhnhan objPhieuXuatBnhan = TPhieuXuatthuocBenhnhan.FetchByID(PhieuXuatBnhanCt.IdPhieu); if (objDetail == null) { return(ActionResult.Exceed); } //Cộng vào kho nhận long id_Thuockho_new = -1; long iTThuockho_old = PhieuXuatBnhanCt.IdThuockho.Value; StoredProcedure sp = SPs.ThuocNhapkhoOutput(PhieuXuatBnhanCt.NgayHethan, PhieuXuatBnhanCt.GiaNhap, PhieuXuatBnhanCt.GiaBan, _item.SoLuongtralai, Utility.DecimaltoDbnull(PhieuXuatBnhanCt.Vat), PhieuXuatBnhanCt.IdThuoc, PhieuXuatBnhanCt.IdKho, PhieuXuatBnhanCt.MaNhacungcap, PhieuXuatBnhanCt.SoLo, PhieuXuatBnhanCt.SoDky, PhieuXuatBnhanCt.SoQdinhthau, PhieuXuatBnhanCt.IdThuockho.Value, id_Thuockho_new, PhieuXuatBnhanCt.NgayNhap, PhieuXuatBnhanCt.GiaBhyt, PhieuXuatBnhanCt.PhuthuDungtuyen, PhieuXuatBnhanCt.PhuthuTraituyen, _phieutrathuocthua.KieuThuocVt); sp.Execute(); id_Thuockho_new = Utility.Int32Dbnull(sp.OutputValues[0]); //Cập nhật lại ID Thuốc kho(Có thể xóa mất dòng số lượng =0 nên khi nhập kho tạo ra dòng mới) if (id_Thuockho_new != -1) //Gặp trường hợp khi xuất hết thuốc thì xóa kho-->Khi hủy thì tạo ra dòng thuốc kho mới { objDetail.IdThuockho = id_Thuockho_new; //Cập nhật tất cả các bảng liên quan new Update(KcbDonthuocChitiet.Schema) .Set(KcbDonthuocChitiet.Columns.IdThuockho).EqualTo(id_Thuockho_new) .Where(KcbDonthuocChitiet.Columns.IdThuockho).IsEqualTo(iTThuockho_old). Execute(); new Update(TBiendongThuoc.Schema) .Set(TBiendongThuoc.Columns.IdThuockho).EqualTo(id_Thuockho_new) .Where(TBiendongThuoc.Columns.IdThuockho).IsEqualTo(iTThuockho_old). Execute(); new Update(TPhieuXuatthuocBenhnhanChitiet.Schema) .Set(TPhieuXuatthuocBenhnhanChitiet.Columns.IdThuockho).EqualTo(id_Thuockho_new) .Where(TPhieuXuatthuocBenhnhanChitiet.Columns.IdThuockho).IsEqualTo(iTThuockho_old). Execute(); new Update(TPhieuCapphatChitiet.Schema) .Set(TPhieuXuatthuocBenhnhanChitiet.Columns.IdThuockho).EqualTo(id_Thuockho_new) .Where(TPhieuXuatthuocBenhnhanChitiet.Columns.IdThuockho).IsEqualTo(iTThuockho_old). Execute(); } //Cập nhật số lượng thực lĩnh theo Id chi tiết //objDetail.SluongLinh = _item.ThucLinh; //objDetail.MarkOld(); //objDetail.IsNew = false; //objDetail.Save(); //Cập nhật trạng thái trả lại _item.TrangthaiTralai = 2; _item.IsNew = false; _item.MarkOld(); _item.Save(); //Insert bảng biến động liên quan đến kho nhập TBiendongThuoc objNhapXuat = new TBiendongThuoc(); objNhapXuat.NgayHethan = objDetail.NgayHethan; objNhapXuat.IdThuockho = objDetail.IdThuockho; objNhapXuat.SoLo = objDetail.SoLo; objNhapXuat.SoDky = objDetail.SoDky; objNhapXuat.SoQdinhthau = objDetail.SoQdinhthau; objNhapXuat.MaNhacungcap = objDetail.MaNhacungcap; objNhapXuat.Vat = (int)objDetail.Vat; objNhapXuat.QuayThuoc = objPhieuXuatBnhan.QuayThuoc; objNhapXuat.MaPhieu = Utility.sDbnull(_phieutrathuocthua.MaPhieu); objNhapXuat.Noitru = objPhieuXuatBnhan.Noitru; objNhapXuat.NgayHoadon = ngaytra; objNhapXuat.NgayBiendong = ngaytra; objNhapXuat.NgayTao = globalVariables.SysDate; objNhapXuat.NguoiTao = globalVariables.UserName; objNhapXuat.SoLuong = Utility.Int32Dbnull(_item.SoLuongtralai); objNhapXuat.DonGia = Utility.DecimaltoDbnull(PhieuXuatBnhanCt.DonGia); objNhapXuat.GiaBan = Utility.DecimaltoDbnull(PhieuXuatBnhanCt.GiaBan); objNhapXuat.GiaNhap = Utility.DecimaltoDbnull(PhieuXuatBnhanCt.GiaNhap); objNhapXuat.PhuThu = objDetail.PhuThu; objNhapXuat.SoHoadon = "-1"; objNhapXuat.IdThuoc = Utility.Int32Dbnull(PhieuXuatBnhanCt.IdThuoc); objNhapXuat.IdPhieu = (int)_phieutrathuocthua.Id; objNhapXuat.IdPhieuChitiet = (int)_item.IdChitiet; objNhapXuat.IdNhanvien = globalVariables.gv_intIDNhanvien; objNhapXuat.NgayNhap = ngaytra; objNhapXuat.GiaPhuthuTraituyen = objDetail.PhuthuTraituyen; objNhapXuat.GiaPhuthuDungtuyen = objDetail.PhuthuDungtuyen; objNhapXuat.MaNhacungcap = PhieuXuatBnhanCt.MaNhacungcap; objNhapXuat.IdKho = _phieutrathuocthua.IdKhonhan; objNhapXuat.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.Phieutrathuocthua); objNhapXuat.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.Phieutrathuocthua); objNhapXuat.IdKhoaLinh = _phieutrathuocthua.IdKhoatra; objNhapXuat.KieuThuocvattu = _phieutrathuocthua.KieuThuocVt; objNhapXuat.ThanhTien = Utility.DecimaltoDbnull(PhieuXuatBnhanCt.DonGia) * Utility.Int32Dbnull(_item.SoLuongtralai); objNhapXuat.IsNew = true; objNhapXuat.Save(); } if (!codulieu) { return(ActionResult.DataChanged); } //Cập nhật trạng thái cấp phát của phiếu đề nghị=1 new Update(TPhieutrathuocthua.Schema) .Set(TPhieutrathuocthua.TrangThaiColumn.ColumnName).EqualTo(1) .Set(TPhieutrathuocthua.NgayTraColumn.ColumnName).EqualTo(ngaytra) .Set(TPhieutrathuocthua.NguoiNhanColumn.ColumnName).EqualTo(globalVariablesPrivate.objNhanvien != null ? globalVariablesPrivate.objNhanvien.IdNhanvien : globalVariables.gv_intIDNhanvien) .Set(TPhieutrathuocthua.NguoiTraColumn.ColumnName).EqualTo(idnguoitra) .Set(TPhieutrathuocthua.NgaySuaColumn.ColumnName).EqualTo(globalVariables.SysDate) .Set(TPhieutrathuocthua.NguoiSuaColumn.ColumnName).EqualTo(globalVariables.UserName) .Where(TPhieutrathuocthua.IdColumn).IsEqualTo(idphieu).Execute(); } Scope.Complete(); return(ActionResult.Success); } } catch (Exception ex) { Utility.CatchException("Lỗi khi xác nhận phiếu trả thuốc thừa", ex); return(ActionResult.Error); } }
/// <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); } }
/// <summary> /// hàm thực hiện việc xác nhận phiếu nhập /// </summary> /// <param name="objPhieuNhap"></param> /// <returns></returns> public ActionResult XacNhanPhieuNhapTraNhaCungCap(TPhieutrathuocKholeVekhochan objPhieuNhap) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { SqlQuery sqlQuery = new Select().From(TPhieutrathuocKholeVekhochanChitiet.Schema) .Where(TPhieutrathuocKholeVekhochanChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieutrathuocKholeVekhochanChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection <TPhieutrathuocKholeVekhochanChitietCollection>(); foreach (TPhieutrathuocKholeVekhochanChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { ///phiếu nhập trả từ kho lẻ về kho chẵn TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuChitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = string.Empty; 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(objPhieuNhapCt.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan; objXuatNhap.MaNhacungcap = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.PhieuNhapTraLaiKhoLeVeKhoChan); objXuatNhap.TenLoaiphieu = Utility.sDbnull(objPhieuNhap.TenLoaiphieu); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.IsNew = true; objXuatNhap.Save(); StoredProcedure sp = SPs.ThuocNhapkho(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhonhan, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhap.NgayXacnhan, objPhieuNhapCt.GiaBhyt); sp.Execute(); log.Info(string.Format("Nhạp tra lai kho {0} voi so phieu {1}", objPhieuNhap.IdKhonhan, objPhieuNhapCt.IdPhieuChitiet)); ///phiếu xuất về kho từ kho lẻ objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuChitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = string.Empty; 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(objPhieuNhapCt.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan; objXuatNhap.MaNhacungcap = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.PhieuXuatKho); objXuatNhap.TenLoaiphieu = Utility.sDbnull(objPhieuNhap.TenLoaiphieu); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.IsNew = true; objXuatNhap.Save(); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhotra, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objXuatNhap.SoLuong), objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); log.Info(string.Format("xuat tra lai kho {0} voi so phieu {1}", objPhieuNhap.IdKhotra, objPhieuNhapCt.IdPhieuChitiet)); } new Update(TPhieutrathuocKholeVekhochan.Schema) .Set(TPhieutrathuocKholeVekhochan.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(TPhieutrathuocKholeVekhochan.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(TPhieutrathuocKholeVekhochan.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieutrathuocKholeVekhochan.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieutrathuocKholeVekhochan.Columns.NgayXacnhan).EqualTo(globalVariables.SysDate) .Set(TPhieutrathuocKholeVekhochan.Columns.TrangThai).EqualTo(1) .Where(TPhieutrathuocKholeVekhochan.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu) .And(TPhieutrathuocKholeVekhochan.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return(ActionResult.Success); } } catch (Exception exception) { log.Error("Loi ban ra tu sp :{0}", errorMessage); log.Error("Loi trong qua trinh xac nhan don thuoc :{0}", exception); return(ActionResult.Error); } }
public ActionResult XacNhanPhieuHuy_thanhly_thuoc(TPhieuNhapxuatthuoc objPhieuNhap, DateTime ngayxacnhan, ref string errMsg) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { 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) { //Kiểm tra đề phòng Kho A-->Xuất kho B. Kho B xác nhận-->Xuất kho C. Kho B hủy xác nhận. Kho C xác nhận dẫn tới việc kho B chưa có thuốc để trừ kho ActionResult _Kiemtrathuocxacnhan = Kiemtrathuocxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuocxacnhan != ActionResult.Success) { return(_Kiemtrathuocxacnhan); } long idthuockho = -1; StoredProcedure sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objPhieuNhapCt.SoLuong), objPhieuNhapCt.IdChuyen, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); //Insert dòng kho xuất TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = objPhieuNhapCt.GiaBhytCu; objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.GiaPhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.GiaPhuthuTraituyen; objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.PhuThu = 0; objXuatNhap.DuTru = objPhieuNhap.DuTru; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdChuyen); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.MaLoaiphieu = objPhieuNhap.LoaiPhieu; objXuatNhap.TenLoaiphieu = objPhieuNhap.TenLoaiphieu; objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate) .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) .And(TPhieuNhapxuatthuoc.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return(ActionResult.Success); } } catch (Exception ex) { Utility.CatchException("Lỗi khi xác nhận phiếu ", ex); return(ActionResult.Error); } }
/// <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; } }
/// <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 XacNhanTraLaiKhoLeVeKhoChan(TPhieutrathuocKholeVekhochan objPhieuNhap, DateTime _ngayxacnhan) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { SqlQuery sqlQuery = new Select().From(TPhieutrathuocKholeVekhochanChitiet.Schema) .Where(TPhieutrathuocKholeVekhochanChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieutrathuocKholeVekhochanChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection <TPhieutrathuocKholeVekhochanChitietCollection>(); foreach (TPhieutrathuocKholeVekhochanChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { long idthuockho = -1; StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhonhan, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, objPhieuNhapCt.IdThuockho, idthuockho, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.PhuthuDungtuyen, objPhieuNhapCt.PhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); //log.Info(string.Format("Nhạp tra lai kho {0} voi so phieu {1}", objPhieuNhap.IdKhonhan, objPhieuNhapCt.IdPhieuChitiet)); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhotra, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objPhieuNhapCt.SoLuong), objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); new Update(TPhieutrathuocKholeVekhochanChitiet.Schema).Set(TPhieutrathuocKholeVekhochanChitiet.Columns.IdChuyen).EqualTo(idthuockho) .Where(TPhieutrathuocKholeVekhochanChitiet.Columns.IdPhieuChitiet).IsEqualTo(objPhieuNhapCt.IdPhieuChitiet).Execute(); objPhieuNhapCt.IdThuockho = idthuockho; ///phiếu nhập trả từ kho lẻ về kho chẵn TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuChitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.NgayHoadon = objPhieuNhap.NgayTra; objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = 0; objXuatNhap.ThuocVay = 0; objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.PhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.PhuthuTraituyen; objXuatNhap.DuTru = 0; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.IdThuockho = objPhieuNhapCt.IdThuockho; objXuatNhap.SoHoadon = string.Empty; 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(objPhieuNhapCt.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.PhieuNhapTraLaiKhoLeVeKhoChan); objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapTraLaiKhoLeVeKhoChan); objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); ///phiếu xuất về kho từ kho lẻ objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuChitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.NgayHoadon = objPhieuNhap.NgayTra; objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = 0; objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.PhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.PhuthuTraituyen; objXuatNhap.DuTru = 0; objXuatNhap.ThuocVay = 0; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.IdThuockho = objPhieuNhapCt.IdThuockho; objXuatNhap.SoHoadon = string.Empty; 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(objPhieuNhapCt.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhotra); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhotra); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.PhieuXuatKhoLeTraKhoChan); objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuXuatKhoLeTraKhoChan); objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); } new Update(TPhieutrathuocKholeVekhochan.Schema) .Set(TPhieutrathuocKholeVekhochan.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(TPhieutrathuocKholeVekhochan.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(TPhieutrathuocKholeVekhochan.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieutrathuocKholeVekhochan.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieutrathuocKholeVekhochan.Columns.NgayXacnhan).EqualTo(globalVariables.SysDate) .Set(TPhieutrathuocKholeVekhochan.Columns.TrangThai).EqualTo(1) .Where(TPhieutrathuocKholeVekhochan.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu) .And(TPhieutrathuocKholeVekhochan.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return(ActionResult.Success); } } catch (Exception ex) { Utility.CatchException("Lỗi khi xác nhận phiếu trả thuốc từ kho lẻ về kho chẵn", ex); return(ActionResult.Error); } }
/// <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(); } }
public void Insert(string MaPhieu,short? IdKho,int IdThuoc,DateTime? NgayHethan,int? SoLuong,int? SluongChia,decimal? DonGia,decimal? ThanhTien,decimal? PhuThu,int? IdPhieuChitiet,int? IdPhieu,int? Vat,string SoHoadon,string MaNhacungcap,byte? MaLoaiphieu,string TenLoaiphieu,DateTime? NgayHoadon,DateTime? NgayBiendong,short? IdNhanvien,string NguoiTao,DateTime? NgayTao,short? IdKhoaLinh,decimal? GiaBan,decimal? GiaNhap,string SoLo,long? IdThuockho,long? IdChuyen,string KieuThuocvattu,string MotaThem,string SoChungtuKemtheo,byte? Noitru,byte? QuayThuoc,decimal? GiaBhyt,decimal? GiaBhytCu,decimal? GiaPhuthuDungtuyen,decimal? GiaPhuthuTraituyen,byte? DuTru,DateTime? NgayNhap,string KieuBiendong,byte? ThuocVay) { TBiendongThuoc item = new TBiendongThuoc(); item.MaPhieu = MaPhieu; item.IdKho = IdKho; item.IdThuoc = IdThuoc; item.NgayHethan = NgayHethan; item.SoLuong = SoLuong; item.SluongChia = SluongChia; item.DonGia = DonGia; item.ThanhTien = ThanhTien; item.PhuThu = PhuThu; item.IdPhieuChitiet = IdPhieuChitiet; item.IdPhieu = IdPhieu; item.Vat = Vat; item.SoHoadon = SoHoadon; item.MaNhacungcap = MaNhacungcap; item.MaLoaiphieu = MaLoaiphieu; item.TenLoaiphieu = TenLoaiphieu; item.NgayHoadon = NgayHoadon; item.NgayBiendong = NgayBiendong; item.IdNhanvien = IdNhanvien; item.NguoiTao = NguoiTao; item.NgayTao = NgayTao; item.IdKhoaLinh = IdKhoaLinh; item.GiaBan = GiaBan; item.GiaNhap = GiaNhap; item.SoLo = SoLo; item.IdThuockho = IdThuockho; item.IdChuyen = IdChuyen; item.KieuThuocvattu = KieuThuocvattu; item.MotaThem = MotaThem; item.SoChungtuKemtheo = SoChungtuKemtheo; item.Noitru = Noitru; item.QuayThuoc = QuayThuoc; item.GiaBhyt = GiaBhyt; item.GiaBhytCu = GiaBhytCu; item.GiaPhuthuDungtuyen = GiaPhuthuDungtuyen; item.GiaPhuthuTraituyen = GiaPhuthuTraituyen; item.DuTru = DuTru; item.NgayNhap = NgayNhap; item.KieuBiendong = KieuBiendong; item.ThuocVay = ThuocVay; item.Save(UserName); }
/// <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 XacNhanTraLaiKhoLeVeKhoChan(TPhieutrathuocKholeVekhochan objPhieuNhap, DateTime _ngayxacnhan) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { SqlQuery sqlQuery = new Select().From(TPhieutrathuocKholeVekhochanChitiet.Schema) .Where(TPhieutrathuocKholeVekhochanChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieutrathuocKholeVekhochanChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection<TPhieutrathuocKholeVekhochanChitietCollection>(); foreach (TPhieutrathuocKholeVekhochanChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { long idthuockho = -1; StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhonhan, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, -1, idthuockho, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt); sp.Execute(); idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); //log.Info(string.Format("Nhạp tra lai kho {0} voi so phieu {1}", objPhieuNhap.IdKhonhan, objPhieuNhapCt.IdPhieuChitiet)); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhotra, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objPhieuNhapCt.SoLuong), objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); new Update(TPhieutrathuocKholeVekhochanChitiet.Schema).Set(TPhieutrathuocKholeVekhochanChitiet.Columns.IdChuyen).EqualTo(idthuockho) .Where(TPhieutrathuocKholeVekhochanChitiet.Columns.IdPhieuChitiet).IsEqualTo(objPhieuNhapCt.IdPhieuChitiet).Execute(); objPhieuNhapCt.IdThuockho = idthuockho; ///phiếu nhập trả từ kho lẻ về kho chẵn TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuChitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.NgayHoadon = objPhieuNhap.NgayTra; objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = 0; objXuatNhap.GiaPhuthuDungtuyen = 0; objXuatNhap.GiaPhuthuTraituyen = 0; objXuatNhap.DuTru = 0; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.IdThuockho = objPhieuNhapCt.IdThuockho; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = string.Empty; 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(objPhieuNhapCt.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhan); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.PhieuNhapTraLaiKhoLeVeKhoChan); objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapTraLaiKhoLeVeKhoChan); objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); ///phiếu xuất về kho từ kho lẻ objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet= Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuChitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.NgayHoadon = objPhieuNhap.NgayTra; objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = 0; objXuatNhap.GiaPhuthuDungtuyen = 0; objXuatNhap.GiaPhuthuTraituyen = 0; objXuatNhap.DuTru = 0; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.IdThuockho = objPhieuNhapCt.IdThuockho; objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = string.Empty; 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(objPhieuNhapCt.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhotra); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhotra); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.PhieuXuatKhoLeTraKhoChan); objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuXuatKhoLeTraKhoChan); objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); } new Update(TPhieutrathuocKholeVekhochan.Schema) .Set(TPhieutrathuocKholeVekhochan.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(TPhieutrathuocKholeVekhochan.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(TPhieutrathuocKholeVekhochan.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieutrathuocKholeVekhochan.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieutrathuocKholeVekhochan.Columns.NgayXacnhan).EqualTo( globalVariables.SysDate) .Set(TPhieutrathuocKholeVekhochan.Columns.TrangThai).EqualTo(1) .Where(TPhieutrathuocKholeVekhochan.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu) .And(TPhieutrathuocKholeVekhochan.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi ban ra tu sp :{0}", errorMessage); log.Error("Loi trong qua trinh xac nhan don thuoc :{0}", exception); return ActionResult.Error; } }
/// <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 XacNhanPhieuXuatKho(TPhieuNhapxuatthuoc objPhieuNhap,DateTime ngayxacnhan, ref string errMsg) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { 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) { //Kiểm tra đề phòng Kho A-->Xuất kho B. Kho B xác nhận-->Xuất kho C. Kho B hủy xác nhận. Kho C xác nhận dẫn tới việc kho B chưa có thuốc để trừ kho ActionResult _Kiemtrathuocxacnhan = Kiemtrathuocxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuocxacnhan != ActionResult.Success) return _Kiemtrathuocxacnhan; long idthuockho = -1; StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.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); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objPhieuNhapCt.SoLuong), objPhieuNhapCt.IdChuyen, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(idthuockho) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); objPhieuNhapCt.IdThuockho = idthuockho; //Insert dòng kho nhập TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.IdChuyen = objPhieuNhapCt.IdChuyen; objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.GiaBhyt = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt); objXuatNhap.GiaBhytCu = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhytCu); objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.GiaPhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.GiaPhuthuTraituyen; objXuatNhap.Noitru = objPhieuNhap.NoiTru; objXuatNhap.QuayThuoc = 0; objXuatNhap.ThuocVay = 0; objXuatNhap.PhuThu = 0; objXuatNhap.DuTru = objPhieuNhap.DuTru; 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.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdThuockho); objXuatNhap.Vat = Utility.Int32Dbnull(objPhieuNhap.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuNhapKho; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapKho); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); //Insert dòng của kho xuất objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBhyt = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt); objXuatNhap.GiaBhytCu = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhytCu); objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.GiaPhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.GiaPhuthuTraituyen; objXuatNhap.Noitru = objPhieuNhap.NoiTru; objXuatNhap.QuayThuoc = 0; objXuatNhap.ThuocVay = 0; objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.PhuThu = 0; objXuatNhap.IdChuyen = -1; objXuatNhap.DuTru = objPhieuNhap.DuTru; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdChuyen); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuXuatKhoBenhNhan; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuXuatKhoBenhNhan); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.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) .And(TPhieuNhapxuatthuoc.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { Utility.CatchException("Lỗi khi xác nhận phiếu xuất kho", ex); return ActionResult.Error; } }
public ActionResult XacnhanPhieuTrathuocNhacungcap(TPhieuNhapxuatthuoc objPhieuNhap) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { SqlQuery sqlQuery = new Select().From(TPhieuNhapxuatthuocChitiet.Schema) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieuNhapxuatthuocChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection <TPhieuNhapxuatthuocChitietCollection>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Insert dòng hủy vào TBiendongThuoc TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdThuockho); objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = 0; objXuatNhap.GiaBhytCu = 0; objXuatNhap.GiaPhuthuDungtuyen = 0; objXuatNhap.GiaPhuthuTraituyen = 0; objXuatNhap.DuTru = 0; objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = objPhieuNhap.LoaiPhieu; objXuatNhap.TenLoaiphieu = objPhieuNhap.TenLoaiphieu; objXuatNhap.NgayBiendong = objPhieuNhap.NgayHoadon; objXuatNhap.IsNew = true; objXuatNhap.Save(); StoredProcedure sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objXuatNhap.SoLuong), objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(globalVariables.SysDate) .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 ban ra tu sp :{0}", errorMessage); log.Error("Loi trong qua trinh xac nhan don thuoc :{0}", exception); return(ActionResult.Error); } }
/// <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 XacNhanPhieuTraThuocVeKho(TPhieuNhapxuatthuoc objPhieuNhap, DateTime _ngayxacnhan) { string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; SqlQuery sqlQuery = new Select().From(TPhieuNhapxuatthuocChitiet.Schema) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu); TPhieuNhapxuatthuocChitietCollection objPhieuNhapCtCollection = sqlQuery.ExecuteAsCollection <TPhieuNhapxuatthuocChitietCollection>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Insert dòng kho nhập TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); 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 = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuNhapTraKhoLe; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapTraKhoLe); objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh; objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.IsNew = true; objXuatNhap.Save(); //Insert dòng của kho xuất objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; //objXuatNhap.IdNhaCcap = Utility.Int32Dbnull(objPhieuNhap.IdNhaCcap); objXuatNhap.MaNhacungcap = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuXuatKho; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuXuatKho); objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh; objXuatNhap.NgayBiendong = _ngayxacnhan; objXuatNhap.IsNew = true; objXuatNhap.Save(); StoredProcedure sp = SPs.ThuocNhapkho(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhonhap, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, _ngayxacnhan, objPhieuNhapCt.GiaBhyt); sp.Execute(); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), Utility.Int32Dbnull(objXuatNhap.SoLuong), objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); errorMessage = Utility.sDbnull(sp.OutputValues[0]); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(globalVariables.gv_intIDNhanvien) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(globalVariables.SysDate) .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); log.Error("Loi ban ra tu sp :{0}", errorMessage); return(ActionResult.Error); } }
public ActionResult XacNhanPhieuTrathuocTutrucKhoaveKho(TPhieuNhapxuatthuoc objPhieuNhap, DateTime ngayxacnhan, ref string errMsg) { HisDuocProperties objHisDuocProperties = PropertyLib._HisDuocProperties; string errorMessage = ""; try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { 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) { //Kiểm tra đề phòng Kho A-->Xuất kho B. Kho B xác nhận-->Xuất kho C. Kho B hủy xác nhận. Kho C xác nhận dẫn tới việc kho B chưa có thuốc để trừ kho ActionResult _Kiemtrathuocxacnhan = Kiemtrathuocxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuocxacnhan != ActionResult.Success) { return(_Kiemtrathuocxacnhan); } long idthuockho = -1; //Nhập vào tủ trực StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.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(); //Lấy về Id_thuockho tương ứng trong tủ trực idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); //Trừ tủ trực theo đơn vị chia int SluongChia = Utility.Int32Dbnull(objPhieuNhapCt.SluongChia, 1); if (SluongChia <= 0) { SluongChia = 1; //Nếu lỗi do người dùng sửa tay thì tự động đặt=1 } //Chú ý khi lập phiếu xuất thuốc tủ trực thì //objPhieuNhapCt.SoLuong= số lượng đã chia-->Cần trừ số lượng trong kho xuất theo số lượng nguyên gốc. Tức là phải lấy số lượng này / số lượng chia int _SoLuong = objPhieuNhapCt.SoLuong * SluongChia;//Số lượng thực sự bị mất khỏi kho xuất(khi xuất thuốc sang tủ trực) sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), _SoLuong, objPhieuNhapCt.IdChuyen, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); if (idthuockho > 0) { new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(idthuockho) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); } else { idthuockho = Utility.Int64Dbnull(objPhieuNhapCt.IdThuockho, -1); } objPhieuNhapCt.IdThuockho = idthuockho; //Insert dòng kho nhập TBiendongThuoc objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaPhuthuDungtuyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen); objXuatNhap.GiaPhuthuTraituyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen); objXuatNhap.GiaBhyt = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt); objXuatNhap.GiaBhytCu = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhytCu); objXuatNhap.IdChuyen = objPhieuNhapCt.IdChuyen; objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.PhuThu = 0; objXuatNhap.DuTru = objPhieuNhap.DuTru; objXuatNhap.Noitru = 1; objXuatNhap.QuayThuoc = 0; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.SluongChia = Utility.Int32Dbnull(objPhieuNhapCt.SluongChia, 1); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.ThanhTien = Utility.DecimaltoDbnull(objPhieuNhapCt.ThanhTien); objXuatNhap.IdThuoc = Utility.Int32Dbnull(objPhieuNhapCt.IdThuoc); objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdThuockho); objXuatNhap.Vat = Utility.Int32Dbnull(objPhieuNhap.Vat); objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh;//Chính là khoa trả objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuNhapKhoTututruc; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapKhoTututruc); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IsNew = true; objXuatNhap.Save(); //Insert dòng của kho xuất objXuatNhap = new TBiendongThuoc(); objXuatNhap.IdPhieu = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieu); objXuatNhap.IdPhieuChitiet = Utility.Int32Dbnull(objPhieuNhapCt.IdPhieuchitiet); objXuatNhap.MaPhieu = Utility.sDbnull(objPhieuNhap.MaPhieu); objXuatNhap.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.NgayNhap = objPhieuNhapCt.NgayNhap; objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.GiaNhap = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaNhap); objXuatNhap.GiaPhuthuDungtuyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuDungtuyen); objXuatNhap.GiaPhuthuTraituyen = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaPhuthuTraituyen); objXuatNhap.GiaBhyt = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhyt); objXuatNhap.GiaBhytCu = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBhytCu); objXuatNhap.SoHoadon = Utility.sDbnull(objPhieuNhap.SoHoadon); objXuatNhap.PhuThu = 0; objXuatNhap.IdChuyen = objPhieuNhapCt.IdChuyen; objXuatNhap.DuTru = objPhieuNhap.DuTru; objXuatNhap.Noitru = 1; objXuatNhap.QuayThuoc = 0; objXuatNhap.SoLuong = Utility.Int32Dbnull(objPhieuNhapCt.SoLuong); objXuatNhap.SluongChia = Utility.Int32Dbnull(objPhieuNhapCt.SluongChia, 1); objXuatNhap.NgayTao = globalVariables.SysDate; objXuatNhap.NguoiTao = globalVariables.UserName; objXuatNhap.IdThuockho = Utility.Int32Dbnull(objPhieuNhapCt.IdChuyen); 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.IdKhoxuat); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan.Date; objXuatNhap.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; objXuatNhap.SoChungtuKemtheo = objPhieuNhap.SoChungtuKemtheo; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.MaLoaiphieu = (byte)LoaiPhieu.PhieuXuatKhoBenhNhanTuTutruc; objXuatNhap.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuXuatKhoBenhNhanTuTutruc); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.NgayHoadon = objPhieuNhap.NgayHoadon; objXuatNhap.KieuThuocvattu = objPhieuNhapCt.KieuThuocvattu; objXuatNhap.IdKhoaLinh = objPhieuNhap.IdKhoalinh; objXuatNhap.IsNew = true; objXuatNhap.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) .And(TPhieuNhapxuatthuoc.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return(ActionResult.Success); } } catch (Exception ex) { Utility.CatchException("Lỗi khi xác nhận phiếu trả thuốc từ tủ trực khoa nội trú về kho lẻ", ex); return(ActionResult.Error); } }