Exemple #1
0
        protected void gridDanhSach_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
        {
            data = new dtHuyHoaDon();
            string    IDHoaDon        = e.Keys[0].ToString();
            DataTable dsChiTietHoaDon = data.DanhSachHangHoa_IDHoaDon(IDHoaDon);

            if (dsChiTietHoaDon.Rows.Count > 0)
            {
                foreach (DataRow dr in dsChiTietHoaDon.Rows)
                {
                    int    IDHangHoa    = Int32.Parse(dr["IDHangHoa"].ToString());
                    double DoDayCu      = dtHangHoa.LayDoDayHienTai(IDHangHoa);
                    double DoDayHoaDon  = double.Parse(dr["DoDay"].ToString());
                    int    TrangThaiGia = Int32.Parse(dr["TrangThaiGia"].ToString());
                    string SoLuong      = dr["SoLuong"].ToString();
                    double HeSo         = Double.Parse(dr["HeSo"].ToString());
                    // cộng lại tồn kho
                    if (DoDayHoaDon == DoDayCu)
                    {
                        if (TrangThaiGia == 1)
                        {
                            // bán lẻ
                            double SLCong = Double.Parse(SoLuong) / (double)HeSo;
                            dtCapNhatTonKho.CongTonKho(IDHangHoa.ToString(), SLCong.ToString(), Session["IDKho"].ToString());
                        }
                        else
                        {
                            // bán sỉ
                            dtCapNhatTonKho.CongTonKho(IDHangHoa.ToString(), SoLuong, Session["IDKho"].ToString());
                        }
                    }
                }
            }


            double CongNoKH = dtHuyHoaDon.CongNo_IDHoaDon(IDHoaDon);

            if (CongNoKH > 0)
            {
                int IDKhachHang = dtHuyHoaDon.IDKhachHang_IDHoaDon(IDHoaDon);
                if (dtKhachHang.LayIDNhomKH(IDKhachHang) != 1)//khách sỉ- có công nợ
                {
                    dtKhachHang dtkh = new dtKhachHang();
                    dtkh.CapNhatCongNo(IDKhachHang.ToString(), CongNoKH);
                }
            }
            data = new dtHuyHoaDon();
            data.CapNhatHoaDonHuy(IDHoaDon);
            e.Cancel = true;
            gridDanhSach.CancelEdit();
            LoadGrid();
        }
        protected void btnCapNhatThanhToan_Click(object sender, EventArgs e)
        {
            if (cmbKhachHang.Text != "" && txtTienThanhToan.Text != "")
            {
                data = new dtKhachHang();
                string   IDKhachHang     = cmbKhachHang.Value.ToString();
                string   SoHoaDon        = txtNhapSoHoaDon.Text == null ? "" : txtNhapSoHoaDon.Text;
                double   SoTienThanhToan = double.Parse(txtTienThanhToan.Text);
                string   NoiDung         = txtNoiDung.Text == null ? "" : txtNoiDung.Text;
                DateTime NgayThanhToan   = DateTime.Parse(dateNgayThanhToan.Text);
                object   ID = data.ThemChiTietCongNo(SoHoaDon, IDKhachHang, "", "", SoTienThanhToan, NoiDung, NgayThanhToan);
                if (ID != null)
                {
                    data.CapNhatCongNo(IDKhachHang, SoTienThanhToan);
                    DataTable db = data.DanhSachSoDonHang(IDKhachHang);
                    if (db.Rows.Count != 0)
                    {
                        foreach (DataRow dr in db.Rows)
                        {
                            float  TienMaPhieu = float.Parse(dr["TongTien"].ToString());
                            string IDHoaDon    = dr["ID"].ToString();
                            if (SoTienThanhToan > TienMaPhieu)
                            {
                                data = new dtKhachHang();
                                data.CapNhatTinhTrang(IDHoaDon);
                                SoTienThanhToan = SoTienThanhToan - TienMaPhieu;
                            }
                            else if (SoTienThanhToan > 0)
                            {
                                data = new dtKhachHang();
                                data.CapNhatTinhTrang(IDHoaDon);
                                SoTienThanhToan = 0;
                            }
                            Response.Redirect("ChiTietCongNoKhachHang.aspx");
                        }
                    }
                    Response.Redirect("ChiTietCongNoKhachHang.aspx");
                }
            }
            else
            {
                Response.Write("<script language='JavaScript'> alert('Vui lòng nhập đủ thông tin.'); </script>");
            }

            // dtLichSuTruyCap.ThemLichSu(Session["IDChiNhanh"].ToString(), Session["IDNhom"].ToString(), Session["IDNhanVien"].ToString(), "Cập nhật công nợ nhà cung cấp", "Thanh toán công nợ.");
        }
        protected void btnThemPhieuKhachHangTraHang_Click(object sender, EventArgs e)
        {
            string ID          = IDPhieuKhachHangTraHangTem_Temp.Value.ToString();
            string IDNhanVien  = Session["IDNhanVien"].ToString();
            string IDKhachHang = cmbKhachHang.Value.ToString();
            string GhiChu      = txtGhiChu.Text == null ? "" : txtGhiChu.Text.ToString();

            if (ckHoaDon.Checked == true && cmbHoaDon.Text != "")
            {
                // tính lại doanh thu hóa đơn, chiết khấu, giảm công nợ, cộng tồn kho
                DataTable da = data.ChiTietPhieuKhachHangTraHang_Temp(ID);
                if (da.Rows.Count != 0)
                {
                    double TongTien = 0;
                    foreach (DataRow dr in da.Rows)
                    {
                        double ThanhTien = double.Parse(dr["ThanhTien"].ToString());
                        TongTien = TongTien + ThanhTien;
                    }
                    object IDThem = data.ThemPhieuKhachHangTraHang(cmbHoaDon.Text.ToString(), IDNhanVien, IDKhachHang, TongTien.ToString(), GhiChu);
                    if (IDThem != null)
                    {
                        string IDHoaDon = cmbHoaDon.Value.ToString();
                        for (int i = 0; i < da.Rows.Count; i++)
                        {
                            DataRow dr           = da.Rows[i];
                            string  IDHangHoa    = dr["IDHangHoa"].ToString();
                            string  GiaBan       = dr["GiaBan"].ToString();
                            string  SoLuong      = dr["SoLuong"].ToString();
                            string  ThanhTien    = dr["ThanhTien"].ToString();
                            string  LyDoDoi      = dr["LyDoDoi"].ToString();
                            string  TenDonViTinh = dr["TenDonViTinh"].ToString();
                            data.ThemChiTietPhieuKhachHangTraHang(IDThem, IDHangHoa, GiaBan, SoLuong, ThanhTien, LyDoDoi, TenDonViTinh);
                            dtCapNhatTonKho.CongTonKho(IDHangHoa, SoLuong, Session["IDKho"].ToString());// cộng tồn kho
                            // - Số lượng trong hóa đơn
                        }
                        //giảm công nợ khách hàng;
                        dtKhachHang dtkh = new dtKhachHang();
                        dtkh.CapNhatCongNo(IDKhachHang, TongTien);
                        data.XoaChiTiet_Temp(ID);
                        dtLichSuTruyCap.ThemLichSu(Session["IDNhanVien"].ToString(), Session["IDNhom"].ToString(), "Phiếu khách hàng trả hàng", Session["IDKho"].ToString(), "Nhập xuất tồn", "Thêm");
                        Response.Redirect("DanhSachKhachHangTraHang.aspx");
                    }
                }
                else
                {
                    Clear();
                    cmbHangHoa.Focus();
                    Response.Write("<script language='JavaScript'> alert('Danh sách hàng hóa không được rỗng.'); </script>");
                }
            }
            else
            {
                // giảm công nợ, cộng tồn kho
                DataTable da = data.ChiTietPhieuKhachHangTraHang_Temp(ID);
                if (da.Rows.Count != 0)
                {
                    double TongTien = 0;
                    foreach (DataRow dr in da.Rows)
                    {
                        double ThanhTien = double.Parse(dr["ThanhTien"].ToString());
                        TongTien = TongTien + ThanhTien;
                    }
                    object IDThem = data.ThemPhieuKhachHangTraHang("", IDNhanVien, IDKhachHang, TongTien.ToString(), GhiChu);
                    if (IDThem != null)
                    {
                        for (int i = 0; i < da.Rows.Count; i++)
                        {
                            DataRow dr           = da.Rows[i];
                            string  IDHangHoa    = dr["IDHangHoa"].ToString();
                            string  GiaBan       = dr["GiaBan"].ToString();
                            string  SoLuong      = dr["SoLuong"].ToString();
                            string  ThanhTien    = dr["ThanhTien"].ToString();
                            string  LyDoDoi      = dr["LyDoDoi"].ToString();
                            string  TenDonViTinh = dr["TenDonViTinh"].ToString();
                            data.ThemChiTietPhieuKhachHangTraHang(IDThem, IDHangHoa, GiaBan, SoLuong, ThanhTien, LyDoDoi, TenDonViTinh);
                            dtCapNhatTonKho.CongTonKho(IDHangHoa, SoLuong, Session["IDKho"].ToString());// cộng tồn kho
                        }
                        //giảm công nợ khách hàng;
                        if (Int32.Parse(IDKhachHang) != 1)
                        {
                            dtKhachHang dtkh = new dtKhachHang();
                            dtkh.CapNhatCongNo(IDKhachHang, TongTien);
                        }
                        data.XoaChiTiet_Temp(ID);
                        dtLichSuTruyCap.ThemLichSu(Session["IDNhanVien"].ToString(), Session["IDNhom"].ToString(), "Phiếu khách hàng trả hàng", Session["IDKho"].ToString(), "Nhập xuất tồn", "Thêm");
                        Response.Redirect("DanhSachKhachHangTraHang.aspx");
                    }
                }
                else
                {
                    Clear();
                    cmbHangHoa.Focus();
                    Response.Write("<script language='JavaScript'> alert('Danh sách hàng hóa không được rỗng.'); </script>");
                }
            }
        }
