Skip to content

Commit

Permalink
Fixed 22102020
Browse files Browse the repository at this point in the history
  • Loading branch information
Minh Đức Trương committed Oct 22, 2020
1 parent f747958 commit 9063b60
Show file tree
Hide file tree
Showing 14 changed files with 230 additions and 335 deletions.
18 changes: 10 additions & 8 deletions QuanLyChiTieu/chitieu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,6 @@ void ChiTieu::on_btn_OK_clicked()

SoTien = ui->lineEdit_SoTien->text().toLongLong();

//Cập nhật thông tin thu nhập cho bảng ThongKe
ThoiGianThongKe = ui->dateEdit->date().toString("yyyy-MM-dd");
ThongKeQL.CapNhatTongChi(this->Username, ThoiGianThongKe, SoTien);

//done

//Continue..
if( MoTa == "" || SoTien < 0){
Expand Down Expand Up @@ -149,20 +144,27 @@ void ChiTieu::on_btn_OK_clicked()

/// Thêm vào bảng KhoanChi

qry.prepare("INSERT KhoanChi ( SoTien, NgayChiTieu, GhiChu, MaDanhMuc, TenChu, TenTaiKhoan, ID_DanhMuc )" "VALUES ( :SoTien, :NgayChiTieu, :GhiChu, :MaDanhMuc, :TenChu, :TenTaiKhoan, :ID_DanhMuc )");
qry.prepare("INSERT KhoanChi ( SoTien, NgayChiTieu, GhiChu, TenTaiKhoan, ID_DanhMuc )" "VALUES ( :SoTien, :NgayChiTieu, :GhiChu, :TenTaiKhoan, :ID_DanhMuc )");

qry.bindValue(":SoTien", SoTien);
qry.bindValue(":NgayChiTieu", NgayChiTieu);
qry.bindValue(":GhiChu", MoTa);
qry.bindValue(":MaDanhMuc", MaDanhMuc);
qry.bindValue(":TenChu", Username);
qry.bindValue(":TenTaiKhoan", TenTaiKhoan);
qry.bindValue(":ID_DanhMuc", ID_DanhMuc);

qry.exec();

///done

/// Lấy mã khoản chi
int MaKhoanChi = DanhMucQL.LayMaKhoanChi();

//Cập nhật thông tin thu nhập cho bảng ThongKe

ThongKeQL.CapNhatMaKhoanChi(this->Username, NgayChiTieu, MaKhoanChi);

//done


buttonPressed();

Expand Down
124 changes: 80 additions & 44 deletions QuanLyChiTieu/expensetracker.cpp

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion QuanLyChiTieu/expensetracker.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ private slots:
QSqlQueryModel *qryModel;
QString HoTen = "Username";
QuanLyTaiKhoan TaiKhoanQL;
QuanLyChiTieu DanhMucQL;
QuanLyChiTieu ChiTieuQL;
QuanLyThuNhap ThuNhapQL;
TietKiem TietKiemQL;
Loan NoQL;
Expand Down
19 changes: 0 additions & 19 deletions QuanLyChiTieu/loan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,6 @@ Loan::Loan()

}

int Loan::LayMaTaiKhoanInLoan(QString Username, QString TenTaiKhoan){
int res = -1;

this->TenChu = Username;
this->TenTaiKhoan = TenTaiKhoan;

QSqlQuery qry;

if( qry.exec("SELECT MaTaiKhoan FROM TaiKhoan WHERE TenChu = '"+TenChu+"' AND Ten = N'"+TenTaiKhoan+"' ") ){
while ( qry.next() ) {
res = qry.value("MaTaiKhoan").toInt();
}
}

else qDebug()<<"Lỗi không kết nối được CSDL!";

return res;
}

