Пример #1
0
 List <TPhieuCapphatChitiet> TaoPhieuCapphatChitiet()
 {
     try
     {
         List <TPhieuCapphatChitiet> lstCapphatchitiet = new List <TPhieuCapphatChitiet>();
         int idx = 0;
         foreach (DataRow row in dtPhieucapphatchitiet.Rows)
         {
             TPhieuCapphatChitiet _newItem = new TPhieuCapphatChitiet();
             _newItem.IdCapphat         = -1;
             _newItem.DaLinh            = 0;
             _newItem.IdBenhnhan        = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdBenhnhan], -1);
             _newItem.MaLuotkham        = Utility.sDbnull(row[TPhieuCapphatChitiet.Columns.MaLuotkham], "");
             _newItem.NgayKedon         = Convert.ToDateTime(row[TPhieuCapphatChitiet.Columns.NgayKedon]);
             _newItem.ThucLinh          = 0;
             _newItem.SoLuongtralai     = 0;
             _newItem.IdKho             = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdKho], -1);
             _newItem.IdThuockho        = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdThuockho], -1);
             _newItem.IdThuoc           = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdThuoc], -1);
             _newItem.SoLuong           = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.SoLuong], -1);
             _newItem.IdChitietdonthuoc = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdChitietdonthuoc], -1);
             _newItem.IdDonthuoc        = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdDonthuoc], -1);
             lstCapphatchitiet.Add(_newItem);
         }
         return(lstCapphatchitiet);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Пример #2
