Exemple #1
0
 public frmCS_BangGia_ViewKhuyenMai(List <BangGiaChinhSachInfor> lics, BangGiaChiTietInfor bgct)
 {
     InitializeComponent();
     Common.LoadStyle(this);
     this.liChinhSach    = lics;
     this.BangGiaChiTiet = bgct;
 }
 public void UpdateBangGiaChiTiet(BangGiaChiTietInfor bgct)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spBangGiaChiTietUpdate, bgct.IdChiTiet, bgct.IdBangGia, bgct.IdSanPham,
                    bgct.GiaNhapHDCuoi, bgct.GiaTonKhoBQ, bgct.TienChietKhauQK, bgct.TienKhuyenMai, bgct.TyLeLNBQ, bgct.DungSaiMin, bgct.DungSaiMax,
                    bgct.GiaMin, bgct.GiaMax, bgct.GiaBanAnToan, bgct.DonGiaChuaVAT, bgct.SoLuongBanBQ, bgct.DungSaiSLBQ,
                    bgct.TyLeChietKhau, bgct.TienChietKhau, bgct.TyLeVAT, bgct.TienVAT, bgct.DonGiaCoVAT, bgct.TyLeThuong,
                    bgct.ThuongNong, bgct.NguoiCapNhat, bgct.GiaNiemYet, bgct.GiaWebSite, bgct.LoiNhuan, bgct.LoiNhuanTon, bgct.GiaBanBuon,
                    bgct.LoiNhuanBB, bgct.LoiNhuanTonBB, bgct.DaDuyet, bgct.IdNhomDuyet, bgct.NhomDuyet, bgct.GiaNhapDemoCuoi, bgct.GiaBanDemo, bgct.LoiNhuanDemo, bgct.KhuyenMai, bgct.IdDKMua);
 }
 private void gvSanPham_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
 {
     if (gvSanPham.FocusedRowHandle < 0)
     {
         return;
     }
     if (e.Column.FieldName == "DonGiaCoVAT" || e.Column.FieldName == "GiaBanBuon" || e.Column.FieldName == "ThuongNong")
     {
         BangGiaChiTietInfor bgct = (BangGiaChiTietInfor)gvSanPham.GetRow(gvSanPham.FocusedRowHandle);
         UpdateDataValue(bgct);
         UpdateTongLoiNhuan();
     }
 }
 public void UpdateGiaNhap2BGiaCTiet(BangGiaNhapChiTietInfor gn, ref BangGiaChiTietInfor ct)
 {
     ct.IdSanPham       = gn.IdSanPham;
     ct.MaSanPham       = gn.MaSanPham;
     ct.TenSanPham      = gn.TenSanPham;
     ct.DonViTinh       = gn.DonViTinh;
     ct.LoaiSanPham     = gn.LoaiSanPham;
     ct.GiaNhapHDCuoi   = gn.GiaNhapHDCuoi;
     ct.GiaTonKhoBQ     = gn.GiaTonKhoBQ;
     ct.TienChietKhauQK = gn.TienChietKhauQK;
     ct.TyLeLNBQ        = gn.TyLeLNBQ;
     ct.SoLuongBanBQ    = gn.SoLuongBanBQ;
     ct.GiaNhapDemoCuoi = gn.GiaNhapDemoCuoi;
 }
        private void LoadChinhSachGia()
        {
            try
            {
                BangGiaChiTietInfor bgct = (BangGiaChiTietInfor)gvSanPham.GetRow(gvSanPham.FocusedRowHandle);

                List <BangGiaChinhSachInfor> liChinhSach =
                    ChinhSachDataProvider.Instance.GetAllChinhSachDaApDung(bangGia.IdTrungTam, bgct.MaSanPham,
                                                                           mstNgayLap.Value);
                if (liChinhSach != null && liChinhSach.Count > 0)
                {
                    frmCS_BangGia_ViewKhuyenMai frm = new frmCS_BangGia_ViewKhuyenMai(liChinhSach, bgct);
                    frm.ShowDialog();
                }
            }
            catch { }
        }
        private void ChinhSachApDung_Click(object sender, EventArgs e)
        {
            BangGiaBanChiTietBCInfor bgInfor = (BangGiaBanChiTietBCInfor)gvListSanPham.GetFocusedRow();

            if (bgInfor != null)
            {
                int idTrungTam = bteTrungTam.Tag != null
                                     ? ((DMTrungTamInfor)bteTrungTam.Tag).IdTrungTam
                                     : Declare.IdTrungTam;
                DateTime ngayLap = CommonProvider.Instance.GetSysDate();

                List <BangGiaChinhSachInfor> liCSachs =
                    ChinhSachDataProvider.Instance.GetAllChinhSachDaApDung(idTrungTam, bgInfor.MaSanPham, ngayLap);
                List <BangGiaChinhSachInfor> liChinhSach = new List <BangGiaChinhSachInfor>();
                foreach (BangGiaChinhSachInfor cs in liCSachs)
                {
                    string lstMatHangKhongAD = String.Format(",{0},", cs.MatHangKhongApDung);//khong nam trong danh sach ko duoc ap dung
                    if (!lstMatHangKhongAD.Contains(String.Format(",{0},", bgInfor.IdSanPham)))
                    {
                        liChinhSach.Add(cs);
                    }
                }
                //List<BangGiaChinhSachInfor> liChinhSach =
                //    ChinhSachDataProvider.Instance.GetAllChinhSachDaApDung(bgInfor.IdTrungTam, bgInfor.MaSanPham,
                //                                                           CommonProvider.Instance.GetSysDate());

                if (liChinhSach != null && liChinhSach.Count > 0)
                {
                    BangGiaChiTietInfor bgct = new BangGiaChiTietInfor()
                    {
                        MaSanPham   = bgInfor.MaSanPham,
                        TenSanPham  = bgInfor.TenSanPham,
                        DonViTinh   = bgInfor.TenDonViTinh,
                        DonGiaCoVAT = bgInfor.DonGiaCoVAT
                    };
                    frmCS_BangGia_ViewKhuyenMai frm = new frmCS_BangGia_ViewKhuyenMai(liChinhSach, bgct);
                    frm.ShowDialog();
                }
                else
                {
                    MessageBox.Show("Không có chính sách giá cho sản phẩm này!");
                }
            }
        }
        //private void UpdateAllDataValue()
        //{
        //    double tongLoiNhuan = 0;
        //    if (gSanPham.DataSource == null) return;
        //    foreach (BangGiaChiTietInfor bgct in (BindingList<BangGiaChiTietInfor>)gSanPham.DataSource)
        //    {
        //        bgct.TienKhuyenMai = CommonFuns.Instance.GetTienKhuyenMai(bangGia.IdTrungTam, bgct.MaSanPham, Common.MaxValues(bgct.DonGiaCoVAT, bgct.GiaBanBuon, bgct.GiaBanDemo));
        //        bgct.GiaMin = (bgct.GiaNhapHDCuoi - bgct.TienChietKhauQK + bgct.TienKhuyenMai) *
        //                      (1 + bgct.TyLeLNBQ * (1 - bgct.DungSaiMin / 100) / 100);
        //        bgct.GiaMax = (bgct.GiaNhapHDCuoi - bgct.TienChietKhauQK + bgct.TienKhuyenMai) *
        //                      (1 + bgct.TyLeLNBQ * (1 + bgct.DungSaiMax / 100) / 100);
        //        bgct.GiaBanAnToan = (bgct.GiaNhapHDCuoi - bgct.TienChietKhauQK + bgct.TienKhuyenMai) *
        //                            (1 + bgct.TyLeLNBQ / 100);
        //        bgct.DonGiaChuaVAT = bgct.DonGiaCoVAT / (1 + bgct.TyLeVAT / 100) / (1 - bgct.TyLeChietKhau / 100);
        //        bgct.TienChietKhau = bgct.DonGiaChuaVAT * bgct.TyLeChietKhau / 100;
        //        bgct.TienVAT = bgct.DonGiaCoVAT - bgct.DonGiaChuaVAT + bgct.TienChietKhau;
        //        bgct.LoiNhuan = bgct.DonGiaChuaVAT - bgct.GiaNhapHDCuoi + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;// * bgct.SoLuongBanBQ * (1 + bgct.DungSaiSLBQ / 100);
        //        bgct.LoiNhuanTon = bgct.DonGiaChuaVAT - bgct.GiaTonKhoBQ + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;
        //        //bgct.GiaNiemYet = bgct.DonGiaCoVAT;
        //        //bgct.GiaWebSite = bgct.DonGiaCoVAT;
        //        double giaBanBuonChuaVat = bgct.GiaBanBuon / (1 + bgct.TyLeVAT / 100) / (1 - bgct.TyLeChietKhau / 100);
        //        bgct.LoiNhuanBB = giaBanBuonChuaVat - bgct.GiaNhapHDCuoi + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;// * bgct.SoLuongBanBQ * (1 + bgct.DungSaiSLBQ / 100);
        //        bgct.LoiNhuanTon = giaBanBuonChuaVat - bgct.GiaTonKhoBQ + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;


        //        //tinh thuong nhan vien
        //        bgct.TyLeThuong = (bgct.DonViDoanhThu != 0 ? bgct.DonGiaCoVAT * bgct.TrongSoDoanhThu / bgct.DonViDoanhThu : 0) +
        //                          (bgct.DonViLoiNhuan != 0
        //                               ? (bgct.DonGiaChuaVAT - bgct.TienChietKhau - bgct.TienKhuyenMai -
        //                                  bgct.GiaTonKhoBQ) *
        //                                 bgct.TrongSoLoiNhuan / bgct.DonViLoiNhuan
        //                               : 0) +
        //                          (bgct.DonViKhoanTon != 0
        //                               ? bgct.TonKho * bgct.GiaTonKhoBQ * bgct.TrongSoKhoanTon / bgct.DonViKhoanTon
        //                               : 0);

        //        if (bgct.DonGiaChuaVAT > bgct.GiaMax || bgct.DonGiaChuaVAT < bgct.GiaMin)
        //        {
        //            //Common.SetGridViewRowErrorStyle(dgvSanPham.CurrentRow);
        //            bgct.DaDuyet = 0;
        //        }
        //        else
        //        {
        //            //Common.SetGridViewRowStyle(dgvSanPham.CurrentRow);
        //            bgct.DaDuyet = 1;

        //        }
        //        //update loi nhuan
        //        tongLoiNhuan += bgct.LoiNhuan;
        //    }
        //    //((BindingList<BangGiaChiTietInfor>)dgvSanPham.DataSource).ResetBindings();

        //    txtTongLoiNhuan.Text = Common.Double2Str(tongLoiNhuan);

        //}
        private void UpdateDataValue(BangGiaChiTietInfor bgct)
        {
            if (bgct == null)
            {
                return;
            }
            bgct.TienKhuyenMai = CommonFuns.Instance.GetTienKhuyenMai(bangGia.IdTrungTam, bgct.MaSanPham, mstNgayLap.Value, Common.MaxValues(bgct.DonGiaCoVAT, bgct.GiaBanBuon, bgct.GiaBanDemo, bgct.GiaNhapDemoCuoi, bgct.GiaTonKhoBQ, bgct.GiaNhapHDCuoi));
            bgct.GiaMin        = (bgct.GiaNhapHDCuoi - bgct.TienChietKhauQK + bgct.TienKhuyenMai) *
                                 (1 + bgct.TyLeLNBQ * (1 - bgct.DungSaiMin / 100) / 100);
            bgct.GiaMax = (bgct.GiaNhapHDCuoi - bgct.TienChietKhauQK + bgct.TienKhuyenMai) *
                          (1 + bgct.TyLeLNBQ * (1 + bgct.DungSaiMax / 100) / 100);
            bgct.GiaBanAnToan = (bgct.GiaNhapHDCuoi - bgct.TienChietKhauQK + bgct.TienKhuyenMai) *
                                (1 + bgct.TyLeLNBQ / 100);
            bgct.DonGiaChuaVAT = bgct.DonGiaCoVAT / (1 + bgct.TyLeVAT / 100) / (1 - bgct.TyLeChietKhau / 100);
            bgct.TienChietKhau = bgct.DonGiaChuaVAT * bgct.TyLeChietKhau / 100;
            bgct.TienVAT       = bgct.DonGiaCoVAT - bgct.DonGiaChuaVAT + bgct.TienChietKhau;
            //bgct.DonGiaCoVAT = bgct.DonGiaChuaVAT - bgct.TienChietKhau + bgct.TienVAT;
            bgct.LoiNhuan    = bgct.DonGiaChuaVAT - bgct.GiaNhapHDCuoi + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;// * bgct.SoLuongBanBQ * (1 + bgct.DungSaiSLBQ / 100);
            bgct.LoiNhuanTon = bgct.DonGiaChuaVAT - bgct.GiaTonKhoBQ + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;
            bgct.GiaNiemYet  = bgct.DonGiaCoVAT;
            bgct.GiaWebSite  = bgct.DonGiaCoVAT;
            double giaBanBuonChuaVat = bgct.GiaBanBuon / (1 + bgct.TyLeVAT / 100) / (1 - bgct.TyLeChietKhau / 100);

            bgct.LoiNhuanBB  = giaBanBuonChuaVat - bgct.GiaNhapHDCuoi + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;// * bgct.SoLuongBanBQ * (1 + bgct.DungSaiSLBQ / 100);
            bgct.LoiNhuanTon = giaBanBuonChuaVat - bgct.GiaTonKhoBQ + bgct.TienChietKhauQK - bgct.TienKhuyenMai - bgct.ThuongNong;

            BangGiaNhomNguoiDuyetInfor nnd = BangGiaDataProvider.Instance.GetNhomNguoiDuyetBangGiaInfor(bgct.MaSanPham, bgct.DonGiaChuaVAT, bgct.GiaNhapHDCuoi,
                                                                                                        bgct.TienChietKhauQK, bgct.TienKhuyenMai, bgct.TyLeLNBQ);

            if (nnd != null)
            {
                bgct.IdNhomDuyet = nnd.IdNhomNguoiDung;
                bgct.NhomDuyet   = nnd.TenNhomNguoiDung;
            }
            else
            {
                bgct.IdNhomDuyet = 0;
                bgct.NhomDuyet   = "Chưa phân nhóm duyệt";
            }

            //tinh thuong nhan vien
            bgct.TyLeThuong = (bgct.DonViDoanhThu != 0 ? bgct.DonGiaCoVAT * bgct.TrongSoDoanhThu / bgct.DonViDoanhThu : 0) +
                              (bgct.DonViLoiNhuan != 0
                                   ? (bgct.DonGiaChuaVAT - bgct.TienChietKhau - bgct.TienKhuyenMai -
                                      bgct.GiaTonKhoBQ) *
                               bgct.TrongSoLoiNhuan / bgct.DonViLoiNhuan
                                   : 0) +
                              (bgct.DonViKhoanTon != 0
                                   ? bgct.TonKho * bgct.GiaTonKhoBQ * bgct.TrongSoKhoanTon / bgct.DonViKhoanTon
                                   : 0);


            if (bgct.DonGiaChuaVAT > bgct.GiaMax || bgct.DonGiaChuaVAT < bgct.GiaMin)
            {
                //Common.SetGridViewRowErrorStyle(dgvSanPham.CurrentRow);
                bgct.DaDuyet = 0;
            }
            else
            {
                //Common.SetGridViewRowStyle(dgvSanPham.CurrentRow);
                bgct.DaDuyet = 1;
            }
            //update lai datagrid
            //((BindingList<BangGiaChiTietInfor>)dgvSanPham.DataSource).ResetBindings();
            //UpdateTongLoiNhuan();
        }
 public void DuyetBangGiaChiTiet(BangGiaChiTietInfor bgct)
 {
     BangGiaDAO.Instance.DuyetBangGiaChiTiet(bgct);
 }
 public void DeleteBangGiaChiTiet(BangGiaChiTietInfor bgct)
 {
     BangGiaDAO.Instance.DeleteBangGiaChiTiet(bgct);
 }
 public int InsertBangGiaChiTiet(BangGiaChiTietInfor bgct)
 {
     return(BangGiaDAO.Instance.InsertBangGiaChiTiet(bgct));
 }
 public void UpdateBangGiaChiTiet(BangGiaChiTietInfor bgct)
 {
     BangGiaDAO.Instance.UpdateBangGiaChiTiet(bgct);
 }
Exemple #12
0
 public void DuyetBangGiaChiTiet(BangGiaChiTietInfor bgct)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spBangGiaChiTietDuyet, bgct.IdChiTiet, bgct.NguoiDuyet, bgct.DaDuyet, bgct.IdBangGia);
 }
Exemple #13
0
 public void DeleteBangGiaChiTiet(BangGiaChiTietInfor bgct)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spBangGiaChiTietDelete, bgct.IdChiTiet);
 }