/// <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 HuyXacNhanPhieuTraLaiKho(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) { //Kiểm tra ở kho nhập xem thuốc đã sử dụng chưa ActionResult _Kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan(objPhieuNhap, objPhieuNhapCt); if (_Kiemtrathuochuyxacnhan != ActionResult.Success) return _Kiemtrathuochuyxacnhan; int id_thuockho = -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, id_thuockho, objPhieuNhap.NgayXacnhan, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhoxuat, 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(); errorMessage = Utility.sDbnull(sp.OutputValues[0]); } //Xóa toàn bộ chi tiết trong TBiendongThuoc new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu).Execute(); new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .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 HuyXacNhanPhieuNhapKho(TPhieuNhapxuatthuoc objPhieuNhap, ref string errMsg) { 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) { ActionResult _Kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan(objPhieuNhap, objPhieuNhapCt); if (_Kiemtrathuochuyxacnhan != ActionResult.Success) return _Kiemtrathuochuyxacnhan; //Xóa toàn bộ chi tiết trong TBiendongThuoc new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(-1) .Set(TPhieuNhapxuatthuocChitiet.Columns.NgayNhap).EqualTo(null) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); StoredProcedure sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhonhap,objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhap.Vat), objPhieuNhapCt.SoLuong,objPhieuNhapCt.IdThuockho,objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, 0, errMsg); sp.Execute(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(-1) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .Where(TPhieuNhapxuatthuoc.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { Utility.CatchException("Lỗi khi hủy xác nhận nhập kho", ex); return ActionResult.Error; } }
public ActionResult HuyXacNhanPhieuHuy_thanhly_Thuoc(TPhieuNhapxuatthuoc objPhieuNhap, 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>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { long idthuockho = -1; //Nhập lại kho thanh lý StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhoxuat, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, idthuockho, idthuockho, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); if (idthuockho != objPhieuNhapCt.IdThuockho)//Nếu ai đó xóa bằng tay trong bảng thuốc kho thì cần update lại new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(idthuockho) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); } //Xóa toàn bộ chi tiết trong TBiendongThuoc new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(TPhieuNhapxuatthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .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 hủy xác nhận phiếu ",ex); return ActionResult.Error; } }
/// <summary> /// hàm thực hiện việc cập nhập thông tin nhập kho thuốc /// </summary> /// <param name="objPhieuNhap"></param> /// <param name="arrPhieuNhapCts"></param> /// <returns></returns> public ActionResult UpdatePhieuXuatKho(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet[] arrPhieuNhapCts) { try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { objPhieuNhap.NgaySua = globalVariables.SysDate; objPhieuNhap.NguoiSua = globalVariables.UserName; objPhieuNhap.TongTien = arrPhieuNhapCts.Sum(c => c.ThanhTien); objPhieuNhap.Save(); new Delete().From(TPhieuNhapxuatthuocChitiet.Schema) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieu).IsEqualTo(objPhieuNhap.IdPhieu).Execute(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in arrPhieuNhapCts) { objPhieuNhapCt.IdPhieu= Utility.Int32Dbnull(objPhieuNhap.IdPhieu, -1); objPhieuNhapCt.IsNew = true; objPhieuNhapCt.Save(); } } Scope.Complete(); return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh sua phieu nhap kho :{0}", exception); return ActionResult.Error; } }
public ActionResult HuyXacNhanPhieuTrathuocTutrucKhoaVeKho(TPhieuNhapxuatthuoc objPhieuNhap, 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>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Kiểm tra ở kho nhập xem thuốc đã sử dụng chưa ActionResult _Kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuochuyxacnhan != ActionResult.Success) return _Kiemtrathuochuyxacnhan; //Xóa biến động kho nhập new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuNhapTraKhoLe).Execute(); //Xóa biến động kho xuất new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuNhapTraKhoLe).Execute(); //Cộng trả lại kho xuất long idthuockho = -1; //Nhập theo tủ trực theo số lượng 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 Sluong = 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, Sluong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhoxuat, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, -1, idthuockho, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); //Xuất thứ nguyên từ kho nhận sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhonhap, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.SoLuong, objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); //Cạp nhật lại id_thuockho =-1(giá trị này được update khi xác nhận phiếu). Giá trị id_chuyen cho biết chuyển từ id_thuockho của kho nội trú. new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(-1) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .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 hủy xác nhận phiếu trả thuốc từ tủ trực về kho lẻ nội trú",ex); return ActionResult.Error; } }
public ActionResult Kiemtrathuocxacnhan(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt, ref string errMsg) { TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery( TThuockho.CreateQuery() .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhoxuat) .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc) .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date) .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap) .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan) .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap) .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo) .AND(TThuockho.NgayNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayNhap) .AND(TThuockho.GiaBhytColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBhyt) .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat) ); if (vCollection.Count <= 0) { errMsg = string.Format("ID thuốc={0}, không tồn tại trong kho {1}", objPhieuNhapCt.IdThuoc.ToString(), objPhieuNhap.IdKhonhap.ToString()); return ActionResult.Exceed;//Lỗi không có dòng dữ liệu trong bảng kho-thuốc } int SoLuong = vCollection[0].SoLuong; SoLuong = SoLuong - objPhieuNhapCt.SoLuong; if (SoLuong < 0) { errMsg = string.Format("ID thuốc={0}, Số lượng còn trong kho {1}, Số lượng bị trừ {2}", objPhieuNhapCt.IdThuoc.ToString(), vCollection[0].SoLuong.ToString(), objPhieuNhapCt.SoLuong.ToString()); return ActionResult.NotEnoughDrugInStock;//Thuốc đã sử dụng nhiều nên không thể hủy } return ActionResult.Success; }
private TPhieuNhapxuatthuoc CreatePhieuNhapKho() { TPhieuNhapxuatthuoc objTPhieuNhapxuatthuoc = new TPhieuNhapxuatthuoc(); if (m_enAction == action.Update) { objTPhieuNhapxuatthuoc.MarkOld(); objTPhieuNhapxuatthuoc.IsLoaded = true; objTPhieuNhapxuatthuoc.IdPhieu = Utility.Int32Dbnull(txtIDPhieuNhapKho.Text, -1); } objTPhieuNhapxuatthuoc.Vat = 0; objTPhieuNhapxuatthuoc.SoHoadon = string.Empty; objTPhieuNhapxuatthuoc.IdKhonhap = Utility.Int16Dbnull(cboKhoNhap.SelectedValue, -1); objTPhieuNhapxuatthuoc.IdKhoxuat = Utility.Int16Dbnull(cboKhoXuat.SelectedValue, -1); objTPhieuNhapxuatthuoc.MaNhacungcap = ""; objTPhieuNhapxuatthuoc.MotaThem = "Trả thuốc từ khoa về kho lẻ"; objTPhieuNhapxuatthuoc.TrangThai = 0; objTPhieuNhapxuatthuoc.IdKhoalinh = Utility.Int16Dbnull(cboKhoaTra.SelectedValue, 0); objTPhieuNhapxuatthuoc.IdNhanvien = Utility.Int16Dbnull(cboNhanVien.SelectedValue, -1); if (Utility.Int32Dbnull(objTPhieuNhapxuatthuoc.IdNhanvien, -1) <= 0) objTPhieuNhapxuatthuoc.IdNhanvien = globalVariables.gv_intIDNhanvien; objTPhieuNhapxuatthuoc.NgayHoadon = dtNgayNhap.Value; objTPhieuNhapxuatthuoc.NgayTao = globalVariables.SysDate; objTPhieuNhapxuatthuoc.NguoiTao = globalVariables.UserName; objTPhieuNhapxuatthuoc.NguoiGiao = globalVariables.UserName; objTPhieuNhapxuatthuoc.LoaiPhieu =(byte) LoaiPhieu.PhieuNhapTraKhoLe; objTPhieuNhapxuatthuoc.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapTraKhoLe); return objTPhieuNhapxuatthuoc; }
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 void Insert(string MaPhieu,string SoHoadon,DateTime NgayHoadon,short? IdKhonhap,short? IdKhoxuat,decimal? Vat,string MaNhacungcap,string MotaThem,string NguoiGiao,string NguoiNhan,string NguoiHuy,short? IdNhanvien,byte? SttHthi,byte? TrangThai,DateTime? NgayTao,string NguoiTao,string NguoiSua,DateTime? NgaySua,decimal? TongTien,byte? LoaiPhieu,string TenLoaiphieu,short? IdNhanvienXacnhan,string NguoiXacnhan,DateTime? NgayXacnhan,short? IdKhoalinh,string KieuThuocvattu,string SoChungtuKemtheo,byte? PhieuVay,string TkNo,string TkCo,byte? DuTru,byte? NoiTru,string HoidongThanhly,string DiadiemThanhly,string YkienDexuat,DateTime? ThoigianThanhlyTu,DateTime? ThoigianThanhlyDen) { TPhieuNhapxuatthuoc item = new TPhieuNhapxuatthuoc(); item.MaPhieu = MaPhieu; item.SoHoadon = SoHoadon; item.NgayHoadon = NgayHoadon; item.IdKhonhap = IdKhonhap; item.IdKhoxuat = IdKhoxuat; item.Vat = Vat; item.MaNhacungcap = MaNhacungcap; item.MotaThem = MotaThem; item.NguoiGiao = NguoiGiao; item.NguoiNhan = NguoiNhan; item.NguoiHuy = NguoiHuy; item.IdNhanvien = IdNhanvien; item.SttHthi = SttHthi; item.TrangThai = TrangThai; item.NgayTao = NgayTao; item.NguoiTao = NguoiTao; item.NguoiSua = NguoiSua; item.NgaySua = NgaySua; item.TongTien = TongTien; item.LoaiPhieu = LoaiPhieu; item.TenLoaiphieu = TenLoaiphieu; item.IdNhanvienXacnhan = IdNhanvienXacnhan; item.NguoiXacnhan = NguoiXacnhan; item.NgayXacnhan = NgayXacnhan; item.IdKhoalinh = IdKhoalinh; item.KieuThuocvattu = KieuThuocvattu; item.SoChungtuKemtheo = SoChungtuKemtheo; item.PhieuVay = PhieuVay; item.TkNo = TkNo; item.TkCo = TkCo; item.DuTru = DuTru; item.NoiTru = NoiTru; item.HoidongThanhly = HoidongThanhly; item.DiadiemThanhly = DiadiemThanhly; item.YkienDexuat = YkienDexuat; item.ThoigianThanhlyTu = ThoigianThanhlyTu; item.ThoigianThanhlyDen = ThoigianThanhlyDen; 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 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; } }
/// <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); } }
public bool Delete(object IdPhieu) { return(TPhieuNhapxuatthuoc.Delete(IdPhieu) == 1); }
/// <summary> /// hàm thực hiện việc thêm phiếu nhập kho thuốc /// </summary> /// <param name="objPhieuNhap"></param> /// <param name="arrPhieuNhapCts"></param> /// <returns></returns> public ActionResult ThemPhieuNhapKho(TPhieuNhapxuatthuoc objPhieuNhap, List<TPhieuNhapxuatthuocChitiet> arrPhieuNhapCts) { try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { objPhieuNhap.NgayTao = globalVariables.SysDate; objPhieuNhap.NguoiTao = globalVariables.UserName; objPhieuNhap.MaPhieu = Utility.sDbnull(THU_VIEN_CHUNG.MaNhapKho(Utility.Int32Dbnull(objPhieuNhap.LoaiPhieu))); objPhieuNhap.TongTien = arrPhieuNhapCts.Sum(c => c.ThanhTien); objPhieuNhap.IsNew = true; objPhieuNhap.Save(); //StoredProcedure sp = SPs.ThuocPhieunhapThemmoi(objPhieuNhap.IdPhieu, // Utility.sDbnull(objPhieuNhap.MaPhieu), // Utility.sDbnull(objPhieuNhap.SoHoaDon), // objPhieuNhap.NgayNhapHdon, objPhieuNhap.IdKhonhap, // objPhieuNhap.IdKhoxuat, objPhieuNhap.Vat, // objPhieuNhap.IdNhaCcap, objPhieuNhap.GhiChu, // objPhieuNhap.NguoiGiao, objPhieuNhap.IdNhanvien, // objPhieuNhap.HienThi, objPhieuNhap.TrangThai, // objPhieuNhap.Ngaytao, objPhieuNhap.NguoiTao, // objPhieuNhap.NguoiSua, objPhieuNhap.NgaySua, // objPhieuNhap.IpMayTao, objPhieuNhap.IpMaySua, // objPhieuNhap.TongTien, objPhieuNhap.LoaiPhieu, // objPhieuNhap.MaKieuPhieu, objPhieuNhap.IdNvienXacNhan, objPhieuNhap.NguoiXacnhan, objPhieuNhap.NgayXacnhan, objPhieuNhap.IdKhoaLinh); //sp.Execute(); //objPhieuNhap.IdPhieu = Utility.Int32Dbnull(sp.OutputValues[0]); //objPhieuNhap = TPhieuNhapxuatthuoc.FetchByID(objPhieuNhap.IdPhieu); if (objPhieuNhap != null) { foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in arrPhieuNhapCts) { objPhieuNhapCt.IdPhieu = Utility.Int32Dbnull(objPhieuNhap.IdPhieu, -1); objPhieuNhapCt.IsNew = true; objPhieuNhapCt.Save(); } } } Scope.Complete(); return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them phieu nhap kho :{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 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; } }
public ActionResult Kiemtrathuochuychuyenkho(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt) { using (var scope = new TransactionScope()) { //TThuockhoCollection vCollection2 = new TThuockhoCollection(); TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery( TThuockho.CreateQuery() .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhoxuat) .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc) .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date) .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap) .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan) .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap) .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo) .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat) ); if (vCollection.Count <= 0) { TThuockho TThuockho1 = new TThuockho(); TThuockho1.IdThuoc = objPhieuNhapCt.IdThuoc; TThuockho1.IdKho = Utility.Int32Dbnull(objPhieuNhap.IdKhoxuat); TThuockho1.NgayHethan = objPhieuNhapCt.NgayHethan.Date; TThuockho1.GiaNhap = objPhieuNhapCt.GiaNhap; TThuockho1.GiaBan = objPhieuNhapCt.GiaBan; TThuockho1.SoLuong = objPhieuNhapCt.SoLuong; TThuockho1.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; TThuockho1.Vat = objPhieuNhapCt.Vat.Value; TThuockho1.SoLo = objPhieuNhapCt.SoLo; TThuockho1.IsNew = true; TThuockho1.Save(); } int sl = objPhieuNhapCt.SoLuong + vCollection[0].SoLuong; new Update(TThuockho.Schema) .Set(TThuockho.Columns.SoLuong).EqualTo(sl) .Where(TThuockho.Columns.IdKho).IsEqualTo(objPhieuNhap.IdKhoxuat).And(TThuockho.Columns.IdThuoc). IsEqualTo(objPhieuNhapCt.IdThuoc).And(TThuockho.Columns.GiaNhap).IsEqualTo(objPhieuNhapCt.GiaNhap) .And(TThuockho.Columns.GiaBan).IsEqualTo(objPhieuNhapCt.GiaBan) .And(TThuockho.Columns.NgayHethan).IsEqualTo(objPhieuNhapCt.NgayHethan) .And(TThuockho.Columns.Vat).IsEqualTo(objPhieuNhapCt.Vat) .And(TThuockho.Columns.MaNhacungcap).IsEqualTo(objPhieuNhapCt.MaNhacungcap) .And(TThuockho.Columns.SoLo).IsEqualTo(objPhieuNhapCt.SoLo) .Execute(); TThuockhoCollection vCollection1 = new TThuockhoController().FetchByQuery( TThuockho.CreateQuery() .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhonhap) .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc) .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date) .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap) .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan) .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap) .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo) .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat) ); if (vCollection1.Count <= 0) return ActionResult.Exceed;//Lỗi mất dòng dữ liệu trong bảng kho-thuốc int SoLuong1 = vCollection1[0].SoLuong; SoLuong1 = SoLuong1 - objPhieuNhapCt.SoLuong; if (SoLuong1 < 0) return ActionResult.NotEnoughDrugInStock;//Thuốc đã sử dụng nhiều nên không thể hủy scope.Complete(); return ActionResult.Success; } }
/// <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.DonGia); objXuatNhap.GiaNhap = 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.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; 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.DonGia); objXuatNhap.GiaNhap = 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.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; 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(); int id_thuockho = -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, id_thuockho, _ngayxacnhan, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); 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); } }
/// <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 HuyXacNhanPhieuXuatKho(TPhieuNhapxuatthuoc objPhieuNhap, 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>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Kiểm tra ở kho nhập xem thuốc đã sử dụng chưa ActionResult _Kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuochuyxacnhan != ActionResult.Success) { return(_Kiemtrathuochuyxacnhan); } //Xóa biến động kho nhập new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuNhapKho).Execute(); //Xóa biến động kho xuất new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuXuatkhoTuyenXaHuyen).Execute(); long id_Thuockho_new = -1; new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(-1) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhoxuat, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, objPhieuNhapCt.IdThuockho.Value, id_Thuockho_new, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhonhap, 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(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .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 hủy xác nhận phiếu chuyển kho", ex); 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); } }
public bool Destroy(object IdPhieu) { return(TPhieuNhapxuatthuoc.Destroy(IdPhieu) == 1); }
private TPhieuNhapxuatthuoc CreatePhieuNhapKho() { TPhieuNhapxuatthuoc objTPhieuNhapxuatthuoc = new TPhieuNhapxuatthuoc(); if (m_enAction == action.Update) { objTPhieuNhapxuatthuoc.MarkOld(); objTPhieuNhapxuatthuoc.IsLoaded = true; objTPhieuNhapxuatthuoc.IdPhieu = Utility.Int32Dbnull(txtIDPhieuNhapKho.Text, -1); } objTPhieuNhapxuatthuoc.Vat = 0; objTPhieuNhapxuatthuoc.SoHoadon = string.Empty; objTPhieuNhapxuatthuoc.IdKhoxuat = Utility.Int16Dbnull(cboKhoXuat.SelectedValue, -1); objTPhieuNhapxuatthuoc.MaNhacungcap = txtNhacungcap.myCode; objTPhieuNhapxuatthuoc.TrangThai = 0; objTPhieuNhapxuatthuoc.MotaThem = txtLyDoNhap.Text; objTPhieuNhapxuatthuoc.IdNhanvien = Utility.Int16Dbnull(cboNhanVien.SelectedValue, -1); if (Utility.Int32Dbnull(objTPhieuNhapxuatthuoc.IdNhanvien, -1) <= 0) objTPhieuNhapxuatthuoc.IdNhanvien = globalVariables.gv_intIDNhanvien; objTPhieuNhapxuatthuoc.NgayHoadon = dtNgayNhap.Value; objTPhieuNhapxuatthuoc.NgayTao = globalVariables.SysDate; objTPhieuNhapxuatthuoc.NguoiTao = globalVariables.UserName; objTPhieuNhapxuatthuoc.NguoiGiao = globalVariables.UserName; objTPhieuNhapxuatthuoc.LoaiPhieu =(byte) LoaiPhieu.PhieuTraNCC; objTPhieuNhapxuatthuoc.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuTraNCC); objTPhieuNhapxuatthuoc.KieuThuocvattu = KIEU_THUOC_VT; return objTPhieuNhapxuatthuoc; }
public void Insert(string MaPhieu, string SoHoadon, DateTime NgayHoadon, short?IdKhonhap, short?IdKhoxuat, decimal?Vat, string MaNhacungcap, string MotaThem, string NguoiGiao, string NguoiNhan, string NguoiHuy, short?IdNhanvien, byte?SttHthi, byte?TrangThai, DateTime?NgayTao, string NguoiTao, string NguoiSua, DateTime?NgaySua, decimal?TongTien, byte?LoaiPhieu, string TenLoaiphieu, short?IdNhanvienXacnhan, string NguoiXacnhan, DateTime?NgayXacnhan, short?IdKhoalinh, string KieuThuocvattu, string SoChungtuKemtheo, byte?PhieuVay, string TkNo, string TkCo, byte?DuTru, string HoidongThanhly, string DiadiemThanhly, string YkienDexuat, DateTime?ThoigianThanhlyTu, DateTime?ThoigianThanhlyDen, byte?NoiTru) { TPhieuNhapxuatthuoc item = new TPhieuNhapxuatthuoc(); item.MaPhieu = MaPhieu; item.SoHoadon = SoHoadon; item.NgayHoadon = NgayHoadon; item.IdKhonhap = IdKhonhap; item.IdKhoxuat = IdKhoxuat; item.Vat = Vat; item.MaNhacungcap = MaNhacungcap; item.MotaThem = MotaThem; item.NguoiGiao = NguoiGiao; item.NguoiNhan = NguoiNhan; item.NguoiHuy = NguoiHuy; item.IdNhanvien = IdNhanvien; item.SttHthi = SttHthi; item.TrangThai = TrangThai; item.NgayTao = NgayTao; item.NguoiTao = NguoiTao; item.NguoiSua = NguoiSua; item.NgaySua = NgaySua; item.TongTien = TongTien; item.LoaiPhieu = LoaiPhieu; item.TenLoaiphieu = TenLoaiphieu; item.IdNhanvienXacnhan = IdNhanvienXacnhan; item.NguoiXacnhan = NguoiXacnhan; item.NgayXacnhan = NgayXacnhan; item.IdKhoalinh = IdKhoalinh; item.KieuThuocvattu = KieuThuocvattu; item.SoChungtuKemtheo = SoChungtuKemtheo; item.PhieuVay = PhieuVay; item.TkNo = TkNo; item.TkCo = TkCo; item.DuTru = DuTru; item.HoidongThanhly = HoidongThanhly; item.DiadiemThanhly = DiadiemThanhly; item.YkienDexuat = YkienDexuat; item.ThoigianThanhlyTu = ThoigianThanhlyTu; item.ThoigianThanhlyDen = ThoigianThanhlyDen; item.NoiTru = NoiTru; item.Save(UserName); }
/// <summary> /// Kiểm tra xem thuốc trong kho xuất đã được sử dụng hay chưa? /// </summary> /// <param name="objPhieuNhap"></param> /// <param name="objPhieuNhapCt"></param> /// <returns></returns> public ActionResult Kiemtrathuochuyxacnhan(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt) { TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery( TThuockho.CreateQuery() .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhonhap) .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc) .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date) .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap) .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan) ); if (vCollection.Count <= 0) return ActionResult.Exceed;//Lỗi không có dòng dữ liệu trong bảng kho-thuốc int SoLuong = vCollection[0].SoLuong; SoLuong = SoLuong - objPhieuNhapCt.SoLuong; if (SoLuong < 0) return ActionResult.NotEnoughDrugInStock;//Thuốc đã sử dụng nhiều nên không thể hủy return ActionResult.Success; }
/// <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 HuyXacNhanPhieuTralaiKho(TPhieuNhapxuatthuoc objPhieuNhapTra,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(objPhieuNhapTra.IdPhieu); var objPhieuNhaptraCtCollection = sqlQuery.ExecuteAsCollection<TPhieuNhapxuatthuocChitietCollection>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapTraCt in objPhieuNhaptraCtCollection) { //Kiểm tra ở kho lĩnh xem thuốc đã sử dụng chưa ActionResult kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan_tralai(objPhieuNhapTra, objPhieuNhapTraCt); if (kiemtrathuochuyxacnhan != ActionResult.Success) return kiemtrathuochuyxacnhan; //Xóa toàn bộ chi tiết trong TBiendongThuoc new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhapTra.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapTraCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo(LoaiPhieu.PhieuNhapTraLaiKhoLeVeKhoChan).Execute(); //Xóa toàn bộ chi tiết trong TBiendongThuoc new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhapTra.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapTraCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo(LoaiPhieu.PhieuXuatKhoLeTraKhoChan).Execute(); new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(-1) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapTraCt.IdPhieuchitiet).Execute(); int id_thuockho = -1; StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapTraCt.NgayHethan, objPhieuNhapTraCt.GiaNhap, objPhieuNhapTraCt.GiaBan, objPhieuNhapTraCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapTraCt.Vat), objPhieuNhapTraCt.IdThuoc, objPhieuNhapTra.IdKhoxuat, objPhieuNhapTraCt.MaNhacungcap, objPhieuNhapTraCt.SoLo, objPhieuNhapTraCt.SoDky, objPhieuNhapTraCt.SoQdinhthau, objPhieuNhapTraCt.IdChuyen, id_thuockho, objPhieuNhapTraCt.NgayNhap, objPhieuNhapTraCt.GiaBhyt, objPhieuNhapTraCt.GiaPhuthuDungtuyen, objPhieuNhapTraCt.GiaPhuthuTraituyen, objPhieuNhapTraCt.KieuThuocvattu); sp.Execute(); sp = SPs.ThuocXuatkho(objPhieuNhapTra.IdKhonhap, objPhieuNhapTraCt.IdThuoc, objPhieuNhapTraCt.NgayHethan, objPhieuNhapTraCt.GiaNhap, objPhieuNhapTraCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapTraCt.Vat), Utility.Int32Dbnull(objPhieuNhapTraCt.SoLuong), objPhieuNhapTraCt.IdThuockho, objPhieuNhapTraCt.MaNhacungcap, objPhieuNhapTraCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .Where(TPhieuNhapxuatthuoc.Columns.IdPhieu).IsEqualTo(objPhieuNhapTra.IdPhieu) .And(TPhieuNhapxuatthuoc.LoaiPhieuColumn).IsEqualTo(objPhieuNhapTra.LoaiPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { ErrMsg="Lỗi khi hủy xác nhận phiếu trả thuốc từ kho lẻ về kho chẵn-->"+ex.Message; return ActionResult.Error; } }
private TPhieuNhapxuatthuoc TaophieuNhapkho() { TPhieuNhapxuatthuoc objTPhieuNhapxuatthuoc=new TPhieuNhapxuatthuoc(); if(em_Action==action.Update) { objTPhieuNhapxuatthuoc = TPhieuNhapxuatthuoc.FetchByID(Utility.Int32Dbnull(txtIDPhieuNhapKho.Text,-1)); } if (objTPhieuNhapxuatthuoc != null) { if (objTPhieuNhapxuatthuoc.IdPhieu > 0) { objTPhieuNhapxuatthuoc.MarkOld(); objTPhieuNhapxuatthuoc.IsNew = false; } objTPhieuNhapxuatthuoc.SoHoadon = Utility.sDbnull(txtSoHoaDon.Text); objTPhieuNhapxuatthuoc.IdKhonhap = Utility.Int16Dbnull(txtKhonhap.MyID, -1); objTPhieuNhapxuatthuoc.MaNhacungcap = txtNhacungcap.myCode; objTPhieuNhapxuatthuoc.MotaThem = Utility.DoTrim(txtLyDoNhap.Text); objTPhieuNhapxuatthuoc.TrangThai = 0; objTPhieuNhapxuatthuoc.PhieuVay = Utility.Bool2byte(chkPhieuvay.Checked); objTPhieuNhapxuatthuoc.IdNhanvien = Utility.Int16Dbnull(cboNhanVien.SelectedValue, -1); if (Utility.Int32Dbnull(objTPhieuNhapxuatthuoc.IdNhanvien, -1) <= 0) objTPhieuNhapxuatthuoc.IdNhanvien = globalVariables.gv_intIDNhanvien; objTPhieuNhapxuatthuoc.NgayHoadon = dtNgayNhap.Value; objTPhieuNhapxuatthuoc.NgayTao = globalVariables.SysDate; objTPhieuNhapxuatthuoc.NguoiTao = globalVariables.UserName; objTPhieuNhapxuatthuoc.NguoiGiao = Utility.DoTrim(txtNguoiGiao.Text); objTPhieuNhapxuatthuoc.NguoiNhan = Utility.DoTrim(txtNguoinhan.Text); objTPhieuNhapxuatthuoc.TkNo = Utility.DoTrim(txtNo.Text); objTPhieuNhapxuatthuoc.TkCo = Utility.DoTrim(txtCo.Text); objTPhieuNhapxuatthuoc.SoChungtuKemtheo = Utility.DoTrim(txtSoCTkemtheo.Text); objTPhieuNhapxuatthuoc.Vat = Utility.DecimaltoDbnull(txtVAT.Text); objTPhieuNhapxuatthuoc.LoaiPhieu = (byte)LoaiPhieu.PhieuNhapKho; objTPhieuNhapxuatthuoc.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapKho); objTPhieuNhapxuatthuoc.KieuThuocvattu = KIEU_THUOC_VT; } return objTPhieuNhapxuatthuoc; }
/// <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(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>(); foreach (TPhieuNhapxuatthuocChitiet 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.IdKhonhap, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, objPhieuNhapCt.IdChuyen, idthuockho, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, 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.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; ///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.NgayHoadon; objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.MotaThem = objPhieuNhap.MotaThem; objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = 0; objXuatNhap.ThuocVay = 0; objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.GiaPhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.GiaPhuthuTraituyen; 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.IdKhonhap); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); 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.NgayHoadon; objXuatNhap.KieuThuocvattu = Utility.sDbnull(objPhieuNhapCt.KieuThuocvattu); objXuatNhap.MotaThem = objPhieuNhap.MotaThem; objXuatNhap.SoChungtuKemtheo = ""; objXuatNhap.Noitru = 0; objXuatNhap.QuayThuoc = 0; objXuatNhap.GiaBhyt = objPhieuNhapCt.GiaBhyt; objXuatNhap.GiaBhytCu = 0; objXuatNhap.GiaPhuthuDungtuyen = objPhieuNhapCt.GiaPhuthuDungtuyen; objXuatNhap.GiaPhuthuTraituyen = objPhieuNhapCt.GiaPhuthuTraituyen; 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.IdKhoxuat); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhoxuat); 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(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(TPhieuNhapxuatthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName) .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) .And(TPhieuNhapxuatthuoc.LoaiPhieuColumn).IsEqualTo(objPhieuNhap.LoaiPhieu).Execute(); } Scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { ErrMsg="Lỗi khi xác nhận phiếu trả thuốc từ kho lẻ về kho chẵn-->"+ex.Message; return ActionResult.Error; } }
private TPhieuNhapxuatthuoc CreatePhieuNhapKho() { TPhieuNhapxuatthuoc objTPhieuNhapxuatthuoc = new TPhieuNhapxuatthuoc(); if (m_enAction == action.Update) { objTPhieuNhapxuatthuoc.MarkOld(); objTPhieuNhapxuatthuoc.IsLoaded = true; objTPhieuNhapxuatthuoc.IdPhieu = Utility.Int32Dbnull(txtIDPhieuNhapKho.Text, -1); } objTPhieuNhapxuatthuoc.Vat = 0; objTPhieuNhapxuatthuoc.SoHoadon = string.Empty; objTPhieuNhapxuatthuoc.IdKhonhap = Utility.Int16Dbnull(cboKhoNhan.SelectedValue, -1); objTPhieuNhapxuatthuoc.IdKhoxuat = Utility.Int16Dbnull(cboKhoXuat.SelectedValue, -1); objTPhieuNhapxuatthuoc.MaNhacungcap = ""; objTPhieuNhapxuatthuoc.MotaThem = txtLyDoXuat.Text; objTPhieuNhapxuatthuoc.TrangThai = 0; objTPhieuNhapxuatthuoc.KieuThuocvattu = KIEU_THUOC_VT; objTPhieuNhapxuatthuoc.IdKhoalinh = Utility.Int16Dbnull(cboKhoaTra.SelectedValue, 0); objTPhieuNhapxuatthuoc.MotaThem = "Xuất thuốc tủ trực khoa nội trú trả về kho lẻ"; objTPhieuNhapxuatthuoc.IdNhanvien = Utility.Int16Dbnull(cboNhanVien.SelectedValue, -1); if (Utility.Int32Dbnull(objTPhieuNhapxuatthuoc.IdNhanvien, -1) <= 0) objTPhieuNhapxuatthuoc.IdNhanvien = globalVariables.gv_intIDNhanvien; objTPhieuNhapxuatthuoc.TkNo = Utility.DoTrim(txtNo.Text); objTPhieuNhapxuatthuoc.TkCo = Utility.DoTrim(txtCo.Text); objTPhieuNhapxuatthuoc.SoChungtuKemtheo = Utility.DoTrim(txtSoCT.Text); objTPhieuNhapxuatthuoc.NgayHoadon = dtNgayNhap.Value; objTPhieuNhapxuatthuoc.NgayTao = globalVariables.SysDate; objTPhieuNhapxuatthuoc.NguoiTao = globalVariables.UserName; objTPhieuNhapxuatthuoc.NguoiGiao =Utility.DoTrim( txtNguoigiao.Text); objTPhieuNhapxuatthuoc.NguoiNhan =Utility.DoTrim( txtNguoinhan.Text); objTPhieuNhapxuatthuoc.LoaiPhieu = (byte)LoaiPhieu.PhieuNhapTraKhoLe; objTPhieuNhapxuatthuoc.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuNhapTraKhoLe); objTPhieuNhapxuatthuoc.DuTru = 0;// Utility.Bool2byte(chkPhieudutru.Checked); return objTPhieuNhapxuatthuoc; }
/// <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(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) { 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.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); objXuatNhap.MotaThem = objPhieuNhap.MotaThem; 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.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.NgayHethan = objPhieuNhapCt.NgayHethan; objXuatNhap.MaNhacungcap = objPhieuNhap.MaNhacungcap; objXuatNhap.MaLoaiphieu = Utility.ByteDbnull(LoaiPhieu.PhieuTraNcc); objXuatNhap.TenLoaiphieu = Utility.sDbnull(objPhieuNhap.TenLoaiphieu); objXuatNhap.NgayBiendong = objPhieuNhap.NgayXacnhan; objXuatNhap.IsNew = true; objXuatNhap.Save(); int id_thuockho = -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, id_thuockho, objPhieuNhap.NgayXacnhan, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); log.Info(string.Format("Nhạp tra lai kho {0} voi so phieu {1}", objPhieuNhap.IdKhonhap, 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.DonGia = Utility.DecimaltoDbnull(objPhieuNhapCt.DonGia); objXuatNhap.GiaBan = Utility.DecimaltoDbnull(objPhieuNhapCt.GiaBan); 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.SoDky = objPhieuNhapCt.SoDky; objXuatNhap.SoQdinhthau = objPhieuNhapCt.SoQdinhthau; objXuatNhap.SoLo = objPhieuNhapCt.SoLo; objXuatNhap.IdNhanvien = Utility.Int16Dbnull(objPhieuNhap.IdNhanvien); objXuatNhap.IdKhoaLinh = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); objXuatNhap.IdKho = Utility.Int16Dbnull(objPhieuNhap.IdKhonhap); 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.MotaThem = objPhieuNhap.MotaThem; objXuatNhap.IsNew = true; objXuatNhap.Save(); 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(); log.Info(string.Format("xuat tra lai kho {0} voi so phieu {1}", objPhieuNhap.IdKhoxuat, objPhieuNhapCt.IdPhieuchitiet)); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.NgaySua).EqualTo(globalVariables.SysDate) .Set(TPhieuNhapxuatthuoc.Columns.NguoiSua).EqualTo(globalVariables.UserName) .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) .And(TPhieuNhapxuatthuoc.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 HuyXacNhanPhieuTrathuocThuatuKhoanoitruVeKhoLeNoitru(TPhieuNhapxuatthuoc objPhieuNhap, 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>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Kiểm tra ở kho nhập xem thuốc đã sử dụng chưa ActionResult _Kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuochuyxacnhan != ActionResult.Success) return _Kiemtrathuochuyxacnhan; //Xóa biến động kho nhập new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.Phieutrathuocthua).Execute(); //Trừ từ kho xuất StoredProcedure sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhonhap, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.SoLuong, objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); //Cạp nhật lại id_thuockho =-1(giá trị này được update khi xác nhận phiếu). Giá trị id_chuyen cho biết chuyển từ id_thuockho của kho nội trú. new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(-1) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .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 hủy xác nhận phiếu trả thuốc thừa từ khoa nội trú về kho lẻ nội trú", 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; } }
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 HuyXacNhanPhieuXuatKho(TPhieuNhapxuatthuoc objPhieuNhap, 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>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Kiểm tra ở kho nhập xem thuốc đã sử dụng chưa ActionResult _Kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuochuyxacnhan != ActionResult.Success) return _Kiemtrathuochuyxacnhan; //Xóa biến động kho nhập new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuNhapKho).Execute(); //Xóa biến động kho xuất new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuXuatKhoBenhNhan).Execute(); long id_Thuockho_new = -1; new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(-1) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); StoredProcedure sp = SPs.ThuocNhapkhoOutput(objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, objPhieuNhapCt.SoLuong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhoxuat, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, objPhieuNhapCt.IdThuockho.Value, id_Thuockho_new, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhonhap, 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(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .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 hủy xác nhận phiếu chuyển kho", ex); return ActionResult.Error; } }
/// <summary> /// hàm thực hiện việc thêm phiếu nhập kho thuốc /// </summary> /// <param name="objPhieuNhap"></param> /// <param name="arrPhieuNhapCts"></param> /// <returns></returns> public ActionResult ThemPhieuXuatKho(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet[] arrPhieuNhapCts) { try { using (var Scope = new TransactionScope()) { using (var dbScope = new SharedDbConnectionScope()) { objPhieuNhap.NgayTao = globalVariables.SysDate; objPhieuNhap.NguoiTao = globalVariables.UserName; objPhieuNhap.MaPhieu = Utility.sDbnull(THU_VIEN_CHUNG.MaNhapKho(Utility.Int32Dbnull(objPhieuNhap.LoaiPhieu))); objPhieuNhap.TongTien = arrPhieuNhapCts.Sum(c => c.ThanhTien); objPhieuNhap.IsNew = true; objPhieuNhap.Save(); objPhieuNhap = TPhieuNhapxuatthuoc.FetchByID(objPhieuNhap.IdPhieu); if (objPhieuNhap != null) { foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in arrPhieuNhapCts) { objPhieuNhapCt.IdPhieu = Utility.Int32Dbnull(objPhieuNhap.IdPhieu, -1); objPhieuNhapCt.IsNew = true; objPhieuNhapCt.Save(); } } } Scope.Complete(); return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them :{0}", exception); 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); } }
/// <summary> /// hàm thực hiện việc cho phép chuyển thông tin xác nhận vào kho /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdNhapKho_Click(object sender, EventArgs e) { try { cmdNhapKho.Enabled = false; Utility.SetMsg(uiStatusBar2.Panels["MSG"], "", false); int IdPhieu = Utility.Int32Dbnull(grdList.GetValue(TPhieuNhapxuatthuoc.Columns.IdPhieu), -1); TPhieuNhapxuatthuoc objTPhieuNhapxuatthuoc = TPhieuNhapxuatthuoc.FetchByID(IdPhieu); if (objTPhieuNhapxuatthuoc != null) { if (Utility.ByteDbnull(objTPhieuNhapxuatthuoc.TrangThai, 0) == 1) { return; } string errMsg = ""; DateTime _ngayxacnhan = globalVariables.SysDate; if (THU_VIEN_CHUNG.Laygiatrithamsohethong("THUOC_HIENTHI_NGAYXACNHAN", "0", false) == "1") { frm_ChonngayXacnhan _ChonngayXacnhan = new frm_ChonngayXacnhan(); _ChonngayXacnhan.pdt_InputDate = objTPhieuNhapxuatthuoc.NgayHoadon; _ChonngayXacnhan.ShowDialog(); if (_ChonngayXacnhan.b_Cancel) { return; } else { _ngayxacnhan = _ChonngayXacnhan.pdt_InputDate; } } ActionResult actionResult = new PhieuTraLai().XacNhanTraLaiKhoLeVeKhoChan(objTPhieuNhapxuatthuoc, _ngayxacnhan, ref errMsg); switch (actionResult) { case ActionResult.Success: Utility.SetMsg(uiStatusBar2.Panels["MSG"], "Trả thuốc từ kho lẻ về kho chẵn thành công", false); grdList.CurrentRow.BeginEdit(); grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.TrangThai].Value = 1; grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.NgayXacnhan].Value = _ngayxacnhan; grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.NguoiXacnhan].Value = globalVariables.UserName; grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.TrangThai].Value = 1; grdList.CurrentRow.EndEdit(); break; case ActionResult.Exceed: Utility.ShowMsg("Không có " + ten_kieuthuoc_vt + " trong kho xuất nên không thể xác nhận phiếu xuất\n" + errMsg, "Thông báo lỗi", MessageBoxIcon.Warning); break; case ActionResult.NotEnoughDrugInStock: Utility.ShowMsg("" + ten_kieuthuoc_vt + " trong kho xuất không còn đủ số lượng nên không thể xác nhận phiếu xuất\n" + errMsg, "Thông báo lỗi", MessageBoxIcon.Warning); break; case ActionResult.Error: break; } } } catch (Exception ex) { Utility.CatchException(ex); } finally { ModifyCommand(); } }
public ActionResult Kiemtrathuochuychuyenkho(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt) { using (var scope = new TransactionScope()) { //TThuockhoCollection vCollection2 = new TThuockhoCollection(); TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery( TThuockho.CreateQuery() .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhoxuat) .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc) .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date) .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap) .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan) .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap) .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo) .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat) ); if (vCollection.Count <= 0) { TThuockho TThuockho1 = new TThuockho(); TThuockho1.IdThuoc = objPhieuNhapCt.IdThuoc; TThuockho1.IdKho = Utility.Int32Dbnull(objPhieuNhap.IdKhoxuat); TThuockho1.NgayHethan = objPhieuNhapCt.NgayHethan.Date; TThuockho1.GiaNhap = objPhieuNhapCt.GiaNhap; TThuockho1.GiaBan = objPhieuNhapCt.GiaBan; TThuockho1.SoLuong = objPhieuNhapCt.SoLuong; TThuockho1.MaNhacungcap = objPhieuNhapCt.MaNhacungcap; TThuockho1.Vat = objPhieuNhapCt.Vat.Value; TThuockho1.SoLo = objPhieuNhapCt.SoLo; TThuockho1.IsNew = true; TThuockho1.Save(); } int sl = objPhieuNhapCt.SoLuong + vCollection[0].SoLuong; new Update(TThuockho.Schema) .Set(TThuockho.Columns.SoLuong).EqualTo(sl) .Where(TThuockho.Columns.IdKho).IsEqualTo(objPhieuNhap.IdKhoxuat).And(TThuockho.Columns.IdThuoc). IsEqualTo(objPhieuNhapCt.IdThuoc).And(TThuockho.Columns.GiaNhap).IsEqualTo(objPhieuNhapCt.GiaNhap) .And(TThuockho.Columns.GiaBan).IsEqualTo(objPhieuNhapCt.GiaBan) .And(TThuockho.Columns.NgayHethan).IsEqualTo(objPhieuNhapCt.NgayHethan) .And(TThuockho.Columns.Vat).IsEqualTo(objPhieuNhapCt.Vat) .And(TThuockho.Columns.MaNhacungcap).IsEqualTo(objPhieuNhapCt.MaNhacungcap) .And(TThuockho.Columns.SoLo).IsEqualTo(objPhieuNhapCt.SoLo) .Execute(); TThuockhoCollection vCollection1 = new TThuockhoController().FetchByQuery( TThuockho.CreateQuery() .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhonhap) .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc) .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date) .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap) .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan) .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap) .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo) .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat) ); if (vCollection1.Count <= 0) { return(ActionResult.Exceed); //Lỗi mất dòng dữ liệu trong bảng kho-thuốc } int SoLuong1 = vCollection1[0].SoLuong; SoLuong1 = SoLuong1 - objPhieuNhapCt.SoLuong; if (SoLuong1 < 0) { return(ActionResult.NotEnoughDrugInStock); //Thuốc đã sử dụng nhiều nên không thể hủy } scope.Complete(); return(ActionResult.Success); } }
/// <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; } }
/// <summary> /// hàm thực hiện việc cho phép chuyển thông tin xác nhận vào kho /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdNhapKho_Click(object sender, EventArgs e) { try { cmdNhapKho.Enabled = false; Utility.SetMsg(uiStatusBar2.Panels["MSG"], "", false); if (Utility.AcceptQuestion("Bạn có muốn thực hiện trả thuốc từ tủ trực khoa nội trú về kho lẻ hay không?", "Thông báo", true)) { string errMsg = ""; int IdPhieu = Utility.Int32Dbnull(grdList.GetValue(TPhieuNhapxuatthuoc.Columns.IdPhieu), -1); TPhieuNhapxuatthuoc objTPhieuNhapxuatthuoc = TPhieuNhapxuatthuoc.FetchByID(IdPhieu); if (objTPhieuNhapxuatthuoc != null) { DateTime _ngayxacnhan = globalVariables.SysDate; if (THU_VIEN_CHUNG.Laygiatrithamsohethong("THUOC_HIENTHI_NGAYXACNHAN", "0", false) == "1") { frm_ChonngayXacnhan _ChonngayXacnhan = new frm_ChonngayXacnhan(); _ChonngayXacnhan.pdt_InputDate = objTPhieuNhapxuatthuoc.NgayHoadon; _ChonngayXacnhan.ShowDialog(); if (_ChonngayXacnhan.b_Cancel) { return; } else { _ngayxacnhan = _ChonngayXacnhan.pdt_InputDate; } } ActionResult actionResult = new CapphatThuocKhoa().XacNhanPhieuTrathuocThuatukhoanoitruveKhoLeNoitru(objTPhieuNhapxuatthuoc, _ngayxacnhan, ref errMsg); switch (actionResult) { case ActionResult.Success: Utility.SetMsg(uiStatusBar2.Panels["MSG"], "Trả thuốc từ tủ thuốc khoa nội trú về kho thành công", false); grdList.CurrentRow.BeginEdit(); grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.TrangThai].Value = 1; grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.NgayXacnhan].Value = _ngayxacnhan; grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.NguoiXacnhan].Value = globalVariables.UserName; grdList.CurrentRow.Cells[TPhieuNhapxuatthuoc.Columns.TrangThai].Value = 1; grdList.CurrentRow.EndEdit(); break; case ActionResult.Exceed: Utility.ShowMsg("Không có thuốc trong tủ trực nên không thể xác nhận phiếu trả thuốc\n" + errMsg, "Thông báo lỗi", MessageBoxIcon.Warning); break; case ActionResult.NotEnoughDrugInStock: Utility.ShowMsg("Thuốc trong tủ trực không còn đủ số lượng nên không thể xác nhận phiếu trả thuốc\n" + errMsg, "Thông báo lỗi", MessageBoxIcon.Warning); break; case ActionResult.Error: break; } } } } catch (Exception) { } finally { ModifyCommand(); } }
private TPhieuNhapxuatthuoc CreatePhieuNhapKho() { TPhieuNhapxuatthuoc objPhieu = new TPhieuNhapxuatthuoc(); if (m_enAction == action.Update) { objPhieu.MarkOld(); objPhieu.IsLoaded = true; objPhieu.IdPhieu = Utility.Int32Dbnull(txtIDPhieuNhapKho.Text, -1); } objPhieu.Vat = 0; objPhieu.SoHoadon = string.Empty; objPhieu.IdKhoxuat = Utility.Int16Dbnull(cboKhohuy.SelectedValue, -1); objPhieu.MaNhacungcap = ""; objPhieu.MotaThem =Utility.DoTrim( txtMotathem.Text); objPhieu.TrangThai = 0; objPhieu.KieuThuocvattu = KIEU_THUOC_VT; objPhieu.IdNhanvien = Utility.Int16Dbnull(cboNhanVien.SelectedValue, -1); if (Utility.Int32Dbnull(objPhieu.IdNhanvien, -1) <= 0) objPhieu.IdNhanvien = globalVariables.gv_intIDNhanvien; objPhieu.NgayHoadon = dtNgayNhap.Value; objPhieu.NgayTao = globalVariables.SysDate; objPhieu.NguoiTao = globalVariables.UserName; objPhieu.NguoiGiao = globalVariables.UserName; objPhieu.DiadiemThanhly = txtDiadiem.Text; objPhieu.HoidongThanhly = txtHoidong.Rtf; objPhieu.ThoigianThanhlyTu = dtpFrom.Value; objPhieu.ThoigianThanhlyDen = dtpTo.Value; objPhieu.YkienDexuat = Utility.DoTrim(txtMotathem.Text); objPhieu.LoaiPhieu =(byte) LoaiPhieu.PhieuThanhly; objPhieu.TenLoaiphieu = Utility.TenLoaiPhieu(LoaiPhieu.PhieuThanhly); objPhieu.DuTru = Utility.Bool2byte(false); return objPhieu; }
public ActionResult HuyXacNhanPhieuTrathuocTutrucKhoaVeKho(TPhieuNhapxuatthuoc objPhieuNhap, 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>(); foreach (TPhieuNhapxuatthuocChitiet objPhieuNhapCt in objPhieuNhapCtCollection) { //Kiểm tra ở kho nhập xem thuốc đã sử dụng chưa ActionResult _Kiemtrathuochuyxacnhan = Kiemtrathuochuyxacnhan(objPhieuNhap, objPhieuNhapCt, ref errMsg); if (_Kiemtrathuochuyxacnhan != ActionResult.Success) { return(_Kiemtrathuochuyxacnhan); } //Xóa biến động kho nhập new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuNhapKhoTututruc).Execute(); //Xóa biến động kho xuất new Delete().From(TBiendongThuoc.Schema) .Where(TBiendongThuoc.IdPhieuColumn).IsEqualTo(objPhieuNhap.IdPhieu) .And(TBiendongThuoc.IdPhieuChitietColumn).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet) .And(TBiendongThuoc.MaLoaiphieuColumn).IsEqualTo((byte)LoaiPhieu.PhieuXuatKhoBenhNhanTuTutruc).Execute(); //Cộng trả lại kho xuất long idthuockho = -1; //Nhập theo tủ trực theo số lượng 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 Sluong = 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, Sluong, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.IdThuoc, objPhieuNhap.IdKhoxuat, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objPhieuNhapCt.SoDky, objPhieuNhapCt.SoQdinhthau, -1, idthuockho, objPhieuNhapCt.NgayNhap, objPhieuNhapCt.GiaBhyt, objPhieuNhapCt.GiaPhuthuDungtuyen, objPhieuNhapCt.GiaPhuthuTraituyen, objPhieuNhapCt.KieuThuocvattu); sp.Execute(); idthuockho = Utility.Int64Dbnull(sp.OutputValues[0], -1); //Xuất thứ nguyên từ kho nhận sp = SPs.ThuocXuatkho(objPhieuNhap.IdKhonhap, objPhieuNhapCt.IdThuoc, objPhieuNhapCt.NgayHethan, objPhieuNhapCt.GiaNhap, objPhieuNhapCt.GiaBan, Utility.DecimaltoDbnull(objPhieuNhapCt.Vat), objPhieuNhapCt.SoLuong, objPhieuNhapCt.IdThuockho, objPhieuNhapCt.MaNhacungcap, objPhieuNhapCt.SoLo, objHisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, errorMessage); sp.Execute(); //Cạp nhật lại id_thuockho =-1(giá trị này được update khi xác nhận phiếu). Giá trị id_chuyen cho biết chuyển từ id_thuockho của kho nội trú. new Update(TPhieuNhapxuatthuocChitiet.Schema).Set(TPhieuNhapxuatthuocChitiet.Columns.IdThuockho).EqualTo(-1) .Where(TPhieuNhapxuatthuocChitiet.Columns.IdPhieuchitiet).IsEqualTo(objPhieuNhapCt.IdPhieuchitiet).Execute(); } new Update(TPhieuNhapxuatthuoc.Schema) .Set(TPhieuNhapxuatthuoc.Columns.IdNhanvien).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NguoiXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.NgayXacnhan).EqualTo(null) .Set(TPhieuNhapxuatthuoc.Columns.TrangThai).EqualTo(0) .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 hủy xác nhận phiếu trả thuốc từ tủ trực về kho lẻ nội trú", ex); return(ActionResult.Error); } }