Exemple #4
0
        protected void btnThemPhieuKhachHangTraHang_Click(object sender, EventArgs e)
        {
            string ID         = IDPhieuKhachHangTraHangTem_Temp.Value.ToString();
            string IDNhanVien = Session["IDNhanVien"].ToString();
            string GhiChu     = txtGhiChu.Text == null ? "" : txtGhiChu.Text.ToString();
            string IDKH       = "0";

            if (txtSoHoaDon.Text != "" && dtPhieuKhachHangTraHang.LayIDHoaDon(txtSoHoaDon.Text.Trim()) != 0)
            {
                string    MaHoaDon = txtSoHoaDon.Text.Trim();
                string    IDHoaDon = dtPhieuKhachHangTraHang.LayIDHoaDon(MaHoaDon).ToString();
                DataTable da1      = data.HoaDon_ID(IDHoaDon);
                if (da1.Rows.Count != 0)
                {
                    DataRow dr1 = da1.Rows[0];
                    IDKH = dr1["IDKhachHang"].ToString();
                }



                // tính lại doanh thu hóa đơn, chiết khấu, giảm công nợ, cộng tồn kho
                DataTable da = data.ChiTietPhieuKhachHangTraHang_Temp(ID);
                if (da.Rows.Count != 0)
                {
                    //tính tổng tiền giảm

                    double TongTien = 0;
                    foreach (DataRow dr in da.Rows)
                    {
                        double ThanhTien = double.Parse(dr["ThanhTien"].ToString());
                        TongTien = TongTien + ThanhTien;
                    }
                    object IDThem = data.ThemPhieuKhachHangTraHang(MaHoaDon, IDNhanVien, IDKH.ToString(), TongTien.ToString(), GhiChu);
                    if (IDThem != null)
                    {
                        for (int i = 0; i < da.Rows.Count; i++)
                        {
                            DataRow dr           = da.Rows[i];
                            string  IDHangHoa    = dr["IDHangHoa"].ToString();
                            string  GiaBan       = dr["GiaBan"].ToString();
                            string  SoLuong      = dr["SoLuong"].ToString();
                            string  ThanhTien    = dr["ThanhTien"].ToString();
                            string  LyDoDoi      = dr["LyDoDoi"].ToString();
                            string  TenDonViTinh = dr["TenDonViTinh"].ToString();
                            double  DoDay        = Double.Parse(dr["DoDay"].ToString());
                            int     TrangThaiGia = Int32.Parse(dr["TrangThaiGia"].ToString());
                            double  HeSo         = Double.Parse(dr["HeSo"].ToString());
                            string  IDCTHD       = dr["IDCTHD"].ToString();
                            data.ThemChiTietPhieuKhachHangTraHang(IDThem, IDHangHoa, GiaBan, SoLuong, ThanhTien, LyDoDoi, TenDonViTinh, DoDay.ToString(), TrangThaiGia.ToString(), HeSo.ToString(), IDCTHD);

                            // cộng tồn kho
                            double DoDayCu = dtHangHoa.LayDoDayHienTai(Int32.Parse(IDHangHoa));
                            if (DoDay == DoDayCu)
                            {
                                if (TrangThaiGia == 1)
                                {
                                    // bán lẻ
                                    double SLCong = Double.Parse(SoLuong) / (double)HeSo;
                                    dtCapNhatTonKho.CongTonKho(IDHangHoa, SLCong.ToString(), Session["IDKho"].ToString());
                                }
                                else
                                {
                                    // bán sỉ
                                    dtCapNhatTonKho.CongTonKho(IDHangHoa, SoLuong, Session["IDKho"].ToString());
                                }
                            }


                            // - Số lượng bán trong hóa đơn
                            if (dtCapNhatTonKho.SL_Trong_HoaDon(IDCTHD, IDHoaDon) - Double.Parse(SoLuong) > 0)
                            {
                                dtCapNhatTonKho.TruSL_KhachTraHang(IDCTHD, SoLuong, IDHoaDon);
                            }
                            else
                            {
                                dtCapNhatTonKho.Xoa_CTHD_KhachTraHang(IDCTHD, IDHoaDon);
                            }
                        }

                        if (ckGiamCongNo.Checked == true) // giảm công nợ KH
                        {
                            //giảm công nợ khách hàng; If khách hàng mua có công nợ, ngược lại ko trừ
                            if (dtKhachHang.LayIDNhomKH(Int32.Parse(IDKH)) != 1)//khách sỉ- có công nợ
                            {
                                dtKhachHang dtkh = new dtKhachHang();
                                dtkh.CapNhatCongNo(IDKH.ToString(), TongTien);
                                // cập nhật tổng tiền hóa đơn(tông tiền, khách cần trả, công nợ mới) - tổng tiền trả
                                dtCapNhatTonKho.CapNhat_HoaDon_KH_CongNo(IDHoaDon, TongTien.ToString());
                            }
                            else
                            {
                                // cập nhật tổng tiền hóa đơn(tông tiền, khách cần trả,) - tổng tiền trả
                                dtCapNhatTonKho.CapNhat_HoaDon_KH_K_CongNo(IDHoaDon, TongTien.ToString());
                            }
                        }
                        else
                        {
                            // cập nhật tổng tiền hóa đơn không công nợ
                            dtCapNhatTonKho.CapNhat_HoaDon_KH_K_CongNo(IDHoaDon, TongTien.ToString());
                        }

                        data.XoaChiTiet_Temp(ID);
                        dtLichSuTruyCap.ThemLichSu(Session["IDNhanVien"].ToString(), Session["IDNhom"].ToString(), "Phiếu khách hàng trả hàng", Session["IDKho"].ToString(), "Nhập xuất tồn", "Thêm");
                        Response.Redirect("DanhSachKhachHangTraHang.aspx");
                    }
                }
                else
                {
                    Clear();
                    cmbHangHoa.Focus();
                    Response.Write("<script language='JavaScript'> alert('Danh sách hàng hóa trả không được trống.'); </script>");
                }
            }
        }