void Loan::CapNhatDuNo(QString Username, int MaTaiKhoan, lli SoDuNo){
this->TenChu = Username;
this->MaTaiKhoan = MaTaiKhoan;
Expand Down
2 changes: 0 additions & 2 deletions QuanLyChiTieu/loan.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ class Loan : public QuanLyTaiKhoan
public:
Loan();

int LayMaTaiKhoan(QString Username, QString TenTaiKhoan);

void CapNhatDuNo(QString Username, int MaTaiKhoan, lli SoDuNo);

void XoaNo(QString Username, int MaTaiKhoan);
Expand Down
25 changes: 25 additions & 0 deletions QuanLyChiTieu/quanlychitieu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,31 @@ lli QuanLyChiTieu::LaySoTienTong(QString MaDanhMuc, QString Username){
return res;
}

lli QuanLyChiTieu::LaySoTienTheoMaKhoanChi(QString Username, int MaKhoanChi){
this->TenChu = Username;
lli res = 0;

QSqlQuery qry;
qry.prepare("SELECT kc.SoTien FROM KhoanChi kc JOIN DanhMucChiTieu dmct ON kc.ID_DanhMuc = dmct.ID_DanhMuc WHERE dmct.TenChu = :Username AND kc.MaKhoanChi = :MaKhoanChi ");


qry.bindValue(":MaThuNhap", MaKhoanChi);
qry.bindValue(":Username", Username);

if( qry.exec() ){

while ( qry.next() ) {
res += qry.value("SoTien").toLongLong();
}
}
else{
qDebug()<<"Loi CSDL";
return -1;
}

return res;
}

void QuanLyChiTieu::XoaTaiKhoanInChiTieu(QString Username, QString TenTaiKhoan ){

QSqlQuery qry;
Expand Down
2 changes: 2 additions & 0 deletions QuanLyChiTieu/quanlychitieu.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ class QuanLyChiTieu

lli LaySoTienTong(QString MaDanhMuc, QString Username);

lli LaySoTienTheoMaKhoanChi(QString Username, int MaKhoanChi);

void XoaTaiKhoanInChiTieu(QString Username, QString TenTaiKhoan );

QVector<QVector<lli>> LayThongKe7NgayTruoc(QString Username, QString TenDanhMuc, QString TenTaiKhoan, QString Ngay, QString Thang,QString Nam);
Expand Down
36 changes: 29 additions & 7 deletions QuanLyChiTieu/quanlythunhap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,20 @@ QuanLyThuNhap::QuanLyThuNhap()

}

lli QuanLyThuNhap::LaySoTienTong(QString Username){
lli QuanLyThuNhap::LaySoTienTong(QString Username, int MaThuNhap){

this->TenChu = Username;
lli res = 0;

QSqlQuery qry;
if( MaThuNhap < 0 )
qry.prepare("SELECT tn.SoTien FROM ThuNhap tn JOIN LoaiThuNhap ltn ON tn.MaLoaiThuNhap = ltn.MaLoaiThuNhap WHERE ltn.TenChu = :Username ");
else {
qry.prepare("SELECT tn.SoTien FROM ThuNhap tn JOIN LoaiThuNhap ltn ON tn.MaLoaiThuNhap = ltn.MaLoaiThuNhap WHERE ltn.TenChu = :Username AND tn.MaThuNhap = :MaThuNhap ");
}

qry.prepare("SELECT SoTien FROM ThuNhap WHERE TenChu = :Username ");
qry.bindValue(":MaThuNhap", MaThuNhap);
qry.bindValue(":Username", Username);

if( qry.exec() ){

Expand Down Expand Up @@ -65,16 +71,31 @@ int QuanLyThuNhap::LayMaLoaiThuNhap(QString Username, QString LoaiThuNhap){
return res;
}

//Hàm này chỉ được gọi sau khi INSERT vào bảng LoaiThuNhap
int QuanLyThuNhap::LayMaThuNhap(){
int res = 0;

QSqlQuery qry;

if( qry.exec("SELECT MaThuNhap FROM ThuNhap WHERE MaThuNhap = SCOPE_IDENTITY()") ){
while ( qry.next() ) {
res = qry.value("MaThuNhap").toInt();
qDebug()<<res;
}
}
return res;
}
//

//LoaiThuNhap
void QuanLyThuNhap::XoaLoaiThuNhap(QString Username, QString LoaiThuNhap){
this->TenChu = Username;
this->LoaiThuNhap = LoaiThuNhap;

QSqlQuery qry;
//Xoá trong bảng ThuNhap

//Xoá trong bảng LoaiThuNhap

qry.prepare("DELETE FROM LoaiThuNhap WHERE TenChu = :Username AND LoaiThuNhap = :LoaiThuNhap");
qry.prepare("DELETE tn FROM ThuNhap tn INNER JOIN LoaiThuNhap ltn ON tn.MaLoaiThuNhap = ltn.MaLoaiThuNhap WHERE ltn.TenChu = :Username AND ltn.LoaiThuNhap = :LoaiThuNhap");

qry.bindValue(":Username", Username);
qry.bindValue(":LoaiThuNhap", LoaiThuNhap);
Expand All @@ -83,9 +104,9 @@ void QuanLyThuNhap::XoaLoaiThuNhap(QString Username, QString LoaiThuNhap){
qDebug()<<"Lỗi không kết nối được CSDL!";
}

//Xoá trong bảng ThuNhap
//Xoá trong bảng LoaiThuNhap

qry.prepare("DELETE tn FROM ThuNhap tn INNER JOIN LoaiThuNhap ltn ON tn.MaLoaiThuNhap = ltn.MaLoaiThuNhap WHERE ltn.TenChu = :Username AND ltn.LoaiThuNhap = :LoaiThuNhap");
qry.prepare("DELETE FROM LoaiThuNhap WHERE TenChu = :Username AND LoaiThuNhap = :LoaiThuNhap");

qry.bindValue(":Username", Username);
qry.bindValue(":LoaiThuNhap", LoaiThuNhap);
Expand All @@ -94,6 +115,7 @@ void QuanLyThuNhap::XoaLoaiThuNhap(QString Username, QString LoaiThuNhap){
qDebug()<<"Lỗi không kết nối được CSDL!";
}


}

void QuanLyThuNhap::XoaTaiKhoanInThuNhap(QString Username, QString TenTaiKhoan ){
Expand Down
6 changes: 5 additions & 1 deletion QuanLyChiTieu/quanlythunhap.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,16 @@ class QuanLyThuNhap
{
public:
QuanLyThuNhap();
lli LaySoTienTong(QString Username);
lli LaySoTienTong(QString Username, int MaThuNhap = -1);

QVector<QString> LayTenThuNhap(QString Username);

int LayMaLoaiThuNhap(QString Username, QString LoaiThuNhap);

//Hàm này chỉ được gọi sau khi INSERT vào bảng LoaiThuNhap
int LayMaThuNhap();
//

void XoaLoaiThuNhap(QString Username, QString LoaiThuNhap);

void XoaTaiKhoanInThuNhap(QString Username, QString TenTaiKhoan );
Expand Down
Loading

0 comments on commit 9063b60

Please sign in to comment.