0
 private TPhieuCapphatChitiet[] CreatePhieuCapPhatCT()
 {
     try
     {
         var arrPhieuCapPhatCT = new TPhieuCapphatChitiet[grdDonThuoc.RowCount];
         int idx = 0;
         foreach (GridEXRow gridExRow in grdDonThuoc.GetDataRows())
         {
             arrPhieuCapPhatCT[idx]           = new TPhieuCapphatChitiet();
             arrPhieuCapPhatCT[idx].IdCapphat = Utility.Int32Dbnull(txtID_CAPPHAT.Text);
             arrPhieuCapPhatCT[idx].DaLinh    = chkDa_CapPhat.Checked;
             arrPhieuCapPhatCT[idx].IdDtri    =
                 Utility.Int32Dbnull(gridExRow.Cells[TPhieuCapphatChitiet.Columns.IdDtri].Value, -1);
             //arrPhieuCapPhatCT[idx].SoLuong = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.SoLuong], -1);
             arrPhieuCapPhatCT[idx].IdDonthuoc =
                 Utility.Int32Dbnull(gridExRow.Cells[KcbDonthuoc.Columns.PresId].Value, -1);
             // arrPhieuCapPhatCT[idx].IdDonthuoc = Utility.Int32Dbnull(gridExRow.Cells[TPhieuCapphatChitiet.Columns.IdDonthuoc].Value, -1);
             idx++;
         }
         return(arrPhieuCapPhatCT);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Пример #3
0
        ActionResult Kiemtrasoluongthuoctrongkho(TPhieuCapphatChitiet pres, int ID_KHO)
        {
            int       id_thuoc = pres.IdThuoc;
            DmucThuoc _drug    = new Select().From(DmucThuoc.Schema).Where(DmucThuoc.IdThuocColumn).IsEqualTo(id_thuoc).ExecuteSingle <DmucThuoc>();

            if (_drug == null)
            {
                return(ActionResult.UNKNOW);
            }
            string Drug_name  = _drug.TenThuoc;
            int    so_luong   = pres.SoLuong;
            int    SoLuongTon = CommonLoadDuoc.SoLuongTonTrongKho(pres.IdDonthuoc, ID_KHO, id_thuoc, (int)pres.IdThuockho.Value, 1, (byte)1);

            if (SoLuongTon < so_luong)
            {
                Utility.ShowMsg(string.Format("Bạn không thể xác nhận đơn thuốc,Vì thuốc :{0} số lượng tồn hiện tại trong kho({1}) không đủ cấp cho số lượng yêu cầu({2})\n Mời bạn xem lại số lượng", Drug_name, SoLuongTon.ToString(), so_luong.ToString()));
                return(ActionResult.NotEnoughDrugInStock);
            }
            return(ActionResult.Success);
        }
        public void Update(int IdCapphat,int IdDonthuoc,int IdChitietdonthuoc,short? DaLinh,int SoLuong,int IdThuoc,int IdKho,long? IdThuockho,long? IdPhieuxuatthuocBenhnhan)
        {
            TPhieuCapphatChitiet item = new TPhieuCapphatChitiet();
            item.MarkOld();
            item.IsLoaded = true;

            item.IdCapphat = IdCapphat;

            item.IdDonthuoc = IdDonthuoc;

            item.IdChitietdonthuoc = IdChitietdonthuoc;

            item.DaLinh = DaLinh;

            item.SoLuong = SoLuong;

            item.IdThuoc = IdThuoc;

            item.IdKho = IdKho;

            item.IdThuockho = IdThuockho;

            item.IdPhieuxuatthuocBenhnhan = IdPhieuxuatthuocBenhnhan;

            item.Save(UserName);
        }
Пример #5
0
 ActionResult Kiemtrasoluongthuoctrongkho(TPhieuCapphatChitiet pres, int ID_KHO)
 {
     int id_thuoc = pres.IdThuoc;
     DmucThuoc _drug = new Select().From(DmucThuoc.Schema).Where(DmucThuoc.IdThuocColumn).IsEqualTo(id_thuoc).ExecuteSingle<DmucThuoc>();
     if (_drug == null) return ActionResult.UNKNOW;
     string Drug_name = _drug.TenThuoc;
     int so_luong = pres.SoLuong;
     int SoLuongTon = CommonLoadDuoc.SoLuongTonTrongKho(pres.IdDonthuoc, ID_KHO, id_thuoc, (int)pres.IdThuockho.Value, 1, (byte)1);
     if (SoLuongTon < so_luong)
     {
         Utility.ShowMsg(string.Format("Bạn không thể xác nhận đơn thuốc,Vì thuốc :{0} số lượng tồn hiện tại trong kho({1}) không đủ cấp cho số lượng yêu cầu({2})\n Mời bạn xem lại số lượng", Drug_name, SoLuongTon.ToString(), so_luong.ToString()));
         return ActionResult.NotEnoughDrugInStock;
     }
     return ActionResult.Success;
 }
Пример #6
0
        private ActionResult TruThuocTrongKho_Noitru(KcbDonthuoc objDonthuoc, TPhieuCapphatChitiet objCapphatDetail, KcbDonthuocChitiet objDetail, TPhieuXuatthuocBenhnhan objPhieuXuatBnhan, int ID_KHO_XUAT, DateTime ngaythuchien)
        {
            string errorMessage = "";
            try
            {
                using (var scope = new TransactionScope())
                {
                    TThuockho objTThuockho = new Select().From(TThuockho.Schema)
                                   .Where(TThuockho.IdThuockhoColumn).IsEqualTo(objDetail.IdThuockho)
                                   .ExecuteSingle<TThuockho>();
                    //Kiểm tra xem thuốc còn đủ hay không?
                    if (objTThuockho.SoLuong < objCapphatDetail.SoLuong)
                    {
                        //Sau này có thể mở rộng thêm code tự động dò và xác định lại Id_thuockho cho các chi tiết đơn thuốc
                        return ActionResult.NotEnoughDrugInStock;
                    }

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

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

                            sp.Execute();
                            break;
                        }
                        else
                        {
                            iSoLuongTru = iSoLuongDonThuoc - iSoLuongConLai;
                            iSoLuongDonThuoc = iSoLuongTru;
                            UpdateXuatChiTietBN(objDonthuoc,objDetail, objDThuocKho, iSoLuongConLai, objPhieuXuatBnhan);
                            StoredProcedure sp = SPs.ThuocXuatkho(Utility.Int32Dbnull(objDThuocKho.IdKho),
                                                                          Utility.Int32Dbnull(objDThuocKho.IdThuoc, -1),
                                                                          objDThuocKho.NgayHethan, objDetail.GiaNhap, Utility.DecimaltoDbnull(objDetail.GiaBan),
                                                                          Utility.DecimaltoDbnull(objTThuockho.Vat), iSoLuongConLai, objTThuockho.IdThuockho, objTThuockho.MaNhacungcap, objTThuockho.SoLo, PropertyLib._HisDuocProperties.XoaDulieuKhiThuocDaHet ? 1 : 0, ErrMsg);
                            sp.Execute();
                        }
                    }
                    new Update(KcbDonthuocChitiet.Schema)
                        .Set(KcbDonthuocChitiet.Columns.TrangThai).EqualTo(1)
                        .Set(KcbDonthuocChitiet.Columns.IdThuockho).EqualTo(objTThuockho.IdThuockho)
                        .Set(KcbDonthuocChitiet.Columns.IdKho).EqualTo(ID_KHO_XUAT)
                         .Set(KcbDonthuocChitiet.Columns.NgayXacnhan).EqualTo(ngaythuchien)
                        .Set(KcbDonthuocChitiet.Columns.SluongLinh).EqualTo(TONGSOLUONG_LINH)
                        .Where(KcbDonthuocChitiet.Columns.IdChitietdonthuoc).IsEqualTo(objDetail.IdChitietdonthuoc).Execute();
                    scope.Complete();
                }
            }
            catch (Exception exception)
            {
                log.Error("Loi ban ra tu sp :{0}", errorMessage);
                log.Error("loi trong qua trinh tru thuoc trong kho :{0}", exception.ToString());
            }
            return ActionResult.Success;
        }
 List<TPhieuCapphatChitiet> TaoPhieuCapphatChitiet()
 {
     try
     {
         List<TPhieuCapphatChitiet> lstCapphatchitiet = new List<TPhieuCapphatChitiet>();
         int idx = 0;
         foreach (DataRow row in dtPhieucapphatchitiet.Rows)
         {
          TPhieuCapphatChitiet   _newItem = new TPhieuCapphatChitiet();
          _newItem.IdCapphat = -1;
          _newItem.DaLinh = 0;
          _newItem.IdBenhnhan = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdBenhnhan], -1);
          _newItem.MaLuotkham = Utility.sDbnull(row[TPhieuCapphatChitiet.Columns.MaLuotkham],"");
          _newItem.NgayKedon = Convert.ToDateTime(row[TPhieuCapphatChitiet.Columns.NgayKedon]);
          _newItem.ThucLinh = 0;
          _newItem.SoLuongtralai = 0;
          _newItem.IdKho = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdKho], -1);
          _newItem.IdThuockho = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdThuockho], -1);
          _newItem.IdThuoc = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdThuoc], -1);
          _newItem.SoLuong = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.SoLuong], -1);
          _newItem.IdChitietdonthuoc = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdChitietdonthuoc], -1);
          _newItem.IdDonthuoc = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdDonthuoc], -1);
          lstCapphatchitiet.Add(_newItem);
         }
         return lstCapphatchitiet;
     }
     catch (Exception)
     {
         return null;
     }
 }
        public void Insert(int IdCapphat,int IdDonthuoc,int IdChitietdonthuoc,DateTime? NgayKedon,long? IdBenhnhan,string MaLuotkham,short? DaLinh,int SoLuong,int? ThucLinh,int? SoLuongtralai,int IdThuoc,int IdKho,long? IdThuockho,long? IdPhieuxuatthuocBenhnhan,string NguoiSua,DateTime? NgaySua,long? IdPhieutralai,byte? TrangthaiTralai)
        {
            TPhieuCapphatChitiet item = new TPhieuCapphatChitiet();

            item.IdCapphat = IdCapphat;

            item.IdDonthuoc = IdDonthuoc;

            item.IdChitietdonthuoc = IdChitietdonthuoc;

            item.NgayKedon = NgayKedon;

            item.IdBenhnhan = IdBenhnhan;

            item.MaLuotkham = MaLuotkham;

            item.DaLinh = DaLinh;

            item.SoLuong = SoLuong;

            item.ThucLinh = ThucLinh;

            item.SoLuongtralai = SoLuongtralai;

            item.IdThuoc = IdThuoc;

            item.IdKho = IdKho;

            item.IdThuockho = IdThuockho;

            item.IdPhieuxuatthuocBenhnhan = IdPhieuxuatthuocBenhnhan;

            item.NguoiSua = NguoiSua;

            item.NgaySua = NgaySua;

            item.IdPhieutralai = IdPhieutralai;

            item.TrangthaiTralai = TrangthaiTralai;

            item.Save(UserName);
        }
 List<TPhieuCapphatChitiet> TaoPhieuCapphatChitiet()
 {
     try
     {
         List<TPhieuCapphatChitiet> lstCapphatchitiet = new List<TPhieuCapphatChitiet>();
         int idx = 0;
         foreach (DataRow row in dataTableDetail.Rows)
         {
          TPhieuCapphatChitiet   _newItem = new TPhieuCapphatChitiet();
          _newItem.IdCapphat = -1;
          _newItem.DaLinh = 0;
          _newItem.IdKho = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdKho], -1);
          _newItem.IdThuockho = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdThuockho], -1);
          _newItem.IdThuoc = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdThuoc], -1);
          _newItem.SoLuong = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.SoLuong], -1);
          _newItem.IdChitietdonthuoc = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdChitietdonthuoc], -1);
          _newItem.IdDonthuoc = Utility.Int32Dbnull(row[TPhieuCapphatChitiet.Columns.IdDonthuoc], -1);
          lstCapphatchitiet.Add(_newItem);
         }
         return lstCapphatchitiet;
     }
     catch (Exception)
     {
         return null;
     }
 }